:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#243049;background:#f5f7fb;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.shell{display:flex;min-height:100vh}.side{width:236px;background:#15243b;color:#e5edf8;position:sticky;top:0;height:100vh;padding:32px 19px;display:flex;flex-direction:column;flex-shrink:0}.logo{font-weight:850;font-size:25px;letter-spacing:-1.25px;color:inherit}.logo span{color:#4ed0ae}.side-text,.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:800;color:#8192ad}.side-text{margin:38px 12px 13px}.side nav{display:grid;gap:5px}.navlink{padding:13px 12px;border-radius:9px;font-size:13px;color:#b8c4d6}.navlink:hover,.navlink.active{background:#283b58;color:#fff}.side-bottom{margin-top:auto}.logout{background:none;border:0;color:#c6d0df;padding:12px}.main{width:100%;min-width:0;max-width:1500px;padding:40px clamp(20px,4vw,64px);margin:auto}.top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:39px}.top h1{margin:7px 0 8px;font-size:clamp(26px,3vw,36px);letter-spacing:-1.3px;color:#1a2940}.top h1 span{color:#8c9aaf}.top p{margin:0;color:#8793a5;font-size:14px}.btn{border:1px solid #dae2ea;border-radius:9px;padding:11px 17px;background:#fff;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:13px;font-weight:700;white-space:nowrap;min-height:42px}.btn:hover{filter:brightness(.97)}.btn.primary{background:#167a70;color:#fff;border-color:#167a70}.full{width:100%}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-title h2,.panel h2{font-size:19px;letter-spacing:-.5px;margin:0;color:#24334b}.section-title span{color:#8d9aab;font-size:12px}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.stat,.panel{background:white;border-radius:14px;border:1px solid #e7ecf3;box-shadow:0 4px 15px rgba(25,39,66,.025)}.stat{padding:22px}.stat-top{display:flex;justify-content:space-between;gap:8px;color:#59687e;font-weight:700;font-size:13px}.stat-top small{font-size:11px;color:#a0acba;white-space:nowrap}.stat-number{font-size:clamp(21px,2.3vw,30px);font-weight:850;letter-spacing:-.9px;margin:22px 0 1px}.positive{color:#13876d!important}.negative{color:#d26565!important}.stat-desc{font-size:11px;color:#a0aab8;margin-bottom:23px}.stat-line{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:#8290a0;margin-top:11px}.stat-line strong{color:#34435c;font-size:12px}.panel{padding:24px;margin-top:21px}.chart-panel{margin-bottom:25px}.panel-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:21px}.panel-heading h3{font-size:17px;margin:0;color:#27364c}.panel-heading p,.panel p{font-size:12px;color:#92a0af;line-height:1.6;margin:5px 0 0}.legend{display:flex;gap:14px;color:#8392a3;font-size:11px;white-space:nowrap}.legend span{display:flex;align-items:center;gap:6px}.legend i{width:8px;height:8px;border-radius:50%;display:block}.green{background:#34b49a}.red{background:#f0a3a0}.bar-chart{height:190px;display:flex;gap:12px;align-items:stretch;border-bottom:1px solid #e9edf3;padding:16px 10px 0}.bar-group{flex:1;display:flex;flex-direction:column;align-items:center;min-width:0}.bars{height:143px;display:flex;align-items:end;gap:7px;width:100%;justify-content:center}.bar{max-width:35px;width:27%;border-radius:5px 5px 0 0;min-height:0}.bar.income{background:#3fb69f}.bar.expense{background:#efaaa6}.bar-group>span{padding-top:9px;color:#8995a7;font-size:11px}.hint,.panel p.hint{color:#8f9bab;font-size:11px;line-height:1.6;margin-top:22px}.two-col{display:grid;grid-template-columns:1.1fr .9fr;gap:19px;align-items:start}.two-col>.panel{margin-top:0}label{display:block;color:#536177;font-size:12px;font-weight:700}label small{font-weight:400;color:#98a4b3}input:not([type=radio]):not([type=checkbox]),select,textarea{display:block;width:100%;margin-top:8px;border:1px solid #dfe6ef;background:#fff;border-radius:8px;padding:11px 12px;color:#34435c;outline:none;min-height:42px}input:focus,select:focus,textarea:focus{border-color:#31a996;box-shadow:0 0 0 3px #31a99620}textarea{resize:vertical}.entry-form{display:grid;gap:17px}.toggle{display:flex;gap:9px}.toggle label{flex:1}.toggle input{position:absolute;opacity:0}.toggle span{display:block;border:1px solid #e4e9f0;border-radius:8px;padding:12px;text-align:center;font-size:13px;color:#6c7b8d;cursor:pointer}.toggle input:checked+span{background:#eaf8f3;border-color:#49bba5;color:#087a66}.toggle input[value=expense]:checked+span{background:#fff0ef;border-color:#efb2af;color:#bf6661}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.checkbox{display:flex;align-items:center;gap:9px;font-weight:500}.checkbox input{accent-color:#13876d}.checkbox[hidden]{display:none}.entry-form .hint{margin:-6px 0 0}.form-buttons{display:flex;gap:10px}.category-groups h4{color:#6a788a;text-transform:uppercase;letter-spacing:1px;font-size:11px;margin:22px 0 11px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{background:#f3f6fa;border:1px solid #e9edf2;border-radius:7px;padding:8px 10px;color:#53657a;font-size:12px;display:flex;gap:8px;align-items:center}.chip form{display:inline-flex}.chip button{border:0;background:none;color:#9ba9b7;font-size:18px;line-height:12px;padding:0}.category-add{margin-top:32px;padding-top:23px;border-top:1px solid #e9edf3}.add-row{display:flex;gap:9px;margin-top:12px}.add-row select{margin:0}.bookings{margin-top:22px}.filters{display:flex;align-items:end;gap:12px;margin:0 0 20px}.filters label{min-width:145px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:660px;text-align:left}th{color:#a1adbc;text-transform:uppercase;font-size:10px;letter-spacing:1px;border-bottom:1px solid #e8edf3;padding:13px 11px}td{font-size:12px;color:#55677c;padding:16px 11px;border-bottom:1px solid #eff2f6;vertical-align:middle}.right{text-align:right}.date-cell{white-space:nowrap;font-weight:650}.tag{display:inline-block;padding:5px 8px;border-radius:6px;font-size:10px;font-weight:800}.tag-green{background:#e8f8f2;color:#23896e}.tag-red{background:#fff0f0;color:#cd7370}.category-cell{margin-top:5px}.note-cell{max-width:290px;overflow-wrap:anywhere}.muted-small{font-size:10px;color:#a9b2bf;margin-top:5px}.amount{font-weight:850;white-space:nowrap}.actions{display:flex;justify-content:end;align-items:center;gap:10px}.actions a,.actions button{background:none;border:0;color:#8190a3;font-size:20px;padding:4px}.empty{text-align:center;padding:38px;color:#93a1b1}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.settings-grid h4{margin:0 0 11px}.settings-grid p{margin:0 0 18px}.settings-grid label{margin:12px 0}.warning{border-top:1px solid #edf0f3;padding-top:14px}footer{text-align:center;color:#a6b0bd;font-size:11px;padding:28px 0}.alert{border-radius:9px;padding:12px 16px;margin-bottom:20px;font-size:13px}.alert.error{background:#fff0ed;color:#ae4039}.alert.success{background:#e9f8f1;color:#18765c}.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:22px;background:radial-gradient(circle at 50% 15%,#e3f5ef,#f6f8fb 60%)}.auth-card{max-width:430px;width:100%;background:white;padding:39px;border-radius:18px;box-shadow:0 20px 65px #20344a16}.auth-card .logo{color:#24344d}.auth-card .sub{color:#8c99aa;font-size:13px;margin-bottom:32px}.auth-card h1{font-size:25px;margin:0 0 18px}.auth-card p{font-size:13px;color:#8693a4}.auth-card label{margin:18px 0}.auth-card .btn{margin-top:9px}@media(max-width:1100px){.side{width:198px}.main{padding:30px 22px}.stats{gap:10px}.stat{padding:17px}.stat-top{flex-wrap:wrap}.two-col{gap:12px}}@media(max-width:850px){.shell{display:block}.side{width:100%;height:auto;position:relative;padding:15px 18px}.side .logo{font-size:21px}.side-text,.side-bottom{display:none}.side nav{display:flex;overflow-x:auto;margin-top:13px}.navlink{white-space:nowrap;padding:9px;font-size:12px}.main{padding:24px 15px}.top{margin-bottom:26px}.top h1{font-size:27px}.stats{grid-template-columns:1fr}.stat{padding:20px}.stat-number{margin:13px 0}.stat-desc{margin-bottom:15px}.two-col{grid-template-columns:1fr;gap:20px}.panel{padding:19px;margin-top:18px}.chart-panel{margin-bottom:20px}}@media(max-width:510px){.new{display:none}.top h1{font-size:26px}.panel-heading{flex-wrap:wrap}.form-grid,.settings-grid{grid-template-columns:1fr;gap:16px}.legend{font-size:10px}.bar-chart{gap:4px}.bars{gap:4px}.bar{width:38%}.filters{flex-wrap:wrap}.filters label{flex:1}.auth-card{padding:26px}}
