:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#e9f0f6;background:#0b121b;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;min-width:320px}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:2px solid #76c8e9;outline-offset:2px}[hidden]{display:none!important}
.notice{position:fixed;top:1rem;right:1rem;z-index:10;max-width:min(28rem,calc(100vw - 2rem));background:#193244;color:#eaf9ff;padding:.85rem 1rem;border-radius:12px;box-shadow:0 12px 35px #0008}.notice:empty{display:none}
.auth-screen{min-height:100vh;display:grid;place-items:center;padding:1.25rem;background:radial-gradient(circle at 80% 20%,#174151 0,transparent 35%),linear-gradient(150deg,#111f2d,#0b121b 70%)}
.auth-card{width:min(100%,28rem);padding:2.25rem;background:#172433;border:1px solid #2a4353;border-radius:22px;box-shadow:0 24px 80px #0007}.brand-mark{display:grid;place-items:center;flex:none;width:2.35rem;height:2.35rem;background:#82d5e3;color:#10232d;font-weight:900;border-radius:11px;letter-spacing:-.1em}.auth-card .brand-mark{width:3rem;height:3rem;font-size:1.4rem}.eyebrow{margin:0 0 .35rem;color:#78cbdc;font-size:.69rem;font-weight:800;letter-spacing:.17em}.auth-card .eyebrow{margin-top:2rem}.auth-card h1{font-size:1.75rem;margin:.25rem 0 .5rem}.muted{color:#9eb1c1;line-height:1.5}.auth-card form{display:grid;gap:.55rem;margin-top:1.75rem}.auth-card label{font-size:.84rem;font-weight:700;margin-top:.6rem}.auth-card input{width:100%;height:2.8rem;padding:.65rem .8rem;color:#f2f8fc;background:#0e1a27;border:1px solid #385268;border-radius:10px}.auth-card input:focus{border-color:#78cbdc}.hint{font-size:.76rem;color:#9eb1c1;line-height:1.4}.hint code{color:#bce8ec}.form-error{min-height:1.15rem;color:#ffb4aa;font-size:.84rem;margin:.4rem 0}.primary-button{border:0;background:#8bd8e4;color:#10232c;font-weight:800;border-radius:10px;padding:.8rem 1rem;min-height:2.9rem}.primary-button:hover{background:#b4eaf0}
.shell{min-height:100vh;display:grid;grid-template-columns:245px minmax(0,1fr)}.sidebar{display:flex;flex-direction:column;background:#111c29;border-right:1px solid #26384a;padding:1.4rem 1rem}.sidebar-brand{display:flex;align-items:center;gap:.75rem;padding:.2rem .55rem 1.8rem}.sidebar-brand strong{display:block;font-size:1rem}.sidebar-brand small{display:block;color:#829bac;margin-top:.12rem;font-size:.7rem}.nav-label{color:#738da0;font-size:.63rem;font-weight:800;letter-spacing:.12em;padding:0 .65rem;margin:.5rem 0 .7rem}.desktop-nav{display:grid;gap:.18rem}.nav-item{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:2.7rem;padding:.55rem .7rem;border:0;border-radius:9px;background:transparent;color:#a9bfcd;text-align:left}.nav-item:hover{background:#1e3241;color:#e9f6fa}.nav-item.active{background:#1d4753;color:#d5f8f8;font-weight:750}.nav-item .badge{color:#7794a5;font-size:.65rem}.nav-item.active .badge{color:#a5dce2}.sidebar-bottom{margin-top:auto;color:#8fa8b8;border-top:1px solid #283a49;padding:1rem .55rem;font-size:.73rem}.sidebar-bottom #version{float:right}.online-dot{display:inline-block;width:.45rem;height:.45rem;margin-right:.4rem;border-radius:50%;background:#6cdbaf}
.main-column{min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:96px;padding:1.25rem clamp(1.2rem,3.8vw,3rem);border-bottom:1px solid #233748}.topbar h1{margin:0;font-size:1.65rem}.account{display:flex;align-items:center;gap:1rem;font-size:.84rem;color:#a7bdca}.text-button{border:1px solid #38546a;background:#142633;color:#c8e8ee;padding:.55rem .75rem;border-radius:8px}.text-button:hover{background:#1f3b4b}main{max-width:1320px;margin:0 auto;padding:clamp(1.2rem,3.8vw,3rem)}.intro{max-width:47rem;margin:0 0 2rem;color:#a7bbc8;line-height:1.55}.section-title{font-size:1rem;margin:2rem 0 .8rem}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.cards+.intro{margin-top:1.4rem}.card{min-width:0;background:#152534;border:1px solid #294052;border-radius:15px;padding:1.25rem}.card-label{color:#94adbd;font-size:.78rem;margin:0 0 .9rem}.card-value{font-size:1.55rem;font-weight:800;letter-spacing:-.04em;margin:0;overflow-wrap:anywhere}.card-note{color:#8ca4b4;font-size:.75rem;margin:.7rem 0 0}.pill{display:inline-flex;align-items:center;gap:.4rem;border-radius:99px;background:#1a453a;color:#9fe5c8;font-size:.72rem;font-weight:750;padding:.35rem .6rem}.pill.off{background:#4c322a;color:#ffc6ae}.list{display:grid;gap:.6rem}.list-row{display:flex;justify-content:space-between;gap:1rem;align-items:center;background:#142433;border:1px solid #273c4e;border-radius:10px;padding:.9rem 1rem}.list-row span:last-child{color:#8fb0c1;font-size:.78rem}.empty{padding:2rem;border:1px dashed #3d5b6d;border-radius:13px;color:#a7bdca;line-height:1.5}.mobile-nav{display:none}
.inline-form,.file-controls{display:flex;align-items:center;flex-wrap:wrap;gap:.65rem;margin:0 0 1rem}.inline-form input,.file-controls select{min-width:min(100%,16rem);max-width:100%;min-height:2.8rem;padding:.55rem .7rem;color:#e9f0f6;background:#142633;border:1px solid #38546a;border-radius:8px}.file-controls select{flex:1}.file-location{overflow-wrap:anywhere;color:#9eb1c1;font-size:.84rem}.file-entry{width:100%;color:#e9f0f6;text-align:left;cursor:pointer}.file-entry:hover{background:#1e3241}.file-preview{min-width:0;margin-top:1rem}.file-content{max-height:35rem;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;background:#142433;border:1px solid #273c4e;border-radius:10px;padding:1rem}.permission-row{display:flex;align-items:center;flex-wrap:wrap;gap:.65rem}.permission-row strong{width:100%}.permission-row .card-note{width:100%;overflow-wrap:anywhere}.token-value{display:block;overflow-wrap:anywhere;padding:1rem;background:#142433;border:1px solid #273c4e;border-radius:10px}
@media(max-width:900px){.shell{grid-template-columns:205px minmax(0,1fr)}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.shell{display:block;padding-bottom:72px}.sidebar{display:none}.topbar{min-height:82px;padding:1rem}.topbar h1{font-size:1.4rem}.account{gap:.5rem}#account-name{display:none}main{padding:1rem}.cards{grid-template-columns:1fr}.mobile-nav{display:flex;position:fixed;z-index:5;bottom:0;left:0;right:0;height:68px;padding:0 .2rem max(.25rem,env(safe-area-inset-bottom));background:#10202d;border-top:1px solid #345064;justify-content:space-around}.mobile-nav button{display:grid;place-items:center;gap:.15rem;min-width:0;flex:1;border:0;background:transparent;color:#8ea7b8;font-size:.68rem}.mobile-nav button.active{color:#9be2e9;font-weight:800}.mobile-nav button span{font-size:1.05rem}.list-row{align-items:flex-start;flex-direction:column;gap:.35rem}}
.ai-form{display:grid;gap:.65rem;max-width:34rem}.ai-form label{font-size:.84rem;font-weight:700}.ai-form input,.chat-form textarea{width:100%;padding:.7rem;color:#e9f0f6;background:#142633;border:1px solid #38546a;border-radius:8px;font:inherit}.ai-form button{justify-self:start}.chat-layout{display:grid;grid-template-columns:minmax(12rem,17rem) minmax(0,1fr);gap:1rem}.chat-threads{align-content:start;max-height:65vh;overflow:auto}.chat-thread{width:100%;color:#e9f0f6;text-align:left;overflow-wrap:anywhere}.chat-thread.selected{border-color:#78cbdc;background:#1d4753}.chat-conversation{min-width:0;display:grid;gap:1rem}.chat-messages{min-height:18rem;max-height:58vh;overflow:auto;display:flex;flex-direction:column;gap:.7rem;padding:1rem;background:#101e2b;border:1px solid #273c4e;border-radius:12px}.chat-message{max-width:95%;align-self:flex-start;padding:.8rem 1rem;border-radius:10px;background:#1b3040;overflow-wrap:anywhere}.chat-message.user{align-self:flex-end;background:#214650}.chat-message strong{font-size:.8rem}.chat-message pre{font:inherit;white-space:pre-wrap;overflow-wrap:anywhere;margin:.45rem 0 0}.chat-message small{display:block;color:#a7bbc8;margin-top:.5rem}.chat-message .chat-error{color:#ffb4aa}.chat-form{display:flex;align-items:flex-end;flex-wrap:wrap;gap:.6rem}.chat-form textarea{flex:1 1 18rem;resize:vertical;min-height:5rem}.chat-form button{flex:none}
@media(max-width:650px){.chat-layout{grid-template-columns:1fr}.chat-threads{max-height:10rem}.chat-messages{max-height:45vh}}
