:root{--ink: #16232f;--ink-2: #22333f;--paper: #f4f6f8;--card: #ffffff;--line: #dce3ea;--line-soft: #eaeff4;--text: #1f2d3a;--muted: #5a6b7b;--accent: #d97706;--accent-strong: #b45309;--accent-soft: #fdf1df;--ok: #14764a;--ok-soft: #e3f4ea;--err: #b3261e;--err-soft: #fbeae8;--info: #1657c4;--info-soft: #e9f1fd;--radius-ctl: 10px;--radius: 12px;--radius-l: 16px;--ctl-h: 42px;--ctl-h-s: 34px;--ctl-h-mini: 28px;--shadow-1: 0 1px 2px rgba(22, 35, 47, .05);--shadow-2: 0 6px 20px rgba(22, 35, 47, .1);--gridline: rgba(22, 35, 47, .045);--ease-out: cubic-bezier(.23, 1, .32, 1)}*{box-sizing:border-box}html,body{margin:0;padding:0}html{color-scheme:light}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--text);font-size:15px;line-height:1.5;background-color:var(--paper);background-image:linear-gradient(var(--gridline) 1px,transparent 1px),linear-gradient(90deg,var(--gridline) 1px,transparent 1px);background-size:26px 26px;-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.skip-link{position:absolute;left:-9999px;top:0;z-index:100;background:var(--ink);color:#fff;padding:10px 16px;border-radius:0 0 10px;text-decoration:none;font-weight:600}.skip-link:focus{left:0}.app{min-height:100vh}.shell{min-width:0;flex:1 1 auto}.brand{display:flex;align-items:center;gap:10px}.brand-mark{width:32px;height:32px;flex:none;display:flex;align-items:center;justify-content:center;background:var(--ink);color:#f5a623;font-weight:800;font-size:15px;border-radius:9px}.brand-name{font-weight:700;font-size:15px;line-height:1.15;color:var(--ink)}.brand-sub{font-size:11px;color:var(--muted);line-height:1.35}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:10px;background:#ffffffeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);padding:10px 16px;padding-top:calc(10px + env(safe-area-inset-top))}.topbar-titles{display:flex;flex-direction:column;min-width:0}.topbar .health-dot{margin-left:auto}.health-dot{width:9px;height:9px;border-radius:50%;background:#c3ccd4;display:inline-block;flex:none}.health-dot.ok{background:#1d9a5b;box-shadow:0 0 0 3px #1d9a5b2e}.health-dot.bad{background:#d64545;box-shadow:0 0 0 3px #d645452e}.health-dot.checking{background:#e5a50a}.content{width:100%;max-width:880px;margin:0 auto;padding:18px 16px calc(86px + env(safe-area-inset-bottom))}.tabbar{position:fixed;bottom:0;left:0;right:0;z-index:20;display:flex;background:#fffffff2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:9px 4px 8px;text-decoration:none;color:var(--muted);font-size:10.5px;font-weight:600;position:relative;touch-action:manipulation;transition:color .15s var(--ease-out)}.tab:before{content:"";position:absolute;top:0;left:22%;right:22%;height:2.5px;border-radius:999px;background:transparent}.tab:hover{color:var(--text)}.tab.active{color:var(--accent-strong)}.tab.active:before{background:var(--accent)}.sidebar{display:none}@media (min-width: 1000px){.app{display:flex}.sidebar{display:flex;flex-direction:column;gap:18px;width:236px;flex:none;position:sticky;top:0;height:100vh;padding:22px 14px 18px;background:var(--card);border-right:1px solid var(--line)}.side-nav{display:flex;flex-direction:column;gap:4px}.side-link{display:flex;align-items:center;gap:11px;min-height:42px;padding:0 12px;border-radius:var(--radius-ctl);color:var(--muted);text-decoration:none;font-size:14px;font-weight:600;transition:background-color .15s var(--ease-out),color .15s var(--ease-out);touch-action:manipulation}.side-link:hover{background:var(--paper);color:var(--text)}.side-link.active{background:var(--accent-soft);color:var(--accent-strong);box-shadow:inset 3px 0 0 var(--accent)}.side-foot{margin-top:auto;display:flex;align-items:center;gap:8px;padding:12px 12px 0;border-top:1px solid var(--line-soft);color:var(--muted)}.tabbar,.topbar{display:none}.content{padding:26px 26px 52px;max-width:1280px}}.stack{display:flex;flex-direction:column;gap:14px;min-width:0}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow-1);min-width:0}.card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.card-head h2{margin:0}.card-foot{margin-top:12px;display:flex;justify-content:flex-end}h2{font-size:15.5px;margin:0 0 10px}.muted{color:var(--muted)}.small{font-size:12.5px}.num{font-variant-numeric:tabular-nums}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;color:#3d4c5b;overflow-wrap:anywhere;min-width:0}.empty{color:var(--muted)}.empty-state{text-align:center;padding:52px 22px;display:flex;flex-direction:column;align-items:center;gap:10px;max-width:430px;margin:28px auto 0;background:var(--card);border:1px dashed #cfd8e0;border-radius:var(--radius-l)}.empty-icon{width:52px;height:52px;display:flex;align-items:center;justify-content:center;border-radius:14px;background:var(--paper);color:var(--muted)}.empty-state h2{margin:0;font-size:16px}.empty-state p{margin:0;color:var(--muted);font-size:13.5px;line-height:1.55}.empty-state .btn{margin-top:4px}.badge{display:inline-block;background:var(--accent-soft);color:var(--accent-strong);border-radius:999px;font-size:12px;font-weight:700;padding:4px 12px}.hint{display:flex;align-items:flex-start;gap:10px;background:var(--ink);color:#d7e3f2;border:1px solid #2c3f52;border-radius:var(--radius);padding:12px 14px;font-size:13px;line-height:1.55}.hint-body{flex:1;min-width:0}.hint-body b{color:#fff}.hint-close{flex:none;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-ctl);background:transparent;border:none;color:#93a8bf;cursor:pointer;transition:color .15s var(--ease-out),background-color .15s var(--ease-out)}.hint-close:hover{color:#fff;background:#ffffff14}.banner{border-radius:var(--radius-ctl);padding:11px 13px;font-size:13.5px;border:1px solid;line-height:1.5}.banner.ok{background:var(--ok-soft);color:var(--ok);border-color:#bfe3cd}.banner.err{background:var(--err-soft);color:var(--err);border-color:#efc5c1}.banner.warn{background:var(--accent-soft);color:var(--accent-strong);border-color:#eed9b4}.banner code{background:#0000000f;padding:1px 5px;border-radius:4px;font-size:12px}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(84px + env(safe-area-inset-bottom));z-index:70;display:flex;align-items:center;gap:9px;border-radius:12px;padding:11px 16px;font-size:13.5px;font-weight:500;border:1px solid;box-shadow:var(--shadow-2);max-width:min(92vw,500px)}.toast.ok{background:#14392a;color:#c9f0d8;border-color:#1e5c40}.toast.err{background:#46201b;color:#f9ded9;border-color:#7c352c}@media (min-width: 1000px){.toast{bottom:28px;right:28px;left:auto;transform:none}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:var(--ctl-h);padding:0 16px;border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:var(--radius-ctl);font-size:13.5px;font-weight:600;font-family:inherit;cursor:pointer;white-space:nowrap;transition:background-color .15s var(--ease-out),border-color .15s var(--ease-out),color .15s var(--ease-out),transform .12s var(--ease-out);touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.btn:active{transform:scale(.97)}.btn:hover{border-color:#c4cfd9;background:#f8fafb}.btn.primary{background:var(--ink);color:#fff;border-color:var(--ink)}.btn.primary:hover{background:var(--ink-2);border-color:var(--ink-2)}.btn.ghost{background:transparent;border-color:transparent;color:var(--muted)}.btn.ghost:hover{background:var(--paper);color:var(--text);border-color:transparent}.btn.danger{color:var(--err)}.btn.danger:hover{border-color:#efc5c1;background:#fdf6f5}.btn.small{min-height:var(--ctl-h-s);padding:0 12px;font-size:12.5px;border-radius:var(--radius-ctl)}.btn.mini{min-height:var(--ctl-h-mini);padding:0 10px;font-size:12px;border-radius:var(--radius-ctl);gap:5px}.btn.icon-only{width:var(--ctl-h);padding:0}.btn.small.icon-only,.btn.mini.icon-only{width:auto}.btn:disabled{opacity:.55;cursor:not-allowed}.btn:disabled:active{transform:none}input[type=text],input[type=password],input[type=email],input[type=number],input[type=tel],input[type=url],input[type=search],input:not([type]),select,textarea{border:1px solid #c9d4de;border-radius:var(--radius-ctl);padding:9px 12px;font-size:14px;font-family:inherit;background:var(--card);color:var(--text)}input[type=text],input[type=password],input[type=email],input[type=number],input[type=tel],input[type=url],input[type=search],input:not([type]),select{min-height:var(--ctl-h)}textarea{width:100%;resize:vertical;line-height:1.5}select{cursor:pointer}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field>span{font-size:13px;font-weight:600}.field small{font-size:11.5px}.field>input,.field>select,.field>textarea{width:100%}.field.row{flex-direction:row;align-items:center;gap:8px}.field.row span{font-weight:500}.err-text{color:var(--err);font-size:11.5px}.toolbar{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.toolbar>input{flex:1 1 150px;min-width:0}.toolbar>select{flex:0 1 auto;max-width:48%}.chips{display:flex;flex-wrap:wrap;gap:6px;min-width:0}.chip{font-size:11.5px;border:1px solid var(--line);border-radius:999px;padding:3px 10px;color:#4c5c6b;background:var(--card);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip-ok{background:var(--ok-soft);color:var(--ok);border-color:#bfe3cd}.chip-err{background:var(--err-soft);color:var(--err);border-color:#efc5c1}.chip-select{cursor:pointer;display:inline-flex;align-items:center;gap:6px;min-height:var(--ctl-h-s);padding:0 12px;border-radius:var(--radius-ctl);-webkit-user-select:none;user-select:none;touch-action:manipulation;font-weight:600;border:1px solid var(--line);background:var(--card);color:#4c5c6b;transition:background-color .15s var(--ease-out),color .15s var(--ease-out),border-color .15s var(--ease-out),transform .12s var(--ease-out)}.chip-select:active{transform:scale(.97)}.chip-select:hover{border-color:#c4cfd9}.chip-select input{margin:0}.chip-select.on{background:var(--ink);color:#fff;border-color:var(--ink)}.status-badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;border-radius:999px;padding:3px 9px;background:#eef2f6;color:#51616f;white-space:nowrap;flex:none}.status-badge:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.st-diskusi{background:#e9f1fd;color:#1657c4}.st-survey-lokasi{background:#efeafd;color:#6741c9}.st-proposal{background:#fdf1df;color:#a05a08}.st-negosiasi{background:#fdeee3;color:#bc4b0e}.st-deal{background:#e3f4ea;color:#14764a}.st-mati{background:#f1f3f5;color:#77828d}.switch{position:relative;display:inline-block;width:42px;height:24px;flex:none}.switch input{opacity:0;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:1}.switch span{position:absolute;top:0;right:0;bottom:0;left:0;background:#c6d0da;border-radius:999px;transition:background-color .18s var(--ease-out)}.switch span:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;background:#fff;border-radius:50%;transition:transform .18s var(--ease-out);box-shadow:0 1px 2px #16232f40}.switch input:checked+span{background:var(--ok)}.switch input:checked+span:after{transform:translate(18px)}.switch input:focus-visible+span{box-shadow:0 0 0 3px var(--accent-soft)}.lead-row{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:13px 14px;cursor:pointer;display:flex;flex-direction:column;gap:5px;box-shadow:var(--shadow-1);min-width:0;transition:border-color .15s var(--ease-out),box-shadow .15s var(--ease-out);touch-action:manipulation}@media (hover: hover){.lead-row:hover{border-color:#c4cfd9;box-shadow:var(--shadow-2)}}.lead-top{display:flex;justify-content:space-between;align-items:center;gap:8px;min-width:0}.lead-top>div{min-width:0}.lead-top strong{overflow-wrap:anywhere}.lead-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:2px}.followup-card{display:flex;align-items:center;gap:9px;text-align:left;width:100%;background:var(--accent-soft);border:1px solid #eed9b4;color:#7a4c10;border-radius:var(--radius);padding:11px 13px;font-size:13.5px;font-family:inherit;cursor:pointer;touch-action:manipulation;transition:border-color .15s var(--ease-out),transform .12s var(--ease-out)}.followup-card:active{transform:scale(.98)}.followup-card:hover{border-color:var(--accent)}.followup-card svg{flex:none;color:var(--accent-strong)}.chat-log{display:flex;flex-direction:column;gap:9px;max-height:46vh;overflow-y:auto;padding:2px;overscroll-behavior:contain}.bubble{border-radius:14px;padding:9px 12px;font-size:13.5px;white-space:pre-wrap;overflow-wrap:break-word;line-height:1.45;max-width:92%}.bubble-in{background:#eef2f6;color:#22303d;align-self:flex-start;border-bottom-left-radius:5px}.bubble-out{background:var(--ink);color:#eef4fa;align-self:flex-end;border-bottom-right-radius:5px}.bubble-meta{font-size:10.5px;margin-top:5px;display:flex;align-items:center;flex-wrap:wrap;gap:6px}.bubble-in .bubble-meta{color:var(--muted)}.bubble-out .bubble-meta{color:#eef4fa8c}.attach-row{display:flex;align-items:center;gap:8px;margin:8px 0;flex-wrap:wrap;min-width:0}.attach-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.compose-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.draft-card{border-left:4px solid var(--accent);background:#fffdf8}.draft-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;gap:8px}.draft-text{white-space:pre-wrap;font-size:14.5px;background:var(--card);border:1px solid var(--line-soft);border-radius:var(--radius-ctl);padding:12px 14px;line-height:1.55}.draft-actions{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 6px;justify-content:flex-end}.back-btn{align-self:flex-start}.fact-chip{max-width:100%;overflow:hidden;text-overflow:ellipsis}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.col{display:flex;flex-direction:column;gap:14px;min-width:0}@media (min-width: 900px){.detail-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start}}.cat-chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}.cat-chip{display:inline-flex;align-items:center;gap:6px;min-height:var(--ctl-h-s);padding:0 13px;border:1px solid var(--line);background:var(--card);color:#4c5c6b;border-radius:var(--radius-ctl);font-size:12.5px;font-weight:600;cursor:pointer;white-space:nowrap;font-family:inherit;flex:none;transition:background-color .15s var(--ease-out),color .15s var(--ease-out),border-color .15s var(--ease-out),transform .12s var(--ease-out);touch-action:manipulation;-webkit-user-select:none;user-select:none}.cat-chip:active{transform:scale(.97)}.cat-chip:hover{border-color:#c4cfd9}.cat-chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}.kn-item{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:13px 14px;box-shadow:var(--shadow-1);min-width:0}.kn-head{display:flex;flex-direction:column;gap:7px;cursor:pointer;touch-action:manipulation}.kn-row-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.kn-side{display:flex;align-items:center;gap:5px;flex:none;min-width:0}.kn-menu{flex:none;margin-right:-6px;display:flex}.menu-wrap .btn.icon-only{position:relative;width:18px;min-height:18px;height:18px;padding:0;background:transparent;color:var(--muted)}.menu-wrap .btn.icon-only:after{content:"";position:absolute;top:-7px;right:-7px;bottom:-7px;left:-7px;border-radius:8px}.menu-wrap .btn.icon-only:hover{background:transparent;color:var(--text)}.menu-wrap .btn.icon-only:hover:after{background:var(--paper)}.menu-wrap .btn.icon-only svg{position:relative;z-index:1}.kn-cat-badge{font-size:10.5px;font-weight:700;border-radius:6px;padding:2px 7px;background:#eef2f6;color:#51616f}.kn-status{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-weight:700;border-radius:6px;padding:2px 7px;background:var(--ok-soft);color:var(--ok);white-space:nowrap;flex:none}.kn-status:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor;flex:none}.kn-status.off{background:#eef2f6;color:#51616f}.kn-title{font-size:14.5px;overflow-wrap:anywhere;display:block}.kn-content{font-size:13.5px;white-space:pre-wrap;color:#3a4a59;line-height:1.55;max-height:0;overflow:hidden;transition:max-height .25s var(--ease-out);min-width:0}.kn-content.open{max-height:60vh;overflow-y:auto;margin-top:10px;padding-top:10px;border-top:1px solid var(--line-soft)}.kn-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:10px;flex-wrap:wrap}.version-list{display:flex;flex-direction:column;gap:6px;margin-top:8px}.version-item{display:flex;justify-content:space-between;align-items:center;gap:8px;border:1px solid var(--line);border-radius:var(--radius-ctl);padding:8px 10px;background:var(--card)}.version-item>div{min-width:0}.version-preview{font-size:12px;color:#4c5c6b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.disc-log{max-height:55vh;min-height:200px}.dot{display:inline-block;width:6px;height:6px;margin-right:3px;background:#93a3b1;border-radius:50%;animation:hop 1s infinite}.dot:nth-child(2){animation-delay:.15s}.dot:nth-child(3){animation-delay:.3s}@keyframes hop{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-5px)}}.roles-grid{display:flex;flex-direction:column;gap:12px}.model-list{display:flex;flex-direction:column;gap:10px;margin-top:10px}.model-card{border:1px solid var(--line);border-radius:var(--radius);padding:13px;display:flex;flex-direction:column;gap:8px;background:var(--card)}.model-top{display:flex;justify-content:space-between;align-items:center;gap:8px;min-width:0}.model-top>div{min-width:0}.model-label{font-weight:700;margin-right:8px}.provider-badge{display:inline-block;background:#eef2f6;color:#51616f;font-size:10.5px;font-weight:700;border-radius:6px;padding:2px 7px}.muted-badge{background:var(--paper);color:var(--muted)}.model-actions{display:flex;align-items:center;gap:6px;margin-top:2px;flex-wrap:wrap;justify-content:flex-end}.test-result{font-size:12.5px;border-radius:9px;padding:9px 11px;overflow-wrap:anywhere}.test-result.ok{background:var(--ok-soft);color:var(--ok)}.test-result.err{background:var(--err-soft);color:var(--err)}.model-fetch-row{display:flex;gap:8px;flex-wrap:wrap}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#16232f80;z-index:60;display:flex;align-items:flex-end;justify-content:center;animation:fadeIn .18s var(--ease-out)}.sheet{background:var(--card);width:100%;max-width:560px;border-radius:18px 18px 0 0;padding:10px 18px 24px;max-height:88vh;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:12px;box-shadow:var(--shadow-2);animation:sheetUp .22s cubic-bezier(.2,.8,.3,1)}.sheet-grab{display:flex;justify-content:center;align-items:center;padding:6px 0 10px;margin:-2px 0 -4px;cursor:grab;touch-action:none;flex:none}.sheet-grab:active{cursor:grabbing}.sheet-handle{width:38px;height:4px;border-radius:999px;background:#cdd6de;flex:none}.sheet h2{margin:0 0 2px;font-size:17px}.sheet-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}body.sheet-open{overflow:hidden}@media (min-width: 640px){.sheet-backdrop{align-items:center;padding:24px}.sheet{border-radius:var(--radius-l);padding:22px 22px 24px}.sheet-grab{display:none}}.sheet{transition:transform .2s var(--ease-out),max-height .22s var(--ease-out),border-radius .22s var(--ease-out)}.sheet.dragging{transition:none}.sheet.fs{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;max-width:none;height:100%;max-height:none;border-radius:0}@keyframes fadeIn{0%{opacity:0}}@keyframes sheetUp{0%{transform:translateY(24px);opacity:.6}}.skel{border-radius:var(--radius);height:78px;border:1px solid var(--line-soft);background:linear-gradient(100deg,#e9edf1 30%,#f4f7f9,#e9edf1 60%);background-size:200% 100%;animation:shimmer 1.3s linear infinite}@keyframes shimmer{to{background-position:-200% 0}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.rename-row{display:flex;gap:6px;align-items:center;min-width:0;flex:1}.rename-row input{flex:1;min-width:0}.disc-title{display:inline-flex;align-items:center;gap:6px;min-width:0}.disc-title strong{overflow-wrap:anywhere}.file-name{display:inline-flex;align-items:center;gap:6px}.file-name svg{flex:none;color:var(--muted)}.disc-split{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:start}.disc-list-pane{display:flex;flex-direction:column;gap:10px;min-width:0}.disc-chat-pane{display:flex;flex-direction:column;min-width:0}@media (max-width: 999px){.disc-split[data-view=chat] .disc-list-pane,.disc-split[data-view=list] .disc-chat-pane{display:none}.disc-chat-pane{position:fixed;left:0;right:0;z-index:30;top:calc(env(safe-area-inset-top) + 52px);bottom:calc(env(safe-area-inset-bottom) + 57px);background:var(--paper);padding:10px 12px 8px;gap:8px;overflow:hidden}}@media (min-width: 1000px){.disc-split{grid-template-columns:340px minmax(0,1fr);gap:16px}.disc-list-pane{max-height:calc(100vh - 90px);overflow-y:auto;padding-right:2px}.disc-chat-pane{height:calc(100vh - 88px);position:sticky;top:26px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-l);box-shadow:var(--shadow-1);padding:14px 16px 12px;gap:8px}}.chat-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;color:var(--muted);padding:30px 20px}.chat-empty h2{margin:0;font-size:16px}.chat-empty p{margin:0;font-size:13.5px;max-width:300px}.chat-header{display:flex;align-items:center;gap:8px;flex:none;padding-bottom:8px;border-bottom:1px solid var(--line-soft);min-width:0}.chat-header-meta{margin-left:auto;white-space:nowrap}.chat-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:12px;padding:10px 4px}.chat-scroll .bubble{max-width:min(88%,560px);font-size:14px}.chat-model{margin:0;text-align:center;flex:none}.compose{display:flex;align-items:flex-end;gap:8px;flex:none}.compose-input{flex:1;min-width:0;resize:none;border-radius:20px;padding:10px 15px;min-height:42px;max-height:140px;overflow-y:auto;line-height:1.45}.compose-web,.compose-send{width:42px;height:42px;flex:none;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .15s var(--ease-out),color .15s var(--ease-out),border-color .15s var(--ease-out),transform .12s var(--ease-out)}.compose-web{border:1px solid var(--line);background:var(--card);color:var(--muted)}.compose-web:hover{border-color:#c4cfd9;color:var(--text)}.compose-web:active{transform:scale(.94)}.compose-web.on{background:var(--info-soft);color:var(--info);border-color:#c9dcf7}.compose-send{border:none;background:var(--ink);color:#fff}.compose-send:hover{background:var(--ink-2)}.compose-send:active{transform:scale(.94)}.compose-send:disabled{background:#c6d0da;cursor:not-allowed}.compose-note{margin:0;text-align:center;flex:none}.only-mobile{display:inline-flex}@media (min-width: 1000px){.only-mobile{display:none}}.lead-row:active{border-color:var(--accent)}.lead-row.selected{animation:rowFlash .45s var(--ease-out)}@keyframes rowFlash{0%{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}}.sel{position:relative;display:inline-flex;min-width:0}.sel-btn{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:var(--ctl-h);padding:0 12px;border:1px solid #c9d4de;border-radius:var(--radius-ctl);background:var(--card);color:var(--text);font-size:14px;font-weight:500;font-family:inherit;cursor:pointer;transition:border-color .15s var(--ease-out),box-shadow .15s var(--ease-out);touch-action:manipulation}.sel-btn:hover{border-color:#aab9c6}.sel-btn.open{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.chev{display:inline-flex;flex:none;color:var(--muted);transition:transform .18s var(--ease-out)}.sel-btn.open .chev{transform:rotate(180deg)}.sel-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;text-align:left}.sel-menu{position:fixed;z-index:75;max-width:calc(100vw - 16px);background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-2);padding:4px;max-height:264px;overflow-y:auto;overscroll-behavior:contain;list-style:none;margin:0;animation:menuIn .16s var(--ease-out)}.sel-menu.flip{transform:translateY(-100%)}.sel-opt{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px;border-radius:var(--radius-ctl);font-size:13.5px;cursor:pointer;color:var(--text)}.sel-opt.act{background:var(--paper)}.sel-opt.on{color:var(--accent-strong);font-weight:600}.sel-opt span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sel-opt svg{flex:none}.menu-wrap{position:relative;display:inline-flex;flex:none}.menu{position:fixed;z-index:75;min-width:175px;max-width:260px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-2);padding:4px;display:flex;flex-direction:column;animation:menuIn .16s var(--ease-out)}.menu-item{display:flex;align-items:center;gap:9px;padding:9px 11px;border-radius:var(--radius-ctl);border:none;background:none;font-size:13.5px;font-weight:500;font-family:inherit;color:var(--text);cursor:pointer;text-align:left;white-space:nowrap;transition:background-color .12s var(--ease-out)}.menu-item:hover{background:var(--paper)}.menu-item.danger{color:var(--err)}.menu-item.danger:hover{background:var(--err-soft)}.menu-item.act{background:var(--paper)}@keyframes menuIn{0%{opacity:0}}.toolbar .sel{flex:0 1 auto;min-width:150px}.field>.sel{width:100%}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:#16232f80;display:flex;align-items:center;justify-content:center;padding:24px;animation:fadeIn .15s var(--ease-out)}.dialog{background:var(--card);border-radius:var(--radius-l);box-shadow:var(--shadow-2);width:min(100%,400px);padding:20px;animation:dialogIn .18s var(--ease-out)}@keyframes dialogIn{0%{opacity:0;transform:scale(.96)}}.dialog h2{margin:0 0 6px;font-size:16px}.dialog p{margin:0;color:var(--muted);font-size:13.5px;line-height:1.55;overflow-wrap:anywhere}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.btn.danger-solid{background:var(--err);border-color:var(--err);color:#fff}.btn.danger-solid:hover{background:#99211b;border-color:#99211b}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 0}.switch-row>span:first-child{font-size:13px;font-weight:600}.cap-switches{display:flex;flex-direction:column}.cap-switches .switch-row{padding:8px 0}.cap-switches .switch-row+.switch-row{border-top:1px solid var(--line-soft)}.login-wrap{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(1000px 500px at 85% -10%,rgba(245,158,11,.07),transparent 60%),radial-gradient(800px 400px at 0% 110%,rgba(22,35,47,.05),transparent 55%),linear-gradient(rgba(198,209,220,.38) 1px,transparent 1px),linear-gradient(90deg,rgba(198,209,220,.38) 1px,transparent 1px),var(--paper);background-size:auto,auto,28px 28px,28px 28px,auto}.login-card{width:min(100%,360px);background:var(--card);border:1px solid var(--line);border-radius:var(--radius-l);box-shadow:var(--shadow-2);padding:28px 24px;display:flex;flex-direction:column;gap:14px;align-items:stretch;text-align:center}.login-card h2{margin:0;font-size:19px}.login-card .field{text-align:left;margin-top:4px}.login-logo{width:52px;height:52px;border-radius:14px;margin:0 auto;background:var(--ink);color:#f59e0b;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:800}.login-err{color:var(--err);background:var(--err-soft);border:1px solid #efc5c1;border-radius:var(--radius-ctl);padding:8px 11px;font-size:12.5px}.login-exit{margin-top:22px;display:flex;justify-content:center}.login-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.login-row label{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--muted);cursor:pointer}.login-link{background:none;border:none;padding:0;font-family:inherit;font-size:12.5px;color:var(--accent-strong);font-weight:600;cursor:pointer}.login-link:hover{text-decoration:underline}.login-alt{border-top:1px solid var(--line-soft);margin-top:4px;padding-top:14px;display:flex;flex-direction:column;gap:12px;text-align:left}.login-alt h3{margin:0;font-size:14px}.login-note{font-size:11.5px;line-height:1.5}.subtabs{display:flex;gap:4px;padding:4px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow-x:auto;scrollbar-width:none}.subtab{flex:1 0 auto;min-height:38px;padding:0 14px;border:none;border-radius:9px;background:none;color:var(--muted);font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;touch-action:manipulation;transition:background-color .15s var(--ease-out),color .15s var(--ease-out)}.subtab.on{background:var(--ink);color:#fff}@media (min-width: 900px){.model-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.roles-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px}.account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}}.logout-btn{width:100%;margin-top:16px;justify-content:center;color:var(--err);border-color:#efc5c1;background:var(--err-soft);font-weight:700}.logout-btn:hover{background:#f6dcda;border-color:#e5b3af}.accent-row{display:flex;gap:10px;align-items:center}.accent-dot{width:34px;height:34px;border-radius:50%;border:none;cursor:pointer;padding:0}.accent-dot.on{box-shadow:0 0 0 2px var(--card),0 0 0 4px var(--text)}.acc-amber{background:#d97706}.acc-biru{background:#2563eb}.acc-hijau{background:#0d9488}.acc-ungu{background:#7c3aed}[data-accent=biru]{--accent: #2563eb;--accent-strong: #1d4ed8;--accent-soft: #dce8fd}[data-accent=hijau]{--accent: #0d9488;--accent-strong: #0f766e;--accent-soft: #d7f1ee}[data-accent=ungu]{--accent: #7c3aed;--accent-strong: #6d28d9;--accent-soft: #ece6fd}[data-mode=dark]{--ink: #0d141b;--ink-2: #131c25;--paper: #0f151c;--card: #17212b;--line: #2a3742;--line-soft: #1f2b36;--text: #e6ecf2;--muted: #94a4b2;--accent-soft: #3b2a10;--ok-soft: #123021;--err-soft: #3b1815;--info-soft: #14263d;--shadow-1: 0 1px 2px rgba(0, 0, 0, .45);--shadow-2: 0 8px 24px rgba(0, 0, 0, .55);--gridline: rgba(255, 255, 255, .05);color-scheme:dark}[data-mode=dark][data-accent=biru]{--accent: #3b82f6;--accent-strong: #60a5fa;--accent-soft: #16233d}[data-mode=dark][data-accent=hijau]{--accent: #14b8a6;--accent-strong: #2dd4bf;--accent-soft: #0f2e2b}[data-mode=dark][data-accent=ungu]{--accent: #8b5cf6;--accent-strong: #a78bfa;--accent-soft: #251d40}[data-mode=dark] .topbar{background:#17212beb}[data-mode=dark] .tabbar{background:#17212bf2}[data-mode=dark] .kn-cat-badge,[data-mode=dark] .kn-status.off,[data-mode=dark] .provider-badge{background:#243040;color:#a8b7c4}[data-mode=dark] .bubble-in{background:#243040;color:#dfe7ee}[data-mode=dark] .sheet-handle{background:#3b4a58}[data-mode=dark] .sel-btn{border-color:#384653}[data-mode=dark] .sel-btn:hover{border-color:#4a5a68}[data-mode=dark] .chip{background:#1d2935;color:#a8b7c4}[data-mode=dark] .switch span{background:#3a4a5a}[data-mode=dark] .switch span:after{background:#e6ecf2}[data-mode=dark] .login-wrap{background:radial-gradient(1000px 500px at 85% -10%,rgba(245,158,11,.05),transparent 60%),radial-gradient(800px 400px at 0% 110%,rgba(255,255,255,.03),transparent 55%),linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),var(--paper);background-size:auto,auto,28px 28px,28px 28px,auto}[data-mode=dark] .login-card{border-color:#2a3742}[data-mode=dark] .logout-btn:hover{background:#46201c;border-color:#5c2a24}[data-mode=dark] .menu-item:hover,[data-mode=dark] .sel-opt.act{background:#202c37}[data-mode=dark] .menu-wrap .btn.icon-only:hover:after{background:#243040}[data-mode=dark] .btn.danger-solid:hover{background:#c5332b;border-color:#c5332b}
