:root{--green:#10271c;--green2:#173426;--cream:#f5f1e8;--gold:#c8a66a;--ink:#172019;--muted:#68736b;--line:#d8ddd6;--white:#fff;--danger:#863b34}*{box-sizing:border-box}html{background:#eef1ed}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#eef1ed}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}.auth-screen{min-height:100vh;display:grid;place-items:center;background:var(--green);padding:20px}.auth-screen[hidden]{display:none}.auth-card{width:min(430px,100%);background:#fff;padding:28px;border-top:4px solid var(--gold);box-shadow:0 28px 80px rgba(0,0,0,.28)}.brand-mark{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#ead9b8;font-weight:900;letter-spacing:-.06em;margin-bottom:20px}.brand-mark.small{width:40px;height:40px;font-size:.72rem;margin:0}.kicker{font-size:.6rem;font-weight:900;letter-spacing:.14em;color:#68736b;margin:0 0 6px;text-transform:uppercase}.kicker.light{color:#ead9b8}.auth-card h1,.section-head h1{font-family:Georgia,serif;font-weight:400;letter-spacing:-.04em;margin:0}.auth-card h1{font-size:2.5rem}.muted{color:var(--muted);font-size:.82rem;line-height:1.55}.auth-card form{display:grid;gap:12px;margin-top:22px}.auth-card label,dialog label,.photo-picker label{display:grid;gap:6px;font-size:.7rem;font-weight:800;color:#455248}.auth-card input,dialog input,dialog select,dialog textarea,.toolbar input,.toolbar select,.photo-picker select{border:1px solid #cad2cb;background:#fff;min-height:46px;padding:11px 12px;border-radius:0}.auth-card small{display:block;color:var(--muted);font-size:.69rem;margin-top:11px}.back-link{display:inline-block;margin-top:22px;color:var(--green2);font-size:.72rem;font-weight:800;text-decoration:none}.primary,.secondary,.ghost,.text-btn{border:0;font-weight:800}.primary{background:var(--green2);color:#fff;padding:11px 14px;min-height:44px}.primary:disabled{opacity:.6}.secondary{border:1px solid #cad2cb;background:#fff;color:var(--green2);padding:10px 12px}.ghost{border:1px solid #cad2cb;background:transparent;color:var(--green2);padding:9px 11px}.text-btn{background:none;color:var(--green2);font-size:.7rem}.wide{width:100%}.app-header{position:sticky;top:0;z-index:20;background:#0b1d14;color:#fff;padding:10px 12px;display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px solid rgba(255,255,255,.1)}.brand{display:flex;align-items:center;gap:10px}.brand>div:last-child{display:grid}.brand strong{font-size:.85rem}.brand span{font-size:.62rem;color:#aebdb2}.header-actions{display:flex;gap:7px;align-items:center}.header-actions span{font-size:.62rem;color:#ead9b8;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-actions button{border:1px solid rgba(255,255,255,.18);background:none;color:#fff;padding:7px 8px;font-size:.62rem}.shell{width:min(1180px,calc(100% - 24px));margin:0 auto;padding:14px 0 60px}.tabs{display:flex;gap:6px;overflow:auto;padding:3px 0 12px;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs button{border:1px solid var(--line);background:#fff;color:#536057;padding:9px 12px;font-size:.7rem;font-weight:800;white-space:nowrap}.tabs button.active{background:var(--green2);color:#fff;border-color:var(--green2)}.panel{display:none}.panel.active{display:block}.section-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:10px 0 16px}.section-head h1{font-size:2rem;line-height:1}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px}.metrics.three{grid-template-columns:1fr}.metrics article,.maintenance-links article{background:#fff;border:1px solid var(--line);padding:14px;display:grid}.metrics span,.maintenance-links span{font-size:.64rem;color:var(--muted)}.metrics strong{font-family:Georgia,serif;font-size:1.7rem;font-weight:400;color:var(--green)}.metrics small{font-size:.61rem;color:#8a958c}.two-col,.payment-grid{display:grid;gap:10px}.card,.stripe-card,.how-card{background:#fff;border:1px solid var(--line);margin-top:10px}.card-head{display:flex;justify-content:space-between;align-items:center;padding:14px;border-bottom:1px solid #e5e9e5}.card-head h2,.stripe-card h2,.how-card h2{font-family:Georgia,serif;font-weight:400;margin:0}.list-row{display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;padding:13px 14px;border-bottom:1px solid #edf0ed}.list-row:last-child{border-bottom:0}.list-icon{width:30px;height:30px;border:1px solid #cad2cb;display:grid;place-items:center;font-size:.6rem;font-weight:900;color:var(--green2)}.list-main{display:grid;min-width:0}.list-main strong{font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-main span{font-size:.65rem;color:#728078;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status{font-size:.58rem;background:#eef3ef;color:#244a36;padding:5px 6px;text-transform:capitalize;white-space:nowrap}.row-actions{grid-column:2/4;display:flex;gap:6px;flex-wrap:wrap}.row-actions button,.row-actions select{border:1px solid #ccd3cd;background:#fff;color:var(--green2);padding:6px 8px;font-size:.6rem;font-weight:800}.amount{font-size:.7rem;font-weight:900}.amount.income{color:#23613f}.amount.expense{color:#7e3a33}.empty{padding:32px 18px;text-align:center;display:grid}.empty strong{font-family:Georgia,serif;font-weight:400;font-size:1.15rem}.empty span{font-size:.7rem;color:var(--muted);margin-top:4px}.case-study,.community-banner,.maintainer-banner,.notice{background:var(--green);color:#fff;padding:18px;margin-top:10px}.case-study h2,.community-banner h2{font-family:Georgia,serif;font-weight:400;margin:4px 0 7px}.case-study p,.community-banner p{color:#aebdb2;font-size:.74rem;margin:0}.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}.chips span{border:1px solid rgba(255,255,255,.17);padding:6px 8px;font-size:.58rem}.toolbar{display:grid;gap:8px;margin:12px 0}.info-grid{display:grid;gap:8px;margin-bottom:10px}.info-grid article{background:var(--green);color:#fff;padding:16px;display:grid}.info-grid strong{font-family:Georgia,serif;font-weight:400}.info-grid span{font-size:.69rem;color:#aebdb2;margin-top:4px}.photo-picker{background:#fff;border:1px solid var(--line);padding:12px;display:grid;gap:8px}.inline-note{font-size:.69rem;color:var(--muted)}.photo-grid{display:grid;grid-template-columns:1fr;gap:10px}.photo-card{background:#fff;border:1px solid var(--line);overflow:hidden}.photo-card img{width:100%;aspect-ratio:4/3;object-fit:cover;background:#edf0ed;display:block}.photo-card-body{padding:11px}.photo-card-top{display:flex;justify-content:space-between}.photo-card-top span{text-transform:uppercase;font-size:.57rem;font-weight:900;color:#244a36;letter-spacing:.1em}.photo-card-top b{font-size:.57rem;color:#7b867d}.photo-card p{font-size:.69rem;color:var(--muted)}.photo-card-actions{display:flex;gap:6px;flex-wrap:wrap}.photo-card-actions button{border:1px solid #cfd6cf;background:#fff;padding:6px 7px;font-size:.58rem;font-weight:800;color:var(--green2)}.photo-card-actions .danger{color:var(--danger)}.stripe-card,.how-card{padding:20px}.stripe-mark{width:48px;height:48px;border-radius:12px;background:#635bff;color:#fff;display:grid;place-items:center;font-weight:900;font-size:1.2rem;margin-bottom:18px}.stripe-card>p,.how-card>p:not(.kicker){font-size:.75rem;color:var(--muted)}.status-line{display:flex;justify-content:space-between;border-top:1px solid #e4e8e4;padding:11px 0;font-size:.69rem}.stripe-link{display:block;text-align:center;margin-top:9px;color:var(--green2);font-size:.7rem;font-weight:800}.stripe-card small{display:block;margin-top:10px;color:var(--muted);font-size:.64rem}.how-card>div{display:grid;grid-template-columns:30px 1fr;gap:9px;padding:13px 0;border-top:1px solid #e4e8e4}.how-card>div>b{width:27px;height:27px;border:1px solid #cad2cb;border-radius:50%;display:grid;place-items:center;font-size:.6rem}.how-card>div span{font-size:.7rem;color:var(--muted)}.how-card>div strong{display:block;color:var(--ink)}.notice{display:grid}.notice strong{font-family:Georgia,serif;font-weight:400}.notice span{font-size:.7rem;color:#aebdb2}.community-banner{display:grid;grid-template-columns:70px 1fr;gap:15px;align-items:center}.community-banner>b{font-family:Georgia,serif;font-size:2.5rem;color:#ead9b8}.maintainer-banner{display:grid;gap:12px}.maintainer-banner>div{display:grid}.maintainer-banner strong{font-family:Georgia,serif;font-weight:400;font-size:1.2rem}.maintainer-banner span{font-size:.7rem;color:#aebdb2}.maintainer-banner a{color:#ead9b8;font-size:.7rem;font-weight:800}.maintenance-links{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.maintenance-links strong{font-size:.75rem;color:var(--green);overflow-wrap:anywhere}dialog{width:min(520px,calc(100% - 24px));border:0;padding:0;box-shadow:0 30px 90px rgba(5,20,12,.34)}dialog::backdrop{background:rgba(5,20,12,.63)}dialog form{padding:20px}dialog header{display:flex;justify-content:space-between;align-items:start;border-bottom:1px solid #e2e6e2;padding-bottom:13px;margin-bottom:15px}dialog h2{font-family:Georgia,serif;font-weight:400;font-size:1.7rem;margin:0}dialog label{margin-bottom:12px}dialog textarea{resize:vertical}.close{border:0;background:none;font-size:1.8rem;line-height:1}.check{grid-template-columns:auto 1fr;align-items:start}.check input{width:18px;min-height:auto}.check span{font-weight:500}.maintenance-private{border-left:3px solid var(--gold)}@media(min-width:700px){.shell{padding-top:24px}.metrics{grid-template-columns:repeat(3,1fr)}.metrics.three{grid-template-columns:repeat(3,1fr)}.two-col,.payment-grid{grid-template-columns:1fr 1fr}.toolbar{grid-template-columns:1fr 220px}.info-grid{grid-template-columns:1fr 1fr}.photo-picker{grid-template-columns:1fr auto;align-items:end}.photo-grid{grid-template-columns:repeat(3,1fr)}.maintenance-links{grid-template-columns:repeat(4,1fr)}.maintainer-banner{grid-template-columns:1fr auto;align-items:center}.section-head h1{font-size:2.7rem}}@media(min-width:1000px){.metrics{grid-template-columns:repeat(6,1fr)}}
.auth-modes{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:20px 0 14px}.auth-mode{border:1px solid #cad2cb;background:#fff;color:#536057;padding:10px 8px;font-size:.68rem;font-weight:900}.auth-mode.active{background:var(--green2);border-color:var(--green2);color:#fff}.auth-card form[hidden]{display:none}.auth-card input[type="password"],.auth-card input[type="text"]{border:1px solid #cad2cb;background:#fff;min-height:46px;padding:11px 12px;border-radius:0}
