:root{--bg: #eef2f6;--panel: #ffffff;--ink: #1d2433;--muted: #5c6678;--line: #d9e0ea;--accent: #3b6fd8;--ok: #2e9d57;--warn: #d9822b;--bad: #c8423b;--radius: 10px;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}html,body,#app{margin:0;height:100%}button{font:inherit;cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #f2a541;outline-offset:2px}input,textarea,select{font:inherit;padding:8px 10px;border:1px solid var(--line);border-radius:8px;width:100%;background:#fff;color:var(--ink)}h1,h2,h3,h4{margin:0 0 8px}h3{font-size:15px}h4{font-size:14px}.kv-muted{color:var(--muted);font-size:13px}.kv-error{color:var(--bad);font-size:13px}.kv-notice{background:#fff6e0;border:1px solid #f2d18b;padding:8px 10px;border-radius:8px;font-size:13px}.kv-loading{display:grid;place-items:center;height:100%}.kv-btn{border:1px solid var(--line);background:#fff;color:var(--ink);padding:7px 12px;border-radius:8px;font-size:14px;white-space:nowrap}.kv-btn:hover:not(:disabled){border-color:var(--accent)}.kv-btn:disabled{opacity:.5;cursor:not-allowed}.kv-btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.kv-btn-ghost{background:transparent}.kv-btn-danger{background:var(--bad);color:#fff;border-color:var(--bad)}.kv-icon{border:none;background:transparent;font-size:18px;padding:4px 8px}.kv-link{border:none;background:none;color:var(--accent);padding:0;text-decoration:underline;font-size:13px}.kv-chip{border:1px solid var(--line);background:#f5f7fb;border-radius:999px;padding:4px 10px;font-size:13px}.kv-app{display:flex;flex-direction:column;height:100%}.kv-header{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;padding:8px 14px;background:#1d2433;color:#fff}.kv-header .kv-muted{color:#b9c2d3}.kv-brand{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.kv-brand strong{font-size:17px}.kv-nav{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.kv-header .kv-btn-ghost,.kv-header .kv-icon{color:#fff;border-color:#4a5468}.kv-switch{display:inline-flex;border:1px solid #4a5468;border-radius:8px;overflow:hidden}.kv-switch button{background:transparent;color:#fff;border:none;padding:6px 10px}.kv-switch button.active{background:#3b6fd8}.kv-conn{display:inline-flex;align-items:center;gap:6px;font-size:12px;padding:2px 8px;border-radius:999px;background:#2b3346}.kv-dot{width:8px;height:8px;border-radius:50%;background:#999}.kv-conn-terhubung .kv-dot{background:#2ecc71}.kv-conn-menghubungkan .kv-dot,.kv-conn-polling .kv-dot{background:#f2a541}.kv-conn-terputus .kv-dot{background:#e74c3c}.kv-tag-test{background:#ffe8a3;color:#6b4b00;font-size:11px;padding:2px 6px;border-radius:6px;font-weight:600}.kv-demo-banner{background:#9b5de5;color:#fff;padding:6px 14px;font-weight:600}.kv-demo-banner .kv-link{color:#fff}.kv-offline{background:#fdecea;color:#8a2a24;padding:6px 14px;font-size:13px}.kv-main{flex:1;display:grid;grid-template-columns:minmax(0,1fr) 360px;min-height:0}.kv-stage{position:relative;min-height:0;overflow:hidden;background:#dfe7ef}.kv-side{overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:10px;border-left:1px solid var(--line);background:var(--bg)}.kv-panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px}.kv-panel-head{display:flex;justify-content:space-between;align-items:center}.kv-swatch{display:inline-block;width:12px;height:12px;border-radius:3px;vertical-align:middle}.kv-office3d{position:absolute;inset:0}.kv-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.kv-labels,.kv-phaser{position:absolute;inset:0}.kv-zone-label{font-size:11px;font-weight:700;color:#1d24338c;text-transform:uppercase;letter-spacing:.06em;pointer-events:none}.kv-studio-label{font-size:12px;background:#1d2433d9;color:#fff;padding:3px 8px;border-radius:6px;pointer-events:none;max-width:260px;text-align:center}.kv-studio-aktif{background:#c0392b}.kv-char{display:flex;flex-direction:column;align-items:center;gap:3px;cursor:pointer;transform:translateY(-6px)}.kv-name{font-size:11px;font-weight:700;background:#ffffffeb;border:1px solid var(--line);border-radius:6px;padding:1px 6px;white-space:nowrap;display:flex;gap:5px;align-items:center}.kv-status{font-weight:500;font-size:10px;color:var(--muted)}.kv-bubble{display:none;max-width:170px;font-size:11px;background:#fff;border-radius:10px;padding:3px 8px;box-shadow:0 2px 6px #00000026;text-align:center}.kv-bekerja .kv-status{color:var(--ok)}.kv-menunggu .kv-bubble{background:#fff3d6}.kv-gagal .kv-bubble{background:#fde2df;color:var(--bad);font-weight:600}.kv-gagal .kv-status{color:var(--bad)}.kv-nonaktif .kv-name{opacity:.6}.kv-selected .kv-name{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.kv-name-short{display:none}.kv-pill{display:inline-block;font-size:11px;padding:1px 7px;border-radius:999px;background:#eef1f6;color:#3b4558;border:1px solid var(--line)}.kv-pill-bekerja,.kv-pill-running,.kv-pill-sent,.kv-pill-done{background:#e3f6ea;color:#1d6b3b;border-color:#b6e3c6}.kv-pill-gagal,.kv-pill-failed,.kv-pill-rejected{background:#fde2df;color:#8a2a24;border-color:#f5b8b2}.kv-pill-menunggu,.kv-pill-queued,.kv-pill-on_hold,.kv-pill-pending,.kv-pill-blocked{background:#fff3d6;color:#6b4b00;border-color:#f2d18b}.kv-pill-ready,.kv-pill-awaiting_approval{background:#e3ecfd;color:#1f4aa8;border-color:#b9cdf6}.kv-pill-approved{background:#2e9d57;color:#fff;border-color:#2e9d57}.kv-pill-belum-aktif,.kv-pill-superseded,.kv-pill-cancelled{opacity:.7}.kv-tabs{display:flex;gap:4px;margin-bottom:8px;flex-wrap:wrap}.kv-tabs button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:3px 10px;font-size:12px;text-transform:capitalize}.kv-tabs button.active{background:var(--accent);border-color:var(--accent);color:#fff}.kv-count{font-weight:700;margin-left:3px}.kv-joblist,.kv-feed,.kv-compact,.kv-role-list{list-style:none;margin:0;padding:0}.kv-jobrow{width:100%;text-align:left;border:1px solid var(--line);background:#fff;border-radius:8px;padding:7px 9px;margin-bottom:6px;display:flex;flex-direction:column;gap:2px}.kv-jobrow:hover{border-color:var(--accent)}.kv-jobtitle{font-weight:600;font-size:13px}.kv-jobmeta{font-size:12px;color:var(--muted)}.kv-empty{color:var(--muted);font-size:13px;padding:4px 0}.kv-feed li{font-size:12px;padding:4px 0;border-bottom:1px dashed var(--line);display:flex;gap:8px}.kv-feed-time{color:var(--muted);min-width:78px}.kv-feed-failed{color:var(--bad)}.kv-feed-waiting{color:var(--warn)}.kv-dl{display:grid;grid-template-columns:110px 1fr;gap:4px 10px;font-size:13px;margin:6px 0}.kv-dl dt{color:var(--muted)}.kv-dl dd{margin:0;overflow-wrap:anywhere}.kv-list-view{padding:14px;overflow-y:auto;height:100%}.kv-studio-card{background:#2b3346;color:#fff;padding:10px 12px;border-radius:var(--radius);margin-bottom:10px}.kv-studio-card.aktif{background:#c0392b}.kv-role-row{width:100%;display:grid;grid-template-columns:14px 180px 90px 1fr;gap:8px;align-items:center;text-align:left;background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px 10px;margin-bottom:6px}.kv-role-row .kv-muted{grid-column:2 / -1}.kv-role-name{font-weight:600}.kv-role-gagal{border-color:#f5b8b2}.kv-modal-backdrop{position:fixed;inset:0;background:#0f141e73;display:grid;place-items:center;z-index:50;padding:12px}.kv-modal{background:#fff;border-radius:14px;width:min(560px,100%);max-height:92vh;display:flex;flex-direction:column;box-shadow:0 10px 40px #00000040}.kv-modal-wide{width:min(920px,100%)}.kv-modal-head{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line)}.kv-modal-head h2{font-size:16px;margin:0}.kv-modal-body{padding:14px 16px;overflow-y:auto}.kv-form{display:flex;flex-direction:column;gap:8px}.kv-form label{display:flex;flex-direction:column;gap:4px;font-size:14px}.kv-check{flex-direction:row!important;align-items:center;gap:8px!important}.kv-check input{width:auto}.kv-code{font-size:15px;background:#f5f7fb;padding:10px;border-radius:8px}.kv-login{display:grid;place-items:center;height:100%;background:linear-gradient(135deg,#1d2433,#3b6fd8)}.kv-login form{background:#fff;padding:26px;border-radius:16px;width:min(380px,92vw);display:flex;flex-direction:column;gap:12px}.kv-login label{display:flex;flex-direction:column;gap:4px;font-size:14px}.kv-detail-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.kv-brief{font-style:italic;margin:6px 0}.kv-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0}.kv-hold{color:var(--warn);font-size:13px}.kv-version{border:1px solid var(--line);border-radius:var(--radius);margin:10px 0;overflow:hidden}.kv-version-latest{border-color:#b9cdf6}.kv-version-head{width:100%;text-align:left;display:flex;flex-wrap:wrap;gap:8px;align-items:center;background:#f5f7fb;border:none;padding:8px 12px}.kv-version-body{padding:10px 12px;display:flex;flex-direction:column;gap:8px}.kv-video{width:100%;max-width:300px;aspect-ratio:9 / 16;background:#000;border-radius:8px}.kv-video-small{max-width:200px}.kv-approved{color:var(--ok);font-weight:600;font-size:13px}.kv-revision{display:flex;flex-direction:column;gap:6px;margin:10px 0}.kv-subsection{margin-top:12px}.kv-table{width:100%;border-collapse:collapse;font-size:12px}.kv-table th,.kv-table td{border-bottom:1px solid var(--line);padding:5px 6px;text-align:left}.kv-ok{color:var(--ok)}.kv-warn{color:var(--warn)}.kv-bad{color:var(--bad)}details summary{cursor:pointer;font-size:13px;font-weight:600}.kv-chatsim{display:flex;flex-direction:column;gap:8px}.kv-chat-list{height:46vh;overflow-y:auto;background:#e9eef5;border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:8px}.kv-msg{max-width:82%;padding:8px 10px;border-radius:12px;font-size:13px;white-space:pre-wrap}.kv-msg-in{align-self:flex-end;background:#d6f5d6}.kv-msg-out{align-self:flex-start;background:#fff}.kv-msg-meta{font-size:11px;color:var(--muted);margin-bottom:3px}.kv-replying{font-size:12px;background:#f5f7fb;padding:6px 8px;border-radius:8px}.kv-chat-input{display:flex;gap:8px}.kv-quick{display:flex;gap:6px;flex-wrap:wrap}.kv-voice{display:flex;flex-direction:column;gap:10px}.kv-voice-status{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.kv-call{font-weight:700;padding:3px 10px;border-radius:999px;background:#eef1f6;text-transform:capitalize}.kv-call-terhubung{background:#e3f6ea;color:#1d6b3b}.kv-call-terputus,.kv-call-gagal{background:#fde2df;color:#8a2a24}.kv-mic{display:inline-flex;gap:6px;align-items:center;font-size:13px;min-width:140px}.kv-meter{display:inline-block;height:8px;background:var(--ok);border-radius:4px;min-width:4px;transition:width .1s}.kv-interrupt{color:var(--warn);font-size:13px;font-weight:600}.kv-voice-log{height:34vh;overflow-y:auto;background:#f5f7fb;border-radius:10px;padding:10px}.kv-line{margin:0 0 6px;font-size:14px}.kv-line-backend{color:#1f4aa8;font-size:13px}.kv-line-sistem{color:var(--muted);font-size:13px}@media(max-width:900px){.kv-main{grid-template-columns:1fr;grid-template-rows:minmax(320px,55vh) auto}.kv-side{border-left:none;border-top:1px solid var(--line);overflow:visible}.kv-app{height:auto;min-height:100%}.kv-role-row{grid-template-columns:14px 1fr auto}.kv-role-row .kv-role-activity{grid-column:2 / -1}.kv-header{padding:6px 10px}.kv-nav{gap:4px}.kv-nav .kv-btn{padding:5px 9px;font-size:13px}.kv-switch button{padding:5px 8px;font-size:13px}}@media(max-width:700px){.kv-name{font-size:9px;padding:0 4px}.kv-name-full{display:none}.kv-name-short{display:inline}.kv-status{display:none}.kv-bubble{font-size:9px;max-width:110px;padding:2px 6px}.kv-studio-label{font-size:10px;max-width:150px}.kv-zone-label{font-size:8px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
