/* MG Print Portal V13.7 — final visual pass
   API One shell preserved; MG premium user dashboard + colorful service templates remain the intentional exception. */

/* ---------- User/network sidebar: roomier, single clean rail ---------- */
@media (min-width:981px){
  body:not(.role-admin) .sidebar{width:256px!important}
  body:not(.role-admin) .main{margin-left:256px!important}
}
body:not(.role-admin) .sidebar nav{padding:14px 12px 18px!important;overflow-y:auto!important;overflow-x:hidden!important}
body:not(.role-admin) .sidebar .side-title{margin:10px 12px 12px!important;line-height:1.45!important}
body:not(.role-admin) .sidebar .nav-item,body:not(.role-admin) .sidebar .nav-button{min-height:46px!important;height:auto!important;padding:11px 14px!important;margin:0 0 6px!important;border-radius:10px!important;gap:11px!important;line-height:1.2!important}
body:not(.role-admin) .sidebar .nav-label{font-size:12px!important;line-height:1.2!important;white-space:normal!important}
body:not(.role-admin) .sidebar .nav-ico{width:26px!important;height:26px!important;min-width:26px!important;border-radius:8px!important}
body:not(.role-admin) .side-footer{padding:10px 12px 12px!important}
body:not(.role-admin) .side-tool,body:not(.role-admin) .side-logout-row{min-height:44px!important;border-radius:9px!important}

