*{box-sizing:border-box} :root{
  --navy:#072d57;--navy2:#0a3a70;--blue:#1769ff;--bg:#f3f7fb;--text:#13203a;
  --muted:#6f7d91;--line:#dfe7f1;--green:#15b66d;--red:#ff4d57;--amber:#ffae1a;
  --purple:#7454df;--white:#fff;--shadow:0 4px 18px rgba(35,63,105,.08)
}
body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--bg);color:var(--text)}
button{font:inherit}.app-shell{display:flex;min-height:100vh}.sidebar{
  width:250px;background:linear-gradient(180deg,#07294f,#062443);color:#fff;position:fixed;
  inset:0 auto 0 0;display:flex;flex-direction:column;z-index:20;overflow-y:auto
}
.brand{display:flex;gap:12px;align-items:center;padding:22px 18px}.brand strong{display:block;font-size:28px}.brand span{font-size:12px;color:#d7e4f1}
.rta-shield{width:48px;height:58px;border:2px solid #fff;border-radius:12px 12px 20px 20px;display:grid;place-items:center;
  font-weight:800;background:linear-gradient(140deg,#1871d4,#21b269);box-shadow:inset 0 0 0 4px rgba(255,255,255,.12)}
.user-card{margin:0 16px 14px;padding:14px 0;display:flex;gap:12px;align-items:center;border-bottom:1px solid rgba(255,255,255,.12)}
.avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#d8e8f7;color:#17375d;font-weight:800}
.user-card strong,.user-card span,.user-card small{display:block}.user-card strong{font-size:13px}.user-card span{font-size:11px;color:#dce7f2;margin:3px 0}.user-card small{font-size:10px;color:#dce7f2}.user-card i{display:inline-block;width:7px;height:7px;background:#35d980;border-radius:50%;margin-right:4px}
.menu-title{font-size:10px;letter-spacing:.12em;color:#9db2c8;padding:0 18px}.menu{padding:0 10px}.nav-item,.submenu button{
  width:100%;border:0;background:transparent;color:#e6eef7;text-align:left;cursor:pointer;border-radius:7px
}.nav-item{padding:11px 10px;display:flex;align-items:center;gap:10px;font-size:12px;margin-bottom:3px}
.nav-item b{margin-left:auto}.nav-item.active{background:#1169f6;color:#fff}.nav-item:hover,.submenu button:hover{background:rgba(255,255,255,.08)}
.submenu{display:none;padding:0 0 6px 25px}.submenu.open{display:block}.submenu button{font-size:11px;padding:8px 10px}
.powered{margin-top:auto;padding:22px 18px}.powered>span{font-size:9px;color:#93aac2;letter-spacing:.12em}.nextgen-brand{display:flex;gap:10px;align-items:center;margin-top:8px}.nextgen-mark,.nextgen-mini{
  background:linear-gradient(145deg,#1c8cff,#075ac9);color:#fff;font-style:normal;font-weight:900;
  clip-path:polygon(50% 0,100% 24%,100% 76%,50% 100%,0 76%,0 24%);display:grid;place-items:center
}.nextgen-mark{width:40px;height:40px;font-size:22px}.nextgen-brand strong{display:block;font-size:18px}.nextgen-brand small{display:block;font-size:8px;letter-spacing:.22em}
.main{margin-left:250px;width:calc(100% - 250px);min-height:100vh;display:flex;flex-direction:column}.topbar{
  min-height:78px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:14px 22px;position:sticky;top:0;z-index:10
}
.topbar-left{display:flex;align-items:center;gap:18px}.menu-toggle{border:0;background:transparent;font-size:22px;cursor:pointer}.topbar h1{font-size:20px;margin:0 0 5px}.topbar p{font-size:11px;color:var(--muted);margin:0}
.topbar-actions{display:flex;align-items:center;gap:14px}.sync-pill{background:#f0fbf5;border:1px solid #d8efe2;border-radius:9px;padding:8px 12px;display:flex;gap:8px;align-items:center}.sync-pill strong,.sync-pill small{display:block}.sync-pill strong{font-size:11px;color:#13864f}.sync-pill small{font-size:9px;color:#657a6b}.status-dot{width:15px;height:15px;border-radius:50%;background:#5bd68f;box-shadow:inset 0 0 0 4px #d9f7e5}
.sync-time{padding-left:14px;border-left:1px solid var(--line)}.sync-time small,.sync-time strong{display:block}.sync-time small{font-size:9px;color:var(--muted)}.sync-time strong{font-size:10px;margin-top:2px}
.icon-btn{border:0;background:transparent;position:relative;font-size:17px;cursor:pointer}.badge{position:absolute;top:-5px;right:-7px;background:#f04545;color:#fff;border-radius:999px;font-size:9px;min-width:16px;height:16px;display:grid;place-items:center}
.content{padding:18px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px}.main-column,.right-column{display:flex;flex-direction:column;gap:16px}
.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.kpi-card,.panel{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}
.kpi-card{padding:16px;display:flex;gap:12px}.kpi-card span,.kpi-card strong,.kpi-card small,.kpi-card em{display:block}.kpi-card span{font-size:11px;font-weight:700}.kpi-card strong{font-size:20px;margin:7px 0 5px}.kpi-card small{font-size:9px;color:var(--muted)}.kpi-card em{font-style:normal;font-size:9px;color:#0da360;margin-top:7px}
.kpi-icon,.module-icon{display:grid;place-items:center;border-radius:10px;color:#fff}.kpi-icon{width:42px;height:42px;font-size:20px;flex:0 0 42px}.module-icon{width:38px;height:38px;font-size:18px}.blue{background:#1670f8}.green{background:#14b36c}.amber{background:#ffb214}.red{background:#ff4e57}.purple{background:#7152d9}.orange{background:#ff7a1a}.teal{background:#18aeaa}
.panel{padding:14px}.panel-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.panel-heading h2{font-size:11px;text-transform:uppercase;margin:0}.link-btn{border:0;background:transparent;color:#1769ff;font-size:10px;cursor:pointer}
.module-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.module-card{border:1px solid var(--line);border-radius:9px;padding:12px;display:flex;flex-direction:column;min-height:195px}.module-title{display:flex;gap:9px;align-items:center}.module-title h3{font-size:11px;margin:0}.module-card ul{font-size:9px;line-height:1.9;padding-left:17px;color:#34435d;flex:1}.secondary-btn{border:1px solid #d8e3f1;background:#fff;color:#1769ff;border-radius:7px;padding:8px 10px;font-size:10px;font-weight:600;cursor:pointer}.secondary-btn:hover{background:#f3f7ff}.small{padding:6px 9px}
.two-panel-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:16px}.tabs{display:flex;border-bottom:1px solid var(--line);margin-bottom:5px}.tab{border:0;background:transparent;padding:8px 12px;font-size:10px;cursor:pointer}.tab.active{color:#1769ff;border-bottom:2px solid #1769ff;font-weight:700}
.list-row{display:grid;grid-template-columns:1fr auto;gap:10px;padding:9px 0;border-bottom:1px solid #edf1f6}.list-row strong,.list-row small{display:block}.list-row strong{font-size:10px}.list-row small{font-size:8px;color:var(--muted);margin-top:2px}.list-row time{font-size:9px;color:#41506a}.panel-footer{display:flex;justify-content:space-between;align-items:center;margin-top:10px;font-size:9px}
.violation-layout{display:grid;grid-template-columns:200px 1fr;gap:18px;align-items:center}.donut-wrap{display:grid;place-items:center}.donut{width:145px;height:145px;border-radius:50%;background:conic-gradient(#ff4d57 0 36%,#ff9b17 36% 60%,#ffc629 60% 77%,#21b36c 77% 90%,#7759d8 90%);position:relative}.donut:after{content:"";position:absolute;inset:28px;background:#fff;border-radius:50%}.donut-center{position:absolute;inset:0;display:grid;place-content:center;text-align:center;z-index:2}.donut-center strong{font-size:20px}.donut-center span{font-size:10px}
.legend div{display:grid;grid-template-columns:10px 1fr auto;gap:7px;align-items:center;font-size:9px;margin:11px 0}.legend i{width:8px;height:8px;border-radius:50%}.red-dot{background:#ff4d57}.orange-dot{background:#ff9b17}.yellow-dot{background:#ffc629}.green-dot{background:#21b36c}.purple-dot{background:#7759d8}
.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:9px}th{text-align:left;color:#738198;font-weight:600;padding:8px;border-bottom:1px solid var(--line)}td{padding:9px 8px;border-bottom:1px solid #edf1f6}.status-pill{display:inline-block;padding:4px 7px;border-radius:999px;background:#fff0f1;color:#df3c46;font-size:8px}
.chart-area{height:190px;display:flex;gap:10px}.y-axis{display:flex;flex-direction:column;justify-content:space-between;font-size:8px;color:#7a8799;padding-bottom:24px}.bars{flex:1;display:flex;gap:11px;align-items:end;padding:10px 6px 24px;border-left:1px solid #e4eaf2;border-bottom:1px solid #e4eaf2;background:repeating-linear-gradient(to top,#fff 0,#fff 34px,#edf2f7 35px)}.bar-col{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;position:relative}.bar{width:70%;background:linear-gradient(#337cff,#165ce0);border-radius:5px 5px 0 0;min-height:10px;transition:.25s}.bar-col span{font-size:8px;color:#627087;position:absolute;bottom:-18px}
.alerts{display:flex;flex-direction:column}.alert{display:grid;grid-template-columns:28px 1fr auto;gap:8px;align-items:start;padding:12px 0;border-bottom:1px solid #edf1f6}.alert:last-child{border-bottom:0}.alert-icon{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#fff0f1}.alert strong,.alert small{display:block}.alert strong{font-size:9px}.alert small{font-size:8px;color:#596983;margin-top:3px}.alert time{font-size:8px;color:#617089}
.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.quick-grid button{border:1px solid var(--line);background:#fff;border-radius:9px;min-height:75px;font-size:8px;cursor:pointer;color:#263750}.quick-grid button:hover{background:#f5f8fc}.quick-grid span{display:block;font-size:22px;margin-bottom:7px}
.status-list>div{display:grid;grid-template-columns:26px 1fr auto;align-items:center;gap:8px;padding:12px 0;border-bottom:1px solid #edf1f6}.status-list>div:last-child{border-bottom:0}.status-list p{margin:0}.status-list strong,.status-list small{display:block}.status-list strong{font-size:9px}.status-list small{font-size:8px;color:#6a7890;margin-top:3px}.status-list b{font-size:8px}.status-icon{font-size:15px}.success{color:#16ae68}.info{color:#2173e8}.danger{color:#f14d58}
.footer{margin-top:auto;padding:14px 22px;border-top:1px solid var(--line);background:#fff;display:flex;justify-content:space-between;align-items:center;font-size:9px;color:#718099}.footer-brand{display:flex;align-items:center;gap:5px}.nextgen-mini{width:22px;height:22px}
.toast{position:fixed;right:24px;bottom:24px;background:#12233d;color:#fff;padding:12px 16px;border-radius:8px;box-shadow:var(--shadow);opacity:0;transform:translateY(12px);pointer-events:none;transition:.25s;z-index:100;font-size:12px}.toast.show{opacity:1;transform:translateY(0)}
@media(max-width:1250px){.dashboard-grid{grid-template-columns:1fr}.right-column{display:grid;grid-template-columns:repeat(3,1fr)}.module-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:980px){.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.open{transform:translateX(0)}.main{margin-left:0;width:100%}.kpi-grid{grid-template-columns:repeat(2,1fr)}.right-column{grid-template-columns:1fr}.two-panel-grid{grid-template-columns:1fr}.topbar-actions .sync-time{display:none}.module-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.content{padding:10px}.kpi-grid,.module-grid{grid-template-columns:1fr}.topbar{align-items:flex-start}.topbar-actions{gap:5px}.sync-pill{display:none}.topbar h1{font-size:16px}.violation-layout{grid-template-columns:1fr}.footer{flex-direction:column;gap:8px}.quick-grid{grid-template-columns:repeat(2,1fr)}}

/* Official NextGen Technology branding */
.nextgen-brand{display:flex;align-items:center;margin-top:8px;min-height:46px}
.nextgen-logo{display:block;width:168px;max-width:100%;height:auto;object-fit:contain;background:#fff;border-radius:8px;padding:5px 8px}
.footer-brand{display:flex;align-items:center;gap:7px}
.nextgen-logo-footer{display:inline-block;height:30px;width:auto;max-width:155px;object-fit:contain;background:#fff;border-radius:5px;padding:2px 5px}
@media(max-width:640px){.nextgen-logo{width:145px}.nextgen-logo-footer{height:27px;max-width:140px}}
