@font-face{font-family:Prompt;src:url('/admin/assets/Prompt-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Prompt;src:url('/admin/assets/Prompt-Medium.ttf') format('truetype');font-weight:600;font-display:swap}
:root{font-family:Prompt,system-ui,sans-serif;color:#102039;background:#f7f9fd;font-synthesis:none}
*{box-sizing:border-box}
body{margin:0;min-height:100vh}
button,input,select{font:inherit}
button{cursor:pointer}
button:disabled{cursor:wait;opacity:.55}
button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #9bc3ff;outline-offset:2px}
[hidden]{display:none!important}
h1,h2,p{margin-top:0}
h1{font-size:clamp(25px,3vw,32px);line-height:1.3;margin-bottom:4px;font-weight:600}
h2{font-size:19px;margin-bottom:8px;font-weight:600}
.muted{color:#66758c;line-height:1.65;font-size:14px}
.eyebrow{font-size:11px;letter-spacing:.14em;font-weight:600;color:#2762d9;text-transform:uppercase;margin-bottom:8px}
.button{border-radius:12px;border:1px solid transparent;min-height:43px;padding:9px 17px;font-size:13px;font-weight:600;white-space:nowrap}
.button.primary{color:#fff;background:#2355df;box-shadow:0 7px 17px #2355df24}
.button.primary:hover{background:#1747c7}
.button.secondary{background:#eef4ff;color:#2554c8;border-color:#dae7ff}
.button.secondary:hover{background:#e2ecff}
.text-button{border:0;background:none;color:#345ddd;font-size:13px;font-weight:600;padding:7px 0}
.form-error{padding:10px 12px;border-radius:10px;background:#fff0f0;color:#bb303b;font-size:13px}
.login-view{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 0,#e4eeff 0,#f8faff 50%,#f7f9fd 100%)}
.login-card{width:min(100%,430px);padding:38px;background:#fff;border:1px solid #e9eef7;border-radius:26px;box-shadow:0 18px 60px #19335b10}
.login-logo{width:158px;max-height:66px;object-fit:contain;object-position:left;margin-bottom:24px}
.login-card .muted{margin-bottom:27px}
label{display:block;font-size:13px;font-weight:600;color:#2a3a54}
label input,label select{display:block;width:100%;margin-top:7px;margin-bottom:17px;height:45px;padding:0 13px;border:1px solid #d9e2ef;border-radius:11px;background:#fff;color:#102039;outline:0}
label input:focus,label select:focus{border-color:#5d8cee;box-shadow:0 0 0 3px #dce9ff}
.login-card .button{width:100%;margin-top:7px}
.app-shell{display:flex;min-height:100vh}
.sidebar{width:251px;flex:none;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:29px 17px;background:#fff;border-right:1px solid #e8edf6}
.brand{display:flex;align-items:center;gap:11px;padding:0 14px 36px;font-size:12px;font-weight:600;color:#123a86;line-height:1.3;letter-spacing:.03em}
.brand img{width:86px;max-height:42px;object-fit:contain}
.brand small{font-size:10px;letter-spacing:.19em;color:#7190c8}
.sidebar nav{display:grid;gap:7px}
.nav-item{width:100%;text-align:left;min-height:44px;padding:10px 15px;background:none;border:0;border-radius:11px;color:#52637e;font-size:14px}
.nav-item:hover{background:#f5f8fe}
.nav-item.active{color:#2055d1;background:#edf3ff;font-weight:600}
.sidebar-bottom{margin-top:auto;border-top:1px solid #ebeff6;padding:21px 14px 0;display:grid;gap:2px;overflow-wrap:anywhere;font-size:12px;color:#65738c}
.main-area{flex:1;min-width:0}
.mobile-bar,.mobile-nav{display:none}
.content{max-width:1500px;margin:0 auto;padding:36px clamp(22px,3vw,52px) 70px}
.page-header{display:flex;justify-content:space-between;align-items:center;gap:22px;margin-bottom:28px}
.page-header .muted{margin:0}
.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}
.stat-card{padding:24px 25px;background:#fff;border:1px solid #e8edf6;border-radius:18px;min-height:140px;display:flex;flex-direction:column;justify-content:space-between}
.stat-card span{font-size:13px;color:#697990}
.stat-card strong{font-size:36px;line-height:1;font-weight:600;color:#173f9b}
.two-column{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.surface-card{background:#fff;border:1px solid #e8edf6;border-radius:18px;padding:25px}
.surface-card .muted{margin-bottom:18px}
.card-heading{display:flex;justify-content:space-between;align-items:center}
.quick-actions{display:flex;flex-wrap:wrap;gap:10px}
.health-row{display:flex;align-items:center;gap:8px;color:#308561;font-size:13px;font-weight:600}
.status-dot{width:9px;height:9px;border-radius:50%;background:#20b176;box-shadow:0 0 0 4px #e3f7ed}
.notice{margin-bottom:19px;padding:11px 15px;border-radius:12px;background:#eaf4ff;color:#2357a6;font-size:13px}
.notice.error{background:#fff0f0;color:#b73b46}
.table-card{padding:0;overflow:hidden}
.toolbar{padding:18px 21px;display:flex;align-items:end;justify-content:space-between;gap:14px;border-bottom:1px solid #edf1f6}
.search-field{width:min(100%,330px);font-size:12px;color:#66758c}
.search-field input{margin-bottom:0;height:42px}
.table-scroll{overflow-x:auto}
table{border-collapse:collapse;width:100%;min-width:700px;text-align:left}
th{background:#fafbfe;color:#76859b;font-size:12px;font-weight:600;padding:13px 21px;white-space:nowrap}
td{padding:17px 21px;border-top:1px solid #f0f3f8;color:#304059;font-size:13px;vertical-align:middle}
tbody tr:hover{background:#fbfcff}
.primary-cell{font-weight:600;color:#172946}
.secondary-cell{font-size:12px;color:#8190a3;margin-top:3px}
.badge{display:inline-block;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:600;white-space:nowrap}
.badge.green{background:#e6f8ef;color:#178259}
.badge.blue{background:#e9f0ff;color:#285bc9}
.badge.gray{background:#eef1f5;color:#637183}
.badge.orange{background:#fff4e3;color:#a66515}
.row-action{border:1px solid #dbe6f8;background:#fff;border-radius:10px;padding:8px 11px;margin:2px;color:#2455bf;font-size:12px;font-weight:600;white-space:nowrap}
.row-action:hover{background:#eef4ff}
.empty-state{text-align:center;padding:45px;color:#71819a;font-size:13px}
.modal{width:min(94vw,470px);max-height:90vh;overflow-y:auto;padding:28px;border:1px solid #e5ebf5;border-radius:20px;box-shadow:0 20px 70px #081c3540}
.modal::backdrop{background:#1627448a}
.modal-top{display:flex;justify-content:space-between;align-items:start;gap:15px}
.modal-top h2{margin-bottom:0;font-size:21px}
.icon-button{background:#f2f5fa;border:0;border-radius:9px;width:34px;height:34px;font-size:21px;line-height:1;color:#58708d}
.modal .muted{margin:12px 0 20px}
.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:23px}
.hint{font-size:12px;color:#789;margin-top:-8px}
.code-result{display:grid;gap:9px;padding:14px;background:#edf5ff;border-radius:12px;color:#345075;font-size:12px;overflow-wrap:anywhere}
.code-result strong{font-size:16px;color:#153f9a;font-weight:600;user-select:all}
.code-result button{justify-self:start}
@media(max-width:1000px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.two-column{grid-template-columns:1fr}}
@media(max-width:700px){.sidebar{display:none}.mobile-bar{display:flex;align-items:center;gap:13px;padding:14px 20px;background:#fff;border-bottom:1px solid #e8edf6;color:#315292;font-size:12px;font-weight:600}.mobile-bar img{width:85px;height:33px;object-fit:contain}.mobile-nav{display:flex;gap:7px;overflow-x:auto;padding:9px 16px;background:#fff;border-bottom:1px solid #e8edf6}.mobile-nav-item{border:0;background:none;border-radius:10px;padding:9px 12px;color:#66758c;font-size:12px;white-space:nowrap}.mobile-nav-item.active{background:#edf3ff;color:#2456cc;font-weight:600}.content{padding:25px 16px 50px}.page-header{align-items:start;flex-direction:column;gap:16px;margin-bottom:20px}.stat-card{padding:19px;min-height:118px}.stat-card strong{font-size:29px}.surface-card{padding:20px}.table-card{padding:0}.toolbar{padding:15px}.login-card{padding:28px}}
