:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:#102538;background:#f4f8fb}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button{cursor:pointer}.login{min-height:100dvh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 15% 5%,#d3f5e7,transparent 34%),linear-gradient(145deg,#edf7fb,#dcebf3)}.card{width:min(100%,420px);padding:36px;border-radius:24px;background:white;box-shadow:0 20px 70px #12374620}.brand{font-size:21px;font-weight:800;letter-spacing:-.05em;color:#063b52}.brand b{color:#08a87e}.brand span{font-size:11px;letter-spacing:.08em;background:#dcf7ed;color:#08795d;border-radius:7px;padding:5px 7px;margin-left:8px;vertical-align:middle}.card h1{font-size:27px;line-height:1.2;margin:40px 0 8px}.card p{color:#5e7181;margin-bottom:28px}.card label{display:block;font-size:13px;font-weight:650;margin:16px 0}.card input{display:block;width:100%;padding:13px;border:1px solid #ccdce5;border-radius:10px;margin-top:7px;outline-color:#10a57c}.card button,.new,#send{background:#07876c;color:white;border:0;border-radius:11px;font-weight:700}.card button{width:100%;padding:14px;margin-top:8px}.card small{display:block;min-height:20px;color:#c43434;margin-top:12px}.shell{display:flex;height:100dvh;overflow:hidden}aside{width:280px;flex:none;background:#062e40;color:#d6e6ed;display:flex;flex-direction:column;padding:21px 14px}.aside-head{padding:5px 10px 24px}.aside-head .brand{color:white}.new{padding:12px;text-align:left;margin:0 5px 20px;background:#0e6e72}nav{overflow:auto;flex:1}nav button{display:block;width:100%;background:transparent;border:0;border-radius:9px;color:#cfdee6;text-align:left;padding:13px 12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}nav button:hover,nav button.active{background:#16485a;color:white}.aside-foot{border-top:1px solid #286073;padding:17px 10px 3px;display:flex;justify-content:space-between;gap:8px;font-size:12px}.aside-foot span{overflow:hidden;text-overflow:ellipsis}.aside-foot button{border:0;background:none;color:#bce9df;white-space:nowrap}.chat-pane{flex:1;min-width:0;display:flex;flex-direction:column;background:#f8fbfd}.chat-pane header{height:70px;flex:none;background:white;border-bottom:1px solid #e2eaf0;display:flex;align-items:center;padding:0 27px;gap:16px}.chat-pane header strong{display:block}.chat-pane header small{display:block;color:#8294a0;font-size:12px;margin-top:3px}.status{margin-left:auto;color:#068767;font-size:12px}.messages{flex:1;overflow:auto;padding:30px max(24px,calc((100% - 760px)/2));display:flex;flex-direction:column;gap:18px}.welcome{text-align:center;margin:auto;color:#607684;max-width:410px}.welcome h2{color:#123448;margin-bottom:6px}.spark{font-size:37px;color:#0ba77e}.bubble{max-width:85%;padding:14px 18px;border-radius:17px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere;box-shadow:0 2px 9px #1237460a}.bubble.user{align-self:flex-end;background:#067e6a;color:white;border-bottom-right-radius:5px}.bubble.assistant{align-self:flex-start;background:white;border:1px solid #e4edf0;border-bottom-left-radius:5px}.bubble.error{background:#fff3f2;color:#a32d2d}#composer{width:min(100% - 40px,760px);margin:0 auto;display:flex;align-items:end;gap:10px;background:white;border:1px solid #d8e6ec;border-radius:17px;padding:9px;box-shadow:0 7px 30px #1237460c}textarea{resize:none;min-height:35px;max-height:150px;flex:1;border:0;outline:none;padding:8px 10px;background:transparent}#send{width:39px;height:39px;flex:none}.note{text-align:center;color:#8396a0;font-size:11px;margin:10px 14px 15px}.icon{display:none;background:none;border:0;color:inherit;font-size:22px}@media(max-width:700px){aside{position:absolute;z-index:3;top:0;bottom:0;left:0;transform:translateX(-100%);transition:transform .2s;box-shadow:12px 0 30px #002a4040}aside.open{transform:none}.icon{display:block}.aside-head{display:flex;justify-content:space-between}.chat-pane header{padding:0 16px}.status{font-size:11px}.messages{padding:20px 15px}.bubble{max-width:92%}#composer{width:calc(100% - 20px)}.note{font-size:10px}}
[hidden]{display:none!important}
dialog{border:0;border-radius:18px;padding:26px;width:min(92vw,400px);box-shadow:0 20px 70px #092c4050}dialog::backdrop{background:#052b4099}dialog h2{margin:0 0 18px}dialog label{display:block;margin:12px 0;font-size:13px;font-weight:650}dialog input{display:block;width:100%;padding:11px;border:1px solid #ccdce5;border-radius:9px;margin-top:6px}#password-error{display:block;min-height:20px;color:#c43434}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:12px}.dialog-actions button{border:0;border-radius:9px;padding:10px 13px}.dialog-actions button[type=submit]{background:#07876c;color:white}
