:root{color-scheme:dark;--bg:#000;--surface:#080808;--surface-raised:#111;--surface-hover:#171717;--line:#262626;--line-strong:#3d3d3d;--text:#fff;--muted:#a3a3a3;--quiet:#707070}*{box-sizing:border-box}body,html{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{cursor:pointer;transition:background-color .18s ease,border-color .18s ease,color .18s ease,opacity .18s ease}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #fff;outline-offset:2px}.app{min-height:100vh;padding:env(safe-area-inset-top) 14px calc(96px + env(safe-area-inset-bottom));max-width:1100px;margin:auto}.app>header{display:flex;justify-content:space-between;align-items:center;padding:24px 2px 18px;border-bottom:1px solid var(--line)}.eyebrow{color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.28em;margin:0;text-transform:uppercase}.app h1,.login-card h1{font-size:24px;font-weight:500;letter-spacing:-.035em;margin:6px 0 0}.muted,small{color:var(--muted)}.ghost,button{border:1px solid var(--line);background:var(--surface-raised);color:var(--text);border-radius:6px;padding:10px 14px}button:hover{background:var(--surface-hover);border-color:var(--line-strong)}button:disabled{cursor:not-allowed;opacity:.45}.primary{background:#fff;color:#000;border:1px solid #fff;font-weight:700}.primary:hover{background:#d9d9d9;border-color:#d9d9d9}.month-bar{display:grid;grid-template-columns:46px 1fr 46px;grid-gap:8px;gap:8px;margin:18px 0 14px}.month-bar button{font-size:21px}.month-bar input,input,select{width:100%;border:1px solid var(--line);background:#050505;color:var(--text);border-radius:6px;padding:12px}.summary{display:grid;grid-template-columns:1fr;grid-gap:8px;gap:8px}.summary article{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:18px}.summary article:before{content:"";position:absolute;top:0;left:18px;right:18px;height:1px;background:#444}.summary span{display:block;color:var(--muted);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.summary strong{display:block;color:var(--text);font-size:23px;font-weight:500;letter-spacing:-.03em;margin-top:8px}.summary .paid strong{color:#f5f5f5}.summary .pending strong{color:#aaa}.summary .pending{background:#050505}.tabs{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:2px;gap:2px;background:var(--surface);padding:3px;border:1px solid var(--line);border-radius:7px;margin:18px 0 12px}.tabs button{border:0;background:transparent;border-radius:4px;color:var(--muted);font-size:12px;letter-spacing:.02em}.tabs .active{background:#fff;color:#000;font-weight:700}.list{display:grid;grid-gap:7px;gap:7px}.expense{display:flex;gap:10px;justify-content:space-between;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:14px;transition:border-color .18s ease,background-color .18s ease}.expense:hover{border-color:var(--line-strong);background:#0b0b0b}.expense-main{padding:0;border:0;text-align:left;display:flex;flex-direction:column;gap:5px;min-width:0;flex:1 1}.expense-main,.expense-main:hover{background:none}.expense-main b{white-space:normal;font-size:14px;font-weight:550}.folio{color:var(--quiet);font-size:9px;font-weight:700;letter-spacing:.12em}.expense-side{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:8px}.expense-side>strong{font-weight:550}.status{position:relative;padding:5px 9px 5px 20px;border-radius:999px;border-color:#414141;background:#111;color:#bdbdbd;font-size:10px;font-weight:650;letter-spacing:.04em;text-transform:uppercase}.status:before{content:"";position:absolute;left:8px;top:50%;width:6px;height:6px;border:1px solid #8b8b8b;border-radius:50%;transform:translateY(-50%)}.status.paid{background:#e8e8e8;color:#0a0a0a;border-color:#e8e8e8}.status.paid:before{background:#111;border-color:#111}.row-actions{display:flex;gap:4px}.row-actions button{font-size:10px;padding:5px 7px;background:#090909}.danger{color:#9a9a9a;text-decoration:underline;-webkit-text-decoration-color:#454545;text-decoration-color:#454545;text-underline-offset:3px}.bottom-actions{position:fixed;left:0;right:0;bottom:0;z-index:10;display:flex;justify-content:center;gap:8px;padding:12px max(14px,env(safe-area-inset-left)) calc(12px + env(safe-area-inset-bottom));background:rgba(0,0,0,.94);border-top:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.bottom-actions button{min-height:46px}.modal{position:fixed;inset:0;z-index:30;background:rgba(0,0,0,.82);display:flex;align-items:flex-end}.sheet{background:#070707;border:1px solid var(--line-strong);border-radius:14px 14px 0 0;width:100%;max-height:94vh;overflow:auto;padding:20px 18px calc(24px + env(safe-area-inset-bottom));display:grid;grid-gap:14px;gap:14px;box-shadow:0 -20px 80px hsla(0,0%,100%,.035)}.sheet-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;border-bottom:1px solid var(--line)}.sheet h2{margin:0;font-size:19px;font-weight:500}.login-card label,.sheet label{display:grid;grid-gap:7px;gap:7px;color:#d4d4d4;font-size:12px;letter-spacing:.02em}.check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center}.check input{width:auto;accent-color:#fff}.error{color:#fff}.banner{background:#111;border:1px dashed #666;padding:12px;border-radius:6px}.empty{text-align:center;color:var(--muted);padding:54px 20px;border:1px dashed var(--line-strong);border-radius:8px}.empty span{font-size:28px;color:#666}footer{text-align:center;color:var(--quiet);font-size:10px;letter-spacing:.04em;margin-top:30px}.login-shell{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 50% 20%,#151515 0,#050505 30%,#000 68%)}.login-card{width:100%;max-width:400px;background:rgba(5,5,5,.92);border:1px solid var(--line);border-radius:10px;padding:28px}.login-card form{display:grid;grid-gap:16px;gap:16px;margin-top:26px}.brand-mark{width:52px;height:52px;border:1px solid #fff;border-radius:50%;background:#000;display:grid;place-items:center;color:#fff;font-size:22px;font-weight:600;margin-bottom:18px}@media(min-width:700px){.app{padding-left:28px;padding-right:28px}.summary{grid-template-columns:repeat(3,1fr)}.modal{align-items:center;justify-content:center;padding:20px}.sheet{max-width:520px;border-radius:10px}.expense{padding:16px}.bottom-actions{left:auto;right:24px;bottom:20px;border:1px solid var(--line);border-radius:8px;padding:10px}}