/* ---------- All Services: fill available dashboard width ---------- */
.api1-all-services .content.retailer-content{max-width:none!important;width:100%!important;margin:0!important;padding:18px 20px 28px!important}
.api1-all-services .simple-page.api1-simple-page{max-width:none!important;width:100%!important;margin:0!important}
.api1-all-services .simple-page>.panel{max-width:none!important;width:100%!important;margin:0 0 16px!important;border-radius:16px!important}
.api1-all-services .filter-row{grid-template-columns:minmax(190px,230px) minmax(280px,1fr) auto!important}
.v137-service-section{width:100%!important;margin:0 0 20px!important;padding:16px!important;border:1px solid #dbe7ef!important;border-radius:18px!important;background:#fff!important;box-shadow:0 8px 26px rgba(15,23,42,.055)!important}
.v137-live-section{background:linear-gradient(180deg,#effdf7 0%,#f8fffb 100%)!important;border-color:#c8efdd!important}
.v137-manual-section{background:linear-gradient(180deg,#fffaf3 0%,#fff 100%)!important;border-color:#f3dfc1!important}
.v137-service-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:0 0 14px!important}
.v137-service-section-head span{display:block;font-size:10px;font-weight:900;letter-spacing:.12em;color:#059669;margin-bottom:3px}
.v137-manual-section .v137-service-section-head span{color:#ea580c}
.v137-service-section-head h2{margin:0!important;font-size:20px!important;line-height:1.1!important}
.v137-service-section-head p{margin:5px 0 0!important;color:#64748b;font-size:11px}
.v137-service-section-head>b{font-size:11px;padding:7px 10px;border-radius:999px;background:#fff;border:1px solid #dbe7ef;color:#334155;white-space:nowrap}
.v137-service-grid{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:12px!important;width:100%!important;margin:0!important}
.v137-service-grid .mg-color-service-card{min-width:0!important;min-height:192px!important;height:100%!important;padding:14px!important;border-radius:16px!important;display:grid!important;grid-template-columns:44px minmax(0,1fr)!important;column-gap:10px!important;align-content:start!important}
.v137-service-grid .service-icon{width:44px!important;height:44px!important;border-radius:12px!important;grid-row:1/span 2!important}
.v137-service-grid .service-icon img{width:32px!important;height:32px!important;object-fit:contain!important}
.v137-service-grid .api1-service-body{display:flex!important;flex-direction:column!important;min-width:0!important;height:100%!important}
.v137-service-grid .api1-service-body>span{font-size:8px!important;font-weight:900!important;letter-spacing:.04em!important;text-transform:uppercase!important}
.v137-service-grid .api1-service-body h3{font-size:13px!important;line-height:1.22!important;margin:5px 0 5px!important;min-height:32px!important}
.v137-service-grid .api1-service-body p{font-size:9.5px!important;line-height:1.4!important;margin:0 0 12px!important;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden!important;color:#64748b!important}
.v137-service-grid .service-card-foot{margin-top:auto!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important}
.v137-service-grid .service-card-foot>b{font-size:14px!important;white-space:nowrap!important}
.v137-service-grid .service-card-foot .btn{min-height:34px!important;padding:8px 11px!important;border-radius:9px!important;font-size:10px!important;white-space:nowrap!important}
.v137-empty{grid-column:1/-1!important;margin:0!important}

/* ---------- Admin dashboard: colour in LIGHT, white KPI/module surfaces in DARK ---------- */
html[data-theme="light"] .v136-admin-kpis .stat{color:#fff!important;border:0!important}
html[data-theme="light"] .v136-admin-kpis .stat span,html[data-theme="light"] .v136-admin-kpis .stat b{color:#fff!important}
html[data-theme="dark"] .v136-admin-kpis .stat{background:#fff!important;color:#0f2740!important;border:1px solid #d7e2ec!important;box-shadow:0 8px 24px rgba(0,0,0,.18)!important}
html[data-theme="dark"] .v136-admin-kpis .stat:after{background:#eef4f8!important}
html[data-theme="dark"] .v136-admin-kpis .stat span{color:#64748b!important}
html[data-theme="dark"] .v136-admin-kpis .stat b{color:#0f2740!important}
html[data-theme="dark"] .v136-admin-module-grid .api1-admin-module{background:#fff!important;color:#0f2740!important;border-color:#d7e2ec!important}
html[data-theme="dark"] .v136-admin-module-grid .api1-admin-module span,html[data-theme="dark"] .v136-admin-module-grid .api1-admin-module small{color:#0f2740!important}

/* ---------- Login: API-One composition, MG branded ---------- */
body.login-page,body.auth-page{background:radial-gradient(circle at 18% 12%,#173f68 0,transparent 28%),radial-gradient(circle at 80% 20%,#0f5f91 0,transparent 24%),linear-gradient(135deg,#061522,#0b2438 58%,#0a1d2e)!important}
body.login-page .auth-shell,body.auth-page .auth-shell{max-width:1040px!important;margin:auto!important}
body.login-page .auth-card,body.auth-page .auth-card{border-radius:20px!important;background:#fff!important;border:1px solid rgba(255,255,255,.45)!important;box-shadow:0 30px 80px rgba(2,12,27,.34)!important}

/* Responsive card density */
@media(max-width:1500px){.v137-service-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(max-width:1180px){.v137-service-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:980px){.api1-all-services .content.retailer-content{padding:14px!important}.v137-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.api1-all-services .filter-row{grid-template-columns:1fr!important}}
@media(max-width:620px){.v137-service-section{padding:11px!important}.v137-service-grid{grid-template-columns:1fr!important}.v137-service-section-head{align-items:flex-start!important}.v137-service-grid .mg-color-service-card{min-height:170px!important}}

/* Stronger admin light/dark inversion — final layer wins over legacy shell rules */
html[data-theme="light"] body.role-admin .v136-admin-kpis .v136-kpi-blue{background:linear-gradient(135deg,#2563eb,#38bdf8)!important}
html[data-theme="light"] body.role-admin .v136-admin-kpis .v136-kpi-purple{background:linear-gradient(135deg,#7c3aed,#ec4899)!important}
html[data-theme="light"] body.role-admin .v136-admin-kpis .v136-kpi-green{background:linear-gradient(135deg,#059669,#22c55e)!important}
html[data-theme="light"] body.role-admin .v136-admin-kpis .v136-kpi-orange{background:linear-gradient(135deg,#f97316,#ef4444)!important}
html[data-theme="light"] body.role-admin .v136-admin-kpis .stat,html[data-theme="light"] body.role-admin .v136-admin-kpis .stat *{color:#fff!important}
html[data-theme="dark"] body.role-admin .v136-admin-kpis .stat{background:#fff!important;color:#102a43!important;border:1px solid #dbe5ee!important}
html[data-theme="dark"] body.role-admin .v136-admin-kpis .stat *{color:#102a43!important}
html[data-theme="dark"] body.role-admin .v136-admin-module-grid .api1-admin-module{background:#fff!important;color:#102a43!important;border-color:#dbe5ee!important}

/* API One login composition with MG branding — actual login classes */
.api1-auth-body{min-height:100vh!important;margin:0!important;background:radial-gradient(circle at 15% 8%,rgba(25,93,145,.55) 0,transparent 28%),radial-gradient(circle at 88% 18%,rgba(13,120,185,.28) 0,transparent 24%),linear-gradient(135deg,#061522 0%,#0b2438 58%,#081a2a 100%)!important;color:#0f2740!important}
.api1-auth-body .api1-login-layout{min-height:100vh!important;display:grid!important;place-items:center!important;padding:34px 18px!important;position:relative!important}
.api1-auth-body .api1-login-panel{width:min(100%,470px)!important;background:#fff!important;border:1px solid rgba(255,255,255,.72)!important;border-radius:22px!important;padding:30px!important;box-shadow:0 34px 90px rgba(1,12,25,.42)!important}
.api1-auth-body .api1-login-visual{display:flex!important;align-items:center!important;gap:12px!important;margin-bottom:18px!important}
.api1-auth-body .api1-login-logo{width:58px!important;height:58px!important;border-radius:16px!important;background:#eef7ff!important;display:grid!important;place-items:center!important;border:1px solid #cfe3f3!important}
.api1-auth-body .api1-login-logo img{max-width:48px!important;max-height:48px!important;object-fit:contain!important}
.api1-auth-body .api1-login-brand b{display:block!important;font-size:18px!important;color:#0b3150!important}.api1-auth-body .api1-login-brand small{display:block!important;margin-top:3px!important;font-size:10px!important;color:#64748b!important}
.api1-auth-body .api1-private-badge,.api1-auth-body .api1-role-hint{border-radius:10px!important}
.api1-auth-body h1{font-size:28px!important;line-height:1.1!important;margin:8px 0!important;color:#092840!important}.api1-auth-body p{color:#64748b!important;line-height:1.55!important}
.api1-auth-body label{display:grid!important;gap:7px!important;font-size:12px!important;font-weight:800!important;color:#18334a!important;margin-top:14px!important}
.api1-auth-body input{height:46px!important;border:1px solid #cddce8!important;border-radius:11px!important;padding:0 13px!important;background:#f9fcff!important;color:#0f2740!important;outline:none!important}.api1-auth-body input:focus{border-color:#0d78b9!important;box-shadow:0 0 0 3px rgba(13,120,185,.12)!important}
.api1-auth-body .api1-login-submit{width:100%!important;min-height:46px!important;margin-top:18px!important;border:0!important;border-radius:11px!important;background:linear-gradient(135deg,#0d78b9,#2457d6)!important;color:#fff!important;font-weight:900!important;box-shadow:0 12px 24px rgba(13,120,185,.24)!important}
.api1-auth-body .api1-register-btn,.api1-auth-body .api1-admin-link{border-radius:10px!important}
.api1-auth-body .api1-login-back{position:absolute!important;left:24px!important;top:22px!important;color:#e8f5ff!important}
.api1-auth-body.is-admin-login .api1-login-panel{border-top:4px solid #ff9418!important}.api1-auth-body.is-network-login .api1-login-panel{border-top:4px solid #0d78b9!important}
@media(max-width:600px){.api1-auth-body .api1-login-panel{padding:22px 18px!important;border-radius:16px!important}.api1-auth-body .api1-login-back{position:static!important;justify-self:start!important;margin-bottom:14px!important}.api1-auth-body .api1-login-layout{align-content:center!important}}
