/* MG Print Portal V13.4 — Hybrid Final UI
   API One visual shell everywhere, with two deliberate MG exceptions:
   1) network/user dashboard presentation, 2) colorful service templates. */
:root{
  --api1-sidebar:#0e1d30;
  --api1-sidebar-deep:#071827;
  --api1-topbar:#081523;
  --api1-nav-active:#18314e;
  --api1-primary:#0d78b9;
  --api1-accent:#f28a18;
  --api1-accent2:#f6a623;
  --api1-page:#eef3f8;
  --api1-panel:#ffffff;
  --api1-line:#dfe7f2;
  --api1-text:#102033;
  --api1-muted:#72839a;
  --api1-ok:#0c9f6e;
  --api1-danger:#c83c45;
}

/* ===== API One shell / global surfaces ===== */
html body.v13-api1-exact{background:var(--api1-page)!important;color:var(--api1-text)!important}
html body.v13-api1-exact .ambient-orb{display:none!important}
html body.v13-api1-exact .app-shell{background:var(--api1-page)!important}
@media(min-width:981px){
  html body.v13-api1-exact .sidebar{width:260px!important}
  html body.v13-api1-exact .main{margin-left:260px!important;width:calc(100% - 260px)!important}
}
html body.v13-api1-exact .sidebar{
  background:var(--api1-sidebar)!important;
  color:#cbd8e6!important;
  border-right:0!important;
  box-shadow:none!important;
}
html body.v13-api1-exact .sidebar .side-glow{display:none!important}
html body.v13-api1-exact .sidebar .v697-side-brand{
  min-height:82px!important;height:auto!important;padding:13px 14px!important;
  background:var(--api1-sidebar-deep)!important;border-bottom:1px solid #21384f!important;
}
html body.v13-api1-exact .sidebar .v697-side-brand img{width:45px!important;height:45px!important;filter:none!important}
html body.v13-api1-exact .sidebar .v697-side-brand b{color:#fff!important;font-size:15px!important}
html body.v13-api1-exact .sidebar .v697-side-brand small{color:#a8bdd1!important;font-size:8px!important}
html body.v13-api1-exact .sidebar .v697-side-brand em{color:#6f8baa!important;font-size:8px!important;letter-spacing:.12em!important}
html body.v13-api1-exact .sidebar>nav{padding:17px 14px 20px!important;background:var(--api1-sidebar)!important}
html body.v13-api1-exact .sidebar .side-title,
html body.v13-api1-exact .sidebar .nav-section{margin:7px 10px 12px!important;color:#6f8baa!important}
html body.v13-api1-exact .sidebar .side-title,
html body.v13-api1-exact .sidebar .nav-section span{font-size:10px!important;letter-spacing:.14em!important;font-weight:800!important;color:#6f8baa!important}
html body.v13-api1-exact .sidebar .nav-section i{background:#243b52!important}
html body.v13-api1-exact .sidebar .nav-item,
html body.v13-api1-exact .sidebar .nav-button,
html body.v13-api1-exact .sidebar .v697-side-services>summary{
  min-height:42px!important;margin:3px 0!important;padding:8px 10px!important;
  border-radius:10px!important;border:0!important;background:transparent!important;
  color:#cbd8e6!important;box-shadow:none!important;transform:none!important;
  font-size:12px!important;font-weight:750!important;
}
html body.v13-api1-exact .sidebar .nav-item:hover,
html body.v13-api1-exact .sidebar .nav-button:hover,
html body.v13-api1-exact .sidebar .v697-side-services>summary:hover{
  background:#132943!important;color:#fff!important;box-shadow:none!important;transform:none!important;
}
html body.v13-api1-exact .sidebar .nav-item.active,
html body.v13-api1-exact .sidebar .v697-side-services[open]>summary{
  background:var(--api1-nav-active)!important;color:#fff!important;border:0!important;box-shadow:none!important;
}
html body.v13-api1-exact .sidebar .nav-ico{
  width:26px!important;height:26px!important;min-width:26px!important;border-radius:8px!important;
  background:#142a42!important;border:1px solid #263f59!important;color:#cbd8e6!important;box-shadow:none!important;
}
html body.v13-api1-exact .sidebar .nav-item.active .nav-ico,
html body.v13-api1-exact .sidebar .v697-side-services[open]>summary .nav-ico{background:#203c5b!important;border-color:#355574!important;color:#fff!important}
html body.v13-api1-exact .sidebar .nav-badge{background:#193651!important;color:#d9e8f7!important;border:1px solid #345572!important}
html body.v13-api1-exact .sidebar .v697-service-subnav{padding:4px 0 8px 36px!important;gap:2px!important;background:transparent!important}
html body.v13-api1-exact .sidebar .v697-service-subnav a{
  min-height:34px!important;padding:7px 9px!important;border-radius:9px!important;color:#aebfd0!important;background:transparent!important;
  font-size:11px!important;font-weight:700!important;
}
html body.v13-api1-exact .sidebar .v697-service-subnav a:hover{background:#132943!important;color:#fff!important}
html body.v13-api1-exact .sidebar .side-footer{
  background:var(--api1-sidebar-deep)!important;border-top:1px solid #21384f!important;padding:10px 14px!important;
}
html body.v13-api1-exact .sidebar .side-tool,
html body.v13-api1-exact .sidebar .side-logout-row{
  min-height:40px!important;border-radius:9px!important;background:#10263d!important;border:1px solid #263f59!important;color:#d8e5f1!important;
}
html body.v13-api1-exact .sidebar .side-tool:hover,
html body.v13-api1-exact .sidebar .side-logout-row:hover{background:#18314e!important;color:#fff!important;border-color:#355574!important}

/* ===== API One topbar / page frame ===== */
html body.v13-api1-exact .topbar.portal-topbar,
html body.v13-api1-exact .topbar.api1-exact-topbar{
  height:64px!important;min-height:64px!important;background:var(--api1-topbar)!important;color:#fff!important;
  border:0!important;border-radius:0!important;box-shadow:none!important;padding:0 24px!important;
}
html body.v13-api1-exact .topbar a{color:#ffd18c!important}
html body.v13-api1-exact .topbar .pill{border:1px solid #38526f!important;color:#c9d8e8!important;background:transparent!important}
html body.v13-api1-exact .content{background:var(--api1-page)!important;padding:30px!important;max-width:1450px!important;width:100%!important}
html body.v13-api1-exact .main.api1-admin-dashboard .content,
html body.v13-api1-exact .main:not(.api1-user-dashboard) .content{background:var(--api1-page)!important}
html body.v13-api1-exact .panel,
html body.v13-api1-exact .stat{
  background:#fff!important;border:1px solid var(--api1-line)!important;border-radius:18px!important;
  box-shadow:0 18px 60px rgba(21,47,79,.06)!important;
}
html body.v13-api1-exact .panel{padding:22px!important;margin:18px 0!important}
html body.v13-api1-exact .stat{padding:20px!important}
html body.v13-api1-exact .stat span{color:var(--api1-muted)!important;font-size:13px!important}
html body.v13-api1-exact .stat b{color:var(--api1-text)!important;font-size:25px!important;margin-top:8px!important}
html body.v13-api1-exact .hero-line h1{color:var(--api1-text)!important}
html body.v13-api1-exact .muted{color:var(--api1-muted)!important}
html body.v13-api1-exact input,
html body.v13-api1-exact select,
html body.v13-api1-exact textarea{
  background:#fff!important;border:1px solid #cfd9e6!important;border-radius:12px!important;color:#102033!important;
}
html body.v13-api1-exact input:focus,
html body.v13-api1-exact select:focus,
html body.v13-api1-exact textarea:focus{border-color:#0c5791!important;box-shadow:0 0 0 4px rgba(12,87,145,.12)!important}
html body.v13-api1-exact .btn:not(.mg-color-service-card .btn):not(.v715-live-service-card span){border-radius:12px!important}
html body.v13-api1-exact .btn.primary:not(.mg-color-service-card .btn){background:linear-gradient(135deg,var(--api1-accent),var(--api1-accent2))!important;color:#111!important;border:0!important}
html body.v13-api1-exact table{background:#fff!important}
html body.v13-api1-exact th{background:#f8fafc!important;color:#6b7f95!important;font-size:12px!important}
html body.v13-api1-exact th,html body.v13-api1-exact td{border-bottom:1px solid #e8eef5!important;padding:15px 16px!important}
html body.v13-api1-exact tbody tr:hover{background:#fbfdff!important}
html body.v13-api1-exact .status-badge{border-radius:999px!important}

/* ===== Admin API One compact dashboard ===== */
html body.v13-api1-exact.role-admin .api1-admin-dashboard .api1-admin-hero{align-items:center!important;margin-bottom:20px!important}
html body.v13-api1-exact.role-admin .api1-admin-dashboard .api1-admin-hero h1{font-size:28px!important;line-height:1.15!important}
html body.v13-api1-exact.role-admin .api1-admin-dashboard .api1-flat-stats{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important;margin:24px 0!important}
html body.v13-api1-exact.role-admin .api1-admin-dashboard .api1-admin-module-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important}
html body.v13-api1-exact.role-admin .api1-admin-dashboard .api1-admin-module{min-height:40px!important;padding:10px 12px!important;border:1px solid #dfe7f2!important;border-radius:10px!important;background:#fff!important;color:#102033!important;text-decoration:none!important;box-shadow:none!important}
html body.v13-api1-exact.role-admin .api1-admin-dashboard .api1-admin-module:hover{background:#f7fafc!important;border-color:#cbd9e6!important}
html body.v13-api1-exact.role-admin .api1-admin-dashboard .api1-admin-module small{color:#718399!important}

/* ===== DELIBERATE EXCEPTION: keep restored MG network dashboard ===== */
html body.v13-api1-exact .api1-user-dashboard .content.retailer-content{padding:16px!important;background:linear-gradient(180deg,#edf5fb 0,#f7fafc 440px)!important;max-width:none!important}
html body.v13-api1-exact .v133-restored-dashboard .v697-welcome-card,
html body.v13-api1-exact .v133-restored-dashboard .v697-shortcuts,
html body.v13-api1-exact .v133-restored-dashboard .v703-live-services,
html body.v13-api1-exact .v133-restored-dashboard .v697-wallet-card,
html body.v13-api1-exact .v133-restored-dashboard .v697-date-card,
html body.v13-api1-exact .v133-restored-dashboard .v697-recent-card{box-sizing:border-box}

/* ===== DELIBERATE EXCEPTION: colorful MG service cards ===== */
html body.v13-api1-exact .mg-color-service-card .btn.primary{background:var(--svc-tone)!important;color:#fff!important}
html body.v13-api1-exact .v715-live-service-card span{color:inherit}

/* ===== API One auth ===== */
body.api1-auth-body{min-height:100vh;margin:0;display:grid;place-items:center;background:radial-gradient(circle at 20% 15%,#123d65,transparent 30%),#061525!important;padding:25px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:#102033}
.api1-login-layout{width:min(100%,480px)}
.api1-login-back{display:flex;align-items:center;gap:12px;padding:13px 15px;margin-bottom:14px;border:1px solid #24445e;border-radius:14px;background:#0b2238;color:#fff;text-decoration:none}
.api1-login-back>span{width:38px;height:38px;border-radius:10px;background:#ff8b00;color:#111;display:grid;place-items:center;font-weight:900}
.api1-login-back div{display:flex;flex-direction:column}.api1-login-back small{color:#90a8bc}.api1-login-back b{font-size:13px}
.api1-login-panel{background:#fff;border-radius:22px;padding:34px;box-shadow:0 26px 70px rgba(0,0,0,.30)}
.api1-login-visual{display:flex;align-items:center;gap:13px;margin-bottom:20px}
.api1-login-logo{width:68px;height:68px;border-radius:18px;background:#fff;border:1px solid #dfe7f2;display:grid;place-items:center;overflow:hidden}
.api1-login-logo img{width:58px;height:58px;object-fit:contain}.api1-login-brand b{display:block;font-size:18px;color:#0e2840}.api1-login-brand small{display:block;color:#72839a;font-size:11px;margin-top:4px}
.api1-private-badge{display:inline-block;margin:0 0 10px;padding:7px 9px;background:#fff2df;border:1px solid #ffd49a;color:#8a4c00;border-radius:999px;font-size:9px;font-weight:900;letter-spacing:.13em}
.api1-login-panel h1{margin:8px 0 6px;font-size:27px;color:#102033}.api1-login-panel>p{margin:0 0 16px;color:#72839a;font-size:13px;line-height:1.5}
.api1-login-panel label{display:block;font-weight:650;font-size:14px;margin:16px 0 7px;color:#21344a}
.api1-login-panel input{width:100%;padding:13px 14px;border:1px solid #cfd9e6;border-radius:12px;font:inherit;outline:none;background:#fff;color:#102033}
.api1-login-panel input:focus{border-color:#0c5791;box-shadow:0 0 0 4px rgba(12,87,145,.12)}
.api1-login-submit{width:100%;margin-top:20px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:12px;padding:12px 17px;font-weight:800;background:linear-gradient(135deg,#f28a18,#f6a623);color:#111;cursor:pointer}
.api1-login-alert{padding:12px 14px;border-radius:12px;margin:14px 0;font-size:13px}.api1-login-alert.bad{background:#fff0f1;color:#a52c35;border:1px solid #f3c7cb}.api1-login-alert.ok{background:#eafaf4;color:#087650;border:1px solid #bdebd9}.api1-login-alert.warn{background:#fff4dd;color:#965d00;border:1px solid #f5dba5}
.api1-login-links{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:14px;font-size:12px}.api1-login-links a{color:#1c5f9d;text-decoration:none;font-weight:750}
.api1-auth-divider{display:flex;align-items:center;gap:10px;margin:20px 0 12px;color:#8a9aac;font-size:11px}.api1-auth-divider:before,.api1-auth-divider:after{content:"";height:1px;flex:1;background:#e1e8ef}
.api1-register-btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:43px;border-radius:12px;background:#edf2f7;color:#21344a;text-decoration:none;font-weight:800}
.api1-admin-link{display:flex;align-items:center;justify-content:center;margin-top:12px;color:#6f8498;font-size:11px;text-decoration:none}.api1-admin-link:hover{color:#1c5f9d}
.api1-role-hint{margin-top:10px;padding:10px 12px;border-radius:12px;background:#f6f9fc;border:1px solid #e4ebf3;color:#60758a;font-size:11px;line-height:1.45}

@media(max-width:1180px){html body.v13-api1-exact.role-admin .api1-admin-dashboard .api1-admin-module-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:980px){
  html body.v13-api1-exact .content{padding:20px!important}
  html body.v13-api1-exact .sidebar{width:260px!important}
  html body.v13-api1-exact .main{margin-left:0!important;width:100%!important}
  html body.v13-api1-exact.role-admin .api1-admin-dashboard .api1-flat-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  html body.v13-api1-exact.role-admin .api1-admin-dashboard .api1-admin-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:620px){
  body.api1-auth-body{padding:15px}.api1-login-panel{padding:24px}.api1-login-back{margin-bottom:10px}
  html body.v13-api1-exact .content{padding:14px!important}
  html body.v13-api1-exact.role-admin .api1-admin-dashboard .api1-flat-stats,
  html body.v13-api1-exact.role-admin .api1-admin-dashboard .api1-admin-module-grid{grid-template-columns:1fr!important}
}
