:root{--font:"Poppins", system-ui, -apple-system, "Segoe UI", sans-serif;--navy:#02184e;--navy-2:#0a2466;--navy-deep:#010f33;--green:#61a60e;--green-d:#4e8a0b;--green-t:#3f7608;--green-tint:#ecf4e2;--ink:#1b2235;--text:#333;--muted:#5b6275;--line:#e3e6ee;--grey:#f2f2f2;--grey-l:#f7f8fb;--white:#fff;--r:12px;--r-lg:20px;--pill:999px;--sh-1:0 3px 6px #00000014;--sh-2:0 24px 50px -24px #02184e4d, 0 6px 16px -6px #02184e0f;--sh-o:0 16px 34px -14px #61a60e8c;--ease:cubic-bezier(.16, 1, .3, 1);--ease-back:cubic-bezier(.34, 1.56, .64, 1)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--font);color:var(--text);background:var(--grey-l);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.55}h1,h2,h3,p,ul,ol{margin:0}ul,ol{padding:0;list-style:none}a{color:var(--navy);text-decoration:none}a:hover{color:var(--green-t)}button{font:inherit;cursor:pointer}code{background:var(--grey);border-radius:6px;padding:2px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em}:focus-visible{outline-offset:2px;border-radius:6px;outline:3px solid #61a60e8c}.muted{color:var(--muted)}.error{color:#b42318;font-size:.92rem}.kicker{letter-spacing:.16em;text-transform:uppercase;color:var(--green-t);margin-bottom:6px;font-size:.74rem;font-weight:600}.boot{min-height:100vh;color:var(--muted);place-items:center;display:grid}.logo{color:var(--navy);font-weight:700;font-size:calc(var(--s,28px) * .8);letter-spacing:-.02em;align-items:center;gap:10px;display:inline-flex}.logo svg{width:var(--s,28px);height:var(--s,28px)}.logo--light{color:#fff}.btn{--bg:var(--green);--fg:#fff;--hbg:var(--navy);border-radius:var(--pill);background:var(--bg);min-height:44px;color:var(--fg);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;box-shadow:var(--sh-o);transition:background .25s, color .25s, transform .35s var(--ease-back), box-shadow .3s;border:0;justify-content:center;align-items:center;gap:.6em;padding:.7em 1.5em;font-size:.86rem;font-weight:600;display:inline-flex}.btn:hover{background:var(--hbg);color:#fff;transform:translateY(-1px)}.btn:disabled{opacity:.55;cursor:default;transform:none}.btn--ghost{--bg:transparent;--fg:var(--navy);--hbg:var(--navy);box-shadow:inset 0 0 0 2px var(--navy)}.btn--ghost-light{--bg:transparent;--fg:#fff;--hbg:var(--green);box-shadow:inset 0 0 0 2px #ffffff80}.btn--sm{min-height:34px;padding:.45em 1.05em;font-size:.74rem}.chip{border-radius:var(--pill);min-height:38px;color:var(--navy);box-shadow:inset 0 0 0 1.5px var(--line);background:#fff;border:0;padding:.45em 1.1em;font-size:.84rem;font-weight:600;transition:background .25s,color .25s,box-shadow .25s}.chip:hover:not(:disabled),.chip[aria-selected=true]{background:var(--navy);color:#fff;box-shadow:none}.chip:disabled{opacity:.6;cursor:default}.shell{min-height:100vh}.top{border-bottom:1px solid var(--line);background:#fff;align-items:center;gap:16px;height:72px;padding:0 clamp(16px,4vw,40px);display:flex}.top__sp{flex:1}.page{align-content:start;gap:20px;width:min(100% - 2*clamp(16px,4vw,40px),1180px);margin:0 auto;padding:clamp(24px,4vw,44px) 0 80px;display:grid}.page__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:4px;display:flex}.page__head h1{color:var(--navy);letter-spacing:-.02em;font-size:clamp(1.6rem,2.6vw,2.2rem);font-weight:700;line-height:1.1}.shell--side{grid-template-columns:260px minmax(0,1fr);min-height:100vh;display:grid}.side{background:var(--navy);color:#fff;flex-direction:column;gap:22px;height:100vh;padding:24px 20px;display:flex;position:sticky;top:0}.side__brand{display:block}.side__ws{border-radius:var(--r);background:#ffffff0f;align-items:center;gap:12px;padding:12px;display:flex}.side__ws b{font-size:.95rem;line-height:1.2;display:block}.side__ws small{color:#fff9;font-size:.76rem}.side__nav{gap:4px;display:grid}.side__nav a{color:#ffffffc7;border-radius:10px;padding:10px 14px;font-size:.92rem;font-weight:500;transition:background .25s,color .25s;display:block}.side__nav a:hover{color:#fff;background:#ffffff14}.side__nav a[aria-current=page]{background:var(--green);color:#fff;font-weight:600}.side__foot{color:#ffffffb3;gap:8px;margin-top:auto;font-size:.82rem;display:grid}.side__foot a{color:#fffc}.side__foot small{color:#ffffff73;font-size:.7rem}.card{border-radius:var(--r-lg);box-shadow:0 0 0 1px var(--line);background:#fff;align-content:start;gap:14px;padding:clamp(18px,2.4vw,26px);display:grid}.card__head{justify-content:space-between;align-items:center;gap:12px;display:flex}.card__head h2{color:var(--navy);font-size:1.05rem;font-weight:700}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;display:grid}.field{gap:6px;display:grid}.field--wide,.grid>.actions{grid-column:1/-1}.field__label{color:var(--navy);font-size:.8rem;font-weight:600}.field__hint{color:var(--muted);font-size:.76rem}input,select,textarea{border:1.5px solid var(--line);width:100%;font:inherit;color:var(--ink);background:#fff;border-radius:10px;padding:10px 13px;font-size:.93rem;transition:border-color .2s,box-shadow .2s}input:focus,select:focus,textarea:focus{border-color:var(--green);outline:none;box-shadow:0 0 0 3px #61a60e2e}textarea{resize:vertical;min-height:44px}input[type=color]{height:44px;padding:4px}input[type=file]{padding:8px}.check{align-items:center;gap:10px;min-height:44px;font-size:.92rem;display:flex}.check input{width:20px;height:20px}.actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.table{border-collapse:collapse;width:100%;font-size:.9rem}.table th{text-align:left;border-bottom:1px solid var(--line);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:8px 10px;font-size:.72rem;font-weight:600}.table td{border-bottom:1px solid var(--line);vertical-align:top;padding:12px 10px}.table td b{color:var(--navy);display:block}.table td small{color:var(--muted);word-break:break-all;font-size:.8rem;display:block}.table tr.is-muted td{opacity:.55}.row-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.status{border-radius:var(--pill);letter-spacing:.06em;text-transform:uppercase;align-items:center;padding:.3em .8em;font-size:.72rem;font-weight:700;display:inline-flex}.status--ok{background:var(--green-tint);color:var(--green-t)}.status--wait{color:#8a5a00;background:#fff4db}.status--warn{color:#b42318;background:#fdecec}.status--err{color:#fff;background:#b42318}.status--muted{background:var(--grey);color:var(--muted)}.empty{text-align:center;color:var(--muted);justify-items:center;gap:10px;padding:30px;display:grid}.empty b{color:var(--navy);font-size:1.05rem}.kinds{flex-wrap:wrap;gap:8px;display:flex}.doclist{gap:8px;display:grid}.doclist li b{color:var(--navy);font-size:.92rem}.doclist li small{color:var(--muted);font-size:.8rem;display:block}.code{background:var(--navy);color:#fff;white-space:pre-wrap;word-break:break-all;border-radius:12px;margin:0;padding:14px 16px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.85rem}.keybox{background:var(--green-tint);border-radius:12px;gap:8px;padding:14px 16px;display:grid}.keybox code{word-break:break-all;background:#fff}.wslist{gap:12px;display:grid}.wscard{border-radius:var(--r-lg);box-shadow:0 0 0 1px var(--line);transition:box-shadow .3s, transform .4s var(--ease);background:#fff;align-items:center;gap:16px;padding:16px 20px;display:flex}.wscard:hover{box-shadow:0 0 0 1.5px var(--green), var(--sh-2);transform:translateY(-2px)}.wscard__av{color:#fff;text-transform:uppercase;border-radius:14px;flex:none;place-items:center;width:46px;height:46px;font-size:1.2rem;font-weight:700;display:grid}.wscard__body{flex:1;min-width:0;display:grid}.wscard__body b{color:var(--navy);font-size:1.05rem}.wscard__body small{color:var(--muted);font-size:.82rem}.wscard__go{color:var(--green);font-size:1.3rem}.stats{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;display:grid}.stat{border-radius:var(--r-lg);box-shadow:0 0 0 1px var(--line);background:#fff;gap:2px;padding:18px 20px;display:grid}.stat__v{color:var(--navy);letter-spacing:-.02em;font-size:1.9rem;font-weight:700;line-height:1.1}.stat__l{color:var(--muted);font-size:.8rem}.stat small{color:var(--green-t);font-size:.74rem}.steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.steps li{align-items:flex-start;gap:12px;display:flex}.steps__n{background:var(--grey);width:34px;height:34px;color:var(--navy);border-radius:50%;flex:none;place-items:center;font-size:.85rem;font-weight:700;display:grid}.steps li.is-done .steps__n{background:var(--green);color:#fff}.steps b{color:var(--navy);font-size:.92rem;display:block}.steps small{color:var(--muted);font-size:.78rem;line-height:1.4;display:block}.bars{align-items:flex-end;gap:6px;height:140px;display:flex}.bars__b{flex:1;align-content:end;justify-items:center;gap:4px;height:100%;display:grid}.bars__b i{width:100%;max-width:28px;height:max(4px, var(--h));background:var(--green);border-radius:6px 6px 2px 2px;display:block}.bars__b small{color:var(--muted);font-size:.62rem}.tester{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:start;gap:20px;display:grid}.chatlist{background:var(--grey-l);border-radius:14px;flex-direction:column;gap:10px;height:460px;padding:16px;display:flex;overflow-y:auto}.chatlist--static{height:auto;max-height:70vh}.bubble{border-radius:16px;max-width:84%;padding:11px 14px;font-size:.93rem;line-height:1.5}.bubble p{white-space:pre-wrap}.bubble--assistant{color:var(--ink);background:#fff;border-bottom-left-radius:6px;align-self:flex-start;box-shadow:0 1px 2px #0000000f}.bubble--user{background:var(--navy);color:#fff;border-bottom-right-radius:6px;align-self:flex-end}.bubble--typing{color:var(--muted)}.bubble__cites,.bubble__acts,.bubble__meta{color:var(--muted);flex-wrap:wrap;gap:6px;margin-top:8px;font-size:.74rem;display:flex}.bubble--user .bubble__meta{color:#fff9}.bubble__cites span{border-radius:var(--pill);background:var(--grey-l);padding:2px 8px}.chips{flex-wrap:wrap;gap:8px;display:flex}.composer{gap:10px;display:flex}.hits{gap:10px;display:grid}.hits li{background:var(--grey-l);border-radius:12px;padding:12px 14px;font-size:.84rem}.hits b{color:var(--navy);display:block}.hits em{color:var(--green-t);font-size:.78rem;font-style:normal;display:block}.hits p{color:var(--muted);white-space:pre-wrap;margin-top:4px}.split{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:20px;display:grid}.convlist{gap:8px;display:grid}.convlist a{background:var(--grey-l);border-radius:12px;gap:4px;padding:12px 14px;display:grid}.convlist li.is-current a{box-shadow:inset 0 0 0 2px var(--green)}.convlist__top{justify-content:space-between;align-items:center;gap:8px;display:flex}.convlist__top small,.convlist small{color:var(--muted);font-size:.76rem}.convlist b{color:var(--navy);white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;overflow:hidden}.detail__head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.login{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);min-height:100vh;display:grid}.login__side{background:radial-gradient(circle at 20% 20%, var(--navy-2), var(--navy-deep) 70%);color:#fff;flex-direction:column;justify-content:center;gap:22px;padding:clamp(32px,6vw,90px);display:flex}.login__side h1{letter-spacing:-.02em;font-size:clamp(1.9rem,3.4vw,3rem);font-weight:700;line-height:1.12}.login__side em{color:#98c562;font-style:normal}.login__side p{color:#fffc;max-width:46ch}.login__side small{color:#ffffff80;letter-spacing:.08em;text-transform:uppercase;font-size:.78rem}.login__form{align-content:center;gap:16px;width:min(100%,420px);margin:0 auto;padding:clamp(24px,4vw,48px);display:grid}.login__form h2{color:var(--navy);font-size:1.6rem}.toasts{z-index:50;gap:8px;display:grid;position:fixed;bottom:20px;right:20px}.toast{background:var(--navy);color:#fff;box-shadow:var(--sh-2);animation:toast .35s var(--ease);border-radius:12px;padding:12px 16px;font-size:.9rem}.toast--err{background:#b42318}@keyframes toast{0%{opacity:0;transform:translateY(10px)}}@media (width<=1250px){.stats{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=1000px){.stats,.steps{grid-template-columns:repeat(2,minmax(0,1fr))}.tester,.split{grid-template-columns:minmax(0,1fr)}}@media (width<=820px){.shell--side{grid-template-columns:minmax(0,1fr)}.side{height:auto;position:static}.side__nav{flex-wrap:wrap;display:flex}.login{grid-template-columns:minmax(0,1fr)}.login__side{padding:36px 24px}.grid{grid-template-columns:minmax(0,1fr)}.table{display:block;overflow-x:auto}}
