:root{
    --pms-bg:#f3f6fb;
    --pms-card:#ffffff;
    --pms-text:#172033;
    --pms-muted:#6b7280;
    --pms-border:#e6eaf2;
    --pms-primary:#2563eb;
    --pms-primary-dark:#1d4ed8;
    --pms-sidebar:#0f172a;
    --pms-sidebar-2:#111c34;
    --pms-sidebar-text:#dbe4f0;
    --pms-sidebar-muted:#7f8da3;
    --pms-success:#16a34a;
    --pms-warning:#f59e0b;
    --pms-danger:#dc2626;
    --pms-radius:18px;
    --pms-shadow:0 18px 45px rgba(15,23,42,.08);
}
*{box-sizing:border-box}
body{
    min-height:100vh;
    background:radial-gradient(circle at top left, rgba(37,99,235,.10), transparent 28%), var(--pms-bg);
    color:var(--pms-text);
    font-family:Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
a{text-decoration:none}.text-muted{color:var(--pms-muted)!important}
.app-shell{display:flex;min-height:100vh}.app-sidebar{width:286px;position:fixed;inset:0 auto 0 0;background:linear-gradient(180deg,var(--pms-sidebar),var(--pms-sidebar-2));color:var(--pms-sidebar-text);padding:18px 14px;overflow-y:auto;z-index:10;box-shadow:10px 0 35px rgba(15,23,42,.18)}
.brand-card{display:flex;align-items:center;gap:12px;padding:14px;border-radius:20px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.08);margin-bottom:16px}.brand-logo{width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,#60a5fa,#2563eb);display:grid;place-items:center;color:#fff;font-weight:800;box-shadow:0 12px 30px rgba(37,99,235,.35)}.brand-title{font-size:16px;font-weight:800;letter-spacing:.2px}.brand-subtitle{font-size:12px;color:var(--pms-sidebar-muted)}
.sidebar-section{font-size:11px;font-weight:800;letter-spacing:.12em;color:var(--pms-sidebar-muted);padding:18px 12px 8px;text-transform:uppercase}.nav-link-pms{display:flex;align-items:center;gap:10px;color:var(--pms-sidebar-text);padding:10px 12px;border-radius:14px;margin:3px 0;transition:.16s ease}.nav-link-pms i{width:20px;text-align:center;color:#93a4bd}.nav-link-pms:hover,.nav-link-pms.active{background:rgba(255,255,255,.10);color:#fff;transform:translateX(2px)}.nav-link-pms.active i{color:#93c5fd}.sidebar-footer{padding:14px;margin-top:20px;border-radius:18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08)}
.app-main{margin-left:286px;min-height:100vh;width:calc(100% - 286px)}.topbar{height:74px;padding:16px 28px;display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.72);backdrop-filter:blur(18px);border-bottom:1px solid rgba(230,234,242,.9);position:sticky;top:0;z-index:9}.topbar-title{font-weight:800;font-size:20px;margin:0}.topbar-subtitle{font-size:13px;color:var(--pms-muted)}.content-wrap{padding:28px}.page-title{font-size:26px;font-weight:850;letter-spacing:-.02em;margin:0}.page-subtitle{color:var(--pms-muted);margin-top:4px}.page-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.pms-card{background:var(--pms-card);border:1px solid var(--pms-border);border-radius:var(--pms-radius);box-shadow:var(--pms-shadow)}.pms-card .card-header{background:transparent;border-bottom:1px solid var(--pms-border);padding:17px 20px;font-weight:800}.pms-card .card-body{padding:20px}.pms-card .card-footer{background:#fbfcff;border-top:1px solid var(--pms-border);padding:16px 20px;border-radius:0 0 var(--pms-radius) var(--pms-radius)}
.stat-card{position:relative;overflow:hidden;padding:20px;border-radius:20px;border:1px solid var(--pms-border);background:#fff;box-shadow:var(--pms-shadow)}.stat-card:after{content:"";position:absolute;right:-34px;top:-34px;width:104px;height:104px;border-radius:50%;background:rgba(37,99,235,.08)}.stat-label{font-size:13px;color:var(--pms-muted);font-weight:700}.stat-value{font-size:34px;font-weight:850;letter-spacing:-.04em}.stat-icon{width:44px;height:44px;border-radius:15px;display:grid;place-items:center;background:#eff6ff;color:var(--pms-primary);font-size:20px}.stat-row{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.btn{border-radius:12px;font-weight:700}.btn-primary{background:var(--pms-primary);border-color:var(--pms-primary)}.btn-primary:hover{background:var(--pms-primary-dark);border-color:var(--pms-primary-dark)}.btn-light-soft{background:#f1f5f9;border:1px solid #e2e8f0;color:#334155}.form-control,.form-select{border-radius:12px;border-color:#dbe2ec;padding:.65rem .8rem}.form-control:focus,.form-select:focus{border-color:#93c5fd;box-shadow:0 0 0 .22rem rgba(37,99,235,.12)}.form-label{font-weight:750;color:#334155;font-size:13px}.table-modern{margin:0}.table-modern thead th{background:#f8fafc;color:#475569;font-size:12px;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--pms-border);padding:12px}.table-modern tbody td{padding:14px 12px;vertical-align:middle;border-color:#edf1f7}.table-modern tbody tr:hover{background:#f8fbff}.badge{border-radius:999px;padding:.48em .72em;font-weight:800}.status-badge{background:#eef2ff;color:#3730a3}.status-badge.ok,.status-badge.closed,.status-badge.selesai,.status-badge.approved{background:#dcfce7;color:#166534}.status-badge.proses,.status-badge.in_progress,.status-badge.submitted{background:#fef3c7;color:#92400e}.status-badge.critical,.status-badge.rusak,.status-badge.dibatalkan{background:#fee2e2;color:#991b1b}.priority-emergency{background:#fee2e2;color:#991b1b}.priority-urgent{background:#ffedd5;color:#9a3412}.priority-normal{background:#e0f2fe;color:#075985}.priority-low{background:#f1f5f9;color:#475569}.pm-section{background:linear-gradient(135deg,#0f172a,#1e3a8a);color:#fff;padding:13px 16px;border-radius:16px;margin:18px 0 8px;font-weight:800;box-shadow:0 12px 28px rgba(15,23,42,.14)}.pm-row{border:1px solid #edf1f7;border-radius:16px;padding:13px;margin-bottom:10px;background:#fff}.pm-row:hover{border-color:#bfdbfe;background:#fbfdff}.detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.detail-item{padding:14px;border-radius:16px;background:#f8fafc;border:1px solid #edf1f7}.detail-label{font-size:12px;color:var(--pms-muted);font-weight:800;text-transform:uppercase;letter-spacing:.04em}.detail-value{font-weight:800;margin-top:4px}.empty-state{text-align:center;padding:55px 20px}.empty-icon{width:74px;height:74px;border-radius:26px;background:#eff6ff;color:#2563eb;display:grid;place-items:center;margin:0 auto 16px;font-size:32px}
.alert{border-radius:16px;border:0;box-shadow:0 10px 30px rgba(15,23,42,.08)}.breadcrumb-lite{font-size:13px;color:var(--pms-muted);margin-bottom:8px}.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 20% 20%, rgba(37,99,235,.20), transparent 26%),linear-gradient(135deg,#0f172a,#1e3a8a)}.login-card{width:min(430px,92vw);background:rgba(255,255,255,.96);border:1px solid rgba(255,255,255,.32);border-radius:26px;padding:28px;box-shadow:0 30px 70px rgba(0,0,0,.25)}
@media(max-width:992px){.app-sidebar{position:relative;width:100%;min-height:auto}.app-shell{display:block}.app-main{margin-left:0;width:100%}.topbar{position:relative}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:576px){.content-wrap{padding:18px}.detail-grid{grid-template-columns:1fr}.topbar{height:auto;align-items:flex-start;gap:10px;flex-direction:column}.page-actions{width:100%}.page-actions .btn{width:100%}}
