:root{--ink:#1d2939;--muted:#526174;--paper:#f6f7f9;--line:#d5dce5;--blue:#235cc4;--green:#187044;--amber:#87530b;--danger:#ad2929}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);margin:0;font:15px/1.55 system-ui,sans-serif}h1,h2,h3,p{margin:0 0 12px}h1{font-size:clamp(26px,3vw,34px);line-height:1.2}h2{font-size:22px;line-height:1.3}h3{font-size:17px}a{color:var(--blue)}small{color:var(--muted);font-size:13px}button,input,select,textarea{font:inherit;min-width:0}button,.file-button,.feedback-link{border:1px solid var(--line);min-height:40px;color:var(--ink);cursor:pointer;background:#fff;border-radius:6px;padding:8px 14px;text-decoration:none}button:hover:not(:disabled),.file-button:hover{border-color:var(--blue);color:var(--blue)}button:disabled{opacity:.55;cursor:not-allowed}input:not([type=checkbox]):not([type=radio]),select,textarea{border:1px solid var(--line);width:100%;min-height:42px;color:var(--ink);background:#fff;border-radius:5px;padding:8px 10px}input[type=checkbox],input[type=radio]{width:18px;height:18px;accent-color:var(--blue);flex-shrink:0}input:disabled,select:disabled{background:#eef0f3}label{gap:6px;min-width:0;display:grid}fieldset{border:1px solid var(--line);border-radius:6px;min-inline-size:0;margin:16px 0;padding:16px}legend{padding:0 6px;font-weight:600}:focus-visible{outline-offset:3px;outline:3px solid #6c9ae9}summary{cursor:pointer;font-weight:600}details{border:1px solid var(--line);background:#fff;border-radius:6px;margin:16px 0;padding:16px}details[open]>summary{margin-bottom:16px}code{overflow-wrap:anywhere}pre{font:13px/1.5 ui-monospace,monospace;overflow:auto}.primary,.save,.manual-add,.statement-create,.identity-form>button,.login-card form button{background:var(--blue);border-color:var(--blue);color:#fff;font-weight:600}.primary:hover:not(:disabled),.save:hover:not(:disabled),.manual-add:hover:not(:disabled),.statement-create:hover:not(:disabled),.identity-form>button:hover:not(:disabled),.login-card form button:hover:not(:disabled){color:#fff;background:#194a9e}.revoke,.withdraw{color:var(--danger)}.eyebrow,.kicker{color:var(--muted);margin-bottom:6px;font-size:13px;display:block}.mono{font-family:ui-monospace,monospace}.privacy-note,.button-note{color:var(--muted);margin-top:16px;font-size:13px;display:block}.app-shell{grid-template-columns:210px minmax(0,1fr);min-height:100dvh;display:grid}.sidebar{border-right:1px solid var(--line);background:#fff;flex-direction:column;height:100dvh;padding:28px 16px;display:flex;position:sticky;top:0}.brand{margin:0 10px 36px;font-size:20px;font-weight:700}.brand small{margin-top:2px;font-weight:400;display:block}.sidebar nav{gap:6px;display:grid}.nav-item,.sidebar-history{text-align:left;background:0 0;border-color:#0000}[aria-current=page]{color:var(--blue);background:#e9f0fc;font-weight:600}.sidebar-history{color:var(--muted);margin-top:20px}.profile{overflow-wrap:anywhere;margin:auto 10px 0;padding-top:24px;font-size:13px}.profile strong,.profile small{display:block}main{min-width:0}.topbar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:24px;padding:28px 36px;display:flex}.topbar h1{margin-bottom:0}.topbar-actions{align-items:flex-end;gap:12px;display:flex}.year-select{color:var(--muted);font-size:13px}.year-select select{min-width:100px}.sign-out{white-space:nowrap}.subnav{flex-wrap:wrap;gap:8px;padding:16px 36px 0;display:flex}.subnav button{border-color:#0000}.content{max-width:1280px;padding:28px 36px 64px}.content>.section-head:first-child{margin-top:0}.section-head{justify-content:space-between;align-items:center;gap:16px;margin:32px 0 16px;display:flex}.section-head h2{margin:0}.section-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.skip-link{z-index:100;background:var(--ink);color:#fff;padding:12px;position:fixed;top:-100px;left:16px}.skip-link:focus{top:12px}.loading-screen{place-items:center;min-height:100dvh;padding:24px;display:grid}.global-error{margin:20px 36px}.phase-banner{padding-bottom:20px}.phase-banner>strong{margin-bottom:6px;font-size:20px;display:block}.phase-banner p{color:var(--muted)}.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.summary-grid article{border:1px solid var(--line);background:#fff;border-radius:6px;padding:20px}.summary-grid span,.summary-grid strong,.summary-grid small{display:block}.summary-grid span{color:var(--muted)}.summary-grid strong{font-variant-numeric:tabular-nums;margin:8px 0;font-size:clamp(24px,3vw,32px)}.next-step{justify-content:space-between;align-items:center;gap:24px;padding:24px 0 0;display:flex}.next-step p{margin:0}.next-step button{flex-shrink:0}.deadlines dl{margin-bottom:0}.deadlines dl>div{justify-content:space-between;gap:16px;padding:8px 0;display:flex}.deadlines dd{margin:0}.table-card{border:1px solid var(--line);background:#fff;border-radius:6px;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;vertical-align:top;padding:14px 16px}th{color:var(--muted);background:#edf0f5;font-size:13px;font-weight:600}td{border-top:1px solid var(--line)}td strong,td small{display:block}td small{margin-top:4px}.amount{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.pill,.round-seal{white-space:nowrap;background:#edf0f5;border-radius:4px;padding:4px 9px;font-size:13px;display:inline-block}.status{font-size:13px;font-weight:600}.status.ok,.status.accepted,.ok{color:var(--green)}.status.pending{color:var(--amber)}.status.failed,.error{color:var(--danger)}.status.neutral{color:var(--muted)}.pill.success,.round-seal.complete{color:var(--green);background:#e9f5ee}.pill.warning{color:var(--amber);background:#fff2db}.callout,.import-message,.identity-error,.global-error,.modal-error{background:#eaf0f9;border-radius:5px;padding:14px 16px}.callout{gap:6px;margin:20px 0;display:grid}.callout.error,.import-message.error,.identity-error,.global-error,.modal-error{color:var(--danger);background:#fcecec}.callout.success,.import-message.ok{color:var(--green);background:#e9f5ee}.issue-card p{color:var(--muted);margin-top:12px}.issue-card.blocking{border-left:3px solid var(--amber)}.issue-card summary span{color:var(--muted);margin-left:12px;font-weight:400}.issue-items>div{border-top:1px solid var(--line);justify-content:space-between;gap:16px;padding:10px 0;display:flex}.issue-items strong,.issue-items small{display:block}.delivery-layout{grid-template-columns:minmax(0,1fr) 250px;align-items:start;gap:16px;display:grid}.check-panel{border:1px solid var(--line);background:#fff;border-radius:6px;padding:16px}.check{border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;padding:12px 0;display:flex}.check span{color:var(--muted)}.check-panel .primary{width:100%;margin-top:20px}.ledger-lock{color:var(--amber);background:#fff2db;margin-bottom:20px;padding:12px 16px}.ledger-lock strong,.ledger-lock span{display:block}.gift-import-options>summary{font-size:16px}.project-admin p{color:var(--muted)}.vipps-files,.donation-form,.access-fields,.policy-fields,.project-editor{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.vipps-files{margin:20px 0}.vipps-files>button{grid-column:1/-1;justify-self:start}.vipps-files label{border:1px solid var(--line);border-radius:6px;padding:16px}.vipps-files label small,.vipps-files label span{display:block}.vipps-files input[type=file]{max-width:100%}.import-controls{flex-wrap:wrap;align-items:flex-end;gap:12px;margin:16px 0;display:flex}.import-controls>label{flex:1;min-width:160px}.file-button{align-items:center;display:inline-flex;position:relative}.file-button input{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.file-button:focus-within{outline-offset:3px;outline:3px solid #6c9ae9}.vipps-result,.import-preview{background:#edf0f5;border-radius:6px;flex-wrap:wrap;align-items:center;gap:20px;margin:20px 0;padding:16px;display:flex}.vipps-result span b,.import-preview>div:first-child>*,.import-preview small,.vipps-result small{display:block}.vipps-issues>label{margin:12px 0}.import-sample{flex:1;min-width:0}.import-sample>span{flex-wrap:wrap;justify-content:space-between;gap:12px;padding:6px 0;display:flex}.import-sample i{color:var(--muted);font-style:normal}.vipps-issues{margin:16px 0}.vipps-issues>div{border-bottom:1px solid var(--line);gap:10px;padding:16px 0;display:grid}.import-job-log article,.project-list article{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.import-job-log small,.project-list small{display:block}.project-list article>div{flex-wrap:wrap;gap:8px;display:flex}.project-editor{margin:16px 0}.check-label,.identity-consent,.club-choices label{flex-direction:row;align-items:flex-start;gap:10px;display:flex}.wide{grid-column:1/-1}.donation-modal{border:1px solid var(--line);width:min(720px,100% - 32px);max-height:calc(100dvh - 48px);color:var(--ink);background:#fff;border-radius:8px;margin:auto;padding:24px;overflow:auto}fieldset.donation-form{border:0;margin:0;padding:0}.donation-modal::backdrop{background:#17203380}.donation-modal header,.donation-modal footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.donation-modal header{margin-bottom:24px}.donation-modal header h2{margin-bottom:0}.donation-modal footer{margin-top:24px}.donation-modal footer>div{gap:8px;display:flex}.modal-error{margin-top:16px}.tenor-donor{border:1px solid var(--line);background:#f4f7fb;border-radius:6px;padding:16px}.tenor-donor-controls{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.tenor-donor-controls label{flex:1;min-width:160px}.tenor-donor-result{gap:6px;margin-top:16px;display:grid}.tenor-donor-result p{margin:0}.tenor-donor-result small{color:var(--muted)}.identity-request-queue article,.duplicate-queue article{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px;padding:16px 0;display:grid}.identity-request-queue article strong,.identity-request-queue article small,.duplicate-contacts strong,.duplicate-contacts small{display:block}.identity-request-queue article>div:last-child,.duplicate-queue article>div:last-child{flex-wrap:wrap;gap:8px;display:flex}.identity-link-result{grid-column:1/-1;gap:8px;margin-top:12px;display:grid}.duplicate-contacts{gap:12px;display:grid}.submit-card{max-width:850px}.submit-card>.primary{margin-top:20px}.round-flow{border:1px solid var(--line);background:#fff;border-radius:6px;justify-content:space-between;align-items:center;gap:16px;margin:24px 0;padding:20px;display:flex}.round-flow strong,.round-flow small{display:block}.round-history>div{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:16px;padding:12px 0;display:flex}.policy-editor summary small{margin-left:12px}.policy-editor summary i{margin-left:12px;font-style:normal;font-weight:400}.policy-fields{margin:20px 0}.history{margin-top:32px}.history-row{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px 20px;padding:16px 0;display:flex}.history-row strong{overflow-wrap:anywhere}.access-intro,.audit-intro,.statement-intro{color:var(--muted);margin-bottom:24px}.access-intro span,.audit-intro span,.statement-intro span{font-size:13px}.access-editor,.club-editor{border:1px solid var(--line);background:#fff;border-radius:6px;margin:20px 0;padding:20px}.access-editor-actions,.access-row-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.access-editor-actions{margin-top:20px}.club-choices{gap:12px;display:grid}.access-list,.club-registry-list{border-top:1px solid var(--line)}.access-list article,.club-registry-list article{border-bottom:1px solid var(--line);grid-template-columns:36px minmax(0,1fr) auto;align-items:start;gap:16px;padding:20px 0;display:grid}.access-list small,.club-registry-list small{display:block}.access-list p,.club-registry-list p{color:var(--muted);margin:6px 0 0}.access-avatar,.club-registry-mark,.statement-initial{width:36px;height:36px;color:var(--muted);background:#e9edf4;border-radius:5px;place-items:center;font-size:13px;display:grid}.club-registry-title{flex-wrap:wrap;gap:12px;display:flex}.access-empty,.audit-empty{color:var(--muted);padding:24px 0}.statement-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.statement-admin-card{border:1px solid var(--line);background:#fff;border-radius:6px;padding:20px}.statement-person{grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.statement-person strong,.statement-person small{display:block}.statement-breakdown{border-top:1px solid var(--line);margin:16px 0}.statement-breakdown span{justify-content:space-between;gap:12px;padding:8px 0;display:flex}.statement-card-footer{gap:12px;font-size:13px;display:grid}.statement-card-footer button{justify-self:start}.statement-log{margin-top:28px}.statement-log>div{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:12px;padding:12px 0;display:flex}.audit-timeline article{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:20px 0;display:grid}.audit-main>div{flex-wrap:wrap;gap:12px;display:flex}.audit-main p{margin:8px 0;font-size:14px}.audit-main span,.audit-timeline time{color:var(--muted);font-size:13px}.login-page,.identity-page{place-items:center;min-height:100dvh;padding:32px 16px;display:grid}.login-card,.identity-card,.statement-invalid{border:1px solid var(--line);background:#fff;border-radius:8px;width:min(560px,100%);padding:32px}.login-card-head{flex-wrap:wrap;justify-content:space-between;gap:12px;margin-bottom:32px;display:flex}.login-brand,.identity-brand,.statement-brand{align-items:center;gap:12px;font-size:20px;font-weight:700;display:flex}.login-brand small,.identity-brand small{font-weight:400;display:block}.login-brand i,.identity-brand i,.statement-brand i{background:var(--blue);color:#fff;border-radius:6px;place-items:center;width:36px;height:36px;font-style:normal;display:grid}.environment-badge{color:var(--muted);background:#edf0f5;border-radius:4px;align-self:start;padding:4px 8px;font-size:12px}.login-card form,.identity-form{gap:16px;margin-top:24px;display:grid}.login-card form p[role=alert]{color:var(--danger);background:#fcecec;padding:12px}.login-card>footer{color:var(--muted);margin-top:24px;font-size:13px}.identity-title,.identity-kicker{margin-top:28px}.identity-kicker{color:var(--muted);margin-bottom:8px;font-size:13px;display:block}.identity-privacy{border-top:1px solid var(--line);color:var(--muted);gap:8px;margin-top:24px;padding-top:20px;font-size:13px;display:grid}.identity-success{gap:8px;margin-top:28px;display:grid}.identity-check{color:var(--green);margin:24px 0 12px;font-size:28px;display:block}.statement-page{padding:40px 16px}.statement-sheet{border:1px solid var(--line);background:#fff;max-width:820px;margin:0 auto;padding:44px}.statement-header{border-bottom:1px solid var(--line);justify-content:space-between;gap:20px;padding-bottom:24px;display:flex}.statement-header span,.statement-header strong{display:block}.statement-header>div:last-child{text-align:right}.statement-title{padding:32px 0 20px}.statement-title>span{color:var(--muted);margin-bottom:12px;display:block}.statement-total{background:#edf0f5;padding:20px}.statement-total strong,.statement-total span{display:block}.statement-total strong{margin-top:6px;font-size:32px}.statement-clubs{padding:28px 0}.statement-clubs>div{border-top:1px solid var(--line);justify-content:space-between;gap:16px;padding:12px 0;display:flex}.statement-sum{font-weight:600}.statement-reporting{background:#edf0f5;padding:16px;font-size:14px}.statement-reporting p{margin:8px 0 0}.statement-footer{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:24px;margin-top:32px;padding-top:20px;display:grid}.statement-footer span,.statement-footer strong,.statement-footer small{display:block}.statement-footer span{color:var(--muted);margin-bottom:8px;font-size:13px}.statement-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;max-width:820px;margin:16px auto 0;display:flex}.statement-invalid{margin:10vh auto}.statement-invalid h1{margin-top:32px}@media (width<=1000px){.app-shell{grid-template-columns:180px minmax(0,1fr)}.topbar,.content,.subnav{padding-left:24px;padding-right:24px}.summary-grid,.statement-admin-grid,.delivery-layout{grid-template-columns:1fr}.summary-grid article{padding:16px}.summary-grid strong{margin:4px 0}}@media (width<=700px){.app-shell{display:block}.sidebar{border-right:0;border-bottom:1px solid var(--line);height:auto;padding:16px;position:static}.brand{margin:0 0 16px}.brand small{margin-left:8px;display:inline}.sidebar nav{flex-wrap:wrap;gap:4px;display:flex}.sidebar-history{align-self:start;margin-top:8px}.profile{display:none}.topbar{flex-direction:column;align-items:flex-start;gap:16px;padding:24px 16px}.topbar-actions{justify-content:space-between;width:100%}.content{padding:24px 16px 48px}.subnav{padding:16px 16px 0}.section-head,.next-step,.round-flow{flex-direction:column;align-items:flex-start;gap:12px}.table-card table{min-width:560px}.vipps-files,.donation-form,.access-fields,.policy-fields,.project-editor,.statement-footer{grid-template-columns:1fr}.vipps-files>button,.wide{grid-column:auto}.identity-request-queue article,.duplicate-queue article,.audit-timeline article{grid-template-columns:1fr}.access-list article,.club-registry-list article{grid-template-columns:36px minmax(0,1fr)}.access-row-actions{grid-column:2;justify-content:flex-start}.statement-person{grid-template-columns:36px minmax(0,1fr)}.statement-person>b{grid-column:2}.login-card,.identity-card,.statement-sheet{padding:24px}.statement-page{padding:16px}.statement-header{flex-wrap:wrap}.global-error{margin:16px}}@media print{body,.statement-page{background:#fff}.statement-page{padding:0}.statement-sheet{border:0;max-width:none;padding:0}.statement-actions{display:none}.statement-clubs>div,.statement-footer{break-inside:avoid}}.role-select{gap:8px;margin:20px 0;font-size:13px;display:grid}.role-select select{color:#233329;width:100%;min-width:0;font:inherit;background:#fff;border:1px solid #d5d7d3;border-radius:6px;padding:10px 8px}.role-choice{align-items:center;gap:10px;display:flex}.donor-gifts{margin-bottom:36px}.donor-gifts article{border-bottom:1px solid #ddd;justify-content:space-between;gap:24px;padding:20px 0;display:flex}.donor-gifts p{margin:8px 0 0}.donor-statement{border:1px solid #ddd;border-radius:8px;margin:16px 0;padding:24px}@media (width<=760px){.sidebar .role-select{width:100%;margin:8px 0}.donor-gifts article{flex-wrap:wrap}}
