*{box-sizing:border-box}
body{background:var(--bg);color:var(--text);font-family:Inter,Arial,Helvetica,sans-serif;margin:0}
.topbar{height:56px;background:var(--surface);display:flex;align-items:center;justify-content:space-between;padding:0 18px;box-shadow:var(--shadow)}
.brand{font-weight:700}
.app-grid{display:grid;grid-template-columns:260px 1fr;gap:18px;padding:18px}
.sidebar{background:var(--surface);border-radius:12px;padding:14px;min-height:calc(100vh - 80px)}
.sidebar nav a{display:block;padding:8px 6px;color:var(--text);text-decoration:none;border-radius:8px;margin-bottom:6px}
.sidebar nav a:hover{background:linear-gradient(90deg,var(--primary),var(--accent));color:#fff}
.content{min-height:80vh}
.card{background:var(--surface);padding:16px;border-radius:12px;box-shadow:var(--shadow);margin-bottom:14px}
.button{background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;padding:10px 14px;border:none;border-radius:12px;cursor:pointer}
.button.small{padding:6px 8px;font-size:0.9em}
.table{width:100%;border-collapse:collapse}
.table th,.table td{padding:8px;border-bottom:1px solid rgba(0,0,0,0.06);text-align:left}
.auth-card{max-width:420px;margin:40px auto}
input,textarea,select{width:100%;padding:8px;margin:6px 0;border:1px solid rgba(0,0,0,0.08);border-radius:8px}
.flash{background:#ffe8d6;padding:10px;border-radius:8px;margin-bottom:8px;color:#6a3b00}
.grid-3{display:flex;gap:12px}
.stat{background:var(--surface);padding:12px;border-radius:10px;flex:1}
.stat-num{font-size:22px;font-weight:700}
.mobile-menu{display:none}
@media(max-width:900px){
  .app-grid{grid-template-columns:1fr; padding:10px}
  .sidebar{position:fixed;bottom:0;left:0;right:0;height:64px;border-radius:12px 12px 0 0;display:flex;align-items:center;justify-content:space-around}
  .sidebar nav{display:none}
  .mobile-menu{display:flex;gap:8px}
  .content{margin-bottom:90px}
}
