:root{color-scheme:light;font-family:Inter,Segoe UI,system-ui,sans-serif;font-size:14px;line-height:1.35;color:#1a2738;background:#edf2f8;--theme-accent: #0a7ea4;--theme-muted: #757575}*{box-sizing:border-box}html,body,#root{margin:0;width:100%;height:100%}button,input,select,textarea{font:inherit}input,select,textarea,button{border-radius:9px;border:1px solid #d2dceb;background:#fff;color:#1a2738;padding:8px 10px}button{cursor:pointer}textarea{resize:vertical}input:focus,select:focus,textarea:focus,button:focus{outline:2px solid #9fd9f8;outline-offset:1px}.app-shell{height:100dvh;min-height:100dvh;display:grid;grid-template-columns:clamp(3.4rem,4.45vw,4.9rem) clamp(13.5rem,18vw,18.5rem) minmax(0,1fr);background:#eef2f6;overflow:hidden}.workspace-app-shell.case-inspector-collapsed{grid-template-columns:clamp(3.4rem,4.45vw,4.9rem) 18px minmax(0,1fr)}.icon-rail{border-right:1px solid #e0e4e9;background:#fafafa;padding:clamp(.32rem,.6dvh,.8rem) clamp(.28rem,.55vw,.65rem) clamp(.36rem,.75dvh,.9rem);display:flex;flex-direction:column;gap:clamp(.18rem,.38dvh,.55rem);height:100%;min-height:0;overflow:hidden}.rail-brand{width:clamp(2.35rem,4.4dvh,3.25rem);height:clamp(2.35rem,4.4dvh,3.25rem);margin:0 auto clamp(.18rem,.4dvh,.48rem);border-radius:clamp(.55rem,.9vw,.8rem);overflow:hidden;border:0;padding:0;display:block;text-decoration:none}.rail-brand.clickable{cursor:pointer}.rail-brand.clickable:hover{outline:1px solid rgba(10,126,164,.28)}.rail-brand img{width:100%;height:100%;object-fit:cover;display:block}.rail-divider{width:calc(100% - clamp(1.1rem,1.5vw,1.6rem));height:1px;margin:clamp(.12rem,.26dvh,.24rem) auto 0;background:#d7d7d7}.rail-item{border:0;background:transparent;border-radius:clamp(.5rem,.85vw,.75rem);width:100%;display:grid;gap:clamp(.18rem,.32dvh,.34rem);justify-items:center;align-content:center;color:var(--theme-muted);padding:clamp(.28rem,.5dvh,.55rem) clamp(.14rem,.26vw,.28rem);min-height:clamp(3.1rem,7.1dvh,4.7rem);font-size:clamp(.56rem,.95dvh,.8rem);font-weight:600;line-height:1.15;text-decoration:none}.rail-item>span:last-child{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rail-icon{width:clamp(2.2rem,4.9dvh,3.2rem);height:clamp(2.2rem,4.9dvh,3.2rem);border-radius:clamp(.5rem,.82vw,.74rem);border:1px solid transparent;background:transparent;display:grid;place-content:center;color:var(--theme-muted)}.rail-icon svg{width:clamp(1.18rem,2.7dvh,1.8rem);height:clamp(1.18rem,2.7dvh,1.8rem);stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.rail-item.active{color:var(--theme-accent)}.rail-item.active .rail-icon{border-color:transparent;background:#0a7ea433;color:var(--theme-accent)}.rail-footer{margin-top:auto;display:grid;gap:clamp(.14rem,.24dvh,.28rem);padding-top:clamp(.16rem,.26dvh,.24rem)}.left-sidebar{border-right:1px solid #e0e4e9;background:#fafafa;padding:clamp(.45rem,.7vw,.8rem);display:flex;flex-direction:column;height:100%;min-height:0;overflow:visible;position:relative}.left-sidebar.collapsed{padding:0;border-right:0;background:#fafafa;overflow:visible}.case-inspector-content{display:flex;flex-direction:column;min-height:0;height:100%;overflow:hidden}.case-inspector-toggle{position:absolute;top:50%;right:-14px;transform:translateY(-50%);width:30px;height:30px;border-radius:999px;border:1px solid #d7e2ea;background:linear-gradient(180deg,#f7fbff,#eef5fb);color:#5a6d7d;padding:0;display:grid;place-items:center;box-shadow:0 6px 16px #0d223414;z-index:6}.case-inspector-toggle:hover{background:#edf5fb;color:#113347}.case-inspector-toggle-chevron{display:inline-block;font-size:18px;line-height:1;transform:translateY(-1px)}.case-inspector-toggle-chevron.collapsed{transform:translateY(-1px)}.case-context-nav{flex-shrink:0;display:grid;gap:10px}.case-back-link{display:inline-flex;align-items:center;gap:8px;width:fit-content;color:#486174;text-decoration:none;font-size:12px;font-weight:700}.case-back-link:hover{color:var(--theme-accent)}.case-view-switcher{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:4px;border:1px solid #d7e2ea;border-radius:12px;background:#f1f5f8}.case-view-tab{border:0;min-height:34px;background:transparent;color:#5a6d7d;font-size:13px;font-weight:700;box-shadow:none}.case-view-tab.active{background:#fff;color:#113347;box-shadow:0 1px 2px #0e1e2f14}.case-view-tab:hover:not(.active){background:#ffffff8c}.sidebar-divider{width:100%;height:1px;min-height:1px;flex-shrink:0;margin:10px 0;background:#d7d7d7}.case-meta{flex-shrink:0;margin-bottom:0}.case-meta h1{margin:0;font-size:16px;line-height:1.04;letter-spacing:-.01em;cursor:text}.case-title-input{width:100%;margin:0;font-size:16px;font-weight:700;line-height:1.04;letter-spacing:-.01em;padding:4px 8px}.case-meta p{margin:3px 0 0;font-size:12px;color:var(--theme-muted)}.panel-section{flex-shrink:0;background:transparent;border:0;border-radius:0;padding:0;margin-bottom:0}.quick-actions-panel{flex:1;flex-shrink:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.panel-section h2{flex-shrink:0;margin:0 0 8px;font-size:clamp(.68rem,.68vw,.78rem);text-transform:none;letter-spacing:.01em;color:var(--theme-muted)}.static-list{display:grid;gap:4px}.sidebar-row{border:0;background:transparent;color:#363636;display:flex;align-items:center;gap:clamp(.32rem,.5vw,.55rem);text-align:left;width:100%;padding:clamp(.22rem,.35vw,.35rem) clamp(.14rem,.2vw,.2rem);font-size:clamp(.8rem,.82vw,.92rem);font-weight:600;border-radius:8px}.sidebar-row:hover{background:#ebeff3}.sidebar-row-icon{width:clamp(.9rem,1vw,1.05rem);height:clamp(.9rem,1vw,1.05rem);color:var(--theme-muted);display:grid;place-items:center}.sidebar-row-icon svg{width:clamp(.8rem,.9vw,.95rem);height:clamp(.8rem,.9vw,.95rem);stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.quick-head-actions{flex-shrink:0;display:flex;gap:clamp(.22rem,.35vw,.35rem);margin-bottom:clamp(.28rem,.45vw,.45rem)}.quick-head-actions button{width:clamp(1.5rem,1.65vw,1.8rem);height:clamp(1.5rem,1.65vw,1.8rem);display:grid;place-items:center;border-radius:8px;padding:0;color:var(--theme-muted);background:#fff}.quick-head-actions button svg{width:clamp(1rem,1.2vw,1.3rem);height:clamp(1rem,1.2vw,1.3rem);stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.quick-head-actions button:hover:not(:disabled){color:var(--theme-accent);border-color:#b8d4dd;background:#edf5f8}.quick-secondary-actions{flex-shrink:0;display:flex;gap:clamp(.22rem,.35vw,.35rem);margin-bottom:clamp(.34rem,.52vw,.52rem)}.quick-secondary-button{flex:1;min-height:clamp(1.55rem,1.75vw,1.9rem);padding:0 clamp(.45rem,.65vw,.65rem);border-radius:8px;border:1px solid #cedbe4;background:#fff;color:#355266;font-size:clamp(.62rem,.66vw,.74rem);font-weight:700;letter-spacing:.01em;white-space:nowrap}.quick-secondary-button:hover{border-color:#aac3d0;background:#edf4f8}.quick-active-users{flex-shrink:0;display:grid;gap:clamp(.22rem,.35vw,.35rem);margin-top:clamp(.28rem,.45vw,.45rem);margin-bottom:clamp(.35rem,.55vw,.55rem);padding:clamp(.35rem,.55vw,.55rem) 0 clamp(.08rem,.15vw,.15rem);border-top:1px solid #d8e3e8}.quick-active-users-header{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:clamp(.62rem,.62vw,.72rem);font-weight:700;color:#5c6f7d;text-transform:uppercase;letter-spacing:.04em}.quick-active-users-list{display:grid;gap:clamp(.18rem,.28vw,.28rem)}.quick-active-user{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:clamp(.24rem,.4vw,.4rem);padding:clamp(.2rem,.3vw,.3rem) clamp(.24rem,.4vw,.4rem);border-radius:8px;background:#f6fbfd;border:1px solid #d8e9ef}.quick-active-dot{width:clamp(.34rem,.5vw,.5rem);height:clamp(.34rem,.5vw,.5rem);border-radius:999px;background:#0a7ea4;box-shadow:0 0 0 3px #0a7ea424}.quick-active-user-copy{min-width:0;display:grid;gap:1px}.quick-active-user-copy strong{font-size:clamp(.68rem,.68vw,.78rem);color:#244257}.quick-active-user-copy span{min-width:0;font-size:clamp(.62rem,.62vw,.72rem);color:#6e8190;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quick-active-empty{margin:0;font-size:11px;color:#6e8190}.quick-group{margin-bottom:clamp(.24rem,.4vw,.4rem)}.quick-groups{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;display:grid;align-content:start;gap:clamp(.08rem,.12vw,.12rem);padding-right:6px;scrollbar-width:thin;scrollbar-color:rgba(10,126,164,.8) transparent}.quick-groups::-webkit-scrollbar{width:4px}.quick-groups::-webkit-scrollbar-track{background:transparent}.quick-groups::-webkit-scrollbar-thumb{background:#0a7ea4cc;border-radius:999px}.quick-groups::-webkit-scrollbar-thumb:hover{background:#0a7ea4}.quick-group-title{width:100%;border:0;background:transparent;padding:clamp(.08rem,.12vw,.12rem) 0;text-align:left;cursor:pointer;color:#3f4c59;font-size:clamp(.68rem,.68vw,.78rem);font-weight:700;margin-bottom:clamp(.12rem,.22vw,.22rem);display:flex;align-items:center;gap:clamp(.24rem,.4vw,.4rem)}.quick-group-title:hover{color:#2f4458}.quick-group-title:focus-visible{outline:2px solid #b8d4dd;outline-offset:2px;border-radius:5px}.quick-group-icon{width:clamp(1rem,1.2vw,1.3rem);height:clamp(1rem,1.2vw,1.3rem);color:var(--theme-muted);display:grid;place-items:center}.quick-group-icon svg{width:clamp(1rem,1.2vw,1.3rem);height:clamp(1rem,1.2vw,1.3rem);stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.quick-group-chevron{margin-left:auto;color:var(--theme-muted);transition:transform .14s ease}.quick-group-chevron.expanded{transform:rotate(90deg)}.quick-group-items{display:grid}.quick-item{border:0;width:100%;text-align:left;border-radius:clamp(.28rem,.4vw,.4rem);background:transparent;color:#4b4b4b;padding:clamp(.12rem,.22vw,.22rem) clamp(.22rem,.35vw,.35rem);font-size:clamp(.68rem,.68vw,.78rem)}.quick-item.active,.quick-item:hover{background:#e9f2f5;color:var(--theme-accent)}.notice-text{flex-shrink:0;min-height:20px;margin:2px;font-size:12px;color:#3f6f2f}.canvas-main{min-width:0;min-height:0;display:flex;height:100%;padding:0;overflow:hidden;transition:padding-right .2s ease}.graph-canvas{position:relative;flex:1 1 auto;min-height:0;height:auto;overflow:hidden;border-radius:0;border:1px solid #d7dfec;background:#fbfcff;background-image:radial-gradient(#dbe0e8 1.15px,transparent 1.15px);background-size:19.602px 19.602px;-webkit-user-select:none;user-select:none;touch-action:none;overscroll-behavior:contain}.graph-canvas.drag-mode{cursor:default}.graph-canvas.edit-mode{cursor:crosshair}.edge-layer{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:2}.edge-label-layer{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:20}.edge-line{stroke:#1a9cd2;stroke-width:2;pointer-events:none}.edge-preview{stroke:#1aa7dd;stroke-width:2;stroke-dasharray:7 5;pointer-events:none}.edge-label{fill:#1a2738;font-size:11px;font-weight:400;opacity:0;transition:opacity .12s ease;pointer-events:none}.edge-label-key{fill:#0a7ea4}.edge-label-value{fill:#1a2738;font-weight:400}.edge-label-bg{fill:#fff;opacity:0;transition:opacity .12s ease;pointer-events:none;filter:drop-shadow(0 0 6px rgba(10,23,40,.3))}.edge-hit-line{stroke:transparent;stroke-width:16;pointer-events:stroke;cursor:pointer}.edge-group.ai-highlighted .edge-line{stroke:#2563eb;stroke-width:3;stroke-opacity:1!important;filter:drop-shadow(0 0 10px rgba(37,99,235,.5))}.selection-rect{position:absolute;border:1px solid var(--theme-accent);background:#0a7ea429;border-radius:4px;pointer-events:none;z-index:13}.remote-case-cursor{position:absolute;z-index:18;display:flex;align-items:center;gap:8px;pointer-events:none;transform:translate(8px,8px)}.remote-case-cursor-dot{width:12px;height:12px;border-radius:999px;background:#0a7ea4;border:2px solid #ffffff;box-shadow:0 0 0 2px #0a7ea42e}.remote-case-cursor-label{display:inline-flex;align-items:center;min-height:24px;border-radius:999px;background:#0a7ea4eb;color:#fff;padding:4px 10px;font-size:11px;font-weight:700;letter-spacing:.01em;box-shadow:0 6px 18px #0a374c2e}.graph-node{--node-scale: 1;position:absolute;z-index:12;transform-origin:top left;border-radius:calc(18px * var(--node-scale));border:1px solid #cfd9e7;background:#fff;box-shadow:0 0 4px #18304c1a;text-align:left;display:grid;gap:calc(5px * var(--node-scale));padding:calc(10px * var(--node-scale))}.graph-node-main{display:grid;gap:calc(5px * var(--node-scale));min-width:0}.graph-node.with-photo-preview{grid-template-columns:minmax(0,1fr) calc(86px * var(--node-scale));align-items:start;column-gap:calc(9px * var(--node-scale))}.graph-node.with-location-preview{grid-template-columns:minmax(0,1fr) calc(96px * var(--node-scale));align-items:start;column-gap:calc(9px * var(--node-scale))}.graph-node-photo{justify-self:end;align-self:center;width:100%;max-height:calc(116px * var(--node-scale));object-fit:cover;border-radius:calc(18px * var(--node-scale));border:1px solid #d8e3f0;background:#f2f6fb}.graph-node.with-video-preview{padding-bottom:calc(8px * var(--node-scale))}.graph-node-video-thumb{position:relative;width:100%;border-radius:calc(14px * var(--node-scale));overflow:hidden;background:#0a1520;line-height:0}.graph-node-video-thumb .graph-node-photo{justify-self:unset;align-self:unset;display:block;width:100%;max-height:calc(148px * var(--node-scale));border-radius:0;border:none;background:#0a1520;opacity:.92}.graph-node-video-play{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#0000000a,#00000070)}.graph-node-video-play svg{width:calc(18px * var(--node-scale));height:calc(18px * var(--node-scale));color:#fff;filter:drop-shadow(0 2px 4px rgba(0,0,0,.6));background:#ffffff2e;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:999px;padding:calc(6px * var(--node-scale));box-sizing:content-box;border:1px solid rgba(255,255,255,.3)}.graph-node-location-wrap{display:flex;align-items:center;align-self:center;position:relative;justify-self:end;width:100%}.graph-node-location{width:100%;aspect-ratio:1 / 1;border-radius:calc(18px * var(--node-scale));border:1px solid #d8e3f0;overflow:hidden;clip-path:inset(0 round calc(18px * var(--node-scale)));background:#eef5fb}.graph-node-location iframe,.graph-node-location .location-preview-svg,.graph-node-location .embedded-location-map-activator{border-radius:calc(18px * var(--node-scale))!important;clip-path:inset(0 round calc(18px * var(--node-scale)))}.graph-node-location-radius{position:absolute;right:calc(4px * var(--node-scale));bottom:calc(4px * var(--node-scale));border-radius:999px;background:#113e61d1;color:#fff;font-size:calc(9px * var(--node-scale));font-weight:700;line-height:1;padding:calc(4px * var(--node-scale)) calc(6px * var(--node-scale))}.graph-node h3{margin:0;font-size:calc(25.5px * var(--node-scale));letter-spacing:-.03em;line-height:.9}.graph-node p{margin:0;font-size:calc(13px * var(--node-scale));color:#4f5f77}.graph-node small{margin:0;font-size:calc(11px * var(--node-scale));color:#667b94}.graph-node.selected{border-color:#45b5e5;box-shadow:0 0 4px #198dc53d}.graph-node.ai-highlight-primary{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb2e,0 10px 26px #2563eb38}.graph-node.ai-highlight-related{border-color:#7fb2ff;box-shadow:0 0 0 2px #7fb2ff33,0 8px 18px #7fb2ff29}.graph-node.connect-source{border-color:#746ff0;box-shadow:0 0 0 3px #746ff033}.node-type-badge{justify-self:start;display:inline-flex;align-items:center;justify-content:center;margin-bottom:calc(2px * var(--node-scale));text-align:center;border-radius:999px;border:1px solid #a9daf2;background:#e0f3ff;color:#135b85;padding:calc(4px * var(--node-scale)) calc(10px * var(--node-scale));font-size:calc(10px * var(--node-scale));font-weight:700;line-height:1;letter-spacing:.05em;text-transform:uppercase}.zoom-indicator{position:absolute;right:12px;top:12px;border-radius:999px;background:#0a2138b8;color:#fff;font-size:11px;padding:5px 10px}.bottom-toolbar{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;pointer-events:none}.tool-strip{--toolbar-scale: .72;position:absolute;display:flex;align-items:center;gap:calc(8px * var(--toolbar-scale));width:max-content;max-width:calc(100vw - clamp(1rem,3.5vw,3rem));border:1px solid #d3deec;border-radius:calc(20px * var(--toolbar-scale));background:#f8fafdfa;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 8px 16px #192f4a21;padding:calc(8px * var(--toolbar-scale)) calc(12px * var(--toolbar-scale));pointer-events:auto;-webkit-user-select:none;user-select:none}.tool-strip.centered{position:fixed;left:50%;bottom:max(clamp(.75rem,1.8vh,1.5rem),env(safe-area-inset-bottom));transform:translate(-50%);z-index:30;max-width:min(calc(100vw - clamp(1rem,4vw,3.5rem)),44rem)}.tool-strip.positioned{position:absolute;transform:none;max-width:none}.tool-strip.dragging{cursor:grabbing}.tool-strip.resizing{cursor:ew-resize}.tool-slot{display:flex;align-items:center;gap:0}.tool-icon-btn{width:calc(56px * var(--toolbar-scale));height:calc(56px * var(--toolbar-scale));border-radius:calc(14px * var(--toolbar-scale));padding:0;display:grid;place-content:center;color:#6f7580;background:transparent;border:0}.tool-icon{width:calc(30px * var(--toolbar-scale));height:calc(30px * var(--toolbar-scale));stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.tool-icon-btn:hover{background:#e8edf5}.tool-icon-btn.active{background:#1488ab;color:#fff}.tool-divider{width:1px;height:calc(46px * var(--toolbar-scale));background:#d2d8e2;margin:0 calc(2px * var(--toolbar-scale))}.toolbar-drag-handle{width:calc(18px * var(--toolbar-scale));height:calc(46px * var(--toolbar-scale));border:0;background:transparent;padding:0;display:grid;place-items:center;color:#b5becd;cursor:grab}.toolbar-drag-handle:active{cursor:grabbing}.toolbar-resize-handle{width:calc(16px * var(--toolbar-scale));height:calc(46px * var(--toolbar-scale));border:0;background:transparent;padding:0;display:grid;place-items:center;color:#9fa9b9;cursor:ew-resize}.toolbar-resize-mark{width:calc(9px * var(--toolbar-scale));height:calc(9px * var(--toolbar-scale));border-right:2px solid currentColor;border-bottom:2px solid currentColor;box-shadow:-4px 4px 0 -1px currentColor}.toolbar-dots{display:grid;grid-template-columns:repeat(2,calc(4px * var(--toolbar-scale)));grid-auto-rows:calc(4px * var(--toolbar-scale));gap:calc(4px * var(--toolbar-scale))}.toolbar-dots span{width:calc(4px * var(--toolbar-scale));height:calc(4px * var(--toolbar-scale));border-radius:999px;background:currentColor}.toolbar-context{position:absolute;left:50%;bottom:92px;transform:translate(-50%);border:1px solid #d5deed;border-radius:11px;background:#fffffffa;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:8px;min-width:min(96vw,760px);display:grid;gap:8px;pointer-events:auto}.toolbar-inline{display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:8px;align-items:end}.toolbar-inline label,.toolbar-connect label,.toolbar-field{display:grid;gap:4px;color:#495f7b;font-size:12px}.toolbar-save-btn{height:34px;font-size:12px;font-weight:700;padding:0 12px}.toolbar-connect{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-items:end}.toolbar-connect small{grid-column:1 / -1;color:#5a708d}.toolbar-link-note{grid-column:1 / -1}.details-panel{width:360px;border-left:1px solid #d8e0ec;background:#fafafa;padding:12px;overflow-y:auto}.details-header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}.details-header h2{margin:0;font-size:18px}.form-grid{display:grid;gap:7px}.form-grid label{display:grid;gap:4px;font-size:12px;color:#465b77}.facts-section{margin-top:12px;border-radius:12px;border:1px solid #dce4ef;background:#fff;padding:10px}.facts-section h3{margin:0 0 8px;font-size:13px;color:#4a5d78}.fact-list{display:grid;gap:8px;margin-bottom:10px}.fact-card{border:1px solid #dce4ef;border-radius:10px;padding:8px;background:#fcfefe;display:grid;gap:4px}.fact-card span{justify-self:start;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:700;background:#ffe7f6;color:#8e3a71}.fact-card p{margin:0}.fact-card small{color:#65778e}.has-error{border-color:#c95b5b}.error-text{margin:0;color:#c33838;font-size:12px}.context-menu{position:fixed;z-index:90;min-width:240px;border-radius:12px;border:1px solid rgba(255,255,255,.2);background:linear-gradient(135deg,#24272d,#2d3137 55%,#363a41);box-shadow:0 18px 36px #00000080,inset 0 1px #ffffff0f;padding:6.5px;display:grid;gap:1.3px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.context-menu-item{border:0;background:transparent;color:#eef1f4;text-align:left;border-radius:6.5px;padding:6.5px 8px;font-size:10.4px;font-weight:400;line-height:1.15;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:9px;width:100%;border:1px solid transparent}.context-menu-item:hover:not(:disabled){background:#ffffff0f;border-color:#ffffff1f}.context-menu-item:disabled{opacity:.42;cursor:not-allowed}.context-menu-label{white-space:nowrap}.context-menu-shortcut{color:#e5e9edd1;font-size:.9em;letter-spacing:.02em;text-align:right}.floating-window-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;pointer-events:none}.case-access-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:95;display:grid;place-items:center;padding:20px;background:#00000094;-webkit-backdrop-filter:none;backdrop-filter:none}.case-access-modal{width:min(860px,calc(100vw - 24px));max-height:min(86vh,840px);overflow:auto;border-radius:22px;border:1px solid rgba(10,126,164,.16);background:#fff;color:#173042;box-shadow:0 24px 70px #0a364e24;padding:22px}.case-access-modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}.case-access-modal-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.case-access-modal-header h2{margin:0;font-size:24px;color:#0a7ea4}.case-access-modal .route-kicker{color:#0a7ea4}.case-access-modal-subtitle{margin:6px 0 0;color:#173042b8}.case-access-modal-body{display:grid;gap:16px}.case-access-list{display:grid;gap:12px}.case-access-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:14px;border-radius:16px;border:1px solid rgba(10,126,164,.12);background:#f8fcff}.case-access-user{display:grid;gap:4px}.case-access-user strong{color:#173042}.case-access-user span,.case-access-user small{color:#173042ad}.case-access-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.case-access-controls select{min-width:130px;border:1px solid rgba(10,126,164,.2);border-radius:12px;background:#fff;color:#173042;padding:10px 12px}.case-access-badge{display:inline-flex;align-items:center;border-radius:999px;background:#0a7ea41a;color:#0a7ea4;padding:7px 10px;font-size:12px;font-weight:700;text-transform:capitalize}.case-access-badge.muted{background:#17304214;color:#173042b8}.case-access-empty{margin:0;color:#173042b8}.case-access-section{display:grid;gap:12px;padding:16px;border-radius:18px;border:1px solid rgba(10,126,164,.12);background:linear-gradient(180deg,#fff,#f7fbfd)}.case-access-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.case-access-section-heading h3{margin:0;color:#0a7ea4;font-size:16px}.case-access-section-heading span{color:#173042ad;font-size:13px}.case-access-role-field{display:grid;gap:8px;max-width:220px}.case-access-role-field label{font-size:13px;font-weight:700;color:#173042}.case-access-role-field select,.case-access-search input,.case-access-link-output{width:100%;border:1px solid rgba(10,126,164,.2);border-radius:12px;background:#fff;color:#173042;padding:10px 12px}.case-access-search{display:grid;gap:10px}.case-access-link-actions{display:flex;justify-content:flex-start}.case-access-modal .primary-action,.case-access-modal .secondary-action,.case-access-modal .danger-action{border:1px solid transparent}.case-access-modal .primary-action{background:#0a7ea4;color:#fff}.case-access-modal .secondary-action{background:#fff;border-color:#0a7ea438;color:#0a7ea4}.case-access-modal .danger-action{background:#c43d3d14;border-color:#c43d3d29;color:#c43d3d}.case-invite-modal{z-index:96}.case-settings-modal{max-width:min(560px,calc(100vw - 24px))}.case-settings-section{gap:14px}.case-settings-field{display:grid;gap:8px}.case-settings-field>span{font-size:13px;font-weight:700;color:#173042}.case-settings-field select,.case-settings-field textarea{width:100%;border:1px solid rgba(10,126,164,.2);border-radius:12px;background:#fff;color:#173042;padding:10px 12px;font:inherit}.case-settings-field textarea{resize:vertical;min-height:160px}.case-settings-field select:focus,.case-settings-field textarea:focus{outline:none;border-color:var(--theme-accent);box-shadow:0 0 0 3px #0a7ea41a}.utility-page-shell{padding:36px 42px 42px;display:grid;gap:26px;align-content:start}.utility-page-header{display:grid;gap:10px;max-width:760px}.utility-page-header h1{margin:0;font-size:clamp(34px,4vw,46px);line-height:1.05;color:#173042}.utility-page-header p{margin:0;color:#173042bd;font-size:15px;line-height:1.6}.utility-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.85fr);gap:22px;align-items:start}.utility-card{display:grid;gap:18px;padding:24px;border-radius:24px;border:1px solid rgba(10,126,164,.12);background:radial-gradient(circle at top right,rgba(148,216,236,.2),transparent 42%),linear-gradient(180deg,#fff,#f5fafc);box-shadow:0 18px 42px #0c2e4014}.utility-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.utility-card-head h2{margin:0;font-size:21px;color:#173042}.utility-card-head p{margin:6px 0 0;color:#173042ad;font-size:14px;line-height:1.5}.utility-list{margin:0;padding-left:18px;display:grid;gap:10px;color:#284255;line-height:1.55}.settings-app-shell{height:100dvh;min-height:100dvh;grid-template-columns:clamp(3.4rem,4.45vw,4.9rem) 200px minmax(0,1fr);overflow:hidden}.settings-app-shell>.icon-rail{border-right:none}.settings-nav{display:flex;flex-direction:column;gap:0;padding:28px 10px;background:#f0f2f5;border-right:1px solid #e0e4e9;height:100%;overflow-y:auto}.settings-nav-title{margin:0 0 16px 10px;font-size:18px;color:#173042}.settings-nav-divider{height:1px;margin:3px 8px;background:#d8dce0}.settings-nav-item{border:none;background:transparent;text-align:left;padding:9px 10px;font-size:13px;font-weight:600;color:#5a6d7d;border-radius:8px;cursor:pointer;display:flex;align-items:center;gap:9px;width:100%}.settings-nav-icon{width:18px;height:18px;display:grid;place-items:center;flex-shrink:0}.settings-nav-icon svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.settings-nav-item:hover{background:#e4e7eb;color:#173042}.settings-nav-item.active{background:#fff;color:#173042;box-shadow:0 1px 3px #0000000f}.settings-panel{position:relative;padding:32px 40px;overflow-y:auto;background:#efefef}.settings-auto-notice{position:absolute;top:32px;right:40px;padding:6px 14px;border-radius:999px;background:#0a7ea41a;color:#0a7ea4;font-size:12px;font-weight:700;animation:settings-notice-fade 1.8s ease-out forwards}@keyframes settings-notice-fade{0%,60%{opacity:1}to{opacity:0}}.settings-section{display:grid;gap:18px;max-width:600px}.settings-section-header{display:grid;gap:6px;margin-bottom:4px}.settings-section-header h2{margin:0;font-size:22px;color:#173042}.settings-section-header p{margin:0;color:#173042ad;font-size:14px;line-height:1.5}.settings-info-card{display:grid;gap:0;border:1px solid #e0e4e9;border-radius:12px;background:#fff;overflow:hidden}.settings-info-row{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;gap:16px}.settings-info-row+.settings-info-row{border-top:1px solid #eef0f2}.settings-info-label{font-size:13px;font-weight:600;color:#5a6d7d}.settings-info-value{font-size:14px;font-weight:600;color:#173042;text-align:right;word-break:break-all}.settings-info-mono{font-family:SF Mono,Fira Code,Consolas,monospace;font-size:12px;color:#5a6d7d}.settings-logout-btn{color:#c0392b;border-color:#c0392b33}.settings-logout-btn:hover{background:#c0392b0f}.settings-placeholder-text{margin:0;padding:20px 16px;font-size:14px;color:#17304299;line-height:1.6}.settings-inline-link{color:#0a7ea4;font-weight:600;text-decoration:none}.settings-inline-link:hover{text-decoration:underline}.settings-field{display:grid;gap:8px}.settings-field>span{display:grid;gap:4px;font-size:13px;font-weight:700;color:#173042}.settings-field>span small,.settings-field small{color:#173042ad;font-size:12px;font-weight:500}.settings-field select,.settings-field input[type=range]{width:100%}.settings-field--toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-radius:12px;background:#fff;border:1px solid #e0e4e9}.settings-field--toggle input[type=checkbox]{width:18px;height:18px;accent-color:#0a7ea4;flex-shrink:0}.settings-actions{display:flex;gap:12px;flex-wrap:wrap}@media (max-width: 720px){.settings-app-shell{grid-template-columns:clamp(3.4rem,4.45vw,4.9rem) minmax(0,1fr)}.settings-app-shell .settings-nav{display:none}.settings-panel{padding:24px 18px}.settings-field--toggle{align-items:flex-start}}.support-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.support-steps{display:grid;gap:12px}.support-step{display:grid;gap:4px;padding:14px 16px;border-radius:16px;background:#ffffffb8;border:1px solid rgba(10,126,164,.12)}.support-step strong{color:#173042}.support-step span{color:#173042b3;font-size:14px;line-height:1.5}.support-link-list{display:grid;gap:12px}.support-link-card{display:grid;gap:4px;padding:16px;border-radius:18px;text-decoration:none;color:inherit;border:1px solid rgba(10,126,164,.14);background:#ffffffc2;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}.support-link-card:hover{transform:translateY(-1px);border-color:#0a7ea447;box-shadow:0 12px 24px #0c2e4014}.support-link-card strong{color:#173042}.support-link-card span{color:#173042ad;font-size:14px}@media (max-width: 1120px){.utility-grid,.support-grid{grid-template-columns:1fr}}@media (max-width: 720px){.utility-page-shell{padding:24px 18px 28px}.utility-card{padding:18px;border-radius:20px}.settings-field--toggle{align-items:flex-start}}.case-info-modal{max-width:min(520px,calc(100vw - 24px))}.case-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 24px}.case-info-field{display:flex;flex-direction:column;gap:2px}.case-info-label{font-size:11px;font-weight:600;color:var(--theme-muted);text-transform:uppercase;letter-spacing:.04em}.case-info-value{font-size:13px;color:#1a2332;line-height:1.4}.case-info-divider{border:0;border-top:1px solid #e0e4e9;margin:4px 0}.case-info-stats{display:flex;gap:20px}.case-info-stat{display:flex;flex-direction:column;align-items:center;gap:2px;flex:1;padding:8px 0;border-radius:10px;background:#0a7ea40d;border:1px solid rgba(10,126,164,.1)}.case-info-stat-value{font-size:20px;font-weight:700;color:var(--theme-accent);line-height:1}.case-info-stat-label{font-size:11px;color:var(--theme-muted);font-weight:500}.case-info-description-section{display:flex;flex-direction:column;gap:6px}.case-info-description{width:100%;border:1px solid rgba(10,126,164,.2);border-radius:10px;padding:10px 12px;font-size:13px;color:#1a2332;background:#fff;resize:vertical;min-height:80px;font-family:inherit}.case-info-description:focus{outline:none;border-color:var(--theme-accent);box-shadow:0 0 0 3px #0a7ea41a}.case-info-description-text{font-size:13px;color:#4a5568;margin:0;line-height:1.5}.case-info-description-actions{display:flex;justify-content:flex-end;gap:8px}.case-logs-modal{max-width:min(560px,calc(100vw - 24px))}.case-logs-list{display:flex;flex-direction:column;gap:2px;max-height:420px;overflow-y:auto}.case-log-entry{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:6px;background:#0a7ea408;border:1px solid rgba(10,126,164,.06)}.case-log-entry:hover{background:#0a7ea40f}.case-log-entry-header{display:flex;justify-content:space-between;align-items:center}.case-log-user{font-size:12px;font-weight:600;color:#1a2332}.case-log-time{font-size:11px;color:var(--theme-muted)}.case-log-action{font-size:12px;font-weight:500;color:var(--theme-accent);text-transform:capitalize}.case-log-details{font-size:12px;color:#4a5568}@media (max-width: 760px){.case-access-row{grid-template-columns:1fr;align-items:flex-start}.case-access-controls{justify-content:flex-start}}.entity-modal-layer{pointer-events:none;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.entity-modal-layer.overlay-lock{pointer-events:auto}.floating-window{position:absolute;width:min(860px,calc(100vw - 24px));max-height:min(90vh,900px);overflow-y:auto;border-radius:16px;border:1px solid #d7e0ec;background:#fff;box-shadow:0 10px 26px #0b203624;padding:14px;pointer-events:auto}.modal-readonly-fieldset{margin:0;padding:0;border:0;min-width:0}.floating-window.item-window{min-width:min(700px,calc(100vw - 24px))}.floating-window.ai-window{width:min(560px,calc(100vw - 24px))}.floating-window.edge-edit-modal{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(460px,calc(100vw - 18px));max-height:min(88vh,760px);border-radius:14px;box-shadow:none;padding:14px}.edge-edit-header{display:grid;grid-template-columns:88px minmax(0,1fr) 88px;align-items:center;gap:8px;margin:-14px -14px 12px;padding:10px 12px;border-bottom:1px solid #d8e0ec;background:#f7faff;border-top-left-radius:14px;border-top-right-radius:14px;cursor:grab;-webkit-user-select:none;user-select:none}.edge-edit-header:active{cursor:grabbing}.edge-edit-header h3{margin:0;font-size:18px;text-align:center;font-weight:600}.edge-edit-btn{border:0;background:transparent;padding:0;font-size:14px;line-height:1}.edge-edit-btn.cancel{justify-self:start;color:#0a7ea4;font-weight:300}.edge-edit-btn.save{justify-self:end;color:#0a7ea4;font-weight:600}.evidence-modal{width:min(740px,calc(100vw - 18px));max-height:min(94vh,920px);border-radius:22px;border:1px solid #d6dee8;box-shadow:0 18px 46px #07182a4d;padding:0;background:#fff}.evidence-modal.compact-layout{width:min(660px,calc(100vw - 18px))}.evidence-modal.media-layout{width:min(780px,calc(100vw - 18px))}.evidence-modal.location-layout{width:min(760px,calc(100vw - 18px))}.evidence-modal.ip-layout,.evidence-modal.person-layout{width:min(860px,calc(100vw - 18px));min-width:min(760px,calc(100vw - 18px))}.floating-window.item-window.evidence-modal.compact-layout{min-width:min(620px,calc(100vw - 18px))}.floating-window.item-window.evidence-modal.media-layout,.floating-window.item-window.evidence-modal.location-layout{min-width:min(700px,calc(100vw - 18px))}.floating-window.item-window.evidence-modal.ip-layout,.floating-window.item-window.evidence-modal.person-layout{min-width:min(760px,calc(100vw - 18px))}.glass-modal-header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px}.window-titlebar{position:sticky;top:0;z-index:3;margin:-14px -14px 10px;padding:12px 13px;background:#f7faff;border-bottom:1px solid #d8e0ec;border-top-left-radius:16px;border-top-right-radius:16px;cursor:grab;-webkit-user-select:none;user-select:none}.evidence-modal .window-titlebar{margin:0;border-top-left-radius:22px;border-top-right-radius:22px;border-bottom:1px solid #dce5ef;background:#fff;padding:16px 20px}.evidence-modal-header{display:grid;grid-template-columns:80px minmax(0,1fr) 80px;align-items:center;gap:12px}.window-titlebar:active{cursor:grabbing}.glass-modal-header h3{margin:0;font-size:20px}.titlebar-action{border:0;background:transparent;color:#1183ae;font-size:15px;font-weight:500;padding:0;justify-self:start}.titlebar-action.save{justify-self:end;font-weight:700}.titlebar-action.save:disabled{color:#9aa0a8;cursor:not-allowed;opacity:.55}.title-input-wrap{position:relative;width:100%}.title-display-row{display:flex;justify-content:center;align-items:center;gap:8px}.title-display-row h3{margin:0;text-align:center;font-size:27px;font-weight:700;line-height:1.06;color:#0f1218;cursor:text}.title-edit-btn{border:0;background:transparent;color:var(--theme-accent);width:24px;height:24px;padding:0;display:grid;place-items:center}.title-edit-btn svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.title-edit-input{width:100%;border-radius:10px;border:1px solid #d4dce7;background:#fff;text-align:center;font-size:23.4px;font-weight:700;color:#0f1218;padding:8px 10px;line-height:1.1}.title-edit-input:focus{outline:0}.title-pencil{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:#8a97a9;font-size:10px;text-transform:uppercase;letter-spacing:.04em}.evidence-modal-body{display:grid;gap:14px;padding:14px 22px 22px;background:#fff}.evidence-two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.evidence-field{display:grid;gap:6px}.evidence-field>span{font-size:14px;line-height:1;font-weight:600;color:#202c39}.collapsible-field{gap:0}.field-toggle{grid-column:1 / span 2;width:100%;border:0;background:transparent;padding:0;display:grid;grid-template-columns:minmax(0,1fr) 18px;align-items:center;column-gap:4px;gap:8px;text-align:left}.field-toggle-row{display:grid;grid-template-columns:minmax(0,1fr) 18px 18px;align-items:center;column-gap:2px}.field-toggle-label{font-size:15px;line-height:1;font-weight:600;color:#202c39}.field-toggle-arrow{justify-self:center;color:#4f6881;font-size:16px;font-weight:700;line-height:1;transition:transform .14s ease}.field-toggle-arrow.collapsed{transform:rotate(-90deg)}.field-body{margin-top:6px;display:grid;gap:6px}.person-name-section{grid-column:auto}.person-name-add-info{justify-self:start}.pill-input-row{display:grid;grid-template-columns:1fr auto;gap:8px}.pill-input-row input{border-radius:12px;border:1px solid #d4dce7;background:#fff;min-height:38px;font-size:15px}.type-row{grid-template-columns:1fr;align-items:start}.type-combobox{position:relative;width:100%}.type-input-shell{display:grid;grid-template-columns:1fr;align-items:center;border:1px solid #d4dce7;border-radius:12px;background:#fff;overflow:hidden}.type-input-shell input{border:0;border-radius:0;min-height:36px}.type-input-shell input:focus{outline:0}.type-input-shell input::selection{background:var(--theme-accent);color:#fff}.type-input-shell input::-moz-selection{background:var(--theme-accent);color:#fff}.entity-type-input-shell{grid-template-columns:1fr auto}.entity-type-dropdown-btn{min-width:34px;height:36px;border:0;border-left:1px solid #d4dce7;background:#f7fafc;color:#4f6881;font-size:14px;line-height:1;cursor:pointer}.entity-type-dropdown-btn:hover:not(:disabled){background:#edf5fb;color:#0f6789}.entity-type-dropdown-btn[aria-expanded=true]{background:#e8f2fa;color:#0f6789}.entity-type-dropdown-btn:disabled{cursor:default;opacity:.72}.type-option-menu{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:25;border:1px solid #d4dce7;border-radius:10px;background:#fff;box-shadow:0 10px 24px #07182a2e;max-height:190px;overflow-y:auto;padding:4px}.type-option{width:100%;border:0;background:transparent;text-align:left;border-radius:8px;padding:8px 10px;display:flex;justify-content:space-between;align-items:baseline;gap:10px}.type-option:hover{background:#edf5fb}.type-option-create{color:#0f6789;font-weight:600}.type-option-match{font-weight:800;color:#111}.type-option-count{color:#6d7f93;font-size:12px}.type-option-empty{margin:0;padding:8px 10px;color:#6d7f93;font-size:12px}.tag-chip-row{--tag-chip-scale: 1;display:flex;flex-wrap:wrap;gap:calc(6px * var(--tag-chip-scale));margin-top:4px}.tag-chip-row.tag-dense-1{--tag-chip-scale: .96}.tag-chip-row.tag-dense-2{--tag-chip-scale: .92}.tag-chip-row.tag-dense-3{--tag-chip-scale: .88}.tag-menu-anchor{display:inline-block;width:auto}.tag-plus-row{display:flex;align-items:center;width:fit-content}.tag-option-menu{min-width:260px;width:max-content;right:auto}.tag-menu-input-row{display:grid;grid-template-columns:minmax(0,1fr) 30px;gap:8px;padding:4px 6px 8px}.tag-menu-input-row input{min-width:190px}.tag-chip{border-radius:999px;border:1px solid #9fcbdf;background:#e2f3fd;color:#16719e;font-size:calc(12px * var(--tag-chip-scale));padding:calc(4px * var(--tag-chip-scale)) calc(10px * var(--tag-chip-scale))}.tag-chip:hover{background:#d5edf9}.evidence-modal input:not([type=checkbox]):not([type=file]):not([type=range]),.evidence-modal select,.evidence-modal textarea,.evidence-modal .value-input-wrap,.evidence-modal .type-input-shell,.evidence-modal .phone-flag-trigger{box-shadow:0 0 4px #00000038}.circle-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:999px;padding:0;border:1px solid #d4dce7;background:#f5f8fc;color:#5f6f82;line-height:1}.circle-icon:hover:not(:disabled){background:#edf6fc;border-color:#bbd6e5;color:#1b7da7}.glass-subtext{margin:0 0 10px;color:#4c607c;font-size:13px}.input-with-action{display:grid;grid-template-columns:1fr auto;gap:8px}.create-type-input{grid-template-columns:1fr}.category-chip-grid{display:flex;flex-wrap:wrap;gap:6px;margin-top:-1px}.category-chip{border-radius:999px;padding:5px 11px;border:1px solid #d5deeb;background:#eef4fb;color:#3c5f80;font-size:12px}.category-chip:hover{background:#e5f2fb;border-color:#b9d9ec;color:#176f9c}.category-chip.active{background:#d8ecfb;border-color:#95c3e3;color:#0f5f8e}.evidence-category-grid{max-height:88px;overflow-y:auto;padding-right:2px}.summary-field textarea{min-height:126px;border-radius:12px;border-color:#d4dce7;font-size:16px}.ip-form-section,.link-form-section{display:grid;gap:13px}.link-url-field input{width:100%}.video-form-section{display:grid;gap:13px}.video-section-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.video-section-content{display:grid;gap:10px}.video-media-layout{display:grid;grid-template-columns:minmax(260px,1.2fr) minmax(230px,1fr);gap:18px;align-items:start}.video-preview-thumb{width:100%;min-height:180px;border:1px dashed rgba(54,101,138,.42);border-radius:44px;background:linear-gradient(145deg,#edf5fb,#f8fbfe);overflow:hidden;display:grid;place-items:center;padding:0;cursor:pointer}.video-preview-thumb:not(button){cursor:default}.video-preview-thumb video{width:100%;height:100%;min-height:inherit;object-fit:cover;display:block}.video-preview-thumb.drag-over{border-color:var(--theme-accent);background:linear-gradient(145deg,#e3f3fb,#f7fcff)}.video-preview-placeholder{color:#5d7690;font-size:12px;font-weight:600}.video-add-btn{width:24px;height:24px;font-size:14px;line-height:1}.video-meta-column{display:grid;gap:10px;align-content:start}.video-file-inline{max-width:100%}.video-collected-inline{justify-self:start}.video-collected-inline .ip-collected-wrap{width:184px}.video-add-description-btn{border:0;background:transparent;padding:0;display:inline-flex;align-items:center;gap:6px;justify-self:start;color:#3a95be;font-size:16px;line-height:1;font-weight:600;cursor:pointer}.video-add-description-icon{width:18px;height:18px;border-radius:999px;border:1px solid #89c4df;display:inline-grid;place-items:center;font-size:13px;line-height:1}.video-add-description-btn:hover:not(:disabled){color:#1f7fa8}.video-add-description-btn:hover:not(:disabled) .video-add-description-icon{border-color:#4ea7cd}.video-description-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.video-description-add-btn{width:24px;height:24px;border-radius:999px;font-size:15px;line-height:1}.video-description-textarea{width:100%;min-height:152px}.phone-form-section{display:grid;gap:13px}.phone-top-grid{align-items:end}.phone-number-field input{max-width:230px}.phone-observed-wrap{width:192px}.vehicle-form-section{display:grid;gap:13px}.vehicle-data-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:14px 18px;align-items:end}.vehicle-name-field input,.vehicle-plate-field input{max-width:230px}.vehicle-collected-field{justify-self:end}.vehicle-collected-wrap{width:184px}.vehicle-status-text,.vehicle-info-list,.vehicle-add-info{grid-column:1 / -1}.vehicle-status-text{display:flex;align-items:center;min-height:20px;color:#0a7ea4;font-size:12px;font-weight:600}.vehicle-info-list{display:grid;gap:10px}.vehicle-info-row{display:grid;grid-template-columns:minmax(160px,.9fr) minmax(0,1.1fr) auto;gap:10px;align-items:end}.vehicle-info-label-field input,.vehicle-info-value-field input{max-width:100%}.vehicle-info-remove{align-self:center}.spoken-testimony-form-section{gap:13px}.spoken-testimony-main-wrap{display:grid;gap:8px}.spoken-testimony-meta-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:end}.spoken-testimony-file-inline{max-width:320px}.spoken-testimony-collected-field{justify-self:end}.spoken-testimony-collected-field .ip-collected-wrap{width:184px}.spoken-testimony-textarea{width:100%;min-height:112px}.note-form-section{display:grid;gap:8px}.note-input-textarea{width:100%;min-height:210px}.fingerprint-form-section{gap:14px}.ip-section-toggle{border:0;background:transparent;padding:0;display:inline-flex;align-items:center;gap:8px;font-size:15px;line-height:1;font-weight:600;color:#202c39;justify-self:start}.ip-section-arrow{font-size:15px;color:#2c3c4c;transform:translateY(-1px);transition:transform .14s ease}.ip-section-arrow.collapsed{transform:rotate(-90deg)}.ip-top-row{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:14px;align-items:center;justify-content:space-between}.ip-address-inline{max-width:230px}.ip-address-inline input{width:100%}.fingerprint-file-row{display:grid;gap:8px}.ip-file-inline{display:inline-grid;grid-template-columns:minmax(0,auto) 18px;align-items:center;gap:10px;justify-self:start;max-width:320px}.fingerprint-file-inline{max-width:360px}.ip-file-name-btn{border:0;background:transparent;padding:0;color:#728298;font-size:31px;line-height:1.05;font-weight:500;font-style:italic;text-align:left;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ip-file-name-btn.has-value{color:#1f2c3a}.ip-file-name-btn:hover:not(:disabled){color:#0f6789}.ip-file-name-btn:disabled{cursor:default;opacity:.8}.ip-file-upload-btn{width:18px;height:18px;border:0;background:transparent;padding:0;color:#6a798a;display:inline-grid;place-items:center;cursor:pointer}.ip-file-upload-btn svg{width:15px;height:15px}.ip-file-upload-btn:hover:not(:disabled){color:#0f6789}.ip-file-upload-btn:disabled{cursor:default;opacity:.7}.ip-collected-inline{display:inline-grid;grid-template-columns:auto auto;align-items:center;gap:8px;justify-self:end}.fingerprint-data-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(170px,212px);gap:14px;align-items:end}.fingerprint-collected-inline{justify-self:start}.fingerprint-collected-inline .ip-collected-wrap{width:184px}.ip-collected-label{font-size:14px;line-height:1;font-weight:600;color:#202c39}.ip-collected-wrap{position:relative;width:192px}.ip-collected-wrap input{width:100%;padding-right:34px}.ip-collected-btn{position:absolute;right:7px;top:50%;transform:translateY(-50%);border:0;background:transparent;padding:0;width:16px;height:16px;display:inline-grid;place-items:center;line-height:1;cursor:pointer;color:#6a798a;font-size:0}.ip-collected-btn svg{width:14px;height:14px}.ip-collected-btn:hover:not(:disabled){color:#0f6789}.ip-collected-btn:disabled{opacity:.7;cursor:default}.ip-datetime-picker{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.ip-notes-textarea{width:100%;min-height:156px}.fingerprint-stored-id-field{width:100%;justify-self:end}.fingerprint-notes-field,.fingerprint-summary-field{width:100%}.ip-summary-wrap{position:relative;width:100%}.ip-summary-wrap textarea{width:100%;min-height:142px;padding-right:156px}.ip-summary-ai-icon{position:absolute;right:12px;bottom:10px;border:0;border-radius:999px;background:#eef4f8;color:#687a8e;font-size:11px;line-height:1;padding:8px 10px;display:inline-flex;align-items:center;gap:6px;font-weight:700;white-space:nowrap}.ip-summary-ai-icon:not(:disabled){cursor:pointer}.ip-summary-ai-icon:not(:disabled):hover{background:#e1edf5;color:#0a7ea4}.ip-summary-ai-icon:disabled{opacity:.45}.location-field{width:100%}.location-pinpoint-layout{display:grid;grid-template-columns:160px minmax(0,1fr);gap:18px;align-items:start}.location-preview-column{display:grid;justify-items:start;gap:8px}.location-preview-card{width:100%;border-radius:20px;overflow:hidden;box-shadow:0 10px 22px #1b476629;background:#dfe9f3}.embedded-location-map{position:relative;width:100%;border-radius:inherit;overflow:hidden;background:#dfe9f3}.embedded-location-map iframe{width:100%;height:100%;border:0;display:block;border-radius:inherit}.embedded-location-map.is-passive iframe{pointer-events:none}.embedded-location-map-activator{position:absolute;top:0;right:0;bottom:0;left:0;border:0;margin:0;padding:0;background:transparent;border-radius:inherit;cursor:pointer;z-index:1}.location-preview-svg{width:100%;height:100%;display:block}.location-inline-preview{aspect-ratio:1 / 1;border-radius:20px}.location-open-map-btn{font-size:14px;justify-self:center;text-align:center}.location-fields-grid{display:grid;gap:10px}.location-color-field{max-width:280px}.location-color-input-row{display:flex;align-items:center;gap:10px}.location-color-input-row input[type=color]{width:42px;min-width:42px;height:38px;padding:0;border:0;background:transparent;cursor:pointer}.location-color-input-row input:not([type=color]){flex:1 1 auto}.location-short-field{max-width:180px}.location-radius-text{color:#5f7288;font-size:12px;font-weight:600}.person-form-section{display:grid;gap:10px}.person-grid{display:grid;gap:8px}.person-name-grid{grid-template-columns:minmax(150px,1fr) minmax(150px,1fr) minmax(150px,1fr) minmax(56px,.45fr)}.person-field-suffix input{width:45px;max-width:45px}.person-add-info{position:relative;display:inline-flex;align-items:center;gap:8px}.person-add-info-label{font-size:13px;color:#2a4d69;font-weight:600}.person-add-info-trigger{border:0;background:transparent;padding:0;display:inline-flex;align-items:center;gap:8px;color:inherit}.person-add-info-trigger:hover:not(:disabled) .person-add-info-label{color:#1b7da7}.person-add-info-circle{width:30px;height:30px;border-radius:999px;border:1px solid #d4dce7;background:#f5f8fc;color:#5f6f82;line-height:1;display:inline-grid;place-items:center}.person-add-info-trigger:hover:not(:disabled) .person-add-info-circle{background:#edf6fc;border-color:#bbd6e5;color:#1b7da7}.person-info-menu{min-width:260px;width:max-content;right:auto}.person-info-input-row{padding-bottom:6px}.person-info-list{display:grid;gap:12px}.person-info-row{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;align-items:start}.person-info-field{min-width:0}.person-info-content{display:grid;gap:6px}.person-info-field input,.person-info-field select{max-width:360px}.person-info-description{width:100%;min-height:58px}.person-height-range,.person-state-value-inline,.person-phone-inline{display:grid;gap:6px;align-items:center}.person-height-range{grid-template-columns:minmax(0,1fr);max-width:520px}.height-range-slider{position:relative;height:30px;display:flex;align-items:center;touch-action:none;cursor:pointer}.height-range-track{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);height:6px;border-radius:999px;background:#d4dce7}.height-range-fill{position:absolute;top:50%;transform:translateY(-50%);height:6px;border-radius:999px;background:var(--theme-accent)}.height-range-handle{position:absolute;top:50%;transform:translate(-50%,-50%);width:18px;height:18px;margin:0;padding:0;border-radius:999px;border:2px solid var(--theme-accent);background:#fff;box-shadow:0 0 0 2px #ffffffa6;cursor:pointer}.height-range-handle.min{z-index:2}.height-range-handle.max{z-index:3}.height-range-handle:focus-visible{outline:2px solid var(--theme-accent);outline-offset:2px}.height-range-readout{display:flex;justify-content:space-between;align-items:center;gap:8px;color:#2a4d69;font-size:13px;font-weight:600}.height-range-readout small{color:#4e6479;font-size:12px}.person-state-value-inline{grid-template-columns:minmax(0,86px) minmax(0,1fr)}.person-phone-inline{grid-template-columns:minmax(0,1fr)}.phone-input-combobox{position:relative;width:min(100%,230px)}.phone-flag-trigger{position:absolute;left:8px;top:50%;transform:translateY(-50%);min-width:58px;height:22px;border-radius:6px;border:1px solid #c8d4e3;background:#fff;padding:0 5px;display:inline-grid;grid-template-columns:20px auto;align-items:center;column-gap:5px;z-index:2}.phone-number-input{width:100%;padding-left:70px;min-height:36px}.phone-flag-icon{width:20px;height:14px;object-fit:cover;border-radius:2px;border:1px solid #ced8e6;background:#f5f8fc}.phone-flag-fallback{width:20px;height:15px;display:inline-grid;place-items:center;font-size:13px;font-family:"Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",sans-serif}.phone-flag-current-indicator{font-size:11px;color:#304f68;letter-spacing:.01em}.phone-flag-menu{position:absolute;top:calc(100% + 5px);left:0;right:0;z-index:30;border:1px solid #d4dce7;border-radius:10px;background:#fff;box-shadow:0 10px 24px #07182a2e;max-height:200px;overflow-y:auto;padding:4px}.phone-flag-search-row{padding:4px 4px 6px}.phone-flag-search-row input{width:100%;min-height:32px}.phone-flag-option{width:100%;border:0;background:transparent;border-radius:8px;padding:7px 8px;display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;column-gap:8px;text-align:left}.phone-flag-option:hover{background:#edf5fb}.phone-flag-option.selected{background:#e4f0fb}.phone-flag-option small{color:#5e748b;font-size:11px}.phone-flag-empty{margin:0;padding:8px 10px;color:#6d7f93;font-size:12px}.person-notes-field textarea{min-height:102px;width:100%}.person-notes-field,.person-summary-field{width:100%}.person-summary-wrap{position:relative;width:100%}.person-summary-wrap textarea{width:100%;min-height:150px}.evidence-card{border-radius:12px;border:1px solid #dbe4ef;background:#fff;padding:12px}.evidence-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:0}.evidence-card-toggle{font-size:15px}.evidence-card-body{margin-top:10px}.evidence-card-head h4{margin:0;font-size:34px;line-height:1;font-weight:500;color:#1f2c3a}.evidence-image-layout{display:grid;grid-template-columns:208px minmax(0,1fr);gap:14px;align-items:start;padding:8px 0 12px;border-bottom:1px solid #edf1f5}.evidence-image-layout:last-child{border-bottom:0;padding-bottom:0}.image-list{display:grid;gap:8px}.evidence-thumb{min-height:200px;border-radius:16px;position:relative;border:2px dashed rgba(54,101,138,.3);background:linear-gradient(145deg,#eef5fb,#f8fbfe);display:grid;place-items:center;color:#1d4665;overflow:hidden;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease}.evidence-thumb.upload-ready{width:100%;padding:0;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.evidence-thumb.upload-ready:hover{border-color:#1b84b08c;box-shadow:0 14px 28px #163e5b1f}.evidence-thumb.drag-over{border-color:var(--theme-accent);background:linear-gradient(145deg,#e2f3fb,#f7fcff);box-shadow:0 16px 30px #0a7ea429;transform:translateY(-1px)}.evidence-thumb.uploaded{border-color:#229a5573;background:#d8f6e4}.evidence-thumb img{width:100%;height:100%;object-fit:cover;display:block}.evidence-thumb-upload{display:grid;gap:8px;place-items:center;padding:20px;text-align:center}.evidence-thumb-upload strong{color:#173247;font-size:18px;font-weight:700}.evidence-thumb-upload small{color:#5d7690;font-size:12px;font-weight:600}.evidence-thumb-upload-icon{width:62px;height:62px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(145deg,#1b84b0,#5fa9ca);color:#fff;font-size:34px;font-weight:700;box-shadow:0 14px 24px #1b84b038}.evidence-thumb.uploaded .evidence-thumb-upload-icon{background:linear-gradient(145deg,#1d9a53,#57cb84);box-shadow:0 14px 24px #1d9a5338}.evidence-thumb-status{position:absolute;top:10px;right:10px;z-index:1;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:700;letter-spacing:.01em;color:#fff;background:#0f2d42b8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.evidence-thumb-status.uploaded{background:#1d9a53eb}.evidence-meta{display:grid;gap:8px}.evidence-meta label{display:grid;gap:4px;font-size:12px;color:#44586f}.evidence-meta-grid{display:grid;gap:7px}.image-file-row{display:grid;grid-template-columns:minmax(0,1fr) 30px 0 30px;gap:8px;align-items:center}.hidden-file-input{width:0;height:0;opacity:0;pointer-events:none}.description-list{display:grid;gap:6px}.description-row{display:grid;grid-template-columns:1fr 1.2fr 30px;gap:8px;align-items:center}.description-add-row{display:grid;grid-template-columns:1fr 30px;gap:8px;align-items:start}.text-link{border:0;background:transparent;color:#1b84b0;padding:0;justify-self:start;font-size:13px}.location-map-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#0a182770;display:grid;place-items:center;padding:18px}.location-map-modal{width:min(860px,calc(100vw - 36px));max-height:min(88vh,760px);display:grid;gap:14px;padding:18px;border-radius:24px;background:#fff;border:1px solid #d8e1eb;box-shadow:0 22px 52px #07182a57}.location-map-modal-head{display:flex;justify-content:space-between;align-items:start;gap:12px}.location-map-modal-head h4{margin:0;font-size:24px;line-height:1;color:#122233}.location-map-modal-head p{margin:6px 0 0;color:#567086;font-size:13px}.location-map-frame{position:relative;min-height:min(62vh,560px);border-radius:18px;overflow:hidden;background:#e8f0f6;border:1px solid #d5e0ea}.location-map-frame iframe,.location-map-fallback,.interactive-location-map-shell{width:100%;height:100%;min-height:inherit;border:0}.location-map-fallback{display:grid;place-items:center;gap:12px;padding:24px;text-align:center}.location-fallback-preview{width:min(260px,100%);aspect-ratio:1.25 / 1;border-radius:20px}.location-map-fallback p{margin:0;max-width:360px;color:#536d82;font-size:13px}.location-map-radius-badge{position:absolute;left:14px;bottom:14px;border-radius:999px;background:#0c3654cc;color:#fff;font-size:12px;font-weight:700;padding:8px 10px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:0;cursor:pointer}.location-map-radius-slider{position:absolute;left:14px;right:14px;bottom:54px;z-index:3;display:grid;gap:8px;padding:12px 14px;border-radius:16px;background:#fffffff0;border:1px solid rgba(197,213,226,.95);box-shadow:0 12px 24px #0a1f3229;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.location-map-radius-dismiss{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;border:0;margin:0;padding:0;background:transparent}.location-map-radius-slider-head{display:flex;justify-content:space-between;align-items:center;gap:10px;color:#27455d;font-size:13px;font-weight:600}.location-map-radius-slider input[type=range]{width:100%;margin:0;accent-color:var(--theme-accent);cursor:pointer}.location-map-radius-slider input[type=range]::-webkit-slider-thumb{background:var(--theme-accent)}.location-map-radius-slider input[type=range]::-moz-range-thumb{background:var(--theme-accent);border-color:var(--theme-accent)}.location-map-radius-slider input[type=range]::-moz-range-progress{background:var(--theme-accent)}.location-map-radius-slider small{color:#557087;font-size:11px}.interactive-location-map-shell{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden}.interactive-location-map-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:10px 12px;border-bottom:1px solid #d5e0ea;background:#f7fafdeb;color:#4f6780;font-size:12px;font-weight:600}.interactive-location-search{position:relative;min-width:min(420px,100%);flex:1 1 320px}.interactive-location-search input{width:100%;min-height:38px;border-radius:12px;border:1px solid #cfdce8;background:#fff;padding:0 12px;font-size:14px;color:#142839}.interactive-location-suggestions{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:6;max-height:240px;overflow-y:auto;border:1px solid #d4dfe9;border-radius:12px;background:#fff;box-shadow:0 16px 28px #081e342e;padding:6px}.interactive-location-suggestion{width:100%;border:0;background:transparent;text-align:left;border-radius:9px;padding:10px 12px;color:#153247;font-size:13px}.interactive-location-suggestion:hover{background:#eef6fc}.interactive-location-suggestion-empty{margin:0;padding:10px 12px;color:#5f748a;font-size:12px}.interactive-location-map-canvas{min-height:calc(min(62vh,560px) - 44px)}.interactive-location-map-overlay{position:absolute;top:44px;right:0;bottom:0;left:0;display:grid;place-items:center;padding:18px;background:#e8f0f6e6;text-align:center}.interactive-location-map-overlay p{margin:0;max-width:340px;color:#35546d;font-size:13px;font-weight:600}.interactive-location-overlay-editor{position:absolute;top:58px;right:14px;z-index:4;width:min(280px,calc(100% - 28px));display:grid;gap:10px;padding:12px;border-radius:16px;border:1px solid rgba(197,213,226,.95);background:#fffffff5;box-shadow:0 14px 28px #0a1f322e;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.interactive-location-overlay-editor-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.interactive-location-overlay-editor-head strong{color:#173247;font-size:13px}.interactive-location-overlay-field{display:grid;gap:6px}.interactive-location-overlay-field span{color:#4f6780;font-size:11px;font-weight:700}.interactive-location-overlay-field input{width:100%;min-height:36px;border-radius:12px;border:1px solid #cfdce8;background:#fff;padding:0 12px;font-size:13px;color:#142839}.interactive-location-overlay-color-row{display:flex;align-items:center;gap:10px}.interactive-location-overlay-color-row input[type=color]{width:40px;min-width:40px;height:36px;padding:0;border:0;background:transparent;cursor:pointer}.interactive-location-overlay-color-row input:not([type=color]){flex:1 1 auto}.interactive-location-tooltip{max-width:220px;color:#173247;font-size:12px;line-height:1.35}.interactive-location-tooltip strong{display:block;margin-bottom:4px;font-size:12px}.interactive-location-tooltip p{margin:0;color:#4f6780}.items-table{display:grid;gap:6px}.items-row{display:grid;grid-template-columns:84px minmax(0,1fr) 132px 74px 32px;gap:8px;align-items:center}.items-head{color:#6d7d8f;font-size:11px;letter-spacing:.04em;text-transform:uppercase;padding:0 2px}.items-head span:last-child{width:1px;justify-self:center}.items-row>input{min-height:34px;border-radius:9px;border-color:#d3dce8}.value-input-wrap{border:1px solid #d3dce8;border-radius:9px;min-height:34px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:6px;padding:0 10px}.value-input-wrap span{color:#65788d;font-size:12px;font-weight:700}.value-input-wrap input{border:0;background:transparent;min-height:auto;padding:0}.value-input-wrap input:focus{outline:0}.remove-item-btn{width:auto;height:auto;border-radius:0;border:0;padding:0;color:#c03535;background:transparent;font-size:20px;font-weight:700;line-height:1;justify-self:center}.remove-item-btn:hover:not(:disabled){color:#982828;background:transparent}.field-action-spacer{width:18px;height:1px}.seized-check{display:grid;place-items:center}.seized-check input{width:18px;height:18px;margin:0}.empty-items-text{margin:6px 2px 2px;color:#6e8092;font-size:12px}.floating-window.ai-chat-window{width:min(480px,calc(100vw - 24px));max-height:min(680px,90vh);display:flex;flex-direction:column;padding:0;overflow:hidden;min-width:320px;min-height:320px}.floating-window.ai-chat-window.ai-chat-window--docked{position:fixed;right:0;top:0;bottom:0;height:100dvh;max-height:100dvh;border-radius:14px 0 0 14px;border-right:none;box-shadow:-6px 0 32px #0b203621;z-index:81;min-width:280px;max-width:700px}.ai-snap-preview{position:fixed;right:0;top:0;bottom:0;width:64px;background:linear-gradient(to left,rgba(10,126,164,.18),transparent);border-left:2px solid rgba(10,126,164,.5);z-index:82;display:flex;align-items:center;justify-content:center;pointer-events:none;animation:ai-snap-appear .15s ease}@keyframes ai-snap-appear{0%{opacity:0;width:0}to{opacity:1;width:64px}}.ai-snap-label{writing-mode:vertical-rl;font-size:11px;font-weight:700;letter-spacing:.06em;color:#0a7ea4;text-transform:uppercase;opacity:.85}.ai-detach-preview{position:fixed;left:0;top:0;bottom:0;width:64px;background:linear-gradient(to right,rgba(10,126,164,.18),transparent);border-right:2px solid rgba(10,126,164,.5);z-index:82;display:flex;align-items:center;justify-content:center;pointer-events:none;animation:ai-detach-appear .15s ease}@keyframes ai-detach-appear{0%{opacity:0;width:0}to{opacity:1;width:64px}}.ai-resize-handle{position:absolute;z-index:10}.ai-resize-se{bottom:0;right:0;width:18px;height:18px;cursor:se-resize;background:radial-gradient(circle at 100% 100%,#c8dce8 0%,transparent 70%);border-radius:0 0 14px}.ai-resize-se:after{content:"";position:absolute;bottom:4px;right:4px;width:8px;height:8px;border-right:2px solid #9ab8cc;border-bottom:2px solid #9ab8cc;border-radius:0 0 2px}.ai-resize-left{top:0;left:0;bottom:0;width:5px;cursor:ew-resize;background:transparent;transition:background .15s}.ai-resize-left:hover{background:#0a7ea41f}.ai-titlebar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 14px;margin:0;background:#f2f7fd;border-bottom:1px solid #d8e0ec;border-radius:16px 16px 0 0;flex-shrink:0}.ai-titlebar-left{display:flex;align-items:center;gap:9px;min-width:0}.ai-titlebar-icon{width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,#e8f4fb,#d0eaf7);border:1px solid #bdddf0;display:flex;align-items:center;justify-content:center;color:#0a7ea4;flex-shrink:0}.ai-titlebar-text{display:flex;flex-direction:column;min-width:0;gap:1px}.ai-titlebar-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#0a7ea4;line-height:1}.ai-titlebar-case{font-size:14px;font-weight:700;color:#1a2738;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px}.ai-titlebar-right{display:flex;align-items:center;gap:10px;flex-shrink:0}.ai-agent-tabs{display:flex;align-items:center;gap:8px;padding:10px 14px 8px;border-bottom:1px solid #e5edf6;background:#f8fbff;flex-shrink:0}.ai-agent-tab{border:1px solid #d3e0ed;background:#fff;color:#5a7390;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:700;box-shadow:none}.ai-agent-tab.active{background:#0a7ea4;border-color:#0a7ea4;color:#fff}.ai-agent-tab:hover:not(.active){background:#edf5fb;color:#355266}.ai-conn-indicator{display:flex;align-items:center;gap:5px;cursor:default}.ai-conn-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.ai-conn-dot--checking{background:#7a9fc7;animation:ai-pulse 1.2s ease-in-out infinite}.ai-conn-dot--connected{background:#22a05a}.ai-conn-dot--error{background:#d23c3c}.ai-conn-label{font-size:11px;font-weight:600;color:#6a849e}@keyframes ai-pulse{0%,to{opacity:1}50%{opacity:.25}}.ai-detach-btn{width:26px;height:26px;border-radius:7px;border:1px solid #d0dcea;background:#fff;color:#7a90a8;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,color .15s,border-color .15s;flex-shrink:0}.ai-detach-btn:hover{background:#e8f4fb;border-color:#9fd4ec;color:#0a7ea4}.ai-close-btn{width:26px;height:26px;border-radius:7px;border:1px solid #d0dcea;background:#fff;color:#7a90a8;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,color .15s,border-color .15s;flex-shrink:0}.ai-close-btn:hover{background:#fef0f0;border-color:#f0c0c0;color:#c0392b}.ai-messages-area{flex:1;overflow-y:auto;min-height:0;padding:16px 14px 8px;scrollbar-width:thin;scrollbar-color:#d0dcea transparent}.ai-messages-area::-webkit-scrollbar{width:4px}.ai-messages-area::-webkit-scrollbar-thumb{background:#d0dcea;border-radius:4px}.ai-alyx-panel{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:18px 16px 22px}.ai-empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:24px 16px 12px;gap:8px}.ai-empty-orb{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#eaf5fb,#daf0f7);border:1px solid #bdddf0;display:flex;align-items:center;justify-content:center;margin-bottom:4px;animation:ai-orb-breathe 3s ease-in-out infinite}@keyframes ai-orb-breathe{0%,to{transform:scale(1);box-shadow:0 0 #0a7ea414}50%{transform:scale(1.04);box-shadow:0 0 0 8px #0a7ea40d}}.ai-empty-title{margin:0;font-size:15px;font-weight:700;color:#1a2738}.ai-empty-sub{margin:0;font-size:12.5px;color:#5a7390;line-height:1.5;max-width:300px}.ai-empty-sub strong{color:#1a2738}.ai-suggestions{display:flex;flex-direction:column;gap:6px;width:100%;margin-top:8px}.ai-suggestion-chip{padding:8px 13px;border-radius:10px;border:1px solid #d4e4f0;background:#f5fafd;color:#2a4a68;font-size:12.5px;font-weight:500;text-align:left;cursor:pointer;transition:background .14s,border-color .14s,color .14s;line-height:1.4}.ai-suggestion-chip:hover{background:#e6f4fb;border-color:#9fd4ec;color:#0a5f80}.ai-message-list{display:flex;flex-direction:column;gap:12px}.ai-message{display:flex;align-items:flex-end;gap:7px}.ai-message--user{flex-direction:row-reverse}.ai-avatar{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,#eaf5fb,#d0eaf7);border:1px solid #bdddf0;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-bottom:16px}.ai-bubble-wrap{display:flex;flex-direction:column;gap:3px;max-width:78%}.ai-message--user .ai-bubble-wrap{align-items:flex-end}.ai-bubble{padding:9px 13px;border-radius:14px;font-size:13px;line-height:1.5;word-break:break-word;white-space:pre-wrap}.ai-message--assistant .ai-bubble{background:#f0f5fc;border:1px solid #dce8f4;color:#1a2738;border-bottom-left-radius:4px;white-space:normal}.ai-bubble p{margin:0 0 .5em}.ai-bubble p:last-child{margin-bottom:0}.ai-bubble h1,.ai-bubble h2,.ai-bubble h3,.ai-bubble h4,.ai-bubble h5,.ai-bubble h6{margin:.75em 0 .3em;font-weight:600;line-height:1.3}.ai-bubble h1:first-child,.ai-bubble h2:first-child,.ai-bubble h3:first-child{margin-top:0}.ai-bubble h1{font-size:1.1em}.ai-bubble h2{font-size:1.05em}.ai-bubble h3{font-size:1em}.ai-bubble ul,.ai-bubble ol{margin:.4em 0;padding-left:1.4em}.ai-bubble li{margin:.2em 0}.ai-bubble li>ul,.ai-bubble li>ol{margin:.1em 0}.ai-bubble code{font-family:Consolas,Menlo,monospace;font-size:.88em;background:#0a7ea41a;border:1px solid rgba(10,126,164,.18);border-radius:4px;padding:.1em .35em}.ai-bubble pre{margin:.5em 0;border-radius:6px;overflow-x:auto;background:#1a2738;border:1px solid #2a3a50}.ai-bubble pre code{display:block;padding:10px 12px;background:transparent;border:none;border-radius:0;color:#c9d8ea;font-size:.85em;line-height:1.55;white-space:pre}.ai-bubble blockquote{margin:.5em 0;padding:.25em .75em;border-left:3px solid #0a7ea4;color:#4a6278}.ai-bubble table{border-collapse:collapse;margin:.5em 0;font-size:.9em;width:100%}.ai-bubble th,.ai-bubble td{border:1px solid #c5d6e8;padding:4px 8px;text-align:left}.ai-bubble th{background:#e0ecf7;font-weight:600}.ai-bubble tr:nth-child(2n) td{background:#f7fafd}.ai-bubble hr{border:none;border-top:1px solid #dce8f4;margin:.6em 0}.ai-bubble a{color:#0a7ea4;text-decoration:underline}.ai-bubble strong{font-weight:600}.ai-bubble em{font-style:italic}.ai-message--user .ai-bubble{background:#0a7ea4;color:#fff;border-bottom-right-radius:4px}.ai-sources{margin-top:6px;padding:7px 10px;background:#e8f2fb;border:1px solid #c8ddf0;border-radius:8px;max-width:100%}.ai-sources-label{display:block;font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#6a88a4;margin-bottom:4px}.ai-sources-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px}.ai-source-link{display:flex;align-items:baseline;gap:5px;text-decoration:none;color:#0a6a8c;font-size:11.5px;line-height:1.4;border-radius:4px;padding:1px 2px;transition:background .12s}.ai-source-link:hover{background:#0a7ea41a;text-decoration:underline}.ai-source-num{flex-shrink:0;width:16px;height:16px;background:#0a7ea4;color:#fff;border-radius:50%;font-size:9px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.ai-source-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:340px}.ai-timestamp{font-size:10.5px;color:#9dafc4;padding:0 3px}.ai-bubble--thinking{display:flex;align-items:center;gap:5px;padding:12px 16px;transform:translateY(-20px)}.ai-thinking-dot{width:6px;height:6px;border-radius:50%;background:#7aadc8;animation:ai-thinking 1.2s ease-in-out infinite;flex-shrink:0}.ai-thinking-dot:nth-child(2){animation-delay:.2s}.ai-thinking-dot:nth-child(3){animation-delay:.4s}@keyframes ai-thinking{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}.ai-quick-strip{display:flex;align-items:flex-start;flex-direction:column;gap:10px;padding:8px 14px;border-top:1px solid #e8f0f8;flex-shrink:0}.ai-quick-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.ai-quick-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:8px;border:1px solid #c8dcec;background:#f0f7fc;color:#1a5a7a;font-size:12px;font-weight:600;cursor:pointer;transition:background .14s,border-color .14s;white-space:nowrap}.ai-quick-btn:hover:not(:disabled){background:#ddf0f8;border-color:#9fd4ec}.ai-quick-btn:disabled{opacity:.65;cursor:not-allowed}.ai-quick-spinner{width:11px;height:11px;border-radius:50%;border:1.5px solid rgba(10,94,130,.25);border-top-color:#0a5e82;animation:ai-spin .7s linear infinite;flex-shrink:0}@keyframes ai-spin{to{transform:rotate(360deg)}}.ai-quick-status{font-size:12px;color:#4f7090;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-file-input-hidden{display:none}.ai-input-row{display:flex;align-items:center;gap:8px;padding:8px 14px 10px;border-top:1px solid #e8f0f8;flex-shrink:0;background:#fafcff}.ai-input-inner{flex:1;display:flex;flex-direction:column;gap:0;border:1px solid #ccd9ea;border-radius:10px;background:#fff;overflow:hidden;transition:border-color .15s,box-shadow .15s}.ai-input-inner:focus-within{border-color:#7bc8e2;box-shadow:0 0 0 3px #0a7ea414}.ai-attachment-chips{display:flex;flex-wrap:wrap;gap:5px;padding:6px 10px 4px;border-bottom:1px solid #d4e8f5}.ai-attachment-chip{display:inline-flex;align-items:center;gap:5px;border-radius:999px;border:1px solid #9fcbdf;background:#e2f3fd;color:#16719e;font-size:12px;font-weight:500;padding:3px 8px 3px 7px;max-width:180px}.ai-attachment-chip--node{border-color:#89c4e0;background:#d8eefa;color:#0a6a96}.ai-attachment-chip--videoframe{border-color:#9b89e0;background:#ece8fa;color:#4a2fa3}.ai-attachment-chip-label{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-attachment-chip-remove{width:14px;height:14px;border-radius:50%;border:none;background:#0a5e821f;color:#16719e;font-size:12px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;padding:0;transition:background .12s,color .12s}.ai-attachment-chip-remove:hover{background:#d23c3c26;color:#c0392b}.ai-input{width:100%;resize:none;border:none;outline:none;padding:8px 11px;font-family:inherit;font-size:13px;line-height:1.5;color:#1a2738;background:transparent;min-height:36px;max-height:120px;overflow-y:auto}.ai-input::placeholder{color:#9db5cc}.ai-attach-wrap{position:relative;flex-shrink:0}.ai-attach-menu{position:absolute;bottom:calc(100% + 6px);left:0;background:#fff;border:1px solid #d0dcea;border-radius:10px;box-shadow:0 6px 18px #0a1e371f;padding:4px;display:flex;flex-direction:column;gap:2px;z-index:10;min-width:110px;animation:ai-menu-pop .12s ease}@keyframes ai-menu-pop{0%{opacity:0;transform:translateY(4px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.ai-attach-menu-item{display:flex;align-items:center;gap:7px;padding:7px 10px;border-radius:7px;border:none;background:none;cursor:pointer;font-size:13px;color:#2c4a6e;font-weight:500;text-align:left;transition:background .1s}.ai-attach-menu-item:hover{background:#edf4fb;color:#0a7ea4}.ai-menu-wrap{position:relative}.ai-menu-popup{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:#fff;border:1px solid #d0dcea;border-radius:10px;box-shadow:0 6px 18px #0a1e3724;padding:4px;display:flex;flex-direction:column;gap:2px;z-index:100;min-width:130px;animation:ai-menu-pop .12s ease}.ai-menu-popup-item{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:7px;border:none;background:none;cursor:pointer;font-size:13px;color:#2c4a6e;font-weight:500;text-align:left;white-space:nowrap;transition:background .1s}.ai-menu-popup-item:hover{background:#edf4fb;color:#0a7ea4}.alyx-window{width:320px;display:flex;flex-direction:column;border-radius:18px;background:#fff;border:1px solid #e0e8f0;box-shadow:0 8px 32px #0a1e3721;overflow:hidden}.alyx-header{display:flex;align-items:center;justify-content:space-between;padding:10px 10px 10px 18px;border-bottom:1px solid #d8dfe8;cursor:grab;-webkit-user-select:none;user-select:none}.alyx-header:active{cursor:grabbing}.alyx-header-title{font-size:16px;font-weight:700;color:#1a2b3f}.alyx-close-x{background:none;border:none;font-size:18px;line-height:1;color:#8a9bb5;cursor:pointer;padding:2px 6px;border-radius:6px}.alyx-close-x:hover{color:#1a2b3f;background:#0000000f}.alyx-body{display:flex;flex-direction:column;align-items:center;padding:18px 24px 28px}.alyx-avatar{position:relative;display:grid;width:180px;aspect-ratio:2 / 3;margin-bottom:16px;pointer-events:none;animation:alyx-avatar-hover 3.6s ease-in-out infinite}.alyx-avatar-frame{grid-area:1 / 1;width:180px;height:100%;object-fit:contain;transition:opacity .22s ease,transform .26s cubic-bezier(.22,1,.36,1),filter .22s ease;will-change:opacity,transform}.alyx-avatar-frame--default{opacity:1;transform:scale(1)}.alyx-avatar-frame--talking{opacity:0;transform:scale(1.05);filter:saturate(1.02)}.alyx-avatar--talking{animation-duration:2.8s}.alyx-avatar--talking .alyx-avatar-frame--default{opacity:0;transform:scale(.985)}.alyx-avatar--talking .alyx-avatar-frame--talking{opacity:1;transform:scale(1.24)}@keyframes alyx-avatar-hover{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.alyx-copy-wrap{min-height:56px;margin:0 0 24px;display:grid;place-items:center;overflow:hidden;transition:height .36s cubic-bezier(.22,1,.36,1)}.alyx-copy{text-align:center;font-size:16px;font-weight:500;line-height:1.5;margin:0;max-width:280px;white-space:pre-line;animation:alyx-copy-fade .33s cubic-bezier(.22,1,.36,1)}.alyx-greeting{color:#2a3a4e}.alyx-subtitle{color:#7d8794}@keyframes alyx-copy-fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.alyx-mic-wrap{position:relative;display:flex;align-items:center;justify-content:center}.alyx-mic-btn{position:relative;z-index:1;width:60px;height:60px;border-radius:50%;border:none;background:linear-gradient(145deg,#3ab0d4,#1a8aab);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px #1a8aab59;transition:transform .15s,box-shadow .2s}.alyx-mic-btn:hover{transform:scale(1.06);box-shadow:0 6px 20px #1a8aab73}.alyx-mic-btn--listening{background:linear-gradient(145deg,#0a9e6e,#0a7ea4);box-shadow:0 4px 14px #0a7ea466}.alyx-mic-btn--ai_speaking{background:linear-gradient(145deg,#0ee8a7,#0a9e6e);box-shadow:0 4px 14px #0ee8a759}.alyx-mic-btn--connecting{background:linear-gradient(145deg,#90c0d4,#6aa0b8);cursor:wait}.alyx-mic-btn--error{background:linear-gradient(145deg,#e74c5e,#c43a4a)}.alyx-voice-status{margin:14px 0 0;font-size:13px;color:#6b8aad}.alyx-pulse-ring{position:absolute;width:60px;height:60px;border-radius:50%;border:2px solid rgba(26,138,171,.35);animation:alyx-pulse 1.5s ease-out infinite;pointer-events:none}@keyframes alyx-pulse{0%{transform:scale(1);opacity:.6}to{transform:scale(1.8);opacity:0}}.node-select-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;pointer-events:none;display:flex;align-items:flex-start;justify-content:center;padding-top:18px}.node-select-banner{pointer-events:auto;display:flex;align-items:center;gap:10px;background:#0a7ea4eb;color:#fff;font-size:13px;font-weight:600;letter-spacing:.02em;padding:10px 18px;border-radius:99px;box-shadow:0 4px 18px #0a7ea459;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:ai-snap-appear .18s ease}.node-select-cancel{margin-left:6px;padding:3px 10px;border-radius:99px;border:1.5px solid rgba(255,255,255,.5);background:#ffffff26;color:#fff;font-size:12px;font-weight:600;cursor:pointer;transition:background .12s}.node-select-cancel:hover{background:#ffffff47}.ai-upload-btn{width:36px;height:36px;border-radius:10px;border:1px solid #ccd9ea;background:#f0f5fc;color:#7a98b4;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background .14s,color .14s,border-color .14s}.ai-upload-btn:hover{background:#e3f0f8;border-color:#9fd4ec;color:#0a7ea4}.ai-upload-btn--has-file{background:#daf0f8;border-color:#7bc8e2;color:#0a7ea4}.ai-send-btn{width:36px;height:36px;border-radius:10px;border:1px solid #ccd9ea;background:#f0f5fc;color:#9db5cc;display:flex;align-items:center;justify-content:center;cursor:not-allowed;flex-shrink:0;transition:background .15s,color .15s,border-color .15s,transform .1s}.ai-send-btn--active{background:#0a7ea4;border-color:#0a7ea4;color:#fff;cursor:pointer}.ai-send-btn--active:hover{background:#0b6f90;border-color:#0b6f90;transform:scale(1.05)}.ai-mic-btn{width:36px;height:36px;border-radius:10px;border:1px solid #ccd9ea;background:#f0f5fc;color:#64809a;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background .15s,color .15s,border-color .15s,transform .1s}.ai-mic-btn:hover{background:#e4ecf6;border-color:#b0c4d8;transform:scale(1.05)}.ai-mic-btn:disabled{cursor:not-allowed;opacity:.5}.ai-mic-btn--connecting{color:#e8a517;border-color:#e8a517;animation:ai-mic-pulse 1s ease-in-out infinite}.ai-mic-btn--listening{background:#fdeaea;color:#d93025;border-color:#d93025;animation:ai-mic-pulse 1.2s ease-in-out infinite}.ai-mic-btn--ai_speaking{background:#e8f5e9;color:#1b8a3a;border-color:#1b8a3a}.ai-mic-btn--error{background:#fdeaea;color:#d93025;border-color:#d93025}@keyframes ai-mic-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.ai-voice-indicator{display:flex;align-items:center;gap:8px;padding:8px 14px;background:#f0f5fc;border-top:1px solid #e4ecf6;flex-shrink:0}.ai-voice-indicator--listening{background:#fef7f7;border-top-color:#f5d0d0}.ai-voice-indicator--ai_speaking{background:#f0faf2;border-top-color:#c8e6c9}.ai-voice-indicator--error{background:#fef7f7;border-top-color:#f5d0d0}.ai-voice-pulse{width:10px;height:10px;border-radius:50%;background:#0a7ea4;flex-shrink:0}.ai-voice-indicator--connecting .ai-voice-pulse{background:#e8a517;animation:ai-voice-dot-pulse 1s ease-in-out infinite}.ai-voice-indicator--listening .ai-voice-pulse{background:#d93025;animation:ai-voice-dot-pulse 1s ease-in-out infinite}.ai-voice-indicator--ai_speaking .ai-voice-pulse{background:#1b8a3a;animation:ai-voice-dot-pulse .7s ease-in-out infinite}.ai-voice-indicator--error .ai-voice-pulse{background:#d93025}@keyframes ai-voice-dot-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.7)}}.ai-voice-label{font-size:12px;color:#64809a;flex:1}.ai-voice-stop{font-size:11px;padding:3px 10px;border-radius:6px;border:1px solid #ccd9ea;background:#fff;color:#64809a;cursor:pointer;transition:background .15s,border-color .15s}.ai-voice-stop:hover{background:#fdeaea;border-color:#d93025;color:#d93025}.ai-footer-note{margin:0;padding:0 14px 8px;font-size:10.5px;color:#b0c4d8;text-align:center;flex-shrink:0;background:#fafcff}@media (max-width: 1320px){.app-shell{grid-template-columns:clamp(3.3rem,4.7vw,4.45rem) clamp(12.5rem,21vw,16rem) minmax(0,1fr)}.details-panel{position:fixed;right:12px;top:12px;bottom:12px;width:min(360px,calc(100vw - 24px));border:1px solid #d8e0ec;border-radius:12px;box-shadow:0 20px 44px #081e363d;z-index:40}}@media (max-width: 1020px){.app-shell{grid-template-columns:1fr}.icon-rail{display:none}.left-sidebar{border-right:0;border-bottom:1px solid #d8e0ec;max-height:44vh}.toolbar-inline,.toolbar-connect{grid-template-columns:1fr}.toolbar-context{bottom:70px;width:calc(100% - 18px);min-width:0}.floating-window.item-window.evidence-modal{left:6px!important;top:6px!important;width:calc(100vw - 12px);max-height:calc(100vh - 12px);min-width:0}.evidence-modal-header{grid-template-columns:64px minmax(0,1fr) 64px}.title-display-row h3{font-size:21.6px}.title-edit-input{font-size:18px}.evidence-two-col{grid-template-columns:1fr}.ip-top-row{grid-template-columns:1fr;justify-content:start}.ip-file-inline,.ip-address-inline{max-width:100%}.video-media-layout{grid-template-columns:1fr;gap:10px}.video-section-head{align-items:end}.video-preview-thumb{border-radius:24px;min-height:170px}.video-collected-inline .ip-collected-wrap{width:100%;max-width:260px}.phone-number-field input{max-width:100%}.phone-observed-wrap{width:100%;max-width:260px}.vehicle-data-grid{grid-template-columns:1fr;gap:10px}.vehicle-name-field input,.vehicle-plate-field input{max-width:100%}.vehicle-collected-field{justify-self:start}.vehicle-collected-wrap{width:100%;max-width:260px}.vehicle-info-row{grid-template-columns:1fr}.spoken-testimony-meta-row{grid-template-columns:1fr;gap:10px}.spoken-testimony-file-inline{max-width:100%}.spoken-testimony-collected-field{justify-self:start}.spoken-testimony-collected-field .ip-collected-wrap{width:100%;max-width:260px}.ip-file-name-btn{font-size:24px}.ip-collected-inline{display:grid;justify-items:start;justify-self:start}.ip-collected-wrap{width:100%;max-width:260px}.fingerprint-data-grid{grid-template-columns:1fr;gap:10px}.fingerprint-stored-id-field{justify-self:start;max-width:260px}.location-pinpoint-layout{grid-template-columns:1fr}.location-preview-column{justify-items:stretch}.location-inline-preview{max-width:180px}.location-short-field{max-width:100%}.location-map-modal{width:calc(100vw - 18px);padding:14px}.person-name-grid,.person-info-row{grid-template-columns:1fr}.person-info-field input,.person-info-field select{max-width:100%}.person-height-range,.person-state-value-inline,.person-phone-inline{grid-template-columns:1fr}.evidence-field>span{font-size:13px}.evidence-card-head h4{font-size:20px}.evidence-image-layout{grid-template-columns:1fr}.evidence-thumb{min-height:150px}.description-row{grid-template-columns:1fr}.items-row{grid-template-columns:64px minmax(0,1fr) 110px 66px 28px}}.auth-shell,.route-shell{min-height:100vh;background:radial-gradient(circle at top right,rgba(85,158,124,.18),transparent 36%),linear-gradient(160deg,#0f1720,#131f2d 48%,#1f3340);color:#f5f7fb}.auth-shell{display:grid;place-items:center;padding:32px}.route-shell{padding:32px}.light-route-shell{display:grid;place-items:center;padding:32px 20px;background:#efefef;color:#162331}.home-app-shell{height:100dvh;min-height:100dvh;grid-template-columns:clamp(3.4rem,4.45vw,4.9rem) minmax(0,1fr);overflow:hidden}.home-route-shell{height:100%;padding:34px 38px 48px;background:#efefef;color:#162331;overflow-y:auto}.home-topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:28px}.home-welcome{margin:0;font-family:SF Compact Display,SF Pro Display,Helvetica Neue,sans-serif;font-size:clamp(27px,4vw,45px);font-weight:700;letter-spacing:.12em;color:#0a7ea4}.home-toolbar{display:flex;align-items:center;gap:12px}.home-toolbar-button{border:1px solid #d6dbe1;border-radius:10px;background:#f9f9f9;color:#6f7680;padding:10px 14px;display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700}.home-toolbar-button:hover:not(:disabled){border-color:#c8d7df;background:#fff;color:#3f5564}.home-toolbar-glyph{color:#0a7ea4;font-size:18px;line-height:1}.home-toolbar-icon{width:16px;height:16px;stroke:#7a828b;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.home-create-panel{margin-bottom:30px;border:1px solid #d8dce2;border-radius:24px;background:#fffc;box-shadow:0 10px 28px #101f2d0f;padding:22px}.home-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:grid;place-items:center;padding:24px;background:#080e16c7;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.home-modal-card{width:min(760px,100%);margin:0;background:#f5f7fa;box-shadow:0 28px 70px #00000047}.home-modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:10px}.home-modal-close{border:1px solid #d6dbe1;border-radius:10px;background:#fff;color:#667280;width:36px;height:36px;padding:0;font-size:18px;line-height:1}.home-modal-close:hover:not(:disabled){background:#f3f5f8;color:#394957}.home-create-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.home-create-grid.single-column{grid-template-columns:minmax(0,1fr);max-width:720px}.home-create-form{display:grid;gap:14px;padding:4px}.home-create-head h2{margin:0;font-size:22px}.home-create-head p{margin:6px 0 0;color:#6c7783;font-size:13px}.home-field,.home-toggle{display:grid;gap:6px}.home-field span,.home-toggle span{font-size:12px;font-weight:700;color:#5f6f80}.home-field input,.home-field textarea,.home-field select{width:100%;border:1px solid #d4dae2;border-radius:14px;background:#fafafa;color:#162331;padding:12px 14px}.home-toggle{grid-template-columns:auto 1fr;align-items:center}.home-toggle input{width:16px;height:16px;margin:0}.home-case-type-toggle{display:flex;gap:6px;background:#eef2f6;border-radius:12px;padding:4px}.home-case-type-option{flex:1;border:0;border-radius:9px;background:transparent;color:#5f6f80;font-weight:600;font-size:13px;padding:8px 12px;display:flex;align-items:center;justify-content:center;gap:6px;transition:background .15s,color .15s}.home-case-type-option svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.home-case-type-option.active{background:#fff;color:#0a7ea4;box-shadow:0 1px 4px #0a7ea41f}.home-case-type-option:disabled{opacity:.4;cursor:not-allowed}.home-create-permissions-note{margin:0;font-size:11px;color:#8fa0b0}.home-submit-button{justify-self:center;width:100%;border:0;border-radius:12px;background:#0a7ea4;color:#fff;font-weight:550;padding:11px 16px}.home-submit-button:hover:not(:disabled){background:#086b8a}.home-submit-button.muted{background:#dfeef4;color:#0a7ea4}.home-submit-button.muted:hover:not(:disabled){background:#d4e7ee}.home-department-list{display:flex;flex-wrap:wrap;gap:8px}.home-department-chip{border:1px solid #d7dce2;border-radius:999px;background:#f5f6f8;color:#556676;padding:8px 12px;font-size:12px;font-weight:700}.home-department-chip.active{border-color:#afd7e4;background:#e4f3f8;color:#0a7ea4}.home-sections{display:grid;gap:24px}.home-section{display:grid;gap:14px}.home-section-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.home-section-head h2{margin:0;font-size:18px;font-weight:700;color:#21262c}.home-section-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.home-section-badge{border-radius:999px;background:#dff1f7;color:#0a7ea4;padding:4px 10px;font-size:11px;font-weight:700}.home-section-tools{display:inline-flex;align-items:center;gap:12px;color:#8a9097}.home-mini-icon{position:relative;display:inline-block;width:14px;height:14px}.home-mini-icon.bars:before,.home-mini-icon.bars:after,.home-mini-icon.bars span,.home-mini-icon.search:before,.home-mini-icon.search:after{content:"";position:absolute}.home-mini-icon.bars:before{left:1px;right:1px;top:3px;height:1.5px;background:currentColor;box-shadow:0 4px 0 currentColor}.home-mini-icon.bars:after{left:4px;right:1px;top:11px;height:1.5px;background:currentColor}.home-mini-icon.search:before{left:1px;top:1px;width:8px;height:8px;border:1.5px solid currentColor;border-radius:999px}.home-mini-icon.search:after{right:1px;bottom:1px;width:5px;height:1.5px;background:currentColor;transform:rotate(45deg);transform-origin:center}.home-case-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(182px,1fr));gap:18px}.home-case-grid.compact{grid-template-columns:repeat(auto-fit,minmax(150px,178px))}.home-case-grid.spacious{grid-template-columns:repeat(auto-fill,minmax(182px,1fr))}.home-case-card{border:1px solid #d7d7d7;border-radius:22px;background:#ffffff57;color:#3c4249;padding:14px 14px 12px;text-align:left;display:grid;gap:4px;min-height:116px;box-shadow:inset 0 1px #ffffff73}.home-case-card:hover{border-color:#c8d9e2;background:#ffffff8f;transform:translateY(-1px)}.home-case-card strong{font-size:13px;line-height:1.25;color:#30343a}.home-case-card span,.home-case-card small{color:#5f666e;font-size:11px;line-height:1.3}.home-case-card-wrap{position:relative}.home-case-card-wrap .home-case-card{width:100%}.home-case-delete-btn{position:absolute;top:8px;right:8px;width:26px;height:26px;padding:0;border-radius:8px;border:1px solid transparent;background:transparent;color:#8e959d;display:flex;align-items:center;justify-content:center;line-height:0;cursor:pointer;opacity:0;transition:opacity .12s ease,background .12s ease,color .12s ease}.home-case-card-wrap:hover .home-case-delete-btn{opacity:1}.home-case-delete-btn:hover{background:#dc35351a;border-color:#dc353540;color:#c23030}.home-delete-confirm{background:#fff;border:1px solid #d7e0ec;border-radius:16px;padding:24px 28px;width:min(400px,calc(100vw - 32px));box-shadow:0 16px 40px #0000002e}.home-delete-confirm h2{margin:0 0 8px;font-size:17px;color:#1a2332}.home-delete-confirm p{margin:0 0 20px;font-size:13px;color:#5f6b7a;line-height:1.5}.home-delete-confirm-actions{display:flex;justify-content:flex-end;gap:8px}.home-delete-confirm-btn{padding:7px 18px;border-radius:8px;border:1px solid #c23030;background:#dc3535;color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:background .12s ease}.home-delete-confirm-btn:hover{background:#b82828}.home-delete-confirm-btn:disabled{opacity:.6;cursor:not-allowed}.home-empty-text{margin:0;color:#6f7881;font-size:13px}.home-page-error{margin:18px 0 0;color:#b13e3e}.home-page-notice{margin:12px 0 0;color:#355266}.department-topbar{margin-bottom:22px}.department-title{letter-spacing:.14em}.department-create-panel{margin-bottom:26px}.department-create-form{width:min(420px,100%);display:grid;gap:12px;padding:18px;border:1px solid #d8dce2;border-radius:20px;background:#ffffffd6;box-shadow:0 10px 24px #101f2d0d}.department-sections{display:grid;gap:30px}.department-section{display:grid;gap:14px}.department-section-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.department-section-head h2{margin:0;font-size:18px;font-weight:700;color:#21262c}.department-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.department-member-card{width:min(182px,100%);min-height:112px;border:1px solid #d7d7d7;border-radius:22px;background:#ffffff57;color:#3c4249;padding:14px 14px 12px;display:grid;gap:4px;box-shadow:inset 0 1px #ffffff73}.department-member-card strong{font-size:13px;line-height:1.25;color:#30343a}.department-member-card span,.department-member-card small{color:#5f666e;font-size:11px;line-height:1.3}.department-invite-button{border:1px solid #d6dbe1;border-radius:10px;background:#f9f9f9;color:#0a7ea4;padding:10px 14px;display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700}.department-invite-button:hover:not(:disabled){border-color:#c8d7df;background:#fff}.auth-card,.panel-card,.case-side-panel{border:1px solid rgba(229,241,255,.12);background:#080f17b8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 30px 80px #00000047}.auth-card,.panel-card{border-radius:24px}.auth-card{width:min(440px,100%);padding:32px}.login-shell{min-height:100vh;display:grid;place-items:center;padding:32px 20px;background:#efefef;color:#171717}.login-shell-inner{width:min(100%,760px);display:grid;justify-items:center;gap:44px}.login-welcome{margin:0;font-size:clamp(34px,4vw,54px);font-weight:600;letter-spacing:.12em;color:#0a7ea4;text-align:center}.login-mark{display:inline-block;width:.9em;height:.9em;margin:0 .06em 0 .02em;vertical-align:-.1em;object-fit:contain}.login-card{width:min(400px,100%);border:1px solid #d3d3d3;border-radius:22px;background:#ffffffc7;box-shadow:0 1px 4px #0c17210f;padding:34px 34px 28px;display:grid;gap:14px}.login-card h2{margin:0 0 12px;font-size:24px;font-weight:700;text-align:center}.login-fields{display:grid;gap:14px}.login-input{width:100%;min-height:42px;border:1px solid #d8d8d8;border-radius:12px;background:#f4f4f4;color:#151515;padding:10px 14px}.login-input::placeholder{color:#a1a1a1;font-weight:600}.login-inline-link,.login-toggle{border:0;background:transparent;padding:0;color:#1680a7;font-weight:600}.login-inline-link{justify-self:start;font-size:12px}.login-toggle{justify-self:center;font-size:12px}.login-submit{width:100%;min-height:40px;border:0;border-radius:10px;background:#1582a9;color:#fff;font-weight:700;padding:10px 16px}.login-submit:hover:not(:disabled){background:#11769a}.login-error{margin:0;color:#c33d3d;font-size:13px}.route-header,.home-actions,.dashboard-grid,.inline-form,.toggle-row,.case-route-shell,.access-row,.access-actions{display:flex}.route-header,.toggle-row,.access-row{align-items:center}.route-header,.dashboard-grid,.case-route-shell{gap:20px}.route-header,.access-row{justify-content:space-between}.route-header{margin-bottom:20px}.home-actions,.inline-form,.access-actions{gap:12px}.dashboard-grid{align-items:flex-start}.dashboard-grid>*{flex:1}.panel-card{padding:24px}.panel-card-light{border:1px solid rgba(10,126,164,.14);background:#fff;color:#173042;box-shadow:0 22px 60px #0a364e1f}.panel-card-light .route-kicker{color:#0a7ea4}.panel-card-light .route-subtitle,.panel-card-light .empty-state{color:#173042b8}.panel-card-light .form-error{color:#b13e3e}.panel-card-light .secondary-action{background:#fff;border:1px solid rgba(10,126,164,.2);color:#0a7ea4}.create-card{margin-top:20px;max-width:720px}.route-kicker{margin:0 0 8px;font-size:12px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#8ee6bc}.route-subtitle,.empty-state{color:#f0f7ffb8}.stack-form,.stack-section,.form-stack,.badge-list,.case-list,.access-list{display:grid;gap:14px}.form-stack span,.stack-section h2,.panel-card h2{display:block;margin-bottom:6px}.auth-card input,.auth-card textarea,.auth-card select,.panel-card input,.panel-card textarea,.panel-card select,.case-side-panel input,.case-side-panel textarea{width:100%;border:1px solid rgba(196,226,255,.14);border-radius:14px;background:#050c14b3;color:#f5f7fb;padding:12px 14px}.inline-form input{flex:1}.primary-action,.secondary-action,.danger-action,.dept-chip,.case-list-item{border:0;border-radius:14px;cursor:pointer;transition:transform .12s ease,opacity .12s ease}.primary-action,.secondary-action,.danger-action{padding:11px 16px;font-weight:600}.primary-action{background:linear-gradient(135deg,#8ee6bc,#4cb88d);color:#062415}.secondary-action{background:#ffffff14;color:#f5f7fb}.danger-action{background:#c43d3d29;color:#ffb8b8}.full-width{width:100%}.primary-action:hover,.secondary-action:hover,.danger-action:hover,.dept-chip:hover,.case-list-item:hover{transform:translateY(-1px)}.dept-chip{padding:10px 14px;background:#ffffff0d;color:#cfe2f3}.dept-chip.active{background:#8ee6bc2e;color:#8ee6bc}.case-list-item{display:grid;gap:4px;width:100%;text-align:left;padding:16px;background:#ffffff0f;color:#f5f7fb}.case-route-shell{min-height:100dvh;height:100dvh;background:#08111a;overflow:hidden}.case-side-panel{width:min(360px,100%);padding:24px;overflow-y:auto}.side-panel-header{margin-bottom:20px}.workspace-shell{min-width:0;min-height:0;flex:1;width:100%;height:100%;overflow:hidden}.access-row{gap:12px;padding:12px;border-radius:14px;background:#ffffff0a}.access-row span,.access-row small{color:#f0f7ffad}.form-error{margin:0;color:#ffb8b8}.page-error{margin-top:20px}.centered-card{width:min(560px,100%);margin:10vh auto 0;text-align:center}.light-route-shell .centered-card{margin:0}@media (max-width: 980px){.dashboard-grid,.case-route-shell{flex-direction:column}.case-side-panel{width:100%}.login-card{padding:28px 22px 24px}.login-welcome{letter-spacing:.08em}.home-topbar,.department-section-head,.department-row{flex-direction:column;align-items:flex-start}.home-toolbar{width:100%;flex-wrap:wrap}.home-create-grid{grid-template-columns:1fr}}.upload-progress-ring{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fffffff0;border-radius:inherit;gap:2px;z-index:2}.upr-bg{fill:none;stroke:#dde6f0;stroke-width:5}.upr-fill{fill:none;stroke:var(--theme-accent);stroke-width:5;stroke-linecap:round;transform:rotate(-90deg);transform-origin:32px 32px;transition:stroke-dashoffset .15s linear}.upr-label{font-size:12px;font-weight:700;color:var(--theme-accent);letter-spacing:.02em}.ip-file-progress{position:relative;width:64px;height:64px;flex-shrink:0}.vpm-float{position:fixed;display:flex;flex-direction:column;border-radius:12px;overflow:hidden;background:#111820;box-shadow:0 0 0 1px #ffffff14,0 24px 64px #000000bf;animation:vpm-pop-in .18s cubic-bezier(.22,1,.36,1);min-width:380px;min-height:280px}@keyframes vpm-pop-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.vpm-titlebar{display:flex;align-items:center;justify-content:space-between;padding:0 10px 0 14px;height:38px;background:#ffffff0a;border-bottom:1px solid rgba(255,255,255,.07);cursor:grab;flex-shrink:0;-webkit-user-select:none;user-select:none}.vpm-titlebar:active{cursor:grabbing}.vpm-titlebar-title{font-size:12px;font-weight:500;color:#fff9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.vpm-titlebar-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.vpm-titlebar-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:7px;border:none;background:transparent;color:#ffffff80;cursor:pointer;transition:background .12s,color .12s}.vpm-titlebar-btn:hover{background:#ffffff1a;color:#fff}.vpm-titlebar-btn svg{width:14px;height:14px}.vpm-ai-btn{color:#78c8ffb3}.vpm-ai-btn:hover{background:#0a7ea433;color:#7dcfff}.vpm-ai-btn--sent{color:#4ade80!important;background:#4ade801f!important}.vpm-close-titlebar-btn:hover{background:#dc3c3c40!important;color:#ff7070!important}.vpm-resize-handle{position:absolute;bottom:0;right:0;width:16px;height:16px;cursor:se-resize;z-index:10}.vpm-body{display:flex;flex:1;min-height:0;overflow:hidden}.vpm-video-col{flex:1;min-width:0;display:flex;flex-direction:column}.vpm-screen{position:relative;width:100%;flex:1;min-height:0;background:#000;cursor:pointer;overflow:hidden}.vpm-live-panel{width:320px;flex-shrink:0;display:flex;flex-direction:column;border-left:1px solid rgba(255,255,255,.07);background:#0e1520}.vpm-live-panel-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0}.vpm-live-panel-title{font-size:11px;font-weight:600;color:#ffffff80;text-transform:uppercase;letter-spacing:.06em}.vpm-live-status{font-size:11px;font-weight:500;padding:2px 7px;border-radius:999px}.vpm-live-status--connecting{background:#fbbf2426;color:#fbbf24}.vpm-live-status--ready{background:#34d39926;color:#34d399}.vpm-live-status--responding{background:#a78bfa26;color:#a78bfa}.vpm-live-status--error{background:#f8717126;color:#f87171}.vpm-live-status--idle{display:none}.vpm-live-messages{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) transparent;min-height:0}.vpm-live-empty-hint{font-size:12px;color:#ffffff4d;text-align:center;padding:24px 8px;line-height:1.5}.vpm-live-msg{max-width:90%;padding:7px 10px;border-radius:10px;font-size:12px;line-height:1.5;word-break:break-word}.vpm-live-msg--user{align-self:flex-end;background:#60a5fa2e;color:#ffffffe6;border-bottom-right-radius:3px}.vpm-live-msg--ai{align-self:flex-start;background:#ffffff12;color:#fffc;border-bottom-left-radius:3px}.vpm-live-msg--thinking{padding:10px 14px}.vpm-live-thinking-dots{display:flex;gap:4px;align-items:center}.vpm-live-thinking-dots span{width:6px;height:6px;border-radius:50%;background:#fff6;animation:vpm-dot-bounce 1.2s ease-in-out infinite}.vpm-live-thinking-dots span:nth-child(2){animation-delay:.2s}.vpm-live-thinking-dots span:nth-child(3){animation-delay:.4s}@keyframes vpm-dot-bounce{0%,80%,to{transform:scale(.7);opacity:.4}40%{transform:scale(1);opacity:1}}.vpm-live-interact{flex-shrink:0;border-top:1px solid rgba(255,255,255,.06)}.vpm-live-watching{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 16px}.vpm-live-watching-icon{width:40px;height:40px;border-radius:50%;background:#ffffff0d;display:flex;align-items:center;justify-content:center;color:#ffffff4d}.vpm-live-watching-icon svg{width:20px;height:20px}.vpm-live-watching-icon--speaking{background:#a78bfa26;color:#a78bfa;animation:vpm-mic-pulse 1s ease-in-out infinite}.vpm-live-watching-label{font-size:11px;color:#ffffff4d;letter-spacing:.02em}.vpm-live-paused-actions{display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px 16px 16px}.vpm-live-big-mic{width:64px;height:64px;border-radius:50%;border:none;background:#ffffff12;color:#fff9;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .18s,color .18s,box-shadow .18s;flex-shrink:0}.vpm-live-big-mic svg{width:28px;height:28px}.vpm-live-big-mic:hover:not(:disabled){background:#ffffff1f;color:#ffffffe6}.vpm-live-big-mic--active{background:#f8717133!important;color:#f87171!important;box-shadow:0 0 #f8717166;animation:vpm-mic-pulse 1s ease-in-out infinite}.vpm-live-big-mic:disabled{opacity:.3;cursor:not-allowed}.vpm-live-big-mic-label{font-size:12px;color:#fff6;margin-top:-4px}.vpm-live-keyboard-toggle{display:flex;align-items:center;gap:7px;padding:6px 12px;border-radius:8px;border:1px solid rgba(255,255,255,.08);background:transparent;color:#ffffff59;font-size:12px;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.vpm-live-keyboard-toggle svg{width:14px;height:14px;flex-shrink:0}.vpm-live-keyboard-toggle:hover{background:#ffffff0f;color:#fff9;border-color:#ffffff26}.vpm-live-keyboard-toggle--active{background:#60a5fa1a;color:#60a5fa;border-color:#60a5fa4d}.vpm-live-type-form{display:flex;align-items:center;gap:6px;width:100%}.vpm-live-input{flex:1;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#ffffffe6;font-size:12px;padding:6px 10px;outline:none;transition:border-color .15s}.vpm-live-input::placeholder{color:#ffffff4d}.vpm-live-input:focus{border-color:#60a5fa80}.vpm-live-input:disabled{opacity:.4;cursor:not-allowed}.vpm-live-send-btn{width:28px;height:28px;border-radius:7px;border:none;background:#60a5fa33;color:#60a5fa;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s}.vpm-live-send-btn svg{width:13px;height:13px}.vpm-live-send-btn:hover:not(:disabled){background:#60a5fa59}.vpm-live-send-btn:disabled{opacity:.35;cursor:not-allowed}@keyframes vpm-mic-pulse{0%,to{box-shadow:0 0 #f8717166}50%{box-shadow:0 0 0 10px #f8717100}}.vpm-live-btn{color:#78c8ffb3}.vpm-live-btn:hover{background:#0a7ea433;color:#7dcfff}.vpm-live-btn--active{color:#4ade80!important;background:#4ade801f!important}.vpm-video{width:100%;height:100%;object-fit:contain;display:block}.vpm-controls{position:absolute;bottom:0;left:0;right:0;padding:0 14px 12px;background:linear-gradient(to top,#000000d1,#0000);opacity:0;transition:opacity .22s ease;pointer-events:none}.vpm-controls.vpm-controls--visible{opacity:1;pointer-events:auto}.vpm-seek-wrap{position:relative;height:18px;display:flex;align-items:center;margin-bottom:4px;overflow:visible}.vpm-seek-track{position:absolute;left:7px;right:7px;height:4px;background:#ffffff38;border-radius:999px;pointer-events:none}.vpm-seek-fill{height:100%;background:var(--theme-accent);border-radius:999px}.vpm-seek{position:absolute;left:0;width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;height:18px;margin:0;cursor:pointer;outline:none;border:none;z-index:3}.vpm-seek::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #00000080;cursor:pointer;transition:transform .1s}.vpm-seek:hover::-webkit-slider-thumb{transform:scale(1.25)}.vpm-seek::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#fff;border:none;box-shadow:0 1px 4px #00000080;cursor:pointer}.vpm-seek::-webkit-slider-runnable-track{background:transparent}.vpm-seek::-moz-range-track{background:transparent;height:4px}.vpm-moment-markers{position:absolute;left:7px;right:7px;top:0;bottom:0;pointer-events:none}.vpm-moment-marker{position:absolute;top:50%;transform:translate(-50%,-50%);width:8px;height:8px;border-radius:50%;background:var(--theme-accent);border:1.5px solid rgba(0,0,0,.4);cursor:pointer;pointer-events:all;padding:0;transition:transform .1s;z-index:2}.vpm-moment-marker:hover{transform:translate(-50%,-50%) scale(1.6)}.vpm-moment-tooltip{position:absolute;bottom:calc(100% + 5px);transform:translate(-50%);background:#14141ceb;color:#fff;font-size:11px;font-weight:500;white-space:nowrap;padding:4px 8px;border-radius:5px;pointer-events:none;z-index:10;border:1px solid rgba(255,255,255,.12);box-shadow:0 2px 8px #00000080}.vpm-moment-tooltip-time{color:#aaaab9e6;font-weight:400}.vpm-moment-arrow{position:absolute;bottom:100%;transform:translate(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid rgba(20,20,28,.92);pointer-events:none;z-index:10}.vpm-bar{display:flex;align-items:center;justify-content:space-between;gap:8px}.vpm-bar-left,.vpm-bar-right{display:flex;align-items:center;gap:4px}.vpm-icon-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;border:none;background:transparent;color:#fff;cursor:pointer;transition:background .12s;flex-shrink:0}.vpm-icon-btn:hover{background:#ffffff24}.vpm-icon-btn svg{width:20px;height:20px}.vpm-volume-group{display:flex;align-items:center;gap:4px}.vpm-volume-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:68px;height:4px;border-radius:999px;background:linear-gradient(to right,rgba(255,255,255,.9) 0%,rgba(255,255,255,.9) var(--vol),rgba(255,255,255,.25) var(--vol),rgba(255,255,255,.25) 100%);cursor:pointer;outline:none;border:none}.vpm-volume-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:12px;height:12px;border-radius:50%;background:#fff;cursor:pointer}.vpm-volume-slider::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:#fff;border:none;cursor:pointer}.vpm-time{font-size:12px;font-weight:500;color:#ffffffe0;letter-spacing:.02em;white-space:nowrap;padding-left:4px;font-variant-numeric:tabular-nums}.case-map-view{position:relative;flex:1 1 auto;min-height:0;height:100%;overflow:hidden}.case-map-view-canvas{width:100%;height:100%}.case-map-view-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#fafafa;z-index:2}.case-map-view-overlay p{color:var(--theme-muted);font-size:14px}.case-map-view-empty-badge{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:2;background:#ffffffeb;border:1px solid #e0e4e9;border-radius:6px;padding:6px 14px;font-size:13px;color:var(--theme-muted);pointer-events:none;box-shadow:0 2px 8px #00000014}.case-created-date{margin:4px 0 0;font-size:12px;color:var(--theme-muted)}.map-page-content{position:relative;display:flex;flex-direction:column;min-height:100vh;background:#f5f5f5}.map-page-selector{position:absolute;top:12px;left:12px;z-index:10}.map-case-selector-toggle{display:flex;align-items:center;gap:8px;padding:8px 14px;background:#fff;border:1px solid #d0d5dd;border-radius:8px;font-size:13px;font-weight:600;color:#162331;cursor:pointer;box-shadow:0 2px 8px #0000001a;min-width:160px}.map-case-selector-toggle:hover{background:#f9fafb}.map-case-selector-label{flex:1;text-align:left}.map-case-selector-chevron{font-size:10px;color:#667085}.map-case-selector-dropdown{position:absolute;top:calc(100% + 4px);left:0;min-width:260px;max-height:360px;background:#fff;border:1px solid #d0d5dd;border-radius:8px;box-shadow:0 4px 16px #0000001f;overflow:hidden;display:flex;flex-direction:column}.map-case-selector-actions{display:flex;gap:4px;padding:8px 10px;border-bottom:1px solid #eaecf0}.map-case-selector-action{background:none;border:none;padding:4px 8px;font-size:12px;font-weight:600;color:#0a7ea4;cursor:pointer;border-radius:4px}.map-case-selector-action:hover{background:#f0f7fa}.map-case-selector-list{overflow-y:auto;max-height:300px;padding:4px 0}.map-case-selector-item{display:flex;align-items:center;gap:10px;padding:8px 12px;font-size:13px;color:#162331;cursor:pointer}.map-case-selector-item:hover{background:#f5f7fa}.map-case-selector-item input[type=checkbox]{width:16px;height:16px;accent-color:#0a7ea4;cursor:pointer;flex-shrink:0}.map-case-selector-item-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-case-selector-empty{padding:12px;font-size:13px;color:var(--theme-muted);text-align:center}.map-page-map{flex:1;min-height:100vh}.sp-shell{display:flex;flex-direction:column;overflow-y:auto}.sp-center{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;flex:1;padding:8px 40px 72px;gap:0;min-height:0}.sp-center:has(.sp-results-wrap),.sp-center:has(.sp-empty){padding-top:44px}.sp-hero-avatar{width:min(180px,34vw);height:auto;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;margin-bottom:-14px;transform:translate(-14px);animation:sp-alyx-hover 3.6s ease-in-out infinite}@keyframes sp-alyx-hover{0%,to{transform:translate(-14px) translateY(0)}50%{transform:translate(-14px) translateY(-8px)}}.sp-search-form{width:100%;max-width:640px;display:flex;flex-direction:column;gap:10px;margin-top:6px}.sp-center:has(.sp-results-wrap) .sp-search-form,.sp-center:has(.sp-empty) .sp-search-form{margin-top:6px}.sp-search-input-wrap{display:flex;align-items:center;gap:10px;background:#fff;border:1.5px solid #d4dae3;border-radius:14px;padding:13px 18px;box-shadow:0 2px 12px #0000000f}.sp-search-icon{width:19px;height:19px;color:#9aa3ae;flex-shrink:0}.sp-spinner{width:19px;height:19px;border:2px solid #d4dae3;border-top-color:var(--theme-accent);border-radius:50%;animation:sp-spin .7s linear infinite;flex-shrink:0}@keyframes sp-spin{to{transform:rotate(360deg)}}.sp-search-input{flex:1;border:none;outline:none!important;box-shadow:none!important;background:transparent;font-size:15px;color:#1a2738;min-width:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.sp-search-input:focus,.sp-search-input:focus-visible{outline:none!important;box-shadow:none!important;border:none!important}.sp-search-input::placeholder{color:#b0b8c4}.sp-search-clear{border:none;background:none;cursor:pointer;color:#9aa3ae;font-size:13px;padding:2px 5px;border-radius:4px;flex-shrink:0;line-height:1}.sp-search-clear:hover{color:#444;background:#f0f2f5}.sp-error{color:#c0392b;font-size:14px;margin:0;width:100%;max-width:640px}.sp-empty{width:100%;max-width:640px;color:var(--theme-muted);font-size:14px}.sp-empty p{margin:0 0 6px}.sp-empty-hint{font-size:12px}.sp-results-wrap{width:100%;max-width:640px}.sp-result-count{margin:0 0 12px;font-size:13px;color:var(--theme-muted)}.sp-result-list{display:flex;flex-direction:column;gap:8px}.sp-see-more-wrap{display:flex;justify-content:center;margin-top:14px}.sp-see-more-btn{align-self:center;min-width:148px}.sp-result-card{display:flex;flex-direction:column;gap:6px;padding:14px 18px;background:#fff;border:1px solid #dce2ea;border-radius:10px;text-align:left;cursor:pointer;transition:border-color .12s,box-shadow .12s}.sp-result-card:hover{border-color:var(--theme-accent);box-shadow:0 2px 10px #0a7ea414}.sp-result-header{display:flex;align-items:center;gap:10px}.sp-result-title{font-size:14px;color:#1a2738;flex:1}.sp-result-matched-entity{margin:0 0 2px;font-size:11.5px;font-weight:600;color:#4a7cdc}.sp-result-summary{margin:0;font-size:12px;color:#6b7785;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.sp-result-open{font-size:12px;color:var(--theme-accent);font-weight:500}.ai-match-badge{font-size:11px;font-weight:600;border-radius:5px;padding:2px 8px;white-space:nowrap;letter-spacing:.02em}.ai-match-badge.match-strong{background:#e6f4ea;color:#1e7e34}.ai-match-badge.match-good{background:#fff8e1;color:#b07800}.ai-match-badge.match-weak{background:#f0f2f5;color:#5a6472}.sp-deep-search-btn{display:flex;align-items:center;justify-content:center;gap:7px;align-self:flex-end;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);color:#c8d6f0;border:1px solid rgba(120,160,255,.25);border-radius:10px;padding:9px 18px;font-size:13px;font-weight:500;cursor:pointer;transition:opacity .15s,box-shadow .15s;white-space:nowrap;letter-spacing:.01em}.sp-deep-search-btn:hover:not(:disabled){box-shadow:0 0 16px #5078ff4d;border-color:#78a0ff80;color:#e8f0ff}.sp-deep-search-btn:disabled{opacity:.4;cursor:not-allowed}.sp-btn-spinner{width:13px;height:13px;border:1.5px solid rgba(200,214,240,.3);border-top-color:#c8d6f0;border-radius:50%;animation:sp-spin .7s linear infinite;flex-shrink:0}.sp-deep-status{margin:0;font-size:13px;color:#7090c8;font-style:italic}.sp-deep-badge{display:inline-block;margin-left:8px;font-size:10px;font-weight:600;background:linear-gradient(135deg,#1a1a2e,#0f3460);color:#c8d6f0;border:1px solid rgba(120,160,255,.3);border-radius:4px;padding:1px 7px;letter-spacing:.04em;vertical-align:middle}.analytics-page-shell{min-height:100dvh;display:block;padding:22px 34px 34px;overflow:auto;background:#f1f1f1}.analytics-main-column,.analytics-side-column{display:grid;gap:18px;align-content:start}.analytics-main-column--studio{max-width:none;width:100%}.analytics-page-header h1{margin:0;color:#0a86b6;font-size:3rem;font-weight:700;letter-spacing:.04em}.analytics-back-link{display:inline-flex;align-items:center;width:fit-content;margin-top:8px;color:#4f6778;text-decoration:none;font-weight:600}.analytics-query-card,.analytics-workspace-card,.analytics-recent-section,.analytics-side-card{border-radius:28px;background:transparent;box-shadow:none;border:none}.analytics-query-card--hero{padding:0 12px 8px}.analytics-query-hero{display:grid;justify-items:center;gap:2px}.analytics-hero-avatar{width:min(180px,34vw);height:auto;min-width:0;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;margin-bottom:6px;transform:translate(-14px);animation:sp-alyx-hover 3.6s ease-in-out infinite}.analytics-query-form{display:grid;gap:12px}.analytics-query-form--hero{width:min(680px,calc(100vw - 180px))}.analytics-query-input-shell{margin-top:-10px}.analytics-query-input{min-height:30px}.analytics-query-toggles{display:flex;flex-wrap:wrap;justify-content:center;gap:18px}.analytics-secondary-link{align-self:center;text-decoration:none;color:#25607c;font-weight:700;padding:10px 14px;border-radius:999px;background:#ffffffe0;border:1px solid rgba(10,126,164,.12)}.analytics-run-button,.analytics-edit-button{min-width:170px}.analytics-toggle{display:inline-flex;align-items:center;gap:8px;color:#5a6670;font-weight:600;background:#ffffffc7;padding:8px 12px;border-radius:999px}.analytics-example-row{margin-top:10px;display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.analytics-recent-section .route-kicker{color:var(--theme-accent)}.analytics-example-chip{border-radius:999px;border:1px solid rgba(10,126,164,.12);background:#fff;color:#0a4f67;padding:9px 13px;font-weight:600}.analytics-section-header,.analytics-recent-row,.analytics-explanation-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.analytics-explanation-header h3,.analytics-section-header h3,.analytics-workspace-header h2{margin:0}.analytics-copy{margin:8px 0 0;color:#5d7082;line-height:1.55}.analytics-query-textarea,.analytics-spec-editor{width:100%;border-radius:18px;border:1px solid rgba(48,70,83,.1);background:#ffffffeb;padding:14px 16px;line-height:1.5}.analytics-query-textarea{min-height:92px}.analytics-spec-editor{min-height:300px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:12.5px}.analytics-toggle input{width:16px;height:16px}.analytics-metadata-grid{margin-top:16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.analytics-metadata-grid>div{border-radius:16px;background:#f5f9fc;border:1px solid #e2ebf2;padding:12px;display:grid;gap:4px}.analytics-metadata-grid span{color:#6c8190;font-size:12px;text-transform:uppercase;letter-spacing:.06em}.analytics-metadata-grid strong{font-size:15px;color:#163445}.analytics-warning-list{margin-top:16px;display:grid;gap:8px}.analytics-warning-item{margin:0;padding:10px 12px;border-radius:14px;background:#fff8e8;border:1px solid #f2ddb0;color:#7d5b13}.analytics-recent-section{padding:4px 12px 0}.analytics-recent-list{margin-top:10px;display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:16px;width:100%}.analytics-recent-card-wrap{position:relative}.analytics-recent-card-wrap.active .analytics-recent-card{border-color:#2f46533d;box-shadow:none}.analytics-recent-card{width:100%;text-align:left;border-radius:20px;padding:12px;border:1px solid rgba(47,70,83,.12);background:#fff;box-shadow:0 8px 18px #1c2a3514;display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px}.analytics-recent-card-wrap:hover .analytics-recent-delete-btn{opacity:1}.analytics-recent-card-body{display:grid;gap:8px}.analytics-recent-card p{margin:0;color:#5c6771;font-weight:400;line-height:1.3}.analytics-recent-row strong{color:#2c3137;font-size:.98rem;font-weight:700;line-height:1.2}.analytics-recent-row.muted{color:#6d747b;font-size:12px}.analytics-recent-delete-btn{top:10px;right:10px}.analytics-thumb{position:relative;min-height:104px;border-radius:16px;overflow:hidden;border:1px solid rgba(65,83,96,.08);background:#f7f7f5}.analytics-thumb-chart{display:flex;align-items:end;justify-content:space-evenly;padding:10px 10px 14px;background:linear-gradient(180deg,#ffffff47,#fff0),linear-gradient(180deg,#eef4f7,#f8fbfd)}.analytics-thumb-bar{width:12px;border-radius:999px 999px 4px 4px;background:linear-gradient(180deg,#39a7d3,#0a7ea4)}.analytics-thumb-matrix{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:8px;background:linear-gradient(180deg,#f5fafc,#eef4f8)}.analytics-thumb-cell{border-radius:10px}.analytics-thumb-cell-1{background:#0a7ea42e}.analytics-thumb-cell-2{background:#0a7ea452}.analytics-thumb-cell-3{background:#0a7ea47a}.analytics-thumb-cell-4{background:#0a7ea4a8}.analytics-thumb-cell-5{background:#0a7ea4d1}.analytics-thumb-map{background:linear-gradient(180deg,#ffffff6b,#fff0),#f2efe6}.analytics-thumb-map-grid,.analytics-thumb-road,.analytics-thumb-heat{position:absolute;border-radius:999px}.analytics-thumb-map-grid{background:#b0bcc96b}.analytics-thumb-map-grid-a{top:8px;right:26px;bottom:58px;left:-18px;transform:rotate(18deg)}.analytics-thumb-map-grid-b{top:54px;right:-10px;bottom:16px;left:12px;transform:rotate(-28deg)}.analytics-thumb-road{background:#7c8994cc}.analytics-thumb-road-a{width:160px;height:8px;left:-22px;top:46px;transform:rotate(16deg)}.analytics-thumb-road-b{width:8px;height:150px;left:60px;top:-18px;transform:rotate(8deg)}.analytics-thumb-heat{background:radial-gradient(circle,#ff974bc7,#d22d1c9e 52%,#d22d1c00);filter:blur(2px)}.analytics-thumb-heat-a{width:78px;height:78px;left:16px;top:26px}.analytics-thumb-heat-b{width:62px;height:62px;right:10px;top:12px}.analytics-workspace-card{margin-top:8px;padding:0 12px}.analytics-workspace-header{position:relative;text-align:center;margin-bottom:18px}.analytics-workspace-header h2{font-size:clamp(2.1rem,4vw,3.3rem);font-weight:500;color:#111318}.analytics-workspace-header-actions{position:absolute;top:0;right:0;z-index:2}.analytics-workspace-edit-trigger{min-width:116px;background:#fff;color:#14455b;border:1px solid rgba(20,69,91,.14);box-shadow:0 10px 24px #1c2a3514}.analytics-workspace-edit-trigger:hover{background:#f7fbfd}.analytics-edit-modal .secondary-action{background:#f5fafc;color:#1e4d63;border:1px solid #d8e7ef}.analytics-edit-modal .primary-action{background:var(--theme-accent);color:#f8fbfd}.analytics-workspace-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:28px;align-items:start}.analytics-explanation-card,.analytics-side-column--workspace .analytics-side-card{padding:18px;border-radius:22px;background:#ffffffc7;border:1px solid rgba(47,70,83,.1);box-shadow:0 10px 22px #1c2a350d}.analytics-render-card{min-height:560px;padding:10px;border-radius:22px;background:transparent}.analytics-render-card--workspace{min-height:560px}.analytics-side-column--workspace{gap:16px}.analytics-summary-card{padding:22px;border-radius:24px;background:#fff;border:1px solid rgba(47,70,83,.1);box-shadow:0 16px 34px #1c2a3514}.analytics-summary-head h3{margin:0;color:#16212b;font-size:1.35rem}.analytics-summary-card .route-kicker,.analytics-edit-modal .route-kicker{color:var(--theme-accent)}.analytics-summary-body{margin-top:18px;display:grid;gap:18px}.analytics-summary-section{display:grid;gap:10px}.analytics-summary-section h4{margin:0;color:var(--theme-accent);font-size:.92rem;letter-spacing:.04em;text-transform:uppercase}.analytics-copy-muted{color:#6f8190}.analytics-keypoint-list{display:grid;gap:10px}.analytics-keypoint-item{border-radius:16px;background:#f7fafc;border:1px solid #e3edf4;color:#294252;padding:12px 14px;line-height:1.45}.analytics-metadata-grid--summary{margin-top:0}.analytics-case-chip-list{display:flex;flex-wrap:wrap;gap:10px}.analytics-case-chip{display:inline-flex;align-items:center;border-radius:999px;background:#eef7fb;border:1px solid #d8e8f0;color:#23556f;padding:7px 12px;font-weight:600;font-size:.88rem}.analytics-empty-state,.analytics-render-error{min-height:420px;border-radius:20px;display:grid;place-items:center;text-align:center;padding:24px;color:#4f6778;background:#ffffffb8}.analytics-render-error{color:#8a1f18;background:#fff5f3eb}.analytics-vega-host{min-height:500px;border-radius:20px;overflow:hidden;background:#fff3}.analytics-map-host{min-height:560px;border-radius:20px;overflow:hidden;border:1px solid rgba(10,126,164,.12);background:#ffffff3d}.analytics-map-frame{position:relative}.analytics-map-host .maplibregl-map{border-radius:20px}.analytics-map-empty{position:absolute;top:14px;left:14px;z-index:2;padding:10px 12px;border-radius:12px;background:#ffffffeb;border:1px solid rgba(10,126,164,.16);color:#4f6778;box-shadow:0 10px 24px #0e222e1a}.analytics-map-hint{position:absolute;top:14px;left:14px;z-index:2;max-width:360px;padding:12px 14px;border-radius:14px;background:#0a161fc7;color:#eff8fb;box-shadow:0 12px 28px #0e222e2e;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.analytics-map-hint strong{display:block;margin-bottom:4px;font-size:.92rem;letter-spacing:.01em}.analytics-side-card{padding:0;background:transparent}.analytics-table-wrap{overflow:auto;border-radius:18px;border:1px solid rgba(48,70,83,.12);background:#ffffffe6}.analytics-table-wrap.compact{margin-top:12px}.analytics-table{width:100%;border-collapse:collapse;background:transparent}.analytics-table th,.analytics-table td{padding:11px 12px;border-bottom:1px solid #e8eef3;text-align:left;white-space:nowrap}.analytics-table th{position:sticky;top:0;background:#f7fafc;color:#536879;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.analytics-table tbody tr:hover{background:#f8fbfd}.analytics-edit-modal{width:min(1220px,calc(100vw - 48px));max-height:min(88vh,980px);overflow:hidden;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:0;border-radius:28px;background:#fff;box-shadow:0 28px 70px #0b18212e}.analytics-edit-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:24px 26px 18px;border-bottom:1px solid #e8eff4}.analytics-edit-modal-header h2{margin:0;color:#16212b;font-size:1.55rem}.analytics-edit-tabs{display:flex;gap:8px;padding:14px 26px 0}.analytics-edit-tab{border:1px solid #d7e6ee;background:#f6fafc;color:#456275;border-radius:999px;padding:9px 14px;font-weight:700}.analytics-edit-tab.active{background:#0a7ea4;border-color:#0a7ea4;color:#fff}.analytics-edit-modal-body{min-height:0;display:grid;gap:16px;padding:18px 26px 24px;overflow:auto}.analytics-edit-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.analytics-edit-toolbar-group{display:flex;flex-wrap:wrap;gap:10px}.analytics-inline-input,.analytics-table-input{width:100%;border-radius:12px;border:1px solid #d8e5ec;background:#fff;color:#183243;padding:10px 12px}.analytics-inline-input{min-width:240px}.analytics-table-wrap--editor{max-height:56vh}.analytics-table--editor th,.analytics-table--editor td{vertical-align:top}.analytics-editor-column-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.analytics-column-delete,.analytics-row-delete{border:none;background:transparent;color:#a33931;font-weight:700}.analytics-column-delete:disabled{color:#90a2af;cursor:not-allowed}.analytics-editor-index{color:#6d7e8a;font-weight:700}.analytics-editor-actions{text-align:right}.analytics-editor-empty{padding:18px;text-align:center;color:#607382}.analytics-spec-editor--modal{min-height:420px}.analytics-edit-error{margin:0;color:#982b23;background:#fff5f3;border:1px solid #f2d4cf;border-radius:14px;padding:12px 14px}.analytics-edit-footer{display:flex;justify-content:flex-end;gap:10px}@media (max-width: 1200px){.analytics-workspace-grid{grid-template-columns:1fr}}@media (max-width: 760px){.analytics-page-shell{padding:16px 16px 28px}.analytics-page-header h1{font-size:2.2rem}.analytics-query-form--hero{width:100%}.analytics-recent-card,.analytics-metadata-grid{grid-template-columns:1fr}.analytics-workspace-header-actions{position:static;margin-bottom:12px}.analytics-edit-modal{width:calc(100vw - 20px);max-height:92vh}}
