@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');
:root{--navy:#101b36;--blue:#2458d3;--ink:#18233b;--muted:#718096;--line:#e5eaf2;--bg:#f4f7fb}
*{box-sizing:border-box}body{font-family:Inter,Arial,sans-serif;background:var(--bg);color:var(--ink);min-height:100vh;display:flex;flex-direction:column}.topbar{background:linear-gradient(100deg,#101b36,#1d3260);box-shadow:0 5px 20px #14244818}.navbar-brand{letter-spacing:.2px}.navbar-brand small{font-size:.78rem;color:#c4d0e9}.container{max-width:1240px}main{flex:1}.footer{background:#101b36;color:#d5def0;text-align:center;padding:22px 12px;font-size:.82rem;line-height:1.8;margin-top:40px}.login-wrap{min-height:65vh;display:grid;place-items:center}.login-card,.panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px;box-shadow:0 10px 30px #172b4d0a}.login-card{width:min(100%,430px);padding:38px}.brandmark{width:54px;height:54px;border-radius:16px;background:#e9efff;color:var(--blue);display:grid;place-items:center;font-size:1.6rem;margin-bottom:22px}.login-card h1{font-size:1.55rem;font-weight:800}.muted{color:var(--muted)}.hero{background:linear-gradient(110deg,#fff,#eef3ff);border:1px solid #e0e8fa;border-radius:22px;padding:28px 32px;display:flex;justify-content:space-between;align-items:center}.eyebrow{font-size:.72rem;font-weight:800;letter-spacing:2px;color:var(--blue);margin-bottom:8px}.hero h1,.page-title{font-weight:800;letter-spacing:-.7px}.hero-icon{width:78px;height:78px;border-radius:24px;background:#dfe8ff;color:var(--blue);display:grid;place-items:center;font-size:2rem}.app-card{height:100%;background:#fff;border:1px solid var(--line);border-radius:18px;padding:23px;box-shadow:0 8px 22px #152a4b08;transition:transform .18s,box-shadow .18s}.app-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px #152a4b12}.app-icon{height:48px;width:48px;border-radius:14px;background:#edf2ff;color:var(--blue);display:grid;place-items:center;font-size:1.4rem;margin-bottom:18px}.app-card h2{font-size:1.05rem;font-weight:750}.app-card p{font-size:.88rem;color:var(--muted);min-height:42px}.btn-primary{background:var(--blue);border-color:var(--blue)}.notice{display:flex;gap:12px;align-items:center;padding:15px 18px;background:#eaf0ff;border-radius:12px;color:#33476f;font-size:.88rem}.notice i{font-size:1.15rem}.panel h2{font-size:1.08rem;font-weight:750;margin-bottom:20px}.subheading{font-size:.9rem;font-weight:750;margin:20px 0 10px}.permission-row{padding:9px 0;border-bottom:1px solid #f0f2f6;display:flex;gap:12px;justify-content:space-between;align-items:center}.permission-row .form-check{flex:1}.role-field{max-width:170px}.table{font-size:.88rem}.table thead th{font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;color:#6b7890;background:#f8faff}.form-control,.form-select{border-color:#dce3ee;padding:.65rem .8rem}.form-control:focus,.form-select:focus{border-color:#91aaf5;box-shadow:0 0 0 .2rem #2458d31a}@media(max-width:600px){.hero{padding:22px}.hero-icon{display:none}.login-card{padding:26px}.panel{padding:18px}.permission-row{align-items:flex-start;flex-direction:column}.role-field{max-width:none;width:100%}}
