.rs-shell{max-width:1100px;margin:0 auto;padding:clamp(16px,3vw,28px) clamp(16px,3vw,28px) 64px}.rs-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:4px 2px 18px;border-bottom:1px solid var(--line);margin-bottom:20px}.rs-brand{font-size:1.15rem;font-weight:800;color:var(--cream)}.rs-user{display:flex;align-items:center;gap:12px;font-size:.85rem;color:var(--muted)}.rs-user b{color:var(--text)}.rs-role-badge{display:inline-block;padding:3px 9px;border-radius:999px;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:color-mix(in srgb,var(--up) 18%,transparent);color:var(--up);border:1px solid color-mix(in srgb,var(--up) 30%,transparent)}.rs-tabs{display:flex;gap:6px;margin-bottom:20px;flex-wrap:wrap}.rs-tab{padding:9px 16px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--muted);font-weight:700;font-size:.88rem;font-family:inherit;cursor:pointer}.rs-tab--active{background:var(--surface-2);color:var(--cream);border-color:color-mix(in srgb,var(--up) 40%,var(--line))}.rs-card{background:linear-gradient(180deg,var(--surface-2),var(--surface));border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px 22px;margin-bottom:18px}.rs-card h2{font-size:1.02rem;font-weight:800;color:var(--text);margin-bottom:14px}.rs-card h3{font-size:.92rem;font-weight:700;color:var(--text);margin:4px 0 10px}.rs-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:12px}.rs-field{display:flex;flex-direction:column;gap:5px}.rs-field label{font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.rs-input,.rs-select{background:rgba(0,0,0,.25);border:1px solid var(--line);color:var(--text);border-radius:10px;padding:9px 11px;font-size:.9rem;font-family:inherit;min-width:140px}.rs-input:focus,.rs-select:focus{outline:2px solid var(--up);outline-offset:1px}.rs-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--text);font-weight:700;font-size:.87rem;font-family:inherit;cursor:pointer}.rs-btn:disabled{opacity:.5;cursor:default}.rs-btn--primary{background:var(--up);color:var(--oyi-warning);border-color:var(--up)}.rs-btn--danger{background:color-mix(in srgb,var(--oyi-danger) 20%,var(--surface));color:var(--oyi-danger);border-color:color-mix(in srgb,var(--oyi-danger) 40%,var(--line))}.rs-btn--small{padding:6px 11px;font-size:.78rem}.rs-table{width:100%;border-collapse:collapse;font-size:.86rem;border:1px solid var(--line)}.rs-table td,.rs-table th{text-align:left;padding:9px 10px;border:1px solid var(--line);white-space:nowrap}.rs-table--fixed{table-layout:fixed}.rs-table--fixed td,.rs-table--fixed th{white-space:normal;word-break:break-word}.rs-table th{color:var(--muted);font-weight:700;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase}.rs-table-wrap{overflow-x:auto}.rs-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.7rem;font-weight:700;background:var(--surface);border:1px solid var(--line);color:var(--muted)}.rs-badge--gap{color:var(--oyi-danger);border-color:color-mix(in srgb,var(--oyi-danger) 40%,var(--line))}.rs-badge--auto{color:var(--down);border-color:color-mix(in srgb,var(--down) 40%,var(--line))}.rs-badge--status-draft{color:var(--muted)}.rs-badge--status-menunggu_approval_hc{color:var(--up);border-color:color-mix(in srgb,var(--up) 40%,var(--line))}.rs-badge--status-disetujui_hc{color:var(--stable);border-color:color-mix(in srgb,var(--stable) 40%,var(--line))}.rs-badge--status-dirilis{color:var(--cream);border-color:color-mix(in srgb,var(--cream) 40%,var(--line))}.rs-note{color:var(--muted);font-size:.82rem;margin-top:6px}.rs-error{color:var(--oyi-danger);font-size:.85rem;margin-top:8px;font-weight:600}.rs-cell-btn{width:100%;min-width:76px;padding:7px 8px;border-radius:8px;border:1px dashed var(--line);background:transparent;color:var(--muted);font-size:.76rem;font-family:inherit;cursor:pointer;text-align:left;line-height:1.25}.rs-cell-btn:hover{border-color:var(--up);color:var(--text)}.rs-cell-btn--filled{border-style:solid;color:var(--text)}.rs-cell-btn--gap-hint{border-color:color-mix(in srgb,var(--oyi-danger) 50%,var(--line))}.rs-modal-backdrop{position:fixed;inset:0;background:rgba(10,8,6,.66);display:flex;align-items:center;justify-content:center;z-index:50;padding:16px}.rs-modal{width:100%;max-width:420px;background:linear-gradient(180deg,var(--surface-2),var(--surface));border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 20px 60px -20px rgba(0,0,0,.8)}.rs-modal h3{margin-bottom:14px}.rs-empty{text-align:center;padding:36px 16px;color:var(--muted)}.rs-appnav{position:relative;display:flex;flex-direction:column;margin-bottom:10px}.rs-appnav-inner{display:flex;gap:8px;justify-content:flex-end}.rs-appnav-menu{position:absolute;top:40px;right:0;z-index:40;background:linear-gradient(180deg,var(--surface-2),var(--surface));border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:14px;min-width:260px;display:flex;flex-direction:column;gap:12px}.rs-appnav-group-title{font-size:.68rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}.rs-appnav-link{display:block;padding:6px 8px;border-radius:8px;color:var(--text);text-decoration:none;font-size:.85rem}.rs-appnav-link:hover{background:var(--surface)}:root[data-theme=light]{--bg:var(--oyi-warning-soft);--surface:var(--oyi-surface);--surface-2:var(--oyi-warning-soft);--cream:#3a2c18;--text:var(--oyi-warning);--muted:var(--oyi-ink-2);--up:#b9791a;--stable:#4d7a72;--down:#3d5c86;--line:rgba(43,33,23,0.12);--shadow:0 1px 0 rgba(0,0,0,0.03),0 18px 40px -24px rgba(0,0,0,0.15)}.sp-pill{font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px;background:var(--oyi-surface-2,#eee)}.sp-pill--ok{background:var(--oyi-green-soft,#e3f3e8);color:var(--oyi-green-ink,#1e6b3a)}.sp-pill--berjalan,.sp-pill--menunggu,.sp-pill--sebagian{background:#fff3d1;color:#7a5200}.sp-pill--gagal{background:#ffe3e0;color:#a5150f}.sq-filters{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:12px}.sq-filters .rs-select{margin-left:auto;max-width:100%}.sq-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:8px;gap:8px}.sq-item{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:6px 12px;gap:6px 12px;align-items:center;padding:12px;border:1px solid var(--oyi-line,#ddd);border-radius:8px;background:var(--oyi-surface,#fff)}.sq-item--menunggu_approval_hc{border-left:4px solid #e0a800}.sq-item--disetujui_hc{border-left:4px solid var(--oyi-green,#2f8f4e)}.sq-main{cursor:pointer;min-width:0}.sq-main b{display:block}.sq-main span{font-size:12px;color:var(--oyi-ink-2,#555)}.sq-meta{justify-content:flex-end}.sq-actions,.sq-meta{display:flex;gap:6px;flex-wrap:wrap}.sq-actions{grid-column:1/-1}@media (max-width:640px){.sq-item{grid-template-columns:1fr}.sq-meta{justify-content:flex-start}.sq-filters .rs-select{margin-left:0;width:100%}}.slh{display:grid;grid-gap:12px;gap:12px}.slh h2{margin-top:0}.slh-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:8px;gap:8px}.slh-item{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:6px 12px;gap:6px 12px;align-items:center;padding:12px;border:1px solid var(--oyi-line,#ddd);border-radius:8px;background:var(--oyi-surface,#fff)}.slh-item.is-current{border:2px solid var(--oyi-green,#2f8f4e)}.slh-item--menunggu_approval_hc{border-left:4px solid #e0a800}.slh-item--disetujui_hc{border-left:4px solid var(--oyi-green,#2f8f4e)}.slh-main{all:unset;cursor:pointer;min-width:0}.slh-main b{display:block;font-size:15px}.slh-main span{font-size:12px;color:var(--oyi-ink-2,#555)}.slh-meta{justify-content:flex-end}.slh-actions,.slh-meta{display:flex;gap:6px;flex-wrap:wrap}.slh-actions{grid-column:1/-1}.slh-create{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:12px}.slh-create .rs-note{flex:1 1 100%;margin:0}.slh-custom{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end;margin-top:10px}.slh-custom label{display:grid;grid-gap:4px;gap:4px;font-size:12px}.slh-custom small{flex:1 1 100%}.slh-flow ol{margin:8px 0 0;padding-left:20px;display:grid;grid-gap:6px;gap:6px;font-size:13px}.slh details>summary,.slh-flow>summary{cursor:pointer;font-weight:600}@media (max-width:640px){.slh-item{grid-template-columns:1fr}.slh-meta{justify-content:flex-start}.slh-create .rs-btn{flex:1 1 100%}}