:root,[data-theme=jarvis]{--bg:#04080e;--bg-elev:#08111c;--surface:#0c1c2cb8;--surface-2:#12283ea6;--border:#50c8ff38;--border-strong:#50c8ff73;--text:#d8f3ff;--text-dim:#7fa9c0;--accent:#3fd7ff;--accent-2:#00ffc6;--accent-contrast:#001018;--danger:#ff5f7a;--warn:#ffc15e;--ok:#4dffb0;--work:#6aa8ff;--private:#d98bff;--radius:10px;--radius-lg:16px;--shadow:0 0 0 1px var(--border), 0 0 24px #3fd7ff14;--glow:0 0 18px #3fd7ff73;--font:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-display:"Rajdhani", "Orbitron", "Inter", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--hud-opacity:1;--anim:1;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=saas]{--bg:#f6f7f9;--bg-elev:#fff;--surface:#fff;--surface-2:#f1f3f6;--border:#e3e6eb;--border-strong:#cfd4dc;--text:#16191f;--text-dim:#5d6573;--accent:#4f46e5;--accent-2:#4f46e5;--accent-contrast:#fff;--danger:#dc2626;--warn:#d97706;--ok:#16a34a;--work:#2563eb;--private:#9333ea;--radius:8px;--radius-lg:12px;--shadow:0 1px 2px #1018280f, 0 1px 3px #10182814;--glow:none;--font-display:var(--font);--hud-opacity:0;--anim:.4;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=saas][data-scheme=dark]{--bg:#0f1115;--bg-elev:#161920;--surface:#161920;--surface-2:#1d2129;--border:#272c36;--border-strong:#353b47;--text:#e8eaee;--text-dim:#9aa3b2;--accent:#818cf8;--accent-2:#818cf8;--accent-contrast:#0b0d12;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-reduced-motion:reduce){:root{--anim:0}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5}[data-theme=jarvis] body,body[data-theme=jarvis]{background:radial-gradient(1200px 700px at 70% -10%, #00a0ff1f, transparent 60%), radial-gradient(900px 600px at -10% 110%, #00ffc612, transparent 60%), var(--bg)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{font-family:var(--font-display);letter-spacing:.01em;margin:0 0 12px;font-weight:600}h1{font-size:22px}h2{font-size:17px}h3{font-size:15px}[data-theme=jarvis] h1,[data-theme=jarvis] h2{text-transform:uppercase;letter-spacing:.12em;color:var(--accent);text-shadow:var(--glow)}code,pre{font-family:var(--font-mono);font-size:12.5px}pre{white-space:pre-wrap;word-break:break-word}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:color-mix(in srgb, var(--accent) 35%, transparent)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);border:2px solid var(--bg);border-radius:10px}.shell{grid-template-rows:56px 1fr;grid-template-columns:220px 1fr;height:100%;display:grid}.shell.collapsed{grid-template-columns:64px 1fr}.topbar{border-bottom:1px solid var(--border);background:var(--bg-elev);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);grid-column:1/-1;align-items:center;gap:12px;padding:0 16px;display:flex}[data-theme=jarvis] .topbar{background:#040a12b3}.brand{font-family:var(--font-display);letter-spacing:.15em;align-items:center;gap:10px;font-size:16px;font-weight:700;display:flex}.brand img{width:26px;height:26px}.spacer{flex:1}.sidebar{border-right:1px solid var(--border);background:var(--bg-elev);padding:10px 8px;overflow-y:auto}[data-theme=jarvis] .sidebar{background:#040a128c}.nav-item{border-radius:var(--radius);color:var(--text-dim);cursor:pointer;white-space:nowrap;align-items:center;gap:10px;padding:8px 10px;display:flex;overflow:hidden;text-decoration:none!important}.nav-item:hover{background:var(--surface-2);color:var(--text)}.nav-item.active{background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--accent)}[data-theme=jarvis] .nav-item.active{box-shadow:inset 2px 0 0 var(--accent);text-shadow:var(--glow)}.nav-item .ico{text-align:center;flex:none;width:20px}.nav-section{text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim);opacity:.7;padding:14px 10px 6px;font-size:11px}.collapsed .nav-label,.collapsed .nav-section{display:none}.main{min-width:0;padding:20px;overflow:auto}.main.flush{padding:0;overflow:hidden}.page{max-width:1200px;margin:0 auto}@media (width<=760px){.shell,.shell.collapsed{grid-template-rows:56px 1fr 60px;grid-template-columns:1fr}.sidebar{border-right:0;border-top:1px solid var(--border);grid-row:3;padding:6px;display:flex;overflow-x:auto}.sidebar .nav-section,.sidebar .nav-label{display:none}.main{padding:12px}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:16px}[data-theme=jarvis] .card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative}[data-theme=jarvis] .card:before{content:"";border-radius:inherit;pointer-events:none;opacity:var(--hud-opacity);background:linear-gradient(135deg, var(--accent) 0 14px, transparent 14px) top left / 16px 16px no-repeat, linear-gradient(-45deg, var(--accent) 0 14px, transparent 14px) bottom right / 16px 16px no-repeat;-webkit-mask-composite:xor;padding:1px;position:absolute;inset:-1px;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.card-title{align-items:center;gap:8px;margin-bottom:10px;font-weight:600;display:flex}.grid{gap:14px;display:grid}.grid.cols-2{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.grid.cols-3{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.stack{flex-direction:column;gap:10px;display:flex}.muted{color:var(--text-dim)}.small{font-size:12px}.mono{font-family:var(--font-mono)}.right{margin-left:auto}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.btn{border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--surface-2);height:34px;color:var(--text);font:inherit;cursor:pointer;transition:all calc(.15s * var(--anim));white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-weight:500;display:inline-flex}.btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}.btn.primary:hover:not(:disabled){filter:brightness(1.1);color:var(--accent-contrast);box-shadow:var(--glow)}.btn.danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 50%, transparent)}.btn.danger.solid{background:var(--danger);color:#fff}.btn.ghost{background:0 0;border-color:#0000}.btn.sm{height:28px;padding:0 10px;font-size:12.5px}.btn.icon{width:34px;padding:0}.input,select.input,textarea.input{border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--bg-elev);width:100%;height:36px;color:var(--text);font:inherit;padding:0 10px}[data-theme=jarvis] .input{background:#02080e99}textarea.input{resize:vertical;height:auto;min-height:70px;padding:8px 10px}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 20%, transparent);outline:none}label.field{color:var(--text-dim);flex-direction:column;gap:4px;font-size:12.5px;display:flex}label.check{cursor:pointer;align-items:center;gap:6px;display:inline-flex}.badge{border:1px solid var(--border-strong);color:var(--text-dim);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:1px 8px;font-size:11.5px;font-weight:600;display:inline-flex}.badge.work{color:var(--work);border-color:color-mix(in srgb, var(--work) 50%, transparent);background:color-mix(in srgb, var(--work) 10%, transparent)}.badge.private{color:var(--private);border-color:color-mix(in srgb, var(--private) 50%, transparent);background:color-mix(in srgb, var(--private) 10%, transparent)}.badge.ok{color:var(--ok);border-color:color-mix(in srgb, var(--ok) 50%, transparent)}.badge.warn{color:var(--warn);border-color:color-mix(in srgb, var(--warn) 50%, transparent)}.badge.danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 50%, transparent)}.seg{border:1px solid var(--border-strong);border-radius:var(--radius);display:inline-flex;overflow:hidden}.seg button{color:var(--text-dim);height:32px;font:inherit;cursor:pointer;background:0 0;border:0;padding:0 12px;font-weight:600}.seg button+button{border-left:1px solid var(--border-strong)}.seg button.on{background:var(--accent);color:var(--accent-contrast)}.seg button.on.work{background:var(--work);color:#fff}.seg button.on.private{background:var(--private);color:#fff}table.table{border-collapse:collapse;width:100%}.table th,.table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:8px 10px}.table th{text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);font-size:11.5px;font-weight:600}.table tr:hover td{background:var(--surface-2)}.list-item{border-bottom:1px solid var(--border);align-items:flex-start;gap:10px;padding:10px 0;display:flex}.list-item:last-child{border-bottom:0}.empty{text-align:center;color:var(--text-dim);padding:30px}.error-box{border-radius:var(--radius);background:color-mix(in srgb, var(--danger) 12%, transparent);color:var(--danger);border:1px solid color-mix(in srgb, var(--danger) 40%, transparent);padding:10px 12px}.spinner{border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:14px;display:flex;overflow-x:auto}.tabs button{color:var(--text-dim);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;padding:8px 12px}.tabs button.on{color:var(--accent);border-bottom-color:var(--accent)}.modal-backdrop{z-index:50;background:#00000080;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{width:min(560px,100%);max-height:90vh;overflow:auto}.toast-wrap{z-index:60;flex-direction:column;gap:8px;max-width:380px;display:flex;position:fixed;bottom:16px;right:16px}.toast{animation:slidein calc(.25s * var(--anim)) ease-out}@keyframes slidein{0%{opacity:0;transform:translateY(12px)}}.halt-on{background:var(--danger)!important;color:#fff!important;border-color:var(--danger)!important}.assistant{grid-template-columns:minmax(340px,1fr) minmax(320px,.9fr);height:100%;min-height:0;display:grid}.chat-col{border-right:1px solid var(--border);flex-direction:column;min-height:0;display:flex;position:relative}.chat-head{border-bottom:1px solid var(--border);padding:10px 14px}.conv-list{z-index:10;max-height:50vh;position:absolute;top:50px;left:10px;right:10px;overflow:auto}.messages{flex-direction:column;flex:1;gap:12px;padding:16px;display:flex;overflow-y:auto}.msg{border-radius:14px;flex:none;max-width:85%;padding:10px 14px;line-height:1.55}.msg.msg-user{background:color-mix(in srgb, var(--accent) 16%, var(--surface));border:1px solid color-mix(in srgb, var(--accent) 35%, transparent);align-self:flex-end}.msg.msg-assistant{background:var(--surface);border:1px solid var(--border);align-self:flex-start}[data-theme=jarvis] .msg.msg-assistant{border-left:2px solid var(--accent);border-radius:4px 14px 14px 4px}.msg .md p{margin:0 0 6px}.msg .md p:last-child{margin:0}.msg .md ul,.msg .md ol{margin:4px 0;padding-left:20px}.msg .md pre{background:var(--bg-elev);border-radius:6px;padding:8px}.tools{margin-bottom:4px}.composer{border-top:1px solid var(--border);align-items:flex-end;gap:8px;padding:12px;display:flex}.composer textarea{height:40px;min-height:40px;max-height:180px}.orb-wrap{cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;flex-direction:column;align-items:center;padding:10px 0 0;display:flex}.voice-bar{background:var(--surface);border:1px solid var(--border);border-radius:999px;align-items:center;gap:8px;padding:6px 12px;display:flex;position:absolute;bottom:70px;left:50%;transform:translate(-50%)}.panel-col{flex-direction:column;gap:12px;min-width:0;padding:14px;display:flex;overflow-y:auto}[data-theme=jarvis] .panel-card{animation:flyin calc(.35s * var(--anim)) ease-out}@keyframes flyin{0%{opacity:0;transform:translate(30px)scale(.97)}}@media (width<=980px){.assistant{grid-template-rows:1fr auto;grid-template-columns:1fr}.panel-col{border-top:1px solid var(--border);max-height:40vh}.chat-col{border-right:0}}.week{grid-template-columns:repeat(7,minmax(120px,1fr));gap:8px;display:grid;overflow-x:auto}.day{flex-direction:column;gap:6px;min-height:200px;padding:10px;display:flex}.day.today{border-color:var(--accent)}.ev{border-left:3px solid var(--private);background:var(--surface-2);border-radius:6px;padding:4px 6px;font-size:12.5px}.ev.work{border-left-color:var(--work)}.ev.dim{opacity:.45;text-decoration:line-through}
