:root{--paper:#f2f0ea;--surface:#fff;--surface-sunk:#ebe8e1;--ink:#1e2124;--ink-soft:#5b5f5a;--ink-faint:#8b8d87;--line:#dedad0;--line-strong:#c9c4b6;--blueprint:#2c4a66;--blueprint-strong:#1e3549;--blueprint-tint:#e3eaef;--blueprint-tint-strong:#cbdae4;--clay:#b1602f;--clay-strong:#8f4b23;--clay-tint:#f3e4d8;--good:#2e7d4f;--good-tint:#dfeee3;--warn:#96690f;--warn-tint:#f3e7ce;--bad:#b23b3b;--bad-tint:#f5dfde;--neutral-state:#6b6f73;--neutral-tint:#e7e5de;--series-1:#2a78d6;--series-2:#eb6834;--series-3:#1baf7a;--series-4:#eda100;--series-5:#e87ba4;--series-6:#008300;--series-7:#4a3aa7;--series-8:#e34948;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--shadow-card:0 1px 2px #1e21240f, 0 1px 1px #1e21240a;--shadow-pop:0 12px 32px #14161829, 0 2px 8px #14161814;--font-display:"Plex Sans Condensed", system-ui, sans-serif;--font-body:"Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--paper:#14171a;--surface:#1b1f23;--surface-sunk:#121517;--ink:#edeae2;--ink-soft:#a3a69d;--ink-faint:#767970;--line:#2a2f33;--line-strong:#3a4045;--blueprint:#8fb2cf;--blueprint-strong:#b7d0e4;--blueprint-tint:#223140;--blueprint-tint-strong:#2a4054;--clay:#e0925c;--clay-strong:#efb081;--clay-tint:#3a2a1f;--good:#5fbe8b;--good-tint:#1c3327;--warn:#d9ae55;--warn-tint:#3a2f16;--bad:#e28080;--bad-tint:#3a2222;--neutral-state:#9a9d96;--neutral-tint:#262a2d;--series-1:#3987e5;--series-2:#d95926;--series-3:#199e70;--series-4:#c98500;--series-5:#d55181;--series-6:#008300;--series-7:#9085e9;--series-8:#e66767;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;min-height:100vh;font-size:15px;line-height:1.5}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}button{cursor:pointer}h1,h2,h3,p{margin:0}a{color:var(--blueprint)}::selection{background:var(--blueprint-tint-strong)}:focus-visible{outline:2px solid var(--blueprint);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion:reduce){*{transition-duration:.001ms!important;animation-duration:.001ms!important}}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.btn{border-radius:var(--radius-sm);white-space:nowrap;font-size:13px;font-weight:600;font-family:var(--font-body);border:1px solid #0000;align-items:center;gap:7px;padding:8px 14px;display:inline-flex}.btn-primary{background:var(--blueprint);color:#fff}.btn-primary:hover{background:var(--blueprint-strong)}.btn-secondary{background:var(--surface);color:var(--ink);border-color:var(--line-strong)}.btn-secondary:hover{background:var(--surface-sunk)}.btn-accent{background:var(--clay);color:#fff}.btn-accent:hover{background:var(--clay-strong)}.btn-ghost{color:var(--ink-soft);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--surface-sunk);color:var(--ink)}.btn-danger{background:var(--bad);color:#fff}.btn-danger:hover{background:color-mix(in srgb, var(--bad) 85%, black)}.btn-sm{padding:5px 10px;font-size:12px}.btn[disabled],.btn-danger[disabled]{opacity:.5;cursor:not-allowed}.icon-btn{border-radius:var(--radius-sm);width:30px;height:30px;color:var(--ink-soft);background:0 0;border:1px solid #0000;flex:none;justify-content:center;align-items:center;display:flex}.icon-btn:hover{background:var(--surface-sunk);color:var(--ink)}.field{margin-bottom:14px}.field label{color:var(--ink-soft);margin-bottom:5px;font-size:12.5px;font-weight:600;display:block}.field input[type=text],.field input[type=email],.field input[type=password],.field input[type=url],.field input[type=date],.field input[type=number],.field select,.field textarea{border:1px solid var(--line-strong);background:var(--surface-sunk);border-radius:var(--radius-sm);outline:none;width:100%;padding:9px 10px;font-size:13.8px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blueprint);background:var(--surface)}.field textarea{resize:vertical;min-height:60px;font-family:var(--font-body)}.field .optional{color:var(--ink-faint);font-weight:400}.field-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.field-hint{color:var(--ink-faint);margin-top:5px;font-size:12px}.toggle-field{align-items:center;gap:10px;display:flex}.toggle-field label{margin:0}.amount-input-wrap{position:relative}.amount-input-wrap input{font-family:var(--font-mono);text-align:right;padding-right:28px}.amount-input-wrap:after{content:"€";color:var(--ink-faint);font-size:13px;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.switch{flex:none;width:34px;height:20px;position:relative}.switch input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute}.switch .track{background:var(--surface-sunk);border:1px solid var(--line);border-radius:999px;transition:all .15s;position:absolute;inset:0}.switch .knob{background:var(--surface);border-radius:50%;width:14px;height:14px;transition:all .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000040}.switch input:checked+.track{background:var(--blueprint);border-color:var(--blueprint)}.switch input:checked+.track+.knob{background:#fff;transform:translate(14px)}.inline-note{border-radius:var(--radius-sm);align-items:flex-start;gap:8px;margin-bottom:14px;padding:9px 11px;font-size:12.5px;display:flex}.inline-note.warn{background:var(--warn-tint);color:var(--warn)}.inline-note.bad{background:var(--bad-tint);color:var(--bad)}.inline-note svg{flex:none;margin-top:1px}.icon-picker{flex-wrap:wrap;gap:8px;display:flex}.icon-choice{background:var(--surface-sunk);border:1px solid var(--line);width:38px;height:38px;color:var(--ink-soft);border-radius:9px;justify-content:center;align-items:center;display:flex}.icon-choice.selected{background:var(--blueprint-tint);border-color:var(--blueprint);color:var(--blueprint-strong)}.cadastral-row{align-items:center;gap:8px;margin-bottom:8px;display:flex}.cadastral-field>label{margin-bottom:8px}.account-meta{border-top:1px solid var(--line);color:var(--ink-soft);flex-wrap:wrap;gap:8px 20px;margin-top:14px;padding-top:12px;font-size:12.5px;display:flex}.verified-badge{color:var(--good);align-items:center;gap:5px;display:inline-flex}.auth-shell{flex-direction:column;justify-content:center;align-items:center;gap:22px;min-height:100vh;padding:40px 20px;display:flex}.auth-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);width:100%;max-width:400px;box-shadow:var(--shadow-card);padding:30px 30px 26px}.auth-brand{margin-bottom:22px;display:flex}.auth-brand .app-logo{width:100%;display:flex}.auth-brand .app-logo-img{width:100%;height:auto}.auth-icon{background:var(--blueprint-tint);width:44px;height:44px;color:var(--blueprint);border-radius:50%;justify-content:center;align-items:center;margin-bottom:14px;display:flex}.auth-icon.good{background:var(--good-tint);color:var(--good)}.auth-icon.bad{background:var(--bad-tint);color:var(--bad)}.auth-icon.neutral{background:var(--neutral-tint);color:var(--neutral-state)}.invite-summary{background:var(--surface-sunk);border:1px solid var(--line);border-radius:var(--radius-md);align-items:center;gap:11px;margin-bottom:18px;padding:12px 14px;display:flex}.invite-summary-icon{background:var(--blueprint-tint);width:34px;height:34px;color:var(--blueprint);border-radius:8px;flex:none;justify-content:center;align-items:center;display:flex}.invite-summary-body{min-width:0}.invite-summary-project{color:var(--ink);font-size:13.5px;font-weight:600}.invite-summary-meta{color:var(--ink-soft);align-items:center;gap:7px;margin-top:3px;font-size:12px;display:flex}.auth-title{font-family:var(--font-display);margin-bottom:6px;font-size:21px;font-weight:700}.auth-desc{color:var(--ink-soft);margin-bottom:20px;font-size:13.5px;line-height:1.5}.auth-submit{justify-content:center;width:100%;margin-top:4px}.auth-link{font:inherit;color:var(--blueprint);cursor:pointer;text-align:center;background:0 0;border:none;width:100%;margin-top:14px;padding:0;font-size:13px;text-decoration:none;display:block}.auth-link:hover{color:var(--blueprint-strong);text-decoration:underline}.auth-switch{border-top:1px solid var(--line);text-align:center;color:var(--ink-soft);margin-top:18px;padding-top:16px;font-size:13px}.auth-switch a{color:var(--blueprint);font-weight:600;text-decoration:none}.auth-switch a:hover{text-decoration:underline}.auth-error{background:var(--bad-tint);color:var(--bad);border-radius:var(--radius-sm);align-items:flex-start;gap:6px;margin-bottom:14px;padding:8px 10px;font-size:12.5px;display:flex}.stamp{border:3px solid var(--clay);border-radius:10px;flex-direction:column;align-items:center;gap:3px;margin-bottom:20px;padding:10px 26px 8px;display:inline-flex;transform:rotate(-4deg)}.stamp .stamp-code{font-family:var(--font-display);color:var(--clay);font-size:42px;font-weight:700;line-height:1}.stamp .stamp-label{font-family:var(--font-mono);letter-spacing:1.5px;text-transform:uppercase;color:var(--clay-strong);font-size:10px}.app{max-width:1180px;margin:0 auto;padding:0 20px 64px}.topbar{border-bottom:1px solid var(--line);grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;margin-bottom:24px;padding:18px 0 14px;display:grid}.brand{align-items:center;display:flex}.app-logo{align-items:center;display:inline-flex}.app-logo-img{width:auto;height:35px;display:block}.app-logo-dark{display:none}@media (prefers-color-scheme:dark){.app-logo-light{display:none}.app-logo-dark{display:block}}.project-switcher{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-card);border-radius:999px;justify-self:center;align-items:center;gap:8px;padding:7px 8px;display:flex;position:relative}.project-switcher button.trigger{background:0 0;border:0;align-items:center;gap:10px;padding:0 6px;display:flex}.project-type-chip{font-family:var(--font-display);letter-spacing:.4px;text-transform:uppercase;background:var(--clay-tint);color:var(--clay-strong);border-radius:999px;padding:3px 9px;font-size:11px;font-weight:600}.project-name{font-size:14px;font-weight:500}.chev{color:var(--ink-faint)}.topbar-right{justify-self:end;align-items:center;gap:10px;display:flex}.profile-btn{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-card);border-radius:999px;align-items:center;gap:8px;padding:5px 12px 5px 5px;display:flex}.avatar{background:var(--blueprint-tint);width:26px;height:26px;color:var(--blueprint-strong);font-family:var(--font-display);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.profile-name{font-size:13px;font-weight:500}.dropdown-panel{z-index:30;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);min-width:240px;box-shadow:var(--shadow-pop);padding:6px;position:absolute;top:calc(100% + 8px)}.dropdown-panel.right{right:0}.dropdown-panel.left{left:0}.dropdown-panel button{text-align:left;border-radius:var(--radius-sm);width:100%;color:var(--ink);background:0 0;border:0;align-items:center;gap:9px;padding:8px 9px;font-size:13px;display:flex}.dropdown-panel button:hover{background:var(--surface-sunk)}.dropdown-panel hr{border:0;border-top:1px solid var(--line);margin:5px 2px}.dropdown-project{align-items:center;gap:9px;width:100%;display:flex}.dropdown-project.active{background:var(--blueprint-tint)}.dropdown-project-name{text-overflow:ellipsis;white-space:nowrap;text-align:left;flex:1;min-width:0;overflow:hidden}.page-tabs{flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;margin-bottom:26px;display:flex}.tab-alert-wrap{align-items:center;margin-right:16px;display:flex;position:relative}.page-tabs .tab{font-family:var(--font-display);color:var(--ink-soft);background:0 0;border:1px solid #0000;border-radius:999px;padding:8px 18px;font-size:13.5px;font-weight:600;text-decoration:none;display:inline-block}.page-tabs .tab:hover{color:var(--ink);background:var(--surface-sunk)}.page-tabs .tab.active{background:var(--surface);color:var(--ink);border-color:var(--line);box-shadow:var(--shadow-card);position:relative}.page-tabs .tab.active:after{content:"";background:var(--clay);border-radius:2px;height:2px;position:absolute;bottom:-1px;left:14px;right:14px}.readonly-banner{background:var(--neutral-tint);color:var(--ink-soft);border:1px solid var(--line);border-radius:var(--radius-md);align-items:center;gap:10px;margin-bottom:20px;padding:10px 14px;font-size:13px;display:flex}.stats-row{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px;display:grid}.stat-tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:14px 16px}.stat-label{text-transform:uppercase;letter-spacing:.6px;color:var(--ink-faint);font-size:11px;font-weight:600}.stat-value{font-family:var(--font-mono);margin-top:6px;font-size:20px;font-weight:600}.stat-value.bad{color:var(--bad)}.stat-bar{background:var(--surface-sunk);border-radius:3px;height:5px;margin-top:10px;overflow:hidden}.stat-bar>span{background:var(--blueprint);border-radius:3px;height:100%;display:block}.stat-bar>span.accent-clay{background:var(--clay)}.role-badge{font-family:var(--font-display);letter-spacing:.3px;text-transform:uppercase;background:var(--clay-tint);color:var(--clay-strong);border-radius:999px;padding:2px 8px;font-size:10.5px;font-weight:600}.alerts-card{border:1px solid color-mix(in srgb, var(--bad) 35%, var(--line));border-radius:var(--radius-md);background:var(--bad-tint);margin-bottom:22px;padding:12px 16px}.alerts-head{font-family:var(--font-display);color:var(--bad);align-items:center;gap:8px;margin-bottom:6px;font-size:13px;font-weight:700;display:flex}.alerts-card ul{flex-direction:column;gap:5px;margin:0;padding:0;list-style:none;display:flex}.alerts-card li{color:var(--ink);align-items:flex-start;gap:8px;font-size:13px;display:flex}.alerts-card li:before{content:"—";color:var(--ink-faint);flex:none}.alerts-card li .amt{font-family:var(--font-mono);font-weight:600}.alert-bell-btn{position:relative}.alert-bell-btn.has-alerts{color:var(--bad);background:var(--bad-tint)}.alert-bell-btn.has-alerts:hover{color:var(--bad)}.alert-popover{width:440px;max-width:calc(100vw - 32px);padding:18px 20px}.alert-popover .alerts-head{margin-bottom:10px}.alert-popover ul{flex-direction:column;gap:8px;max-height:320px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.alert-popover li{border-radius:var(--radius-sm);align-items:flex-start;gap:10px;padding:11px 12px;font-size:12.5px;line-height:1.5;display:flex}.alert-popover li svg{flex:none;margin-top:1px}.alert-popover li.bad{background:var(--bad-tint);color:var(--bad)}.alert-popover li.warn{background:var(--warn-tint);color:var(--warn)}.alert-popover li .amt{font-family:var(--font-mono);font-weight:700}.chart-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);margin-bottom:14px;padding:16px 18px 18px}.chart-title{font-family:var(--font-display);margin-bottom:12px;font-size:14.5px;font-weight:700}.stackbar{background:var(--surface-sunk);border-radius:7px;width:100%;height:30px;display:flex;overflow:hidden}.stackbar .seg{border-right:2px solid var(--surface);flex:none;justify-content:center;align-items:center;height:100%;display:flex;overflow:hidden}.stackbar .seg:last-child{border-right:0}.stackbar .seg:first-child{border-top-left-radius:6px;border-bottom-left-radius:6px}.stackbar .seg:last-child{border-top-right-radius:6px;border-bottom-right-radius:6px}.seg-pct{font-family:var(--font-mono);color:#fff;text-shadow:0 1px 2px #0000008c;pointer-events:none;white-space:nowrap;font-size:11px;font-weight:600}.legend-dot{border-radius:50%;flex:none;width:9px;height:9px}.chart-legend{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:7px 14px;margin:14px 0 0;padding:0;list-style:none;display:grid}.chart-legend li{align-items:center;gap:7px;min-width:0;font-size:12.5px;display:flex}.legend-label{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.legend-value{font-family:var(--font-mono);font-weight:500}.legend-pct{font-family:var(--font-mono);color:var(--ink-faint);text-align:right;flex:none;width:34px}.meter-row{border-bottom:1px solid var(--line);align-items:flex-start;gap:9px;padding:11px 4px;display:flex}.meter-row:last-child{border-bottom:0}.funding-type-icon{background:var(--blueprint-tint);width:26px;height:26px;color:var(--blueprint-strong);border-radius:8px;flex:none;justify-content:center;align-items:center;margin-top:1px;display:flex}.meter-row-body{flex:1;min-width:0}.meter-line1{align-items:center;gap:9px;display:flex}.meter-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13.8px;font-weight:500;overflow:hidden}.meter-badge{text-transform:uppercase;letter-spacing:.4px;color:var(--ink-soft);background:var(--surface-sunk);border:1px solid var(--line-strong);border-radius:999px;flex:none;margin-left:auto;padding:2px 9px;font-size:10.5px;font-weight:600}.meter-line1 .state-pill{flex:none;margin-left:auto}.meter-line2{color:var(--ink-soft);flex-wrap:wrap;gap:16px;margin-top:5px;font-size:12.5px;display:flex}.meter-line2 .amt{color:var(--ink);font-weight:500}.meter-line2 .amt.bad{color:var(--bad);font-weight:600}.meter-row .completion-cell{margin-top:7px}.payment-list{border-top:1px dashed var(--line);margin-top:10px;padding-top:8px}.payment-list-head{text-transform:uppercase;letter-spacing:.5px;width:100%;color:var(--ink-faint);background:0 0;border:0;align-items:center;gap:6px;padding:4px 0;font-size:10.5px;font-weight:600;display:flex}.payment-list-head:hover{color:var(--ink-soft)}.payment-list-chevron{flex:none;transition:transform .15s}.payment-list.expanded .payment-list-chevron{transform:rotate(180deg)}.payment-list-body{margin-top:4px}.payment-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:28px 16px;display:flex}.payment-empty-icon{background:var(--surface-sunk);width:40px;height:40px;color:var(--ink-faint);border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.payment-empty-text{color:var(--ink-faint);margin:0;font-size:12.5px}.payment-row{align-items:center;gap:10px;padding:4px 0;font-size:12.5px;display:flex}.payment-edit-btn{flex:none;width:22px;height:22px}.payment-edit-btn svg{width:12px;height:12px}.payment-date{color:var(--ink-faint);white-space:nowrap;flex:none}.payment-target{min-width:0;color:var(--ink-soft);flex-wrap:wrap;flex:1;align-items:center;gap:6px;display:flex}.payment-target-label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.payment-mode{color:var(--ink-faint);flex:none}.payment-amount{text-align:right;width:96px;color:var(--ink);flex:none}.payment-cancelled-tag{text-transform:uppercase;letter-spacing:.3px;color:var(--bad);background:var(--bad-tint);border-radius:999px;flex:none;padding:1px 7px;font-size:10px;font-weight:600}.payment-row.cancelled .payment-target,.payment-row.cancelled .payment-amount{color:var(--ink-faint);text-decoration:line-through}.payment-row.cancelled .payment-mode{opacity:.6}.section-heading{font-family:var(--font-display);margin:6px 0 14px;font-size:18px;font-weight:700}.category-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);margin-bottom:12px;padding:14px 16px}.category-head{border-bottom:0;align-items:flex-start;gap:10px;padding:0;display:flex}.category-head>.icon-tile{margin-top:1px}.icon-tile{background:var(--blueprint-tint);width:34px;height:34px;color:var(--blueprint-strong);border-radius:9px;flex:none;justify-content:center;align-items:center;display:flex}.cat-edit-btn{opacity:0;transition:opacity .1s}.category-head:hover .cat-edit-btn,.category-head:focus-within .cat-edit-btn{opacity:1}.state-pill{white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:4px 10px 4px 8px;font-size:11.5px;font-weight:600;display:inline-flex}.state-pill svg{width:11px;height:11px}.state-pill.good{background:var(--good-tint);color:var(--good)}.state-pill.warn{background:var(--warn-tint);color:var(--warn)}.state-pill.bad{background:var(--bad-tint);color:var(--bad)}.state-pill.complete{background:var(--blueprint-tint);color:var(--blueprint-strong)}.state-pill.neutral{background:var(--neutral-tint);color:var(--neutral-state)}.tag{color:var(--ink-faint);font-size:11px;font-family:var(--font-mono);align-items:center;gap:3px;display:inline-flex}.badge-estimate{color:var(--ink-soft);background:var(--surface-sunk);border:1px solid var(--line-strong);letter-spacing:.2px;border-radius:999px;padding:1px 7px;font-size:10.5px;font-weight:600}.completion-cell{align-items:center;gap:8px;display:flex}.completion-bar{background:var(--surface-sunk);border-radius:3px;flex:1;height:5px;overflow:hidden}.completion-bar>span{border-radius:3px;height:100%;display:block}.completion-bar>span.good{background:var(--good)}.completion-bar>span.warn{background:var(--warn)}.completion-bar>span.bad{background:var(--bad)}.completion-bar>span.complete{background:var(--blueprint)}.completion-bar>span.neutral{background:var(--neutral-state)}.completion-pct{font-family:var(--font-mono);color:var(--ink-soft);text-align:right;flex:none;width:34px;font-size:12px}.row-menu-wrap{flex:none;position:relative}.row-menu{z-index:20;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);min-width:190px;box-shadow:var(--shadow-pop);padding:6px;position:absolute;top:36px;right:0}.row-menu button{text-align:left;border-radius:var(--radius-sm);width:100%;color:var(--ink);background:0 0;border:0;align-items:center;gap:9px;padding:8px 9px;font-size:13px;display:flex}.row-menu button:hover{background:var(--surface-sunk)}.row-menu button:disabled{color:var(--ink-faint);cursor:not-allowed}.row-menu button:disabled:hover{background:0 0}.row-menu button.danger{color:var(--bad)}.row-menu hr{border:0;border-top:1px solid var(--line);margin:5px 2px}.member-row{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:11px 4px;display:flex}.member-row:last-child{border-bottom:0}.member-body{flex:1;min-width:0}.member-name{font-size:13.8px;font-weight:500}.member-you{color:var(--ink-faint);font-weight:400}.member-email{color:var(--ink-faint);margin-top:2px;font-size:12px}.role-badge-reader{background:var(--neutral-tint);color:var(--neutral-state)}.role-select{border:1px solid var(--line-strong);background:var(--surface-sunk);border-radius:var(--radius-sm);width:112px;color:var(--ink);outline:none;flex:none;padding:6px 8px;font-size:12.5px;font-weight:500}.role-select:focus{border-color:var(--blueprint);background:var(--surface)}.role-select:disabled{opacity:.6;cursor:not-allowed}.role-badge-pending{background:var(--warn-tint);color:var(--warn)}.role-badge-revoked{background:var(--bad-tint);color:var(--bad)}.role-badge-expired{background:var(--neutral-tint);color:var(--neutral-state)}.collab-actions{justify-content:flex-end;gap:8px;margin-bottom:14px;display:flex}.avatar-pending{border:1.5px dashed var(--line-strong);color:var(--ink-faint);background:0 0}.member-row.invitation-row .member-name{color:var(--ink-soft)}.overlay{background:color-mix(in srgb, var(--ink) 55%, transparent);z-index:100;justify-content:center;align-items:flex-start;padding:6vh 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop);width:100%;max-width:520px;padding:22px 24px 20px}.modal.modal-sm{max-width:400px}.modal.modal-lg{max-width:580px}.modal-head{justify-content:space-between;align-items:flex-start;margin-bottom:4px;display:flex}.modal-title{font-family:var(--font-display);font-size:19px;font-weight:700}.modal-desc{color:var(--ink-soft);margin-top:3px;margin-bottom:16px;font-size:13px}.modal-actions{justify-content:flex-end;gap:8px;margin-top:6px;display:flex}.alloc-column-head{color:var(--ink-soft);justify-content:space-between;align-items:baseline;margin-bottom:8px;font-size:12px;font-weight:600;display:flex}.alloc-total{font-family:var(--font-mono);color:var(--ink)}.alloc-total.match{color:var(--good)}.alloc-total.off{color:var(--bad)}.alloc-row{align-items:center;gap:6px;margin-bottom:8px;display:flex}.alloc-row select,.alloc-row input[type=date]{border:1px solid var(--line-strong);background:var(--surface-sunk);border-radius:var(--radius-sm);outline:none;flex:1;min-width:0;padding:8px;font-size:12.5px}.alloc-row select:focus,.alloc-row input[type=date]:focus{border-color:var(--blueprint);background:var(--surface)}.alloc-row .amount-input-wrap{flex:none;width:110px}.alloc-row .amount-input-wrap input{padding-right:24px;font-size:12.5px}.alloc-row .amount-input-wrap:after{font-size:11px;right:8px}.alloc-row .icon-btn{flex:none;width:26px;height:26px}.alloc-row .icon-btn svg{width:12px;height:12px}.alloc-empty-hint{color:var(--ink-faint);margin-bottom:8px;font-size:12px}.toast-stack{z-index:200;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%)}.toast{background:var(--ink);color:var(--paper);box-shadow:var(--shadow-pop);border-radius:999px;padding:9px 16px;font-size:13px;font-weight:500}.toast.bad{background:var(--bad);color:#fff}@media (width<=900px){.stats-row{grid-template-columns:repeat(2,1fr)}.topbar{grid-template-columns:auto 1fr auto}}@media (width<=720px){.payment-row{flex-wrap:wrap}.payment-target{flex:100%;order:1}.payment-date{order:2}.payment-mode{order:3}.payment-cancelled-tag{order:4}.payment-amount{order:5;margin-left:auto}}
