/* RM Demand Strip */
.rm-demand-strip{background:#0f172a;border:1px solid #1e293b;border-radius:14px;padding:14px 20px;margin-bottom:20px}
.rmd-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.rmd-title{font-size:13px;font-weight:700;color:#e2e8f0}
.rmd-controls{display:flex;align-items:center;gap:10px}
.rmd-link-btn{font-size:11px;color:#60a5fa;text-decoration:none;padding:4px 10px;border:1px solid #1e40af;border-radius:5px;background:rgba(37,99,235,.15)}
.rmd-link-btn:hover{background:rgba(37,99,235,.3)}
.rmd-items{display:flex;flex-wrap:wrap;gap:10px}
.rmd-item{background:#1e293b;border:1px solid #334155;border-radius:10px;padding:10px 14px;min-width:160px;flex:1}
.rmd-item.status-short{border-color:#ef4444;background:#1c0a0a}
.rmd-item.status-low{border-color:#f59e0b;background:#1c1000}
.rmd-item.status-ok{border-color:#22c55e;background:#001c0a}
.rmd-mat-name{font-size:11px;font-weight:700;color:#cbd5e1;margin-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rmd-bars{display:flex;flex-direction:column;gap:3px}
.rmd-bar-row{display:flex;align-items:center;gap:6px;font-size:10px;color:#94a3b8}
.rmd-bar-row span{white-space:nowrap;min-width:55px}
.rmd-bar-bg{flex:1;height:6px;background:#334155;border-radius:3px;overflow:hidden}
.rmd-bar-fill{height:100%;border-radius:3px;transition:width .4s}
.fill-ok{background:#22c55e}
.fill-low{background:#f59e0b}
.fill-short{background:#ef4444}
.rmd-status-badge{font-size:9px;font-weight:700;padding:1px 6px;border-radius:4px;text-transform:uppercase;float:right;margin-top:-2px}
.rmd-status-badge.ok{background:#166534;color:#bbf7d0}
.rmd-status-badge.low{background:#78350f;color:#fde68a}
.rmd-status-badge.short{background:#7f1d1d;color:#fecaca}

*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:"Inter",system-ui,sans-serif;background:#f1f5f9;font-size:13px;color:#1e293b;}

/* HEADER */
.header-bar{background:linear-gradient(135deg,#0f172a,#1e293b);padding:0 28px;height:64px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 2px 20px rgba(0,0,0,0.3);position:sticky;top:0;z-index:100;}
.hb-left{display:flex;align-items:center;gap:16px;}
.logo-img{height:38px;object-fit:contain;}
.hb-brand h2{font-size:17px;font-weight:700;color:#f1f5f9;margin:0;}
.hb-brand span{font-size:10px;color:#475569;letter-spacing:.6px;text-transform:uppercase;}
.hb-right{display:flex;align-items:center;gap:10px;}
.user-chip{display:flex;align-items:center;gap:6px;background:#1e293b;border:1px solid #334155;border-radius:20px;padding:5px 12px;font-size:11px;color:#94a3b8;}
.user-chip i{color:#3b82f6;}
.btn-logout{background:none;border:none;color:#f87171;font-size:11px;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:5px;padding:6px 10px;border-radius:8px;transition:.2s;}
.btn-logout:hover{background:#7f1d1d22;}
.live-badge{display:flex;align-items:center;gap:5px;font-size:10px;color:#22c55e;background:#14532d22;border:1px solid #166534;border-radius:20px;padding:4px 10px;}
.live-dot{width:6px;height:6px;border-radius:50%;background:#22c55e;animation:pulse 2s infinite;}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.3;}}

/* SHELL */
.shell{max-width:1400px;margin:0 auto;padding:24px 28px;}

/* WELCOME BANNER */
.welcome-banner{background:linear-gradient(135deg,#1e3a8a,#1d4ed8);border-radius:16px;padding:20px 28px;margin-bottom:22px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 4px 20px rgba(29,78,216,.25);}
.wb-left h2{font-size:20px;font-weight:800;color:white;margin-bottom:4px;}
.wb-left p{font-size:12px;color:#bfdbfe;opacity:.85;}
.wb-right{display:flex;gap:18px;align-items:center;}
.wb-stat{text-align:center;}
.wb-stat span{font-size:22px;font-weight:800;color:white;display:block;}
.wb-stat label{font-size:9px;color:#bfdbfe;text-transform:uppercase;letter-spacing:.5px;}
.wb-divider{width:1px;height:40px;background:rgba(255,255,255,.2);}
.refresh-btn{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.25);color:white;padding:7px 14px;border-radius:9px;cursor:pointer;font-size:11px;font-weight:600;display:flex;align-items:center;gap:6px;transition:.2s;}
.refresh-btn:hover{background:rgba(255,255,255,.25);}
.refresh-btn.spinning i{animation:spin .7s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}

/* KPI GRID */
.kpi-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:22px;}
.kpi-card{border-radius:14px;padding:16px 18px;position:relative;overflow:hidden;cursor:default;}
.kpi-card::after{content:"";position:absolute;right:-10px;top:-10px;width:65px;height:65px;border-radius:50%;background:rgba(255,255,255,.08);}
.kpi-card h4{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;opacity:.7;margin-bottom:6px;}
.kpi-card h2{font-size:24px;font-weight:800;}
.kpi-card p{font-size:10px;opacity:.55;margin-top:3px;}
.kpi-icon{position:absolute;right:14px;top:12px;font-size:20px;opacity:.2;}
.kc-blue{background:linear-gradient(135deg,#1e3a8a,#2563eb);color:white;}
.kc-green{background:linear-gradient(135deg,#14532d,#16a34a);color:white;}
.kc-amber{background:linear-gradient(135deg,#78350f,#d97706);color:white;}
.kc-purple{background:linear-gradient(135deg,#3b0764,#9333ea);color:white;}
.kc-red{background:linear-gradient(135deg,#7f1d1d,#dc2626);color:white;}
.kc-slate{background:linear-gradient(135deg,#1e293b,#475569);color:white;}

/* CAPACITY BAR IN KPI */
.cap-bar-wrap{margin-top:8px;height:4px;background:rgba(255,255,255,.15);border-radius:2px;}
.cap-bar{height:100%;border-radius:2px;background:rgba(255,255,255,.7);transition:width .6s;}

/* SECTION HEADER */
.sec-hdr{display:flex;align-items:center;justify-content:space-between;margin:0 0 12px;}
.sec-hdr h3{font-size:12px;font-weight:700;color:#1e293b;display:flex;align-items:center;gap:8px;}
.sec-hdr h3 i{color:#3b82f6;}
.sec-hdr span{font-size:10px;color:#94a3b8;}

/* NAV CARD GRID */
.nav-grid{display:grid;gap:12px;margin-bottom:22px;}
.nav-grid-2{grid-template-columns:repeat(2,1fr);}
.nav-grid-3{grid-template-columns:repeat(3,1fr);}
.nav-grid-4{grid-template-columns:repeat(4,1fr);}
.nav-grid-5{grid-template-columns:repeat(5,1fr);}

.nav-card{background:white;border:1.5px solid #e2e8f0;border-radius:14px;padding:20px;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:flex-start;gap:10px;text-decoration:none;color:inherit;position:relative;overflow:hidden;}
.nav-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--accent,#3b82f6);border-radius:3px 3px 0 0;transform:scaleX(0);transform-origin:left;transition:transform .25s;}
.nav-card:hover{border-color:var(--accent,#3b82f6);box-shadow:0 6px 24px rgba(0,0,0,.08);transform:translateY(-2px);}
.nav-card:hover::before{transform:scaleX(1);}
.nav-card .nc-icon{width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;background:var(--icon-bg,#eff6ff);color:var(--accent,#3b82f6);}
.nav-card .nc-title{font-size:13px;font-weight:700;color:#1e293b;}
.nav-card .nc-desc{font-size:11px;color:#64748b;line-height:1.4;}
.nav-card .nc-badge{position:absolute;top:12px;right:12px;background:var(--accent,#3b82f6);color:white;font-size:9px;font-weight:700;padding:2px 7px;border-radius:20px;}
.nav-card .nc-arrow{position:absolute;bottom:16px;right:16px;color:#cbd5e1;font-size:11px;transition:.2s;}
.nav-card:hover .nc-arrow{color:var(--accent,#3b82f6);}

/* Color variants */
.nc-blue{--accent:#2563eb;--icon-bg:#eff6ff;}
.nc-green{--accent:#16a34a;--icon-bg:#f0fdf4;}
.nc-amber{--accent:#d97706;--icon-bg:#fffbeb;}
.nc-purple{--accent:#9333ea;--icon-bg:#faf5ff;}
.nc-red{--accent:#dc2626;--icon-bg:#fef2f2;}
.nc-teal{--accent:#0891b2;--icon-bg:#ecfeff;}
.nc-indigo{--accent:#4f46e5;--icon-bg:#eef2ff;}
.nc-rose{--accent:#e11d48;--icon-bg:#fff1f2;}
.nc-orange{--accent:#ea580c;--icon-bg:#fff7ed;}

/* PANEL ROW */
.panel-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:22px;}
.panel{background:white;border-radius:14px;border:1.5px solid #e2e8f0;padding:20px;}

/* ACTIVITY TABLE */
.act-tbl{width:100%;border-collapse:collapse;}
.act-tbl thead th{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:#94a3b8;padding:0 0 8px;text-align:left;border-bottom:1px solid #f1f5f9;}
.act-tbl tbody tr{border-bottom:1px solid #f8fafc;cursor:pointer;transition:.15s;}
.act-tbl tbody tr:hover{background:#f8fafc;}
.act-tbl td{padding:9px 0;font-size:11px;color:#374151;}
.act-tbl td:first-child{color:#2563eb;font-weight:700;}
.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px;}
.tag{display:inline-flex;align-items:center;padding:2px 8px;border-radius:20px;font-size:9px;font-weight:700;}
.tag-ok{background:#dcfce7;color:#166534;}
.tag-warn{background:#fef3c7;color:#92400e;}
.tag-err{background:#fee2e2;color:#991b1b;}

/* QUICK STATS */
.qs-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.qs-card{background:#f8fafc;border-radius:10px;padding:12px 14px;}
.qs-card label{font-size:9px;color:#94a3b8;text-transform:uppercase;letter-spacing:.4px;display:block;margin-bottom:4px;}
.qs-card span{font-size:18px;font-weight:800;color:#1e293b;}
.qs-bar{margin-top:6px;height:4px;background:#e2e8f0;border-radius:2px;overflow:hidden;}
.qs-bar-fill{height:100%;border-radius:2px;background:#2563eb;transition:width .5s;}

/* TOAST */
.toast-wrap{position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;flex-direction:column;gap:8px;}
.toast{padding:10px 16px;border-radius:10px;font-size:12px;font-weight:600;display:flex;align-items:center;gap:8px;box-shadow:0 4px 20px rgba(0,0,0,.15);animation:tslide .3s ease;}
@keyframes tslide{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:translateY(0);}}
.t-success{background:#166534;color:#dcfce7;}
.t-info{background:#1e40af;color:#dbeafe;}

/* RESPONSIVE */
@media(max-width:1100px){.kpi-grid{grid-template-columns:repeat(3,1fr);}.nav-grid-4,.nav-grid-5{grid-template-columns:repeat(2,1fr);}.panel-row{grid-template-columns:1fr;}}
@media(max-width:700px){.kpi-grid{grid-template-columns:repeat(2,1fr);}.nav-grid-2,.nav-grid-3{grid-template-columns:1fr;}.welcome-banner{flex-direction:column;gap:14px;}.wb-right{flex-wrap:wrap;}}

/* Scrollbar */
::-webkit-scrollbar{width:5px;} ::-webkit-scrollbar-track{background:#f1f5f9;} ::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px;}

/* INSPECTION PANEL */
.insp-kpi-row{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:16px;}
.insp-kpi{background:#f8fafc;border-radius:10px;padding:10px 14px;text-align:center;}
.insp-kpi label{font-size:9px;color:#94a3b8;text-transform:uppercase;letter-spacing:.4px;display:block;}
.insp-kpi span{font-size:20px;font-weight:800;color:#1e293b;}
.insp-kpi.accepted span{color:#16a34a;}
.insp-kpi.rejected span{color:#dc2626;}
.insp-kpi.pending span{color:#d97706;}

/* MODAL */
.insp-modal-bg{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:1000;align-items:center;justify-content:center;}
.insp-modal-bg.open{display:flex;}
.insp-modal{background:white;border-radius:16px;padding:28px;width:min(780px,95vw);max-height:88vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.25);}
.insp-modal-hdr{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;}
.insp-modal-hdr h3{font-size:16px;font-weight:800;color:#1e293b;}
.insp-close{background:none;border:none;font-size:18px;color:#94a3b8;cursor:pointer;line-height:1;}
.insp-close:hover{color:#374151;}
.insp-section{margin-bottom:16px;}
.insp-section-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#94a3b8;margin-bottom:8px;}
.insp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.insp-field{background:#f8fafc;border-radius:8px;padding:8px 12px;}
.insp-field label{font-size:9px;color:#94a3b8;display:block;margin-bottom:2px;}
.insp-field span{font-size:12px;font-weight:600;color:#1e293b;}
.insp-result-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:20px;font-size:12px;font-weight:700;}
.insp-result-badge.Accepted{background:#dcfce7;color:#166534;}
.insp-result-badge.Rejected{background:#fee2e2;color:#991b1b;}
.insp-result-badge.Pending{background:#fef3c7;color:#92400e;}
.insp-check{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px;}
.insp-check.pass{background:#16a34a;}
.insp-check.fail{background:#dc2626;}
.insp-check.nt{background:#94a3b8;}