:root{--brand-primary:#1E63C6;--brand-secondary:#0B3C8A;--brand-accent:#C7CCD4;--brand-background:#F3F6FA;--brand-card:#FFFFFF;--brand-text:#263238;--brand-muted:#6B7785;--brand-danger:#B42318;--brand-danger-bg:#FEE4E2;--brand-warning-bg:#EAF2FF;--brand-font-heading:"Montserrat",Arial,sans-serif;--brand-font-body:"Inter",Arial,sans-serif}*{box-sizing:border-box}body{margin:0;font-family:var(--brand-font-body);color:var(--brand-text);background:var(--brand-background)}.center-page{min-height:100vh;display:grid;place-items:center;padding:24px}.card{background:var(--brand-card);border-radius:18px;box-shadow:0 10px 30px rgba(38,50,56,.08);padding:26px;width:100%;max-width:650px;border:1px solid rgba(96,125,139,.16)}.pay-card{max-width:760px}.logo{width:180px;max-height:105px;object-fit:contain;display:block;margin-bottom:12px}h1,h2,h3{font-family:var(--brand-font-heading);margin-top:0}label{display:block;font-weight:700;margin:14px 0 6px}input,select,textarea{width:100%;padding:12px;border:1px solid #d6e2e7;border-radius:12px;font-size:15px;background:#FAFCFD;color:var(--brand-text)}textarea{font-family:Consolas,monospace}.button{display:inline-block;border:0;background:var(--brand-secondary);color:white;padding:12px 18px;border-radius:12px;cursor:pointer;text-decoration:none;font-weight:700;margin-top:16px}.button.secondary{background:var(--brand-muted)}.button.danger{background:var(--brand-danger)}.button.smallBtn{padding:8px 12px;margin:0;font-size:13px}.muted{color:var(--brand-muted)}.small{font-size:13px}.message{color:var(--brand-danger);font-weight:700}.topbar{background:white;padding:14px 22px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 6px 18px rgba(38,50,56,.07)}.brandHead{display:flex;align-items:center;gap:14px}.brandHead img{width:95px;height:42px;object-fit:contain}.badge{display:inline-block;margin-left:10px;padding:5px 10px;border-radius:999px;background:var(--brand-accent);color:var(--brand-text);font-size:12px;font-weight:700}.badge.prod{background:var(--brand-danger);color:white}.layout{padding:24px;display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));gap:20px}.wide{grid-column:1/-1;max-width:none}.row{border:1px solid #e4eef2;border-radius:14px;padding:14px;margin-top:10px;display:flex;justify-content:space-between;gap:14px;align-items:center}.hidden{display:none!important}.resultBox{border:1px solid #d6e2e7;border-radius:12px;background:#FAFCFD;padding:14px;margin-top:12px}.warning{background:var(--brand-danger-bg);border:1px solid var(--brand-danger);color:var(--brand-danger);padding:12px;border-radius:12px;font-weight:700}.notice{background:var(--brand-warning-bg);border:1px solid var(--brand-accent);color:var(--brand-text);padding:12px;border-radius:12px;font-weight:700}.payBrand{display:flex;gap:18px;align-items:center;margin-bottom:20px}.payBrand img{width:150px;max-height:90px;object-fit:contain}.gridForm{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:10px;align-items:end}@media(max-width:800px){.layout{grid-template-columns:1fr;padding:14px}.topbar{align-items:flex-start;flex-direction:column;gap:8px}.gridForm{grid-template-columns:1fr}.row{flex-direction:column;align-items:flex-start}}

.adminShell{display:grid;grid-template-columns:280px 1fr;gap:0;min-height:calc(100vh - 76px)}
.adminNav{background:#fff;border-right:1px solid #e4eef2;padding:18px;position:sticky;top:0;height:calc(100vh - 76px);overflow:auto}
.adminNav button{display:block;width:100%;text-align:left;border:0;background:transparent;color:var(--brand-text);padding:12px 14px;border-radius:12px;margin-bottom:6px;font-weight:700;cursor:pointer}
.adminNav button.active,.adminNav button:hover{background:var(--brand-warning-bg);color:var(--brand-secondary)}
.adminContent{padding:24px;max-width:1380px;width:100%}
.adminTab{background:var(--brand-card);border:1px solid #e4eef2;border-radius:18px;padding:26px;box-shadow:0 10px 30px rgba(38,50,56,.06)}
.kpiGrid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:14px;margin:22px 0}
.kpi{background:#FAFCFD;border:1px solid #e4eef2;border-radius:16px;padding:18px}
.kpi strong{display:block;font-size:28px;color:var(--brand-secondary)}
.kpi span{color:var(--brand-muted);font-weight:700}
.formGrid{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:12px;align-items:end}
.cardForm{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:14px;background:#FAFCFD;border:1px solid #e4eef2;border-radius:16px;padding:18px;margin-top:12px}
.cardForm h2,.cardForm h3{grid-column:1/-1}
.cardForm textarea{min-height:80px}
.split{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(360px,1.25fr);gap:20px}
.previewCard,.diagBox{background:#FAFCFD;border:1px solid #e4eef2;border-radius:16px;padding:18px;margin-top:14px;white-space:pre-wrap;overflow:auto}
.rowActions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
@media(max-width:900px){
  .adminShell{grid-template-columns:1fr}
  .adminNav{position:relative;height:auto;border-right:0;border-bottom:1px solid #e4eef2;display:grid;grid-template-columns:repeat(2,1fr);gap:6px}
  .adminContent{padding:14px}
  .kpiGrid,.formGrid,.cardForm,.split{grid-template-columns:1fr}
}
