/* ── Tab pills ── */
    .tab-pills{display:flex;gap:0.375rem;flex-wrap:wrap}
    .tab-pill{padding:0.3rem 0.75rem;border-radius:100px;font-size:0.75rem;font-weight:600;cursor:pointer;transition:all 0.15s;border:1.5px solid var(--border);background:none;color:var(--muted);font-family:inherit}
    .tab-pill:hover{border-color:var(--kai-blue);color:var(--kai-blue)}
    .tab-pill.active{background:var(--kai-blue);border-color:var(--kai-blue);color:#fff}
    .tab-count{display:inline-flex;align-items:center;justify-content:center;margin-left:0.35rem;background:rgba(255,255,255,0.25);border-radius:100px;padding:0 0.3rem;font-size:0.625rem;font-weight:700;min-width:18px;height:16px}
    .tab-pill:not(.active) .tab-count{background:rgba(0,0,0,0.07);color:var(--muted)}

    /* ── Status pills ── */
    .st{display:inline-flex;align-items:center;gap:0.25rem;padding:0.1rem 0.5rem;border-radius:100px;font-size:0.6875rem;font-weight:700;white-space:nowrap}
    .st-aktif{background:rgba(22,163,74,0.12);color:#15803D}
    .st-revisi{background:rgba(217,119,6,0.12);color:#92400E}
    .st-nonaktif{background:rgba(220,38,38,0.12);color:#991B1B}

    /* ── Table action buttons ── */
    .tbl-btn{padding:0.15rem 0.5rem;border-radius:5px;font-size:0.625rem;font-weight:600;border:1px solid var(--border);background:none;color:var(--muted);cursor:pointer;transition:all 0.15s;white-space:nowrap}
    .tbl-btn:hover{border-color:var(--kai-blue);color:var(--kai-blue)}
    .tbl-btn-edit{border-color:rgba(217,119,6,0.4);color:#D97706}
    .tbl-btn-edit:hover{border-color:#D97706;background:rgba(217,119,6,0.06)}

    /* ── Drawer overlay ── */
    .drawer-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.25);z-index:200;opacity:0;pointer-events:none;transition:opacity 0.25s}
    .drawer-overlay.open{opacity:1;pointer-events:all}
    .drawer{position:fixed;top:52px;right:0;bottom:0;width:480px;background:#fff;border-left:1px solid var(--border);z-index:201;transform:translateX(100%);transition:transform 0.3s cubic-bezier(0.4,0,0.2,1);display:flex;flex-direction:column;overflow:hidden}
    .drawer.open{transform:translateX(0)}

    /* ── Drawer header ── */
    .drw-hdr{padding:1rem 1.125rem 0.75rem;border-bottom:1px solid var(--border);flex-shrink:0}
    .drw-hdr-top{display:flex;align-items:flex-start;justify-content:space-between;gap:0.75rem;margin-bottom:0.5rem}
    .drw-title{font-size:1.125rem;font-weight:800;color:var(--text);font-family:'JetBrains Mono',monospace}
    .drw-sub{font-size:0.75rem;color:var(--muted);margin-top:2px}
    .drw-hdr-actions{display:flex;align-items:center;gap:0.5rem;flex-shrink:0}
    .drw-close{width:28px;height:28px;border-radius:7px;border:1px solid var(--border);background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:0.875rem;transition:all 0.15s}
    .drw-close:hover{border-color:var(--red);color:var(--red)}

    /* ── Drawer stat strip ── */
    .drw-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0.625rem;margin-top:0.75rem}
    .drw-stat{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:0.5rem 0.625rem}
    .drw-stat-lbl{font-size:0.625rem;text-transform:uppercase;letter-spacing:0.04em;color:var(--muted);font-weight:700;margin-bottom:0.25rem}
    .drw-stat-val{font-size:0.8125rem;font-weight:700;color:var(--text);font-family:'JetBrains Mono',monospace;line-height:1.2}
    .drw-stat-sub{font-size:0.625rem;color:var(--muted);margin-top:1px}

    /* ── Drawer body ── */
    .drw-body{flex:1;overflow-y:auto;padding:1rem 1.125rem}

    /* ── Consist diagram ── */
    .consist-box{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:0.875rem 1rem;margin-bottom:1rem;overflow-x:auto}
    .consist-title{font-size:0.6875rem;text-transform:uppercase;letter-spacing:0.06em;color:var(--muted);font-weight:700;margin-bottom:0.625rem}
    .consist-track{display:flex;align-items:center;gap:2px;min-width:max-content}
    .consist-unit{display:flex;flex-direction:column;align-items:center;gap:3px}
    .consist-car{width:44px;height:22px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:0.5625rem;font-weight:700;color:#fff;position:relative}
    .consist-car::after{content:'';position:absolute;bottom:-4px;left:4px;right:4px;height:4px;background:inherit;clip-path:polygon(0 0,100% 0,90% 100%,10% 100%);opacity:0.5}
    .car-loko{background:var(--kai-blue)}
    .car-k1{background:var(--purple)}
    .car-k2{background:var(--accent)}
    .car-k3{background:var(--green)}
    .car-mp{background:var(--orange)}
    .car-bg{background:var(--muted)}
    .consist-label{font-size:0.5rem;color:var(--muted);font-family:'JetBrains Mono',monospace;white-space:nowrap}
    .consist-connector{width:10px;height:3px;background:var(--border);margin-top:-11px;flex-shrink:0}

    /* ── Spec grid ── */
    .spec-grid{display:grid;grid-template-columns:1fr 1fr;gap:0.5rem 1.5rem}
    .spec-row{padding:0.375rem 0;border-bottom:1px solid rgba(0,0,0,0.04)}
    .spec-lbl{font-size:0.6875rem;color:var(--muted);margin-bottom:1px}
    .spec-val{font-size:0.8125rem;font-weight:600;color:var(--text)}

    /* ── Section title ── */
    .sec-title{font-size:0.75rem;font-weight:700;color:var(--text);margin-bottom:0.625rem;text-transform:uppercase;letter-spacing:0.04em;display:flex;align-items:center;gap:0.5rem}

    /* ── Drawer footer actions ── */
    .drw-footer{padding:0.875rem 1.125rem;border-top:1px solid var(--border);display:flex;gap:0.5rem;flex-wrap:wrap;flex-shrink:0;background:#fff}

    /* ── Row select highlight ── */
    .data-table tbody tr.selected td{background:rgba(0,48,130,0.06)!important}

    /* ── Hidden rows (filter) ── */
    .data-table tbody tr.hidden-row{display:none}
