.vault{display:flex;gap:var(--space-5);flex-direction:column}.vault-drop{display:flex;align-items: center;gap:var(--space-2);text-align:center;padding:var(--space-8)var(--space-5);background:var(--tile);border:1.5px dashed var(--hairline);border-radius:var(--radius-lg);color:var(--ink-muted);flex-direction:column;transition:border-color .2s,background .2s}.vault-drop.is-drag{border-color:var(--primary);background:var(--primary-soft)}.vault-drop>svg{color:var(--primary)}.vault-drop-title{color:var(--ink);margin:0;font-weight:600}.vault-drop-sub{margin:0;font-size:13px}.vault-pick{margin-top:var(--space-2);padding:0 var(--space-5);border-radius:var(--radius-full);background:var(--primary);color:var(--on-primary);border:none;min-height:44px;transition:transform .15s,opacity .15s;font-size:14px;font-weight:600}.vault-pick:hover{transform:translateY(-1px)}.vault-pick:disabled{opacity:.5;cursor:not-allowed;transform:none}.vault-error{padding:var(--space-3)var(--space-4);background:var(--level-merah-soft);color:var(--level-merah);border-radius:var(--radius-sm);font-size:14px}.vault-empty{padding:var(--space-8);text-align:center;color:var(--ink-muted)}.vault-ingest{display:flex;align-items: center;gap:var(--space-3);padding:var(--space-3)var(--space-4);background:var(--primary-soft);border:1px solid var(--primary-soft-2);border-radius:var(--radius-sm)}.vault-ingest-info{display:flex;flex-direction:column;gap:2px;min-width:0}.vault-ingest-title{color:var(--ink);font-size:14px;font-weight:600}.vault-ingest-files{color:var(--ink-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.vault-group{display:flex;gap:var(--space-3);flex-direction:column}.vault-group+.vault-group{margin-top:var(--space-5)}.vault-group-head{display:flex;align-items: center;gap:var(--space-2);color:var(--ink);margin:0;font-size:.95rem;font-weight:600}.vault-group-head svg{color:var(--primary)}.vault-group-count{text-align:center;color:var(--ink-muted);background:var(--tile);border:1px solid var(--tile-border);border-radius:var(--radius-full);min-width:20px;padding:0 6px;font-size:.72rem;font-weight:600;line-height:18px}.vault-kanban{display:flex;gap:var(--gutter);overflow-x:auto;padding-bottom:var(--space-3)}.vault-lane{display:flex;background:var(--tile);border:1px solid var(--tile-border);border-top:3px solid var(--lane-accent,var(--primary));border-radius:var(--radius-md);box-shadow:var(--shadow-1);flex-direction:column;flex:0 0 280px;max-height:70vh}.vault-lane-head{display:flex;align-items: center;gap:var(--space-2);padding:var(--space-3)var(--space-4);border-bottom:1px solid var(--hairline)}.vault-lane-dot{border-radius:var(--radius-full);background:var(--lane-accent,var(--primary));flex:none;width:10px;height:10px}.vault-lane-name{color:var(--ink);flex:auto;font-size:14px;font-weight:700}.vault-lane-count{text-align:center;color:var(--ink-muted);background:var(--canvas);border:1px solid var(--tile-border);border-radius:var(--radius-full);min-width:22px;padding:0 7px;font-size:.72rem;font-weight:700;line-height:20px}.vault-lane-body{display:flex;gap:var(--space-3);padding:var(--space-3);overflow-y:auto;flex-direction:column}.vault-lane-empty{padding:var(--space-5)var(--space-3);text-align:center;color:var(--ink-faint);font-size:13px}.vault-lane .vault-folder{width:100%}.vault-folders{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--gutter)}.vault-folder{display:flex;align-items: center;gap:var(--space-3);padding:var(--space-4);background:var(--tile);border:1px solid var(--tile-border);border-radius:var(--radius-md);box-shadow:var(--shadow-1);cursor:pointer;text-align:left}.vault-folder:hover{border-color:var(--primary);background:var(--primary-soft)}.vault-folder-icon{display:grid;border-radius:var(--radius-sm);background:var(--primary-soft);color:var(--primary);flex:none;place-items: center;width:44px;height:44px}.vault-folder-info{display:flex;flex-direction:column;gap:2px;min-width:0}.vault-folder-name{color:var(--ink);font-size:14px;font-weight:700}.vault-folder-count{color:var(--ink-muted);font-size:12px}.vault-folder-modal{display:flex;flex-direction:column;width:min(860px,100%);max-height:80vh}.vault-folder-head{display:flex;padding:var(--space-4);border-bottom:1px solid var(--hairline);justify-content:space-between;align-items: center}.vault-folder-head-title{display:flex;align-items: center;gap:var(--space-2);color:var(--ink);font-weight:700}.vault-folder-head-title svg{color:var(--primary)}.vault-folder-close{display:grid;border-radius:var(--radius-sm);color:var(--ink-muted);cursor:pointer;place-items: center;width:32px;height:32px}.vault-folder-close:hover{background:var(--primary-soft);color:var(--primary)}.vault-folder-body{padding:var(--space-4);overflow-y:auto}.vault-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--gutter)}.vault-card{position:relative;background:var(--tile);border:1px solid var(--tile-border);border-radius:var(--radius-md);box-shadow:var(--shadow-1);overflow:hidden}.vault-card-main{display:flex;gap:var(--space-2);padding:var(--space-4);text-align:left;color:var(--ink);background:0 0;border:none;flex-direction:column;width:100%;min-height:44px;transition:transform .15s}.vault-card-main:hover{transform:translateY(-1px)}.vault-card-icon{display:inline-flex;border-radius:var(--radius-sm);background:var(--primary-soft);color:var(--primary);justify-content:center;align-items: center;width:40px;height:40px}.vault-card-name{word-break:break-word;font-size:14px;font-weight:600}.vault-card-meta{color:var(--ink-muted);font-size:12px}.vault-card-del{position:absolute;top:var(--space-2);right:var(--space-2);display:inline-flex;border-radius:var(--radius-full);background:var(--canvas);color:var(--ink-muted);border:none;justify-content:center;align-items: center;width:32px;height:32px}.vault-card-del:hover{color:var(--level-merah)}.vault-overlay{position:fixed;z-index:50;display:flex;padding:var(--space-4);animation:.18s vault-fade;background:#11131c8c;justify-content:center;align-items: center;inset:0}.vault-modal{position:relative;background:var(--tile);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);overflow:hidden;animation:.2s vault-pop;width:min(1100px,100%);max-height:90vh}.vault-modal-doc{background:var(--surface-dark);width:96vw;height:92vh;max-height:92vh}.vault-doc{position:absolute;display:flex;overflow:auto;background:var(--surface-dark);justify-content:center;align-items: center;inset:0}.vault-analysis-float{position:absolute;z-index:2;display:flex;background:var(--tile);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);overflow:hidden;flex-direction:column;width:380px;max-width:calc(100% - 32px);max-height:calc(100% - 32px);top:16px;right:16px}.vault-analysis-title{display:flex;color:var(--primary);align-items: center;gap:8px;font-size:14px;font-weight:700}.vault-analysis-actions{display:flex;gap:6px}.vault-icon-btn{display:inline-flex;border-radius:var(--radius-full);background:var(--canvas);color:var(--ink);border:none;justify-content:center;align-items: center;width:36px;height:36px;transition:background .15s,color .15s}.vault-icon-btn:hover{background:var(--primary-soft);color:var(--primary)}.vault-analysis-scroll{overflow:auto;min-height:0;padding:14px}.vault-analysis-fab{position:absolute;z-index:2;display:inline-flex;border-radius:var(--radius-full);background:var(--primary);color:var(--on-primary);box-shadow:var(--shadow-2);border:none;align-items: center;gap:8px;min-height:44px;padding:0 18px;transition:transform .15s;font-size:13px;font-weight:700;top:16px;right:16px}.vault-analysis-fab:hover{transform:translateY(-1px)}.vault-zoom-overlay{position:fixed;z-index:60;display:flex;padding:var(--space-4);animation:.18s vault-fade;background:#11131c99;justify-content:center;align-items: center;inset:0}.vault-zoom-card{display:flex;background:var(--tile);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);overflow:hidden;animation:.2s vault-pop;flex-direction:column;width:min(820px,100%);max-height:90vh}.vault-zoom-scroll{overflow:auto;min-height:0;padding:20px}.vault-img{object-fit:contain;border-radius:var(--radius-sm);max-width:100%;max-height:100%}.vault-pdf{background:#fff;border:none;width:100%;height:100%}.vault-analysis-head{display:flex;justify-content:space-between;align-items: center;gap:var(--space-2);border-bottom:1px solid var(--hairline);flex:none;padding:12px 14px}.vault-analysis-loading,.vault-preview-msg{display:flex;align-items: center;gap:var(--space-2);color:var(--ink-muted);flex-direction:column;font-size:14px}.vault-analysis-loading{flex-direction:row}.vault-analysis-error{color:var(--level-merah);display:flex;gap:var(--space-3);flex-direction:column;align-items: flex-start}.vault-spinner{border:2px solid var(--primary-soft-2);border-top-color:var(--primary);border-radius:var(--radius-full);animation:.7s linear infinite vault-spin;width:16px;height:16px}.vault-sheet{overflow:auto;width:100%}.vault-sheet table{border-collapse:collapse;background:#fff;font-size:13px}.vault-sheet th,.vault-sheet td{border:1px solid var(--hairline);white-space:nowrap;color:var(--ink);padding:6px 10px}.vault-sheet th{background:var(--primary-soft);position:sticky;font-weight:600;top:0}@keyframes vault-fade{0%{opacity:0}}@keyframes vault-pop{0%{opacity:0;transform:scale(.98)}}@keyframes vault-spin{to{transform:rotate(360deg)}}@media (max-width:720px){.vault-modal-doc{border-radius:0;width:100vw;height:92vh}.vault-analysis-float{border-radius:var(--radius-lg)var(--radius-lg)0 0;width:100%;max-width:100%;max-height:48%;inset:auto 0 0}.vault-zoom-card{width:100%;max-height:92vh}}@media (prefers-reduced-motion:reduce){.vault-overlay,.vault-modal,.vault-zoom-overlay,.vault-zoom-card,.vault-spinner{animation:none}}.chat-shell{display:flex;flex-direction:column;height:calc(100dvh - 130px);min-height:380px}.chat-scroll{overflow-y:auto;display:flex;flex-direction:column;flex:auto;gap:10px;min-height:0;padding:4px 2px 8px}.msg{display:flex;flex-direction:column;max-width:min(1000px,100%)}.msg.user{align-self: flex-end;align-items: flex-end}.msg.assistant{align-self: flex-start;align-items: flex-start;width:100%;max-width:min(1100px,100%)}.msg.assistant .bubble{max-width:820px}.bubble{border-radius:var(--radius-lg);padding:9px 13px;font-size:13.5px;line-height:1.5}.msg.user .bubble{background:var(--primary);color:var(--on-primary);border-bottom-right-radius:6px}.msg.assistant .bubble{background:var(--tile);color:var(--ink);border:1px solid var(--tile-border);box-shadow:var(--shadow-1);border-bottom-left-radius:6px}.bubble p{margin:0 0 6px}.bubble p:last-child{margin-bottom:0}.bubble .h{margin:2px 0 6px;font-size:14px;font-weight:700}.bubble .li{display:flex;gap:7px;margin:1px 0}.bubble .li .dot{color:var(--primary);line-height:1.5}.assistant-head{display:flex;color:var(--ink-muted);align-items: center;gap:7px;margin:0 0 5px 2px;font-size:11.5px;font-weight:600}.zita-avatar{background:var(--primary);color:#fff;display:inline-grid;border-radius:50%;flex:none;place-items: center;width:22px;height:22px}.quick-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.quick-menu-wrap{position:relative}.quick-chevron{color:var(--primary);transition:transform .16s;transform:rotate(90deg)}.quick-chevron.open{transform:rotate(-90deg)}.quick-menu{position:absolute;z-index:20;overflow-y:auto;display:flex;background:var(--tile);border:1px solid var(--hairline);border-radius:var(--radius-lg,12px);flex-direction:column;gap:4px;min-width:260px;max-height:60vh;padding:6px;top:calc(100% + 6px);left:0;box-shadow:0 8px 28px #00000024}.quick-menu-label{letter-spacing:.04em;text-transform:uppercase;color:var(--muted,#8a8aa0);padding:4px 12px 6px;font-size:11px;font-weight:700}.quick-menu-item{display:inline-flex;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items: center;gap:9px;width:100%;min-height:40px;padding:9px 12px;transition:background .14s,color .14s;font-size:13px;font-weight:600}.quick-menu-item svg{color:var(--primary);flex:none}.quick-menu-item:hover{background:color-mix(in srgb,var(--primary)10%,transparent);color:var(--primary);outline:none}.quick-menu-item:focus-visible{background:color-mix(in srgb,var(--primary)10%,transparent);color:var(--primary);outline:none}.quick-action{display:inline-flex;border:1px solid var(--hairline);background:var(--tile);color:var(--ink);border-radius:var(--radius-full);cursor:pointer;align-items: center;gap:7px;padding:8px 14px;transition:border-color .16s,color .16s,transform .12s;font-size:13px;font-weight:600}.quick-action svg{color:var(--primary)}.quick-action:hover{border-color:var(--primary);color:var(--primary)}.quick-action:active{transform:scale(.97)}.chat-widgets{display:flex;flex-wrap:wrap;gap:8px;width:100%;margin-top:8px}.chat-card.has-note{flex:100%;max-width:100%}.chat-card-note{border-top:1px solid var(--hairline);color:var(--ink);text-align:left;white-space:normal;margin-top:9px;padding-top:10px;font-size:13px;line-height:1.55}.chat-card-note p{margin:0 0 5px}.chat-card-note p:last-child{margin-bottom:0}.chat-card-note .h{margin:2px 0 5px;font-size:13.5px;font-weight:700}.chat-card-note .li{display:flex;gap:7px;margin:2px 0}.chat-card-note .li .dot{color:var(--primary);line-height:1.55}.chat-card{text-align:left;background:var(--tile);border:1px solid var(--tile-border);border-radius:var(--radius-md);box-shadow:var(--shadow-1);display:flex;cursor:pointer;flex-direction:column;flex:170px;gap:4px;min-width:150px;max-width:230px;padding:11px;transition:transform .12s,box-shadow .16s}.chat-card.wide{flex-basis:100%;max-width:360px}.chat-card.wide.gpanel{max-width:100%}.chat-card:active{transform:scale(.98)}.chat-card:hover{box-shadow:var(--shadow-2)}.chat-card-head{display:flex;justify-content:space-between;align-items: center;gap:8px}.chat-card-title{display:flex;align-items: center;gap:7px;font-size:13.5px;font-weight:700}.chat-card-dot{border-radius:3px;width:9px;height:9px}.chat-card-label{color:var(--ink-muted);font-size:11.5px}.chat-card-value{letter-spacing:-.02em;font-size:18px;font-weight:700}.chat-card-target{color:var(--ink-faint);font-size:12px;font-weight:500}.chat-card-foot{display:flex;color:var(--primary);justify-content:space-between;align-items: center}.chat-chip{display:inline-flex;border:1px solid var(--primary);color:var(--primary);background:var(--tile);border-radius:var(--radius-full);cursor:pointer;align-items: center;gap:8px;padding:8px 14px;font-size:13px;font-weight:600}.chat-chip:active{transform:scale(.97)}.chat-input{display:flex;border:1px solid var(--hairline);border-radius:var(--radius-xl);background:var(--tile);box-shadow:var(--shadow-1);flex-direction:column;flex:none;gap:6px;margin-top:12px;padding:6px;transition:border-color .16s}.chat-input-row{display:flex;align-items: flex-end;gap:6px}.chat-input:focus-within{border-color:var(--primary)}.chat-input textarea{outline:none;resize:none;color:var(--ink);background:0 0;border:none;flex:1;max-height:120px;padding:9px 0;font-family:inherit;font-size:14px;line-height:1.45}.chat-input textarea:focus-visible{box-shadow:none;border-radius:0}.chat-send{border-radius:var(--radius-full);background:var(--primary);color:#fff;display:grid;cursor:pointer;border:none;flex:none;place-items: center;width:40px;height:40px;transition:transform .12s,opacity .16s}.chat-send:active{transform:scale(.92)}.chat-send:disabled{opacity:.4;cursor:not-allowed}.chat-empty{text-align:center;max-width:520px;margin:auto;padding:24px}.chat-suggestions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:18px}.chat-suggestion{border:1px solid var(--hairline);background:var(--tile);border-radius:var(--radius-full);color:var(--ink);cursor:pointer;padding:9px 14px;font-size:13px;font-weight:500}.chat-suggestion:hover{border-color:var(--primary);color:var(--primary)}.typing{display:inline-flex;gap:4px;padding:4px 0}.typing span{background:var(--primary);opacity:.5;animation:1.2s infinite both blink;border-radius:50%;width:7px;height:7px}.typing span:nth-child(2){animation-delay:.2s}.typing span:nth-child(3){animation-delay:.4s}@keyframes blink{0%,60%,to{opacity:.25;transform:translateY(0)}30%{opacity:.9;transform:translateY(-3px)}}.chat-status{display:inline-flex;align-items: center;gap:10px}.chat-status-text{color:var(--ink-muted);animation:.2s statusfade;font-size:13px;line-height:1.4}@keyframes statusfade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.chat-status-text{animation:none}}.chat-error{display:flex;background:var(--level-merah-soft);color:var(--level-merah);border-radius:var(--radius-md);flex-wrap:wrap;align-self: flex-start;align-items: center;gap:12px;max-width:92%;padding:10px 14px;font-size:13px;font-weight:500}.chat-retry{border:1px solid var(--level-merah);color:var(--level-merah);cursor:pointer;background:0 0;border-radius:999px;flex-shrink:0;min-height:32px;padding:6px 14px;transition:background .15s;font-size:13px;font-weight:600}.chat-retry:hover{background:color-mix(in srgb,var(--level-merah)12%,transparent)}.chat-retry:focus-visible{outline:2px solid var(--level-merah);outline-offset:2px}.chat-attach-btn{border-radius:var(--radius-full);color:var(--ink-muted);display:grid;cursor:pointer;background:0 0;border:none;flex:none;place-items: center;width:40px;height:40px;transition:color .16s,background .16s,transform .12s}.chat-attach-btn:hover:not(:disabled){color:var(--primary);background:var(--primary-soft)}.chat-attach-btn:active{transform:scale(.92)}.chat-attach-btn:disabled{opacity:.4;cursor:not-allowed}.chat-vault-btn.active,.chat-vault-btn.active:hover:not(:disabled){color:#fff;background:var(--primary)}.agent-menu-wrap{position:relative;display:inline-flex}.chat-agent-btn{--agent-accent:#7c3aed}.chat-agent-btn:hover:not(:disabled){color:var(--agent-accent);background:#7c3aed1a}.chat-agent-btn.active,.chat-agent-btn.active:hover:not(:disabled){color:#fff;background:var(--agent-accent)}.agent-menu{position:absolute;z-index:20;display:flex;background:var(--tile);border:1px solid var(--hairline);border-radius:var(--radius-lg,12px);flex-direction:column;gap:4px;min-width:300px;padding:6px;bottom:calc(100% + 8px);left:0;box-shadow:0 8px 28px #00000024}.agent-menu-item{display:inline-flex;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items: flex-start;gap:10px;width:100%;padding:9px 12px;transition:background .14s,color .14s}.agent-menu-item svg{color:var(--agent-accent,#7c3aed);flex:none;margin-top:1px}.agent-menu-item:hover{outline:none;background:#7c3aed1a}.agent-menu-item:focus-visible{outline:none;background:#7c3aed1a}.agent-menu-item.active{background:#7c3aed24}.agent-menu-text{display:flex;flex-direction:column;gap:2px}.agent-menu-title{font-size:13px;font-weight:600}.agent-menu-desc{color:var(--muted,#8a8aa0);font-size:11.5px;font-weight:400;line-height:1.4}.agent-menu-off{border:0;border-top:1px solid var(--hairline);color:var(--muted,#8a8aa0);text-align:left;cursor:pointer;background:0 0;border-radius:0 0 8px 8px;margin-top:2px;padding:8px 12px;font-size:12px;font-weight:600}.agent-menu-off:hover{color:var(--ink);background:color-mix(in srgb,var(--ink)6%,transparent)}.chat-attach-tray{display:flex;flex-wrap:wrap;gap:6px;padding:2px 4px 0}.chat-attach-chip{display:inline-flex;background:var(--primary-soft);color:var(--ink);border-radius:var(--radius-full);align-items: center;gap:6px;max-width:220px;padding:5px 5px 5px 11px;font-size:12.5px;font-weight:600}.chat-attach-chip>svg{color:var(--primary);flex:none}.chat-attach-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-attach-x{color:var(--ink-muted);display:grid;cursor:pointer;background:0 0;border:none;border-radius:50%;flex:none;place-items: center;width:22px;height:22px}.chat-attach-x:hover{color:var(--level-merah);background:var(--level-merah-soft)}.msg-attachments{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:7px}.msg-attachment{display:inline-flex;border-radius:var(--radius-full);background:#ffffff2e;align-items: center;gap:6px;max-width:240px;padding:4px 10px;font-size:12px;font-weight:600}.msg-attachment-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vault-files{display:flex;flex-direction:column;gap:7px;width:100%;margin-top:10px}.vault-files-label{display:inline-flex;color:var(--ink-muted);align-items: center;gap:6px;font-size:11.5px;font-weight:600}.vault-files-list{display:flex;flex-wrap:wrap;gap:7px}.vault-file-chip{display:inline-flex;background:var(--tile);border:1px solid var(--tile-border);color:var(--ink);border-radius:var(--radius-md);cursor:pointer;align-items: center;gap:7px;max-width:320px;min-height:38px;padding:7px 11px;transition:border-color .16s,color .16s,transform .12s;font-size:12.5px;font-weight:600}.vault-file-chip svg{color:var(--primary);flex:none}.vault-file-chip:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.vault-file-chip:active{transform:scale(.97)}.vault-file-chip:disabled{opacity:.6;cursor:progress}.vault-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vault-file-err{color:var(--danger,#d33);font-size:12px}.vault-src-trigger{display:inline-flex;background:var(--tile);border:1px solid var(--tile-border);color:var(--ink-muted);border-radius:var(--radius-full);cursor:pointer;align-items: center;gap:6px;min-height:32px;padding:5px 12px;transition:border-color .16s,color .16s;font-size:12px;font-weight:600}.vault-src-trigger svg{color:var(--primary);flex:none}.vault-src-trigger:hover{border-color:var(--primary);color:var(--primary)}.vault-src-overlay{position:fixed;z-index:100;display:flex;backdrop-filter:blur(2px);animation:.16s vaultSrcFade;background:#09112857;justify-content:center;align-items: center;padding:20px;inset:0}@keyframes vaultSrcFade{0%{opacity:0}to{opacity:1}}.vault-src-modal{display:flex;background:var(--tile);border:1px solid var(--tile-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);overflow:hidden;flex-direction:column;width:min(560px,100%);max-height:min(72vh,620px)}.vault-src-head{display:flex;border-bottom:1px solid var(--tile-border);justify-content:space-between;align-items: center;gap:10px;padding:14px 16px}.vault-src-title{display:inline-flex;color:var(--ink);align-items: center;gap:8px;font-size:13.5px;font-weight:700}.vault-src-title svg{color:var(--primary)}.vault-src-close{display:inline-flex;color:var(--ink-muted);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items: center;width:34px;height:34px;transition:background .16s,color .16s}.vault-src-close:hover{background:var(--primary-soft);color:var(--primary)}.vault-src-list{display:flex;overflow-y:auto;flex-direction:column;gap:8px;padding:14px 16px}.vault-src-list .vault-file-chip{width:100%;max-width:none}.msg-feedback{display:flex;gap:4px;margin-top:8px}.msg-feedback-btn{border-radius:var(--radius-full);display:grid;cursor:pointer;opacity:.55;background:0 0;border:1px solid #0000;place-items: center;width:28px;height:28px;transition:opacity .15s,background .15s,border-color .15s;font-size:13px;line-height:1}.msg-feedback-btn:hover:not(:disabled){opacity:1;background:var(--primary-soft)}.msg-feedback-btn.active{opacity:1;border-color:var(--primary);background:var(--primary-soft)}.msg-feedback-btn:disabled{cursor:default}.gpanel{overflow:hidden;cursor:default;flex-basis:100%;gap:9px;min-width:0;max-width:520px}.gpanel:hover{box-shadow:var(--shadow-1);transform:none}.gpanel-title{color:var(--ink);font-size:13.5px;font-weight:700}.chat-sources{list-style:none;display:flex;flex-direction:column;gap:6px;margin:8px 0 0;padding:0}.chat-sources a{display:inline-flex;color:var(--primary);text-decoration:none;align-items: center;gap:6px;font-size:13px;line-height:1.4}.chat-sources a:hover{text-decoration:underline}.gchart-bars{display:flex;flex-direction:column;gap:7px}.gchart-bar-row{display:grid;grid-template-columns:minmax(64px,34%)1fr auto;align-items: center;gap:8px}.gchart-bar-label{color:var(--ink-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.gchart-bar-track{background:var(--primary-soft);border-radius:var(--radius-full);overflow:hidden;height:10px}.gchart-bar-fill{border-radius:var(--radius-full);height:100%}.gchart-bar-value{color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px;font-weight:700}.gchart-unit{color:var(--ink-faint);margin-top:2px;font-size:11px}.gchart-pie{display:flex;flex-wrap:wrap;align-items: center;gap:14px}.gchart-legend{list-style:none;display:flex;flex-direction:column;flex:1;gap:5px;min-width:150px;margin:0;padding:0}.gchart-legend li{display:flex;align-items: center;gap:7px;font-size:12px}.gchart-legend-dot{border-radius:3px;flex:none;width:10px;height:10px}.gchart-legend-label{color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.gchart-legend-val{color:var(--ink-muted);white-space:nowrap;font-weight:600}.gtable-wrap{overflow:visible;width:100%;min-width:0}.gtable{border-collapse:collapse;width:100%;font-size:12.5px}.gtable th,.gtable td{text-align:left;border-bottom:1px solid var(--hairline);white-space:normal;overflow-wrap:break-word;word-break:normal;vertical-align:top;padding:6px 9px}.gtable th{color:var(--ink-muted);font-weight:700}.gtable td{color:var(--ink)}.gtable tr:last-child td{border-bottom:none}.gtd-long{display:flex;align-items: flex-start;gap:5px}.gtd-clamp{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;-webkit-box-orient:vertical;flex:1;min-width:0}.gtd-eye{display:inline-grid;color:var(--ink-faint,var(--ink-muted));pointer-events:none;flex:none;place-items: center;width:20px;height:20px}.gtd-pop{position:fixed;z-index:1000;overflow-y:auto;background:var(--surface,#fff);color:var(--ink);border:1px solid var(--tile-border);border-radius:var(--radius-md);box-shadow:var(--shadow-2);white-space:normal;overflow-wrap:break-word;max-height:280px;padding:9px 11px;font-size:12.5px;line-height:1.5}@media (max-width:899px){.chat-shell{height:calc(100dvh - 200px)}.bubble{font-size:13.5px}}.chat-layout{display:flex;gap:var(--space-5);align-items:stretch}.chat-layout .chat-shell{flex:auto;min-width:0}.chat-hist{display:flex;background:var(--tile);border:1px solid var(--hairline);border-radius:var(--radius-lg);overflow:hidden;flex-direction:column;flex:0 0 290px;width:290px;height:calc(100dvh - 130px);min-height:380px}.chat-hist-head{display:flex;justify-content:space-between;align-items: center;gap:var(--space-2);padding:var(--space-3)var(--space-4);border-bottom:1px solid var(--hairline)}.chat-hist-title{color:var(--ink);font-size:13px;font-weight:600}.chat-hist-new{display:inline-flex;color:var(--primary);background:var(--primary-soft);border-radius:var(--radius-full);align-items: center;gap:4px;padding:5px 10px;font-size:12px;font-weight:600}.chat-hist-new:hover{filter:brightness(.97)}.chat-hist-scroll{overflow-y:auto;display:flex;padding:var(--space-2);flex-direction:column;flex:auto;gap:2px;min-height:0}.chat-hist-empty{color:var(--ink-faint);padding:var(--space-3);font-size:12.5px}.chat-hist-sub{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint);padding:10px 8px 3px;font-size:10px;font-weight:700}.chat-hist-item{display:flex;border-radius:var(--radius-sm);color:var(--ink);justify-content:space-between;align-items: center;gap:6px;min-height:34px;padding:6px 8px;font-size:13px}.chat-hist-item:hover{background:var(--tile-hover,#0000000a)}.chat-hist-item.active{background:var(--primary-soft);color:var(--primary);font-weight:600}.chat-hist-item-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-hist-del{display:grid;border-radius:var(--radius-sm);color:var(--ink-faint);opacity:0;flex:none;place-items: center;width:22px;height:22px}.chat-hist-item:hover .chat-hist-del{opacity:1}.chat-hist-del:hover{background:var(--danger-soft,#dc26261f);color:var(--danger,#dc2626)}.chat-hist-toggle{display:none;position:fixed;z-index:40;background:var(--primary);color:var(--on-primary,#fff);box-shadow:var(--shadow-2);cursor:pointer;border:none;border-radius:0 12px 12px 0;align-items: center;gap:4px;padding:12px 8px;top:50%;left:0;transform:translateY(-50%)}.chat-hist-toggle-count{font-size:11px;font-weight:700}.chat-hist-drawer-overlay{position:fixed;z-index:60;display:flex;background:#07071a73;inset:0}.chat-hist-drawer{display:flex;background:var(--surface,#fff);border-right:1px solid var(--hairline);animation:.2s chat-hist-slide;flex-direction:column;width:min(320px,86%);height:100%;box-shadow:0 24px 60px #00000040}@keyframes chat-hist-slide{0%{transform:translate(-100%)}to{transform:translate(0)}}.chat-hist-drawer-head{display:flex;padding:var(--space-4)var(--space-4)var(--space-3);border-bottom:1px solid var(--hairline);justify-content:space-between;align-items: center}.chat-hist-close{display:grid;border-radius:var(--radius-sm);color:var(--ink-muted);cursor:pointer;place-items: center;width:32px;height:32px}.chat-hist-close:hover{background:var(--primary-soft);color:var(--primary)}@media (max-width:1024px){.chat-hist{display:none}.chat-hist-toggle{display:inline-flex}}:root{--primary:#093fb4;--primary-strong:#0735a0;--primary-focus:#0a47ce;--primary-soft:#093fb414;--primary-soft-2:#093fb424;--canvas:#fffcfb;--tile:#fff;--surface-pink:#ffd8d8;--surface-pink-soft:#ffd8d873;--surface-dark:#11131c;--level-merah:#ed3500;--level-kuning:#e8a200;--level-hijau:#1f9d6b;--level-merah-soft:#ed35001f;--level-kuning-soft:#e8a20026;--level-hijau-soft:#1f9d6b24;--ink:#1d1d1f;--ink-muted:#5f6068;--ink-faint:#93949c;--on-primary:#fffcfb;--on-dark:#fff;--hairline:#093fb41a;--tile-border:#093fb414;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--radius-sm:12px;--radius-md:16px;--radius-lg:22px;--radius-xl:28px;--radius-full:9999px;--shadow-1:0 1px 2px #093fb40a,0 8px 24px #093fb40d;--shadow-2:0 4px 12px #093fb414,0 16px 40px #093fb414;--gutter:20px;--page-pad:24px;--row:96px;--font-sans:"Inter",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;--focus-ring:0 0 0 3px #093fb459}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--canvas);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;margin:0;font-size:16px;line-height:1.5}html{overflow-x:hidden;max-width:100%}h1,h2,h3,h4{letter-spacing:-.02em;margin:0;font-weight:600;line-height:1.1}a{color:var(--primary);text-decoration:none}button{cursor:pointer;font-family:inherit}:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-sm)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--primary-soft-2);border-radius:var(--radius-full)}.bento{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:minmax(var(--row),auto);gap:var(--gutter);grid-auto-flow:row dense;container-type:inline-size;width:100%}.tile{position:relative;background:var(--tile);border-radius:var(--radius-lg);border:1px solid var(--tile-border);box-shadow:var(--shadow-1);overflow:hidden;display:flex;padding:var(--space-4);grid-column:span 6;grid-row:span 3;flex-direction:column;min-width:0}.tile>header{display:flex;justify-content:space-between;align-items: center;gap:var(--space-3);margin-bottom:var(--space-3);flex:none}.tile>.tile-body{display:flex;flex-direction:column;flex:auto;min-height:0}.tile>footer{margin-top:var(--space-3);flex:none}.t-kpi{grid-column:span 3;grid-row:span 1}.t-stat{grid-column:span 3;grid-row:span 2}.t-sm{grid-column:span 4;grid-row:span 2}.t-chart,.t-hero{grid-column:span 6;grid-row:span 3}.t-list{grid-column:span 4;grid-row:span 3}.t-wide{grid-column:span 8;grid-row:span 3}.t-feature{grid-column:span 6;grid-row:span 4}.t-showcase{grid-column:1/-1;grid-row:span 4}.t-banner{grid-column:1/-1;grid-row:span 1;min-height:140px}.t-narrow{grid-column:span 4;grid-row:span 3}.t-metric{grid-column:span 6;grid-row:span 2}.t-metric-wide{grid-column:1/-1;grid-row:span 2}.t-kpi-wide{grid-column:1/-1;grid-row:span 1}@container (width<=1023px){.bento{grid-template-columns:repeat(6,minmax(0,1fr));--row:112px}.t-kpi,.t-stat,.t-sm{grid-column:span 3}.t-chart,.t-hero,.t-list,.t-feature{grid-column:span 6}.t-wide{grid-column:span 4}.t-narrow{grid-column:span 2}.t-showcase,.t-banner{grid-column:1/-1}}@container (width<=639px){.bento{grid-template-columns:repeat(2,minmax(0,1fr));--gutter:14px;--row:124px;grid-auto-flow:row}.tile{grid-column:1/-1}.t-kpi{grid-column:span 1}}@container (width<=1023px){.t-metric{grid-column:span 3}}.skeleton{background:linear-gradient(100deg,var(--primary-soft)30%,var(--primary-soft-2)50%,var(--primary-soft)70%);animation:1.4s ease-in-out infinite shimmer;border-radius:var(--radius-sm);background-size:200% 100%}@keyframes shimmer{to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.skeleton{background:var(--primary-soft)}}.visually-hidden{position:absolute;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0}.pill-btn{display:inline-flex;border-radius:var(--radius-full);background:var(--primary);color:var(--on-primary);border:none;justify-content:center;align-items: center;gap:6px;padding:8px 18px;transition:transform .12s,background .18s;font-size:14px;font-weight:600}.pill-btn:active{transform:scale(.95)}.pill-btn.ghost{color:var(--primary);border:1px solid var(--primary);background:0 0}.export-btn{display:inline-flex;border-radius:var(--radius-full);background:var(--tile);color:var(--primary);border:1px solid var(--primary);white-space:nowrap;align-items: center;gap:7px;min-height:36px;padding:7px 14px;transition:background .16s,transform .12s,opacity .16s;font-size:13px;font-weight:600}.export-btn:hover{background:var(--primary-soft)}.export-btn:active{transform:scale(.96)}.export-btn:disabled{opacity:.6;cursor:default}.export-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.segmented{display:inline-flex;background:var(--primary-soft);border-radius:var(--radius-full);align-items: center;gap:2px;padding:3px}.segmented button{color:var(--ink-muted);border-radius:var(--radius-full);background:0 0;border:none;min-height:32px;padding:0 14px;transition:color .16s;font-size:13px;font-weight:600}.segmented button[aria-pressed=true]{background:var(--tile);color:var(--primary);box-shadow:var(--shadow-1)}.level-badge{display:inline-flex;border-radius:var(--radius-full);white-space:nowrap;align-items: center;gap:6px;padding:4px 10px;font-size:12px;font-weight:600}.level-dot{border-radius:50%;flex:none;width:8px;height:8px}.chip{display:inline-flex;border-radius:var(--radius-full);background:var(--primary-soft);color:var(--primary);align-items: center;gap:6px;padding:5px 12px;font-size:13px;font-weight:500}.metric-value{letter-spacing:-.03em;font-size:clamp(22px,3cqw,30px);font-weight:700;line-height:1.05}.metric-label{color:var(--ink-muted);font-size:13px;font-weight:500}.data-table{border-collapse:collapse;width:100%;font-size:13px}.data-table th{position:sticky;background:var(--tile);text-align:left;color:var(--ink-muted);border-bottom:1px solid var(--hairline);white-space:nowrap;z-index:1;padding:10px 12px;font-weight:600;top:0}.data-table td{border-bottom:1px solid var(--primary-soft);white-space:nowrap;padding:11px 12px}.data-table tbody tr:hover{background:var(--primary-soft)}.num{font-variant-numeric:tabular-nums;text-align:right}.app{min-height:100%}.rail{position:fixed;display:flex;padding:var(--space-5)var(--space-3);background:var(--tile);border-right:1px solid var(--hairline);overflow-y:auto;z-index:20;flex-direction:column;gap:2px;width:210px;inset:0 auto 0 0}.brand{display:flex;align-items: center;gap:9px;padding:0 8px 10px}.brand-mark{background:var(--primary);display:grid;color:#fff;border-radius:9px;flex:none;place-items: center;width:30px;height:30px}.brand-name{letter-spacing:-.02em;font-size:14px;font-weight:700;line-height:1.1}.brand-sub{color:var(--ink-faint);font-size:10.5px}.nav-group-label{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);padding:12px 10px 5px;font-size:10.5px;font-weight:600}.nav-hero{display:flex;border-radius:var(--radius-md);background:var(--primary);color:#fff;align-items: center;gap:10px;margin:2px 0 10px;padding:11px 12px;transition:transform .12s,box-shadow .16s;box-shadow:0 6px 18px #093fb447}.nav-hero:hover{box-shadow:0 8px 22px #093fb45c}.nav-hero:active{transform:scale(.98)}.nav-hero.active{outline:2px solid #ffffff8c;outline-offset:-2px}.nav-hero-avatar{border-radius:var(--radius-full);display:grid;background:#fff3;flex:none;place-items: center;width:32px;height:32px}.nav-hero-text{display:flex;flex-direction:column;min-width:0}.nav-hero-text strong{letter-spacing:-.01em;font-size:14px;font-weight:700}.nav-hero-text small{opacity:.85;font-size:11px}.nav-link{display:flex;border-radius:var(--radius-sm);color:var(--ink-muted);align-items: center;gap:10px;min-height:38px;padding:0 10px;transition:background .16s,color .16s;font-size:13.5px;font-weight:600}.nav-link:hover,.nav-link.active{background:var(--primary-soft);color:var(--primary)}.nav-link svg{width:18px;height:18px}.nav-link .nav-dot{border-radius:50%;flex:none;width:8px;height:8px}.nav-logo{object-fit:contain;display:block;flex:none;width:22px;height:22px}.unit-sheet-item .nav-logo{width:26px;height:26px}.nav-group-row{display:flex;justify-content:space-between;align-items: center}.nav-group-toggle{display:flex;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;flex:1;align-items: center;gap:5px;min-width:0}.nav-group-toggle svg{flex:none;transition:transform .15s}.nav-count{color:var(--ink-faint);margin-left:4px;font-size:9.5px;font-weight:700}.nav-newchat{display:grid;border-radius:var(--radius-sm);color:var(--ink-muted);place-items: center;width:24px;height:24px}.nav-newchat:hover{background:var(--primary-soft);color:var(--primary)}.chat-history{overflow-y:auto;gap:2px;max-height:32vh}.nav-empty{color:var(--ink-faint);padding:2px 10px 6px;font-size:11.5px}.nav-subgroup{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint);padding:8px 10px 3px;font-size:10px;font-weight:700}.nav-history-item{justify-content:space-between;min-height:32px;font-size:12.5px}.nav-history-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-history-del{display:grid;border-radius:var(--radius-sm);color:var(--ink-faint);opacity:0;flex:none;place-items: center;width:22px;height:22px}.nav-history-item:hover .nav-history-del{opacity:1}.nav-history-del:hover{background:var(--danger-soft,#dc26261f);color:var(--danger,#dc2626)}.rail-footer{color:var(--ink-faint);margin-top:auto;padding:12px;font-size:11px}.source-pill{display:inline-flex;border-radius:var(--radius-full);background:var(--primary-soft);color:var(--primary);align-items: center;gap:6px;padding:4px 10px;font-weight:600}.main{min-height:100vh;margin-left:210px}.topbar{position:sticky;z-index:10;display:flex;padding:14px var(--space-6);backdrop-filter:saturate(180%)blur(16px);border-bottom:1px solid var(--hairline);background:#fffcfbcc;justify-content:space-between;align-items: center;gap:16px;max-width:1320px;margin-inline-start:auto;margin-inline-end:auto;top:0}.topbar h1{font-size:20px}.topbar .crumb{color:var(--ink-faint);margin-bottom:2px;font-size:12px}.rail-user{border-top:1px solid var(--hairline,#093fb41f);display:flex;flex-direction:column;gap:8px;margin-top:auto;padding-top:12px}.rail-user-info{display:flex;align-items: center;gap:8px;min-width:0}.rail-user-avatar{display:grid;background:var(--primary);color:var(--on-primary,#fff);border-radius:50%;flex:none;place-items: center;width:28px;height:28px;font-size:13px;font-weight:700}.rail-user-meta{display:flex;flex-direction:column;min-width:0}.rail-user-name{color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:600}.rail-user-email{color:var(--ink-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.rail-logout{color:var(--ink-muted);border:1px solid var(--hairline,#093fb429);border-radius:var(--radius-full);cursor:pointer;align-self: flex-start;padding:5px 12px;font-size:12px;font-weight:600}.rail-logout:hover{border-color:var(--level-merah,#dc2626);color:var(--level-merah,#dc2626)}.unit-tabs{display:flex;border-bottom:1px solid var(--hairline,#093fb429);margin-bottom:var(--space-4);gap:6px}.unit-tab{color:var(--ink-muted);border-bottom:2px solid #0000;margin-bottom:-1px;padding:9px 16px;font-size:13.5px;font-weight:600}.unit-tab:hover{color:var(--ink)}.unit-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.content{padding:var(--space-6);container-type:inline-size;max-width:1320px;margin-inline-start:auto;margin-inline-end:auto}.tabbar{display:none}@media (max-width:899px){.rail{display:none}.main{margin-left:0;padding-bottom:76px}.topbar{padding:14px 16px}.topbar h1{font-size:19px}.content{padding:16px}.tabbar{position:fixed;display:flex;backdrop-filter:saturate(180%)blur(16px);border-top:1px solid var(--hairline);padding:6px 6px calc(6px + env(safe-area-inset-bottom));z-index:30;background:#fffcfbeb;justify-content:space-around;align-items:stretch;inset:auto 0 0}.tab-link{display:flex;color:var(--ink-faint);border-radius:var(--radius-sm);appearance:none;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items: center;gap:3px;min-height:52px;font-family:inherit;font-size:11px;font-weight:600}.tab-link.active,.tab-link.tab-hero{color:var(--primary)}.tab-link.tab-hero svg{background:var(--primary);color:#fff;border-radius:var(--radius-full);box-sizing:border-box;width:28px;height:28px;padding:5px}}.unit-sheet-overlay{position:fixed;z-index:40;display:flex;animation:.18s unit-sheet-fade;background:#11131c73;align-items: flex-end;inset:0}.unit-sheet{overflow:auto;background:var(--tile);border-radius:var(--radius-lg)var(--radius-lg)0 0;box-shadow:var(--shadow-2);padding:12px 12px calc(16px + env(safe-area-inset-bottom));margin-bottom:calc(64px + env(safe-area-inset-bottom));animation:.22s cubic-bezier(.22,1,.36,1) unit-sheet-up;width:100%;max-height:70vh}.unit-sheet-head{display:flex;color:var(--ink);justify-content:space-between;align-items: center;padding:6px 8px 12px;font-weight:700}.unit-sheet-close{display:inline-flex;background:var(--canvas);border-radius:var(--radius-full);color:var(--ink);border:none;justify-content:center;align-items: center;width:36px;height:36px}.unit-sheet-list{display:flex;flex-direction:column;gap:4px}.unit-sheet-item{display:flex;border-radius:var(--radius-md);color:var(--ink);text-align:left;background:0 0;border:none;align-items: center;gap:12px;width:100%;min-height:52px;padding:0 14px;font-size:15px;font-weight:600}.unit-sheet-item.current,.unit-sheet-item:hover{background:var(--primary-soft);color:var(--primary)}@keyframes unit-sheet-fade{0%{opacity:0}}@keyframes unit-sheet-up{0%{transform:translateY(100%)}}@media (prefers-reduced-motion:reduce){.unit-sheet-overlay,.unit-sheet{animation:none}}.section-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items: flex-end;gap:16px;margin:8px 2px 18px}.section-head h2{font-size:18px}.muted{color:var(--ink-muted)}.stack{display:flex;flex-direction:column}.row{display:flex;align-items: center}.tile-head-actions{display:flex;flex:none;align-items: center;gap:8px}.insight-btn{position:relative;display:inline-grid;border-radius:var(--radius-full);border:1px solid var(--hairline);background:var(--tile);color:var(--primary);cursor:pointer;flex:none;place-items: center;width:30px;height:30px;transition:transform .12s,border-color .16s,background .16s}.insight-btn:hover{border-color:var(--primary);background:var(--primary-soft)}.insight-btn:active{transform:scale(.92)}.insight-btn.floating{position:absolute;z-index:3;box-shadow:var(--shadow-1);background:#ffffffeb;border-color:#fff9;top:10px;right:10px}.insight-count{position:absolute;border-radius:var(--radius-full);background:var(--level-merah);color:#fff;display:grid;place-items: center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;line-height:1;top:-5px;right:-5px}.insight-backdrop{position:fixed;backdrop-filter:blur(2px);z-index:100;display:flex;background:#090c1c6b;justify-content:center;align-items: flex-end;padding:0;inset:0}.insight-sheet{background:var(--canvas);border-radius:var(--radius-xl)var(--radius-xl)0 0;padding:18px 18px calc(18px + env(safe-area-inset-bottom));animation:.22s cubic-bezier(.22,1,.36,1) sheet-up;overflow-y:auto;width:100%;max-width:460px;max-height:86dvh;box-shadow:0 -10px 40px #093fb42e}@keyframes sheet-up{0%{transform:translateY(16px);opacity:.6}}@media (min-width:640px){.insight-backdrop{align-items: center;padding:24px}.insight-sheet{border-radius:var(--radius-xl)}}.insight-head{display:flex;justify-content:space-between;align-items: flex-start;gap:12px;margin-bottom:14px}.insight-kicker{letter-spacing:.06em;text-transform:uppercase;color:var(--primary);font-size:11px;font-weight:700}.insight-title{margin-top:2px;font-size:17px}.insight-x{border-radius:var(--radius-full);background:var(--primary-soft);color:var(--ink-muted);display:grid;cursor:pointer;border:none;flex:none;place-items: center;width:36px;height:36px}.insight-ai{display:flex;text-align:left;border-radius:var(--radius-lg);background:var(--primary);color:#fff;cursor:pointer;border:none;align-items: center;gap:12px;width:100%;padding:14px 16px;transition:transform .12s}.insight-ai:active{transform:scale(.98)}.insight-ai-icon{border-radius:var(--radius-full);display:grid;background:#ffffff2e;flex:none;place-items: center;width:38px;height:38px}.insight-ai-text{display:flex;flex-direction:column}.insight-ai-text strong{font-size:15px}.insight-ai-text small{opacity:.85;font-size:12px}.insight-section-label{color:var(--ink-muted);margin:18px 0 8px;font-size:12px;font-weight:700}.insight-comments{display:flex;overflow-y:auto;flex-direction:column;gap:8px;max-height:220px}.insight-empty{color:var(--ink-faint);padding:6px 0;font-size:13px}.insight-comment{background:var(--primary-soft);border-radius:var(--radius-sm);padding:9px 12px}.insight-comment p{margin:0;font-size:14px;line-height:1.45}.insight-comment time{color:var(--ink-faint);font-size:11px}.insight-add{display:flex;align-items: flex-end;gap:8px;margin-top:10px}.insight-add textarea{border:1px solid var(--hairline);border-radius:var(--radius-sm);resize:none;background:var(--tile);color:var(--ink);outline:none;flex:1;padding:10px 12px;font-family:inherit;font-size:14px}.insight-add textarea:focus{border-color:var(--primary)}.insight-preview{position:relative;overflow:hidden;border:1px solid var(--hairline);background:var(--canvas);border-radius:10px;height:180px;margin-bottom:14px}.insight-preview-fade{position:absolute;background:linear-gradient(transparent,var(--canvas));pointer-events:none;z-index:1;height:64px;bottom:0;left:0;right:0}.comment-inbox-btn{position:relative;display:inline-grid;border-radius:var(--radius-full);background:var(--primary-soft);color:var(--primary);border:1px solid var(--hairline);cursor:pointer;flex-shrink:0;place-items: center;width:32px;height:32px;transition:background .15s}.topbar-title-row{display:flex;align-items: center;gap:10px}.comment-inbox-btn:hover{background:var(--primary);color:#fff}.comment-inbox-count{position:absolute;border-radius:var(--radius-full);color:#fff;display:grid;background:#dc2626;place-items: center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;top:-4px;right:-4px}.comment-inbox-backdrop{position:fixed;z-index:149;inset:0}.comment-inbox-panel{position:fixed;max-height:calc(100dvh - 72px - env(safe-area-inset-bottom));background:var(--canvas);border:1px solid var(--hairline);border-radius:var(--radius-xl);z-index:150;display:flex;overflow:hidden;animation:.18s cubic-bezier(.22,1,.36,1) sheet-up;flex-direction:column;width:min(320px,100vw - 24px);top:56px;right:12px;box-shadow:0 8px 32px #090c1c24}.comment-inbox-head{display:flex;border-bottom:1px solid var(--hairline);justify-content:space-between;align-items: center;padding:14px 16px 10px}.comment-inbox-title{font-size:14px;font-weight:700}.comment-inbox-empty{color:var(--ink-faint);text-align:center;padding:24px 16px;font-size:13px}.comment-inbox-list{overflow-y:auto;flex:1}.comment-inbox-group{border-bottom:1px solid var(--hairline)}.comment-inbox-bu{display:flex;color:var(--primary);text-transform:uppercase;letter-spacing:.05em;justify-content:space-between;align-items: center;padding:10px 16px 6px;font-size:12px;font-weight:700}.comment-inbox-bu-count{background:var(--primary-soft);color:var(--primary);border-radius:var(--radius-full);padding:1px 7px;font-size:11px}.comment-inbox-item{text-align:left;cursor:pointer;display:block;background:0 0;border:none;width:100%;padding:8px 16px 10px;transition:background .12s}.comment-inbox-item:hover{background:var(--primary-soft)}.comment-inbox-card{color:var(--ink);margin-bottom:2px;font-size:12px;font-weight:600}.comment-inbox-text{color:var(--ink-muted);margin-bottom:3px;font-size:12px;line-height:1.4}.comment-inbox-meta{color:var(--ink-faint);font-size:11px}.comment-mode-badge{position:absolute;z-index:6;display:flex;color:#fff;pointer-events:none;white-space:nowrap;backdrop-filter:blur(4px);background:#7c3aede0;border-radius:20px;align-items: center;gap:4px;padding:4px 9px 4px 7px;font-size:11px;font-weight:600;top:8px;right:8px;box-shadow:0 2px 8px #7c3aed4d}.comment-mode-badge .cmb-sep{opacity:.6}.comment-mode-badge .cmb-time{opacity:.85;font-weight:400}.comment-live-badge{pointer-events:auto;cursor:pointer;transition:background .15s,transform .15s}.comment-live-badge:hover{background:#7c3aed;transform:translateY(-1px)}.comment-fab{position:fixed;border-radius:var(--radius-full);background:var(--primary);color:#fff;cursor:pointer;display:grid;z-index:90;border:none;place-items: center;width:50px;height:50px;transition:transform .15s,background .15s,box-shadow .15s;bottom:28px;right:28px;box-shadow:0 4px 16px #093fb459}.comment-fab:hover{transform:scale(1.08);box-shadow:0 6px 20px #093fb473}.comment-fab.active{background:#7c3aed;box-shadow:0 4px 16px #7c3aed66}.comment-mode-banner{position:fixed;color:#fff;border-radius:var(--radius-full);z-index:91;pointer-events:none;white-space:nowrap;animation:.2s cubic-bezier(.22,1,.36,1) banner-in;background:#7c3aed;padding:7px 18px;font-size:13px;font-weight:500;top:18px;left:50%;transform:translate(-50%);box-shadow:0 4px 14px #7c3aed4d}@keyframes banner-in{0%{opacity:0;transform:translate(-50%)translateY(-8px)}}.comment-mode .insight-btn{position:absolute;border-radius:inherit;cursor:crosshair;z-index:5;background:0 0;border:2px dashed #0000;width:100%;height:100%;transition:background .15s,border-color .15s;inset:0}.comment-mode .insight-btn:hover{background:#7c3aed12;border-color:#7c3aed73}.comment-mode .insight-btn svg{display:none}.comment-mode .insight-count{position:absolute;font-size:11px;top:10px;right:10px}.comment-mode [class*=tile],.comment-mode [class*=card],.comment-mode [class*=bento]{position:relative}.comment-mode [data-comment-key],.comment-mode .fin-chart-box,.comment-mode .fin-stat{transition:outline .12s,box-shadow .12s;cursor:crosshair!important}.comment-mode [data-comment-key]:hover,.comment-mode .fin-chart-box:hover,.comment-mode .fin-stat:hover{outline:2px dashed #7c3aed80;outline-offset:2px;box-shadow:0 0 0 4px #7c3aed0f}@media (max-width:899px){.comment-fab{bottom:calc(76px + env(safe-area-inset-bottom) + 10px);width:44px;height:44px;right:16px}.comment-inbox-btn{width:30px;height:30px}.comment-inbox-panel{max-height:calc(100dvh - 140px - env(safe-area-inset-bottom));width:auto;top:52px;left:8px;right:8px}.comment-mode-banner{white-space:normal;text-align:center;max-width:calc(100vw - 32px);padding:6px 14px;font-size:11px;top:10px}.comment-mode-badge .cmb-sep,.comment-mode-badge .cmb-time{display:none}.insight-preview{height:110px}.insight-sheet{max-height:80dvh}}.fin-card{background:var(--tile);border:1px solid var(--tile-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);padding:var(--space-4)}.lamsel-colhead{display:grid;grid-template-columns:minmax(0,26%)minmax(0,1fr)130px 140px minmax(0,170px);gap:var(--space-4);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint);padding:0 16px 8px;font-size:12px;font-weight:700}.lamsel-list{display:flex;gap:var(--space-2);margin-top:var(--space-3);flex-direction:column}.lamsel-row{display:grid;grid-template-columns:minmax(0,26%)minmax(0,1fr)130px 140px minmax(0,170px);gap:var(--space-4);border:1px solid var(--tile-border);border-radius:var(--radius-md);background:var(--tile);align-items: start;padding:14px 16px;transition:border-color .15s,background .15s}.lamsel-row:hover{border-color:var(--primary-soft-2);background:var(--tile-solid)}.lamsel-prog{display:flex;align-items:baseline;gap:10px;min-width:0}.lamsel-num{display:inline-flex;border-radius:var(--radius-full);background:var(--primary-soft);color:var(--primary);flex:none;justify-content:center;align-items: center;min-width:24px;height:24px;padding:0 6px;font-size:12px;font-weight:700}.lamsel-prog-name{color:var(--ink);font-size:14px;font-weight:600;line-height:1.45}.lamsel-ket{color:var(--ink-muted);font-size:14px;line-height:1.6}.lamsel-ket ul{display:flex;flex-direction:column;gap:4px;margin:0;padding-left:1.1em}.lamsel-ket li::marker{color:var(--primary)}.lamsel-empty{color:var(--ink-faint)}@media (max-width:640px){.lamsel-row{grid-template-columns:1fr;gap:var(--space-2)}.lamsel-colhead{display:none}.lamsel-ket{padding-left:34px}}.fin-head{display:flex;justify-content:space-between;align-items: center;gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap}.fin-head h2{letter-spacing:-.02em;font-size:clamp(15px,2vw,18px);font-weight:700}.fin-head .fin-period{color:var(--ink-faint);font-size:12px;font-weight:600}.fin-select{border:1px solid var(--tile-border);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:999px;min-height:40px;padding:8px 14px;font-size:13px;font-weight:600}.fin-select:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.fin-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);margin-bottom:var(--space-4)}@media (max-width:560px){.fin-stats{grid-template-columns:1fr}}.fin-stat{border-radius:var(--radius-md);background:var(--surface);border:1px solid #093fb429;padding:14px 16px;box-shadow:0 1px 2px #093fb40d}.fin-stat-label{color:var(--ink-muted);font-size:12px;font-weight:600}.fin-stat-value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-top:4px;font-size:clamp(18px,2.6vw,24px);font-weight:700}.fin-charts{display:grid;grid-template-columns:1.3fr 1fr;gap:var(--space-4);align-items:stretch}@media (max-width:720px){.fin-charts{grid-template-columns:1fr}}.fin-chart-box{border-radius:var(--radius-md);background:var(--surface);display:flex;border:1px solid #093fb429;flex-direction:column;padding:12px 14px;box-shadow:0 1px 2px #093fb40d}.fin-chart-title{margin-bottom:6px;font-size:13px;font-weight:600}.fin-donut{display:flex;flex-wrap:wrap;flex:auto;justify-content:center;align-items: center;gap:18px}.fin-donut-chart{position:relative;display:grid;flex:none;place-items: center}.fin-donut-center{position:absolute;display:flex;pointer-events:none;text-align:center;flex-direction:column;justify-content:center;align-items: center;padding:0 8px;inset:0}.fin-donut-total{color:var(--ink);font-variant-numeric:tabular-nums;font-size:14px;font-weight:800;line-height:1.1}.fin-donut-sub{letter-spacing:.6px;text-transform:uppercase;color:var(--ink-faint);margin-top:1px;font-size:9px}.fin-donut-more{display:inline-flex;color:var(--primary);background:var(--primary-soft);border-radius:var(--radius-full);cursor:pointer;border:1px solid #0000;align-items: center;gap:6px;padding:7px 14px;font-size:12.5px;font-weight:600}.fin-donut-more:hover{border-color:var(--primary)}.donut-overlay{position:fixed;z-index:70;display:grid;padding:var(--space-5);background:#07071a73;place-items: center;inset:0}.donut-modal{display:flex;background:var(--surface,#fff);border:1px solid var(--hairline,#093fb429);border-radius:var(--radius-lg);overflow:hidden;flex-direction:column;width:min(460px,100%);max-height:min(80vh,680px);box-shadow:0 24px 60px #00000040}.donut-modal-head{display:flex;padding:var(--space-4)var(--space-4)var(--space-3);color:var(--ink);border-bottom:1px solid var(--hairline,#093fb429);justify-content:space-between;align-items: center;font-weight:700}.donut-modal-close{display:grid;border-radius:var(--radius-sm);color:var(--ink-muted);cursor:pointer;place-items: center;width:30px;height:30px}.donut-modal-close:hover{background:var(--primary-soft);color:var(--primary)}.donut-modal-body{display:flex;padding:var(--space-4);overflow:hidden;flex-direction:column;flex:auto;align-items: center;gap:16px;min-height:0}.donut-modal-body .fin-donut-chart{flex:none}.donut-modal-body .fin-legend{overflow-y:auto;flex:auto;width:100%;min-height:0;padding-right:4px}.fin-legend{list-style:none;display:flex;flex-direction:column;flex:1;gap:6px;min-width:140px;margin:0;padding:0}.fin-legend li{display:flex;align-items: center;gap:8px;font-size:12px}.fin-legend-dot{border-radius:3px;flex:none;width:10px;height:10px}.fin-legend-label{color:var(--ink-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.fin-legend-pct{font-variant-numeric:tabular-nums;font-weight:600}.fin-toggle{margin-top:var(--space-4);color:var(--primary);cursor:pointer;display:inline-flex;background:0 0;border:none;align-items: center;gap:6px;min-height:44px;padding:8px 0;font-size:13px;font-weight:600}.fin-filter{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.fin-filter-btn{border:1px solid var(--tile-border);background:var(--surface,#fff);color:var(--ink-muted);cursor:pointer;border-radius:999px;min-height:32px;padding:5px 12px;font-size:12px;font-weight:600}.fin-filter-btn:hover{border-color:var(--primary);color:var(--primary)}.fin-filter-btn.is-active{background:var(--primary);border-color:var(--primary);color:#fff}.fin-table-wrap{overflow-x:auto;margin-top:10px}.fin-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:13px}.fin-table th,.fin-table td{text-align:right;white-space:nowrap;padding:7px 10px}.fin-table th:first-child,.fin-table td:first-child{text-align:left}.fin-table thead th{border-bottom:1px solid var(--tile-border);color:var(--ink-muted);font-weight:600}.fin-row-section td{letter-spacing:.04em;color:var(--ink-faint);text-transform:uppercase;padding-top:12px;font-size:11px;font-weight:700}.fin-row-item td:first-child{color:var(--ink-muted);padding-left:22px}.fin-row-subtotal td{border-top:1px solid var(--tile-border);font-weight:600}.fin-row-profit td{border-top:1.5px solid var(--ink-faint);font-weight:700}.fin-neg{color:var(--level-merah)}.fin-empty{text-align:center;color:var(--ink-muted);padding:32px 12px;font-size:14px}.lamsel-cell{display:flex;color:var(--ink-muted);flex-direction:column;gap:6px;min-width:0;font-size:14px}.lamsel-cell-label{display:none;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint);font-size:11px;font-weight:700}.lamsel-money{font-variant-numeric:tabular-nums;color:var(--ink)}.lamsel-status{display:inline-flex;border-radius:var(--radius-full);white-space:nowrap;align-self: flex-start;align-items: center;gap:6px;padding:4px 10px;font-size:12px;font-weight:600}.lamsel-status-dot{border-radius:var(--radius-full);background:currentColor;width:7px;height:7px}.lamsel-status.is-belum{background:var(--level-merah-soft);color:var(--level-merah)}.lamsel-status.is-berjalan{background:var(--level-kuning-soft);color:var(--level-kuning)}.lamsel-status.is-selesai{background:var(--level-hijau-soft);color:var(--level-hijau)}.lamsel-docs{display:flex;flex-direction:column;gap:6px;min-width:0}.lamsel-doc-chip{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1px solid var(--tile-border);border-radius:var(--radius-full);background:var(--primary-soft);color:var(--primary);text-align:left;cursor:pointer;max-width:100%;padding:5px 10px;transition:background .15s;font-size:12px;font-weight:600}.lamsel-doc-chip:hover{background:var(--primary-soft-2)}.lamsel-doc-chip:disabled{opacity:.6;cursor:progress}.lamsel-budget-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3);margin-top:var(--space-3)}.lamsel-budget-card{display:flex;border:1px solid var(--tile-border);border-radius:var(--radius-md);background:var(--tile);flex-direction:column;gap:4px;padding:14px 16px}.lamsel-budget-card-label{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint);font-size:12px;font-weight:700}.lamsel-budget-card-value{color:var(--ink);font-variant-numeric:tabular-nums;font-size:20px}.lamsel-budget-head,.lamsel-budget-row{grid-template-columns:minmax(0,1fr)140px 140px 140px minmax(0,180px)}.lamsel-serapan{display:flex;align-items: center;gap:8px}.lamsel-serapan-track{border-radius:var(--radius-full);background:var(--primary-soft);overflow:hidden;flex:1;height:6px}.lamsel-serapan-fill{border-radius:var(--radius-full);height:100%}.lamsel-serapan-fill.is-hijau{background:var(--level-hijau)}.lamsel-serapan-fill.is-kuning{background:var(--level-kuning)}.lamsel-serapan-fill.is-merah{background:var(--level-merah)}.lamsel-serapan-num{font-variant-numeric:tabular-nums;color:var(--ink);font-size:13px}@media (max-width:1100px){.lamsel-colhead{display:none}.lamsel-row,.lamsel-budget-row{grid-template-columns:1fr 1fr;gap:var(--space-3)}.lamsel-prog,.lamsel-ket{grid-column:1/-1}.lamsel-cell-label{display:block}}@media (max-width:640px){.lamsel-row,.lamsel-budget-row{grid-template-columns:1fr}.lamsel-budget-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.lamsel-ket{padding-left:0}}.ukp-export-bar{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}.ukp-analytics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3,12px)}@media (max-width:760px){.ukp-analytics-grid{grid-template-columns:1fr}}.ukp-bar-track{background:var(--primary-soft,#eef2fb);overflow:hidden;border-radius:999px;width:100%;height:10px}.ukp-bar-fill{border-radius:999px;height:100%;transition:width .22s}.ukp-legend{display:flex;color:var(--ink-muted,#6b7280);flex-wrap:wrap;gap:10px 14px;margin-top:10px;font-size:12px}.ukp-legend.ukp-legend-col{flex-direction:column;gap:6px}.ukp-legend span{display:inline-flex;align-items: center;gap:6px}.ukp-legend i{display:inline-block;border-radius:3px;width:10px;height:10px}.ukp-donut{position:relative;border-radius:50%;flex:none;width:112px;height:112px}.ukp-donut:after{content:"";position:absolute;background:var(--surface,#fff);border-radius:50%;inset:27%}@media print{.rail,.tabbar,.topbar,.unit-tabs,.ukp-export-bar{display:none!important}.app{display:block!important}.main{margin:0!important;padding:0!important}body{background:#fff!important}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.fin-chart-box,.fin-card,.fin-stat{break-inside:avoid;box-shadow:none!important}.ukp-analytics-grid{grid-template-columns:repeat(2,1fr)!important}}
