:root {
  --navy-950: #071326;
  --navy-900: #0a1f3d;
  --navy-800: #0e2a52;
  --navy-700: #123663;
  --royal-700: #1d4ed8;
  --royal-600: #2563eb;
  --royal-500: #3b82f6;
  --royal-100: #dbeafe;
  --royal-50: #eff6ff;
  --blue: #2563eb;
  --green: #16a34a;
  --orange: #ea580c;
  --purple: #7c3aed;
  --white: #ffffff;
  --slate-50: #f8fafc;
  --slate-100: #f1f5f9;
  --slate-200: #e2e8f0;
  --slate-300: #cbd5e1;
  --slate-400: #94a3b8;
  --slate-500: #64748b;
  --slate-600: #475569;
  --slate-700: #334155;
  --slate-800: #1e293b;
  --slate-900: #0f172a;
  --red: #dc2626;
  --amber: #d97706;
  --radius: 14px;
  --radius-lg: 18px;
  --shadow-sm: 0 1px 2px rgba(15, 23, 42, .05);
  --shadow-md: 0 6px 16px rgba(15, 23, 42, .07);
  --shadow-lg: 0 20px 40px rgba(7, 19, 38, .16);
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  font-family: "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;
  background: var(--slate-100);
  color: var(--slate-800);
  font-size: 15px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

/* ---------- buttons ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 11px 20px; border-radius: 10px; border: 1px solid transparent;
  font-weight: 600; font-size: 14px; cursor: pointer; transition: all .16s ease;
  text-decoration: none; white-space: nowrap;
}
.btn:disabled { opacity: .55; cursor: not-allowed; }
.btn-primary { background: var(--royal-700); color: #fff; box-shadow: 0 8px 18px rgba(29, 78, 216, .28); }
.btn-primary:hover:not(:disabled) { background: var(--royal-600); transform: translateY(-1px); }
.btn-secondary { background: #fff; color: var(--slate-700); border-color: var(--slate-300); }
.btn-secondary:hover:not(:disabled) { background: var(--slate-50); border-color: var(--slate-400); }
.btn-outline-white { background: transparent; color: #fff; border-color: rgba(255,255,255,.5); }
.btn-outline-white:hover:not(:disabled) { background: rgba(255,255,255,.12); }
.btn-sm { padding: 7px 14px; font-size: 13px; border-radius: 8px; }
.btn-lg { padding: 14px 26px; font-size: 15px; border-radius: 12px; }

/* ---------- forms ---------- */
.field { margin-bottom: 18px; }
.field label { display: block; font-size: 13px; font-weight: 600; color: var(--slate-700); margin-bottom: 7px; letter-spacing: .1px; }
.input {
  width: 100%; padding: 12px 14px; border: 1px solid var(--slate-300); border-radius: 10px;
  font-size: 14px; background: #fff; color: var(--slate-800); transition: border-color .15s, box-shadow .15s;
}
.input:focus { outline: none; border-color: var(--royal-500); box-shadow: 0 0 0 3px rgba(59, 130, 246, .16); }
.password-wrap { position: relative; }
.password-wrap .input { padding-right: 46px; }
.pw-toggle {
  position: absolute; right: 6px; top: 50%; transform: translateY(-50%);
  background: none; border: none; cursor: pointer; padding: 8px; color: var(--slate-500);
}
.pw-toggle:hover { color: var(--slate-700); }
.pw-toggle svg { display: block; }

/* ---------- LOGIN ---------- */
.login-screen {
  min-height: 100vh; display: grid; grid-template-columns: 1.1fr 1fr; background: #fff;
}
.login-visual {
  position: relative; background: radial-gradient(1200px 700px at 0% 0%, #163d74 0%, #0a1f3d 55%, #071326 100%);
  color: #fff; padding: 64px 72px; display: flex; flex-direction: column; overflow: hidden;
}
.login-visual::after {
  content: ""; position: absolute; right: -160px; bottom: -160px; width: 480px; height: 480px;
  border-radius: 50%; background: rgba(59, 130, 246, .14); filter: blur(2px);
}
.login-visual::before {
  content: ""; position: absolute; right: 80px; top: 120px; width: 240px; height: 240px;
  border-radius: 50%; border: 1px solid rgba(255,255,255,.12);
}
.lv-top { position: relative; z-index: 1; display: flex; align-items: center; gap: 12px; }
.lv-top .lv-mark {
  width: 42px; height: 42px; border-radius: 11px; background: linear-gradient(135deg, var(--royal-500), var(--royal-700));
  display: grid; place-items: center; font-weight: 800; font-size: 19px; color: #fff;
  box-shadow: 0 8px 20px rgba(0,0,0,.3);
}
.lv-top .lv-title { font-weight: 800; font-size: 16px; letter-spacing: .4px; }
.lv-top .lv-sub { display: block; font-size: 11px; font-weight: 500; color: #93a7c3; letter-spacing: 1.4px; }
.lv-body { position: relative; z-index: 1; margin-top: auto; padding-bottom: 8px; }
.lv-body h1 { font-size: 40px; font-weight: 800; line-height: 1.15; margin: 0 0 14px; letter-spacing: -.4px; }
.lv-body h1 span { color: #7ea6f2; }
.lv-body p { color: #b8c6db; font-size: 16px; max-width: 440px; margin: 0 0 26px; }
.lv-companies { display: flex; gap: 10px; flex-wrap: wrap; }
.lv-companies .lv-chip {
  display: inline-flex; align-items: center; gap: 8px; background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.14); padding: 8px 14px; border-radius: 999px;
  font-weight: 700; font-size: 13px; letter-spacing: .6px;
}
.lv-companies .lv-chip img { width: 16px; height: 16px; object-fit: contain; }

.login-panel {
  display: flex; align-items: center; justify-content: center; padding: 48px;
  background: linear-gradient(180deg, #ffffff 0%, #f6f8fc 100%);
}
.login-card { width: 100%; max-width: 400px; }
.login-card .lc-eye { margin-bottom: 10px; color: var(--royal-700); }
.login-card h2 { font-size: 26px; font-weight: 800; color: var(--navy-900); margin: 0 0 6px; letter-spacing: -.3px; }
.login-card .lc-sub { color: var(--slate-500); font-size: 14px; margin: 0 0 30px; }
.login-btn { width: 100%; margin-top: 6px; }
/* ---------- COMPANY SELECT ---------- */
.company-select {
  min-height: 100vh; background: linear-gradient(180deg, #0a1f3d 0%, #0e2a52 300px, #f1f5f9 300px);
}
.cs-top { max-width: 1280px; margin: 0 auto; padding: 48px 40px 0; color: #fff; display: flex; align-items: flex-start; gap: 24px; }
.cs-top .cs-brand { display: inline-flex; align-items: center; gap: 12px; margin-bottom: 54px; }
.cs-top-actions { margin-left: auto; display: flex; align-items: center; gap: 12px; }
.cs-top-actions .btn-admin-top {
  display: inline-flex; align-items: center; gap: 8px;
  background: linear-gradient(135deg, #1d4ed8, #6d28d9); color: #fff;
  border: 1px solid rgba(255,255,255,.25); border-radius: 10px;
  padding: 10px 18px; font-weight: 700; font-size: 13px; letter-spacing: .8px; text-transform: uppercase;
  cursor: pointer; box-shadow: 0 6px 18px rgba(29,78,216,.35);
  transition: transform .12s ease, box-shadow .12s ease;
  font-family: inherit; line-height: 1;
}
.cs-top-actions .btn-admin-top:hover { transform: translateY(-1px); box-shadow: 0 8px 22px rgba(29,78,216,.45); }
.cs-top-actions .svg-ic { width: 18px; height: 18px; display: inline-flex; }
.cs-profile { display:flex; align-items:center; gap:9px; padding-left:4px; }
.cs-avatar { width:34px; height:34px; border-radius:50%; display:grid; place-items:center; background:#2563eb; color:#fff; font-weight:800; }
.cs-profile-name { color:#fff; font-size:13px; font-weight:700; line-height:1.2; white-space:nowrap; }
.cs-profile-role { color:#9db2d0; font-size:11px; margin-top:2px; }
.cs-top-actions .portal-logout-btn { color:#fff; background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.32); }
.cs-top-actions .portal-logout-btn:hover { color:#fff; background:rgba(220,38,38,.35); border-color:#fca5a5; }
.cs-brand .cs-mark {
  width: 40px; height: 40px; border-radius: 10px; background: linear-gradient(135deg, var(--royal-500), var(--royal-700));
  display: grid; place-items: center; font-weight: 800; color: #fff;
}
.cs-brand .cs-bname { font-weight: 800; letter-spacing: .3px; }
.cs-brand .cs-bsub { display: block; font-size: 10.5px; color: #9db2d0; letter-spacing: 1.4px; }
.cs-head { max-width: 720px; }
.cs-head h1 { font-size: 34px; font-weight: 800; margin: 0 0 8px; letter-spacing: -.4px; }
.cs-head h1 .brands { color: #7ea6f2; }
.cs-head .cs-tagline { color: #b8c6db; font-size: 16px; margin: 0; }
.cs-pick { max-width: 1280px; margin: 0 auto; padding: 0 40px 48px; }
.cs-pick-label { font-size: 13px; font-weight: 700; letter-spacing: 1.2px; text-transform: uppercase; color: var(--slate-500); margin: 40px 0 20px; }
.company-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }
.company-card {
  background: #fff; border: 1px solid var(--slate-200); border-radius: var(--radius-lg);
  padding: 18px 16px 16px; text-align: center; cursor: pointer; display: flex; flex-direction: column;
  box-shadow: var(--shadow-sm); transition: all .18s ease; text-decoration: none; color: inherit;
}
.company-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); border-color: var(--royal-100); }
.company-card .cc-logo {
  height: 140px; display: grid; place-items: center; margin-bottom: 10px;
}
.company-card .cc-logo img {
  max-width: 90%; max-height: 125px; width: auto; height: auto; object-fit: contain;
  filter: drop-shadow(0 6px 14px rgba(7, 19, 38, .16));
}
.company-card .cc-code { font-size: 15px; font-weight: 800; letter-spacing: 1px; color: var(--navy-900); }
.company-card .cc-name { font-size: 12.5px; color: var(--slate-500); margin: 2px 0 14px; min-height: 17px; line-height: 1.35; }
.company-card .cc-btn {
  margin-top: auto; width: 100%; padding: 9px 12px; border-radius: 9px;
  background: var(--navy-900); color: #fff; font-weight: 600; font-size: 12.5px;
  border: none; cursor: pointer; transition: background .16s;
}
.company-card .cc-btn:hover { background: var(--royal-700); }

@media (max-width: 1100px) { .company-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 720px) { .company-grid { grid-template-columns: repeat(2, 1fr); } }
/* ---------- PORTAL COMPANY (mockup) ---------- */
.portal { min-height: 100vh; display: flex; }
.sidebar {
  width: 225px; background: var(--navy-900); color: #cbd5e1; flex-shrink: 0;
  display: flex; flex-direction: column; position: sticky; top: 0; height: 100vh;
}
.sidebar-logo { padding: 18px 18px 14px; border-bottom: 1px solid rgba(255,255,255,.08); display: flex; align-items: center; gap: 11px; }
.sidebar-logo img { width: 42px; height: 42px; object-fit: contain; }
.sidebar-logo .sb-name { font-weight: 800; font-size: 13.5px; color: #fff; letter-spacing: .2px; }
.sidebar-logo .sb-sub { display: block; font-size: 9.5px; color: #8ba1c0; letter-spacing: 1px; }
.sidebar-nav-head {
  min-height: 48px;
  padding: 21px 18px 10px;
  border-bottom: 1px solid rgba(255,255,255,.1);
  color: #8fa8c4;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 1.8px;
}
.sidebar-menu { flex: 1; padding: 10px 10px; display: flex; flex-direction: column; gap: 1px; overflow-y: auto; }
.sidebar-item {
  display: flex; align-items: center; gap: 11px; padding: 9px 12px; border-radius: 9px;
  color: #cbd5e1; font-weight: 600; font-size: 13.5px; cursor: pointer; transition: all .14s; border: none; background: none; width: 100%; text-align: left; text-decoration:none;
}
.sidebar-item svg { width: 17px; height: 17px; flex-shrink: 0; color: #7f96b5; }
.sidebar-item:hover { background: rgba(255,255,255,.06); color: #fff; }
.sidebar-item.active { background: var(--royal-600); color: #fff; }
.sidebar-item.active svg { color: #fff; }
.sidebar-foot { padding: 10px 10px; border-top: 1px solid rgba(255,255,255,.08); }
.sidebar-switch {
  display: flex; align-items: center; justify-content: center; gap: 7px; width: 100%;
  padding: 9px; border-radius: 9px; border: 1px dashed rgba(255,255,255,.22);
  background: none; color: #cbd5e1; font-weight: 700; font-size: 12.5px; cursor: pointer; transition: all .14s; text-decoration:none;
}
.sidebar-switch:hover { background: rgba(255,255,255,.07); color: #fff; }

.portal-main { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.topbar {
  height: 72px; background: #fff; border-bottom: 1px solid var(--slate-200);
  display: flex; align-items: center; padding: 0 24px; gap: 20px; position: sticky; top: 0; z-index: 30;
}
.topbar-brand { display: flex; align-items: center; gap: 11px; min-width: 0; }
.topbar-brand img { width: 48px; height: 48px; object-fit: contain; }
.topbar-brand .tb-name { font-weight: 800; font-size: 16px; color: var(--navy-900); white-space: nowrap; letter-spacing: .2px; }
.topbar-search { flex: 0 1 312px; width: 312px; max-width: 312px; min-width: 0; height: 34px; position: relative; }
.topbar-search input {
  width: 100%; height: 34px; padding: 0 12px 0 36px; border-radius: 8px; border: 1px solid var(--slate-200);
  background: var(--slate-50); font-size: 13px; color: var(--slate-700);
}

/* Page-navigation anchors inherit the exact compact button/card treatment. */
.maint-dashboard-section-head.action-head > a { margin-left:auto; color:var(--royal-600); font-size:12px; font-weight:700; text-decoration:none; white-space:nowrap; }
.maint-register-alert { text-decoration:none; color:inherit; }
.topbar-search input:focus { outline: none; border-color: var(--royal-400); background: #fff; }
.topbar-search .ts-icon { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: var(--slate-400); display: grid; place-items: center; }
@media (max-width: 760px) { .topbar-search { display: none; } }
.topbar-right { margin-left: auto; display: flex; align-items: center; gap: 16px; }
.topbar-right .notif { position: relative; background: none; border: none; cursor: pointer; color: var(--slate-500); padding: 6px; }
.topbar-right .notif:hover { color: var(--slate-800); }
.topbar-right .notif .dot { position: absolute; top: 5px; right: 5px; width: 8px; height: 8px; border-radius: 50%; background: var(--red); border: 2px solid #fff; }
.user-menu { display: flex; align-items: center; gap: 10px; cursor: pointer; }
.user-menu .avatar {
  width: 36px; height: 36px; border-radius: 50%; background: linear-gradient(135deg, var(--royal-500), var(--royal-700));
  color: #fff; display: grid; place-items: center; font-weight: 700; font-size: 14px;
}
.user-menu .um-name { font-size: 13px; font-weight: 700; color: var(--navy-900); }
.user-menu .um-role { font-size: 11px; color: var(--slate-500); }
.portal-logout-btn {
  display:inline-flex; align-items:center; justify-content:center; gap:7px;
  height:34px; padding:0 12px; border:1px solid #fecaca; border-radius:8px;
  background:#fff; color:#b91c1c; font-size:11px; font-weight:850; letter-spacing:.35px;
  cursor:pointer; transition:background .14s,border-color .14s,transform .14s;
}
.portal-logout-btn .svg-ic svg { width:15px; height:15px; }
.portal-logout-btn:hover { background:#fef2f2; border-color:#f87171; transform:translateY(-1px); }
.portal-logout-btn:focus-visible { outline:3px solid rgba(220,38,38,.18); outline-offset:2px; }

.portal-content { padding: 24px 28px; max-width: none; width: 100%; margin: 0 auto; }
/* ---------- HERO ---------- */
.hero {
  position: relative; border-radius: 16px; overflow: hidden; color: #fff;
  background: linear-gradient(120deg, #0b2447 0%, #123f74 48%, #1d4ed8 100%);
  padding: 26px 36px; height: 240px; display: flex; align-items: center; justify-content: space-between; gap: 28px;
}
.hero::before {
  content: ""; position: absolute; left: -30px; bottom: -90px; width: 340px; height: 340px;
  border-radius: 50%; background: rgba(59,130,246,.16);
}
.hero::after {
  content: ""; position: absolute; right: 38%; bottom: -70px; width: 220px; height: 220px;
  border-radius: 50%; border: 1px solid rgba(255,255,255,.10);
}
.hero-text { position: relative; z-index: 1; }
.hero-kicker { font-size: 12px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: #9db8e4; margin-bottom: 8px; }
.hero-text h1 { font-size: 30px; font-weight: 800; margin: 0; letter-spacing: -.3px; line-height: 1.12; }
.hero-text h1 .company-name { display: block; font-size: 19px; font-weight: 500; color: #dbe6fb; margin-top: 6px; }
.hero-logo { position: relative; z-index: 1; flex-shrink: 0; display: flex; align-items: center; justify-content: center; }
.hero-logo img { width: 250px; max-width: 40vw; height: 140px; object-fit: contain; filter: drop-shadow(0 14px 28px rgba(0,0,0,.30)); }

/* APC premium identity. Scoped to APC so every other company keeps the approved hero. */
.hero.apc-hero {
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(340px, .9fr);
  align-items: center;
  height: 280px;
  min-height: 280px;
  gap: 34px;
  padding: 28px 48px 28px 52px;
  border: 1px solid rgba(232, 193, 83, .4);
  background:
    radial-gradient(circle at 84% 12%, rgba(75, 143, 255, .35) 0, rgba(75, 143, 255, 0) 37%),
    radial-gradient(circle at 14% 108%, rgba(0, 104, 205, .28) 0, rgba(0, 104, 205, 0) 42%),
    linear-gradient(112deg, #031b3c 0%, #062f65 46%, #0752bb 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .08),
    inset 0 -1px 0 rgba(232, 193, 83, .12),
    0 14px 32px rgba(7, 40, 83, .14);
}
.hero.apc-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  width: auto;
  height: auto;
  border-radius: inherit;
  background:
    linear-gradient(132deg, rgba(255, 255, 255, .05), transparent 24%),
    linear-gradient(90deg, transparent 0 58%, rgba(2, 22, 53, .12) 100%);
  pointer-events: none;
}
.hero.apc-hero::after {
  content: "";
  position: absolute;
  right: 4%;
  top: 2%;
  width: 40%;
  height: 96%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 213, 93, .1) 0, rgba(255, 213, 93, 0) 67%);
  pointer-events: none;
}
.apc-hero-copy {
  position: relative;
  z-index: 3;
  min-width: 0;
  text-shadow: 0 2px 12px rgba(0, 18, 49, .24);
}
.apc-hero-kicker {
  color: #c9d8ec;
  font-size: 12px;
  font-weight: 750;
  letter-spacing: 4px;
  line-height: 1;
}
.apc-hero-rule {
  display: block;
  width: 62px;
  height: 3px;
  margin: 17px 0 22px;
  border-radius: 999px;
  background: linear-gradient(90deg, #f4c84a, #fff0a2);
  box-shadow: 0 0 12px rgba(244, 200, 74, .28);
}
.apc-hero-copy h1 {
  margin: 0;
  color: #fff;
  font-size: clamp(31px, 2.3vw, 42px);
  font-weight: 850;
  letter-spacing: -.025em;
  line-height: 1.06;
}
.apc-hero-company {
  margin-top: 9px;
  color: #f2c84f;
  font-size: clamp(20px, 1.55vw, 28px);
  font-weight: 720;
  letter-spacing: -.012em;
  line-height: 1.18;
}
.apc-hero-tagline {
  margin: 18px 0 0;
  color: #dce8f6;
  font-size: 10px;
  font-weight: 650;
  letter-spacing: 3.4px;
  line-height: 1.5;
}
.apc-hero-watermark {
  position: absolute;
  left: 46%;
  top: 50%;
  z-index: 0;
  color: rgba(255, 255, 255, .045);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 330px;
  font-weight: 700;
  line-height: .72;
  transform: translate(-50%, -50%);
  pointer-events: none;
  user-select: none;
}
.apc-hero-arc {
  position: absolute;
  left: 58.5%;
  top: -58%;
  z-index: 2;
  width: 310px;
  height: 218%;
  border: 2px solid transparent;
  border-top-color: rgba(255, 221, 116, .66);
  border-left-color: rgba(229, 179, 47, .88);
  border-radius: 50%;
  box-shadow: -8px 0 24px rgba(245, 196, 55, .06);
  transform: rotate(10deg);
  pointer-events: none;
}
.apc-hero-logo {
  position: relative;
  z-index: 4;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
}
.hero.apc-hero .apc-hero-logo img {
  display: block;
  width: min(100%, 430px);
  height: 225px;
  object-fit: contain;
  filter:
    drop-shadow(0 18px 18px rgba(0, 10, 34, .42))
    drop-shadow(0 0 12px rgba(255, 205, 69, .16));
  transform: translateY(2px);
}
.topbar-brand img[src$="/apc-monogram.png"],
.sidebar-logo img[src$="/apc-monogram.png"] {
  object-fit: contain;
  filter: drop-shadow(0 3px 5px rgba(0, 0, 0, .25));
}
@media (max-width: 900px) {
  .hero.apc-hero {
    grid-template-columns: minmax(0, 1.15fr) minmax(235px, .85fr);
    gap: 18px;
    padding: 26px 28px;
  }
  .apc-hero-arc { left: 55%; }
  .apc-hero-copy h1 { font-size: 31px; }
  .apc-hero-company { font-size: 20px; }
  .apc-hero-tagline { letter-spacing: 2.4px; }
  .hero.apc-hero .apc-hero-logo img { height: 196px; }
}
@media (max-width: 700px) {
  .hero.apc-hero {
    grid-template-columns: minmax(0, 1fr);
    height: auto;
    min-height: 0;
    gap: 16px;
    padding: 24px 22px 20px;
  }
  .apc-hero-copy { text-align: left; }
  .apc-hero-rule { margin: 14px 0 17px; }
  .apc-hero-copy h1 { font-size: 30px; }
  .apc-hero-company { font-size: 21px; }
  .apc-hero-tagline { margin-top: 14px; font-size: 9px; letter-spacing: 2.25px; }
  .apc-hero-watermark { left: 50%; top: 74%; font-size: 280px; }
  .apc-hero-arc { left: 12%; top: 42%; width: 80%; height: 88%; transform: rotate(72deg); opacity: .58; }
  .hero.apc-hero .apc-hero-logo img { width: min(82%, 290px); height: 172px; }
}
@media (max-width: 430px) {
  .hero.apc-hero { padding: 23px 20px 18px; }
  .apc-hero-kicker { font-size: 11px; letter-spacing: 3.2px; }
  .apc-hero-copy h1 { font-size: 28px; }
  .apc-hero-company { font-size: 20px; }
  .apc-hero-tagline { max-width: 285px; font-size: 8.5px; letter-spacing: 2px; }
  .hero.apc-hero .apc-hero-logo img { width: min(86%, 270px); height: 158px; }
}

/* ---------- SECTION ---------- */
.section { margin-top: 28px; }
.section-head { margin-bottom: 14px; }
.section-head h2 { font-size: 18px; font-weight: 800; color: var(--navy-900); margin: 0; letter-spacing: -.2px; }
.section-head p { color: var(--slate-500); font-size: 13px; margin: 3px 0 0; }

/* ---------- APPLICATION CARDS ---------- */
.app-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.app-card {
  border-radius: 14px; padding: 20px; color: #fff; position: relative; overflow: hidden;
  display: flex; flex-direction: column; box-shadow: var(--shadow-md); transition: all .16s ease;
  text-align: left; border: none; cursor: pointer; min-height: 128px; text-decoration:none;
}
.app-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); }
.app-card .ac-icon {
  width: 46px; height: 46px; border-radius: 12px; background: rgba(255,255,255,.2);
  display: grid; place-items: center; margin-bottom: 14px;
}
.app-card .ac-icon svg { width: 23px; height: 23px; }
.app-card h3 { margin: 0 0 4px; font-size: 16px; font-weight: 800; }
.app-card p { margin: 0; font-size: 12.5px; opacity: .92; line-height: 1.45; }
.app-card .ac-arrow {
  position: absolute; right: 16px; bottom: 16px; width: 34px; height: 34px; border-radius: 50%;
  background: rgba(255,255,255,.22); display: grid; place-items: center; transition: all .16s;
}
.app-card:hover .ac-arrow { background: rgba(255,255,255,.4); transform: translateX(3px); }
.app-card.blue { background: linear-gradient(140deg, #2563eb 0%, #1d4ed8 100%); }
.app-card.green { background: linear-gradient(140deg, #16a34a 0%, #15803d 100%); }
.app-card.orange { background: linear-gradient(140deg, #f97316 0%, #ea580c 100%); }
.app-card.purple { background: linear-gradient(140deg, #8b5cf6 0%, #7c3aed 100%); }

/* ---------- DASHBOARD LAYOUT ---------- */
.dashboard { display: grid; grid-template-columns: 1fr 300px; gap: 22px; margin-top: 28px; align-items: start; }
.dash-main { min-width: 0; }
.dash-right { display: flex; flex-direction: column; gap: 18px; }
.summary-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.summary-card {
  background: #fff; border: 1px solid var(--slate-200); border-radius: var(--radius); padding: 14px;
  display: flex; align-items: center; gap: 12px; box-shadow: var(--shadow-sm);
}
.summary-card .sc-ic { width: 40px; height: 40px; border-radius: 11px; display: grid; place-items: center; flex-shrink: 0; }
.summary-card .sc-ic svg { width: 20px; height: 20px; }
.summary-card .sc-v { font-size: 21px; font-weight: 800; color: var(--navy-900); line-height: 1; }
.summary-card .sc-k { font-size: 12px; color: var(--slate-500); margin-top: 3px; }

.panels { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 16px; }
.panel { background: #fff; border: 1px solid var(--slate-200); border-radius: var(--radius); box-shadow: var(--shadow-sm); overflow: hidden; }
.panel-head { padding: 14px 16px; border-bottom: 1px solid var(--slate-100); font-weight: 700; font-size: 13.5px; color: var(--navy-900); display: flex; align-items: center; justify-content: space-between; }
.panel-head a { font-size: 12px; color: var(--royal-600); font-weight: 600; cursor: pointer; }
.panel-body { padding: 4px 16px; }
.list-row { padding: 11px 0; border-bottom: 1px solid var(--slate-100); display: flex; align-items: center; gap: 10px; }
.list-row:last-child { border-bottom: none; }
.list-row .lr-dot { width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0; }
.list-row .lr-main { flex: 1; min-width: 0; }
.list-row .lr-title { font-size: 13px; font-weight: 600; color: var(--slate-800); }
.list-row .lr-sub { font-size: 11.5px; color: var(--slate-500); }
.list-row .lr-time { font-size: 11px; color: var(--slate-400); white-space: nowrap; }

/* ---------- ACTIVE COMPANY PANEL ---------- */
.active-panel { background: #fff; border: 1px solid var(--slate-200); border-radius: var(--radius-lg); padding: 22px; text-align: center; box-shadow: var(--shadow-sm); }
/* ---------- ADMIN (kept minimal, same family) ---------- */
.admin-nav {
  display: flex; gap: 4px; background: #fff; border: 1px solid var(--slate-200);
  border-radius: 12px; padding: 6px; margin-bottom: 24px; flex-wrap: wrap; box-shadow: var(--shadow-sm);
}
.admin-nav button {
  border: none; background: none; padding: 9px 16px; border-radius: 9px; cursor: pointer;
  font-weight: 600; font-size: 14px; color: var(--slate-600); transition: all .15s;
}
.admin-nav button:hover { background: var(--slate-100); }
.admin-nav button.active { background: var(--navy-900); color: #fff; }

.table-wrap { overflow-x: auto; background: #fff; border: 1px solid var(--slate-200); border-radius: var(--radius-lg); }
table { width: 100%; border-collapse: collapse; font-size: 14px; }
th { text-align: left; padding: 12px 16px; background: var(--slate-50); color: var(--slate-600);
  font-size: 12px; text-transform: uppercase; letter-spacing: .4px; font-weight: 700; border-bottom: 1px solid var(--slate-200); }
td { padding: 12px 16px; border-bottom: 1px solid var(--slate-100); vertical-align: middle; }
tr:last-child td { border-bottom: none; }
tr:hover td { background: var(--slate-50); }
.mono { font-family: "Cascadia Code", Consolas, monospace; font-size: 13px; }

.stat-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 16px; margin-bottom: 24px; }
.stat-card { background: #fff; border: 1px solid var(--slate-200); border-radius: var(--radius-lg); padding: 18px 20px; }
.stat-card .k { font-size: 13px; color: var(--slate-500); font-weight: 600; }
.stat-card .v { font-size: 30px; font-weight: 800; color: var(--navy-900); margin-top: 2px; }

.chip { display: inline-flex; align-items: center; gap: 5px; padding: 3px 9px; border-radius: 999px; font-size: 12px; font-weight: 600; background: var(--slate-100); color: var(--slate-600); }
.chip.blue { background: var(--royal-100); color: var(--royal-700); }
.chip.green { background: #dcfce7; color: var(--green); }
.chip.amber { background: #fef3c7; color: var(--amber); }
.chip.red { background: #fee2e2; color: var(--red); }
.chip.navy { background: var(--navy-800); color: #fff; }
.card { background: #fff; border-radius: var(--radius-lg); box-shadow: var(--shadow-md); padding: 28px; border: 1px solid var(--slate-200); }

/* ---------- MODAL ---------- */
.modal-backdrop {
  position: fixed; inset: 0; background: rgba(15, 23, 42, .5); z-index: 80;
  display: grid; place-items: center; padding: 20px; overflow-y: auto;
}
.modal { background: #fff; border-radius: var(--radius-lg); width: 100%; max-width: 640px; box-shadow: var(--shadow-lg); }
.modal-head { display: flex; align-items: center; justify-content: space-between; padding: 18px 24px; border-bottom: 1px solid var(--slate-200); }
.modal-head h3 { margin: 0; font-size: 17px; color: var(--navy-900); }
.modal-body { padding: 22px 24px; max-height: 70vh; overflow-y: auto; }
.modal-foot { display: flex; justify-content: flex-end; gap: 10px; padding: 16px 24px; border-top: 1px solid var(--slate-200); }
.close-x { border: none; background: none; font-size: 24px; cursor: pointer; color: var(--slate-400); line-height: 1; }
.close-x:hover { color: var(--slate-700); }

/* ---------- TOAST ---------- */
#toast { position: fixed; bottom: 24px; right: 24px; z-index: 100; display: flex; flex-direction: column; gap: 10px; }
.toast-item {
  min-width: 240px; max-width: 360px; background: var(--slate-900); color: #fff; padding: 13px 16px;
  border-radius: 10px; font-size: 14px; box-shadow: var(--shadow-lg); animation: slidein .2s ease; display: flex; gap: 10px; align-items: flex-start;
}
.toast-item.success { background: var(--green); }
.toast-item.error { background: var(--red); }
@keyframes slidein { from { opacity: 0; transform: translateX(20px); } to { opacity: 1; transform: none; } }

/* ---------- MISC ---------- */
.muted { color: var(--slate-500); }
.small { font-size: 12.5px; }
.flex { display: flex; }
.gap-8 { gap: 8px; }
.gap-12 { gap: 12px; }
.between { justify-content: space-between; }
.items-center { align-items: center; }
.flex-wrap { flex-wrap: wrap; }
.mt-8 { margin-top: 8px; }
.mt-16 { margin-top: 16px; }
.mt-24 { margin-top: 24px; }
.mb-16 { margin-bottom: 16px; }
.text-center { text-align: center; }
.hidden { display: none !important; }
.page-head h1 { margin: 0; font-size: 22px; color: var(--navy-900); }
.page-head p { margin: 6px 0 0; color: var(--slate-500); font-size: 14px; }
.checkbox-row { display: flex; align-items: center; gap: 8px; font-size: 14px; }
.checkbox-row input { width: 16px; height: 16px; accent-color: var(--royal-600); }
.ra-section-heading, .ra-company-heading, .ra-master-group-heading, .ra-master-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.ra-company-heading { margin-bottom:6px; }
.ra-select-all-label { width:max-content; padding:6px 10px; border:1px solid var(--royal-100); border-radius:8px; background:var(--royal-50); color:var(--royal-700); font-size:11px; font-weight:800; letter-spacing:.25px; }
.ra-select-all-label input:indeterminate { accent-color:var(--orange); }
.ra-master-toolbar { justify-content:flex-start; margin-bottom:8px; }
.ra-master-group-heading { margin:10px 4px 4px; color:var(--slate-500); font-size:12px; font-weight:700; letter-spacing:.8px; text-transform:uppercase; }
.ra-master-group-heading .ra-select-all-label { text-transform:none; letter-spacing:0; }

/* ---------- RESPONSIVE ---------- */
@media (max-width: 1100px) {
  .app-grid { grid-template-columns: repeat(2, 1fr); }
  .summary-grid { grid-template-columns: repeat(2, 1fr); }
  .dashboard { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
  .panels { grid-template-columns: 1fr; }
}
@media (max-width: 820px) {
  .sidebar { position: fixed; left: -260px; top: 0; bottom: 0; z-index: 60; transition: left .2s; }
  .sidebar.open { left: 0; }
  .hamburger { display: grid !important; }
  .topbar-brand .tb-name { display: none; }
  .topbar-search { width: auto; max-width: 312px; }
}
@media (max-width: 430px) {
  .app-grid { grid-template-columns: 1fr; }
  .summary-grid { grid-template-columns: 1fr; }
  .hero { padding: 20px 20px; height: auto; }
  .hero-logo img { width: 120px; height: 80px; }
  .hero-text h1 { font-size: 22px; }
  .user-menu .um-name, .user-menu .um-role { display: none; }
}

/* hamburger button (hidden on desktop) */
.hamburger { display: none; }

.active-panel .ap-label { font-size: 12px; font-weight: 700; letter-spacing: 1.2px; text-transform: uppercase; color: var(--slate-400); margin-bottom: 16px; }
.active-panel .ap-logo { height: 90px; display: grid; place-items: center; margin-bottom: 12px; }
.active-panel .ap-logo img { max-width: 100%; max-height: 90px; object-fit: contain; }
.active-panel h3 { margin: 0; font-size: 17px; font-weight: 800; color: var(--navy-900); }
.active-panel .ap-role { font-size: 13px; color: var(--slate-500); margin: 4px 0 18px; }

.logout-link { background: none; border: none; cursor: pointer; color: var(--slate-500); font-size: 13px; font-weight: 600; }
.logout-link:hover { color: var(--red); }

@media (max-width: 430px) { .company-grid { grid-template-columns: 1fr; } }

.login-err { color: var(--red); min-height: 20px; font-size: 13px; margin: -6px 0 10px; }

@media (max-width: 900px) {
  .login-screen { grid-template-columns: 1fr; }
  .login-visual { display: none; }
  .login-panel { min-height: 100vh; }
}

/* ---------- PRODUKSI: SIDEBAR SUBMENU ---------- */
.prod-group { display: flex; flex-direction: column; }
.prod-parent.expanded { background: rgba(255,255,255,.07); color:#fff; }
.prod-caret { margin-left:auto; font-style:normal; color:#7f96b5; transition: transform .16s ease; display:grid; place-items:center; }
.prod-parent.expanded .prod-caret { transform: rotate(90deg); color:#fff; }
.prod-sub { display:flex; flex-direction:column; padding-left: 6px; }
.prod-sub-item { display:flex; align-items:center; gap:10px; padding: 8px 12px; margin-left: 26px; border-radius: 8px; border:none; background:none; color:#94a3b8; font-weight:600; font-size:12.5px; cursor:pointer; text-align:left; transition: all .14s; width: calc(100% - 26px); text-decoration:none; }
.prod-sub-item:hover { background: rgba(255,255,255,.05); color:#fff; }
.prod-sub-item.active { background: rgba(37,99,235,.35); color:#fff; }
.prod-subsection-title { margin:8px 12px 2px 38px; color:#64748b; font-size:10px; font-weight:800; letter-spacing:1px; }
.prod-master-link.active { background:var(--royal-600); color:#fff; }
.prod-master-link .prod-caret { transform:none; }

/* ---------- PRODUKSI: PAGE LAYOUT ---------- */
.prod-page { max-width: 1180px; margin: 0 auto; }
.prod-page-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom: 20px; }
.prod-crumb { font-size: 11.5px; font-weight:600; color: var(--slate-400); letter-spacing:.6px; text-transform:uppercase; margin-bottom: 4px; }
.prod-crumb span.sep { margin: 0 6px; color: var(--slate-300); }
.prod-crumb span.cur { color: var(--royal-600); }
.prod-page-head h1 { margin:0; font-size: 24px; font-weight:800; letter-spacing:-.3px; color: var(--navy-900); }
.prod-page-head p { margin: 4px 0 0; color: var(--slate-500); font-size: 13.5px; }
.prod-page-badge { display:inline-flex; align-items:center; gap:8px; padding: 7px 14px; border-radius: 999px; background: var(--royal-50); color: var(--royal-700); font-weight:800; font-size:11.5px; letter-spacing:1.4px; white-space:nowrap; }
.prod-page-badge svg { width:15px; height:15px; }
.prod-back-btn { display:inline-flex; align-items:center; justify-content:center; background:none; border:1px solid var(--slate-300); color:var(--slate-600); border-radius:9px; padding:8px 14px; font-weight:600; font-size:12.5px; cursor:pointer; transition:all .14s; text-decoration:none; }
.prod-back-btn:hover { background: var(--slate-50); color: var(--navy-900); border-color: var(--slate-400); }
.prod-stats { display:grid; grid-template-columns: repeat(4, 1fr); gap:14px; margin-bottom: 18px; }
.prod-stat-card { display:flex; align-items:center; gap:12px; background:#fff; border:1px solid var(--slate-200); border-radius: var(--radius); padding:14px; box-shadow: var(--shadow-sm); }
.prod-stat-ic { width:40px; height:40px; border-radius:11px; display:grid; place-items:center; flex-shrink:0; }
.prod-stat-ic svg { width:20px; height:20px; }
.prod-stat-v { font-size:21px; font-weight:800; color: var(--navy-900); line-height:1; margin-bottom:3px; }
.prod-stat-k { font-size:12px; color: var(--slate-500); }
.prod-grid-2 { display:grid; grid-template-columns: 1fr 340px; gap:16px; align-items:start; }
.prod-main-col, .prod-side-col { display:flex; flex-direction:column; gap:16px; min-width:0; }
.prod-card { background:#fff; border:1px solid var(--slate-200); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); padding:18px; }
.prod-card-head { font-size:13px; font-weight:800; letter-spacing:.8px; text-transform:uppercase; color: var(--navy-900); margin-bottom:14px; }
.master-management { padding:0; overflow:hidden; }
.master-management-actions { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:20px 22px; border-bottom:1px solid var(--slate-200); }
.master-management-title { color:var(--navy-900); font-size:18px; font-weight:800; margin-bottom:3px; }
.master-management-tabs { display:flex; gap:4px; padding:14px 18px 0; overflow-x:auto; border-bottom:1px solid var(--slate-200); }
.master-management-tab { display:flex; align-items:center; gap:8px; padding:10px 13px; border:0; border-bottom:3px solid transparent; background:none; color:var(--slate-500); font-size:12px; font-weight:800; cursor:pointer; white-space:nowrap; text-decoration:none; }
.master-management-tab span { min-width:22px; padding:2px 6px; border-radius:999px; background:var(--slate-100); color:var(--slate-600); font-size:11px; }
.master-management-tab.active { color:var(--royal-700); border-bottom-color:var(--royal-600); }
.master-management-tab.active span { background:var(--royal-50); color:var(--royal-700); }
.master-management-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; padding:18px; }
.master-management-card { display:flex; align-items:center; gap:12px; min-width:0; padding:14px; border:1px solid var(--slate-200); border-radius:12px; background:#fff; color:var(--navy-900); text-align:left; cursor:pointer; transition:all .15s ease; text-decoration:none; }
.master-management-card:hover { border-color:var(--royal-400); box-shadow:var(--shadow-sm); transform:translateY(-1px); }
.master-management-card-icon { width:38px; height:38px; display:grid; place-items:center; flex:0 0 auto; border-radius:10px; background:var(--royal-50); color:var(--royal-600); }
.master-management-card-icon svg { width:18px; height:18px; }
.master-management-card-copy { display:flex; flex-direction:column; gap:3px; min-width:0; flex:1; }
.master-management-card-copy strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:13px; }
.master-management-card-copy small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--slate-400); font-size:11px; }
.master-management-card-arrow { color:var(--slate-400); font-size:20px; }
.prod-form-card .prod-form-grid { display:grid; grid-template-columns: repeat(3, 1fr); gap:12px 14px; }
.prod-form-card .field { margin-bottom:0; }
.prod-form-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:16px; }
.prod-table-wrap { overflow-x:auto; }
.prod-table { width:100%; border-collapse:collapse; font-size:13px; }
.prod-table th { text-align:left; font-size:11px; letter-spacing:.6px; text-transform:uppercase; color:var(--slate-400); padding:6px 8px; border-bottom:1px solid var(--slate-200); font-weight:700; }
.prod-table td { padding:8px; border-bottom:1px solid var(--slate-100); color:var(--slate-600); }
.prod-panel { background:#fff; border:1px solid var(--slate-200); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); }
.prod-panel-head { padding:14px 16px; border-bottom:1px solid var(--slate-200); font-size:12px; font-weight:800; letter-spacing:.6px; text-transform:uppercase; color:var(--navy-900); }
.prod-panel-body { display:flex; flex-direction:column; }
.prod-row { display:flex; gap:10px; padding:11px 14px; border-bottom:1px solid var(--slate-100); align-items:center; }
.prod-row:last-child { border-bottom:none; }
.prod-row-ic { width:32px; height:32px; border-radius:9px; background:var(--slate-100); color:var(--slate-500); display:grid; place-items:center; flex-shrink:0; }
.prod-row-ic svg { width:16px; height:16px; }
.prod-row-main { flex:1; min-width:0; }
.prod-row-t { font-size:13px; font-weight:700; color:var(--navy-900); }
.prod-row-s { font-size:12px; color:var(--slate-500); margin-top:1px; }
.prod-row-r { font-size:12px; font-weight:700; color:var(--slate-500); white-space:nowrap; }
.prod-empty { padding:14px; text-align:center; color:var(--slate-400); font-size:13px; }
.prod-empty-card, .prod-placeholder { padding:46px 22px; text-align:center; border:1px dashed var(--slate-300); border-radius: var(--radius-lg); background:#fff; color: var(--slate-500); }
.prod-empty-ic, .prod-ph-ic { width:54px; height:54px; margin:0 auto 12px; border-radius:14px; background: var(--royal-50); color: var(--royal-600); display:grid; place-items:center; }
.prod-empty-ic svg, .prod-ph-ic svg { width:26px; height:26px; }
.prod-empty-card h3, .prod-placeholder h3 { margin:0 0 4px; font-size:16px; color: var(--navy-900); }
.prod-empty-card p, .prod-placeholder p { margin:0; font-size:13px; color: var(--slate-500); }

@media (max-width: 1100px) { .prod-stats { grid-template-columns: repeat(2, 1fr); } .prod-grid-2 { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .prod-stats { grid-template-columns: 1fr; } .prod-form-card .prod-form-grid { grid-template-columns: 1fr; } .prod-page-head { flex-direction: column; } }
@media (max-width: 900px) { .master-management-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width: 600px) { .master-management-grid { grid-template-columns:1fr; } .master-management-actions { align-items:flex-start; flex-direction:column; } }


/* environment badge (PREVIEW only) */
.env-badge { display:inline-flex; align-items:center; padding: 3px 10px; border-radius: 999px; background: #f97316; color:#fff; font-size:10.5px; font-weight:800; letter-spacing:1.2px; margin-left:8px; text-transform:uppercase; white-space:nowrap; box-shadow: 0 0 0 3px rgba(249,115,22,.18); }

/* standard icon wrapper (svg inline through innerHTML) */
.svg-ic { display:inline-flex; align-items:center; justify-content:center; }
.svg-ic svg { width:16px; height:16px; }
.sidebar-switch .svg-ic svg, .sidebar-item .svg-ic svg { width:18px; height:18px; color:inherit; }
/* Export Master � compact & distinct color (NOT primary/secondary) */
.btn-export { background:#0e7490; color:#fff; box-shadow:0 6px 14px rgba(14,116,144,.25); }
.btn-export:hover { background:#155e75; transform:translateY(-1px); }

/* Master action buttons - compact, same height, distinct colors */
.btn-master-add, .btn-export, .btn-master-upload { display:inline-flex; align-items:center; justify-content:center; gap:6px; height:36px; padding:0 14px; border-radius:9px; border:1px solid transparent; font-size:13.5px; font-weight:600; letter-spacing:.2px; cursor:pointer; white-space:nowrap; color:#fff; box-shadow:none; text-decoration:none; transition:all .15s ease; }
.btn-master-add .svg-ic svg, .btn-export .svg-ic svg, .btn-master-upload .svg-ic svg { width:16px; height:16px; }
.btn-master-add:hover, .btn-export:hover, .btn-master-upload:hover { transform:translateY(-1px); }
.btn-master-add { background: var(--green); }
.btn-master-add:hover { background:#15803d; }
.btn-export { background:#0e7490; }
.btn-export:hover { background:#155e75; box-shadow:none; }
.btn-master-upload { background: var(--orange); }
.btn-master-upload:hover { background:#c2410c; }


/* Compact contextual navigation shared by company application headers. */
.topbar.maint-topbar .header-context-back,.topbar .header-context-back{display:inline-flex;align-items:center;justify-content:center;min-height:33px;height:33px;padding:5px 11px;white-space:nowrap;font-size:12px;line-height:1.2}
/* Input Driver — scoped to this module so no other production form changes. */
.input-driver-module { display:flex; flex-direction:column; gap:16px; }
.input-driver-form .prod-form-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px 14px; }
.input-driver-form .field { min-width:0; margin-bottom:0; }
.input-driver-form .field label { display:block; margin-bottom:6px; color:var(--slate-600); font-size:12px; font-weight:700; }
.input-driver-form .input[readonly] { background:var(--slate-50); color:var(--slate-500); }
.input-driver-status { margin:12px 0 0; }
.input-driver-error { color:#b91c1c !important; }
.input-driver-table { min-width:850px; }
.input-driver-table td { vertical-align:top; }
.input-driver-table td small { display:block; margin-top:3px; color:var(--slate-400); }
.input-driver-people { display:flex; flex-direction:column; gap:8px; min-width:260px; }
.input-driver-person { display:flex; align-items:center; justify-content:space-between; gap:10px; padding-bottom:8px; border-bottom:1px solid var(--slate-100); }
.input-driver-person:last-child { padding-bottom:0; border-bottom:0; }
.input-driver-person > span { min-width:0; }
.input-driver-person strong { display:block; color:var(--navy-900); }
.btn-small { padding:6px 9px; border-radius:7px; font-size:10px; white-space:nowrap; }
.btn-danger { background:#fff; border-color:#fecaca; color:#b91c1c; box-shadow:none; }
.btn-danger:hover:not(:disabled) { background:#fef2f2; border-color:#f87171; }
@media (max-width:1100px) { .input-driver-form .prod-form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:600px) { .input-driver-form .prod-form-grid { grid-template-columns:1fr; } }

/* Input Driver workbook — scoped visual approved for this page only. */
.prod-page.input-driver-page { max-width:none; }
.prod-page.input-driver-page > .prod-page-head { display:none; }
.id-workbook-page { display:flex; flex-direction:column; gap:16px; color:var(--navy-900); }
.id-paper { overflow:hidden; padding:18px; border:1px solid #dbe5f0; border-radius:14px; background:#fff; box-shadow:0 7px 24px rgba(15,45,82,.07); }
.id-paper-heading, .id-section-heading { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:0 2px 14px; }
.id-title-block { display:flex; align-items:center; gap:14px; min-width:0; }
.id-title-icon { display:grid; place-items:center; width:50px; height:50px; flex:0 0 auto; border-radius:12px; color:#0751a0; background:linear-gradient(145deg,#eaf4ff,#d9ebff); }
.id-title-icon svg { width:31px; height:31px; }
.id-paper h2, .id-section-heading h2 { margin:0; color:#07366f; font-size:24px; font-weight:850; letter-spacing:.3px; }
.id-paper-heading p, .id-section-heading p { margin:3px 0 0; color:#536987; font-size:13px; }
.id-clock-badge { display:flex; align-items:center; gap:10px; min-height:48px; padding:0 18px; border:1px solid #d5e1ef; border-radius:9px; background:#eef5fd; color:#083b78; font-size:13px; white-space:nowrap; }
.id-clock-icon { display:grid; place-items:center; color:#0751a0; }
.id-clock-icon svg { width:20px; height:20px; }
.id-date-strip { display:flex; align-items:center; min-height:66px; padding:8px 14px; border:1px solid #d6e5f5; border-bottom:0; background:linear-gradient(105deg,#f5faff,#e6f2ff); }
.id-date-field { display:flex; align-items:center; gap:14px; color:#0d315d; font-size:13px; font-weight:800; }
.id-date-input { width:220px; height:40px; padding:0 12px; border:1px solid #cbd9ea; border-radius:8px; background:#fff; color:#102f55; font-family:inherit; font-size:14px; font-weight:700; outline:none; }
.id-date-input:focus { border-color:#2b7bd2; box-shadow:0 0 0 3px rgba(43,123,210,.13); }
.id-table-scroll { width:100%; overflow-x:auto; }
.id-sheet-table { width:100%; min-width:1450px; table-layout:fixed; border-collapse:collapse; font-size:12.5px; }
.id-sheet-table th { height:43px; padding:8px 7px; border:1px solid #75a5cf; background:linear-gradient(#3685c3,#2873b2); color:#fff; font-size:12px; font-weight:800; text-align:center; white-space:nowrap; }
.id-sheet-table td { height:47px; padding:5px 7px; border:1px solid #d5e0eb; background:#fff; color:#1b385d; vertical-align:middle; }
.id-sheet-table tbody tr:nth-child(even) td { background:#fbfdff; }
.id-sheet-table tbody tr.is-editing td { background:#fff9e7; }
.id-input-table th:nth-child(1), .id-input-table td:nth-child(1) { width:42px; }
.id-input-table th:nth-child(2), .id-input-table td:nth-child(2) { width:145px; }
.id-input-table th:nth-child(3), .id-input-table td:nth-child(3) { width:100px; }
.id-input-table th:nth-child(4), .id-input-table td:nth-child(4) { width:125px; }
.id-input-table th:nth-child(5), .id-input-table td:nth-child(5),
.id-input-table th:nth-child(7), .id-input-table td:nth-child(7),
.id-input-table th:nth-child(9), .id-input-table td:nth-child(9) { width:178px; }
.id-input-table th:nth-child(6), .id-input-table td:nth-child(6),
.id-input-table th:nth-child(8), .id-input-table td:nth-child(8),
.id-input-table th:nth-child(10), .id-input-table td:nth-child(10) { width:120px; }
.id-input-table th:nth-child(11), .id-input-table td:nth-child(11) { width:80px; }
.id-cell-input { display:block; width:100%; min-width:0; height:34px; padding:0 9px; border:1px solid #cedbea; border-radius:7px; background:#fff; color:#152f51; font-size:12.5px; outline:none; }
.id-cell-input:focus { border-color:#2779cf; box-shadow:0 0 0 2px rgba(39,121,207,.13); }
.id-cell-input.id-readonly { border-color:transparent; background:transparent; color:#344f70; cursor:default; }
.id-cell-input.id-readonly:focus { box-shadow:none; }
.id-row-number { text-align:center; font-weight:800; }
.id-row-action { text-align:center; }
.id-icon-button { display:inline-grid; place-items:center; width:32px; height:32px; padding:0; border:0; border-radius:7px; color:#fff; font-size:19px; line-height:1; cursor:pointer; transition:transform .12s,filter .12s; }
.id-icon-button:hover { transform:translateY(-1px); filter:brightness(.96); }
.id-icon-button.danger { background:#ef5350; box-shadow:0 3px 8px rgba(239,83,80,.2); }
.id-icon-button.edit { background:#2778d0; box-shadow:0 3px 8px rgba(39,120,208,.2); }
.id-icon-button.void { background:#7c3aed; box-shadow:0 3px 8px rgba(124,58,237,.22); font-size:12px; font-weight:900; }
.id-inline-actions { display:flex; align-items:center; justify-content:center; gap:7px; }
.id-sheet-footer { display:flex; align-items:center; justify-content:space-between; gap:16px; padding-top:14px; }
.id-sheet-footer-left, .id-sheet-footer-right { display:flex; align-items:center; gap:12px; }
.id-action-button { min-height:40px; padding:0 20px; border-radius:8px; font-size:12px; font-weight:800; }
.id-sheet-status { color:#61758e; font-size:12px; }
.id-sheet-status.error { color:#b91c1c; }
.id-sheet-status.editing { color:#a16207; font-weight:700; }
.id-assignment-section { padding-bottom:14px; }
.id-section-heading { align-items:flex-end; }
.id-section-heading h2 { font-size:18px; }
.id-period-actions { display:flex; align-items:center; justify-content:flex-end; gap:8px; flex-wrap:wrap; }
.id-form-lock-help { display:block; width:100%; margin-top:4px; color:var(--slate-500); font-weight:600; }
.id-form-status { display:inline-flex; align-items:center; min-height:36px; padding:0 12px; border-radius:999px; font-size:12px; font-weight:800; letter-spacing:.02em; border:1px solid; }
.id-form-status.open { color:#166534; background:#f0fdf4; border-color:#86efac; }
.id-form-status.locked { color:#991b1b; background:#fef2f2; border-color:#fca5a5; }
.id-form-select { min-width:310px; }
.id-form-meta { display:flex; gap:18px; flex-wrap:wrap; margin-top:6px; color:#385271; font-size:13px; }
.id-no-actual-form { padding:22px; border:1px dashed #b8c9dc; border-radius:10px; background:#f8fbff; color:#55708d; text-align:center; }
.id-period-control { border-left:4px solid #d97706; }
.id-toolbar-button { min-height:36px; padding:0 12px; border-radius:8px; color:#fff; border:0; font-size:10.5px; font-weight:850; letter-spacing:.2px; }
.id-toolbar-button[hidden], .id-batch-select[hidden] { display:none !important; }
.id-toolbar-button.excel { background:#15803d; }
.id-toolbar-button.pdf { background:#c2413b; }
.id-toolbar-button.close-period { background:#b45309; }
.id-toolbar-button.reopen-period { background:#0759a7; }
.id-toolbar-button:disabled { opacity:.55; cursor:wait; }
.id-batch-select { width:260px; height:36px; margin:0; border-radius:8px; font-size:11px; }
.id-list-filter-bar { display:flex; justify-content:flex-end; padding:10px 0 12px; border-top:1px solid #e5edf6; }
.id-list-filters { display:flex; align-items:flex-end; justify-content:flex-end; gap:10px; flex-wrap:wrap; }
.id-list-filters label { display:flex; flex-direction:column; gap:4px; color:#385271; font-size:10.5px; font-weight:750; }
.id-filter-control { width:175px; height:38px; margin:0; padding:0 10px; border-radius:8px; font-size:12px; }
.id-list-filters label:nth-child(2) .id-filter-control { width:210px; }
.id-empty { padding:35px 18px; border:1px solid #dbe5ef; background:#fbfdff; color:#667b94; text-align:center; font-size:13px; }
.id-empty.error { color:#b91c1c; }
.id-list-summary { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:14px 5px 2px; color:#2f4b6e; font-size:12px; }
.id-list-summary strong { color:#102f55; }
.id-assignment-table { min-width:1740px; }
.id-assignment-table td { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.id-assignment-table th:nth-child(1), .id-assignment-table td:nth-child(1) { width:42px; }
.id-assignment-table th:nth-child(2), .id-assignment-table td:nth-child(2) { width:92px; }
.id-assignment-table th:nth-child(3), .id-assignment-table td:nth-child(3) { width:135px; }
.id-assignment-table th:nth-child(4), .id-assignment-table td:nth-child(4) { width:95px; }
.id-assignment-table th:nth-child(5), .id-assignment-table td:nth-child(5) { width:150px; }
.id-assignment-table th:nth-child(6), .id-assignment-table td:nth-child(6),
.id-assignment-table th:nth-child(8), .id-assignment-table td:nth-child(8),
.id-assignment-table th:nth-child(10), .id-assignment-table td:nth-child(10) { width:145px; }
.id-assignment-table th:nth-child(7), .id-assignment-table td:nth-child(7),
.id-assignment-table th:nth-child(9), .id-assignment-table td:nth-child(9),
.id-assignment-table th:nth-child(11), .id-assignment-table td:nth-child(11) { width:110px; }
.id-assignment-table th:nth-child(12), .id-assignment-table td:nth-child(12) { width:88px; text-align:center; }
.id-assignment-table th:nth-child(13), .id-assignment-table td:nth-child(13) { width:125px; }
.id-status-badge { display:inline-flex; align-items:center; justify-content:center; min-width:62px; padding:4px 8px; border-radius:999px; font-size:10px; font-weight:900; letter-spacing:.5px; }
.id-status-badge.open { color:#166534; background:#dcfce7; }
.id-status-badge.locked { color:#92400e; background:#fef3c7; }
.id-status-badge.void { color:#991b1b; background:#fee2e2; }

@media (max-width:900px) {
  .id-paper-heading, .id-section-heading { align-items:flex-start; flex-direction:column; }
  .id-clock-badge { width:100%; justify-content:center; }
  .id-list-filters { width:100%; justify-content:flex-start; }
  .id-period-actions { width:100%; justify-content:flex-start; }
}
@media (max-width:600px) {
  .id-paper { padding:12px; border-radius:10px; }
  .id-paper h2 { font-size:20px; }
  .id-date-field { width:100%; align-items:flex-start; flex-direction:column; gap:6px; }
  .id-date-input, .id-filter-control, .id-list-filters label, .id-list-filters label:nth-child(2) .id-filter-control { width:100%; }
  .id-sheet-footer, .id-sheet-footer-left, .id-sheet-footer-right { width:100%; align-items:stretch; flex-direction:column; }
  .id-action-button { width:100%; }
  .id-list-summary { align-items:flex-start; flex-direction:column; }
  .id-period-actions, .id-toolbar-button, .id-batch-select { width:100%; }
}

/* Input Produksi: compact paper/table model based on the source workbook. */
.ip-module { display:grid; gap:16px; }
.ip-form { display:grid; gap:14px; }
.ip-section { border:1px solid #d9e3f1; border-radius:10px; padding:12px; background:#fff; }
.ip-section h3 { margin:0 0 10px; color:#123d73; font-size:14px; text-transform:uppercase; letter-spacing:.04em; }
.ip-auto { background:#f5f9ff; }
.ip-grid { display:grid; grid-template-columns:repeat(4,minmax(150px,1fr)); gap:10px 12px; }
.ip-grid .field { min-width:0; }
.ip-grid .field label { display:block; margin-bottom:5px; font-size:12px; font-weight:700; color:#27466b; }
.ip-grid .field small { display:block; margin-top:3px; }
.ip-auto .input[readonly] { background:#edf4fd; color:#123d73; font-weight:600; }
.ip-status { border-radius:8px; padding:9px 11px; font-size:13px; background:#f4f6f8; }
.ip-status.success { color:#166534; background:#ecfdf3; border:1px solid #bbf7d0; }
.ip-status.warning { color:#854d0e; background:#fffbeb; border:1px solid #fde68a; }
.ip-status.error { color:#991b1b; background:#fef2f2; border:1px solid #fecaca; }
.ip-table { min-width:1050px; }
.ip-table td,.ip-table th { white-space:nowrap; }
.ip-fin-status { display:inline-flex; padding:3px 8px; border-radius:999px; font-size:11px; font-weight:800; }
.ip-fin-status.complete { color:#166534; background:#dcfce7; }
.ip-fin-status.pending { color:#854d0e; background:#fef3c7; }
@media (max-width:1100px){.ip-grid{grid-template-columns:repeat(2,minmax(150px,1fr));}}
@media (max-width:640px){.ip-grid{grid-template-columns:1fr;}}

/* Input Produksi final compact workpaper */
[hidden]{display:none!important}
.ip-compact-module{gap:10px}
.ip-paper-shell{border:1px solid #cbd9ea;border-radius:10px;background:#fff;box-shadow:0 4px 14px rgba(15,49,88,.06);overflow:hidden}
.ip-workpaper{display:grid;gap:0}
.ip-paper-meta{display:flex;justify-content:flex-end;gap:24px;align-items:center;min-height:32px;padding:5px 12px;background:#eff5fc;border-bottom:1px solid #d7e2ef;color:#355575;font-size:12px}
.ip-paper-meta strong{color:#0c3e78}
.ip-status-pill{display:inline-flex;align-items:center;min-height:20px;padding:2px 8px;border-radius:999px;font-size:10px;letter-spacing:.04em;background:#dbeafe;color:#1d4ed8}
.ip-status-pill.pending{background:#fef3c7;color:#854d0e}.ip-status-pill.complete,.ip-status-pill.active{background:#dcfce7;color:#166534}
.ip-paper-section{padding:7px 10px 8px;border-bottom:1px solid #e1e9f3}
.ip-paper-section>h3{display:flex;align-items:center;gap:7px;margin:0 0 6px;color:#123d73;font-size:11px;line-height:20px;text-transform:uppercase;letter-spacing:.045em}
.ip-paper-section>h3 b{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:5px;background:#0d4b91;color:#fff;font-size:10px}
.ip-paper-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px 8px}
.ip-paper-short .ip-paper-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-width:760px}
.ip-paper-results{background:#f8fbff}
.ip-paper-results .ip-paper-grid{grid-template-columns:repeat(6,minmax(110px,1fr));gap:5px 7px}
.ip-field{display:block;min-width:0;color:#31506e;font-size:10px;font-weight:700}
.ip-field>span{display:block;overflow:hidden;margin:0 0 2px;text-overflow:ellipsis;white-space:nowrap}
.ip-compact-input,.ip-output{width:100%;height:30px;min-height:30px;padding:4px 8px;border-radius:5px;font-size:12px}
.ip-output{border-color:#d4e1ef;background:#edf4fb!important;color:#153f6c!important;font-weight:700;cursor:default}
.ip-field small,.ip-inline-note{display:block;overflow:hidden;margin-top:1px;color:#708399;font-size:9px;font-weight:500;line-height:12px;text-overflow:ellipsis;white-space:nowrap}
.ip-workpaper>.ip-status{margin:7px 10px 0;padding:6px 9px;border-radius:5px;font-size:11px}
.ip-paper-actions{display:flex;justify-content:flex-end;gap:6px;padding:7px 10px}
.ip-paper-actions .btn{min-height:30px;padding:5px 13px;text-transform:uppercase}
.ip-actual-card{padding:0;overflow:hidden}
.ip-cart-card{padding:0;overflow:hidden;border-top:3px solid #2563eb}
.ip-cart-host .prod-empty{padding:14px}
.ip-cart-table{min-width:1380px}
.ip-cart-table th,.ip-cart-table td{padding:6px 8px;font-size:10px;white-space:nowrap}
.ip-form-tools{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}
.ip-form-select{min-width:250px;height:32px;padding:4px 8px;font-size:11px}
.ip-actual-head{display:flex;align-items:center;justify-content:space-between;padding:8px 11px;border-bottom:1px solid #e1e9f3;color:#123d73;font-size:12px}
.ip-actual-head small{display:block;margin-top:1px;color:#718399;font-size:10px;font-weight:400}
.ip-actual-host .prod-empty{padding:14px}
.ip-actual-host .prod-table th,.ip-actual-host .prod-table td{padding:6px 8px;font-size:11px}
@media(max-width:1200px){.ip-paper-results .ip-paper-grid{grid-template-columns:repeat(4,minmax(110px,1fr))}}
@media(max-width:900px){.ip-paper-grid,.ip-paper-results .ip-paper-grid{grid-template-columns:repeat(2,minmax(130px,1fr))}.ip-paper-short .ip-paper-grid{grid-template-columns:repeat(2,minmax(130px,1fr))}}
@media(max-width:560px){.ip-paper-grid,.ip-paper-results .ip-paper-grid,.ip-paper-short .ip-paper-grid{grid-template-columns:1fr}.ip-paper-meta{justify-content:flex-start;flex-wrap:wrap;gap:6px 16px}}

/* Rekonsil Tambang/Solar: compact filter followed by printable report paper. */
.rc-module{display:grid;gap:9px}.rc-filter{display:grid;grid-template-columns:145px 145px minmax(190px,1fr) minmax(260px,1.4fr) auto;gap:8px;align-items:end;padding:9px 10px;border:1px solid #cedbea;border-radius:8px;background:#f7faff}.rc-filter>label{display:grid;gap:3px;color:#27466b;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.03em}.rc-date,.rc-search,.rc-route-search{height:32px;min-height:32px;padding:4px 8px;font-size:11px}.rc-process{height:32px;min-height:32px;padding:4px 14px}.rc-route-box{position:relative}.rc-route-tools{display:flex;gap:4px}.rc-route-tools .rc-route-search{flex:1}.rc-route-tools .btn{min-height:32px;padding:3px 8px;font-size:9px}.rc-route-choices{display:flex;gap:4px;overflow:auto;max-height:75px;margin-top:4px;padding:4px;border:1px solid #d8e2ed;border-radius:5px;background:#fff;flex-wrap:wrap}.rc-route-choice{display:flex;align-items:center;gap:4px;padding:3px 6px;border:1px solid #dbe6f1;border-radius:999px;color:#244667;font-size:9px;white-space:nowrap}.rc-route-choice small{color:#71869b}.rc-status{min-height:26px;padding:5px 9px;border-radius:5px;background:#f1f5f9;color:#526a84;font-size:10px}.rc-status.success{background:#ecfdf3;color:#166534}.rc-status.error{background:#fef2f2;color:#991b1b}.rc-status.loading{background:#eff6ff;color:#1d4ed8}.rc-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 10px;border:1px solid #cbd9ea;border-bottom:0;border-radius:8px 8px 0 0;background:#fff;color:#123d73}.rc-toolbar>div:first-child{display:flex;align-items:center;gap:8px}.rc-company{padding:2px 7px;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-size:9px;font-weight:900}.rc-toolbar-actions{display:flex;gap:5px}.rc-toolbar-actions .btn{min-height:29px;padding:4px 10px;font-size:9px}.rc-paper-host{min-height:180px;border:1px solid #cbd9ea;border-radius:0 0 8px 8px;background:#eaf0f6;padding:12px;overflow:auto}.rc-empty{padding:60px 20px;border:1px dashed #b8c9dc;background:#fff;color:#6a7e94;text-align:center}.rc-empty.error{color:#991b1b}.rc-paper{min-width:980px;margin:0 auto;padding:18px;background:#fff;box-shadow:0 3px 14px rgba(15,49,88,.09);color:#173858}.rc-section+ .rc-section{margin-top:22px}.rc-section h2{margin:0 0 7px;color:#123d73;font-size:13px;letter-spacing:.04em}.rc-table-scroll{overflow:auto}.rc-table{width:100%;border-collapse:collapse;font-size:9px}.rc-table th{padding:6px 5px;border:1px solid #d1ddea;background:#1f5f9f;color:#fff;text-align:center;white-space:nowrap}.rc-table td{padding:5px;border:1px solid #dce5ee;white-space:nowrap}.rc-table tbody tr:nth-child(even) td{background:#f6f9fc}.rc-table td:nth-last-child(-n+4){text-align:right}.rc-detail-table{min-width:1320px}.rc-detail-table td:nth-child(-n+10){text-align:left}.rc-total-strip{display:flex;justify-content:flex-end;gap:22px;padding:7px 9px;background:#173f70;color:#fff;font-size:10px}.rc-total-strip strong{margin-right:auto}.rc-report-meta{display:flex;gap:18px;margin-bottom:12px;padding:7px 9px;background:#eef5fc;color:#315878;font-size:10px}.rc-ba{max-width:780px;margin-right:auto;margin-left:auto}.rc-ba>h2{text-align:center;font-size:15px}.rc-ba-meta{display:grid;grid-template-columns:150px 1fr;gap:4px 10px;margin:18px 0;color:#34536f;font-size:10px}.rc-signatures{display:grid;grid-template-columns:1fr 1fr;gap:100px;margin:45px 60px 10px;text-align:center;font-size:10px}.rc-signatures strong{display:block;margin-top:45px}.rc-solar-table{min-width:900px}
@media(max-width:1200px){.rc-filter{grid-template-columns:repeat(2,minmax(180px,1fr))}.rc-primary-filter,.rc-route-filter{grid-column:auto}.rc-process-wrap{grid-column:span 2}.rc-process{width:100%}}
@media(max-width:650px){.rc-filter{grid-template-columns:1fr}.rc-process-wrap{grid-column:auto}.rc-toolbar{align-items:flex-start;flex-direction:column}.rc-toolbar-actions,.rc-toolbar-actions .btn{width:100%}.rc-paper-host{padding:5px}}
@media print{.sidebar,.topbar,.prod-page-head,.rc-filter,.rc-status,.rc-toolbar{display:none!important}.portal-main,.portal-content,.prod-page,.rc-module,.rc-paper-host{display:block!important;margin:0!important;padding:0!important;background:#fff!important;border:0!important}.rc-paper{min-width:0;box-shadow:none}.rc-table{font-size:8px}}

/* Laporan Produksi Harian: report-only dashboard mirroring the workbook blocks. */
.dr-module{display:grid;gap:9px}.dr-filter{display:flex;align-items:end;gap:8px;padding:9px 10px;border:1px solid #cedbea;border-radius:8px;background:#f7faff}.dr-filter>label{display:grid;gap:3px;color:#27466b;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.03em}.dr-date{width:170px;height:32px;min-height:32px;padding:4px 8px;font-size:11px}.dr-process{height:32px;min-height:32px;padding:4px 16px}.dr-status{min-height:26px;padding:5px 9px;border-radius:5px;background:#f1f5f9;color:#526a84;font-size:10px}.dr-status.success{background:#ecfdf3;color:#166534}.dr-status.error{background:#fef2f2;color:#991b1b}.dr-status.loading{background:#eff6ff;color:#1d4ed8}.dr-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 10px;border:1px solid #cbd9ea;border-bottom:0;border-radius:8px 8px 0 0;background:#fff;color:#123d73}.dr-toolbar>div:first-child{display:flex;align-items:center;gap:8px}.dr-company{padding:2px 7px;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-size:9px;font-weight:900}.dr-toolbar-actions{display:flex;gap:5px}.dr-toolbar-actions .btn{min-height:29px;padding:4px 10px;font-size:9px}.dr-paper-host{min-height:220px;padding:12px;overflow:auto;border:1px solid #cbd9ea;border-radius:0 0 8px 8px;background:#eaf0f6}.dr-empty{padding:70px 20px;border:1px dashed #b8c9dc;background:#fff;color:#6a7e94;text-align:center}.dr-empty.error{color:#991b1b}.dr-paper{min-width:1080px;margin:0 auto;padding:20px;background:#fff;box-shadow:0 3px 14px rgba(15,49,88,.09);color:#173858}.dr-paper-title{position:relative;margin-bottom:18px;padding:2px 4px 14px;border-bottom:2px solid #173f70;text-align:center}.dr-paper-title h1{margin:0;color:#123d73;font-size:18px;letter-spacing:.04em}.dr-paper-title p{margin:4px 0 0;font-size:10px;font-weight:800}.dr-paper-title span{position:absolute;right:4px;bottom:14px;font-size:9px;color:#526a84}.dr-section+.dr-section{margin-top:24px}.dr-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:15px;margin-bottom:7px}.dr-section-head h2{margin:0;color:#123d73;font-size:12px;letter-spacing:.035em}.dr-section-head span{color:#6c8197;font-size:8px}.dr-table-scroll{overflow:auto}.dr-table{width:100%;border-collapse:collapse;font-size:8px}.dr-table th{padding:5px 4px;border:1px solid #cddaea;background:#1f5f9f;color:#fff;text-align:center;white-space:nowrap}.dr-table td{padding:4px 5px;border:1px solid #dce5ee;white-space:nowrap}.dr-table tbody tr:nth-child(even):not(.dr-total-row) td{background:#f6f9fc}.dr-number{text-align:right}.dr-total-row td,.dr-total-cell{background:#dcebf8!important;color:#123d73;font-weight:900;border-bottom:2px solid #173f70!important}.dr-negative{color:#b91c1c!important;font-weight:900}.dr-section-empty{padding:20px;border:1px dashed #c5d4e3;color:#71869b;text-align:center;font-size:9px}.dr-route-table{min-width:1250px}.dr-unit-table{min-width:1450px}.dr-history-table{min-width:1250px}.dr-daily-table{min-width:2100px}.dr-paper-foot{margin-top:24px;padding-top:8px;border-top:1px solid #d8e2ed;color:#71869b;font-size:8px;text-align:right}
@media(max-width:650px){.dr-filter{align-items:stretch;flex-direction:column}.dr-date,.dr-process,.dr-toolbar-actions,.dr-toolbar-actions .btn{width:100%}.dr-toolbar{align-items:flex-start;flex-direction:column}.dr-paper-host{padding:5px}.dr-paper-title span{position:static;display:block;margin-top:4px}}
@media print{.sidebar,.topbar,.prod-page-head,.dr-filter,.dr-status,.dr-toolbar{display:none!important}.portal-main,.portal-content,.prod-page,.dr-module,.dr-paper-host{display:block!important;margin:0!important;padding:0!important;background:#fff!important;border:0!important}.dr-paper{min-width:0;box-shadow:none}.dr-table{font-size:7px}.dr-section{break-inside:avoid}.dr-paper-title h1{font-size:15px}}

/* Golden Laporan Harian: source workbook palette and compact multi-level tables. */
.dr-table th{border-color:#b9c7d6;background:#294a7c}.dr-table thead .dr-group-row th{background:#182b49;font-weight:900;letter-spacing:.025em}.dr-table td{border-color:#cdd7e1}.dr-income-table{min-width:1180px}.dr-daily-table td,.dr-daily-table th{padding:3px 4px}

/* Manager + Team Leader report workspace (approved NEW HOPE mockup). */
.mgr-module{display:grid;gap:10px}.mgr-heading{display:flex;justify-content:space-between;gap:18px;padding:16px;border:1px solid #cddceb;border-radius:9px;background:#fff}.mgr-heading h2{margin:0;color:#123d73;font-size:19px}.mgr-heading p{margin:3px 0 0;color:#526a84;font-size:11px}.mgr-heading aside{display:flex;align-items:flex-start;gap:9px;max-width:260px;padding:11px;border:1px solid #bfdbfe;border-radius:7px;background:#eff6ff;color:#123d73}.mgr-heading aside>.icon{width:24px;height:24px;color:#2563eb}.mgr-heading aside div{display:grid;gap:3px}.mgr-heading aside span{font-size:9px;line-height:1.45}.mgr-pick-label,.mgr-filter-title{color:#123d73;font-size:10px}.mgr-selector{display:grid;grid-template-columns:repeat(5,minmax(135px,1fr));gap:7px}.mgr-report-tab{display:flex;align-items:center;justify-content:center;gap:10px;min-height:68px;padding:10px;border:1px solid #bfd0e2;border-radius:7px;background:#fff;color:#123d73;cursor:pointer}.mgr-report-tab:hover{border-color:#60a5fa;background:#f8fbff}.mgr-report-tab.active{border-color:#22a06b;background:#effcf6;box-shadow:inset 0 0 0 1px rgba(34,160,107,.15)}.mgr-report-tab>.icon{width:30px;height:30px;color:#2563eb}.mgr-report-tab:nth-child(3)>.icon{color:#f97316}.mgr-report-tab:last-child>.icon{color:#16a34a}.mgr-report-tab>span{display:grid;gap:3px;text-align:left}.mgr-report-tab strong{font-size:10px}.mgr-report-tab small{font-size:9px;font-weight:500}.mgr-filter-panel{display:grid;gap:8px;padding:12px 14px;border:1px solid #cbd9e8;border-radius:8px;background:#fff}.mgr-filter-row{display:flex;align-items:end;gap:10px}.mgr-field{display:grid;flex:1;gap:4px;min-width:150px;color:#173858;font-size:9px;font-weight:800}.mgr-field .input{height:34px;min-height:34px}.mgr-process{height:34px;min-width:145px}.mgr-export{display:flex;gap:7px;margin-left:auto}.mgr-export .btn{height:34px;font-size:9px}.mgr-export .btn-success{background:#159447;border-color:#159447;color:#fff}.mgr-export .btn-success:hover:not(:disabled){background:#117a3b;border-color:#117a3b}.mgr-export .btn-danger{background:#dc2626;border-color:#dc2626;color:#fff}.mgr-export .btn-danger:hover:not(:disabled){background:#b91c1c;border-color:#b91c1c}.mgr-report-host{min-height:260px;padding:12px;border:1px solid #cbd9e8;border-radius:8px;background:#eef3f8}.mgr-instruction{display:flex;min-height:230px;align-items:center;justify-content:center;flex-direction:column;gap:7px;border:1px dashed #bdd0e3;border-radius:7px;background:#fff;color:#6b7f95;text-align:center}.mgr-instruction>.icon{width:30px;height:30px;color:#3b82f6}.mgr-instruction strong{color:#123d73}.mgr-instruction span{max-width:600px;font-size:10px}.mgr-instruction.warning{background:#fffbeb}.mgr-instruction.error{background:#fef2f2;color:#991b1b}.mgr-report-canvas{padding:17px;border:1px solid #ccd8e5;border-radius:7px;background:#fff}.mgr-report-canvas>header{display:flex;align-items:start;justify-content:space-between;padding-bottom:10px;border-bottom:2px solid #173f70}.mgr-report-canvas h2{margin:0;color:#123d73;font-size:15px}.mgr-report-canvas header p{margin:3px 0 0;color:#64748b;font-size:9px}.mgr-report-canvas header>strong{font-size:10px;color:#365777}.mgr-kpis{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:7px;margin:12px 0}.mgr-kpi{display:grid;gap:4px;padding:10px;border:1px solid #c7d6e5;border-radius:6px;background:#f8fbff}.mgr-kpi span{font-size:8px;font-weight:900;color:#526a84}.mgr-kpi strong{font-size:15px;color:#123d73}.mgr-kpi.k0{background:#ecfdf5;border-color:#a7f3d0}.mgr-report-section+ .mgr-report-section{margin-top:16px}.mgr-report-section h3{margin:0 0 6px;color:#123d73;font-size:11px}.mgr-table-wrap{overflow:auto}.mgr-table-wrap table{width:100%;border-collapse:collapse;font-size:9px}.mgr-table-wrap th{padding:6px;border:1px solid #c2cfdd;background:#173f70;color:#fff;text-align:center;white-space:nowrap}.mgr-table-wrap td{padding:5px 7px;border:1px solid #d8e1ea;white-space:nowrap}.mgr-table-wrap tbody tr:nth-child(even):not(.total){background:#f7fafc}.mgr-table-wrap td.num{text-align:right}.mgr-table-wrap tr.total td{background:#dcebf8;font-weight:900;color:#123d73}
@media(max-width:1000px){.mgr-selector{grid-template-columns:repeat(3,minmax(150px,1fr))}.mgr-filter-row{flex-wrap:wrap}.mgr-export{margin-left:0}.mgr-heading aside{display:none}}
@media(max-width:650px){.mgr-selector{grid-template-columns:1fr}.mgr-filter-row,.mgr-export{display:grid;width:100%}.mgr-process,.mgr-export .btn{width:100%}.mgr-kpis{grid-template-columns:repeat(2,1fr)}}

/* Maintenance workflow workspace */
.maint-content{background:#eef3f8;padding:18px}.maint-page-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px;padding:16px 18px;border:1px solid #cfdae6;border-radius:10px;background:#fff}.maint-page-head h1{margin:0;color:#123d73;font-size:23px;letter-spacing:.02em}.maint-page-head p{margin:3px 0;color:#2563eb;font-size:11px;font-weight:800}.maint-page-head>div>span{color:#64748b;font-size:11px}.maint-back-link{display:block;margin:0 0 5px;padding:0;border:0;background:none;color:#2563eb;font-size:10px;font-weight:800;cursor:pointer}.maint-summary{display:grid;grid-template-columns:repeat(6,minmax(110px,1fr));gap:8px;margin-bottom:14px}.maint-summary-card{display:grid;gap:7px;padding:12px 14px;border:1px solid #cbd8e5;border-left:4px solid #2563eb;border-radius:8px;background:#fff}.maint-summary-card span{color:#60748b;font-size:9px;font-weight:900}.maint-summary-card strong{color:#123d73;font-size:20px}.maint-summary-card.s2{border-left-color:#f59e0b}.maint-summary-card.s3{border-left-color:#7c3aed}.maint-summary-card.s4{border-left-color:#0f9f6e}.maint-summary-card.s5{border-left-color:#16a34a}.maint-card{margin-bottom:14px;padding:15px;border:1px solid #cbd8e5;border-radius:10px;background:#fff;box-shadow:0 3px 12px rgba(15,43,75,.04)}.maint-card-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding-bottom:9px;border-bottom:1px solid #e1e8f0}.maint-card-title h2{margin:0;color:#123d73;font-size:15px}.maint-card-title span{color:#64748b;font-size:9px}.maint-table-wrap{overflow:auto}.maint-table{width:100%;border-collapse:collapse;font-size:10px}.maint-table th{padding:7px 8px;border:1px solid #c7d3df;background:#173f70;color:#fff;text-align:center;white-space:nowrap}.maint-table td{padding:7px 8px;border:1px solid #d8e1ea;white-space:nowrap}.maint-table tbody tr:nth-child(even){background:#f7fafc}.maint-table td.num{text-align:right}.maint-empty-row{padding:24px!important;color:#64748b;text-align:center!important}.maint-badge{display:inline-flex;align-items:center;justify-content:center;padding:5px 9px;border-radius:999px;font-size:9px;font-weight:900}.maint-badge.draft{background:#e8eef5;color:#39536e}.maint-badge.warning{background:#fff3d6;color:#a65b00}.maint-badge.approved{background:#dcfce7;color:#166534}.maint-wo-head{padding:12px 15px}.maint-meta-grid,.maint-doc-head{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:8px}.maint-field{display:grid;gap:4px;color:#456078;font-size:8px;font-weight:900}.maint-field .input{height:33px;min-height:33px;font-size:10px}.maint-workflow{display:grid;grid-template-columns:repeat(6,1fr);gap:0;margin:14px 0}.maint-step{position:relative;display:grid;justify-items:center;gap:4px;padding:10px 5px;border-block:1px solid #cdd9e5;background:#fff;color:#657a90}.maint-step:first-child{border-left:1px solid #cdd9e5;border-radius:9px 0 0 9px}.maint-step:last-child{border-right:1px solid #cdd9e5;border-radius:0 9px 9px 0}.maint-step:not(:last-child):after{content:'›';position:absolute;right:-5px;top:22px;z-index:2;color:#91a4b8;font-size:18px}.maint-step>span{display:grid;width:25px;height:25px;place-items:center;border-radius:50%;background:#e8eef5;font-size:10px;font-weight:900}.maint-step strong{font-size:9px}.maint-step small{font-size:7px;font-weight:900}.maint-step.done{color:#166534;background:#f0fdf4}.maint-step.done>span{background:#16a34a;color:#fff}.maint-step.active{color:#0b4ca3;background:#eff6ff}.maint-step.active>span{background:#2563eb;color:#fff}.maint-step.skipped{color:#8a5a08;background:#fffbeb}.maint-step.skipped>span{background:#f59e0b;color:#fff}.maint-work-section{scroll-margin-top:72px}.maint-form-grid{display:grid;gap:9px;margin-bottom:11px}.maint-form-grid.three{grid-template-columns:repeat(3,1fr)}.maint-form-grid.four{grid-template-columns:repeat(4,1fr)}.maint-subtitle{display:flex;align-items:center;justify-content:space-between;margin:9px 0 7px;color:#123d73;font-size:10px}.maint-inline-form{display:grid;gap:7px;margin-bottom:10px}.maint-inline-form.four{grid-template-columns:1.1fr 1.1fr .45fr .8fr auto}.maint-inline-form.spk{grid-template-columns:repeat(7,minmax(100px,1fr));align-items:end}.maint-inline-form .input{height:34px;min-height:34px;font-size:10px}.maint-subheading{margin:13px 0 7px;color:#123d73;font-size:11px}.maint-doc-head{margin-bottom:12px;padding:10px;border:1px solid #d6e0ea;border-radius:7px;background:#f8fafc}.maint-grand-total{display:flex;justify-content:flex-end;gap:30px;padding:10px;border:1px solid #bdd0e2;border-top:0;background:#eaf2f9;color:#123d73;font-size:11px;font-weight:900}.maint-tire-panel{margin-top:12px;padding:12px;border:1px solid #f4c36b;border-radius:8px;background:#fffaf0}.maint-tire-panel h3{margin:0 0 9px;color:#9a5600;font-size:11px}.maint-skipped{margin-top:12px;padding:11px;border:1px dashed #f4c36b;border-radius:7px;background:#fffaf0;color:#8a5a08;font-size:9px;font-weight:800}.maint-approval{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:20px;margin-top:16px;padding-top:16px;border-top:1px solid #dce4ec;text-align:center}.maint-approval div{display:grid;gap:18px}.maint-approval span{color:#64748b;font-size:8px;font-weight:900}.maint-approval strong{padding-top:7px;border-top:1px solid #8093a7;color:#123d73;font-size:10px}.maint-footer-action{display:flex;justify-content:flex-end;margin-top:12px}.maint-qty-actual{width:80px;min-height:30px!important;height:30px!important}.maint-side-flow{display:grid;gap:3px;margin:8px 12px;padding:10px;border:1px solid rgba(255,255,255,.12);border-radius:8px;color:#a9bed4;font-size:8px;font-weight:900;text-align:center}
@media(max-width:1100px){.maint-summary{grid-template-columns:repeat(3,1fr)}.maint-meta-grid,.maint-doc-head{grid-template-columns:repeat(3,1fr)}.maint-inline-form.spk{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.maint-content{padding:10px}.maint-page-head{align-items:flex-start;flex-direction:column}.maint-summary{grid-template-columns:repeat(2,1fr)}.maint-workflow{grid-template-columns:1fr}.maint-step{grid-template-columns:32px 1fr auto;align-items:center;justify-items:start;border:1px solid #cdd9e5!important;border-radius:0!important}.maint-step:first-child{border-radius:8px 8px 0 0!important}.maint-step:last-child{border-radius:0 0 8px 8px!important}.maint-step:after{display:none}.maint-meta-grid,.maint-doc-head,.maint-form-grid.three,.maint-form-grid.four,.maint-inline-form.four,.maint-inline-form.spk{grid-template-columns:1fr}.maint-approval{grid-template-columns:1fr}}

.maint-summary.final{grid-template-columns:repeat(5,minmax(120px,1fr))}.maint-summary.final .maint-summary-card{cursor:pointer;text-align:left}.maint-summary-card small{color:#7a8da1;font-size:8px;font-weight:800}.maint-filterbar{display:grid;grid-template-columns:2fr 1fr 1fr;gap:8px;margin-bottom:10px}.maint-filterbar .input{height:34px;min-height:34px}.maint-queue-tabs{display:flex;gap:5px;margin:0 0 10px;padding:6px;border:1px solid #d5e0ea;border-radius:8px;background:#fff;overflow:auto}.maint-queue-tabs button{padding:7px 11px;border:0;border-radius:6px;background:transparent;color:#657a90;font-size:9px;font-weight:900;white-space:nowrap}.maint-queue-tabs button.active{background:#e8f1ff;color:#1557b0}.maint-paper{border-top:4px solid #173f70}.maint-paper>.maint-card-title h2{font-size:17px;letter-spacing:.025em}.maint-doc-head.final{grid-template-columns:repeat(5,minmax(130px,1fr))}.maint-textarea{min-height:76px!important;padding:10px;resize:vertical}.maint-inline-form.final-needs{grid-template-columns:1.2fr 1.2fr .7fr .45fr auto}.maint-inline-form.final-spk{grid-template-columns:1.1fr 1.1fr .75fr .4fr 1.2fr auto}.maint-paper-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:13px;padding-top:12px;border-top:1px solid #dce5ed}.maint-mini-timeline{display:flex;align-items:center;gap:6px;margin-top:13px;padding:9px;border:1px solid #d3dee8;border-radius:7px;background:#f8fafc;overflow:auto}.maint-mini-timeline>div{display:flex;align-items:center;gap:6px;white-space:nowrap}.maint-mini-timeline>div:not(:last-child):after{content:'›';color:#91a4b8;font-size:16px}.maint-mini-timeline strong{color:#123d73;font-size:9px}.maint-badge.rejected{background:#fee2e2;color:#b91c1c}.maint-badge.active{background:#dbeafe;color:#1d4ed8}.maint-badge.final{background:#173f70;color:#fff}.maint-field-badge{display:flex;align-items:center;min-height:33px}.maint-info-strip{margin:9px 0;padding:9px 11px;border-left:3px solid #2563eb;border-radius:5px;background:#eff6ff;color:#234f7e;font-size:9px;font-weight:800}.maint-info-strip.success{border-left-color:#16a34a;background:#ecfdf5;color:#166534}.maint-checkline{display:flex;align-items:center;gap:8px;margin-top:10px;color:#334e68;font-size:10px;font-weight:800}.maint-checkline input{width:16px;height:16px}.maint-empty-report{display:grid;min-height:260px;place-items:center;align-content:center;gap:8px;text-align:center}.maint-empty-report>.svg-ic{width:38px;height:38px;color:#2563eb}.maint-empty-report h2{margin:0;color:#123d73}.maint-empty-report p{margin:0;color:#64748b;font-size:10px}.btn-success{background:#159447;border-color:#159447;color:#fff}.btn-success:hover:not(:disabled){background:#117a3b;border-color:#117a3b}
@media(max-width:1050px){.maint-summary.final{grid-template-columns:repeat(3,1fr)}.maint-doc-head.final{grid-template-columns:repeat(3,1fr)}.maint-inline-form.final-needs,.maint-inline-form.final-spk{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.maint-summary.final,.maint-filterbar,.maint-doc-head.final,.maint-inline-form.final-needs,.maint-inline-form.final-spk{grid-template-columns:1fr}.maint-paper-actions{align-items:stretch;flex-direction:column}.maint-paper-actions .btn{width:100%}.maint-mini-timeline{align-items:stretch;flex-direction:column}.maint-mini-timeline>div{justify-content:space-between}.maint-mini-timeline>div:after{display:none}}

.maint-form-steps{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:14px;padding:6px;border:1px solid #d6e1eb;border-radius:8px;background:#f8fafc}.maint-form-steps>div{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:6px;color:#708399}.maint-form-steps span{display:grid;width:24px;height:24px;place-items:center;border-radius:50%;background:#e3eaf1;font-size:9px;font-weight:900}.maint-form-steps strong{font-size:9px}.maint-form-steps .active{background:#e8f1ff;color:#1557b0}.maint-form-steps .active span{background:#2563eb;color:#fff}.maint-form-steps .done{color:#166534}.maint-form-steps .done span{background:#16a34a;color:#fff}.maint-read-summary{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;margin-bottom:12px;padding:10px;border:1px solid #d7e1eb;border-radius:7px;background:#f8fafc}.maint-read-summary div{display:grid;gap:3px}.maint-read-summary span{color:#71849a;font-size:7px;font-weight:900}.maint-read-summary strong{color:#173f70;font-size:10px}.maint-fkk-layout{display:grid;grid-template-columns:minmax(0,1fr) 245px;align-items:start;gap:12px}.maint-fkk-layout>.maint-card{margin-bottom:0}.maint-approval-panel{position:sticky;top:12px;display:grid;gap:9px;padding:14px;border:1px solid #bcd1e5;border-top:4px solid #2563eb;border-radius:9px;background:#fff;box-shadow:0 4px 14px rgba(15,43,75,.06);color:#173f70}.maint-approval-panel>span{font-size:9px;font-weight:900}.maint-approval-panel>strong{margin-top:5px;color:#64748b;font-size:8px}.maint-approval-panel>b{font-size:20px}.maint-required{padding:7px;border-radius:6px;background:#fff7e6;color:#9a5a00;font-size:9px;font-weight:900;text-align:center}.maint-approval-panel ol{display:grid;gap:8px;margin:0;padding:0;list-style:none}.maint-approval-panel li{display:grid;gap:5px;padding:8px;border:1px solid #d8e2eb;border-radius:6px;background:#f8fafc}.maint-approval-panel li>span{font-size:8px;font-weight:900}.maint-approval-panel small{color:#71849a;font-size:8px;line-height:1.45}.maint-money-input{min-width:105px;height:30px!important;min-height:30px!important;text-align:right}.maint-info-strip.rejected{border-left-color:#dc2626;background:#fef2f2;color:#991b1b}
.maint-topbar{background:#123d73;color:#fff;border-bottom-color:#0d315e}.maint-topbar .tb-name,.maint-topbar .tb-sub,.maint-topbar .um-name,.maint-topbar .um-role{color:#fff}.maint-topbar .topbar-search{background:#fff}.maint-topbar .prod-back-btn{border-color:rgba(255,255,255,.45);background:rgba(255,255,255,.08);color:#fff}.maint-topbar .hamburger{color:#fff;border-color:rgba(255,255,255,.35)}

/* Maintenance compact UI draft */
.maint-content{padding:12px 14px;background:#edf2f7}.maint-compact-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 9px;padding:0 2px}.maint-compact-head h1{margin:0;color:#123d73;font-size:18px;line-height:1.25;letter-spacing:.015em}.maint-compact-head p{margin:2px 0 0;color:#64748b;font-size:10px}.maint-compact-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-bottom:9px}.maint-compact-stats button{display:flex;align-items:center;justify-content:space-between;min-height:46px;padding:8px 11px;border:1px solid #cfdae6;border-left:3px solid #2563eb;border-radius:7px;background:#fff;color:#536a80;cursor:pointer}.maint-compact-stats span{font-size:9px;font-weight:900}.maint-compact-stats strong{color:#123d73;font-size:18px}.maint-compact-card{margin-bottom:9px;padding:10px 11px;border-radius:8px;box-shadow:none}.maint-workspace-tabs{display:flex;gap:3px;margin-bottom:7px;padding:3px;border:1px solid #cbd8e5;border-radius:8px;background:#fff}.maint-workspace-tabs button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:34px;flex:1;padding:6px 9px;border:0;border-radius:6px;background:transparent;color:#526b84;font-size:10px;font-weight:900;cursor:pointer}.maint-workspace-tabs button small{display:grid;min-width:18px;height:18px;place-items:center;border-radius:9px;background:#e7eef6;color:#34516d;font-size:8px}.maint-workspace-tabs button.active{background:#145eb8;color:#fff}.maint-workspace-tabs button.active small{background:rgba(255,255,255,.23);color:#fff}.maint-workspace-body{padding:10px 11px;border:1px solid #cbd8e5;border-radius:8px;background:#fff}.maint-queue-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.maint-queue-head h2{margin:0;color:#123d73;font-size:13px}.maint-queue-head p{margin:2px 0 0;color:#64748b;font-size:9px}.maint-filterbar.compact{display:grid;grid-template-columns:2fr 1fr 1fr;gap:7px;margin:0 0 8px}.maint-filterbar.compact.register{grid-template-columns:2fr 1fr 1fr 1fr}.maint-filterbar.compact .input{height:30px;min-height:30px;font-size:9px}.maint-table{font-size:9px}.maint-table th,.maint-table td{padding:6px 7px}.maint-empty-row{padding:14px!important}.maint-form-grid.compact-five{grid-template-columns:repeat(5,minmax(110px,1fr));gap:7px;margin-bottom:8px}.maint-form-grid.compact-five .input,.maint-doc-head.compact .input{height:30px;min-height:30px;font-size:9px}.maint-field{gap:3px;font-size:8px}.maint-textarea.compact{min-height:54px!important;resize:vertical}.maint-inline-form.compact-needs{grid-template-columns:1.35fr 1.35fr .65fr .45fr auto;gap:6px;margin-bottom:7px}.maint-inline-form.compact-needs .input{height:30px;min-height:30px;font-size:9px}.maint-subheading{margin:8px 0 5px}.maint-info-strip{margin-top:7px;padding:7px 9px;font-size:8px}.maint-paper-actions{gap:6px;margin-top:8px}.maint-doc-head.compact{grid-template-columns:repeat(6,minmax(105px,1fr));gap:6px;margin:0 0 8px;padding:7px}.maint-grand-total{padding:7px 9px;font-size:10px}.maint-fkk-layout.compact{grid-template-columns:minmax(0,1fr) 180px;gap:8px}.maint-approval-panel.compact{padding:10px}.maint-approval-panel.compact>b{font-size:17px}.maint-approval-panel.compact ol{gap:6px}.maint-tire-panel.compact{margin-top:8px;padding:8px}.maint-checkline{margin-top:7px}.maint-queue-tabs{margin-bottom:7px}.maint-queue-tabs button{padding:6px 9px;font-size:8px}.maint-topbar{min-height:58px}.maint-topbar .topbar-brand img{max-height:34px}.maint-card-title{margin-bottom:7px;padding-bottom:6px}.maint-card-title h2{font-size:12px}
@media(max-width:1000px){.maint-compact-stats{grid-template-columns:repeat(3,1fr)}.maint-form-grid.compact-five,.maint-doc-head.compact{grid-template-columns:repeat(2,1fr)}.maint-fkk-layout.compact{grid-template-columns:1fr}.maint-inline-form.compact-needs{grid-template-columns:repeat(2,1fr)}.maint-inline-form.compact-needs .btn{grid-column:span 2}}
@media(max-width:700px){.maint-content{padding:8px}.maint-compact-head{align-items:flex-start;flex-direction:column}.maint-compact-stats{grid-template-columns:repeat(2,1fr)}.maint-workspace-tabs{overflow-x:auto}.maint-workspace-tabs button{min-width:115px}.maint-workspace-body{padding:8px}.maint-filterbar.compact,.maint-filterbar.compact.register,.maint-form-grid.compact-five,.maint-doc-head.compact,.maint-inline-form.compact-needs{grid-template-columns:1fr}.maint-inline-form.compact-needs .btn{grid-column:auto}.maint-table-wrap{max-width:100%;overflow-x:auto}}
@media(max-width:1000px){.maint-fkk-layout{grid-template-columns:1fr}.maint-approval-panel{position:static}.maint-read-summary{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.maint-form-steps,.maint-read-summary{grid-template-columns:1fr}.maint-form-steps>div{min-width:0}}
.maint-topbar .tb-name{margin-right:5px}.maint-filterbar.compact.four{grid-template-columns:2fr 1fr 1fr 1fr}.maint-row-actions{display:flex;gap:4px}
@media(max-width:700px){.maint-filterbar.compact.four{grid-template-columns:1fr}}

/* Maintenance professional operations design system */
.maint-content{--m-navy:#123d73;--m-blue:#1769d2;--m-text:#1f3348;--m-muted:#63778c;--m-line:#d8e1ea;--m-soft:#f4f7fa;--m-white:#fff;padding:16px 20px;background:#eef2f6;color:var(--m-text);font-size:14px}
.maint-topbar{min-height:66px;height:66px;box-shadow:0 1px 0 rgba(15,39,68,.18)}.maint-topbar .topbar-brand img{max-height:36px}.maint-topbar .tb-name{font-size:16px;font-weight:700}.maint-topbar .tb-sub{font-size:12px;font-weight:400}.maint-topbar .topbar-search{height:34px}.maint-topbar .prod-back-btn{min-height:38px;font-size:13px;font-weight:600}
.maint-sidebar .sidebar-item{min-height:42px;margin:2px 8px;padding:9px 12px;border-radius:8px;font-size:14px;font-weight:500}.maint-sidebar .sidebar-item svg{width:18px;height:18px}.maint-sidebar .sidebar-item.active{background:rgba(39,125,240,.2);box-shadow:inset 3px 0 0 #5ca2ff;color:#fff}.maint-sidebar .sidebar-logo{min-height:66px}.maint-sidebar .sidebar-switch{min-height:40px;font-size:13px}
.maint-compact-head{min-height:52px;margin:0 0 10px;padding:0}.maint-compact-head h1{font-size:24px;font-weight:700;letter-spacing:-.01em}.maint-compact-head p{margin-top:4px;font-size:13px;font-weight:400}.maint-content .btn{min-height:38px;padding:8px 14px;border-radius:8px;font-size:13px;font-weight:600}.maint-content .btn-sm{min-height:32px;padding:5px 10px;font-size:12px}.maint-content .btn:focus-visible,.maint-content .input:focus-visible,.maint-workspace-tabs button:focus-visible,.maint-queue-tabs button:focus-visible{outline:3px solid rgba(23,105,210,.22);outline-offset:1px;border-color:var(--m-blue)}
.maint-workspace-tabs{height:48px;gap:28px;margin:0 0 12px;padding:0 8px;border:0;border-bottom:1px solid var(--m-line);border-radius:0;background:var(--m-white)}.maint-workspace-tabs button{position:relative;justify-content:flex-start;min-width:auto;height:48px;flex:0 0 auto;padding:0 4px;border-radius:0;color:#64778b;font-size:14px;font-weight:500}.maint-workspace-tabs button.active{background:transparent;color:var(--m-blue);font-weight:650}.maint-workspace-tabs button.active:after{content:'';position:absolute;right:0;bottom:-1px;left:0;height:3px;border-radius:3px 3px 0 0;background:var(--m-blue)}.maint-workspace-tabs button small{min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:#e8edf3;color:#5d7186;font-size:11px;font-weight:600}.maint-workspace-tabs button.active small{background:#e7f0ff;color:var(--m-blue)}
.maint-workspace-body{padding:16px;border:1px solid var(--m-line);border-radius:9px;background:var(--m-white);box-shadow:0 1px 2px rgba(17,42,67,.03)}.maint-queue-head{margin-bottom:12px}.maint-queue-head h2{color:var(--m-navy);font-size:16px;font-weight:650}.maint-queue-head p{margin-top:3px;font-size:13px;font-weight:400}.maint-card,.maint-compact-card{padding:16px;border:1px solid var(--m-line);border-radius:9px;background:#fff;box-shadow:none}.maint-card-title{margin-bottom:12px;padding-bottom:10px}.maint-card-title h2{font-size:16px;font-weight:650}
.maint-compact-stats{gap:10px;margin-bottom:12px}.maint-compact-stats button{min-height:58px;padding:10px 14px;border:1px solid var(--m-line);border-left:3px solid var(--m-blue);border-radius:8px;box-shadow:none}.maint-compact-stats span{font-size:12px;font-weight:600}.maint-compact-stats strong{font-size:22px;font-weight:700}
.maint-queue-tabs{display:flex;gap:20px;margin:0 0 12px;padding:0 2px;border:0;border-bottom:1px solid #e2e8ef;border-radius:0;background:transparent;overflow-x:auto;overflow-y:hidden}.maint-queue-tabs button{position:relative;min-height:36px;padding:0 1px;border:0;border-radius:0;background:transparent;color:#6a7e92;font-size:12px;font-weight:500}.maint-queue-tabs button.active{background:transparent;color:var(--m-blue);font-weight:650}.maint-queue-tabs button.active:after{content:'';position:absolute;right:0;bottom:-1px;left:0;height:2px;background:var(--m-blue)}
.maint-filterbar.compact,.maint-filterbar.compact.four,.maint-filterbar.compact.register{gap:8px;margin-bottom:10px}.maint-filterbar.compact .input{height:40px;min-height:40px;padding:8px 11px;border:1px solid #cdd8e3;border-radius:8px;font-size:13px;font-weight:400}
.maint-table-wrap{border:1px solid var(--m-line);border-radius:8px}.maint-table{font-size:13px}.maint-table th{height:38px;padding:8px 10px;border:0;border-bottom:1px solid #cfd9e4;background:#edf3f8;color:#27445f;font-size:12px;font-weight:650;text-align:left;text-transform:none}.maint-table td{height:42px;padding:8px 10px;border:0;border-bottom:1px solid #e3e9ef;color:#2a3d50;font-size:13px;font-weight:400}.maint-table tbody tr:nth-child(even){background:#fafbfd}.maint-table tbody tr:hover{background:#f2f7fd}.maint-table tbody tr:last-child td{border-bottom:0}.maint-table .num,.maint-table th.num{text-align:right}.maint-empty-row{height:54px!important;padding:12px!important;background:#fff!important;color:#75879a!important;font-size:13px!important}.maint-row-actions{gap:4px}.maint-row-actions .btn{min-height:28px;padding:4px 8px;font-size:11px}
.maint-field{gap:6px;color:#425a70;font-size:12px;font-weight:600}.maint-field .input,.maint-form-grid.compact-five .input,.maint-doc-head.compact .input,.maint-inline-form.compact-needs .input{height:40px;min-height:40px;padding:8px 11px;border:1px solid #cdd8e3;border-radius:8px;background:#fff;color:#24384c;font-size:14px;font-weight:400}.maint-field .input[readonly]{background:#f5f7f9;color:#52677b}.maint-form-grid.compact-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 16px;margin-bottom:16px}.maint-form-grid.compact-five{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 16px}.maint-textarea.compact{min-height:80px!important;padding:10px 12px!important;line-height:1.45}.maint-final-note{min-height:64px!important;resize:vertical}.maint-inline-form.compact-needs{grid-template-columns:1.4fr 1.4fr .55fr .45fr auto;gap:8px;margin-bottom:10px;align-items:end}.maint-section-label{margin:16px 0 10px;padding-bottom:7px;border-bottom:1px solid #e4eaf0;color:var(--m-navy);font-size:15px;font-weight:650}.maint-section-label:first-of-type{margin-top:4px}
.maint-document-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:-2px 0 16px;padding-bottom:12px;border-bottom:1px solid #dfe6ed}.maint-document-head h2{margin:0;color:var(--m-navy);font-size:20px;font-weight:700}.maint-document-head p{margin:4px 0 0;color:#65798d;font-size:13px;font-weight:400}.maint-reference-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-bottom:14px;padding:10px 12px;border:1px solid #dce4eb;border-radius:8px;background:#f7f9fb}.maint-reference-grid div{display:grid;gap:3px}.maint-reference-grid span{color:#718396;font-size:11px;font-weight:500}.maint-reference-grid strong{color:#273e54;font-size:13px;font-weight:600}.maint-info-strip{margin-top:10px;padding:9px 11px;border-radius:7px;font-size:12px;font-weight:400}.maint-paper-actions{position:sticky;bottom:0;justify-content:flex-end;gap:8px;margin:14px -16px -16px;padding:11px 16px;border-top:1px solid #dfe6ed;background:rgba(255,255,255,.96);backdrop-filter:blur(6px)}
.maint-badge{padding:4px 8px;border-radius:999px;font-size:11px;font-weight:650;letter-spacing:0}.maint-badge.draft{background:#edf1f5;color:#53687c}.maint-badge.warning{background:#fff2d8;color:#9a5b00}.maint-badge.approved{background:#dcf6e7;color:#167044}.maint-badge.rejected{background:#fee4e2;color:#b42318}.maint-badge.active{background:#e2efff;color:#1559a8}.maint-badge.final{background:#e5ebf1;color:#243e58}
.maint-fkk-layout.compact{grid-template-columns:minmax(0,3fr) minmax(240px,1fr);gap:16px}.maint-fkk-layout.compact>.maint-card{margin:0}.maint-approval-panel.compact{position:sticky;top:12px;gap:10px;padding:14px 16px;border:1px solid #d4dee8;border-top:3px solid var(--m-blue);border-radius:8px;box-shadow:none}.maint-approval-panel h3{margin:0 0 2px;color:var(--m-navy);font-size:15px;font-weight:650}.maint-approval-panel.compact>b{font-size:21px;font-weight:700}.maint-approval-panel.compact>strong{padding:7px 9px;border-radius:6px;background:#f4f7fa;color:#51677d;font-size:12px;font-weight:600}.maint-approval-panel.compact ol{gap:8px}.maint-approval-panel.compact li{display:flex;grid-template:none;align-items:flex-start;gap:9px;padding:9px;background:#fafbfd}.maint-approval-panel li>i{display:grid;width:24px;height:24px;flex:0 0 24px;place-items:center;border-radius:50%;background:#e5effd;color:#185eaf;font-size:11px;font-style:normal;font-weight:700}.maint-approval-panel li>div{display:grid;gap:5px}.maint-approval-panel li span{font-size:12px;font-weight:600}.maint-grand-total{justify-content:flex-end;gap:40px;padding:10px 12px;border:1px solid #d5e0ea;border-top:0;background:#f4f7fa;font-size:14px;font-weight:650}.maint-money-input{width:130px;height:36px!important;min-height:36px!important;font-size:13px!important}
.maint-tire-panel.compact{margin-top:14px;padding:12px;border:1px solid #e1c78d;border-radius:8px;background:#fffdf7}.maint-tire-panel h3{margin-bottom:10px;font-size:14px;font-weight:650}.maint-tire-panel .maint-table-wrap{background:#fff}.maint-tire-panel .input{min-width:105px;height:36px;min-height:36px;padding:6px 8px;font-size:12px}.maint-qty-actual{width:88px!important;height:34px!important;min-height:34px!important;text-align:right}.maint-difference{display:inline-flex;min-width:28px;justify-content:flex-end;color:#64778b}.maint-difference.changed{padding:3px 6px;border-radius:5px;background:#fff1dc;color:#a45b00;font-weight:650}.maint-checkline{display:flex;align-items:center;gap:8px;margin-top:12px;color:#40576d;font-size:13px}.maint-checkline input{width:16px;height:16px}
.maint-empty-report{min-height:auto;padding:20px;text-align:left}.maint-empty-report h2{font-size:16px}.maint-empty-report p{font-size:13px}
.maint-sidebar,.maint-sidebar .sidebar-menu{overflow-x:hidden}
.maint-wo-form{padding:12px}.maint-wo-form .maint-document-head{margin:0 0 10px;padding-bottom:8px}.maint-wo-form .maint-form-grid.compact-three{gap:8px 14px;margin-bottom:10px}.maint-wo-form .maint-field{gap:4px}.maint-wo-form .maint-section-label{margin:10px 0 8px;padding-bottom:5px}.maint-wo-form .maint-textarea.compact{min-height:72px!important}.maint-wo-form .maint-paper-actions{margin:10px -12px -12px;padding:8px 12px}
@media(max-width:1100px){.maint-form-grid.compact-three,.maint-form-grid.compact-five{grid-template-columns:repeat(2,minmax(0,1fr))}.maint-reference-grid{grid-template-columns:repeat(3,1fr)}.maint-fkk-layout.compact{grid-template-columns:1fr}.maint-approval-panel.compact{position:static}.maint-inline-form.compact-needs{grid-template-columns:1fr 1fr .55fr auto}.maint-inline-form.compact-needs select{grid-column:auto}}
@media(max-width:700px){.maint-content{padding:10px}.maint-topbar{height:58px;min-height:58px}.maint-compact-head h1{font-size:21px}.maint-workspace-tabs{gap:20px;overflow-x:auto}.maint-workspace-tabs button{min-width:max-content}.maint-workspace-body{padding:12px}.maint-form-grid.compact-three,.maint-form-grid.compact-five,.maint-reference-grid,.maint-inline-form.compact-needs{grid-template-columns:1fr}.maint-inline-form.compact-needs .btn{grid-column:auto}.maint-paper-actions{position:static;flex-direction:row;flex-wrap:wrap;margin:14px -12px -12px}.maint-paper-actions .btn{width:auto}.maint-table-wrap{overflow-x:auto}.maint-table{min-width:760px}.maint-tire-panel .maint-table{min-width:860px}}
.maint-actual-spk{margin-top:12px}.maint-actual-spk .maint-card-title>div{display:grid;gap:3px}.maint-actual-filter{display:grid;grid-template-columns:155px minmax(220px,430px) auto auto;gap:8px;align-items:center;margin-bottom:11px}.maint-actual-filter .input,.maint-actual-filter .btn{height:34px;min-height:34px;font-size:12px}.maint-actual-count{padding-top:9px;color:#62778c;font-size:11px}.maint-actual-empty{padding:28px;border:1px dashed #cbd8e5;border-radius:8px;background:#f8fafc;color:#64748b;text-align:center}.maint-actual-modal{width:min(1120px,96vw);max-width:1120px}.maint-actual-modal .modal-body{max-height:72vh}.maint-actual-summary{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:8px;margin-bottom:10px}.maint-actual-summary>div,.maint-actual-fields>div{display:grid;gap:3px;padding:8px;border:1px solid #dbe5ef;border-radius:7px;background:#f8fafc;min-width:0}.maint-actual-summary span,.maint-actual-fields span,.maint-actual-edit-grid span{color:#64748b;font-size:10px;text-transform:capitalize}.maint-actual-summary strong,.maint-actual-fields strong{overflow-wrap:anywhere;color:#183e69;font-size:12px}.maint-actual-item{margin-top:9px;padding:9px;border:1px solid #d6e1eb;border-radius:8px}.maint-actual-item summary{cursor:pointer;color:#174d87;font-size:12px;font-weight:750}.maint-actual-fields{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:7px;margin-top:9px}.maint-actual-edit-item{margin-top:10px;padding:10px;border:1px solid #d6e1eb;border-radius:8px}.maint-actual-edit-item h3{margin:0 0 9px;color:#174d87;font-size:13px}.maint-actual-edit-grid{display:grid;grid-template-columns:repeat(3,minmax(170px,1fr));gap:8px}.maint-actual-edit-grid label{display:grid;gap:4px}.maint-actual-edit-grid .input{height:34px;min-height:34px;font-size:12px}.maint-info-strip.danger{border-color:#fecaca;background:#fef2f2;color:#991b1b}
@media(max-width:700px){.maint-actual-filter,.maint-actual-summary,.maint-actual-fields,.maint-actual-edit-grid{grid-template-columns:1fr}.maint-actual-filter .input{width:100%}}
.maint-actual-pager{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:9px;color:#62778c;font-size:11px}.maint-actual-pager>div{display:flex;gap:6px}
.maint-spk-panel-title{margin:12px 0 7px;color:#173f6d;font-size:11px;letter-spacing:.04em}.maint-spk-results{display:grid;grid-template-columns:repeat(3,minmax(170px,1fr));gap:7px;transition:opacity .15s}.maint-spk-results.loading{opacity:.55}.maint-spk-result{display:grid;align-content:start;gap:3px;min-height:74px;padding:8px;border:1px solid #dbe5ef;border-radius:7px;background:#f8fafc}.maint-spk-result>span{color:#64748b;font-size:10px}.maint-spk-result>strong{color:#183e69;font-size:12px;overflow-wrap:anywhere}.maint-spk-result>small{color:#78889a;font-size:9px;line-height:1.25}.maint-spk-result>small.formula{color:#506b87}.maint-spk-result>small.source{color:#17603a}.maint-spk-result.unavailable{border-color:#fed7aa;background:#fffaf5}.maint-spk-result.zero{border-color:#bfdbfe}.maint-spk-result.saved{border-style:dashed}.maint-actual-edit-item>.maint-spk-results,.maint-actual-item>.maint-spk-results{margin-top:0}
@media(max-width:700px){.maint-spk-results{grid-template-columns:1fr}}

/* Row-based horizontal workpapers: layout only; existing controls and evaluators are reused. */
.row-grid-legend{display:flex;align-items:center;gap:14px;padding:7px 10px;border:1px solid #dbe5ef;border-bottom:0;background:#f8fafc;color:#61758b;font-size:10px}
.row-grid-legend span{display:inline-flex;align-items:center;gap:5px}.row-grid-legend span:before{content:"";width:10px;height:10px;border:1px solid #d6e1eb;border-radius:2px;background:#fff}.row-grid-legend .lookup:before{background:#eef6ff}.row-grid-legend .calculation:before{background:#eefbf6}
.row-grid-wrap{position:relative;min-width:0;overflow:auto;border:1px solid #dbe5ef;background:#fff;scrollbar-gutter:stable}
.row-grid-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;color:#29445f;font-size:11px}
.row-grid-table th,.row-grid-table td{box-sizing:border-box;min-width:145px;max-width:190px;height:42px;padding:5px 7px;border-right:1px solid #dfe7ef;border-bottom:1px solid #dfe7ef;vertical-align:top;background:#fff;overflow-wrap:anywhere}
.row-grid-table thead th{position:sticky;top:0;z-index:5;height:34px;padding:6px 7px;background:#eaf1f8;color:#254761;font-size:9px;font-weight:800;line-height:1.15;text-align:center;text-transform:uppercase;white-space:normal}
.row-grid-table thead tr:nth-child(2) th{top:34px;z-index:6;background:#f1f6fb}
.row-grid-table .row-grid-group{top:0;z-index:7;height:34px;letter-spacing:.03em}.row-grid-table .row-grid-group.manual{background:#eaf1f8}.row-grid-table .row-grid-group.lookup{background:#e8f4ff}.row-grid-table .row-grid-group.calculation{background:#e9f8f1}
.row-grid-table .row-grid-sticky{position:sticky;z-index:10;min-width:46px;max-width:46px;background:#f7fafc}
.row-grid-table .row-grid-sticky-number{left:0;width:46px;min-width:46px;max-width:46px;text-align:center}
.row-grid-table .row-grid-sticky-identity{left:46px;width:190px;min-width:190px;max-width:190px;box-shadow:2px 0 4px rgba(30,55,80,.08)}
.row-grid-table thead .row-grid-sticky{z-index:14;background:#eaf1f8}.row-grid-table thead tr:nth-child(2) .row-grid-sticky{z-index:15}
.row-grid-table tbody tr:hover td{background:#f9fbfd}.row-grid-table tbody tr:hover .row-grid-sticky{background:#f3f7fb}
.row-grid-table .row-grid-sticky-identity strong{display:block;color:#173f6d;font-size:11px}.row-grid-table .row-grid-sticky-identity small{display:block;margin-top:3px;color:#74879a;font-size:9px;line-height:1.25}
.row-grid-input,.row-grid-table .ip-compact-input,.row-grid-table .ip-output{width:100%;height:34px!important;min-height:34px!important;padding:5px 7px!important;font-size:11px!important}
.row-grid-value{white-space:normal}.row-grid-result{background:#f8fbfe!important}.row-grid-result>strong{display:block;color:#193f68;font-size:11px}.row-grid-result>small{display:block;margin-top:3px;color:#75869a;font-size:9px;line-height:1.2}.row-grid-result>small.formula{color:#4e6b88}.row-grid-result>small.source{color:#17603a}.row-grid-result.unavailable{background:#fffaf3!important}.row-grid-result.loading{opacity:.55}
.maint-actual-modal{width:98vw!important;max-width:none!important;height:94vh;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}
.maint-actual-modal .modal-head{padding:12px 16px}.maint-actual-modal .modal-body{display:flex;min-height:0;max-height:none!important;padding:10px 14px;overflow:hidden}.maint-actual-modal .maint-actual-detail{display:flex;flex:1;min-width:0;min-height:0;flex-direction:column}.maint-actual-modal .maint-actual-summary{grid-template-columns:repeat(6,minmax(120px,1fr));margin-bottom:7px}.maint-actual-modal .maint-info-strip{margin-bottom:7px;padding:7px 9px}.maint-spk-row-grid{flex:1;min-height:220px}.maint-spk-row-grid .row-grid-result{min-width:175px;max-width:220px}.maint-actual-modal .modal-foot{position:relative;z-index:20;padding:10px 16px;background:#fff}
.ip-row-workpaper{min-width:0}.ip-row-grid-wrap{max-height:280px}.ip-row-grid-wrap .row-grid-sticky-identity{left:0}.ip-row-grid-wrap .row-grid-table th,.ip-row-grid-wrap .row-grid-table td{min-width:145px}.ip-row-grid-wrap .row-grid-table .row-grid-sticky-identity{min-width:190px;max-width:190px}.ip-row-identity{display:table-cell}.ip-row-identity .ip-status-pill{display:inline-flex;margin-top:6px}.ip-row-identity .btn{display:block;margin-top:6px;min-height:27px;padding:4px 9px;font-size:10px}.ip-row-notes{display:flex;gap:18px;padding:5px 10px;color:#718399;font-size:10px}.ip-row-footer{position:sticky;bottom:0;z-index:20;margin-top:0;border-top:1px solid #dbe5ef;background:#fff}
.ip-actual-row-grid{max-height:460px}.ip-actual-row-grid .row-grid-result{min-width:145px;max-width:185px}.ip-actual-host>.row-grid-legend{border-left:0;border-right:0}
@media(max-width:900px){.maint-actual-modal{width:100vw!important;height:100vh;border-radius:0}.maint-actual-modal .maint-actual-summary{grid-template-columns:repeat(3,minmax(110px,1fr))}.row-grid-table th,.row-grid-table td{min-width:132px}.row-grid-table .row-grid-sticky-identity{width:168px;min-width:168px;max-width:168px}}

/* Approved enterprise workpaper direction: single-level header, compact rows, layout only. */
.row-grid-toolbar{position:sticky;top:64px;z-index:24;display:flex;align-items:center;gap:18px;min-height:54px;padding:7px 12px;border:1px solid #cfddeb;border-bottom:0;background:rgba(250,252,255,.98);box-shadow:0 3px 10px rgba(19,54,91,.06);backdrop-filter:blur(7px)}
.maint-actual-modal .row-grid-toolbar{top:0}.row-grid-toolbar-title{display:grid;min-width:max-content;gap:1px;color:#0d3158}.row-grid-toolbar-title strong{font-size:14px;letter-spacing:.025em}.row-grid-toolbar-title small{color:#617890;font-size:10px}.row-grid-toolbar .row-grid-legend{flex:1;padding:0;border:0;background:transparent;font-size:10px}.row-grid-toolbar-filters{display:flex;align-items:center;gap:8px;margin-left:auto}.row-grid-filter{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 10px;border:1px solid #cbd9e8;border-radius:6px;background:#fff;color:#61758c;font-size:10px;white-space:nowrap}.row-grid-filter b{color:#173f6d;font-size:11px}.row-grid-search{width:270px!important;height:36px!important;min-height:36px!important;font-size:11px!important}
.row-grid-subtoolbar{display:flex;align-items:center;justify-content:flex-end;gap:7px;padding:7px 10px;border:1px solid #d7e3ee;border-bottom:0;background:#f5f8fc}.row-grid-subtoolbar label{display:flex;align-items:center;gap:7px;color:#5a7087;font-size:10px;font-weight:750}.row-grid-subtoolbar .input,.row-grid-subtoolbar .btn{height:34px;min-height:34px;font-size:10px}.row-grid-subtoolbar .ip-form-select{width:220px}
.row-grid-wrap{overscroll-behavior:contain;scroll-behavior:smooth;border-color:#cfdeeb;border-radius:0;background:#fff}.row-grid-table{font-size:11px}.row-grid-table th,.row-grid-table td{min-width:140px;max-width:190px;height:52px;padding:7px 8px;vertical-align:middle;border-color:#d7e3ee;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-grid-table thead th{height:46px;padding:7px 8px;background:#e8f2fb;color:#173e68;font-size:10px;line-height:1.15;white-space:normal}.row-grid-table .row-grid-manual{background:#fff}.row-grid-table thead .row-grid-manual{background:#e9f2fb}.row-grid-table .row-grid-lookup{background:#f0f7ff!important}.row-grid-table thead .row-grid-lookup{background:#dfefff!important}.row-grid-table .row-grid-calculation{background:#eef9f2!important}.row-grid-table thead .row-grid-calculation{background:#ddf3e5!important}.row-grid-table tbody tr:hover .row-grid-manual{background:#f8fbff}.row-grid-table tbody tr:hover .row-grid-lookup{background:#e8f3ff!important}.row-grid-table tbody tr:hover .row-grid-calculation{background:#e6f6ec!important}
.row-grid-table .row-grid-sticky-number{left:0;width:48px;min-width:48px;max-width:48px;background:#fff!important}.row-grid-table .row-grid-sticky-identity{left:48px;width:176px;min-width:176px;max-width:176px;background:#fff!important;box-shadow:3px 0 7px rgba(28,62,96,.11)}.row-grid-table thead .row-grid-sticky{z-index:16;background:#dcebf7!important}.row-grid-table tbody tr:hover .row-grid-sticky{background:#f5f9fd!important}.row-grid-table .row-grid-sticky-identity strong{overflow:hidden;color:#0f4fa0;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.row-grid-table .row-grid-sticky-identity small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.row-grid-input,.row-grid-table .ip-compact-input,.row-grid-table .ip-output{height:36px!important;min-height:36px!important;padding:5px 8px!important;border-radius:5px!important;font-size:11px!important}.row-grid-input:invalid,.row-grid-table .ip-compact-input:invalid{border-color:#dc2626!important;background:#fff6f6!important;box-shadow:0 0 0 1px rgba(220,38,38,.12)}.row-grid-result>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-grid-result>small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-grid-result.unavailable{background:#fff8ef!important}
.row-grid-field-tgl_input,.row-grid-field-tgl_muat,.row-grid-field-tgl_bongkar,.row-grid-field-tgl_rekon,.row-grid-field-tanggal,.row-grid-field-tgl_terakhir_ganti,.row-grid-field-tgl_ban_lama,.row-grid-field-tgl_ban_baru{width:132px!important;min-width:132px!important;max-width:132px!important}.row-grid-field-jam_muat,.row-grid-field-jam_bongkar,.row-grid-field-jam{width:104px!important;min-width:104px!important;max-width:104px!important}.row-grid-field-no_lambung{width:154px!important;min-width:154px!important;max-width:154px!important}.row-grid-field-driver,.row-grid-field-driver_asset,.row-grid-field-driver_vendor{width:205px!important;min-width:205px!important;max-width:205px!important}.row-grid-field-rute{width:158px!important;min-width:158px!important;max-width:158px!important}.row-grid-field-qty{width:94px!important;min-width:94px!important;max-width:94px!important}.row-grid-field-ns_lama,.row-grid-field-ns_baru,.row-grid-field-nolam_lama,.row-grid-field-nolam_baru{width:155px!important;min-width:155px!important;max-width:155px!important}.row-grid-field-kategori_pekerjaan,.row-grid-field-kategori_sparepart,.row-grid-field-kategori_posisi_ban{width:164px!important;min-width:164px!important;max-width:164px!important}.row-grid-field-keluhan,.row-grid-field-keterangan{width:250px!important;min-width:250px!important;max-width:250px!important}.row-grid-field-harga_sparepart,.row-grid-field-harga_jasa,.row-grid-field-harga_pcs,.row-grid-field-total_harga,.row-grid-field-beban_driver_manual,.row-grid-field-beban_driver_sistem,.row-grid-field-total_beban_driver,.row-grid-field-beban_ssg{width:132px!important;min-width:132px!important;max-width:132px!important}
.ip-row-grid-wrap{max-height:calc(100vh - 310px)}.maint-spk-row-grid{min-height:260px;max-height:calc(94vh - 235px)}.ip-row-grid-wrap .row-grid-sticky-identity{left:48px}.row-grid-input-row td{box-shadow:inset 0 2px 0 #2a78d1}.row-grid-existing-row .ip-row-identity .btn{display:inline-flex;margin:3px 0 0}.row-grid-message{min-height:28px;padding:6px 11px;border:1px solid #d7e3ee;border-top:0;background:#f7fafc;color:#60758b;font-size:10px}.ip-row-notes{margin:0;border:1px solid #d7e3ee;border-top:0;background:#fff}.ip-status{margin:0;border-radius:0}.ip-row-footer{display:flex;align-items:center;justify-content:space-between;min-height:58px;padding:9px 12px!important}.row-grid-total{margin-right:auto;color:#173f6d;font-size:12px;font-weight:800}.row-grid-footer-actions{display:flex;align-items:center;gap:8px}.maint-actual-modal .modal-foot{display:flex;align-items:center;gap:8px;position:sticky;bottom:0}.maint-actual-modal .modal-foot .row-grid-total{margin-right:auto}
@media(max-width:1050px){.row-grid-toolbar{align-items:flex-start;flex-wrap:wrap}.row-grid-toolbar .row-grid-legend{order:3;flex-basis:100%}.row-grid-toolbar-filters{margin-left:0}.row-grid-search{width:230px!important}}
@media(max-width:1050px){.maint-actual-modal .row-grid-toolbar{position:relative;top:auto;flex:0 0 auto;align-content:flex-start;row-gap:6px}}
@media(max-width:700px){.row-grid-toolbar{top:0}.row-grid-toolbar-filters{width:100%;overflow:auto}.row-grid-search{min-width:230px}.row-grid-subtoolbar{justify-content:flex-start;overflow:auto}.row-grid-table th,.row-grid-table td{min-width:132px}.row-grid-table .row-grid-sticky-identity{width:168px;min-width:168px;max-width:168px}}

/* Keep dense workpaper rows within the approved desktop 48-54px target. */
.row-grid-table tbody td{height:52px;padding:4px 7px}
.row-grid-table .row-grid-sticky-identity strong{line-height:1.1}
.row-grid-table .row-grid-sticky-identity small{margin-top:2px;line-height:1.05}
.ip-row-identity .ip-status-pill{margin-top:2px}
.row-grid-existing-row .ip-row-identity .btn{min-height:22px;margin-top:2px;padding:2px 7px;font-size:9px;line-height:1}

/* Maintenance shared master: intentionally scoped so the approved dashboard is unchanged. */
.maint-master-scope{display:flex;align-items:center;gap:8px;padding:7px 11px;border:1px solid #bfdbfe;border-radius:8px;background:#eff6ff;color:#174d87}.maint-master-scope strong{padding:3px 7px;border-radius:999px;background:#1769d2;color:#fff;font-size:10px;letter-spacing:.05em}.maint-master-scope span{font-size:11px;font-weight:700}.maint-master-shell{overflow:hidden;border:1px solid var(--m-line,#d7e1eb);border-radius:10px;background:#fff}.maint-master-tabs{display:flex;gap:4px;padding:7px;border-bottom:1px solid #dce5ed;background:#f5f8fb}.maint-master-tabs button{display:flex;align-items:center;justify-content:center;gap:8px;min-width:160px;min-height:38px;padding:7px 15px;border:0;border-radius:7px;background:transparent;color:#526b84;font-weight:700;cursor:pointer}.maint-master-tabs button small{display:grid;min-width:25px;height:21px;padding:0 6px;place-items:center;border-radius:11px;background:#dfe8f2;color:#34516d;font-size:10px}.maint-master-tabs button.active{background:#145eb8;color:#fff}.maint-master-tabs button.active small{background:rgba(255,255,255,.22);color:#fff}.maint-master-body{padding:14px}.maint-master-tools{display:grid;grid-template-columns:minmax(220px,2fr) minmax(145px,1fr) minmax(125px,.8fr) minmax(110px,.7fr) auto;gap:8px;margin-bottom:12px}.maint-master-tools .input,.maint-master-tools .btn{min-height:36px;height:36px;font-size:12px}.maint-master-table-wrap{overflow:auto;border:1px solid #d8e2ec;border-radius:8px}.maint-master-table{width:100%;border-collapse:collapse;font-size:12px}.maint-master-table th{padding:9px 10px;background:#174d87;color:#fff;text-align:left;white-space:nowrap}.maint-master-table td{padding:8px 10px;border-bottom:1px solid #e3eaf1;color:#263f58}.maint-master-table tbody tr:nth-child(even){background:#f8fafc}.maint-master-table tbody tr:hover{background:#eff6ff}.maint-master-table td:first-child,.maint-master-table th:first-child{width:48px;text-align:center}.maint-master-table td:last-child,.maint-master-table th:last-child{width:90px;text-align:center}.maint-master-table td.num{text-align:right}.maint-master-status{display:inline-flex;padding:3px 8px;border-radius:999px;font-size:10px;font-weight:800}.maint-master-status.active{background:#dcfce7;color:#166534}.maint-master-status.inactive{background:#f1f5f9;color:#64748b}.maint-master-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;color:#64748b;font-size:11px}.maint-master-pager>div{display:flex;align-items:center;gap:8px}.maint-master-page{min-width:100px;text-align:center;font-weight:700;color:#334e68}.maint-master-loading,.maint-master-error,.maint-master-empty,.maint-master-denied{padding:36px;border:1px dashed #cbd8e5;border-radius:8px;background:#f8fafc;color:#64748b;text-align:center}.maint-master-error,.maint-master-denied{color:#991b1b;background:#fef2f2}.maint-master-denied h2{margin:0 0 5px}.maint-master-denied p{margin:0}.maint-master-detail{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:10px}.maint-master-detail>div:not(.maint-master-readonly){display:grid;gap:4px;padding:11px;border:1px solid #dbe5ef;border-radius:7px;background:#f8fafc}.maint-master-detail span{color:#64748b;font-size:11px}.maint-master-detail strong{color:#123d73;font-size:13px}.maint-master-readonly{grid-column:1/-1;padding:10px 12px;border-left:3px solid #2563eb;background:#eff6ff;color:#234f7e;font-size:11px;font-weight:700}
.maint-master-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.maint-master-section-head h2{margin:0;color:#123d73;font-size:16px;font-weight:650}.maint-master-section-head p{margin:2px 0 0;color:#64748b;font-size:12px}.maint-master-section-head>strong{padding:5px 9px;border-radius:999px;background:#eff6ff;color:#145eb8;font-size:11px}
.maint-master-section-actions{display:flex;align-items:center;gap:9px}.maint-master-section-actions>strong{padding:5px 9px;border-radius:999px;background:#eff6ff;color:#145eb8;font-size:11px}.maint-master-row-actions{display:flex;align-items:center;justify-content:center;gap:5px;min-width:250px}.maint-master-row-actions .btn{white-space:nowrap}.maint-master-form{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:12px}.maint-master-form-field{display:grid;gap:5px;color:#334e68;font-size:12px;font-weight:700}.maint-master-form-field .input{min-height:38px}.maint-master-category-field{display:grid;gap:7px}.maint-master-default-status{grid-column:1/-1;padding:9px 11px;border-left:3px solid #16a34a;border-radius:5px;background:#ecfdf5;color:#36546f;font-size:12px}.maint-master-default-status strong{color:#166534}.maint-master-confirm{display:grid;gap:8px}.maint-master-confirm p{margin:0;color:#173858;font-size:14px}.maint-master-confirm strong{padding:9px;border-radius:6px;background:#f8fafc;color:#123d73}.maint-master-confirm small{color:#64748b;line-height:1.5}.vendor-bengkel-form textarea.input{height:auto;min-height:74px;padding-top:8px;resize:vertical}.vendor-bengkel-tools{grid-template-columns:minmax(220px,2fr) minmax(180px,1.2fr) minmax(130px,.8fr) minmax(125px,.8fr) 120px auto}
@media(max-width:1100px){.vendor-bengkel-tools{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.vendor-bengkel-tools{grid-template-columns:1fr}}
@media(max-width:1050px){.maint-master-tools{grid-template-columns:2fr 1fr 1fr}.maint-master-tools .maint-master-size,.maint-master-tools .btn{grid-row:2}.maint-master-tools .btn{grid-column:2/4}}
@media(max-width:700px){.maint-master-scope{align-self:stretch;justify-content:center}.maint-master-tabs button{min-width:0;flex:1}.maint-master-body{padding:10px}.maint-master-section-head{align-items:flex-start;flex-direction:column}.maint-master-tools{grid-template-columns:1fr}.maint-master-tools .maint-master-size,.maint-master-tools .btn{grid-row:auto;grid-column:auto}.maint-master-table{min-width:880px}.maint-master-pager{align-items:flex-start;flex-direction:column}.maint-master-detail,.maint-master-form{grid-template-columns:1fr}}

/* Operational import: compact review-first workflow. */
.import-shell{overflow:hidden;border:1px solid #d5e1ed;border-radius:11px;background:#fff;box-shadow:0 4px 16px rgba(16,55,96,.05)}
.import-context{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 16px;border-bottom:1px solid #dce6ef;background:#f5f9fd}.import-context>div{display:grid;gap:2px}.import-context span{color:#6b7f93;font-size:10px;font-weight:800;letter-spacing:.07em}.import-context strong{color:#0b4d91;font-size:18px}.import-context p{margin:0;color:#557087;font-size:11px}
.import-upload{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px}.import-upload h2,.import-history-section h2{margin:0;color:#123d73;font-size:15px}.import-upload p,.import-history-section p{margin:3px 0 0;color:#6b7f93;font-size:11px}.import-upload-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.import-file-meta,.import-structure{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:8px;margin:0 16px 12px}.import-file-meta>div,.import-structure>div,.import-batch-detail>div,.import-confirm>div{display:grid;gap:3px;min-width:0;padding:9px 10px;border:1px solid #dce5ee;border-radius:7px;background:#f8fafc}.import-file-meta span,.import-structure span,.import-batch-detail span,.import-confirm span{color:#73869a;font-size:9px;font-weight:800;text-transform:uppercase}.import-file-meta strong,.import-structure strong,.import-batch-detail strong,.import-confirm strong{overflow:hidden;color:#173f70;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.import-file-meta>span{grid-column:1/-1;padding:12px;color:#6b7f93;font-size:11px;text-align:center}
.import-message{margin:0 16px 14px;padding:9px 11px;border-left:3px solid #7890a8;border-radius:5px;background:#f3f6f9;color:#435d74;font-size:11px;font-weight:650}.import-message.success{border-left-color:#16a34a;background:#ecfdf5;color:#166534}.import-message.error{border-left-color:#dc2626;background:#fef2f2;color:#991b1b}
.import-preview{padding:0 16px 4px}.import-preview .import-structure{margin:0 0 12px}.import-summary-section{margin-bottom:12px;padding:12px;border:1px solid #dce5ee;border-radius:8px}.import-summary-section h3{margin:0 0 9px;color:#173f70;font-size:12px}.import-counts{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.import-count{display:flex;align-items:center;justify-content:space-between;min-height:46px;padding:8px 10px;border:1px solid #d7e1ea;border-radius:7px;background:#f8fafc;color:#526a80;text-align:left}.import-count span{font-size:10px;font-weight:750}.import-count strong{font-size:18px}.import-count.existing{background:#f1f5f9}.import-count.new{border-color:#bbdfc8;background:#effbf3;color:#166534}.import-count.conflict{border-color:#efd49c;background:#fffaf0;color:#9a5a00}.import-count.invalid{border-color:#f0c3c3;background:#fff5f5;color:#a51d1d}.import-count:not(.source){cursor:pointer}
.import-history-section{padding:14px 16px 16px;border-top:1px solid #dce6ef}.import-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.import-table-wrap{overflow:auto;border:1px solid #d8e2ec;border-radius:8px}.import-table{width:100%;border-collapse:collapse;font-size:11px}.import-table th{padding:8px 9px;background:#174d87;color:#fff;text-align:left;white-space:nowrap}.import-table td{padding:8px 9px;border-bottom:1px solid #e3eaf1;vertical-align:top}.import-table tbody tr:nth-child(even){background:#f8fafc}.import-table td.num{text-align:right}.history-table{min-width:1050px}.import-loading,.import-empty,.import-denied{padding:28px;border:1px dashed #cbd8e5;border-radius:8px;background:#f8fafc;color:#64748b;text-align:center}.import-denied{color:#991b1b;background:#fef2f2}.import-row-status{display:block;font-size:10px}.import-row-status.new{color:#167044}.import-row-status.conflict{color:#9a5a00}.import-row-status.invalid{color:#b42318}.import-table td small{display:block;margin-top:3px;color:#64748b}.import-differences{display:grid;gap:5px;min-width:360px}.import-differences>div{display:grid;grid-template-columns:130px 1fr 1fr;gap:6px;padding:5px;border-radius:5px;background:#fff8e7}.import-differences b{color:#6c4a0a}.import-differences span{overflow-wrap:anywhere}.import-detail-modal{width:min(1120px,96vw);max-width:1120px}.import-detail{max-height:65vh;overflow:auto}.import-batch-detail,.import-confirm{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:9px}.import-confirm{grid-template-columns:1fr}
.import-detail-section{padding:16px;border-top:1px solid #dce6ef;background:#fbfdff}.import-detail-controls{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:10px 0}.import-selector{display:flex;gap:5px;margin-top:6px}.import-selector button{padding:7px 11px;border:1px solid #cfdae6;border-radius:6px;background:#fff;color:#526a80;font-size:10px;font-weight:800;cursor:pointer}.import-selector button.active{border-color:#1f6fd1;background:#eaf4ff;color:#0f57ad}.import-detail-search{display:flex;align-items:center;gap:6px}.import-search{width:260px}.import-page-size{width:120px}.import-select-all{display:flex;align-items:center;gap:6px;color:#174d87;font-size:11px;font-weight:800}.import-review-table{min-width:900px}.import-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;color:#64748b;font-size:11px}.import-pagination>div{display:flex;gap:6px}.import-action-bar{position:sticky;bottom:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 16px;border-top:1px solid #b9d2e9;background:rgba(245,250,255,.97);box-shadow:0 -5px 16px rgba(20,69,117,.1)}.import-action-bar[hidden]{display:none}.import-selected-summary{display:flex;align-items:center;gap:14px;color:#526a80;font-size:11px}.import-selected-summary strong{color:#123d73;font-size:14px}.import-full-fields{display:grid;grid-template-columns:repeat(2,minmax(250px,1fr));gap:7px;max-height:65vh;overflow:auto}.import-full-fields>div{display:grid;grid-template-columns:180px 1fr;gap:8px;padding:7px 9px;border:1px solid #e0e8f0;border-radius:6px;background:#fafcfe}.import-full-fields strong{color:#173f70}.import-full-fields span{overflow-wrap:anywhere}.import-conflict-full{grid-column:1/-1!important;display:block!important;border-color:#efd49c!important;background:#fffaf0!important}.import-conflict-full>div{display:grid;grid-template-columns:160px 1fr 1fr;gap:8px;padding:6px 0;border-top:1px solid #f0dfb8}.import-batch-detail{display:block}.import-batch-detail>.import-structure{margin-bottom:14px}.import-batch-rows{margin-top:14px}.import-batch-rows h3{color:#173f70;font-size:12px}
@media(max-width:800px){.import-context,.import-upload{align-items:flex-start;flex-direction:column}.import-file-meta,.import-structure{grid-template-columns:1fr 1fr}.import-counts{grid-template-columns:1fr 1fr}.import-upload-actions{width:100%}.import-upload-actions .btn{flex:1}.import-batch-detail{grid-template-columns:1fr}.import-detail-controls,.import-action-bar,.import-selected-summary{align-items:flex-start;flex-direction:column}.import-detail-search{width:100%;flex-wrap:wrap}.import-search{width:100%}.import-full-fields{grid-template-columns:1fr}}

.import-batch-rows{display:block!important}

/* Maintenance master-backed input: custom searchable pickers, no browser datalist. */
.maint-inline-form.compact-needs{grid-template-columns:1.4fr 1.4fr .5fr auto}
.maint-master-picker{position:relative;min-width:0}
.maint-master-picker>.input{width:100%}
.maint-master-picker>.input:disabled{border-style:dashed;background:#f6f8fa;color:#6b7f92;cursor:not-allowed}
.maint-master-options{position:absolute;z-index:40;top:calc(100% + 4px);right:0;left:0;max-height:260px;overflow:auto;padding:5px;border:1px solid #bccbd9;border-radius:8px;background:#fff;box-shadow:0 12px 28px rgba(15,43,75,.16)}
.maint-row-master-picker{position:relative;width:100%;overflow:visible}.maint-row-master-options{position:fixed;z-index:1000;right:auto;bottom:auto;max-height:260px}.maint-row-master-options button strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.maint-row-master-input{padding-right:24px!important}
.maint-master-options button{display:grid;width:100%;gap:2px;padding:8px 9px;border:0;border-radius:6px;background:#fff;color:#24384c;text-align:left;cursor:pointer}
.maint-master-options button:hover,.maint-master-options button:focus{background:#edf5ff;outline:none}
.maint-master-options strong{font-size:12px;font-weight:650}
.maint-master-options small{color:#60778d;font-size:10px}
.maint-master-empty{padding:12px;color:#6b7f92;font-size:11px;text-align:center}
.maint-master-status{margin:0 0 9px;padding:8px 10px;border-left:3px solid #d18a00;border-radius:6px;background:#fff8e8;color:#785000;font-size:11px;line-height:1.45}
.maint-master-status.ready{border-left-color:#16834f;background:#edf9f2;color:#155d3c}
.maint-master-status.blocked{border-left-color:#c2413b;background:#fff1f0;color:#8b2e29}
@media(max-width:700px){.maint-inline-form.compact-needs{grid-template-columns:1fr}.maint-master-options{position:static;margin-top:4px}}

/* Maintenance dashboard — owner-approved operational composition */
.maint-dashboard-head{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:72px;margin:0 0 12px;padding:0 4px}
.maint-dashboard-title h1{margin:0;color:#0f3768;font-size:28px;font-weight:750;line-height:1;letter-spacing:.01em}
.maint-dashboard-title strong{display:block;margin-top:4px;color:#123d73;font-size:14px;font-weight:700}
.maint-dashboard-title p{margin:3px 0 0;color:#536b84;font-size:13px}
.maint-dashboard-head-tools{display:flex;align-items:center;gap:20px}
.maint-dashboard-clock{display:grid;gap:3px;min-width:190px;color:#50657c;font-size:12px;text-align:right}
.maint-dashboard-clock strong{color:#314b67;font-size:12px;font-weight:600}
.maint-create-wo{display:flex!important;align-items:center;justify-content:center;gap:9px;min-width:150px!important;min-height:50px!important;background:#2563eb!important;border-color:#2563eb!important;box-shadow:0 8px 18px rgba(37,99,235,.2)}
.maint-create-wo svg{width:20px;height:20px}
.maint-dashboard-panel{margin-bottom:14px;border:1px solid #d7e1ec;border-radius:10px;background:#fff;box-shadow:0 1px 2px rgba(15,42,73,.03)}
.maint-dashboard-section-head{display:flex;align-items:center;gap:10px;padding:12px 16px 9px}
.maint-dashboard-section-head h2{margin:0;color:#0f3768;font-size:15px;font-weight:750;line-height:1.2}
.maint-dashboard-section-head p{margin:3px 0 0;color:#61758b;font-size:12px}
.maint-dashboard-section-head.action-head{border-bottom:1px solid #e1e8ef}
.maint-dashboard-section-head.action-head>button{margin-left:auto;border:0;background:transparent;color:#2563eb;font-size:12px;font-weight:600;cursor:pointer}
.maint-section-icon{display:grid;width:28px;height:28px;flex:0 0 28px;place-items:center;border-radius:8px}
.maint-section-icon svg{width:18px;height:18px}
.maint-section-icon.workflow{background:#eaf2ff;color:#2563eb}
.maint-section-icon.attention{background:#fff0ec;color:#ef442e}
.maint-section-icon.register{background:#dff8f3;color:#0f766e}
.maint-section-icon.activity{background:#e8f1ff;color:#2563eb}
.maint-workflow-panel{padding:16px 18px}
.maint-workflow-panel .maint-dashboard-section-head{padding:0 0 10px}
.maint-workflow-panel .maint-dashboard-section-head h2{font-size:19px;font-weight:750}
.maint-workflow-panel .maint-dashboard-section-head p{font-size:13px}
.maint-workflow-panel .maint-section-icon{width:40px;height:40px;flex-basis:40px}
.maint-workflow-panel .maint-section-icon svg{width:22px;height:22px}
.maint-workflow-track{display:grid;grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr) 16px minmax(0,1fr) 16px minmax(0,1fr);align-items:center;gap:6px;min-width:0;padding:0}
.maint-workflow-card{display:grid;grid-template-columns:50px minmax(0,.78fr) minmax(0,1.12fr);align-items:center;gap:8px;min-width:0;height:108px;padding:10px;border:1px solid transparent;border-left-width:3px;border-radius:9px;text-align:left;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}
.maint-workflow-card:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(19,52,88,.08)}
.maint-workflow-icon{display:grid;width:50px;height:50px;flex:0 0 50px;place-items:center;border-radius:50%;color:#fff}
.maint-workflow-icon svg{width:25px;height:25px}
.maint-workflow-primary{display:grid;align-content:center;gap:4px;min-width:0;line-height:1.1}
.maint-workflow-primary b{font-size:14px;font-weight:700;overflow-wrap:anywhere}
.maint-workflow-primary strong{font-size:28px;font-weight:750;line-height:1}
.maint-workflow-details{display:grid;align-content:center;gap:5px;min-width:0;min-height:58px;padding-left:9px;border-left:1px solid currentColor;line-height:1.2}
.maint-workflow-details small{font-size:12px;overflow-wrap:anywhere}
.maint-workflow-card.stage-wo{border-color:#93c5fd;border-left-color:#2563eb;background:#eff6ff;color:#1e3a8a}.maint-workflow-card.stage-wo .maint-workflow-icon{background:#3b82f6}
.maint-workflow-card.stage-fkk{border-color:#f9cc78;border-left-color:#f59e0b;background:#fffbeb;color:#92400e}.maint-workflow-card.stage-fkk .maint-workflow-icon{background:#f59e0b}
.maint-workflow-card.stage-spk{border-color:#80e1c2;border-left-color:#10b981;background:#ecfdf5;color:#065f46}.maint-workflow-card.stage-spk .maint-workflow-icon{background:#10b981}
.maint-workflow-card.stage-closed-billing{border-color:#c8b5fc;border-left-color:#8b5cf6;background:#f5f3ff;color:#5b21b6}.maint-workflow-card.stage-closed-billing .maint-workflow-icon{background:#8b5cf6}
.maint-workflow-chevron{color:#0f4d8e;font-size:21px;font-weight:300;text-align:center}
.maint-dashboard-split{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(390px,.88fr);gap:14px}
.maint-attention-panel,.maint-register-panel{min-width:0}
.maint-attention-list{padding:0 16px 8px}
.maint-attention-row{display:grid;grid-template-columns:42px minmax(0,1fr) 92px;align-items:center;gap:12px;min-height:66px;border-bottom:1px solid #e5ebf1}
.maint-attention-row:last-child{border-bottom:0}
.maint-attention-icon{display:grid;width:38px;height:38px;place-items:center;border-radius:11px;color:#fff}
.maint-attention-icon svg{width:20px;height:20px}
.maint-attention-copy{display:grid;gap:3px}.maint-attention-copy strong{color:#153d70;font-size:13px}.maint-attention-copy small{color:#60758d;font-size:11px}
.tone-fkk .maint-attention-icon{background:#f59e0b}.tone-spk .maint-attention-icon{background:#10b981}.tone-wo .maint-attention-icon{background:#2563eb}.tone-closed .maint-attention-icon{background:#8b5cf6}
.maint-inline-action{min-height:32px;border:1px solid currentColor;border-radius:7px;background:#fff;color:#2563eb;font-size:11px;font-weight:700;cursor:pointer}.tone-fkk .maint-inline-action{color:#b96305}.tone-spk .maint-inline-action{color:#087d5a}.tone-closed .maint-inline-action{color:#7c3aed}
.maint-action-empty{display:flex;align-items:center;gap:12px;min-height:82px;color:#0f766e}.maint-action-empty>span{display:grid;width:38px;height:38px;place-items:center;border-radius:50%;background:#d9f7ee;font-size:20px;font-weight:700}.maint-action-empty div{display:grid;gap:3px}.maint-action-empty strong{color:#0b665f;font-size:13px}.maint-action-empty small{color:#60758d;font-size:11px}
.maint-register-panel{border-color:#b7e6de;background:linear-gradient(135deg,#fff 0%,#f0fdfa 100%)}
.maint-register-body{display:grid;gap:10px;padding:0 14px 14px}
.maint-register-metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.maint-register-metric{display:grid;min-height:72px;place-items:center;padding:10px 5px;border:1px solid #d9e7ee;border-radius:8px;background:#f8fafc;color:#315273;text-align:center}.maint-register-metric span{font-size:9px;font-weight:700}.maint-register-metric strong{font-size:24px;font-weight:750}.maint-register-metric.metric-waiting{background:#fffbeb;color:#9a5104}.maint-register-metric.metric-registered,.maint-register-metric.metric-submitted{background:#eff6ff;color:#174b99}.maint-register-metric.metric-approved,.maint-register-metric.metric-paid{background:#ecfdf5;color:#087253}
.maint-register-alert,.maint-register-ok{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:10px;min-height:58px;padding:9px 12px;border-radius:8px;text-align:left}.maint-register-alert{border:1px solid #f5d18b;background:#fff8e7;color:#9a4c05;cursor:pointer}.maint-register-ok{grid-template-columns:36px 1fr;border:1px solid #bfeade;background:#eafbf6;color:#0d6a5d}.maint-register-alert>span,.maint-register-ok>span{display:grid;width:32px;height:32px;place-items:center;border-radius:50%;background:#f59e0b;color:#fff;font-size:17px;font-weight:800}.maint-register-ok>span{background:#10a67e}.maint-register-alert div,.maint-register-ok div{display:grid;gap:3px}.maint-register-alert strong,.maint-register-ok strong{font-size:12px}.maint-register-alert small,.maint-register-ok small{font-size:10px;color:#66798d}.maint-register-alert>b{font-size:22px}
.maint-activity-panel{padding-bottom:12px}
.maint-dashboard-table-wrap{margin:0 14px;overflow-x:auto;border:1px solid #d6e0ea;border-radius:8px}
.maint-dashboard-table{width:100%;min-width:940px;border-collapse:collapse;font-size:12px}
.maint-dashboard-table th{height:34px;padding:7px 9px;border-bottom:1px solid #cfd9e4;background:#edf3f8;color:#27445f;font-size:11px;font-weight:700;text-align:left;white-space:nowrap}
.maint-dashboard-table td{height:38px;padding:7px 9px;border-bottom:1px solid #e4eaf0;color:#2b4055;font-size:12px;white-space:nowrap}.maint-dashboard-table tbody tr:last-child td{border-bottom:0}.maint-dashboard-table tbody tr:hover{background:#f6f9fc}
.maint-stage-badge{display:inline-flex;padding:4px 8px;border-radius:6px;font-size:10px;font-weight:750}.maint-stage-badge.stage-wo{background:#e2edff;color:#1d55b3}.maint-stage-badge.stage-fkk{background:#fff0d2;color:#a65b00}.maint-stage-badge.stage-spk{background:#d9f8ec;color:#087854}.maint-stage-badge.stage-closed-billing{background:#eee7ff;color:#6d34c7}.maint-stage-badge.stage-register{background:#dff7f4;color:#0f6e68}
.maint-table-action{min-width:68px;height:28px;border:1px solid #2563eb;border-radius:6px;background:#fff;color:#1d59c6;font-size:11px;font-weight:700;cursor:pointer}
.maint-dashboard-empty{height:96px!important;padding:14px!important;text-align:center!important;white-space:normal!important}.maint-dashboard-empty strong,.maint-dashboard-empty span{display:block}.maint-dashboard-empty strong{color:#39536e;font-size:13px}.maint-dashboard-empty span{margin:4px 0 10px;color:#75879a;font-size:11px}.maint-dashboard-empty .btn{display:inline-flex}
@media(max-width:1180px){.maint-workflow-track{grid-template-columns:1fr 18px 1fr;row-gap:10px}.maint-workflow-track .maint-workflow-chevron:nth-of-type(2){display:none}.maint-dashboard-split{grid-template-columns:1fr}.maint-register-panel{min-width:0}}
@media(max-width:760px){.maint-topbar .topbar-search{display:none}.maint-topbar .tb-sub{display:none}.maint-topbar .user-menu>div:not(.avatar){display:none}.maint-topbar .topbar-brand{min-width:0}.maint-topbar .topbar-brand img{max-width:50px}.maint-topbar .tb-name{font-size:13px}.maint-topbar .prod-back-btn{padding:6px 9px;font-size:11px}.maint-dashboard-head{align-items:flex-start;flex-direction:column}.maint-dashboard-head-tools{width:100%;justify-content:space-between}.maint-dashboard-clock{text-align:left}.maint-dashboard-title h1{font-size:24px}.maint-workflow-track{grid-template-columns:1fr}.maint-workflow-chevron{display:none}.maint-workflow-card{min-height:98px}.maint-register-metrics{grid-template-columns:repeat(2,1fr)}.maint-attention-row{grid-template-columns:38px minmax(0,1fr)}.maint-attention-row .maint-inline-action{grid-column:2;width:92px;margin-bottom:8px}.maint-dashboard-section-head.action-head{align-items:flex-start}.maint-dashboard-section-head.action-head>button,.maint-dashboard-section-head.action-head>a{font-size:11px}.maint-dashboard-table-wrap{margin:0 10px}}
@media(max-width:480px){.maint-dashboard-head-tools{align-items:stretch;flex-direction:column;gap:10px}.maint-create-wo{width:100%}.maint-register-metrics{grid-template-columns:1fr 1fr}.maint-dashboard-section-head{padding-right:10px;padding-left:10px}}

/* Kartu Service Berkala — approved LIVE UI */
.service-page{display:grid;gap:12px;color:#18365d;font-size:13px}.service-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:3px 0 2px}.service-head h1{margin:0;color:#10335f;font-size:25px;line-height:1.2}.service-head p{margin:4px 0 0;color:#61758b}.service-head-actions{display:flex;gap:8px}.service-panel{background:#fff;border:1px solid #d1e1f2;border-radius:10px;padding:14px;box-shadow:0 2px 8px rgba(28,70,120,.05);min-width:0}.service-filters{display:grid;grid-template-columns:minmax(190px,2.1fr) minmax(140px,1fr) minmax(140px,1fr) auto auto;align-items:end;gap:10px}.service-field{display:grid;gap:5px;min-width:0;color:#1b395f;font-weight:650}.service-field>span{font-size:11px}.service-field .input{height:35px;min-width:0}.service-filters>.service-table-wrap,.service-filters>.service-pager{grid-column:1/-1}.service-table-wrap{width:100%;overflow-x:auto;border:1px solid #d3e2f2;border-radius:7px}.service-table{width:100%;border-collapse:collapse;min-width:680px;color:#18365d;font-size:12px}.service-table th{background:#eaf3fb;color:#17365c;font-weight:750}.service-table th,.service-table td{padding:6px 9px;border-right:1px solid #d8e5f1;border-bottom:1px solid #e3ecf4;white-space:nowrap}.service-table tr:last-child td{border-bottom:0}.service-table th:last-child,.service-table td:last-child{border-right:0}.service-table td.num{text-align:right;font-variant-numeric:tabular-nums}.service-table .btn-sm{min-height:26px;padding:3px 9px;font-size:11px}.service-table tbody tr:hover{background:#f7fbff}.service-empty{text-align:center;color:#698098;padding:18px!important}.service-row-actions{display:inline-flex;gap:5px;align-items:center}.service-status{display:inline-block;min-width:88px;padding:3px 8px;border-radius:5px;text-align:center;font-size:10px;font-weight:800;white-space:nowrap}.service-status.aman{background:#d9f6e7;color:#076540}.service-status.mendekati{background:#fff0cb;color:#855100}.service-status.segera{background:#ffe2e4;color:#ac1722}.service-status.belum-baseline{background:#e9edf2;color:#526477}.service-status.active{background:#d9f6e7;color:#076540}.service-status.void{background:#ffe2e4;color:#ac1722}.service-pager{display:flex;justify-content:space-between;align-items:center;gap:8px;color:#526a83;font-size:11px}.service-pager>div{display:flex;align-items:center;gap:7px}.service-pager strong{color:#0c50ae}.service-placeholder{text-align:center;color:#647b91;padding:26px}.service-detail-layout{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(260px,.9fr);gap:12px;align-items:start}.service-detail-layout>div{display:grid;gap:12px;min-width:0}.service-summary{background:linear-gradient(130deg,#fff,#f3f9ff)}.service-summary-head{display:flex;justify-content:space-between;align-items:start;gap:10px;margin-bottom:11px}.service-summary-head small{color:#687d94}.service-summary-head h2{display:inline-block;margin:4px 9px 0 0;color:#15335d;font-size:23px}.service-summary-head>div:last-child{display:flex;gap:6px}.service-detail-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;padding:11px;border:1px solid #d8e6f3;border-radius:7px;background:#fff}.service-detail-grid>div{display:grid;gap:3px;min-width:0}.service-detail-grid span{color:#60758a;font-size:10px}.service-detail-grid strong{font-size:12px;overflow-wrap:anywhere}.service-source-note{margin-top:8px;color:#61768d;font-size:11px}.service-main h3{font-size:13px;color:#153b70;margin:14px 0 6px}.service-tabs{display:flex;gap:6px;flex-wrap:wrap;border-bottom:1px solid #dce8f4;padding-bottom:8px}.service-tabs button{border:1px solid #d5e2ef;border-radius:5px;background:#f4f8fc;color:#21416a;font-weight:700;font-size:11px;padding:7px 11px;cursor:pointer}.service-tabs button.active{background:#0e60cc;border-color:#0e60cc;color:#fff}.service-aside{display:grid;gap:12px}.service-aside h3{margin:0 0 8px;color:#15365f;font-size:14px}.service-aside p{color:#60768b;line-height:1.45}.service-aside .btn{min-height:34px}.service-modal-form{display:grid;gap:12px;min-width:min(480px,100%)}.service-modal-form textarea{height:auto!important;min-height:70px}.service-page .btn{white-space:nowrap}
.service-extra-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 8px;padding:8px;border:1px solid #dce8f4;border-radius:6px;background:#f8fbff}.service-extra-items>strong{grid-column:1/-1;font-size:11px}.service-extra-items label{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:500}.service-summary-head>div:last-child{flex-wrap:wrap;justify-content:flex-end}.service-filters{grid-template-columns:minmax(190px,2fr) repeat(3,minmax(120px,1fr)) auto auto}.service-filters>a.btn{display:inline-flex;align-items:center;justify-content:center}
.service-graph{border:1px solid #d9e7f5;border-radius:7px;padding:8px;background:#fbfdff}.service-graph svg{display:block;width:100%;height:auto;max-height:300px}.service-graph>div{padding:5px 4px;color:#5e738b;font-size:11px}
.service-page .btn{min-height:34px;height:34px;padding:5px 10px}
@media(max-width:1200px){.service-detail-layout{grid-template-columns:minmax(0,1fr) 270px}.service-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){.service-detail-layout{grid-template-columns:1fr}.service-aside{grid-template-columns:repeat(2,minmax(0,1fr))}.service-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.service-filters .service-field:first-child{grid-column:1/-1}}@media(max-width:600px){.service-head{align-items:start;flex-direction:column}.service-head h1{font-size:21px}.service-filters{grid-template-columns:1fr}.service-filters .service-field:first-child{grid-column:auto}.service-aside{grid-template-columns:1fr}.service-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-summary-head{flex-direction:column}.service-page{font-size:12px}}
@media print{body.service-print-mode .sidebar,body.service-print-mode .topbar,body.service-print-mode .service-page>.service-panel:first-of-type,body.service-print-mode .service-head,body.service-print-mode .service-aside,body.service-print-mode .service-tabs,body.service-print-mode .service-row-actions,body.service-print-mode .btn{display:none!important}body.service-print-mode .service-detail-layout{display:block}body.service-print-mode .service-panel{box-shadow:none;break-inside:avoid}body.service-print-mode .service-table-wrap{overflow:visible}}

/* Compact service monitoring toolbar; the data table remains scrollable on narrow screens. */
.service-page .service-filters{grid-template-columns:minmax(280px,320px) minmax(170px,190px) minmax(170px,190px) minmax(180px,200px) max-content max-content;justify-content:start;align-items:end;column-gap:8px;row-gap:8px}
.service-page .service-filters .service-field{gap:4px}
.service-page .service-filters .service-field>span{font-size:12px;font-weight:600;line-height:1.2}
.service-page .service-filters .input{height:34px;min-height:34px;padding:5px 10px;font-size:13px}
.service-page .service-filters .input::placeholder{font-size:13px}
.service-page .service-filters .btn{height:34px;min-height:34px;width:auto;padding:5px 11px;font-size:13px;font-weight:600;white-space:nowrap}
.service-page .service-advanced{margin:7px 0 9px;font-size:12px;color:#21416a}
.service-page .service-advanced summary{display:inline-block;cursor:pointer;font-weight:600}
.service-page .service-advanced .btn{display:block;margin-top:7px}
@media(max-width:1350px){.service-page .service-filters{grid-template-columns:minmax(220px,1.5fr) minmax(150px,1fr) minmax(150px,1fr)}}
@media(max-width:650px){.service-page .service-filters{grid-template-columns:minmax(0,1fr)}.service-page .service-filters .service-field:first-child{grid-column:auto}.service-page .service-filters .btn{justify-self:start}}

/* Historical Maintenance importer detail (read-only). */
.maint-import-all-fields{margin-top:14px}.maint-import-all-fields h3{margin:0 0 7px;color:#163f70;font-size:13px}.maint-import-all-fields details{margin:5px 0;border:1px solid #d9e5f2;border-radius:6px;background:#fff}.maint-import-all-fields summary{cursor:pointer;padding:8px 10px;color:#214a78;font-size:12px;font-weight:700}.maint-import-all-fields-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:10px;border-top:1px solid #e3ebf3}.maint-import-all-fields-grid>div{display:grid;gap:3px;min-width:0}.maint-import-all-fields-grid span{font-size:10px;color:#657b91;text-transform:capitalize}.maint-import-all-fields-grid strong{font-size:11px;color:#15365d;overflow-wrap:anywhere}@media(max-width:800px){.maint-import-all-fields-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.maint-import-all-fields-grid{grid-template-columns:1fr}}

/* Report UI standard: outer shell only. Report table and matrix cells remain untouched. */
@media screen {
  .prod-page.report-page{min-width:0}
  .report-page .prod-page-head{align-items:center;min-height:64px;margin-bottom:9px}
  .report-page .prod-crumb{margin-bottom:2px;font-size:10px}
  .report-page .prod-page-head h1{font-size:20px;line-height:1.1}
  .report-page .prod-page-head p{margin-top:2px;font-size:12px;line-height:1.2}
  .report-page .prod-page-badge{padding:5px 10px;font-size:10px;letter-spacing:.06em}
  .report-page .mgr-module,.report-page .dr-module{min-width:0;grid-template-columns:minmax(0,1fr);gap:7px}
  .report-page .mgr-module>*,.report-page .dr-module>*{min-width:0}
  .report-page .mgr-heading{align-items:center;min-height:52px;padding:8px 12px}
  .report-page .mgr-heading h2{font-size:16px;line-height:1.15}
  .report-page .mgr-heading p{margin-top:2px;font-size:12px}
  .report-page .mgr-pick-label,.report-page .mgr-filter-title{display:none}
  .report-page .mgr-selector{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}
  .report-page .mgr-report-tab{min-width:0;min-height:38px;height:38px;gap:6px;padding:5px 8px;border-radius:7px}
  .report-page .mgr-report-tab>.icon{width:16px;height:16px;flex:none}
  .report-page .mgr-report-tab>span{display:flex;align-items:baseline;gap:4px;min-width:0;text-align:left}
  .report-page .mgr-report-tab strong{font-size:11px;line-height:1.15}
  .report-page .mgr-report-tab small{font-size:10px;line-height:1.15}
  .report-page .mgr-filter-panel{gap:0;padding:8px 10px}
  .report-page .mgr-filter-row{gap:8px}
  .report-page .mgr-field{flex:0 1 190px;min-width:145px;gap:3px;font-size:12px;font-weight:700}
  .report-page .mgr-field .input{height:35px;min-height:35px;padding:5px 10px;font-size:13px}
  .report-page .mgr-process{height:34px;min-height:34px;min-width:108px;padding:5px 11px;font-size:13px}
  .report-page .mgr-export{gap:6px}
  .report-page .mgr-export .btn{height:34px;min-height:34px;padding:5px 10px;font-size:12px}
  .report-page .mgr-report-host{min-height:0;padding:8px}
  .report-page .mgr-instruction{min-height:80px;padding:12px;gap:3px}
  .report-page .mgr-instruction>.icon{width:20px;height:20px}
  .report-page .mgr-instruction span{font-size:12px}
  .report-page .mgr-report-canvas{padding:12px}
  .report-page .mgr-report-canvas>header{padding-bottom:7px}
  .report-page .mgr-kpis{margin:8px 0}
  .report-page .mgr-report-section+.mgr-report-section{margin-top:11px}
  .report-page .dr-filter{gap:8px;padding:8px 10px}
  .report-page .dr-filter>label{gap:3px;font-size:12px;letter-spacing:0}
  .report-page .dr-date{height:35px;min-height:35px;padding:5px 10px;font-size:13px}
  .report-page .dr-process{height:34px;min-height:34px;padding:5px 13px;font-size:13px}
  .report-page .dr-status{min-height:0;padding:4px 8px;font-size:11px}
  .report-page .dr-toolbar{padding:6px 9px}
  .report-page .dr-toolbar-actions .btn{height:33px;min-height:33px;padding:5px 10px;font-size:12px}
  .report-page .dr-paper-host{min-height:0;padding:8px}
  .report-page .dr-empty{padding:24px 12px}
  .report-page .dr-paper{padding:12px}
  .report-page .dr-paper-title{margin-bottom:12px;padding-bottom:9px}
  .report-page .dr-section+.dr-section{margin-top:16px}
  .report-page .dr-paper-foot{margin-top:16px}
}

/* Functional internal views are semantic links while retaining tab visuals. */
.maint-workspace-tabs a {
  position:relative; display:flex; align-items:center; justify-content:flex-start; gap:7px;
  min-width:auto; height:48px; flex:0 0 auto; padding:0 4px; border:0; border-radius:0;
  background:transparent; color:#64778b; font-size:14px; font-weight:500;
  cursor:pointer; text-decoration:none;
}
.maint-workspace-tabs a.active { background:transparent; color:var(--m-blue); font-weight:650; }
.maint-workspace-tabs a.active:after { content:''; position:absolute; right:0; bottom:-1px; left:0; height:3px; border-radius:3px 3px 0 0; background:var(--m-blue); }
.maint-workspace-tabs a:focus-visible,.maint-master-tabs a:focus-visible,.master-management-tab:focus-visible,.mgr-report-tab:focus-visible { outline:3px solid rgba(23,105,210,.22); outline-offset:1px; }
.maint-master-tabs a { display:flex; align-items:center; justify-content:center; gap:8px; min-width:160px; min-height:38px; padding:7px 15px; border:0; border-radius:7px; background:transparent; color:#526b84; font-weight:700; cursor:pointer; text-decoration:none; }
.maint-master-tabs a.active { background:#145eb8; color:#fff; }
.mgr-report-tab { text-decoration:none; }
.mgr-pnl-warning{display:grid;gap:3px;margin:10px 0;padding:9px 11px;border:1px solid #fbbf24;border-radius:7px;background:#fffbeb;color:#92400e}.mgr-pnl-warning strong{font-size:10px}.mgr-pnl-warning span{font-size:9px;line-height:1.45}.mgr-pnl-report .mgr-report-section .mgr-table-wrap th:first-child,.mgr-pnl-report .mgr-report-section .mgr-table-wrap td:first-child{position:sticky;left:0;z-index:1}.mgr-pnl-report .mgr-report-section .mgr-table-wrap th:first-child{z-index:2}.mgr-pnl-report .mgr-report-section .mgr-table-wrap td:first-child{background:#fff}.mgr-pnl-report .mgr-report-section .mgr-table-wrap tbody tr:nth-child(even):not(.total) td:first-child{background:#f7fafc}.mgr-pnl-report .mgr-report-section .mgr-table-wrap tr.total td:first-child{background:#dcebf8}
.mgr-partial-money{color:#b45309;font-weight:900;border-bottom:1px dotted #d97706;cursor:help}.mgr-incomplete-profit{color:#b45309;font-weight:800;cursor:help}
@media(max-width:700px){.maint-workspace-tabs a{min-width:max-content}.maint-master-tabs a{min-width:0;flex:1}}
@media screen and (max-width:1000px){
  .report-page .mgr-selector{grid-template-columns:repeat(3,minmax(0,1fr))}
  .report-page .mgr-filter-row{flex-wrap:wrap}
  .report-page .mgr-export{margin-left:0}
}
@media screen and (max-width:650px){
  .report-page .prod-page-head{align-items:flex-start}
  .report-page .prod-page-badge{display:none}
  .report-page .mgr-selector{grid-template-columns:repeat(2,minmax(0,1fr))}
  .report-page .mgr-filter-row{display:flex}
  .report-page .mgr-field{flex:1 1 145px}
  .report-page .mgr-process{width:auto}
  .report-page .mgr-export{display:flex;flex-wrap:wrap;width:auto}
  .report-page .mgr-export .btn{width:auto}
  .report-page .dr-filter{align-items:stretch;flex-direction:column}
  .report-page .dr-date,.report-page .dr-process{width:100%}
  .report-page .dr-paper-host{padding:5px}
}

/* Report Harian only: one unit per row, active routes as compact Rit columns. */
@media screen {
  .dr-unit-route-matrix{width:max-content;min-width:360px}
  .dr-unit-route-matrix th:first-child,.dr-unit-route-matrix td:first-child{min-width:145px}
  .dr-unit-route-matrix th:not(:first-child),.dr-unit-route-matrix td:not(:first-child){min-width:70px}
  .dr-unit-route-matrix .dr-total-row td:first-child{text-transform:uppercase}
}

/* Laporan Maintenance: compact operational analysis layout. */
.maintenance-report-toolbar{display:grid;grid-template-columns:minmax(150px,185px) repeat(3,minmax(135px,1fr)) auto;gap:10px;align-items:end;margin-bottom:12px;padding:12px;border:1px solid #d6e2ee;border-radius:10px;background:#fff;box-shadow:0 2px 8px rgba(15,55,95,.04)}
.maintenance-report-toolbar label{display:grid;gap:5px;color:#17334f;font-size:11px;font-weight:800;letter-spacing:.02em}
.maintenance-report-toolbar .input{height:36px;min-height:36px;padding:6px 10px;border-radius:7px;font-size:12px}
.maintenance-report-toolbar-actions{display:flex;align-items:center;gap:7px}
.maintenance-report-toolbar-actions .maint-report-action{height:36px;min-height:36px;padding:6px 12px;border-radius:7px;font-size:11px;white-space:nowrap}
.maintenance-report-export{display:flex;align-items:center;gap:4px}
.maintenance-report-export>span{display:none}
.maintenance-report-export .btn{min-width:58px}
.maintenance-report-host{display:grid;gap:12px;min-height:180px}
.maintenance-report-loading,.maintenance-report-empty{display:grid;place-items:center;gap:6px;min-height:180px;padding:24px;border:1px dashed #b8cce0;border-radius:10px;background:#f8fbfe;color:#637a91;text-align:center}
.maintenance-report-empty>.icon{width:30px;height:30px;color:#1f73c9}
.maintenance-report-empty strong{color:#113e70;font-size:16px}
.maintenance-report-empty.error{border-color:#fecaca;background:#fff7f7;color:#b91c1c}
.maintenance-report-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.maintenance-report-kpi{display:flex;align-items:flex-start;gap:10px;min-height:94px;padding:14px;border:1px solid #d6e2ee;border-radius:10px;background:#fff;box-shadow:0 2px 8px rgba(15,55,95,.04)}
.maintenance-report-kpi>.icon{width:24px;height:24px;flex:none;color:#1680d8}
.maintenance-report-kpi>div{display:grid;gap:5px;min-width:0}
.maintenance-report-kpi span{color:#405a72;font-size:11px;line-height:1.25}
.maintenance-report-kpi strong{color:#0b2f57;font-size:17px;line-height:1.15;white-space:nowrap}
.maintenance-report-kpi small{font-size:10px;font-weight:800;line-height:1.25}
.maintenance-report-kpi small.good{color:#009c66}.maintenance-report-kpi small.bad{color:#dc2626}
.maintenance-report-section{min-width:0;overflow:hidden;border:1px solid #cdddea;border-radius:10px;background:#fff;box-shadow:0 2px 8px rgba(15,55,95,.035)}
.maintenance-report-section-title,.maintenance-report-section-bar{min-height:44px;padding:11px 14px;background:linear-gradient(100deg,#075ca3,#0d6db8);color:#fff;font-size:12px;font-weight:850;letter-spacing:.01em}
.maintenance-report-section-bar{display:flex;align-items:center;justify-content:space-between;gap:12px}
.maintenance-report-search{width:200px!important;height:32px!important;min-height:32px!important;padding:5px 10px!important;border-color:rgba(255,255,255,.8)!important;background:#fff!important;font-size:11px!important}
.maintenance-report-table-scroll{max-width:100%;overflow:auto}
.maintenance-report-table{width:100%;border-collapse:separate;border-spacing:0;color:#18364f;font-size:10px;white-space:nowrap}
.maintenance-report-table th,.maintenance-report-table td{height:32px;padding:6px 8px;border-right:1px solid #d8e4ee;border-bottom:1px solid #d8e4ee;text-align:center}
.maintenance-report-table th:last-child,.maintenance-report-table td:last-child{border-right:0}
.maintenance-report-table thead th{background:#eaf3f9;color:#12395f;font-size:9px;font-weight:850;text-transform:uppercase}
.maintenance-report-table thead tr:first-child th{border-top:0}
.maintenance-report-table tbody tr:nth-child(even):not(.total) td{background:#f9fcfe}
.maintenance-report-table td:nth-child(2),.maintenance-report-table td:nth-child(3),.maintenance-report-table td:nth-child(4){text-align:left}
.maintenance-report-table td.num{text-align:right;font-variant-numeric:tabular-nums}
.maintenance-report-table tr.total td{background:#e5f0f8;font-weight:900;color:#102f4d}
.maintenance-report-table .maint-report-good{background:#dff7eb!important;color:#087852;font-weight:800}
.maintenance-report-table .maint-report-bad{background:#ffe6e6!important;color:#c62828;font-weight:800}
.performance-table{min-width:1320px}
.performance-table .sticky-unit{position:sticky;left:0;z-index:1;background:#fff}
.performance-table thead .sticky-unit{z-index:3;background:#eaf3f9}
.performance-table tbody tr:nth-child(even):not(.total) .sticky-unit{background:#f9fcfe}
.performance-table tr.total .sticky-unit{background:#e5f0f8}
.maintenance-report-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}
.maintenance-report-grid .maintenance-report-table{min-width:520px}
.maintenance-report-note{display:flex;gap:10px;padding:11px 13px;border:1px solid #f3ce66;border-radius:9px;background:#fff7d9;color:#5b4815}
.maintenance-report-note>.icon{width:20px;height:20px;flex:none;color:#e49a08}
.maintenance-report-note>div{display:grid;gap:3px}.maintenance-report-note strong{font-size:11px}.maintenance-report-note span{font-size:10px;line-height:1.35}
.maintenance-report-freshness{display:flex;align-items:center;justify-content:flex-end;gap:5px;color:#698096;font-size:10px}
.maintenance-report-freshness>.icon{width:14px;height:14px}
@media screen and (max-width:1200px){
  .maintenance-report-toolbar{grid-template-columns:repeat(4,minmax(130px,1fr))}.maintenance-report-toolbar-actions{grid-column:1/-1;justify-content:flex-end}
  .maintenance-report-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media screen and (max-width:850px){
  .maintenance-report-toolbar{grid-template-columns:repeat(2,minmax(130px,1fr))}
  .maintenance-report-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .maintenance-report-grid{grid-template-columns:1fr}
}
@media screen and (max-width:560px){
  .maintenance-report-toolbar{grid-template-columns:1fr}.maintenance-report-toolbar-actions{grid-column:1;flex-wrap:wrap;justify-content:flex-start}
  .maintenance-report-kpis{grid-template-columns:1fr}.maintenance-report-section-bar{align-items:stretch;flex-direction:column}.maintenance-report-search{width:100%!important}
}
.maint-tire-position{min-width:130px}
.maint-tire-category{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border-radius:7px;background:#dcfce7;color:#166534;font-size:12px;font-weight:800}
.maint-tire-category.unresolved{background:#fef3c7;color:#92400e}

/* ========================================================================== */
/* NEW HOPE UI STANDARD — FOUNDATION PILOT (presentation only)                */
/* Pilot scope: existing SSG Produksi, Maintenance, Master, and Report routes. */
/* ========================================================================== */
:root{
  --nh-navy:#0f3d68;
  --nh-navy-deep:#082b4d;
  --nh-primary:#1769d2;
  --nh-primary-hover:#105bb8;
  --nh-primary-soft:#eaf3ff;
  --nh-bg:#eef2f7;
  --nh-surface:#ffffff;
  --nh-border:#d8e2ec;
  --nh-border-strong:#c8d5e2;
  --nh-text:#1f2937;
  --nh-muted:#64748b;
  --nh-success:#16a134;
  --nh-warning:#f59e0b;
  --nh-danger:#ef4637;
  --nh-neutral:#64748b;
  --nh-sidebar-width:214px;
  --nh-topbar-height:64px;
  --nh-page-space:18px;
  --nh-control-height:36px;
  --nh-table-head-height:40px;
  --nh-table-row-height:42px;
  --nh-radius-sm:6px;
  --nh-radius:8px;
  --nh-radius-lg:10px;
  --nh-shadow:0 2px 8px rgba(15,61,104,.055);
  --nh-shadow-modal:0 22px 56px rgba(8,43,77,.24);
  --navy-900:var(--nh-navy);
  --navy-800:#164c7e;
  --royal-700:var(--nh-primary);
  --royal-600:var(--nh-primary);
  --royal-500:#3987e5;
  --royal-100:#dbeafe;
  --royal-50:var(--nh-primary-soft);
  --slate-100:var(--nh-bg);
  --slate-200:var(--nh-border);
  --slate-500:var(--nh-muted);
  --radius:var(--nh-radius);
  --radius-lg:var(--nh-radius-lg);
  --shadow-sm:var(--nh-shadow);
}

body{background:var(--nh-bg);color:var(--nh-text);font-size:14px}
.portal{background:var(--nh-bg)}
.portal-main{min-height:100vh;background:var(--nh-bg)}
.portal-content,.maint-content{padding:var(--nh-page-space) 20px 24px;background:var(--nh-bg)}

/* Official application shell */
.sidebar,.maint-sidebar{
  width:var(--nh-sidebar-width);min-width:var(--nh-sidebar-width);
  background:linear-gradient(180deg,var(--nh-navy-deep) 0%,#0b355d 62%,#082744 100%);
  border-right:1px solid rgba(255,255,255,.08);box-shadow:4px 0 14px rgba(8,43,77,.08)
}
.sidebar-logo{min-height:var(--nh-topbar-height);padding:10px 14px;border-bottom-color:rgba(255,255,255,.1)}
.sidebar-logo img{width:38px;height:38px}
.sidebar-logo .sb-name{font-size:13px;letter-spacing:.35px}
.sidebar-logo .sb-sub{margin-top:1px;color:#9fb8d1;font-size:9px;letter-spacing:1.2px}
.sidebar-menu{gap:2px;padding:10px 8px}
.sidebar-menu>div:not([class]){margin:10px 10px 4px;color:#7f9bb7;font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.sidebar-item{min-height:36px;padding:8px 10px;border-radius:6px;color:#d7e3ef;font-size:12px;font-weight:600}
.sidebar-item svg{width:16px;height:16px;color:#a9bfd4}
.sidebar-item:hover{background:rgba(255,255,255,.075)}
.sidebar-item.active{background:linear-gradient(90deg,#0f6dd8,#1769d2);box-shadow:0 4px 12px rgba(0,78,170,.26)}
.sidebar-foot{padding:9px 8px 12px}
.sidebar-switch{min-height:35px;padding:7px;border-color:rgba(255,255,255,.16);border-radius:6px;font-size:11px}
.maint-side-flow{border-color:rgba(255,255,255,.09);background:rgba(255,255,255,.035);color:#9cb5cd}

.topbar,.maint-topbar{
  height:var(--nh-topbar-height);min-height:var(--nh-topbar-height);padding:0 18px;
  background:linear-gradient(100deg,var(--nh-navy) 0%,#0d4d82 100%);border:0;color:#fff;
  box-shadow:0 1px 0 rgba(8,43,77,.25);z-index:40
}
.topbar-brand{gap:9px}.topbar-brand img,.maint-topbar .topbar-brand img{width:38px;height:38px;max-height:38px}
.topbar-brand .tb-name,.maint-topbar .tb-name{color:#fff;font-size:14px;font-weight:750}
.topbar-brand .tb-sub,.maint-topbar .tb-sub{display:block;color:#c4d6e8;font-size:10px;font-weight:500}
.topbar-search,.maint-topbar .topbar-search{height:34px;border:1px solid rgba(255,255,255,.15);border-radius:7px;background:rgba(255,255,255,.08)}
.topbar-search input,.maint-topbar .topbar-search input{height:32px;border:0;background:transparent;color:#fff}
.topbar-search input::placeholder,.maint-topbar .topbar-search input::placeholder{color:#b8cce0}
.topbar-search .ts-icon{color:#c7d8e8}
.topbar-right{gap:12px}.user-menu .um-name,.maint-topbar .um-name{color:#fff}.user-menu .um-role,.maint-topbar .um-role{color:#bfd2e4}
.user-menu .avatar{width:32px;height:32px;background:#1477ea;font-size:12px;box-shadow:0 0 0 2px rgba(255,255,255,.15)}
.topbar .header-context-back,.topbar .prod-back-btn,.maint-topbar .prod-back-btn{height:34px;min-height:34px;border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.08);color:#fff}
.topbar .hamburger{color:#fff;border-color:rgba(255,255,255,.2)}

/* Page heading and reusable surfaces */
.prod-page-head,.maint-compact-head,.maint-dashboard-head,.maint-page-head{
  min-height:62px;margin:0 0 12px;padding:7px 2px;background:transparent;border:0;border-radius:0;box-shadow:none
}
.prod-page-head h1,.maint-compact-head h1,.maint-dashboard-title h1,.maint-page-head h1{
  color:var(--nh-navy-deep);font-size:22px;font-weight:800;line-height:1.15;letter-spacing:-.02em
}
.prod-page-head p,.maint-compact-head p,.maint-dashboard-title p,.maint-page-head>div>span{
  margin-top:4px;color:var(--nh-muted);font-size:12px;font-weight:500
}
.prod-crumb,.maint-page-head p{color:var(--nh-primary);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.prod-card,.maint-card,.maint-compact-card,.maint-workspace-body,.maint-dashboard-panel,.maint-master-shell,
.master-management,.dr-module,.mgr-module,.maintenance-report-section{
  border:1px solid var(--nh-border);border-radius:var(--nh-radius-lg);background:var(--nh-surface);box-shadow:var(--nh-shadow)
}
.prod-card,.maint-card{padding:14px}
.prod-card-head,.maint-card-title h2,.maint-dashboard-section-head h2{color:var(--nh-navy-deep);font-size:13px;font-weight:800}

/* Controls and actions */
.btn{min-height:var(--nh-control-height);height:var(--nh-control-height);padding:0 14px;border-radius:var(--nh-radius-sm);font-size:12px;font-weight:750;box-shadow:none;transform:none!important}
.btn-sm{min-height:30px;height:30px;padding:0 10px;font-size:11px}
.btn-lg{min-height:40px;height:40px;padding:0 18px;font-size:13px}
.btn-primary{background:var(--nh-primary);box-shadow:0 4px 10px rgba(23,105,210,.18)}
.btn-primary:hover:not(:disabled){background:var(--nh-primary-hover)}
.btn-secondary{border-color:var(--nh-border-strong);background:#fff;color:#35506a}
.btn-success{background:var(--nh-success)!important;color:#fff!important}
.btn-danger{background:var(--nh-danger)!important;color:#fff!important}
.input,input.input,select.input,textarea.input{
  min-height:var(--nh-control-height);padding:7px 10px;border-color:var(--nh-border-strong);border-radius:var(--nh-radius-sm);font-size:12px;background:#fff
}
.input:focus{border-color:var(--nh-primary);box-shadow:0 0 0 3px rgba(23,105,210,.12)}
.input[readonly],.input:disabled{background:#f4f7fa;color:#54687c}
.field{margin-bottom:12px}.field label{margin-bottom:5px;color:#40566c;font-size:11px}

/* KPI, panels, tables, badges */
.prod-stats,.maint-summary,.maintenance-report-kpis{gap:9px;margin-bottom:12px}
.prod-stat-card,.maint-summary-card,.maintenance-report-kpi{
  min-height:78px;padding:11px 12px;border:1px solid var(--nh-border);border-radius:var(--nh-radius);background:#fff;box-shadow:var(--nh-shadow)
}
.prod-stat-v,.maint-summary-card strong,.maintenance-report-kpi strong{color:var(--nh-navy-deep);font-size:20px}
.prod-stat-k,.maint-summary-card span,.maintenance-report-kpi span{color:var(--nh-muted);font-size:10px;font-weight:700}
.prod-table-wrap,.maint-table-wrap,.maint-dashboard-table-wrap,.maintenance-report-table-scroll{border:1px solid var(--nh-border);border-radius:var(--nh-radius);background:#fff}
.prod-table,.maint-table,.maint-dashboard-table,.maintenance-report-table{color:var(--nh-text);font-size:11px}
.prod-table th,.maint-table th,.maint-dashboard-table th,.maintenance-report-table thead th{
  height:var(--nh-table-head-height);padding:7px 9px;background:#eaf2f9;color:#173d62;border-color:var(--nh-border);font-size:10px;font-weight:800;text-transform:uppercase
}
.prod-table td,.maint-table td,.maint-dashboard-table td,.maintenance-report-table td{
  height:var(--nh-table-row-height);padding:7px 9px;border-color:#e2e9f0;color:#30465b
}
.prod-table tbody tr:nth-child(even),.maint-table tbody tr:nth-child(even),.maint-dashboard-table tbody tr:nth-child(even){background:#f8fafc}
.maint-badge,.ip-status-pill,.maint-master-status,.service-status{min-height:22px;padding:3px 8px;border-radius:5px;font-size:9px;font-weight:850;letter-spacing:.03em}
.maint-badge.approved,.maint-master-status.active{background:#dcfce7;color:#166534}
.maint-badge.warning{background:#fef3c7;color:#92400e}
.maint-badge.danger{background:#fee2e2;color:#b91c1c}

/* Existing operational grids: presentation only; dimensions and behavior stay intact. */
.row-grid-toolbar{border-color:var(--nh-border);background:rgba(255,255,255,.98);box-shadow:var(--nh-shadow)}
.row-grid-toolbar-title strong{color:var(--nh-navy-deep)}
.row-grid-wrap{border-color:var(--nh-border);box-shadow:var(--nh-shadow)}
.row-grid-table thead th{background:#e7f1fa;color:#143d64;border-color:#d2deea}
.row-grid-table tbody td{border-color:#dce5ed}
.row-grid-table .row-grid-sticky-identity strong{color:#0d5db6}
.row-grid-footer-actions .btn{min-width:96px}
.ip-row-footer,.modal-foot{background:#fff}

/* Maintenance pilot */
.maint-workspace-tabs{gap:0;padding:0 10px;border:1px solid var(--nh-border);border-radius:var(--nh-radius) var(--nh-radius) 0 0;background:#fff}
.maint-workspace-tabs a{height:44px;padding:0 12px;font-size:12px}
.maint-workspace-body{border-top:0;border-radius:0 0 var(--nh-radius) var(--nh-radius)}
.maint-dashboard-head{align-items:center}
.maint-dashboard-title strong{color:var(--nh-navy);font-size:12px}
.maint-dashboard-clock{color:var(--nh-muted)}
.maint-workflow-card{border-color:var(--nh-border);box-shadow:none}
.maint-dashboard-table-wrap{margin:0 12px 12px}
.maint-filterbar.compact,.maint-actual-filter,.maintenance-report-toolbar{padding:10px;border:1px solid var(--nh-border);border-radius:var(--nh-radius);background:#f8fafc}

/* Master and report pilots */
.master-management-actions{min-height:64px;padding:13px 16px}
.master-management-title{color:var(--nh-navy-deep);font-size:18px}
.master-management-tabs{padding:8px 14px 0;background:#fbfdff}
.master-management-tab{min-height:38px;padding:7px 11px}
.master-management-grid{gap:9px;padding:14px}
.master-management-card{min-height:64px;padding:11px;border-radius:var(--nh-radius)}
.master-management-card-icon{width:34px;height:34px;border-radius:7px}
.report-page .dr-filter,.report-page .mgr-filter-panel{border:1px solid var(--nh-border);border-radius:var(--nh-radius);background:#fff;box-shadow:var(--nh-shadow)}
.report-page .dr-toolbar,.report-page .mgr-heading{border-radius:var(--nh-radius) var(--nh-radius) 0 0;background:var(--nh-navy);color:#fff}

/* Modal and picker standard */
.modal-backdrop{background:rgba(8,31,55,.58);backdrop-filter:blur(2px)}
.modal{border:1px solid rgba(255,255,255,.35);border-radius:var(--nh-radius-lg);box-shadow:var(--nh-shadow-modal)}
.modal-head{min-height:54px;padding:12px 16px;border-bottom-color:var(--nh-border);background:#fff}
.modal-head h3{color:var(--nh-navy-deep);font-size:15px}
.modal-body{padding:16px}
.modal-foot{min-height:54px;padding:9px 16px;border-top-color:var(--nh-border)}
.maint-master-options{border:1px solid var(--nh-border-strong);border-radius:var(--nh-radius);box-shadow:0 12px 28px rgba(8,43,77,.2)}

@media(max-width:900px){
  :root{--nh-sidebar-width:206px;--nh-page-space:14px}
  .portal-content,.maint-content{padding:14px}
  .prod-page-head,.maint-compact-head,.maint-dashboard-head,.maint-page-head{align-items:flex-start;flex-direction:column}
}
@media(max-width:700px){
  :root{--nh-topbar-height:58px;--nh-page-space:10px}
  .sidebar,.maint-sidebar{width:214px;min-width:214px}
  .topbar,.maint-topbar{height:var(--nh-topbar-height);min-height:var(--nh-topbar-height);padding:0 10px}
  .topbar-brand .tb-sub{display:none}
  .portal-content,.maint-content{padding:10px}
  .prod-page-head h1,.maint-compact-head h1,.maint-dashboard-title h1,.maint-page-head h1{font-size:20px}
  .prod-stats,.maint-summary,.maintenance-report-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* NEW HOPE UI STANDARD — STRUCTURAL PILOT V2
   DOM-level presentation for the four approval pages. No business rules live here. */
.nh-page-head{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  min-height:58px;margin:0 0 12px;padding:4px 2px 10px;border-bottom:1px solid #dbe4ed
}
.nh-page-head>div:first-child{min-width:0}.nh-page-head h1{margin:0;color:var(--nh-navy-deep);font-size:21px;font-weight:850;letter-spacing:-.025em}
.nh-page-head p{margin:4px 0 0;color:var(--nh-muted);font-size:11px;font-weight:600}
.nh-page-actions{display:flex;align-items:center;gap:9px}
.nh-page-date{display:flex;align-items:center;gap:7px;min-height:34px;padding:6px 10px;border:1px solid var(--nh-border);border-radius:7px;background:#fff;color:#31506e;font-size:11px;font-weight:700;white-space:nowrap}
.nh-page-date>.icon{width:15px;height:15px;color:var(--nh-primary)}.nh-page-date small{color:#7b8b9c;font-size:9px}
.prod-page-head.nh-page-head{margin-bottom:12px}.prod-page-head.nh-page-head .prod-page-badge,.prod-page-head.nh-page-head .prod-crumb{display:none!important}

.nh-dashboard{display:grid;gap:11px}.nh-today-block{display:grid;gap:7px}
.nh-section-label{display:flex;align-items:baseline;justify-content:space-between;gap:12px;color:var(--nh-navy-deep)}
.nh-section-label strong{font-size:11px;font-weight:850;letter-spacing:.07em}.nh-section-label span{color:var(--nh-muted);font-size:10px}
.nh-kpi-grid{display:grid;gap:8px}.nh-kpi-five{grid-template-columns:repeat(5,minmax(0,1fr))}.nh-kpi-six{grid-template-columns:repeat(6,minmax(0,1fr))}.nh-kpi-eight{grid-template-columns:repeat(8,minmax(0,1fr))}
.nh-kpi{display:flex;align-items:center;gap:9px;min-width:0;min-height:70px;padding:10px;border:1px solid var(--nh-border);border-radius:8px;background:#fff;box-shadow:var(--nh-shadow)}
.nh-kpi-icon{display:grid;width:31px;height:31px;flex:0 0 31px;place-items:center;border-radius:7px;background:#eaf3ff;color:#1769d2}.nh-kpi-icon svg{width:17px;height:17px}
.nh-kpi>div{display:grid;min-width:0;grid-template-columns:auto auto;align-items:end;column-gap:5px}.nh-kpi-label{grid-column:1/-1;overflow:hidden;color:#53697e;font-size:8px;font-weight:850;letter-spacing:.03em;text-overflow:ellipsis;white-space:nowrap}
.nh-kpi strong{color:#0b3159;font-size:20px;line-height:1.05}.nh-kpi small{padding-bottom:2px;color:#8090a0;font-size:8px;font-weight:800}
.nh-kpi.tone-green .nh-kpi-icon{background:#e6f7ee;color:#159267}.nh-kpi.tone-teal .nh-kpi-icon{background:#e3f7f6;color:#118a84}.nh-kpi.tone-red .nh-kpi-icon{background:#feeceb;color:#dc3f32}.nh-kpi.tone-amber .nh-kpi-icon{background:#fff4d8;color:#d88a00}.nh-kpi.tone-orange .nh-kpi-icon{background:#fff0e5;color:#e76f18}.nh-kpi.tone-violet .nh-kpi-icon{background:#f0ecff;color:#7254d8}.nh-kpi.tone-indigo .nh-kpi-icon{background:#e9efff;color:#405fd0}

.nh-panel{min-width:0;overflow:hidden;border:1px solid var(--nh-border);border-radius:9px;background:#fff;box-shadow:var(--nh-shadow)}
.nh-panel-head{display:flex;align-items:center;justify-content:space-between;min-height:42px;padding:9px 12px;border-bottom:1px solid #e1e8ef;background:#fff}
.nh-panel-head h2{margin:0;color:var(--nh-navy-deep);font-size:12px;font-weight:850;letter-spacing:.02em}.nh-panel-head p{margin:2px 0 0;color:#728398;font-size:9px}
.nh-table-wrap{max-width:100%;overflow:auto}.nh-data-table{width:100%;border-collapse:separate;border-spacing:0;color:#30485f;font-size:10px}
.nh-data-table th{height:34px;padding:6px 9px;border-right:1px solid #dbe5ee;border-bottom:1px solid #d4e0ea;background:#eaf2f9;color:#153d63;font-size:9px;font-weight:850;text-align:left;white-space:nowrap}
.nh-data-table td{height:34px;padding:6px 9px;border-right:1px solid #e2e9ef;border-bottom:1px solid #e2e9ef;background:#fff;white-space:nowrap}.nh-data-table tr:last-child td{border-bottom:0}.nh-data-table th:last-child,.nh-data-table td:last-child{border-right:0}.nh-data-table tbody tr:nth-child(even) td{background:#f9fbfd}
.nh-summary-table th:not(:first-child),.nh-summary-table td:not(:first-child){text-align:center}.nh-summary-table td:first-child{color:#143e68;font-weight:750}
.nh-status{display:inline-flex;align-items:center;min-height:20px;padding:2px 7px;border-radius:5px;font-size:8px;font-weight:850}.nh-status.neutral{background:#e8edf2;color:#5b6c7d}.nh-hidden-cell{display:none!important}
.nh-bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.nh-empty-state{display:flex;align-items:center;gap:10px;min-height:70px;padding:12px;color:#60758a}.nh-empty-state>.icon{width:23px;height:23px;flex:none;color:#4584c5}.nh-empty-state>div{display:grid;gap:3px}.nh-empty-state strong{color:#264761;font-size:11px}.nh-empty-state span{font-size:9px}.nh-empty-state.compact{min-height:58px;padding:9px}
.nh-attention-list{display:grid}.nh-attention-list>button{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:38px;padding:8px 11px;border:0;border-bottom:1px solid #e7edf3;background:#fff;color:#38536c;text-align:left;cursor:pointer}.nh-attention-list>button:hover{background:#f6faff}.nh-attention-list strong{font-size:10px}.nh-attention-list span{color:#1769d2;font-size:9px;font-weight:800}
.nh-secondary-panel{box-shadow:none}.nh-workflow-compact{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}.nh-workflow-compact button{display:grid;grid-template-columns:1fr auto;gap:2px 8px;min-height:48px;padding:8px 11px;border:0;border-right:1px solid #e0e8ef;background:#fbfdff;color:#294760;text-align:left;cursor:pointer}.nh-workflow-compact button:last-child{border-right:0}.nh-workflow-compact button:hover{background:#f0f6fc}.nh-workflow-compact button span{font-size:9px;font-weight:800}.nh-workflow-compact button strong{grid-row:1/3;grid-column:2;font-size:17px;color:#0d5db6}.nh-workflow-compact button small{color:#718397;font-size:8px}

/* Input pages: header immediately followed by controls/grid. */
.prod-page:has(.ip-compact-module)>.prod-page-head{margin-bottom:7px;padding-bottom:7px}
.ip-compact-module{display:grid!important;gap:8px!important;min-height:0!important}.ip-paper-shell{min-height:0!important;margin:0!important}.ip-row-workpaper{min-height:0!important;margin:0!important;padding:0!important}
.ip-row-workpaper>.row-grid-toolbar{position:relative!important;top:auto!important;margin:0!important}.ip-row-grid-wrap{min-height:150px}

/* Input Produksi Excel preview — scoped to SSG/JBU/RFK renderer. */
.ipx-module{display:grid;gap:18px;min-width:0;padding-bottom:16px;color:#17324d}
.ipx-section{min-width:0;overflow:hidden;border:1px solid #d4e0eb;border-radius:12px;background:#fff;box-shadow:0 5px 18px rgba(22,55,88,.07)}
.ipx-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:16px 18px 13px;border-bottom:1px solid #dbe5ef;background:linear-gradient(180deg,#fff,#f7fbff)}
.ipx-section-head h2{margin:3px 0 2px;color:#0e3761;font-size:20px;line-height:1.15}.ipx-section-head p{margin:0;color:#6b7f92;font-size:12px}
.ipx-eyebrow{display:block;color:#1167b9;font-size:10px;font-weight:900;letter-spacing:.09em}
.ipx-grid{max-height:390px;border-width:0 0 1px;border-radius:0;box-shadow:none}.ipx-table th,.ipx-table td{min-width:142px;height:48px}.ipx-table thead th{height:44px}
.ipx-table .row-grid-sticky-number{width:46px;min-width:46px;max-width:46px}.ipx-table .row-grid-sticky-identity{left:46px;width:168px;min-width:168px;max-width:168px}
.ipx-cell-input{width:100%;height:34px!important;min-height:34px!important;padding:5px 7px!important;border:1px solid #c8d7e5!important;border-radius:4px!important;background:#fff!important;color:#17324d!important;font-size:11px!important}
.ipx-cell-input:focus{position:relative;z-index:2;border-color:#1769c2!important;box-shadow:inset 0 0 0 1px #1769c2,0 0 0 2px rgba(23,105,194,.12)!important;outline:0}
.ipx-cell-input:disabled{background:#f3f6f9!important;color:#8190a0!important}.ipx-entry-row.ipx-auto-added td{animation:ipx-row-flash 1.2s ease-out}.ipx-row-invalid td{box-shadow:inset 0 1px 0 #e74637,inset 0 -1px 0 #e74637}
@keyframes ipx-row-flash{0%{background:#dff5e8}100%{background:inherit}}
.ipx-row-identity{position:relative}.ipx-row-identity .ip-fin-status{display:inline-flex;margin-top:4px}.ipx-row-remove{position:absolute;right:5px;top:5px;width:22px;height:22px;padding:0;border:0;border-radius:50%;background:transparent;color:#9b5a5a;font-size:18px;line-height:20px;cursor:pointer}.ipx-row-remove:hover{background:#ffe8e5;color:#c52e22}
.ipx-row-message{display:block!important;max-width:150px!important;color:#c43427!important;white-space:normal!important}.ipx-status{min-height:38px;padding:10px 16px;border-top:1px solid #e0e8ef;background:#f8fbfd;color:#60768b;font-size:12px}.ipx-status.success{background:#edf9f2;color:#13723f}.ipx-status.error{background:#fff2f0;color:#b22920}.ipx-status.warning{background:#fff9e9;color:#8b5d00}
.ipx-sticky-actions{position:sticky;bottom:0;z-index:24;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:62px;padding:11px 16px calc(11px + env(safe-area-inset-bottom));border-top:1px solid #cfdae5;background:rgba(255,255,255,.97);box-shadow:0 -4px 16px rgba(27,58,88,.08);backdrop-filter:blur(10px)}.ipx-draft-count{font-size:12px;color:#1d486f}
.ipx-saved-toolbar{display:flex;align-items:flex-end;gap:9px;padding:13px 16px;background:#f8fbfd;border-bottom:1px solid #dbe5ef}.ipx-saved-toolbar label{display:grid;gap:4px;min-width:280px}.ipx-saved-toolbar label>span{color:#47657e;font-size:10px;font-weight:900;letter-spacing:.04em}.ipx-date-select{height:36px}.ipx-saved-search{flex:1;min-width:280px;height:36px}.ipx-empty{padding:26px 18px;color:#718398;text-align:center}.ipx-saved-table-wrap{max-height:360px;overflow:auto}.ipx-saved-table{width:100%;min-width:900px;border-collapse:separate;border-spacing:0;font-size:12px}.ipx-saved-table th{position:sticky;top:0;z-index:2;padding:10px;border-right:1px solid #d8e3ed;border-bottom:1px solid #cad8e5;background:#e7f1fa;color:#173f66;text-align:left}.ipx-saved-table td{padding:9px 10px;border-right:1px solid #e0e8ef;border-bottom:1px solid #e0e8ef;color:#29465f}.ipx-saved-table tbody tr:hover td{background:#f7fbff}
.ipx-edit-host{margin:16px;border:1px solid #aac8e5;border-radius:9px;overflow:hidden;background:#fff}.ipx-edit-title{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:#eef6fd}.ipx-edit-title h3{margin:2px 0 0;color:#0f4f91;font-size:16px}.ipx-edit-title>span{color:#61798f;font-size:11px}.ipx-edit-grid{max-height:270px;border-width:1px 0 0}.ipx-edit-actions{display:flex;justify-content:flex-end;gap:8px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));border-top:1px solid #dbe5ef;background:#fff;position:sticky;bottom:0;z-index:20}
@media(max-width:800px){.ipx-module{gap:12px}.ipx-section{border-radius:8px}.ipx-section-head{display:block;padding:12px}.ipx-section-head .row-grid-legend{margin-top:10px;overflow:auto}.ipx-section-head h2{font-size:17px}.ipx-grid{max-height:52vh;-webkit-overflow-scrolling:touch}.ipx-table th,.ipx-table td{min-width:132px}.ipx-table .row-grid-sticky-identity{width:150px;min-width:150px;max-width:150px}.ipx-sticky-actions{align-items:stretch;flex-direction:column;padding:9px 10px calc(9px + env(safe-area-inset-bottom))}.ipx-sticky-actions .row-grid-footer-actions{display:grid;grid-template-columns:1fr 1fr 1fr}.ipx-sticky-actions .btn{min-width:0;padding-inline:8px}.ipx-saved-toolbar{align-items:stretch;flex-wrap:wrap;padding:10px}.ipx-saved-toolbar label,.ipx-saved-search{width:100%;min-width:0}.ipx-saved-table-wrap{-webkit-overflow-scrolling:touch}.ipx-edit-host{margin:10px}.ipx-edit-title{align-items:flex-start;flex-direction:column}}
.maint-compact-head{min-height:50px!important;margin:0 0 7px!important;padding:2px 1px 7px!important;border-bottom:1px solid #dbe4ed!important}.maint-compact-head h1{font-size:20px!important}.maint-compact-head p{font-size:10px!important}
.maint-workspace-tabs{min-height:40px}.maint-workspace-tabs a,.maint-workspace-tabs button{height:40px!important;min-height:40px!important}.maint-workspace-body{padding:10px!important}.maint-filterbar.compact,.maint-actual-filter{margin-bottom:8px!important;padding:8px!important}

@media(max-width:1300px){.nh-kpi-eight{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1050px){.nh-kpi-five,.nh-kpi-six{grid-template-columns:repeat(3,minmax(0,1fr))}.nh-bottom-grid{grid-template-columns:1fr}}
@media(max-width:700px){.nh-page-head{align-items:flex-start;flex-direction:column}.nh-page-actions{width:100%;justify-content:space-between}.nh-kpi-five,.nh-kpi-six,.nh-kpi-eight{grid-template-columns:repeat(2,minmax(0,1fr))}.nh-workflow-compact{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* NEW HOPE UI STANDARD V2 — APPROVED ROLLOUT LOCK
   This block extends the approved primitives to existing pages only.
   It must not define workflow, calculation, permission, or data behavior. */
.prod-page-head h1,.maint-page-head h1,.maint-compact-head h1,.roc-osc-preview-head h1{text-transform:uppercase}
.prod-page>div:last-child,.maint-content{min-width:0}

/* Standard page rhythm across operational modules. */
.master-management,.maint-master-shell,.maint-import-page,.id-workbook-page,.dr-module,.mgr-module,.rc-module,.maintenance-report-host,.roc-osc-preview{min-width:0}
.master-management,.maint-master-shell,.maint-card,.id-paper,.import-shell,.service-panel{
  border-color:var(--nh-border)!important;border-radius:var(--nh-radius-lg)!important;background:var(--nh-surface);box-shadow:var(--nh-shadow)!important
}
.master-management-grid,.maint-master-body,.maint-card,.id-paper,.service-panel{padding:12px}
.master-management-actions,.maint-master-section-head,.maint-historical-head,.maint-import-toolbar,.id-section-heading{
  min-height:44px;padding:9px 12px;border-bottom:1px solid var(--nh-border);background:#fff
}
.master-management-actions{padding:10px 14px}.master-management-title{font-size:16px}.master-management-subtitle{font-size:10px}
.master-management-tabs,.maint-master-tabs{min-height:42px;border-bottom:1px solid var(--nh-border);background:#f8fafc}
.master-management-tab,.maint-master-tabs a,.maint-master-tabs button{min-height:40px;font-size:11px}
.master-management-grid{gap:8px}.master-management-card{min-height:60px;border-color:var(--nh-border);box-shadow:none}

/* Queue, Register, and historical tables. */
.maint-queue-tabs{display:flex;align-items:center;gap:0;min-height:40px;margin:0 0 8px;padding:0 8px;border:1px solid var(--nh-border);border-radius:8px;background:#fff}
.maint-queue-tabs button{min-height:39px;padding:0 12px;border:0;border-bottom:2px solid transparent;background:transparent;color:#63768a;font-size:11px;font-weight:750}
.maint-queue-tabs button.active,.maint-queue-tabs button[aria-selected="true"]{border-bottom-color:var(--nh-primary);color:var(--nh-primary)}
.maint-filterbar,.maint-filterbar.compact,.maint-actual-filter,.maint-historical-search,.maint-historical-date-filter{
  gap:8px;margin:0 0 8px;padding:8px;border:1px solid var(--nh-border);border-radius:8px;background:#f8fafc
}
.maint-filterbar .input,.maint-historical-search .input,.maint-historical-date-filter input{height:36px!important;min-height:36px!important}
.maint-historical-section{margin-top:10px!important;padding:0!important;overflow:hidden}
.maint-historical-section>.maint-table-wrap,.maint-historical-section>.maint-historical-search,.maint-historical-section>.maint-historical-date-filter,.maint-historical-section>.maint-info-strip,.maint-historical-section>.maint-historical-pager{margin-right:12px;margin-left:12px}
.maint-historical-section>.maint-table-wrap{margin-bottom:8px}.maint-historical-pager{padding:0 0 10px}

/* Import pages retain their existing controls and owner confirmation flow. */
.import-shell{display:grid;grid-template-columns:minmax(0,1fr);min-width:0;max-width:100%;overflow:visible;gap:9px;padding:12px}.import-context,.import-upload,.import-file-meta,.import-preview,.import-detail-section,.import-history-section{
  border-color:var(--nh-border)!important;border-radius:8px!important;background:#fff!important;box-shadow:none!important
}
.import-context,.import-upload,.import-file-meta,.import-history-section{padding:10px 12px!important}
.import-action-bar{position:sticky;bottom:0;z-index:16;min-height:52px;padding:8px 10px!important;border:1px solid var(--nh-border);background:#fff!important}

/* Operational Import only: shrink grid items; scroll wide tables, never clip actions. */
.portal-content:has(.import-shell),.prod-page:has(.import-shell),.import-shell>*,.import-preview>*,.import-detail-section>*,.import-history,.import-upload>*,.import-context>*{min-width:0;max-width:100%}
.import-file-meta,.import-structure{grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr))}
.import-counts{grid-template-columns:repeat(auto-fit,minmax(min(170px,100%),1fr))}
.import-count{min-width:0;gap:8px;white-space:normal;overflow-wrap:anywhere}
.import-count strong{flex:none}.import-counts>.import-message{margin:0}
.import-context,.import-upload,.import-upload-actions,.import-section-head,.import-detail-controls,.import-detail-search,.import-selector,.import-pagination,.import-pagination>div,.import-selected-summary,.import-action-bar{flex-wrap:wrap}
.import-upload-actions{min-width:0;max-width:100%}.import-upload-actions>.btn{flex:1 1 150px}
.import-shell .btn,.modal:has(.import-confirm) .btn,.import-detail-modal .btn{max-width:100%;min-width:0;white-space:normal;overflow-wrap:anywhere;height:auto;min-height:36px}
.import-shell p,.import-message,.import-selected-summary,.import-context,.import-file-meta strong,.import-structure strong,.import-confirm strong{overflow-wrap:anywhere;white-space:normal;text-overflow:clip;overflow:visible}
.import-detail-search{min-width:0;max-width:100%}.import-search{flex:1 1 180px;min-width:0;max-width:100%}.import-page-size{max-width:100%}
.import-table-wrap{min-width:0;max-width:100%;overflow:auto;overscroll-behavior-inline:contain;scrollbar-gutter:stable;scroll-padding:12px}
.import-table-wrap:focus-visible,.import-detail:focus-visible,.import-full-fields:focus-visible{outline:3px solid #2683dc;outline-offset:2px}
.import-action-bar{position:static;align-items:center}.import-action-bar>.btn{flex:0 1 auto}
.modal-backdrop:has(.import-detail-modal),.modal-backdrop:has(.import-confirm){padding:12px;overflow:auto}
.modal.import-detail-modal,.modal:has(.import-confirm){display:flex;flex-direction:column;min-width:0;width:min(1120px,100%);max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:hidden}
.import-detail-modal .modal-head,.modal:has(.import-confirm) .modal-head{flex:none;gap:12px}.import-detail-modal .modal-head h3,.modal:has(.import-confirm) .modal-head h3{min-width:0;overflow-wrap:anywhere}
.import-detail-modal .close-x,.modal:has(.import-confirm) .close-x{flex:none}
.import-detail-modal .modal-body,.modal:has(.import-confirm) .modal-body{min-height:0;min-width:0;max-height:none;overflow:auto;flex:1 1 auto}
.import-detail-modal .modal-foot,.modal:has(.import-confirm) .modal-foot{flex:none;flex-wrap:wrap}
.import-detail,.import-full-fields{min-width:0;max-width:100%;max-height:none}
.import-full-fields{grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr))}
.import-full-fields>div{min-width:0;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);overflow-wrap:anywhere}
.import-conflict-full>div{grid-template-columns:repeat(3,minmax(0,1fr));overflow-wrap:anywhere}
.import-batch-detail{grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr))}
.import-batch-detail strong{white-space:normal;overflow-wrap:anywhere;text-overflow:clip;overflow:visible}
.import-confirm{grid-template-columns:minmax(0,1fr)}
@media(max-width:600px){.import-shell{padding:8px}.import-preview,.import-detail-section{padding:8px}.import-detail-modal .modal-body,.modal:has(.import-confirm) .modal-body{padding:10px}.import-full-fields>div,.import-conflict-full>div{grid-template-columns:minmax(0,1fr)}.import-action-bar>.btn{width:100%}.import-file-meta{margin:0}.import-detail-modal .modal-foot>.btn,.modal:has(.import-confirm) .modal-foot>.btn{flex:1 1 120px}}
@media(max-width:600px){.portal:has(.import-shell) .topbar{height:auto;flex-wrap:wrap;gap:8px;padding:8px 10px}.portal:has(.import-shell) .topbar-right{min-width:0;max-width:100%;flex-wrap:wrap;gap:8px}.portal:has(.import-shell) .prod-back-btn{max-width:100%;height:auto;white-space:normal;overflow-wrap:anywhere}.portal:has(.import-shell) .user-menu{min-width:0}}

/* Production inline edit: keep the selected existing row and scroll context in place. */
.ip-inline-edit-bar{position:sticky;left:0;bottom:0;z-index:32;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:8px 12px;border:1px solid #9fc0e1;border-top:3px solid var(--nh-blue);background:rgba(255,255,255,.98);box-shadow:0 -5px 16px rgba(17,66,112,.14);backdrop-filter:blur(8px)}
.ip-inline-edit-bar[hidden]{display:none!important}.ip-inline-edit-bar>div{display:flex;align-items:center;gap:8px;min-width:0}.ip-inline-edit-bar span{color:#60758b;font-size:10px;font-weight:850}.ip-inline-edit-bar strong{overflow:hidden;color:var(--nh-navy-deep);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.ip-inline-edit-bar .row-grid-footer-actions{flex:0 0 auto}
.ip-row-workpaper.has-inline-edit>.ip-row-footer{display:none}.row-grid-inline-edit td{box-shadow:inset 0 2px 0 #1e6fc8,inset 0 -2px 0 #1e6fc8}.row-grid-inline-edit .row-grid-sticky{background:#edf6ff!important}.row-grid-inline-edit .row-grid-input{border-color:#9dbbd8;background:#fff}.row-grid-inline-edit .row-grid-input:focus{border-color:#1e6fc8;box-shadow:0 0 0 2px rgba(30,111,200,.14)}.ip-inline-edit-indicator{display:block;margin-top:3px;color:#1e6fc8!important;font-size:8px!important;font-weight:900;letter-spacing:.04em}
@media(max-width:700px){.ip-inline-edit-bar{align-items:flex-start;flex-direction:column}.ip-inline-edit-bar .row-grid-footer-actions{width:100%}.ip-inline-edit-bar .row-grid-footer-actions .btn{flex:1}}
.maint-import-page{font-size:12px!important}.maint-import-page>.nh-page-head{margin-bottom:8px}
.maint-import-upload,.maint-import-history,.maint-import-results,.maint-import-detail,.maint-import-execution{margin-top:9px!important}
.maint-import-upload,.maint-import-execution{padding:11px!important}.maint-import-upload h2,.maint-import-history h2,.maint-import-execution h2{color:var(--nh-navy-deep);font-size:12px!important}
.maint-import-file,.maint-import-empty-file{border:1px solid var(--nh-border);background:#f8fafc!important}
.maint-import-summary-grid{gap:9px!important;margin-top:9px!important}.maint-import-summary{padding:11px!important}
.maint-import-metric{border-color:var(--nh-border)!important;border-radius:7px!important}.maint-import-table-wrap{border-color:var(--nh-border)!important;border-radius:8px!important}

/* Input Driver uses the same compact operational surfaces. */
.id-workbook-page{display:grid;gap:9px}.id-paper{padding:12px!important}.id-paper-heading{min-height:48px;margin:-12px -12px 10px;padding:9px 12px!important}
.id-paper-heading h2{color:var(--nh-navy-deep);font-size:16px!important}.id-paper-heading p{font-size:10px!important}
.id-section-heading{margin:0 -12px 9px;padding:8px 12px!important}.id-action-button,.id-toolbar-button{height:36px!important;min-height:36px!important;border-radius:6px!important}
.id-assignment-table th{height:40px;background:#eaf2f9!important;color:#173d62!important}.id-assignment-table td{height:42px}

/* Reports and reconciliation: Page Header → compact filter → result canvas. */
.dr-module,.mgr-module,.rc-module,.maintenance-report-host{display:grid;gap:9px}
.dr-filter,.rc-filter,.maintenance-report-toolbar,.mgr-filter-panel{
  border:1px solid var(--nh-border)!important;border-radius:8px!important;background:#fff!important;box-shadow:var(--nh-shadow)!important
}
.dr-filter,.rc-filter,.maintenance-report-toolbar,.mgr-filter-panel{padding:9px 10px!important}
.dr-toolbar,.rc-toolbar,.maintenance-report-section-title,.maintenance-report-section-bar{
  min-height:40px;border-color:var(--nh-border)!important;background:var(--nh-navy)!important;color:#fff!important
}
.dr-paper-host,.rc-paper-host,.mgr-report-host{border-color:var(--nh-border)!important;border-radius:8px!important;background:#e9eef4!important}
.mgr-heading{min-height:58px;padding:10px 12px!important;border-color:var(--nh-border)!important;box-shadow:var(--nh-shadow)}
.mgr-heading h2{font-size:16px!important}.mgr-selector{gap:8px}.mgr-report-tab{min-height:58px;border-color:var(--nh-border)!important;border-radius:8px!important}

/* Kas & Bank and other existing card pages inherit the approved two-column panel language. */
.prod-grid-2{gap:11px!important}.prod-main-col,.prod-side-col{gap:11px!important}
.prod-grid-2 .prod-card{padding:12px}.prod-grid-2 .prod-card-head{min-height:38px;margin:-12px -12px 10px;padding:9px 12px;border-bottom:1px solid var(--nh-border);background:#fff}
.prod-form-actions{gap:8px;padding-top:8px}.prod-row{min-height:38px;border-color:#e4ebf2}

/* Service and future module panels use the same approved Page Header and surface. */
.roc-osc-preview{display:grid;gap:9px}.roc-osc-preview>.nh-page-head{margin-bottom:0}

/* Approved Kartu Service Berkala / Kalender Service presentation preview. */
.service-calendar-page{display:grid;gap:14px;min-width:0;color:var(--nh-text)}
.service-calendar-head{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:64px;margin:0;padding:0;background:transparent}
.service-calendar-title{display:flex;align-items:center;gap:14px;min-width:0}
.service-calendar-title-icon{display:grid;place-items:center;width:50px;height:50px;flex:none;border-radius:10px;background:linear-gradient(145deg,#57a9ff,#1670da);box-shadow:0 7px 18px rgba(23,105,210,.2);color:#fff}
.service-calendar-title-icon>.icon{width:27px;height:27px}
.service-calendar-head h1{margin:0;color:#102f55;font-size:25px;font-weight:850;letter-spacing:-.025em;text-transform:none}
.service-calendar-head p{margin:3px 0 0;color:#526981;font-size:13px}
.service-calendar-head-actions{display:flex;align-items:center;gap:10px;flex:none}
.service-calendar-month{width:195px;height:42px!important;min-height:42px!important;padding:8px 14px!important;border-radius:8px!important;background:#fff;font-weight:750;color:#17365b}
.service-calendar-print{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px!important;min-height:42px!important;padding:7px 18px!important;text-transform:capitalize}
.service-calendar-print>.icon{width:18px;height:18px}
.service-calendar-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.service-calendar-kpi{display:flex;align-items:flex-start;gap:12px;min-height:94px;padding:13px 14px;border:1px solid #dce6f0;border-radius:10px;background:#fff;box-shadow:var(--nh-shadow)}
.service-calendar-kpi-icon{display:grid;place-items:center;width:44px;height:44px;flex:none;border-radius:9px}
.service-calendar-kpi-icon>.icon{width:23px;height:23px}
.service-calendar-kpi>div{display:grid;gap:1px;min-width:0}.service-calendar-kpi>div>span{font-size:11px;font-weight:700}.service-calendar-kpi strong{font-size:24px;line-height:1.15;color:#112f55}.service-calendar-kpi small{color:#64748b;font-size:10px}
.service-calendar-kpi.blue{background:linear-gradient(120deg,#fff,#f1f7ff)}.service-calendar-kpi.blue .service-calendar-kpi-icon{background:#dbeeff;color:#1769d2}
.service-calendar-kpi.green{background:linear-gradient(120deg,#fff,#effcf6)}.service-calendar-kpi.green .service-calendar-kpi-icon{background:#d7f7e7;color:#078448}
.service-calendar-kpi.orange{background:linear-gradient(120deg,#fff,#fff8e8)}.service-calendar-kpi.orange .service-calendar-kpi-icon{background:#ffedbd;color:#c77b00}
.service-calendar-kpi.red{background:linear-gradient(120deg,#fff,#fff0f1)}.service-calendar-kpi.red .service-calendar-kpi-icon{background:#ffdfe2;color:#cf2e35}
.service-calendar-kpi.purple{background:linear-gradient(120deg,#fff,#f7f0ff)}.service-calendar-kpi.purple .service-calendar-kpi-icon{background:#eaddff;color:#6f36c7}
.service-calendar-main{display:grid;grid-template-columns:minmax(320px,32%) minmax(0,68%);gap:12px;align-items:stretch;min-width:0}
.service-calendar-panel,.service-schedule-panel,.service-calendar-packages{min-width:0;overflow:hidden;border:1px solid #d8e3ee;border-radius:11px;background:#fff;box-shadow:var(--nh-shadow)}
.service-calendar-panel{padding:13px}.service-calendar-panel-head,.service-package-title{display:flex;align-items:center;gap:9px;color:#11365f}.service-calendar-panel-head>.icon,.service-package-title>.icon{width:22px;height:22px;color:#1769d2}.service-calendar-panel-head h2,.service-package-title h2{margin:0;font-size:16px;font-weight:850}
.service-calendar-nav{display:grid;grid-template-columns:32px 1fr 32px;align-items:center;margin-top:9px}.service-calendar-nav strong{text-align:center;color:#112f55;font-size:15px;text-transform:capitalize}.service-calendar-nav button{display:grid;place-items:center;width:30px;height:30px;border:0;border-radius:7px;background:transparent;color:#44617e;font-size:24px;cursor:pointer}.service-calendar-nav button:hover{background:#edf5fd;color:#1769d2}
.service-calendar-weekdays,.service-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.service-calendar-weekdays{margin-top:5px}.service-calendar-weekdays span{padding:7px 2px;color:#526981;font-size:10px;text-align:center}
.service-calendar-grid{overflow:hidden;border-top:1px solid #dfe8f1;border-left:1px solid #dfe8f1;border-radius:7px}
.service-calendar-day{display:grid;align-content:center;justify-items:center;gap:5px;min-width:0;height:47px;padding:4px;border:0;border-right:1px solid #dfe8f1;border-bottom:1px solid #dfe8f1;background:#fff;color:#203c5d;font-size:12px;cursor:pointer}
.service-calendar-day:hover:not(:disabled){background:#eff6ff}.service-calendar-day.muted{background:#f8fafc;color:#a0acb8;cursor:default}.service-calendar-day.selected{background:linear-gradient(145deg,#2581ed,#105fc3);box-shadow:inset 0 0 0 1px rgba(255,255,255,.25);color:#fff;font-weight:850}
.service-calendar-dots{display:flex;justify-content:center;gap:2px;min-height:6px}.service-calendar-dots i,.service-calendar-legend i{display:inline-block;width:6px;height:6px;border-radius:50%}.service-calendar-dots i.upcoming,.service-calendar-legend i.upcoming{background:#14a13c}.service-calendar-dots i.today,.service-calendar-legend i.today{background:#f59e0b}.service-calendar-dots i.overdue,.service-calendar-legend i.overdue{background:#ef4637}.service-calendar-dots i.progress,.service-calendar-legend i.progress{background:#8357df}
.service-calendar-day.selected .service-calendar-dots i{box-shadow:0 0 0 1px rgba(255,255,255,.7)}
.service-calendar-legend{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;padding-top:11px;color:#526981;font-size:9px}.service-calendar-legend span{display:flex;align-items:center;gap:5px}.service-calendar-legend i{width:8px;height:8px}
.service-schedule-panel{display:flex;flex-direction:column}.service-schedule-head{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:51px;margin:10px 10px 0;padding:9px 12px;border-radius:8px;background:linear-gradient(90deg,#e9f5ff,#f6fbff)}.service-schedule-head>div{display:flex;align-items:center;gap:9px;min-width:0}.service-schedule-head .icon{width:19px;height:19px;color:#1769d2}.service-schedule-head h2{margin:0;overflow:hidden;color:#173a63;font-size:15px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.service-schedule-head>span{padding:5px 10px;border-radius:999px;background:#7098c6;color:#fff;font-size:10px;font-weight:850;white-space:nowrap}
.service-schedule-panel .service-table-wrap{margin:10px;overflow:auto;border-color:#dce5ef;border-radius:8px}.service-schedule-panel .service-table{min-width:760px;font-size:10px}.service-schedule-panel .service-table th{height:36px;padding:7px 8px;background:#edf3fa;color:#173655;font-size:9px}.service-schedule-panel .service-table td{height:43px;padding:7px 8px}.service-schedule-panel .service-table td:nth-child(4){white-space:normal}.service-schedule-panel .service-table td:last-child{text-align:center}
.service-unit-link{border:0;background:transparent;color:#075fc7;font:inherit;font-weight:850;text-decoration:underline;text-decoration-color:#9ec4ee;text-underline-offset:2px;cursor:pointer}.service-unit-link:hover{color:#00489c}
.service-package-badge{display:inline-grid;place-items:center;min-width:28px;height:28px;border-radius:7px;font-size:14px;font-weight:900}.service-package-badge.package-a{background:#dcedff;color:#145ea9}.service-package-badge.package-b{background:#d8f6e8;color:#0b7a4a}
.service-calendar-status{display:inline-flex;align-items:center;justify-content:center;min-width:75px;min-height:27px;padding:4px 8px;border-radius:999px;font-size:9px;font-weight:850;white-space:nowrap}.service-calendar-status.upcoming{background:#dff6e8;color:#0c7d45}.service-calendar-status.today{background:#ffebba;color:#a66200}.service-calendar-status.overdue{background:#ffe0e1;color:#bd272e}.service-calendar-status.progress{background:#eadfff;color:#6530b4}.service-calendar-status.done{background:#e9eef3;color:#4d6175}
.service-create-wo{display:inline-flex!important;align-items:center;gap:5px!important;white-space:nowrap}.service-create-wo>.icon{width:13px;height:13px}
.service-schedule-bulk{display:flex!important;align-items:center;justify-content:flex-end;gap:8px!important;flex-wrap:wrap}.service-schedule-bulk>span{padding:5px 10px;border-radius:999px;background:#7098c6;color:#fff;font-size:10px;font-weight:850;white-space:nowrap}.service-select-all{display:inline-flex;align-items:center;gap:6px;color:#21476e;font-size:10px;font-weight:800;white-space:nowrap}.service-select-all input,.service-select-cell input{width:16px;height:16px;accent-color:var(--royal-600)}.service-select-cell{width:34px;text-align:center}.service-wo-lock{display:inline-flex;align-items:center;min-height:26px;padding:3px 7px;border-radius:6px;background:#eef2f6;color:#526477;font-size:9px;font-weight:800;white-space:nowrap}.service-reschedule-form{display:grid;gap:12px;width:min(560px,78vw);max-width:100%}.service-reschedule-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.service-reschedule-summary>div{display:grid;gap:3px;padding:9px;border:1px solid var(--nh-border);border-radius:8px;background:var(--slate-50)}.service-reschedule-summary span,.service-reschedule-batch small{color:var(--slate-500);font-size:10px}.service-reschedule-summary strong{color:var(--navy-900);font-size:12px}.service-reschedule-batch{display:grid;gap:5px;padding:11px;border:1px solid var(--nh-border);border-radius:8px;background:var(--royal-50)}.service-reschedule-batch>span{color:var(--slate-700);line-height:1.45}.service-reschedule-note{height:auto!important;min-height:74px;resize:vertical}.service-schedule-panel .service-row-actions{flex-wrap:wrap}
@media(max-width:850px){.service-schedule-head{align-items:flex-start;flex-direction:column}.service-schedule-bulk{justify-content:flex-start}.service-reschedule-form{width:100%}.service-reschedule-summary{grid-template-columns:1fr}}
.service-calendar-info{display:flex;align-items:center;gap:11px;margin:auto 10px 10px;padding:11px 13px;border:1px solid #bce8dd;border-radius:8px;background:linear-gradient(100deg,#effcf8,#f2fbff);color:#315c68}.service-calendar-info>.icon{width:24px;height:24px;flex:none;color:#13a39a}.service-calendar-info>div{display:grid;gap:2px}.service-calendar-info strong{color:#117342;font-size:10px}.service-calendar-info span{font-size:10px}
.service-calendar-packages{padding:12px}.service-package-title{margin-bottom:10px}.service-package-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.service-package-card{display:flex;align-items:flex-start;gap:9px;min-height:94px;padding:12px;border-radius:8px}.service-package-card>.icon{width:20px;height:20px;flex:none}.service-package-card>div{min-width:0}.service-package-card strong{font-size:11px}.service-package-card ul{margin:7px 0 0;padding-left:14px;color:#334d68;font-size:9px;line-height:1.65}.service-package-card.blue{background:#e8f3ff;color:#1165bd}.service-package-card.green{background:#e8f9f2;color:#087e49}.service-package-card.orange{background:#fff6dd;color:#bd7600}.service-package-card.purple{background:#f4eefe;color:#6a31bd}.service-package-card.red{background:#fff0f0;color:#c32d35}
.service-calendar-print-sheet{display:none}
@media(max-width:1180px){.service-calendar-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.service-calendar-main{grid-template-columns:minmax(300px,38%) minmax(0,62%)}.service-package-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.service-calendar-head{align-items:flex-start;flex-direction:column}.service-calendar-head-actions{width:100%}.service-calendar-month{flex:1;width:auto}.service-calendar-main{grid-template-columns:1fr}.service-calendar-panel{max-width:none}.service-calendar-day{height:52px}.service-package-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.service-calendar-page{gap:10px}.service-calendar-head h1{font-size:21px}.service-calendar-title-icon{width:44px;height:44px}.service-calendar-head-actions{align-items:stretch;flex-direction:column}.service-calendar-kpis{grid-template-columns:1fr 1fr}.service-calendar-kpi{min-height:82px}.service-calendar-main{display:grid}.service-calendar-day{height:43px}.service-calendar-legend{justify-content:flex-start}.service-package-grid{grid-template-columns:1fr}}
@media print{
  body.service-calendar-print-mode{background:#fff!important;color:#102f55;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  body.service-calendar-print-mode .sidebar,body.service-calendar-print-mode .maint-sidebar,body.service-calendar-print-mode .topbar,body.service-calendar-print-mode .service-calendar-page>.service-calendar-head,body.service-calendar-print-mode .service-calendar-kpis,body.service-calendar-print-mode .service-calendar-main,body.service-calendar-print-mode .service-calendar-packages,body.service-calendar-print-mode .modal-backdrop,body.service-calendar-print-mode .toast-stack{display:none!important}
  body.service-calendar-print-mode .portal-main,body.service-calendar-print-mode .maint-content{width:auto!important;margin:0!important;padding:0!important;background:#fff!important}
  body.service-calendar-print-mode .service-calendar-page{display:block}
  body.service-calendar-print-mode .service-calendar-print-sheet{display:block!important;padding:0 0 9mm;color:#172b43;font:9px/1.35 Arial,sans-serif}
  body.service-calendar-print-mode .service-print-document-head{margin:0 0 6mm;padding:4mm 5mm;border:0;border-radius:3mm;background:#0f5682!important;color:#fff;text-align:center}
  body.service-calendar-print-mode .service-print-document-head h1{margin:0;font-size:19px;letter-spacing:.4px}
  body.service-calendar-print-mode .service-print-document-head h2{margin:2px 0 0;font-size:13px;color:#fff}
  body.service-calendar-print-mode .service-print-document-head p{margin:1px 0 0;font-size:10px;font-weight:700}
  body.service-calendar-print-mode .service-print-document-head small{display:block;margin-top:3px;color:#d9efff;font-size:7.5px}
  body.service-calendar-print-mode .service-print-fleet-summary{margin-bottom:7mm;break-inside:avoid-page}
  body.service-calendar-print-mode .service-print-fleet-summary>h2,body.service-calendar-print-mode .service-print-date-head h2{margin:0;color:#123d64;font-size:13px}
  body.service-calendar-print-mode .service-print-fleet-summary>h2{margin-bottom:2mm;padding-bottom:1.5mm;border-bottom:1.5px solid #2e75a8}
  body.service-calendar-print-mode .service-table-wrap{overflow:visible;border:1px solid #cbd8e4;border-radius:0}
  body.service-calendar-print-mode .service-table{width:100%;min-width:0;border-collapse:collapse;font-size:8px}
  body.service-calendar-print-mode .service-table th,body.service-calendar-print-mode .service-table td{height:auto;padding:4px 5px;border:1px solid #d5e0ea;white-space:normal}
  body.service-calendar-print-mode .service-table th{background:#dceaf5!important;color:#153a5e;font-weight:800}
  body.service-calendar-print-mode .service-table tbody tr:nth-child(even) td{background:#f7fafc!important}
  body.service-calendar-print-mode .service-print-fleet-summary .service-table th:nth-child(1){width:22%}
  body.service-calendar-print-mode .service-print-fleet-summary .service-table th:nth-child(2){width:12%}
  body.service-calendar-print-mode .service-print-date{margin-top:6mm;break-before:auto}
  body.service-calendar-print-mode .service-print-date+.service-print-date{break-before:page}
  body.service-calendar-print-mode .service-print-date-head{margin-bottom:3mm;padding:2.5mm 3mm;border-left:4px solid #1874b8;background:#edf6fc!important;break-after:avoid-page}
  body.service-calendar-print-mode .service-print-date-head p{margin:1mm 0 0;font-size:8.5px;font-weight:750}
  body.service-calendar-print-mode .service-print-quick{display:flex;gap:3mm;flex-wrap:wrap;margin-top:1.5mm;color:#405d76;font-size:8px}
  body.service-calendar-print-mode .service-print-team-group{margin:0 0 4mm;break-inside:avoid-page}
  body.service-calendar-print-mode .service-print-team-table{width:100%;border-collapse:collapse;font-size:8px}
  body.service-calendar-print-mode .service-print-team-table thead{display:table-header-group}
  body.service-calendar-print-mode .service-print-team-table th,body.service-calendar-print-mode .service-print-team-table td{padding:3.5px 5px;border:1px solid #ccd9e5;vertical-align:top}
  body.service-calendar-print-mode .service-print-team-table thead tr:not(.service-print-team-title) th{background:#deebf5!important;color:#143b60;font-size:7.5px;text-align:left}
  body.service-calendar-print-mode .service-print-team-title th{padding:5px 7px;background:#174f7b!important;color:#fff;font-size:9px;text-align:left}
  body.service-calendar-print-mode .service-print-team-table tbody tr:nth-child(even) td{background:#f6f9fc!important}
  body.service-calendar-print-mode .service-print-team-table th:nth-child(1),body.service-calendar-print-mode .service-print-team-table td:nth-child(1){width:4%;text-align:center}
  body.service-calendar-print-mode .service-print-team-table th:nth-child(2){width:19%}
  body.service-calendar-print-mode .service-print-team-table th:nth-child(3){width:16%}
  body.service-calendar-print-mode .service-print-team-table th:nth-child(4){width:8%}
  body.service-calendar-print-mode .service-print-team-table th:nth-child(5){width:38%}
  body.service-calendar-print-mode .service-print-team-table th:nth-child(6){width:15%}
  body.service-calendar-print-mode .service-print-footer{display:none!important}
  @page{
    size:A4 portrait;
    margin:10mm 10mm 13mm;
    @bottom-left{content:'ROC & OSC · JADWAL SERVICE BERKALA';color:#5c7083;font:7px Arial,sans-serif}
    @bottom-right{content:'HALAMAN ' counter(page);color:#5c7083;font:7px Arial,sans-serif}
  }
}
.service-panel{padding:11px!important}.service-summary-head{padding-bottom:9px;border-bottom:1px solid var(--nh-border)}
.service-table th{height:40px;background:#eaf2f9;color:#173d62}.service-table td{height:42px}

.service-package-master-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}
.service-package-master-card{display:grid;gap:13px;padding:16px;border:1px solid var(--nh-border);border-radius:12px;background:#fff;box-shadow:var(--nh-shadow)}
.service-package-master-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.service-package-master-card-head>div{display:flex;align-items:center;gap:10px}.service-package-master-card h3{margin:0;color:var(--navy-900);font-size:17px}.service-package-master-card small{color:var(--slate-500)}
.service-package-master-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.service-package-master-metrics span{display:grid;gap:3px;padding:9px;border-radius:8px;background:var(--slate-50);color:var(--slate-500);font-size:10px}.service-package-master-metrics strong{color:var(--navy-900);font-size:12px}
.service-package-master-items{min-height:48px;margin:0;padding-left:22px;color:var(--slate-700);line-height:1.45}.service-package-master-items li{margin:0 0 7px}.service-package-master-items li strong,.service-package-detail-items li strong{display:block}.service-package-master-items li small,.service-package-detail-items li small{display:block;color:var(--slate-500);font-size:10px}.service-package-master-actions{display:flex;justify-content:flex-end;gap:8px}
.service-package-detail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.service-package-detail-items{grid-column:1/-1;padding:12px;border:1px solid var(--nh-border);border-radius:9px}.service-package-detail-items ol{margin:8px 0 0;padding-left:22px;line-height:1.45}.service-package-detail-items li{margin-bottom:9px}
.service-package-editor{display:grid;gap:14px;width:min(760px,82vw);max-width:100%}.service-package-editor-head h3{margin:0;font-size:14px}.service-package-editor-head p{margin:3px 0 0;color:var(--slate-500);font-size:11px}.service-package-editor-items{display:grid;gap:10px}.service-package-editor-row{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:start;padding:12px;border:1px solid var(--nh-border);border-radius:10px;background:var(--slate-50)}.service-package-row-number{display:grid;place-items:center;width:30px;height:34px;border-radius:7px;background:var(--royal-50);color:var(--royal-700);font-weight:800}.service-package-row-fields{display:grid;gap:9px;min-width:0}.service-package-row-fields .maint-field{min-width:0}.service-package-editor-row .input{height:36px}.service-package-editor-row .service-package-description{height:auto;min-height:66px;resize:vertical;line-height:1.4;white-space:pre-wrap}.service-package-row-actions{grid-column:2;display:flex;gap:7px;justify-content:flex-end}.service-package-add{justify-self:start}.service-package-extra-rules{display:flex;gap:10px;flex-wrap:wrap;padding:11px;border-radius:8px;background:#f6f9fc;color:var(--slate-600);font-size:11px}.service-package-extra-rules strong{width:100%;color:var(--navy-900)}
@media(max-width:850px){.service-package-master-grid{grid-template-columns:1fr}.service-package-editor{width:100%;min-width:0}.service-package-editor-row{grid-template-columns:30px minmax(0,1fr)}.service-package-detail{grid-template-columns:1fr}.service-package-detail-items{grid-column:1}}

@media(max-width:900px){
  .maint-queue-tabs{overflow-x:auto}.maint-queue-tabs button{white-space:nowrap}
  .maint-import-summary-grid,.prod-grid-2{grid-template-columns:1fr!important}
}
.roc-osc-wo-pilot{display:grid;gap:14px;min-width:0}.wo-pilot-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:10px;background:#fff;border:1px solid #dce6f2;border-radius:14px;box-shadow:0 8px 24px rgba(15,41,72,.06)}.wo-pilot-step{min-height:52px;border:1px solid #dbe6f2;border-radius:10px;background:#f7faff;color:#58708d;display:flex;align-items:center;justify-content:center;gap:10px;font:700 12px/1.2 inherit;letter-spacing:.04em;cursor:pointer}.wo-pilot-step b{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#dce8f5;color:#0f3c70}.wo-pilot-step.active{background:#eaf4ff;border-color:#1e6ed7;color:#0f4fa7;box-shadow:inset 0 -3px #1e6ed7}.wo-pilot-step.active b,.wo-pilot-step.done b{background:#1769d2;color:#fff}.wo-pilot-card{min-width:0;overflow:hidden;background:#fff;border:1px solid #dce6f2;border-radius:15px;box-shadow:0 10px 30px rgba(15,41,72,.07)}.wo-pilot-card-head{padding:20px 22px 14px;border-bottom:1px solid #e4ebf3;background:linear-gradient(180deg,#fff,#f8fbff)}.wo-pilot-card-head small{color:#1e6ed7;font-weight:800;letter-spacing:.08em}.wo-pilot-card-head h2{margin:5px 0 3px;color:#102b4e;font-size:21px}.wo-pilot-card-head p{margin:0;color:#60748c;font-size:13px}.wo-pilot-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:20px 22px}.wo-pilot-field{display:grid;gap:7px;align-content:start}.wo-pilot-field>span{font-size:11px;font-weight:800;letter-spacing:.045em;color:#294867}.wo-pilot-field.wide{grid-column:span 2}.wo-pilot-field.full{grid-column:1/-1}.wo-pilot-field textarea.input{height:auto;min-height:96px;resize:vertical}.wo-pilot-methods{display:grid;grid-template-columns:repeat(2,minmax(0,280px));gap:14px;padding:22px 22px 4px}.wo-pilot-method{display:flex;align-items:center;gap:10px;border:1px solid #ccdbea;background:#f8fbff;border-radius:11px;padding:15px;color:#2c4a69;font-weight:800;cursor:pointer}.wo-pilot-method.selected{border-color:#1e6ed7;background:#eaf4ff;color:#0f4fa7;box-shadow:inset 0 0 0 1px #1e6ed7}.wo-pilot-method input{accent-color:#1769d2}.wo-pilot-footer{position:sticky;z-index:8;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 20px;border-top:1px solid #dce6f2;background:rgba(255,255,255,.96);backdrop-filter:blur(8px)}.wo-pilot-footer>span{color:#73859a;font-size:12px}.wo-pilot-footer>div{display:flex;gap:9px}.wo-pilot-card-head.excel{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.wo-excel-legend{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.wo-excel-legend span{border:1px solid #ccd7e3;border-radius:6px;padding:6px 9px;font-size:10px;font-weight:800}.wo-excel-legend .manual{background:#fff2a8;border-color:#e4c94d;color:#5d4a00}.wo-excel-legend .reference{background:#eaf4ff;border-color:#9bc4f2;color:#174f91}.wo-excel-legend .automatic{background:#eef2f6;border-color:#cbd5df;color:#475b70}.wo-excel-scroll{max-width:100%;overflow:auto;max-height:440px;background:#d6dee8;scrollbar-color:#8295a8 #e7edf3}.wo-excel-grid{border-collapse:separate;border-spacing:0;table-layout:fixed;min-width:max-content;background:#fff;font-size:11px}.wo-excel-grid th,.wo-excel-grid td{height:48px;padding:0;border-right:1px solid #cbd5df;border-bottom:1px solid #cbd5df;vertical-align:middle}.wo-excel-grid th{position:sticky;z-index:4;top:0;padding:7px 8px;background:#f5f7fa;color:#223c58;font-size:10px;line-height:1.15;text-align:center;white-space:normal}.wo-excel-grid th.manual{background:#ffe94f;color:#3e3500}.wo-excel-grid th.reference{background:#dcecff;color:#174f91}.wo-excel-grid td>span{display:block;padding:0 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wo-excel-grid td small{display:block;padding:2px 8px 0;color:#8190a0;font-size:8px;font-weight:800}.wo-excel-manual{background:#fff8c9}.wo-excel-reference{background:#eef6ff;color:#31577f}.wo-excel-auto{background:#f5f7f9;color:#5b6d7f}.wo-excel-input{display:block;width:calc(100% - 10px);height:34px;margin:5px;border:1px solid #d6b72e;border-radius:4px;background:#fff7b8;padding:0 7px;color:#21354b;font:600 11px inherit;box-sizing:border-box}.wo-excel-input:focus{outline:2px solid #d8ad00;outline-offset:-1px;background:#fff}.wo-pilot-sparepart .wo-pilot-footer{border-radius:0 0 15px 15px}@media(max-width:900px){.wo-pilot-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wo-pilot-card-head.excel{display:block}.wo-excel-legend{justify-content:flex-start;margin-top:12px}}@media(max-width:600px){.wo-pilot-steps{gap:5px;padding:6px}.wo-pilot-step{font-size:9px;gap:5px}.wo-pilot-step b{width:22px;height:22px}.wo-pilot-form-grid{grid-template-columns:1fr;padding:16px}.wo-pilot-field.wide{grid-column:auto}.wo-pilot-methods{grid-template-columns:1fr;padding:16px 16px 2px}.wo-pilot-footer{align-items:flex-start;flex-direction:column}.wo-pilot-footer>div{width:100%;overflow:auto}.wo-pilot-footer .btn{white-space:nowrap}}
.roc-osc-wo-pilot>.wo-pilot-steps{width:min(1120px,100%);margin:-5px auto 0;display:flex;justify-content:center;gap:0;padding:0;background:#fff;border:1px solid #c8d2dc;border-radius:3px;box-shadow:none;overflow:hidden}.roc-osc-wo-pilot>.wo-pilot-steps .wo-pilot-step{min-height:34px;flex:0 1 190px;border:0;border-right:1px solid #c8d2dc;border-radius:0;background:#f7f7f5;color:#475569;box-shadow:none;font-size:11px;letter-spacing:.035em}.roc-osc-wo-pilot>.wo-pilot-steps .wo-pilot-step:last-child{border-right:0}.roc-osc-wo-pilot>.wo-pilot-steps .wo-pilot-step b{display:inline;background:none;color:#64748b;width:auto;height:auto}.roc-osc-wo-pilot>.wo-pilot-steps .wo-pilot-step.active{background:#123c68;color:#fff;box-shadow:none}.roc-osc-wo-pilot>.wo-pilot-steps .wo-pilot-step.active b,.roc-osc-wo-pilot>.wo-pilot-steps .wo-pilot-step.done b{background:none;color:inherit}.roc-osc-wo-pilot>.wo-pilot-steps .wo-pilot-step.done{background:#e8edf2;color:#173b61}.wo-pilot-card.wo-paper{width:min(1120px,100%);margin:0 auto;border:1px solid #697785;border-radius:2px;box-shadow:0 4px 14px rgba(15,23,42,.08);background:#fff;overflow:hidden}.wo-paper-head{display:grid;grid-template-columns:180px minmax(0,1fr) 220px;align-items:stretch;min-height:86px;border-bottom:2px solid #26394c;color:#182b3d}.wo-paper-company,.wo-paper-title,.wo-paper-number{padding:12px 15px}.wo-paper-company{display:flex;flex-direction:column;justify-content:center;border-right:1px solid #697785}.wo-paper-company strong{font-size:19px;color:#123c68}.wo-paper-company span{margin-top:3px;font-size:10px;line-height:1.25;color:#4f5f6f}.wo-paper-title{text-align:center;display:flex;flex-direction:column;justify-content:center}.wo-paper-title h2{margin:0;font-size:20px;letter-spacing:.055em;color:#142f4d}.wo-paper-title p{margin:5px 0 0;font-size:10px;letter-spacing:.13em;color:#475569}.wo-paper-number{display:flex;flex-direction:column;justify-content:center;border-left:1px solid #697785}.wo-paper-number span,.wo-paper-number small{font-size:9px;font-weight:800;letter-spacing:.08em;color:#526171}.wo-paper-number strong{margin:4px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#132f4d}.wo-paper-identification{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #697785}.wo-paper-column:first-child{border-right:1px solid #697785}.wo-paper-field{display:grid;grid-template-columns:148px 8px minmax(0,1fr);align-items:center;min-height:43px;margin:0;padding:0 13px;border-bottom:1px solid #c0c7ce;color:#223549}.wo-paper-column .wo-paper-field:last-child{border-bottom:0}.wo-paper-field>span{font-size:11px;font-weight:800;letter-spacing:.035em}.wo-paper-field>b{font-size:11px}.wo-paper-field>.input{width:100%;height:34px;padding:4px 7px;border:0;border-bottom:1px solid #6f7d89;border-radius:0;background:transparent;box-shadow:none;color:#1f3348;font-size:12px}.wo-paper-field>.input:focus{outline:0;border-bottom:2px solid #1769d2}.wo-paper-field.readonly>.input{background:#f1f3f5;color:#5c6976}.wo-paper-field.choice{min-height:43px}.wo-paper-choice{display:flex;align-items:center;gap:24px;min-height:34px}.wo-paper-choice label{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:800}.wo-paper-choice input{accent-color:#173e69}.wo-paper-box{border-bottom:1px solid #697785}.wo-paper-box>h3{margin:0;padding:8px 12px;border-bottom:1px solid #697785;background:#f2f2ef;color:#18334f;text-align:center;font-size:12px;letter-spacing:.06em}.wo-paper-complaint textarea.input{display:block;width:100%;min-height:132px;padding:12px;border:0;border-radius:0;background:repeating-linear-gradient(to bottom,#fff 0,#fff 31px,#cbd2d9 32px);line-height:32px;resize:none;box-sizing:border-box}.wo-paper-execution{border-bottom:1px solid #697785}.wo-paper-method-row{display:flex;align-items:center;gap:25px;min-height:50px;padding:0 16px;border-bottom:1px solid #b8c0c8}.wo-paper-method-row>strong{margin-right:auto;font-size:11px;letter-spacing:.045em}.wo-paper-method-row .wo-pilot-method{display:flex;align-items:center;gap:7px;border:0;border-radius:0;padding:5px 0;background:transparent;color:#263b50;font-size:11px;box-shadow:none}.wo-paper-method-row .wo-pilot-method.selected{background:transparent;color:#0f4fa7;box-shadow:none}.wo-paper-personnel{display:grid;grid-template-columns:1fr 1fr;min-height:104px}.wo-paper-personnel .wo-paper-field{border-right:1px solid #b8c0c8;border-bottom:0}.wo-paper-personnel .wo-paper-field:last-child{border-right:0}.wo-paper-personnel .wo-paper-field.full{grid-column:1/-1}.wo-paper-signatures{display:grid;grid-template-columns:repeat(3,1fr);min-height:118px;border-bottom:1px solid #697785}.wo-paper-signatures>div{position:relative;border-right:1px solid #697785;text-align:center}.wo-paper-signatures>div:last-child{border-right:0}.wo-paper-signatures strong{display:block;padding:7px;border-bottom:1px solid #aeb8c1;background:#f7f7f5;font-size:10px}.wo-paper-signatures span{position:absolute;left:0;right:0;bottom:0;padding:5px;border-top:1px solid #aeb8c1;color:#4a5968;font-size:10px}.wo-paper .wo-pilot-footer{position:static;min-height:47px;padding:7px 12px;border-top:0;background:#f7f7f5;backdrop-filter:none}.wo-paper .wo-pilot-footer .btn{min-height:32px;padding:6px 13px;font-size:11px}.wo-pilot-sparepart{max-width:none}.wo-pilot-sparepart .wo-pilot-card-head{padding:12px 16px;border-radius:0}.wo-pilot-sparepart .wo-pilot-card-head h2{font-size:16px}.wo-pilot-sparepart .wo-pilot-card-head small{display:none}.wo-pilot-sparepart .wo-pilot-card-head p{font-size:11px}@media(max-width:900px){.wo-paper-head{grid-template-columns:120px minmax(0,1fr)}.wo-paper-number{grid-column:1/-1;border-top:1px solid #697785;border-left:0}.wo-paper-identification{grid-template-columns:1fr}.wo-paper-column:first-child{border-right:0;border-bottom:1px solid #697785}.wo-paper-personnel{grid-template-columns:1fr}.wo-paper-personnel .wo-paper-field{border-right:0;border-bottom:1px solid #b8c0c8}.wo-paper-personnel .wo-paper-field:last-child{border-bottom:0}}@media(max-width:600px){.roc-osc-wo-pilot>.wo-pilot-steps .wo-pilot-step{font-size:9px;padding:4px}.wo-paper-head{grid-template-columns:1fr}.wo-paper-company,.wo-paper-title,.wo-paper-number{border:0;border-bottom:1px solid #697785}.wo-paper-number{grid-column:auto}.wo-paper-field{grid-template-columns:112px 6px minmax(0,1fr);padding:0 8px}.wo-paper-method-row{align-items:flex-start;flex-wrap:wrap;gap:10px;padding:10px 12px}.wo-paper-method-row>strong{flex-basis:100%}.wo-paper-signatures{grid-template-columns:1fr;min-height:270px}.wo-paper-signatures>div{min-height:90px;border-right:0;border-bottom:1px solid #697785}}
.wo-paper-company img{display:block;width:118px;height:52px;object-fit:contain;object-position:left center}.wo-paper-current{display:grid;grid-template-columns:180px minmax(0,1fr) auto;align-items:center;gap:16px;padding:16px}.wo-paper-current>strong{color:#123c68}.wo-paper-current>span{font-size:12px;color:#526171}.wo-paper-history{border-bottom:1px solid #697785}.wo-paper-history>h3{margin:0;padding:8px 12px;border-bottom:1px solid #697785;background:#f2f2ef;color:#18334f;text-align:center;font-size:12px;letter-spacing:.06em}.wo-paper-history article{display:grid;grid-template-columns:145px 220px minmax(0,1fr);gap:10px;padding:9px 12px;border-bottom:1px solid #d6dbe0;font-size:11px}.wo-paper-history article:last-child{border-bottom:0}.wo-paper-history time{color:#64748b}.wo-paper-history article span:last-child{grid-column:3}.wo-paper-history-empty{margin:0;padding:14px;color:#64748b;font-size:11px}.wo-grid-actions{display:flex;gap:8px;padding:9px 12px;border-top:1px solid #cbd5df;background:#f7f9fb}.wo-grid-actions .btn{min-height:30px;padding:5px 10px;font-size:10px}@media(max-width:700px){.wo-paper-current{grid-template-columns:1fr}.wo-paper-history article{grid-template-columns:1fr}.wo-paper-history article span:last-child{grid-column:auto}.wo-paper-company img{margin:auto}}
.wo-paper-current.stage-current{grid-template-columns:minmax(0,1fr) auto;align-items:end}.wo-paper-current.stage-current>div{display:grid;gap:4px}.wo-paper-current.stage-current small{color:#64748b;font-weight:800;letter-spacing:.06em}.wo-paper-current.stage-current strong{color:#123c68;font-size:15px}.wo-paper-current.stage-current span{font-size:11px;color:#46586a}.wo-work-history{padding-bottom:0}.wo-work-history>h3{background:#e9eef3}.wo-paper-history .wo-work-stage{display:block;margin:10px 12px;padding:0;border:1px solid #95a3b1;border-left:4px solid #64748b;border-radius:2px;background:#fff;font-size:11px}.wo-paper-history .wo-work-stage.active{border-left-color:#1769d2}.wo-work-stage>header{display:flex;justify-content:space-between;align-items:center;padding:7px 10px;border-bottom:1px solid #cbd3da;background:#f5f7f8}.wo-work-stage>header strong{font-size:11px;color:#18334f}.wo-work-stage dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.wo-work-stage dl>div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:7px;padding:6px 10px;border-right:1px solid #dde2e6;border-bottom:1px solid #dde2e6}.wo-work-stage dl>div:nth-child(even){border-right:0}.wo-work-stage dl>div.wide{grid-column:1/-1;border-right:0}.wo-work-stage dt{font-weight:800;color:#526171}.wo-work-stage dd{margin:0;color:#1d3147;white-space:pre-wrap}.wo-work-stage .audit{background:#f7f8f8;color:#64748b}.wo-stage-transition h4{margin:14px 0 8px;padding:7px 9px;border:1px solid #c2ccd5;background:#e9eef3;color:#18334f;font-size:11px;letter-spacing:.06em}.wo-stage-transition textarea.input{min-height:72px}.status-badge.info{background:#d9eaff;color:#1557a6}@media(max-width:700px){.wo-paper-current.stage-current{grid-template-columns:1fr}.wo-work-stage dl{grid-template-columns:1fr}.wo-work-stage dl>div,.wo-work-stage dl>div.wide{grid-column:1;border-right:0}}
.wo-stage-actions{display:flex!important;grid-auto-flow:column;gap:7px!important}

/* ROC/OSC WO monitoring entry point */
.roc-osc-monitoring{display:grid;gap:14px;min-width:0}
.wo-monitoring-card{padding:0;overflow:hidden;border:1px solid #dce7f1;background:#fff}
.wo-monitoring-head{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 20px;border-bottom:1px solid #e4edf5;background:linear-gradient(135deg,#fbfdff 0%,#f3f8fd 100%)}
.wo-monitoring-head h2{margin:2px 0 3px;color:#102f54;font-size:20px;line-height:1.2}
.wo-monitoring-head p{margin:0;color:#66788c;font-size:12px}
.wo-monitoring-eyebrow{color:#1473d2;font-size:10px;font-weight:800;letter-spacing:.12em}
.wo-monitoring-filters{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex:0 0 auto}
.wo-monitoring-search{width:300px;min-width:220px;height:36px}
.wo-monitoring-status{width:170px;height:36px}
.wo-monitoring-table{min-width:0}
.wo-monitoring-table .maint-table-wrap{max-height:calc(100vh - 280px);overflow:auto;border:0;border-radius:0}
.wo-monitoring-table table{min-width:1380px;margin:0}
.wo-monitoring-table thead th{position:sticky;top:0;z-index:3;height:44px;background:#eaf3fb;color:#163a61;box-shadow:inset 0 -1px 0 #cfdeeb}
.wo-monitoring-table tbody td{height:58px;vertical-align:middle}
.wo-monitoring-table tbody tr:hover td{background:#f7fbff}
.wo-monitoring-performer{display:grid;gap:2px;min-width:148px}
.wo-monitoring-performer strong{color:#173b61;font-size:11px}
.wo-monitoring-performer small{color:#718195;font-size:10px;white-space:normal}
.wo-monitoring-empty{color:#96a4b3}
.wo-monitoring-actions{display:flex;align-items:center;gap:5px;min-width:250px;flex-wrap:wrap}
.wo-monitoring-actions .btn{min-height:30px;padding:5px 9px;font-size:10px;white-space:nowrap}
@media(max-width:900px){
  .wo-monitoring-head{align-items:flex-start;flex-direction:column;gap:12px}
  .wo-monitoring-filters{width:100%;justify-content:flex-start;overflow-x:auto}
  .wo-monitoring-search{width:min(360px,70vw)}
  .wo-monitoring-table .maint-table-wrap{max-height:calc(100vh - 330px)}
}
/* FAT Cash & Bank — workbook-derived operational ledger standard */
.fat-cash-page{display:grid;gap:12px;color:#0d2c57}.fat-page-title{display:flex;align-items:center;justify-content:space-between;gap:18px}.fat-page-title h1{margin:0;color:#0b2d60;font-size:28px;line-height:1.1}.fat-page-title p{margin:4px 0 0;font-size:15px}.fat-current-balance{display:flex;align-items:center;gap:12px;min-width:330px;padding:11px 16px;border:1px solid #eadfae;border-radius:6px;background:linear-gradient(90deg,#fff9db,#fffdf2)}.fat-current-balance .svg-ic{color:#8a762f}.fat-current-balance div{display:flex;flex-direction:column}.fat-current-balance span{font-size:12px}.fat-current-balance strong{font-size:20px;color:#082c64}.fat-panel{border:1px solid #cfdef0;border-radius:6px;background:#fff;box-shadow:0 2px 8px rgba(10,48,91,.045);overflow:hidden}.fat-panel-title{min-height:40px;padding:8px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;background:linear-gradient(90deg,#f5f9fd,#fff);border-bottom:1px solid #d9e5f2;color:#0b3673}.fat-panel-title>div,.fat-panel-title:not(:has(>div)){gap:8px}.fat-panel-title>div{display:flex;align-items:center}.fat-input-layout{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(260px,.8fr);gap:18px;padding:12px}.fat-form-grid{display:grid;grid-template-columns:repeat(2,minmax(230px,1fr));gap:8px 22px}.fat-field{display:grid;grid-template-columns:132px minmax(0,1fr);align-items:center;gap:10px;font-size:12px}.fat-field>span{font-weight:600}.fat-field>span b{color:#dc2626}.fat-field textarea{min-height:72px;resize:vertical}.fat-radio-row{display:flex;gap:20px;min-height:36px;align-items:center}.fat-radio-row label{display:flex;align-items:center;gap:6px;font-weight:700}.fat-reference-host{min-width:0}.fat-reference-none,.fat-reference-box{border:1px solid #d5e1ed;border-radius:5px;background:#f8fbfe;padding:9px}.fat-reference-none{display:flex;gap:9px;align-items:center}.fat-reference-none div{display:flex;flex-direction:column}.fat-reference-none span{font-weight:400;color:#55708e}.fat-reference-box>strong{display:block;margin-bottom:7px;font-size:11px}.fat-reference-search{display:grid;grid-template-columns:1fr auto;gap:7px}.fat-obligation-results{display:grid;gap:5px;margin-top:7px;max-height:175px;overflow:auto}.fat-obligation-row{display:grid;grid-template-columns:22px minmax(160px,1fr) auto 118px;align-items:center;gap:8px;padding:6px;border:1px solid #dbe6f0;border-radius:4px;background:#fff}.fat-obligation-row>span{display:flex;flex-direction:column}.fat-obligation-row small{color:#5c728a}.fat-obligation-row .fat-outstanding{white-space:nowrap;color:#0b5b93}.fat-attachment{display:flex;flex-direction:column;gap:9px;border-left:1px solid #d9e5f2;padding-left:18px}.fat-attachment>strong{font-size:12px}.fat-dropzone{min-height:100px;border:1px dashed #5aa9e6;border-radius:5px;background:#f9fcff;color:#173f6d;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;cursor:pointer}.fat-dropzone small{color:#627a94}.fat-attachment>span{padding:8px;border:1px solid #dbe6f0;border-radius:4px;color:#526a82;min-height:38px}.fat-form-actions{display:flex;gap:9px;padding:0 12px 12px;flex-wrap:wrap}.fat-form-actions .btn{min-width:150px}.fat-status-line{padding:0 12px 10px;min-height:16px;color:#08783f;font-weight:700}.fat-status-line.error,.fat-inline-error{color:#b91c1c}.fat-filterbar{display:grid;grid-template-columns:auto 140px auto 140px auto 150px minmax(200px,1fr) auto auto;gap:8px;align-items:center;padding:10px}.fat-filterbar>span{font-size:12px}.fat-table-wrap{overflow:auto;margin:0 10px;border:1px solid #cbdbea}.fat-table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:11px}.fat-table th,.fat-table td{padding:7px 8px;border-right:1px solid #cfdeeb;border-bottom:1px solid #cfdeeb;white-space:nowrap}.fat-table th{position:sticky;top:0;z-index:2;background:#dff0fd;color:#082d63}.fat-table td:nth-child(8){white-space:normal;min-width:200px}.fat-table .num{text-align:right;font-variant-numeric:tabular-nums}.fat-table tr.void{opacity:.58;text-decoration:line-through}.fat-actions{display:flex;gap:5px}.btn-icon{width:30px;height:28px;border:1px solid #c7d8e8;border-radius:4px;background:#fff;color:#0b5fae;cursor:pointer}.fat-empty{text-align:center;padding:30px!important;color:#637a91}.fat-pager{display:flex;justify-content:space-between;align-items:center;padding:9px 10px;font-size:12px}.fat-pager>div{display:flex;gap:4px}.fat-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.fat-summary-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px;border:1px solid #cfdeec;border-radius:5px;background:#fff}.fat-summary-card span{font-size:12px;font-weight:700}.fat-summary-card strong{font-size:21px;color:#0d4384}.fat-summary-card.green strong{color:#119149}.fat-summary-card.red strong{color:#d62525}.fat-detail{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:8px}.fat-detail>div{display:flex;flex-direction:column;padding:8px;border:1px solid #dde7f0;border-radius:4px}.fat-detail span{font-size:11px;color:#60758a}.fat-detail .wide{grid-column:1/-1}.fat-detail a{color:#066ec6;margin-top:5px}
.fat-person-picker{position:relative}.fat-person-search{padding-right:30px}.fat-person-options{position:absolute;z-index:80;top:calc(100% + 4px);right:0;left:0;max-height:260px;overflow:auto;padding:5px;border:1px solid #b9cde1;border-radius:6px;background:#fff;box-shadow:0 14px 30px rgba(10,48,91,.18)}.fat-person-options button{display:grid;width:100%;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;padding:8px 9px;border:0;border-radius:5px;background:#fff;color:#17395f;text-align:left;cursor:pointer}.fat-person-options button:hover,.fat-person-options button:focus{background:#edf6ff;outline:none}.fat-person-options strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.fat-person-options small{grid-column:1;color:#57718d;font-size:10px}.fat-person-options span{grid-column:2;grid-row:1/3;align-self:center;color:#0b5f9e;font-size:10px;white-space:nowrap}.fat-person-empty{padding:12px;color:#647b92;font-size:11px;text-align:center}.fat-field input[readonly]{background:#f3f7fa;color:#314c68;cursor:not-allowed}
@media(max-width:900px){.fat-page-title{align-items:stretch;flex-direction:column}.fat-current-balance{min-width:0}.fat-input-layout{grid-template-columns:1fr}.fat-attachment{border-left:0;border-top:1px solid #d9e5f2;padding:12px 0 0}.fat-form-grid{grid-template-columns:1fr}.fat-field{grid-template-columns:1fr;gap:4px}.fat-filterbar{display:flex;overflow-x:auto}.fat-filterbar .input{min-width:140px}.fat-summary-grid{grid-template-columns:repeat(2,1fr)}.fat-cash-page{padding-bottom:calc(12px + env(safe-area-inset-bottom))}.fat-form-actions{position:sticky;bottom:env(safe-area-inset-bottom);z-index:7;background:#fff;padding-top:10px;border-top:1px solid #dbe5ee}.fat-form-actions .btn{min-width:calc(50% - 6px);flex:1}.fat-obligation-row{grid-template-columns:22px 1fr}.fat-obligation-row .fat-outstanding,.fat-obligation-row input{grid-column:2}.fat-detail{grid-template-columns:1fr}.fat-person-options{position:fixed;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));left:12px;top:auto;max-height:45vh}}
@media(max-width:500px){.fat-shell .topbar{gap:7px}.fat-shell .topbar-brand{gap:4px}.fat-shell .topbar-brand .env-badge{margin-left:1px;padding:2px 6px;font-size:8px;letter-spacing:.5px}.fat-shell .topbar-right{gap:6px}.fat-shell .header-context-back{width:36px;min-width:36px;padding:0!important;font-size:0!important}.fat-shell .header-context-back::before{content:'←';font-size:16px}.fat-shell .user-menu>div:not(.avatar){display:none}.fat-shell .user-menu .avatar{width:32px;height:32px}.fat-page-title h1{font-size:23px}.fat-summary-card strong{font-size:17px}}

/* FAT dashboard — approved finance/corporate navigation visual. */
.fat-dashboard{display:grid;gap:22px;padding-bottom:22px;color:#102f58}.fat-dashboard-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);min-height:174px;overflow:hidden;border:1px solid #cfe0f2;border-radius:14px;background:linear-gradient(115deg,#fff 0%,#f7fbff 57%,#e5f3ff 100%);box-shadow:0 8px 24px rgba(21,69,116,.07)}.fat-dashboard-hero::after{content:'';position:absolute;right:-95px;top:-155px;width:390px;height:390px;border-radius:50%;background:rgba(255,255,255,.58)}.fat-dashboard-hero-copy{position:relative;z-index:2;align-self:center;padding:25px 34px}.fat-dashboard-company{display:inline-flex;align-items:center;min-height:24px;margin-bottom:7px;padding:3px 10px;border-radius:999px;background:#e8f3ff;color:#1769b1;font-size:11px;font-weight:800;letter-spacing:.03em;text-transform:uppercase}.fat-dashboard-hero h2{margin:0;color:#0a315f;font-size:28px;line-height:1.14;text-transform:none}.fat-dashboard-hero p{max-width:675px;margin:8px 0 0;color:#4a6280;font-size:15px;line-height:1.45}.fat-dashboard-hero-visual{position:relative;z-index:1;min-height:174px;margin-right:22px}.fat-hero-sheet{position:absolute;right:136px;top:33px;width:114px;height:92px;padding:15px 12px;border:1px solid #bad8f1;border-radius:10px;background:linear-gradient(145deg,#fff,#dceeff);box-shadow:0 10px 18px rgba(17,76,130,.12);transform:rotate(-4deg)}.fat-hero-sheet i{display:block;height:5px;margin-bottom:8px;border-radius:5px;background:#8fc6ef}.fat-hero-sheet i:nth-child(2){width:70%}.fat-hero-sheet i:nth-child(3){width:88%}.fat-hero-sheet i:nth-child(4){width:55%}.fat-hero-chart{position:absolute;right:58px;top:25px;display:flex;align-items:end;gap:8px;width:115px;height:105px;padding:18px 15px 14px;border:1px solid #b8d7ef;border-radius:10px;background:linear-gradient(145deg,#fafdff,#cfe9fd);box-shadow:0 11px 20px rgba(14,73,128,.14)}.fat-hero-chart i{flex:1;border-radius:4px 4px 1px 1px;background:linear-gradient(#57b4f3,#0872cf)}.fat-hero-chart i:nth-child(1){height:35%}.fat-hero-chart i:nth-child(2){height:55%}.fat-hero-chart i:nth-child(3){height:72%}.fat-hero-chart i:nth-child(4){height:94%}.fat-hero-calculator{position:absolute;right:12px;bottom:12px;display:grid;grid-template-columns:repeat(3,1fr);gap:4px;width:75px;height:90px;padding:26px 8px 9px;border:1px solid #5b87ac;border-radius:11px;background:linear-gradient(145deg,#77b3e0,#245e94);box-shadow:0 10px 20px rgba(9,54,96,.25);transform:rotate(8deg)}.fat-hero-calculator::before{content:'';position:absolute;left:9px;right:9px;top:8px;height:13px;border-radius:3px;background:#dff4ff}.fat-hero-calculator i{border-radius:2px;background:#bfdef2}.fat-hero-coin{position:absolute;z-index:2;border:8px solid #7fc5f5;border-radius:50%;background:#d9f1ff;box-shadow:0 5px 10px rgba(22,91,146,.18)}.fat-hero-coin.coin-one{right:188px;bottom:17px;width:47px;height:47px}.fat-hero-coin.coin-two{right:151px;bottom:7px;width:34px;height:34px;border-width:6px}.fat-dashboard-section{display:grid;gap:12px}.fat-dashboard-section-head{display:flex;align-items:center;gap:12px;padding:0 8px}.fat-dashboard-section-icon{display:grid;place-items:center;width:36px;height:36px;color:#0f5897}.fat-dashboard-section-icon svg{width:30px;height:30px}.fat-dashboard-section-head h2{margin:0;color:#0b3565;font-size:19px;text-transform:uppercase;letter-spacing:.015em}.fat-dashboard-section-head p{margin:2px 0 0;color:#647990;font-size:13px}.fat-dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.fat-dashboard-card{position:relative;display:grid;grid-template-columns:76px minmax(0,1fr) 40px;align-items:center;min-height:150px;overflow:hidden;padding:18px;border:1px solid #d5e2ef;border-radius:12px;background:linear-gradient(135deg,#fff 0%,#fff 58%,var(--fat-card-soft,#eaf5ff) 100%);box-shadow:0 5px 16px rgba(10,53,96,.065);color:#14355f;text-decoration:none;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.fat-dashboard-card::before{content:'';position:absolute;left:0;top:15px;bottom:15px;width:4px;border-radius:0 4px 4px 0;background:var(--fat-card-accent,#0a78d0)}.fat-dashboard-card:hover{transform:translateY(-2px);border-color:var(--fat-card-accent,#0a78d0);box-shadow:0 9px 23px rgba(10,53,96,.12)}.fat-dashboard-card:focus-visible{outline:3px solid rgba(9,111,201,.32);outline-offset:3px}.fat-dashboard-card-icon{position:relative;z-index:2;display:grid;place-items:center;width:62px;height:62px;border-radius:13px;background:var(--fat-card-icon,#dcefff);color:var(--fat-card-accent,#0a78d0)}.fat-dashboard-card-icon svg{width:31px;height:31px}.fat-dashboard-card-copy{position:relative;z-index:2;display:grid;gap:5px;align-content:center}.fat-dashboard-card-copy strong{font-size:18px;line-height:1.15}.fat-dashboard-card-copy>span{max-width:190px;color:#596f89;font-size:13px;line-height:1.35}.fat-dashboard-card-arrow{position:relative;z-index:2;display:grid;place-items:center;width:38px;height:38px;border:1px solid #d5e5f3;border-radius:50%;background:#f1f8fe;color:var(--fat-card-accent,#0a78d0)}.fat-dashboard-card-arrow svg{width:19px;height:19px}.fat-dashboard-card-art{position:absolute;right:22px;bottom:-9px;display:flex;align-items:end;gap:6px;width:100px;height:67px;opacity:.13;transform:skewX(-6deg)}.fat-dashboard-card-art::before{content:'';position:absolute;left:0;right:0;bottom:9px;height:1px;background:var(--fat-card-accent,#0a78d0)}.fat-dashboard-card-art i{width:20px;border-radius:5px 5px 0 0;background:var(--fat-card-accent,#0a78d0)}.fat-dashboard-card-art i:nth-child(1){height:24px}.fat-dashboard-card-art i:nth-child(2){height:43px}.fat-dashboard-card-art i:nth-child(3){height:61px}.fat-dashboard-card.tone-cash{--fat-card-accent:#12924b;--fat-card-icon:#d9f7e5;--fat-card-soft:#e8faef}.fat-dashboard-card.tone-transport{--fat-card-accent:#0877d1;--fat-card-icon:#dcefff;--fat-card-soft:#eaf5ff}.fat-dashboard-card.tone-bank-one{--fat-card-accent:#6932c3;--fat-card-icon:#ece1ff;--fat-card-soft:#f3edff}.fat-dashboard-card.tone-bank-two{--fat-card-accent:#e35f08;--fat-card-icon:#ffe5cf;--fat-card-soft:#fff2e8}.fat-dashboard-card.tone-bank-three{--fat-card-accent:#008b8f;--fat-card-icon:#d5f5f4;--fat-card-soft:#e8fbfa}.fat-dashboard-card.tone-report{--fat-card-accent:#d21f2b;--fat-card-icon:#ffe0e2;--fat-card-soft:#fff0f1}.fat-dashboard-report-grid{grid-template-columns:minmax(0,2fr) minmax(240px,1fr)}.fat-dashboard-report-grid .fat-dashboard-card{grid-column:1/-1;min-height:126px}.fat-dashboard-report-grid .fat-dashboard-card-copy>span{max-width:none}.fat-dashboard-report-grid .fat-dashboard-card-art{right:75px;width:165px}.fat-dashboard .report-section{padding-top:2px}
@media(max-width:1100px){.fat-dashboard-hero{grid-template-columns:1fr 285px}.fat-dashboard-hero-copy{padding:22px 25px}.fat-dashboard-hero-visual{margin-right:8px;transform:scale(.88);transform-origin:center right}.fat-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.fat-dashboard{gap:17px}.fat-dashboard-hero{display:block;min-height:198px}.fat-dashboard-hero-copy{padding:20px 20px 95px}.fat-dashboard-hero h2{font-size:23px}.fat-dashboard-hero p{font-size:13px}.fat-dashboard-hero-visual{position:absolute;right:0;bottom:-13px;width:255px;min-height:116px;transform:scale(.66);transform-origin:right bottom}.fat-dashboard-section-head{align-items:flex-start;padding:0 2px}.fat-dashboard-section-head h2{font-size:17px}.fat-dashboard-grid{grid-template-columns:1fr;gap:10px}.fat-dashboard-card{grid-template-columns:62px minmax(0,1fr) 36px;min-height:118px;padding:14px}.fat-dashboard-card-icon{width:50px;height:50px}.fat-dashboard-card-icon svg{width:25px;height:25px}.fat-dashboard-card-copy strong{font-size:16px}.fat-dashboard-card-copy>span{max-width:none;font-size:12px}.fat-dashboard-card-arrow{width:34px;height:34px}.fat-dashboard-report-grid{grid-template-columns:1fr}.fat-dashboard-report-grid .fat-dashboard-card{min-height:118px}.fat-page .nh-page-head{margin-bottom:12px}}
@media(max-width:420px){.fat-dashboard-hero-copy{padding:18px 16px 90px}.fat-dashboard-company{font-size:9px}.fat-dashboard-hero h2{font-size:21px}.fat-dashboard-hero-visual{right:-18px}.fat-dashboard-card-art{display:none}}
.fat-dashboard-card.tone-administration{--fat-card-accent:#6531c5;--fat-card-icon:#eadfff;--fat-card-soft:#f4efff}.fat-dashboard-administration-grid{grid-template-columns:minmax(0,2fr) minmax(240px,1fr)}.fat-dashboard-administration-grid .fat-dashboard-card{grid-column:1/-1;min-height:126px}.fat-dashboard-administration-grid .fat-dashboard-card-copy>span{max-width:none}.fat-dashboard-administration-grid .fat-dashboard-card-art{right:75px;width:165px}.fat-dashboard .administration-section{padding-top:2px}
@media(max-width:760px){.fat-dashboard-administration-grid{grid-template-columns:1fr}.fat-dashboard-administration-grid .fat-dashboard-card{min-height:118px}}

/* FAT control dashboard v2 — read-only operational aggregation. */
.fat-control-dashboard{display:grid;gap:12px;min-width:0;padding-bottom:18px;color:#102f58}.fat-control-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 300px;align-items:center;min-height:154px;overflow:hidden;border-radius:12px;background:radial-gradient(circle at 72% 115%,rgba(40,151,255,.35),transparent 34%),linear-gradient(115deg,#052b5e 0%,#073f83 63%,#0862bb 100%);box-shadow:0 7px 18px rgba(4,43,85,.16);color:#fff}.fat-control-hero::after{content:'';position:absolute;right:-90px;top:-205px;width:510px;height:510px;border:3px solid rgba(255,218,93,.72);border-left-color:transparent;border-bottom-color:transparent;border-radius:50%;transform:rotate(-23deg)}.fat-control-hero-copy{position:relative;z-index:2;padding:22px 34px}.fat-control-kicker{display:block;margin-bottom:7px;font-size:11px;font-weight:900;letter-spacing:.07em}.fat-control-hero h1{margin:0;font-size:27px;line-height:1.14;color:#fff;text-transform:none}.fat-control-hero p{max-width:710px;margin:7px 0 0;color:#eff7ff;font-size:13px;line-height:1.45}.fat-control-hero-logo{position:absolute;z-index:1;right:330px;top:50%;width:175px;height:135px;object-fit:contain;opacity:.11;transform:translateY(-50%);filter:grayscale(1) brightness(2.2)}.fat-control-clock{position:relative;z-index:3;display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:9px;margin:0 18px 28px;padding:11px 13px;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:rgba(4,38,80,.38);box-shadow:inset 0 1px rgba(255,255,255,.08)}.fat-control-clock-icon{display:grid;place-items:center}.fat-control-clock-icon svg{width:21px}.fat-control-clock div{display:grid;gap:2px}.fat-control-clock strong{font-size:11px}.fat-control-clock div span{font-size:11px;color:#dbeeff;font-variant-numeric:tabular-nums}.fat-control-clock>b{padding:4px 8px;border-radius:999px;font-size:9px;letter-spacing:.05em}.fat-control-clock>b.live{background:#29b85d;color:#fff}.fat-control-clock>b.preview{background:#f59e0b;color:#fff}.fat-control-tagline{position:absolute;z-index:3;right:29px;bottom:14px;width:265px;color:#d9eaff;font-size:12px;text-align:right}.fat-control-dynamic{display:grid;gap:12px;min-width:0}.fat-control-loading,.fat-control-error{display:grid;place-items:center;min-height:280px;border:1px solid #d5e2ee;border-radius:10px;background:#fff;color:#58708b;font-weight:700}.fat-control-error{color:#b42318;background:#fff8f7}.fat-control-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}.fat-control-summary-card{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr) 24px;align-items:center;gap:7px;min-width:0;min-height:112px;padding:12px;border:1px solid #d3e1ee;border-radius:10px;background:linear-gradient(145deg,#fff 55%,var(--dash-soft,#eef6ff));box-shadow:0 4px 11px rgba(14,52,91,.07);color:#10345d;text-decoration:none;text-align:left;cursor:pointer}.fat-control-summary-card:hover{border-color:var(--dash-accent,#1379cd);transform:translateY(-1px)}.fat-control-summary-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;background:var(--dash-icon,#e2f1ff);color:var(--dash-accent,#1379cd)}.fat-control-summary-icon svg{width:19px;height:19px}.fat-control-summary-label{overflow:hidden;font-size:11px;font-weight:900;white-space:nowrap;text-overflow:ellipsis}.fat-control-summary-arrow{display:grid;place-items:center;width:23px;height:23px;border:1px solid #dbe7f1;border-radius:50%;color:var(--dash-accent,#1379cd)}.fat-control-summary-arrow svg{width:13px}.fat-control-summary-card>strong{grid-column:1/-1;font-size:18px;line-height:1;font-variant-numeric:tabular-nums;white-space:nowrap}.fat-control-summary-card>span:last-child{grid-column:1/-1;font-size:10px;font-weight:800}.fat-control-summary-card>span:last-child small{margin-left:5px;color:#718399;font-size:9px;font-weight:500}.fat-control-summary-card .up{color:#0a9849}.fat-control-summary-card .down{color:#d12f3c}.fat-control-summary-card .neutral{color:#718399}.fat-control-summary-card.tone-green{--dash-accent:#119854;--dash-icon:#dcf8e7;--dash-soft:#eefbf3}.fat-control-summary-card.tone-orange{--dash-accent:#f06a0a;--dash-icon:#ffead8;--dash-soft:#fff3e9}.fat-control-summary-card.tone-purple{--dash-accent:#7139cc;--dash-icon:#eee3ff;--dash-soft:#f6f0ff}.fat-control-summary-card.tone-blue{--dash-accent:#0d78d4;--dash-icon:#def0ff;--dash-soft:#edf7ff}.fat-control-summary-card.tone-teal{--dash-accent:#078d91;--dash-icon:#d8f5f3;--dash-soft:#ebfbfa}.fat-control-panel{min-width:0;overflow:hidden;border:1px solid #d1dfec;border-radius:10px;background:#fff;box-shadow:0 3px 12px rgba(13,52,91,.055)}.fat-control-panel-title{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:45px;padding:9px 13px;border-bottom:1px solid #dce7f0;background:linear-gradient(90deg,#fff,#f7fbff)}.fat-control-panel-title>div{display:flex;align-items:center;gap:9px}.fat-control-panel-title svg{width:18px;height:18px;color:#0d5b9c}.fat-control-panel-title strong{font-size:14px}.fat-control-period{display:flex;align-items:center;gap:7px;color:#44617f;font-size:10px;font-weight:700}.fat-control-month{width:138px;height:32px;padding:0 7px;border:1px solid #d1e0ec;border-radius:6px;background:#fff;color:#163c65;font:inherit}.fat-control-main-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(350px,.9fr);gap:12px;min-width:0}.fat-control-table-scroll{max-width:100%;overflow:auto}.fat-control-table{width:100%;min-width:660px;border-collapse:collapse;font-size:10px}.fat-control-table th,.fat-control-table td{height:34px;padding:6px 9px;border-right:1px solid #dbe5ee;border-bottom:1px solid #dbe5ee;white-space:nowrap}.fat-control-table th{background:#e8f4fc;color:#113b67;font-weight:900;text-align:left}.fat-control-table .num{text-align:right;font-variant-numeric:tabular-nums}.fat-control-table .closing{color:#069148;font-weight:900}.fat-control-table .closing.negative{color:#d72f3d}.fat-control-table tr.total td{background:#e9f4fd;color:#0b3260;font-weight:900}.fat-control-activity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px}.fat-control-activity-card{display:grid;grid-template-columns:37px minmax(0,1fr);align-items:center;gap:9px;min-height:68px;padding:9px;border:1px solid #d9e4ed;border-radius:8px;background:#f9fcff}.fat-control-activity-card>span{display:grid;place-items:center;width:37px;height:37px;border-radius:8px}.fat-control-activity-card>span svg{width:20px;height:20px}.fat-control-activity-card>div{display:grid;gap:2px;min-width:0}.fat-control-activity-card small{color:#63778d;font-size:9px}.fat-control-activity-card strong{font-size:14px;white-space:nowrap}.fat-control-activity-card em{color:#567088;font-size:9px;font-style:normal}.fat-control-activity-card.receipt{background:#f4fcf7}.fat-control-activity-card.receipt>span{background:#dcf8e6;color:#0b9749;transform:rotate(90deg)}.fat-control-activity-card.receipt strong{color:#0a8a44}.fat-control-activity-card.payment{background:#fff7f8}.fat-control-activity-card.payment>span{background:#ffe2e5;color:#d43142;transform:rotate(-90deg)}.fat-control-activity-card.payment strong{color:#bd2635}.fat-control-activity-card.count>span{background:#dff1ff;color:#0b70c6}.fat-control-activity-card.kasbon{background:#fff9f1}.fat-control-activity-card.kasbon>span{background:#ffe7ca;color:#e16b0d}.fat-control-trend-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 12px;color:#173a61;font-size:9px}.fat-control-trend-head>span{color:#677b90}.fat-control-trend-head i{display:inline-block;width:7px;height:7px;margin-left:7px;border-radius:50%}.fat-control-trend-head i.receipt{background:#35b977}.fat-control-trend-head i.payment{background:#ef6b78}.fat-control-trend{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;height:105px;padding:8px 10px 10px;border-top:1px solid #edf2f6;background:repeating-linear-gradient(to top,transparent 0,transparent 30px,#edf2f6 31px)}.fat-control-trend-day{display:grid;grid-template-rows:minmax(0,1fr) 15px;min-width:0}.fat-control-bars{display:flex;align-items:end;justify-content:center;gap:3px;min-height:0}.fat-control-bars i{display:block;width:min(15px,38%);min-height:0;border-radius:3px 3px 0 0}.fat-control-bars .receipt{background:#43bd7e}.fat-control-bars .payment{background:#ef7781}.fat-control-trend-day>span{overflow:hidden;color:#64798e;font-size:8px;text-align:center;white-space:nowrap}.fat-control-panel-date{font-size:10px;color:#59718b}.fat-control-empty{padding:22px!important;color:#6e8195;text-align:center!important}.fat-control-empty.compact{display:grid;place-items:center;min-height:94px;border-top:1px solid #edf2f6;font-size:10px}.fat-control-bottom-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(300px,.8fr);gap:12px;min-width:0}.fat-control-see-all{display:flex;align-items:center;gap:5px;color:#0767b7;font-size:10px;font-weight:800;text-decoration:none}.fat-control-see-all svg{width:13px}.fat-control-media{display:inline-flex;padding:3px 8px;border-radius:999px;background:#e7f2fb;color:#0a4c85;font-size:9px;font-weight:800}.fat-control-media.tone-green{background:#dcf6e7;color:#08783f}.fat-control-media.tone-orange{background:#ffead8;color:#9b490b}.fat-control-media.tone-purple{background:#eee5ff;color:#6530b5}.fat-control-media.tone-teal{background:#dcf5f4;color:#087477}.fat-control-quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding:10px}.fat-control-quick-card{position:relative;display:grid;align-content:space-between;min-height:74px;padding:10px;border:1px solid #d7e3ed;border-radius:8px;background:linear-gradient(145deg,#fff,var(--dash-soft,#eff7ff));color:var(--dash-accent,#126fc0);text-decoration:none}.fat-control-quick-card>span svg{width:21px;height:21px}.fat-control-quick-card>strong{align-self:end;color:#193b61;font-size:9px}.fat-control-quick-card>i{position:absolute;right:8px;top:8px}.fat-control-quick-card>i svg{width:12px;height:12px}.fat-control-quick-card.tone-green{--dash-accent:#119854;--dash-soft:#eefbf3}.fat-control-quick-card.tone-orange{--dash-accent:#f06a0a;--dash-soft:#fff3e9}.fat-control-quick-card.tone-purple{--dash-accent:#7139cc;--dash-soft:#f6f0ff}.fat-control-quick-card.tone-blue{--dash-accent:#0d78d4;--dash-soft:#edf7ff}.fat-control-quick-card.tone-teal{--dash-accent:#078d91;--dash-soft:#ebfbfa}.fat-control-quick-card.tone-red{--dash-accent:#cc2f3b;--dash-soft:#fff0f1}
@media(max-width:1280px){.fat-control-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.fat-control-hero-logo{right:285px}.fat-control-main-grid,.fat-control-bottom-grid{grid-template-columns:1fr}.fat-control-activity-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:900px){.fat-control-hero{grid-template-columns:1fr;min-height:200px}.fat-control-hero-copy{padding:20px 22px 76px}.fat-control-clock{position:absolute;left:20px;right:20px;bottom:13px;margin:0}.fat-control-tagline{display:none}.fat-control-hero-logo{right:20px;top:38px;width:115px;height:90px}.fat-control-activity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fat-control-bottom-grid,.fat-control-main-grid{grid-template-columns:1fr}.fat-control-quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.fat-page.prod-page{padding-right:10px;padding-left:10px}.fat-control-dashboard{gap:9px}.fat-control-hero{min-height:230px;border-radius:9px}.fat-control-hero-copy{align-self:start;padding:18px 16px 90px}.fat-control-hero h1{font-size:21px}.fat-control-hero p{font-size:11px}.fat-control-hero-logo{right:8px;top:52px;width:86px;opacity:.09}.fat-control-clock{left:12px;right:12px;bottom:11px;grid-template-columns:24px 1fr auto;padding:8px}.fat-control-clock strong{font-size:9px}.fat-control-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.fat-control-summary-card{min-height:104px;padding:10px}.fat-control-summary-card>strong{font-size:15px}.fat-control-main-grid,.fat-control-bottom-grid{gap:9px}.fat-control-panel-title{align-items:flex-start;min-height:42px;padding:8px 10px}.fat-control-period{align-items:flex-start;flex-direction:column;gap:2px}.fat-control-month{width:126px;height:30px}.fat-control-activity-grid{grid-template-columns:1fr}.fat-control-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fat-control-table{min-width:620px}.fat-control-trend-head>span{display:none}}

/* FAT Laporan Kas Harian — read-only, account-ledger based */
.fat-report-page{display:grid;gap:12px;color:#0d2c57}.fat-report-filter-grid{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(220px,.75fr) minmax(250px,1fr);gap:10px 24px;padding:12px}.fat-report-filter-grid label{display:grid;grid-template-columns:110px minmax(0,1fr);align-items:center;gap:10px;font-size:12px}.fat-report-filter-grid label>span{font-weight:600}.fat-report-search{grid-column:1/3}.fat-report-filter-actions{display:flex;gap:8px;justify-content:flex-end;align-items:center}.fat-report-filter-actions .btn{min-width:120px}.fat-report-status{min-height:20px;margin:0 12px 10px;padding:7px 9px;border-radius:4px;background:#eef8ff;color:#245779;font-size:11px}.fat-report-status.error{background:#fff0f0;color:#b91c1c}.fat-report-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.fat-report-kpi{display:flex;align-items:center;gap:12px;min-height:88px;padding:12px;border:1px solid #cedff0;border-radius:6px;background:linear-gradient(90deg,#f8fbff,#fff)}.fat-report-kpi-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:8px;background:#e5f3ff;color:#0870bc}.fat-report-kpi.green .fat-report-kpi-icon{background:#e5f8ed;color:#15954c}.fat-report-kpi.red .fat-report-kpi-icon{background:#ffedf0;color:#d62d3d}.fat-report-kpi>div{display:flex;flex-direction:column}.fat-report-kpi>div>span{font-weight:700}.fat-report-kpi small{color:#526e88}.fat-report-kpi strong{font-size:21px;color:#0767be}.fat-report-kpi.green strong{color:#149243}.fat-report-kpi.red strong{color:#d62232}.fat-report-table-wrap,.fat-report-account-summary{overflow:auto;margin:0 10px;border:1px solid #cbdbea}.fat-report-table,.fat-report-account-table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:11px}.fat-report-table th,.fat-report-table td,.fat-report-account-table th,.fat-report-account-table td{padding:7px 8px;border-right:1px solid #cfdeeb;border-bottom:1px solid #cfdeeb;white-space:nowrap}.fat-report-table th,.fat-report-account-table th{position:sticky;top:0;z-index:2;background:#dff0fd;color:#082d63}.fat-report-table td:nth-child(8){white-space:normal;min-width:210px}.fat-report-table .num,.fat-report-account-table .num{text-align:right;font-variant-numeric:tabular-nums}.fat-report-account-table{width:100%}.fat-report-account-table tr.total td{font-weight:800;background:#dff0fd;color:#082d63}.fat-report-pager{display:flex;justify-content:space-between;align-items:center;padding:9px 10px;font-size:12px}.fat-report-pager>div{display:flex;gap:4px}.fat-report-period{font-size:11px;color:#506b85}.fat-report-bottom{display:grid;grid-template-columns:minmax(0,2fr) minmax(270px,.85fr);gap:12px}.fat-report-info ol{margin:10px 14px 14px;padding-left:22px;font-size:12px;line-height:1.55}
@media(max-width:1050px){.fat-report-filter-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}.fat-report-search{grid-column:1/2}.fat-report-filter-actions{justify-content:flex-start}.fat-report-summary{grid-template-columns:repeat(2,1fr)}.fat-report-bottom{grid-template-columns:1fr}}
@media(max-width:650px){.fat-report-filter-grid{grid-template-columns:1fr}.fat-report-filter-grid label,.fat-report-search{grid-column:1;grid-template-columns:1fr;gap:4px}.fat-report-filter-actions{position:sticky;bottom:env(safe-area-inset-bottom);z-index:7;overflow-x:auto;background:#fff;padding:8px 0;border-top:1px solid #dbe5ee}.fat-report-filter-actions .btn{min-width:125px}.fat-report-summary{grid-template-columns:1fr 1fr}.fat-report-kpi{min-height:82px;padding:9px;gap:8px}.fat-report-kpi-icon{width:38px;height:38px}.fat-report-kpi strong{font-size:16px}.fat-report-page{padding-bottom:calc(12px + env(safe-area-inset-bottom))}.fat-report-table-wrap{max-width:calc(100vw - 34px)}.fat-report-table{min-width:1180px}}
/* FAT Kas Uang Jalan: one operational shell, four workbook-backed workflows. */
.fat-uj-shell{display:grid;gap:14px;min-width:0}.fat-uj-modes{display:flex;align-items:center;gap:5px;overflow-x:hidden;padding:2px 0 6px}.fat-uj-modes button{display:inline-flex;flex:1 1 0;min-width:0;align-items:center;justify-content:center;gap:6px;height:42px;padding:0 10px;border:1px solid #c9d9ea;border-radius:7px;background:#fff;color:#173f66;font-size:13px;font-weight:800;white-space:nowrap;cursor:pointer}.fat-uj-modes button svg{width:17px;height:17px;flex:none}.fat-uj-modes button.active{border-color:#0d65b8;background:linear-gradient(135deg,#0877db,#07559e);color:#fff;box-shadow:0 4px 12px rgba(8,94,168,.16)}.fat-uj-content{display:grid;gap:14px;min-width:0}.fat-uj-workflow{display:grid;gap:14px}.fat-uj-workflow .fat-panel-title small{display:block;margin-top:2px;color:#6a7e94;font-weight:500}.fat-uj-form-grid{display:grid;grid-template-columns:repeat(3,minmax(210px,1fr));gap:12px 16px}.fat-uj-readonly{display:grid;align-content:center;gap:4px;min-height:66px;padding:9px 12px;border:1px solid #bdd9ef;border-radius:7px;background:#edf7ff}.fat-uj-readonly span{font-size:11px;font-weight:800;color:#5d738b}.fat-uj-readonly strong{font-size:18px;color:#075eaa}.fat-uj-workflow h3{margin:5px 0 -4px;font-size:13px;color:#12395e}.fat-uj-summary{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px}.fat-uj-summary>div,.fat-uj-payment-total{display:grid;gap:4px;padding:11px 13px;border:1px solid #cdddec;border-radius:8px;background:#f5f9fd}.fat-uj-summary span,.fat-uj-payment-total span{font-size:11px;font-weight:800;color:#61758c}.fat-uj-summary strong,.fat-uj-payment-total strong{font-size:18px;color:#063f75}.fat-uj-payment-total{grid-template-columns:1fr auto;align-items:center;background:#edf7ff}.fat-uj-monitor-only>.fat-cash-page>.fat-page-title,.fat-uj-monitor-only .fat-input-panel{display:none}.fat-uj-monitor-only .fat-cash-page{gap:12px}.fat-uj-workflow .fat-table-wrap{max-height:360px;overflow:auto;border:1px solid #d5e1ec;border-radius:7px}.fat-uj-workflow .fat-table{min-width:940px}.fat-uj-workflow .fat-table thead{position:sticky;top:0;z-index:2}.fat-inline-loading{padding:24px;border:1px solid #d6e3ef;border-radius:8px;background:#fff;color:#55708b;text-align:center}
@media(max-width:900px){.fat-uj-form-grid{grid-template-columns:1fr 1fr}.fat-uj-summary{grid-template-columns:1fr 1fr}.fat-uj-modes{margin-inline:-4px;padding-inline:4px;overflow-x:auto;scrollbar-width:thin}.fat-uj-modes button{flex:0 0 auto;min-width:max-content}.fat-uj-workflow{padding-bottom:max(12px,env(safe-area-inset-bottom))}}
@media(max-width:600px){.fat-uj-form-grid{grid-template-columns:1fr}.fat-uj-summary{grid-template-columns:1fr 1fr}.fat-uj-modes button{min-height:38px;padding:0 12px;font-size:12px}.fat-uj-workflow .fat-form-actions{position:sticky;bottom:max(0px,env(safe-area-inset-bottom));z-index:8;padding:9px;background:rgba(255,255,255,.96);border-top:1px solid #dbe6ef}.fat-uj-payment-total{grid-template-columns:1fr}}
+/* FAT Cash & Bank historical import wizard */
.fat-title-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.fat-import-modal .modal{width:min(1480px,96vw);height:min(900px,94vh)}.fat-import-modal .modal-body{overflow:auto}.fat-import-wizard{display:grid;gap:13px;color:#12395e}.fat-import-steps{display:grid;grid-template-columns:repeat(7,minmax(110px,1fr));gap:6px;overflow-x:auto;padding:3px 1px}.fat-import-steps>div{display:flex;align-items:center;gap:7px;min-height:42px;padding:7px 9px;border:1px solid #d8e4ef;border-radius:6px;background:#f7fafd;color:#708399;white-space:nowrap}.fat-import-steps b{display:grid;place-items:center;min-width:26px;height:26px;border-radius:50%;background:#e5edf5;color:#48627e;font-size:10px}.fat-import-steps span{font-size:10px;font-weight:800}.fat-import-steps .active{border-color:#1582d8;background:#ebf6ff;color:#075ca3}.fat-import-steps .active b,.fat-import-steps .done b{background:#0868b8;color:#fff}.fat-import-steps .done{color:#0c598e}.fat-import-upload{display:grid;justify-items:center;gap:10px;min-height:260px;padding:38px;border:1px dashed #76acd4;border-radius:9px;background:#f8fcff;text-align:center}.fat-import-upload h3,.fat-import-header-audit h3,.fat-import-confirm h3,.fat-import-result h3{margin:0;color:#0b3d70}.fat-import-upload p{margin:0;color:#60758b}.fat-import-file,.fat-import-empty{display:flex;gap:12px;align-items:center;max-width:720px;padding:10px 14px;border:1px solid #d2e0ec;border-radius:6px;background:#fff}.fat-import-empty{color:#74869a}.fat-import-file-meta{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:8px}.fat-import-file-meta>div,.fat-import-confirm>div,.fat-import-result>div{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border:1px solid #d8e4ee;border-radius:5px;background:#f8fbfe}.fat-import-file-meta span,.fat-import-confirm span,.fat-import-result span{font-size:10px;color:#647a91;text-transform:uppercase}.fat-import-file-meta strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fat-import-media{display:grid;grid-template-columns:repeat(5,minmax(145px,1fr));gap:7px;overflow-x:auto}.fat-import-media button{display:grid;grid-template-columns:1fr auto;gap:3px 8px;align-items:center;min-height:58px;padding:8px 10px;border:1px solid #cfdeeb;border-radius:6px;background:#fff;color:#173f66;text-align:left;cursor:pointer}.fat-import-media button.active{border-color:#0874c9;background:#edf7ff;box-shadow:inset 0 0 0 1px #0874c9}.fat-import-media button small{grid-column:1;color:#6b7f92}.fat-import-status{display:inline-flex;align-items:center;justify-content:center;padding:3px 7px;border-radius:999px;background:#e9eff5;color:#53697f;font-size:9px;font-weight:900}.fat-import-status.valid{background:#dff6e8;color:#08783f}.fat-import-status.warning{background:#fff0c8;color:#9a5b00}.fat-import-status.invalid{background:#ffe4e4;color:#b91c1c}.fat-import-status.duplicate{background:#eee5ff;color:#6131a8}.fat-import-header-audit{display:grid;grid-template-columns:1.2fr repeat(5,minmax(110px,1fr)) auto;gap:8px;align-items:center;padding:10px;border:1px solid #cfe0ef;border-radius:7px;background:#f8fbff}.fat-import-header-audit>div{display:flex;flex-direction:column}.fat-import-header-audit span{font-size:10px;color:#687e92}.fat-import-summary{display:grid;grid-template-columns:repeat(8,minmax(105px,1fr));gap:7px}.fat-import-summary>div{display:flex;flex-direction:column;gap:3px;padding:9px;border:1px solid #d4e1ed;border-radius:6px;background:#fff}.fat-import-summary span{font-size:9px;font-weight:800;color:#667c92}.fat-import-summary strong{font-size:14px;color:#0c447d}.fat-import-filters{display:flex;gap:8px;padding-bottom:8px}.fat-import-filters .input:first-child{width:170px}.fat-import-filters .input:last-child{min-width:280px}.fat-import-row-area .fat-table-wrap{max-height:390px}.fat-import-row-area .fat-table{min-width:1500px}.fat-import-reason{min-width:300px!important;max-width:520px;white-space:normal!important}.fat-import-confirm,.fat-import-result{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:8px;padding:12px;border:1px solid #91bedf;border-radius:7px;background:#f1f9ff}.fat-import-confirm h3,.fat-import-result h3,.fat-import-safe,.fat-import-confirm>.fat-inline-error{grid-column:1/-1}.fat-import-safe{padding:9px;border-radius:5px;background:#e3f7eb;color:#08783f;font-weight:700}.fat-import-result{border-color:#82cda1;background:#effbf4}.fat-import-modal .modal-foot{position:sticky;bottom:0;z-index:6;background:#fff;box-shadow:0 -5px 14px rgba(12,55,91,.08)}
@media(max-width:900px){.fat-title-actions{align-items:stretch;flex-direction:column}.fat-import-modal .modal{width:99vw;height:96vh}.fat-import-file-meta,.fat-import-summary,.fat-import-confirm,.fat-import-result{grid-template-columns:repeat(2,minmax(140px,1fr))}.fat-import-header-audit{grid-template-columns:repeat(2,minmax(140px,1fr))}.fat-import-header-audit h3{grid-column:1/-1}.fat-import-media{grid-template-columns:repeat(5,minmax(150px,1fr))}.fat-import-filters{overflow-x:auto}.fat-import-steps{grid-template-columns:repeat(7,minmax(130px,1fr))}}
.modal.fat-import-modal{width:min(1480px,96vw);max-width:1480px;height:min(900px,94vh)}
.modal.fat-import-modal .modal-body{overflow:auto}
.modal.fat-import-modal .modal-foot{position:sticky;bottom:0;z-index:6;background:#fff;box-shadow:0 -5px 14px rgba(12,55,91,.08)}
@media(max-width:900px){.modal.fat-import-modal{width:99vw;height:96vh}}
.fat-import-detection,.fat-import-progress,.fat-import-operation{display:grid;gap:8px;padding:12px;border:1px solid #cfe0ef;border-radius:7px;background:#f8fbff}.fat-import-detection h3,.fat-import-progress h3{margin:0;color:#0b3d70}.fat-import-detection>div{display:flex;justify-content:space-between;gap:16px;padding:6px 0;border-bottom:1px solid #e4edf5}.fat-import-detection small{color:#637a90}.fat-import-progress progress{width:100%;height:14px;accent-color:#0874c9}.fat-import-progress>span{justify-self:end;color:#3d5c78;font-variant-numeric:tabular-nums}.fat-import-operation{place-items:center;color:#0b5f9f;font-weight:800}.fat-import-indeterminate{height:8px;border-radius:999px;background:linear-gradient(90deg,#d7e7f5 20%,#1681d4 50%,#d7e7f5 80%);background-size:200% 100%;animation:fat-import-indeterminate 1.2s linear infinite}@keyframes fat-import-indeterminate{to{background-position:-200% 0}}.fat-import-media button:disabled{cursor:wait;opacity:.72}.fat-import-status.detected{background:#dff6e8;color:#08783f}.fat-import-status.header.issue,.fat-import-status.missing{background:#ffe4e4;color:#b91c1c}
.modal-backdrop.nh-confirm-backdrop { z-index: 2147483000; display: flex; align-items: center; justify-content: center; padding: 16px; }
.modal.nh-confirm-modal { width: 480px; max-width: 100%; max-height: calc(100dvh - 32px); overflow: auto; margin: 0; }
.nh-confirm-modal .modal-body { white-space: pre-line; overflow-wrap: anywhere; line-height: 1.6; }
.nh-confirm-modal .modal-foot { display: flex; gap: 10px; flex-wrap: wrap; }
.nh-confirm-modal .modal-foot .btn { min-height: 44px; }
@media (max-width: 480px) { .nh-confirm-modal .modal-foot .btn { flex: 1 1 140px; } }
.maint-void-confirm{display:grid;gap:12px}.maint-void-confirm>strong{font-size:18px;color:#b42318}.maint-void-snapshot{max-height:62vh;overflow:auto;white-space:pre-wrap;word-break:break-word;background:#f7f9fc;border:1px solid #d8e2ef;border-radius:8px;padding:14px;font-size:12px;line-height:1.5}.maint-info-strip.danger{border-color:#f1b7b7;background:#fff2f2;color:#9f1d1d}
/* ================================================================
   MASTER COMPANY — Super Admin operational workspace
   ================================================================ */
.master-company-card{display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:22px;width:100%;margin:0 0 30px;padding:26px 30px;border:1px solid rgba(44,133,238,.38);border-radius:20px;background:linear-gradient(118deg,#061f43 0%,#074a89 62%,#0a73c9 100%);color:#fff;text-decoration:none;box-shadow:0 18px 45px rgba(3,40,83,.2);position:relative;overflow:hidden}.master-company-card::after{content:'';position:absolute;right:-80px;top:-130px;width:360px;height:360px;border:1px solid rgba(255,255,255,.18);border-radius:50%}.master-company-card:hover{transform:translateY(-2px);box-shadow:0 22px 52px rgba(3,40,83,.25)}.master-company-mark{width:68px;height:68px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(145deg,#fff,#bfe2ff);color:#073b73;font-weight:900;font-size:22px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.65)}.master-company-copy{position:relative;z-index:1}.master-company-kicker{font-size:11px;letter-spacing:1.8px;color:#9dd7ff;font-weight:800}.master-company-copy h2{margin:3px 0 2px;font-size:28px;letter-spacing:.3px}.master-company-copy strong{display:block;color:#d9efff;font-size:15px;letter-spacing:1px}.master-company-copy p{margin:8px 0 0;max-width:690px;color:#d8eafd;line-height:1.45}.master-company-enter{position:relative;z-index:1;white-space:nowrap;background:#fff;color:#0756a0;padding:13px 18px;border-radius:11px;font-weight:900;font-size:12px}.cs-direct-label{margin-top:0!important;text-transform:uppercase;letter-spacing:1.2px}
.group-shell{background:#eef5fc}.group-sidebar{background:linear-gradient(180deg,#061d3a,#073966)}.group-topbar{background:linear-gradient(90deg,#073b73,#0874bd)}.group-brand{min-width:230px}.group-brand-mark{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#fff;color:#0756a0;font-weight:900}.group-selector-wrap{display:flex;align-items:center;gap:10px;margin-left:auto}.group-selector-wrap>span{font-size:10px;font-weight:800;letter-spacing:1px;color:#cfe7ff}.group-company-select,.master-context-select{height:38px;border:1px solid rgba(255,255,255,.45);border-radius:9px;background:#fff;color:#103354;padding:0 34px 0 12px;font-weight:800}.group-content{max-width:1540px;width:100%;margin:0 auto}.group-page-head{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:4px 0 22px}.group-page-head>div:first-child>span{font-size:11px;font-weight:900;letter-spacing:1.5px;color:#1370c4}.group-page-head h1{margin:4px 0;font-size:30px;color:#0b315c}.group-page-head p{margin:0;color:#627890;font-weight:700}.group-active{display:flex;align-items:center;gap:12px;min-width:320px;padding:12px 16px;border:1px solid #cfe0f1;border-radius:14px;background:#fff;box-shadow:0 6px 18px rgba(15,59,100,.08)}.group-active img{width:42px;height:42px;object-fit:contain}.group-active span{display:block;font-size:10px;letter-spacing:1px;color:#6d8399}.group-active strong{display:block;color:#0d3b69}.group-active.all{display:block;background:#eaf5ff}.group-kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:12px;margin-bottom:18px}.group-kpi{display:flex;align-items:center;gap:13px;padding:18px;border:1px solid #d6e4f2;border-radius:14px;background:#fff;box-shadow:0 5px 16px rgba(15,59,100,.06)}.group-kpi>span{width:42px;height:42px;padding:10px;border-radius:12px;background:#e5f2ff;color:#0872cf}.group-kpi svg{width:100%;height:100%}.group-kpi small,.group-kpi strong{display:block}.group-kpi small{color:#6b8096}.group-kpi strong{font-size:21px;color:#0b315c}.group-panel{padding:18px;border:1px solid #d4e2f0;border-radius:16px;background:#fff;box-shadow:0 6px 20px rgba(15,59,100,.06)}.group-panel-head{margin-bottom:13px}.group-panel-head h2{margin:0;color:#0b315c;font-size:17px}.group-panel-head p{margin:4px 0 0;color:#6a8095}.group-table-wrap{overflow:auto;border:1px solid #d9e6f2;border-radius:12px}.group-table{width:100%;border-collapse:collapse;min-width:880px}.group-table th,.group-table td{padding:12px 13px;border-right:1px solid #dce7f1;border-bottom:1px solid #dce7f1;text-align:left}.group-table thead th{background:#e9f4ff;color:#0b3868;position:sticky;top:0}.group-table td small{display:block;color:#6d8196;margin-top:2px}.group-table .num{text-align:right}.group-table tfoot th{background:#dcefff;color:#0a3765}.group-quick-grid,.group-action-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:14px;margin-top:18px}.group-action-card{width:100%;min-height:102px;border:1px solid #d5e3f1;border-radius:14px;background:#fff;padding:17px;display:flex;align-items:center;gap:14px;text-align:left;color:#123a62;cursor:pointer;box-shadow:0 5px 16px rgba(15,59,100,.06)}.group-action-card:hover{border-color:#7cb8ed;transform:translateY(-1px)}.group-action-icon{width:45px;height:45px;padding:11px;flex:0 0 45px;border-radius:12px;background:#e6f3ff;color:#0872cf}.group-action-icon svg,.group-action-card>i svg{width:100%;height:100%}.group-action-card>div{flex:1}.group-action-card strong{display:block;font-size:16px}.group-action-card p{margin:5px 0 0;color:#6d8093;line-height:1.35}.group-action-card>i{width:20px;color:#1480da}.group-choice{padding:24px;border:1px solid #d5e4f2;border-radius:16px;background:#fff}.group-choice h2{margin:0;color:#0b315c}.group-choice p{color:#687f95}.group-company-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}.group-company-button{border:1px solid #d5e3f0;border-radius:13px;background:#f8fbff;padding:16px;display:grid;grid-template-columns:45px 1fr;gap:2px 12px;text-align:left;cursor:pointer}.group-company-button img{width:45px;height:45px;object-fit:contain;grid-row:1/3}.group-company-button strong{font-size:18px;color:#0c3d70}.group-company-button span{font-size:12px;color:#6c8297}.group-loading,.group-error{padding:34px;border:1px solid #d4e3f2;border-radius:14px;background:#fff;text-align:center;color:#58718a}.group-error{color:#b42318;background:#fff4f2}.master-context-bar{display:flex;align-items:center;gap:18px;min-height:48px;padding:7px 22px;background:#eaf5ff;border-bottom:1px solid #c9e0f4}.master-context-back{font-size:11px;font-weight:900;color:#0767ba;text-decoration:none}.master-context-bar>div{flex:1}.master-context-bar>div span,.master-context-bar>div strong{display:block}.master-context-bar>div span{font-size:9px;letter-spacing:1px;color:#698298}.master-context-bar>div strong{font-size:12px;color:#123f6b}.master-context-select{border-color:#a9c8e4;height:34px}.group-loading{animation:nhGroupPulse 1.3s infinite alternate}@keyframes nhGroupPulse{to{opacity:.58}}
.group-checklist{position:relative;min-width:190px}.group-checklist-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;white-space:nowrap;cursor:pointer}.group-checklist-trigger>span{overflow:hidden;text-overflow:ellipsis}.group-checklist-trigger>i{font-style:normal;color:#54718d}.group-checklist-panel{position:absolute;right:0;top:calc(100% + 7px);z-index:1200;width:230px;max-height:min(320px,70vh);display:flex;flex-direction:column;overflow:hidden;padding:7px;border:1px solid #c6d9eb;border-radius:12px;background:#fff;box-shadow:0 16px 38px rgba(6,35,67,.22)}.group-checklist-options{min-height:0;overflow:auto}.group-check-option{width:100%;min-height:38px;display:flex;align-items:center;gap:10px;padding:7px 9px;border:0;border-radius:8px;background:transparent;color:#173c61;text-align:left;cursor:pointer}.group-check-option:hover,.group-check-option:focus{background:#eaf5ff;outline:2px solid transparent}.group-check-option.all{color:#075eae}.group-check-box{width:19px;height:19px;flex:0 0 19px;display:grid;place-items:center;border:1px solid #91acc6;border-radius:5px;background:#f8fbff;color:#fff;font-size:13px;font-weight:900}.group-check-option[aria-checked="true"] .group-check-box{border-color:#0874bd;background:#0874bd}.group-check-divider{height:1px;margin:5px 7px;background:#dce8f3}.group-checklist-footer{position:sticky;bottom:0;padding:8px 2px 1px;border-top:1px solid #dce8f3;background:#fff}.group-checklist-done{width:100%;min-height:36px}.master-context-checklist{width:220px}.master-context-checklist .group-company-select{height:34px;border-color:#a9c8e4}.master-context-checklist .group-checklist-panel{top:calc(100% + 5px)}
@media(max-width:1100px){.group-kpi-grid{grid-template-columns:repeat(3,1fr)}.group-quick-grid,.group-action-grid{grid-template-columns:repeat(2,1fr)}.group-company-buttons{grid-template-columns:repeat(2,1fr)}.group-page-head{align-items:flex-start;flex-direction:column}.group-active{width:100%}.group-selector-wrap{margin-left:0}.master-company-card{grid-template-columns:64px 1fr}.master-company-enter{grid-column:2;justify-self:start}}
@media(max-width:700px){.master-company-card{grid-template-columns:50px 1fr;padding:20px;gap:14px}.master-company-mark{width:50px;height:50px;border-radius:13px;font-size:17px}.master-company-copy h2{font-size:22px}.master-company-copy p{font-size:13px}.master-company-enter{font-size:11px}.group-selector-wrap>span{display:none}.group-checklist{min-width:150px;max-width:min(220px,58vw)}.group-checklist-panel{right:0;width:min(240px,calc(100vw - 24px))}.group-company-select{max-width:100%}.group-kpi-grid{grid-template-columns:repeat(2,1fr)}.group-quick-grid,.group-action-grid,.group-company-buttons{grid-template-columns:1fr}.group-content{padding-left:14px!important;padding-right:14px!important}.group-page-head h1{font-size:24px}.master-context-bar{padding:7px 12px;gap:10px}.master-context-bar>div strong{max-width:190px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.master-context-select{max-width:86px}.master-context-checklist{min-width:110px;max-width:34vw}}
@media(max-width:420px){.group-kpi-grid{grid-template-columns:1fr}.master-company-card{display:block}.master-company-mark{margin-bottom:12px}.master-company-enter{display:inline-block;margin-top:16px}.group-brand{min-width:0}.group-brand .tb-sub{display:none}.group-topbar{gap:7px}.group-company-select{max-width:126px}.master-context-bar>div{display:none}}
.dashboard-date-control{display:inline-grid;grid-template-columns:18px auto;grid-template-areas:"icon label" "icon input";align-items:center;column-gap:8px;min-width:210px;padding:7px 10px;border:1px solid #c9d9ec;border-radius:10px;background:#fff;color:#0f385f;box-shadow:0 3px 10px rgba(11,55,91,.06)}
.dashboard-date-control>span{grid-area:icon;display:flex;width:18px}.dashboard-date-control>span svg{width:18px;height:18px}.dashboard-date-control>small{grid-area:label;font-size:10px;font-weight:700;line-height:1;color:#5e7590;text-transform:uppercase;letter-spacing:.04em}.dashboard-date-input{grid-area:input;min-width:0;width:100%;height:24px;padding:0;border:0;background:transparent;color:#0b3158;font:700 13px/1.2 inherit;outline:0;color-scheme:light}.dashboard-date-input:focus{box-shadow:0 2px 0 #166ee1}.dashboard-date-loading,.dashboard-date-error{min-height:180px;display:grid;place-items:center;border:1px solid #d9e5f1;border-radius:12px;background:#fff;color:#61758b;font-weight:700}.dashboard-date-error{color:#b42318;background:#fff7f6}.group-dashboard-controls{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.fat-control-period-label{font-size:12px;font-weight:700;color:#47627e}.fat-control-clock .dashboard-date-control{background:rgba(255,255,255,.92);box-shadow:none}.fat-control-clock>span:not(.dashboard-date-control){font-variant-numeric:tabular-nums}
@media(max-width:768px){.dashboard-date-control{min-width:190px}.nh-page-head,.maint-compact-head,.group-page-head{align-items:flex-start}.nh-page-actions,.group-dashboard-controls{width:100%;justify-content:flex-start}.fat-control-clock{max-width:100%;flex-wrap:wrap}}
@media(max-width:390px){.dashboard-date-control{width:100%;min-width:0}.nh-page-actions .btn{width:100%}.group-dashboard-controls{align-items:stretch}.fat-control-clock{left:12px;right:12px;width:auto}.fat-control-clock .dashboard-date-control{width:100%}}
.maint-price-estimate[data-readonly="true"]{font-weight:700;color:#0b4d85;background:#eef7ff}
.maint-price-estimate.unavailable,.maint-price-unavailable{color:#9a5b00!important;background:#fff8df!important;font-weight:700}
/* ARSIP DOKUMEN — isolated presentation layer */
.archive-page{padding:24px;display:flex;flex-direction:column;gap:16px;background:#f4f8fc;min-height:calc(100vh - 64px)}
.archive-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px;border-radius:14px;background:linear-gradient(125deg,#063867,#0f6cad);color:#fff;box-shadow:0 8px 24px rgba(15,86,130,.14)}
.archive-head span{font-size:12px;font-weight:800;letter-spacing:.16em;color:#9bd4ff}.archive-head h1{margin:3px 0 4px;font-size:28px}.archive-head p{margin:0;color:#d9efff}
.archive-head .btn{white-space:nowrap;background:#fff;color:#0f5682;border-color:#fff}
.archive-summary{display:grid;grid-template-columns:repeat(2,minmax(180px,280px));gap:14px}.archive-summary>div{padding:16px 18px;background:#fff;border:1px solid #d9e6f2;border-radius:12px;box-shadow:0 3px 12px rgba(15,47,72,.05)}
.archive-summary small{display:block;color:#60758a;font-size:11px;font-weight:800;letter-spacing:.08em}.archive-summary strong{display:block;color:#0b3965;font-size:26px;margin-top:5px}
.archive-filters{background:#fff;border:1px solid #d9e6f2;border-radius:12px;padding:14px;box-shadow:0 3px 12px rgba(15,47,72,.05)}
.archive-search{display:flex;align-items:center;gap:9px}.archive-search>span{width:20px;color:#0f5682}.archive-search .input{flex:1}.archive-filter-row{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr)) auto;gap:10px;margin-top:10px}
.archive-table-wrap{overflow:auto;background:#fff;border:1px solid #d9e6f2;border-radius:12px;box-shadow:0 3px 12px rgba(15,47,72,.05)}
.archive-table{width:100%;min-width:1250px;border-collapse:collapse;font-size:12px}.archive-table th{position:sticky;top:0;z-index:1;background:#eaf4fc;color:#0a3965;text-align:left;padding:11px 9px;border-bottom:1px solid #c9dced;white-space:nowrap}.archive-table td{padding:10px 9px;border-bottom:1px solid #e6eef5;vertical-align:middle}.archive-table tr:hover td{background:#f8fbfe}.archive-name{max-width:280px;overflow-wrap:anywhere;color:#0f5682;font-weight:650}
.archive-actions{display:flex;gap:5px;white-space:nowrap}.archive-actions button,.archive-pagination button{border:1px solid #c4d8ea;background:#fff;color:#0f5682;border-radius:6px;padding:6px 8px;font-size:11px;font-weight:800;cursor:pointer}.archive-actions button:disabled,.archive-pagination button:disabled{opacity:.45;cursor:not-allowed}
.archive-pagination{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:11px 14px;color:#526b80}.archive-pagination span{margin-right:auto}.archive-loading,.archive-error{padding:32px;text-align:center;color:#60758a}.archive-error{color:#b42318}
@media(max-width:760px){.archive-page{padding:12px}.archive-head{align-items:flex-start;flex-direction:column}.archive-head h1{font-size:23px}.archive-summary{grid-template-columns:1fr 1fr}.archive-filter-row{display:flex;overflow-x:auto}.archive-filter-row .input{min-width:145px}.archive-head .btn{width:100%}}
