:root{--ink:#263a3b;--green:#217b67;--dark:#173b38;--line:#dce8e1;--bg:#f3f7f4}body{background:var(--bg);color:var(--ink);font:15px/1.6 system-ui,'Microsoft YaHei',sans-serif}.shell{min-height:100vh;display:flex}.sidebar{width:236px;flex:none;background:var(--dark);padding:24px 14px;color:white}.brand{font-size:24px;font-weight:750;padding:4px 14px 27px}.brand span{display:block;font-size:10px;letter-spacing:.2em;font-weight:400;color:#a4d0bb}.sidebar .nav-link{color:#bedbd0;border-radius:9px;padding:11px 15px;margin:2px 0}.sidebar .nav-link:hover,.sidebar .nav-link.active{background:#2e6859;color:white}.main{min-width:0;flex:1}.topbar{background:white;border-bottom:1px solid var(--line);height:70px;padding:0 32px;display:flex;align-items:center;justify-content:space-between}.crumb,.user{color:#789088;font-size:13px}.content{max-width:1520px;margin:auto;padding:30px 34px 60px}.pagehead{display:flex;align-items:end;justify-content:space-between;margin-bottom:23px}.pagehead h1{font-size:27px;font-weight:750;margin:2px 0 0}.eyebrow{letter-spacing:.16em;font-size:11px;color:#669984;margin:0}.date-label{font-size:12px;color:#84998d}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}.stat{background:white;border:1px solid var(--line);border-radius:12px;padding:19px 21px;box-shadow:0 4px 16px #1d4a340a}.stat span{display:block;font-size:13px;color:#789385}.stat strong{font-size:29px;color:#25775d}.stat.expense strong{color:#b56758}.card{border:1px solid var(--line);border-radius:12px;box-shadow:0 4px 16px #1d4a340a;margin-bottom:22px;overflow:hidden}.card-header{background:white;border-bottom:1px solid var(--line);padding:15px 20px;font-weight:700}.card-body{padding:20px}.table{margin:0;vertical-align:middle}.table th{background:#f9fbf9;white-space:nowrap;color:#718c7d;font-size:12px}.form-label{font-size:13px;font-weight:650}.btn-primary{background:var(--green);border-color:var(--green)}.btn-primary:hover{background:#196b59;border-color:#196b59}.inline{display:inline}.income{color:#23805d;font-weight:700}.expense-text{color:#bd6655;font-weight:700}.badge-soft{border-radius:20px;background:#e4f2e8;color:#317953;padding:3px 9px;font-size:12px}.badge-soft.expense{background:#f8ebe6;color:#ad6b58}.searchbar{display:flex;gap:8px;max-width:600px;margin-bottom:18px}.pagination-nav{display:flex;gap:14px;margin-top:15px}.login-screen{min-height:100vh;display:grid;place-items:center;padding:20px;background:linear-gradient(145deg,#173b38,#3b8d6d)}.login-card{background:white;border-radius:16px;padding:35px;width:min(440px,100%);box-shadow:0 18px 50px #102f2366}.login-card h1{font-size:25px;font-weight:750}@media(max-width:1000px){.stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.shell{display:block}.sidebar{width:100%;padding:9px}.brand{padding:3px 12px}.sidebar .nav{flex-direction:row!important;overflow:auto}.sidebar .nav-link{white-space:nowrap}.topbar{height:auto;flex-wrap:wrap;padding:14px;gap:10px}.content{padding:18px}.stats{gap:8px}.stat{padding:12px}.stat strong{font-size:22px}.pagehead h1{font-size:21px}.table{min-width:650px}}
