
*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Arial,sans-serif;background:#eef3fb;color:#182033}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at top left,#d7eaff,#f6f9ff 45%,#e7eef9)}.login-shell{width:100%;max-width:980px;display:grid;grid-template-columns:1.05fr 1fr;background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 24px 70px rgba(16,35,72,.22)}.login-brand{background:linear-gradient(145deg,#081832,#173b73);color:#fff;padding:46px;position:relative}.seal{width:118px;height:118px;border-radius:50%;margin:0 auto 22px;display:flex;align-items:center;justify-content:center;font-size:54px;background:linear-gradient(135deg,#ffd86b,#ff9f1c);box-shadow:0 12px 32px rgba(0,0,0,.25)}.login-brand h1{font-size:31px;text-align:center;margin:0 0 12px}.login-brand p{text-align:center;font-size:18px;line-height:1.7}.feature-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:34px}.feature{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);border-radius:14px;padding:22px;text-align:center;font-weight:700}.login-form{padding:44px 40px}.login-form h2{font-size:30px;margin:0;color:#082146}.sub{color:#52657d;margin:8px 0 30px}.form-row{margin-bottom:14px}label{font-weight:700;font-size:13px;margin-bottom:7px;display:block}.txt,select,textarea{width:100%;border:1px solid #d6e0ee;border-radius:12px;padding:12px 14px;background:#fbfdff;font-size:14px;outline:none}.txt:focus,select:focus,textarea:focus{border-color:#2d63da;box-shadow:0 0 0 4px rgba(45,99,218,.12)}.btn{background:linear-gradient(135deg,#2457da,#173fb4);color:#fff;border:0;border-radius:12px;padding:12px 20px;font-weight:800;cursor:pointer;box-shadow:0 10px 22px rgba(36,87,218,.26)}.btn.gray{background:#64748b}.err{display:block;color:#dc2626;font-weight:700;margin-top:8px}.msg{display:block;color:#15803d;font-weight:700;margin-top:8px}.app{display:flex;min-height:100vh}.side{width:265px;background:linear-gradient(180deg,#081832,#102e5c);color:#fff;padding:22px;position:fixed;top:0;bottom:0;left:0}.brand{font-size:22px;font-weight:900;margin-bottom:4px}.brand-small{opacity:.8;font-size:12px;margin-bottom:24px}.nav a{display:block;color:#dbeafe;text-decoration:none;padding:12px 14px;border-radius:12px;margin-bottom:8px;font-weight:650}.nav a:hover,.nav a.active{background:rgba(255,255,255,.13);color:#fff}.main{margin-left:265px;flex:1}.top{height:70px;background:#fff;border-bottom:1px solid #e5edf7;display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:2}.top-title{font-size:21px;font-weight:900}.user-chip{background:#eef4ff;border-radius:999px;padding:9px 14px;font-weight:700;color:#173b73}.wrap{padding:26px}.hero{background:linear-gradient(135deg,#173b73,#2457da);color:#fff;border-radius:22px;padding:28px;margin-bottom:22px;box-shadow:0 18px 40px rgba(23,59,115,.22)}.hero h1{margin:0 0 8px;font-size:29px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:22px}.stat{background:#fff;border-radius:18px;padding:20px;box-shadow:0 10px 30px rgba(15,32,64,.08);border:1px solid #e7edf5}.stat .k{font-size:13px;color:#64748b;font-weight:700}.stat .v{font-size:28px;font-weight:900;margin-top:10px;color:#082146}.card{background:#fff;border-radius:18px;padding:20px;box-shadow:0 10px 30px rgba(15,32,64,.08);border:1px solid #e7edf5;margin-bottom:18px}.grid{width:100%;border-collapse:collapse;background:#fff}.grid th{background:#173b73;color:#fff}.grid th,.grid td{border:1px solid #e2e8f0;padding:10px;font-size:13px}.grid tr:nth-child(even){background:#f8fbff}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.full{grid-column:1/-1}.validation-summary{background:#fff1f2;border:1px solid #fecdd3;color:#b91c1c;border-radius:12px;padding:10px 14px;margin-bottom:14px;font-weight:700}.req{color:#dc2626}.table-wrap{overflow:auto}@media(max-width:900px){.login-shell{grid-template-columns:1fr}.login-brand{padding:28px}.side{position:relative;width:100%;bottom:auto}.app{display:block}.main{margin-left:0}.cards{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}.top{height:auto;gap:10px;flex-direction:column;align-items:flex-start;padding:16px}}@media(max-width:560px){.cards{grid-template-columns:1fr}.feature-row{grid-template-columns:1fr}.login-form{padding:28px 22px}.wrap{padding:16px}}
