*{box-sizing:border-box}body{margin:0;background:#f6f8fb;color:#172033;font-family:Arial,"Tahoma",sans-serif}.admin-shell{display:flex;min-height:100vh}.sidebar{width:240px;background:#fff;border-left:1px solid #e7ebf2;padding:24px 16px;position:sticky;top:0;height:100vh}.brand{font-size:20px;font-weight:800;padding:10px 12px 28px}.sidebar nav{display:grid;gap:6px}.sidebar a{padding:12px 14px;border-radius:10px;text-decoration:none;color:#566074}.sidebar a.active,.sidebar a:hover{background:#eef3ff;color:#315efb}.main{flex:1;padding:30px;max-width:1500px;margin:0 auto}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.topbar h1{margin:0;font-size:28px}.topbar span,.muted,small{color:#7b8496}.card{background:#fff;border:1px solid #e6eaf0;border-radius:16px;padding:24px;margin-bottom:20px;box-shadow:0 4px 18px rgba(20,30,55,.04)}.card h2{margin:0 0 10px;font-size:19px}.form-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px;align-items:end}.field{display:grid;gap:8px;font-weight:700;font-size:14px}.field.wide{grid-column:span 1}.field input,.field select,.inline-form input,.inline-form select{width:100%;padding:11px 12px;border:1px solid #dbe1ea;border-radius:9px;background:#fff;font:inherit;font-weight:400}.btn{border:1px solid #d9dfe8;background:#fff;padding:10px 15px;border-radius:9px;cursor:pointer;font-weight:700}.btn.primary{background:#315efb;color:#fff;border-color:#315efb}.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.badge{background:#eef3ff;color:#315efb;padding:6px 10px;border-radius:999px;font-size:12px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:900px}th,td{padding:14px 12px;border-bottom:1px solid #edf0f4;text-align:right;vertical-align:top}th{font-size:13px;color:#687286;background:#fafbfd}.inline-form{display:grid;grid-template-columns:1fr 1fr 100px 100px 70px;gap:7px}.empty{text-align:center;color:#7b8496;padding:40px}@media(max-width:900px){.sidebar{display:none}.main{padding:18px}.form-grid{grid-template-columns:1fr}.inline-form{grid-template-columns:1fr}.topbar{display:block}.topbar span{display:block;margin-top:6px}}

/* Authentication */
.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px;background:#f6f8fb}
.auth-card{width:min(440px,100%);background:#fff;border:1px solid #e6eaf0;border-radius:18px;padding:32px;box-shadow:0 12px 40px rgba(20,30,55,.08)}
.auth-card .badge{display:inline-block;margin-bottom:14px}
.auth-card h1{margin:0 0 24px;font-size:30px}
.auth-card form{display:grid;gap:10px}
.auth-card label{font-weight:700;font-size:14px;margin-top:4px}
.auth-card input{width:100%;box-sizing:border-box;padding:13px 14px;border:1px solid #dbe1ea;border-radius:10px;background:#fff;font:inherit;outline:none}
.auth-card input:focus{border-color:#315efb;box-shadow:0 0 0 3px rgba(49,94,251,.10)}
.auth-card .button{margin-top:10px;width:100%;padding:13px 16px;border:0;border-radius:10px;background:#315efb;color:#fff;font:inherit;font-weight:800;cursor:pointer}
.auth-card .alert{padding:11px 13px;border-radius:10px;background:#fef2f2;color:#991b1b;border:1px solid #fecaca;margin-bottom:8px}
