:root{color-scheme:light;font-family:-apple-system,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;background:#f4f1ea;color:#1c1c1c}a{color:#b4602f}.app{display:flex;min-height:100vh}.sidebar{width:210px;background:#14213d;color:#e8e8e8;padding:20px 14px}.sidebar h1{font-size:15px;letter-spacing:.03em;margin:0 0 18px;color:#fff}.sidebar button{display:block;width:100%;text-align:left;background:none;border:0;color:#c7cdd9;padding:9px 10px;border-radius:7px;cursor:pointer;font-size:14px}.sidebar button.active,.sidebar button:hover{background:#24314f;color:#fff}.sidebar .spacer{flex:1}.sidebar .signout{margin-top:22px;color:#9aa3b2;font-size:12px}.main{flex:1;padding:26px 32px;max-width:1100px}.main h2{margin:0 0 4px}.sub{color:#6b6b6b;font-size:13px;margin:0 0 20px}.cards{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:22px}.card{background:#fff;border:1px solid #e7e2d6;border-radius:12px;padding:14px 18px;min-width:150px}.card .label{font-size:12px;color:#777}.card .value{font-size:24px;font-weight:650;margin-top:4px}.card .value.neg{color:#c0392b}.card .value.pos{color:#1e7d4f}table{width:100%;border-collapse:collapse;background:#fff;border:1px solid #e7e2d6;border-radius:12px;overflow:hidden}th,td{text-align:left;padding:9px 12px;font-size:13px;border-bottom:1px solid #f0ece1}th{background:#faf8f2;color:#555;font-weight:600}tr:last-child td{border-bottom:0}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.neg{color:#c0392b}.pos{color:#1e7d4f}.badge{font-size:11px;padding:2px 7px;border-radius:20px;background:#fbe3df;color:#c0392b}.login{max-width:340px;margin:12vh auto;background:#fff;padding:28px;border-radius:14px;border:1px solid #e7e2d6}.login h1{font-size:18px;margin:0 0 16px}input,.btn{font:inherit}input{width:100%;padding:9px 11px;margin:6px 0 12px;border:1px solid #d8d2c4;border-radius:8px}.btn{background:#14213d;color:#fff;border:0;padding:9px 16px;border-radius:8px;cursor:pointer}.btn:disabled{opacity:.6;cursor:default}.err{color:#c0392b;font-size:13px;margin:8px 0}.note{color:#777;font-size:12px;margin-top:10px}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:end;margin-bottom:16px}.row label{font-size:12px;color:#555;display:block}.row input{width:180px;margin:4px 0 0}
