:root{--bg:#f6f6f7;--surface:#fff;--surface-2:#fafafb;--surface-3:#f1f1f3;--border:#e6e6ea;--border-strong:#d5d5db;--text:#1b1b1e;--text-2:#5f5f68;--text-muted:#9a9aa4;--accent:#4f46e5;--accent-bg:#eeeefc;--accent-text:#3b34b8;--ok-bg:#e7f5ec;--ok-text:#1c7c42;--warn-bg:#fbf1e0;--warn-text:#96610f;--err-bg:#fbe7e7;--err-text:#a4292b;--radius:8px;--radius-lg:12px;--sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace}@media (prefers-color-scheme:dark){:root{--bg:#161618;--surface:#1e1e21;--surface-2:#242427;--surface-3:#2b2b2f;--border:#303035;--border-strong:#3d3d43;--text:#ececed;--text-2:#a6a6ae;--text-muted:#6e6e77;--accent:#7c74f0;--accent-bg:#26243a;--accent-text:#b9b3f7;--ok-bg:#16301f;--ok-text:#5fce88;--warn-bg:#332612;--warn-text:#e0a44f;--err-bg:#3a1c1c;--err-text:#e88}}*{box-sizing:border-box}html,body{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:14px}button{cursor:pointer;font-family:inherit}a{color:inherit;text-decoration:none}i.ti{font-size:18px;line-height:1}i.ti.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}[hidden]{display:none!important}.app{height:100vh;display:flex;overflow:hidden}.sidebar{background:var(--surface-2);border-right:.5px solid var(--border);flex-direction:column;flex:none;width:260px;padding:12px 10px;display:flex;overflow-y:auto}.brand{align-items:center;gap:8px;padding:4px 8px 14px;font-weight:500;display:flex}.brand .logo{background:var(--accent);color:#fff;border-radius:7px;place-items:center;width:26px;height:26px;font-size:15px;display:grid}.btn-new{border:.5px solid var(--border-strong);background:var(--surface);width:100%;color:var(--text);border-radius:9px;align-items:center;gap:8px;padding:9px 11px;font-size:14px;display:flex}.btn-new:hover{background:var(--surface-3)}.side-label{color:var(--text-muted);padding:16px 8px 6px;font-size:12px}.side-item{width:100%;color:var(--text-2);border-radius:8px;align-items:center;display:flex;position:relative}.side-item:hover{background:var(--surface-3)}.side-item.is-active{background:var(--accent-bg);color:var(--accent-text)}.side-item-name{text-align:left;min-width:0;color:inherit;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;flex:1;padding:8px 11px;font-size:14px;overflow:hidden}.side-item-edit{border:1px solid var(--accent);background:var(--surface);min-width:0;color:var(--text);font:inherit;border-radius:6px;outline:none;flex:1;margin:3px;padding:5px 8px;font-size:14px}.side-item-menu{width:26px;height:26px;color:inherit;opacity:0;background:0 0;border:0;border-radius:6px;flex:none;place-items:center;margin-right:4px;font-size:16px;line-height:1;display:grid}.side-item:hover .side-item-menu{opacity:.7}.side-item-menu:hover{opacity:1;background:var(--surface-2)}.side-menu{z-index:20;background:var(--surface);border:.5px solid var(--border);border-radius:9px;min-width:130px;padding:4px;position:absolute;top:36px;right:6px;box-shadow:0 6px 18px #00000024}.side-menu button{text-align:left;width:100%;color:var(--text);background:0 0;border:0;border-radius:6px;align-items:center;gap:7px;padding:7px 9px;font-size:13px;display:flex}.side-menu button:hover{background:var(--surface-3)}.side-empty{color:var(--text-muted);padding:8px 11px;font-size:13px}.title-edit{border:1px solid var(--accent);background:var(--surface);color:var(--text);font:inherit;border-radius:6px;outline:none;min-width:180px;padding:2px 7px}[x-cloak]{display:none!important}.content{background:var(--surface);flex-direction:column;flex:1;min-width:0;display:flex}.topbar{border-bottom:.5px solid var(--border);flex:none;align-items:center;gap:10px;height:56px;padding:0 20px;display:flex}.title{align-items:center;gap:10px;font-size:16px;font-weight:500;display:flex}.spacer{flex:1}.view-body{flex:1;padding:20px;overflow:auto}.badge{white-space:nowrap;border-radius:20px;align-items:center;gap:4px;padding:2px 9px;font-size:12px;font-weight:500;display:inline-flex}.badge--ok{background:var(--ok-bg);color:var(--ok-text)}.badge--run{background:var(--warn-bg);color:var(--warn-text)}.badge--err{background:var(--err-bg);color:var(--err-text)}.badge--muted{background:var(--surface-3);color:var(--text-2)}.btn{border:.5px solid var(--border-strong);background:var(--surface);border-radius:var(--radius);height:36px;color:var(--text);align-items:center;gap:7px;padding:0 14px;font-size:13px;display:inline-flex}.btn:hover{background:var(--surface-3)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--accent);color:#fff;border-color:#0000}.btn--primary:hover{filter:brightness(1.06)}.chip{border:.5px solid var(--border);background:var(--surface-2);color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;border-radius:7px;align-items:center;gap:6px;max-width:100%;padding:4px 9px;font-size:12px;display:inline-flex;overflow:hidden}.chip--link{color:var(--accent-text);border-color:var(--accent-bg);cursor:pointer}.icon-btn{width:30px;height:30px;color:var(--text-2);background:0 0;border:0;border-radius:6px;place-items:center;display:grid}.icon-btn:hover{background:var(--surface-3)}.table{border-collapse:collapse;width:100%}.table th{text-align:left;color:var(--text-2);padding:8px 10px;font-size:12px;font-weight:500}.table td{border-top:.5px solid var(--border);vertical-align:middle;padding:12px 10px}.table td.ell{text-overflow:ellipsis;white-space:nowrap;max-width:0;overflow:hidden}.col-period{width:110px}.col-in{width:170px}.col-status{width:120px}.col-actions{width:100px}.row-actions{justify-content:flex-end;gap:2px;display:flex}.add-row{border-top:.5px solid var(--border);color:var(--text-2);background:0 0;border-bottom:0;border-left:0;border-right:0;align-items:center;gap:8px;width:100%;padding:14px 10px;font-size:13px;display:flex}.add-row:hover{color:var(--text)}.empty-state{text-align:center;color:var(--text-muted);padding:40px 10px;font-size:14px}.auth{place-items:center;min-height:100vh;padding:20px;display:grid}.auth-card{background:var(--surface);border:.5px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:360px;padding:26px 24px}.auth-brand{align-items:center;gap:8px;margin-bottom:18px;font-weight:500;display:flex}.auth-brand .logo{background:var(--accent);color:#fff;border-radius:7px;place-items:center;width:26px;height:26px;font-size:15px;display:grid}.field{margin-bottom:14px}.field label{color:var(--text-2);margin-bottom:6px;font-size:13px;display:block}.input{border:.5px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-2);width:100%;height:38px;color:var(--text);font:inherit;outline:none;padding:0 12px}.input:focus{border-color:var(--accent)}.btn-block{justify-content:center;width:100%;height:40px}.form-error{background:var(--err-bg);color:var(--err-text);border-radius:var(--radius);margin-bottom:14px;padding:8px 11px;font-size:13px}.form-grid{flex-direction:column;gap:14px;display:flex}.modal-overlay{z-index:20;background:#00000059;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border:.5px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:420px;padding:22px}.modal-title{margin:0 0 16px;font-size:15px;font-weight:500}.modal-actions{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.editor{background:var(--surface);flex-direction:column;display:flex;position:absolute;inset:0}.chat{background:var(--surface);flex-direction:column;flex:1;min-height:0;display:flex}.chat-body{flex:1;padding:24px 16px;overflow:auto}.chat-col{max-width:760px;margin:0 auto}.msg{border-radius:11px;max-width:92%;margin-bottom:10px;padding:9px 12px;font-size:13px;line-height:1.55}.msg--user{background:var(--accent-bg);color:var(--accent-text);margin-left:auto}.msg--ai{background:var(--surface);border:.5px solid var(--border)}.msg--ai .md>:first-child{margin-top:0}.msg--ai .md>:last-child{margin-bottom:0}.msg--ai .md p{margin:0 0 8px}.msg--ai .md ul,.msg--ai .md ol{margin:0 0 8px;padding-left:20px}.msg--ai .md li{margin:2px 0}.msg--ai .md code{background:var(--surface-2);border:.5px solid var(--border);border-radius:4px;padding:1px 4px;font-size:12px}.msg--ai .md pre{background:var(--surface-2);border:.5px solid var(--border);border-radius:8px;margin:0 0 8px;padding:8px 10px;overflow:auto}.msg--ai .md pre code{background:0 0;border:0;padding:0}.msg--ai .md h1,.msg--ai .md h2,.msg--ai .md h3{margin:8px 0 4px;font-size:13px;font-weight:600}.msg--ai .md a{color:var(--accent-text)}.chat-input{border-top:.5px solid var(--border);padding:12px 16px}.composer{border:.5px solid var(--border);background:var(--surface);border-radius:11px;padding:10px}.composer textarea{resize:none;width:100%;font:inherit;color:var(--text);background:0 0;border:0;outline:none;min-height:40px}.composer-tools{align-items:center;gap:6px;margin-top:6px;display:flex}@media (width<=720px){.sidebar{z-index:5;height:100%;transition:transform .2s;position:absolute;transform:translate(-100%)}.app.nav-open .sidebar{transform:none}}.proposed{border-top:1px solid var(--border,#e5e7eb);padding:12px 0}.proposed-head{color:var(--muted,#6b7280);margin-bottom:8px;font-size:13px}.proposed-card{border:1px solid var(--border,#e5e7eb);border-radius:8px;margin-bottom:8px;padding:10px 12px}.proposed-title{margin-bottom:4px;font-weight:600}.proposed-vals{color:var(--muted,#6b7280);margin:4px 0 8px;padding-left:18px;font-size:13px}.proposed-actions{gap:8px;display:flex}
