* { box-sizing: border-box; font-family: Inter, Arial, sans-serif; }
:root { --bg:#fffdf4; --card:#fff; --text:#2d2a20; --muted:#766f58; --primary:#f4b400; --primary-dark:#d89b00; --line:#f0e4ba; }
body { margin:0; background:linear-gradient(180deg,#fff7d6 0%,var(--bg) 260px); color:var(--text); }
.container { width:min(1160px,92%); margin:18px auto; }
.hero-wrap { padding-top:18px; }
.hero-card { background:linear-gradient(120deg,#fff9e4,#fff3c2); border:1px solid #f3e2a1; border-radius:18px; padding:20px; box-shadow:0 10px 30px rgba(180,131,0,.12); }
.brand { margin:0 0 6px; font-size:12px; letter-spacing:1.2px; font-weight:700; color:#8b6a00; }
h1 { margin:0; font-size:30px; }
.hero-sub,.muted { color:var(--muted); }
.card { background:var(--card); border:1px solid var(--line); border-radius:14px; padding:16px; box-shadow:0 8px 24px rgba(78,62,14,.08); }
.form,.inline-form { display:grid; gap:10px; margin-top:10px; }
label { display:grid; gap:6px; font-size:14px; }
input,textarea,select,button { padding:10px; border:1px solid #dfd4ac; border-radius:10px; }
button,.button-link { background:var(--primary); color:#2a2100; border:none; cursor:pointer; text-decoration:none; text-align:center; font-weight:700; }
button:hover,.button-link:hover { background:var(--primary-dark); color:#fff; }
.danger{ background:#dc2626; color:#fff; }
.danger:hover{ background:#b91c1c; }
.alert{ padding:10px; border-radius:10px; }
.success{ background:#dcfce7; color:#166534; }
.error{ background:#fee2e2; color:#991b1b; }
.menu-tabs{ display:flex; flex-wrap:wrap; gap:8px; margin:12px 0 0; }
.menu-tabs a{ text-decoration:none; color:#6b5200; background:#fff4cc; border:1px solid #f0d982; padding:8px 12px; border-radius:999px; font-size:13px; font-weight:700; }
.menu-tabs a:hover{ background:#ffe694; }
.stats-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:10px; }
.stat-item{ border:1px solid var(--line); border-radius:12px; padding:10px; background:#fffdfa; }
.stat-value{ margin:6px 0 0; font-size:16px; font-weight:700; }
.total { font-size:24px; margin:8px 0 16px; font-weight:800; }
.row-between{ display:flex; justify-content:space-between; align-items:flex-start; gap:16px; }
.table-wrap{ overflow-x:auto; }
table{ width:100%; border-collapse:collapse; }
th,td{ border:1px solid var(--line); padding:8px; text-align:left; font-size:14px; }
th{ background:#fff7d8; }
.submission{ border:1px solid var(--line); border-radius:10px; padding:12px; margin-bottom:12px; background:#fffef9; }
.proof{ width:220px; max-width:100%; border:1px solid #e6d69c; border-radius:8px; }
.pill{ display:inline-block; padding:4px 8px; border-radius:999px; font-size:12px; font-weight:700; }
.pill.income{ background:#dcfce7; color:#166534; }
.pill.expense{ background:#fee2e2; color:#991b1b; }
.proof-link{ display:inline-block; padding:4px 8px; border-radius:8px; text-decoration:none; background:#fef3c7; color:#92400e; border:1px solid #fde68a; }
.proof-link:hover{ background:#fde68a; }
@media (max-width: 900px){ h1{font-size:24px;} .row-between{flex-direction:column;} }
