:root{font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:#172338;background:#f5f7fb;font-size:15px}*{box-sizing:border-box}body{margin:0}a{color:#3458ba;text-decoration:none}header{background:#fff;border-bottom:1px solid #e3e7f0}.container{max-width:1220px;margin:auto;padding:20px}.top{display:flex;justify-content:space-between;align-items:center;padding-top:14px;padding-bottom:14px}.logo{font-size:1.15rem;font-weight:800;color:#182844}main{min-height:calc(100vh - 140px)}footer{color:#7b8596;font-size:.8rem;padding-top:35px;padding-bottom:25px}.heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:26px}.heading h1{margin:5px 0 6px;font-size:2rem}.heading p,p{color:#657187;line-height:1.5}.eyebrow{font-size:.7rem;letter-spacing:.14em;color:#5270bd;font-weight:750}.layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(290px,1fr);gap:20px;align-items:start}.layout>aside,.layout>div{display:grid;gap:20px}.card{background:white;border:1px solid #e4e8f0;border-radius:16px;padding:22px;box-shadow:0 4px 22px rgba(26,44,70,.025);min-width:0}.card h2{font-size:1.15rem;margin:0 0 14px}.card h3{font-size:1rem;margin-top:22px}.card p{margin-top:6px}form{margin:0}label:not(.check){display:block;font-weight:650;font-size:.88rem;margin-bottom:14px}input:not([type=checkbox]),select{display:block;width:100%;border:1px solid #d9dfeb;border-radius:9px;background:white;min-height:42px;padding:10px 12px;margin-top:7px;font:inherit;color:#172338}input[type=file]{font-size:.83rem}input:focus,select:focus{outline:2px solid #9bb4fa;outline-offset:1px}button,.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid #ccd5e5;border-radius:9px;background:white;color:#223550;min-height:39px;padding:9px 15px;font:inherit;font-size:.87rem;font-weight:700;cursor:pointer}button:hover,.button:hover{filter:brightness(.96)}button.primary,.button.primary{background:#315bb9;color:white;border-color:#315bb9}.button.secondary{background:white}.ghost{border:none;background:transparent}.small{font-size:.76rem;min-height:32px;padding:6px 10px}.login{max-width:430px;margin:55px auto}.login button{width:100%}.invoice-list{display:grid}.invoice-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 4px;border-bottom:1px solid #edf0f5}.invoice-item strong{display:block;color:#25334d}.invoice-item small,small{display:block;color:#78869a;font-size:.77rem;margin-top:5px}.tags,.choices{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.tag{display:inline-flex;padding:5px 10px;border-radius:100px;background:#eef2fa;color:#3c5e95;font-size:.8rem}.inlineform{display:flex;gap:9px;align-items:end;flex-wrap:wrap}.inlineform input:not([type=checkbox]){flex:1;min-width:150px;margin-top:0}.inlineform button{flex-shrink:0}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:22px}.metric{background:#fff;border:1px solid #e4e8f0;border-radius:13px;padding:18px}.metric small{margin:0 0 9px}.metric strong{font-size:1.35rem;white-space:nowrap}.warning{color:#a45f16!important}.alert{padding:13px 16px;margin:10px 0 18px;border-radius:10px;background:#edf2ff;color:#3354a1}.alert.error{background:#fff3ec;color:#944e19}.alert.success{background:#e9f8ed;color:#237546}.sectiontitle,.tx-head,.tx-foot,.person-row,.payment{display:flex;justify-content:space-between;align-items:center;gap:12px}.transaction{padding:18px 0;border-bottom:1px solid #edf0f5}.tx-head{align-items:start}.tx-head>strong{white-space:nowrap}.choices{margin:13px 0}.check{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid #dbe2ed;border-radius:9px;font-size:.78rem;cursor:pointer}.check:has(input:checked){background:#edf3ff;border-color:#9bb5ec}.check input{accent-color:#3560bb}.tx-foot{margin-top:12px}.person-row{padding:13px 0;border-bottom:1px solid #edf0f5;align-items:start}.person-row>div{text-align:right}.person-row small{margin-top:4px}.payment{border-bottom:1px solid #edf0f5;padding:10px 0}.payment small{margin-top:4px}code{background:#f1f3f9;padding:3px;border-radius:4px}@media(max-width:900px){.metrics{grid-template-columns:repeat(2,1fr)}.layout{grid-template-columns:1fr}.heading h1{font-size:1.6rem}}@media(max-width:480px){.container{padding:14px}.card{padding:16px}.metrics{gap:8px}.metric{padding:12px}.metric strong{font-size:1.1rem}.heading{align-items:start;flex-direction:column}.tx-head{font-size:.87rem}}
