*{box-sizing:border-box}body{margin:0;font-family:Arial,sans-serif;background:#f5f7fb;color:#182230}.app{display:flex;min-height:100vh}.sidebar{width:240px;background:#102a43;color:#fff;padding:22px 14px;position:fixed;inset:0 auto 0 0}.brand{font-size:25px;font-weight:800;padding:8px 12px 24px}.sidebar nav a{display:block;color:#dce8f5;text-decoration:none;padding:12px;border-radius:8px;margin:4px 0}.sidebar nav a:hover{background:#1f4668}.main{margin-left:240px;width:calc(100% - 240px);padding:22px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}h1{margin:0 0 4px;font-size:25px}header span{color:#6b7280}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.card,.panel{background:#fff;border-radius:12px;padding:18px;box-shadow:0 2px 12px #0000000d;margin-bottom:18px}.metric{font-size:28px;font-weight:800;margin-top:8px}.muted{color:#6b7280}.btn,button{background:#1565c0;color:#fff;border:0;border-radius:8px;padding:10px 15px;cursor:pointer;text-decoration:none;display:inline-block}.btn.secondary{background:#607d8b}form .row{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}label{display:block;font-weight:600;margin:8px 0 6px}input,select,textarea{width:100%;padding:10px;border:1px solid #d6dbe3;border-radius:7px;background:#fff}textarea{min-height:90px}table{width:100%;border-collapse:collapse}th,td{padding:11px 8px;border-bottom:1px solid #edf0f4;text-align:left;font-size:14px}.table-wrap{overflow:auto}.alert{background:#fff1f2;color:#b42318;padding:10px;border-radius:7px;margin-bottom:12px}.success{background:#ecfdf3;color:#067647;padding:10px;border-radius:7px;margin-bottom:12px}.login{display:grid;place-items:center;min-height:100vh;background:#edf3f9}.login-card{width:min(420px,92%);background:#fff;padding:30px;border-radius:16px;box-shadow:0 10px 35px #0002}.login-card .brand{text-align:center;color:#1565c0;padding-bottom:5px}.login-card h2{text-align:center}.login-card button{width:100%;margin-top:14px}.login-card small{display:block;margin-top:15px;color:#667085}.login-card input{margin-bottom:8px}@media(max-width:900px){.sidebar{width:70px}.sidebar .brand{font-size:0}.sidebar .brand:after{content:'R';font-size:25px}.sidebar nav a{font-size:0;text-align:center}.sidebar nav a:first-letter{font-size:20px}.main{margin-left:70px;width:calc(100% - 70px)}.grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.main{padding:12px}.grid{grid-template-columns:1fr}form .row{grid-template-columns:1fr}h1{font-size:20px}.panel{padding:13px}}
