*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:#e8eaeb;color:#0f172a}
.app-shell{display:flex;min-height:100vh;padding:16px;gap:14px}
.sidebar{width:250px;background:#f2f4f3;border:1px solid #dfe5e2;border-radius:24px;padding:22px 14px;position:fixed;left:14px;top:14px;bottom:14px;overflow:auto;transform:translateX(-115%);transition:.25s ease;z-index:40}
.sidebar.open{transform:translateX(0)}.sidebar h2{margin:4px 10px 18px;color:#0f6f4a}.sidebar nav{display:flex;flex-direction:column;gap:9px}.sidebar a{text-decoration:none;color:#17302a;background:#ffffff;padding:11px 12px;border:1px solid #dfe5e2;border-radius:12px}
.nav-overlay{display:none;position:fixed;inset:0;background:rgba(15,23,42,.3);z-index:35}.nav-overlay.show{display:block}
.close-menu{margin-left:auto;display:block;border:1px solid #d1d5db;background:#fff;color:#0f172a;border-radius:999px;height:28px;width:28px;line-height:1;padding:0;font-size:16px}
.app-main{flex:1;min-width:0;background:#f2f4f3;border:1px solid #dfe5e2;border-radius:24px;overflow:hidden}
.topbar{position:sticky;top:0;z-index:20;background:#f2f4f3;border-bottom:1px solid #dfe5e2;padding:14px}.top-row{gap:10px;justify-content:flex-start}.wallet-title{margin:0;font-size:28px}
.container{padding:16px;max-width:1100px;margin:auto}
.card{background:#fff;border-radius:16px;padding:14px;margin-bottom:14px;border:1px solid #dfe5e2;box-shadow:0 2px 6px rgba(0,0,0,.03)}.cards-grid{display:grid;grid-template-columns:1fr;gap:12px}.metric p{font-size:38px;font-weight:700;margin:10px 0 0}.green{background:linear-gradient(135deg,#0b6c48,#1f9f67);color:#fff}
.grid-form{display:grid;gap:10px}.grid-form input,.grid-form select,.grid-form textarea,.grid-form button,button{width:100%;padding:10px;border:1px solid #d1d5db;border-radius:10px;font-size:14px}.grid-form button,button{background:#0b6c48;color:#fff;border:none;cursor:pointer}.ghost{background:#fff!important;color:#111827!important;border:1px solid #d1d5db!important}
.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:700px}th,td{padding:8px;border-bottom:1px solid #e5e7eb;text-align:left}.between{display:flex;justify-content:space-between;align-items:center;gap:10px}.error{color:#b91c1c}.auth-card{max-width:420px;margin:40px auto}.remember{display:flex;align-items:center;gap:8px}.hint{font-size:13px;color:#6b7280}.actions{display:flex;gap:8px}.category-block{border:1px solid #e5e7eb;padding:10px;border-radius:8px;margin-bottom:8px}
.menu-btn{height:40px;width:40px;background:#fff;border:1px solid #d9dfdc;border-radius:10px;display:flex;flex-direction:column;justify-content:center;gap:4px;padding:9px}.menu-btn span{display:block;height:2px;background:#1f2937;width:100%}
.fab{position:fixed;right:28px;bottom:26px;height:58px;width:58px;border-radius:999px;font-size:34px;line-height:1;background:#0b6c48;color:#fff;box-shadow:0 8px 22px rgba(11,108,72,.32);z-index:30}.modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:50;padding:18px}.modal.open{display:block}.modal-content{background:#fff;max-width:430px;margin:60px auto 0;padding:16px;border-radius:16px}.choice-btn{margin-bottom:8px}
.period-select{min-width:170px;padding:10px 34px 10px 12px;border-radius:12px;border:1px solid #cfd8d3;background:linear-gradient(180deg,#fff,#f5f7f6);font-weight:600;box-shadow:0 3px 10px rgba(15,23,42,.08)}
@media(min-width:900px){.sidebar{transform:none;position:sticky;top:0;height:calc(100vh - 32px)}.menu-btn,.close-menu{display:none}.nav-overlay{display:none!important}.app-main{width:calc(100% - 250px)}.cards-grid{grid-template-columns:repeat(3,1fr)}}
