:root{color:#e5e7eb;background:#111827;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,textarea{font:inherit}.app-shell{display:grid;min-height:100vh;place-items:center;padding:2rem}.app-shell--authenticated{grid-template-columns:minmax(15rem,18rem) 1fr;place-items:stretch;padding:0}.app-nav-toggle{display:none}.app-sidebar{display:flex;min-height:100vh;flex-direction:column;gap:1.5rem;padding:1.5rem;border-right:1px solid #374151;background:#1f2937}.app-sidebar__brand p:last-child{margin:0;color:#cbd5e1}.app-sidebar__content{flex:1;min-width:0;overflow-y:auto}.conversation-sidebar{display:grid;gap:1rem;margin-bottom:1.5rem}.conversation-sidebar__header{display:grid;gap:.75rem}.conversation-sidebar__header h2,.conversation-sidebar__groups h3{margin:0;color:#f9fafb}.conversation-sidebar__header h2{font-size:1.15rem}.conversation-sidebar__groups{display:grid;gap:1rem}.conversation-sidebar__groups ul{display:grid;gap:.35rem;margin:.5rem 0 0;padding:0;list-style:none}.conversation-sidebar__groups h3{color:#9ca3af;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.conversation-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.25rem;border:1px solid transparent;border-radius:.55rem}.conversation-item.is-selected{border-color:#4b5563;background:#374151}.conversation-item__select{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-item__actions{display:flex;gap:.15rem}.conversation-item__actions button{width:auto;padding:.4rem;color:#cbd5e1;font-size:.75rem}.conversation-item__confirmation{display:grid;gap:.35rem;margin:.35rem 0 .5rem;padding:.65rem;border:1px solid #92400e;border-radius:.55rem;background:#451a03;color:#fef3c7;font-size:.8rem}.conversation-item__confirmation button{width:auto}.conversation-sidebar__feedback,.conversation-sidebar__notice{color:#cbd5e1;font-size:.85rem}.conversation-sidebar__feedback button,.conversation-sidebar__new{width:auto;border-color:#4b5563;background:#374151}.history-panel{display:grid;gap:1rem}.history-panel__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.history-panel__header h2{margin:0;color:#f9fafb;font-size:1.15rem}.history-panel__header button,.history-panel__actions button,.history-panel__confirmation button{width:auto;padding:.45rem .6rem;border:1px solid #4b5563;border-radius:.45rem;color:#cbd5e1;background:#374151;cursor:pointer;font-size:.75rem}.history-panel__list{display:grid;gap:.75rem;margin:0;padding:0;list-style:none}.history-panel__item{display:grid;gap:.6rem;padding:.75rem;border:1px solid #374151;border-radius:.65rem;background:#111827}.history-panel__item h3,.history-panel__item p{margin:0}.history-panel__item h3{color:#f9fafb;font-size:.85rem}.history-panel__item p{margin-top:.25rem;color:#9ca3af;font-size:.75rem}.history-panel__item pre{max-height:5rem;overflow:auto;margin:.5rem 0 0;color:#bfdbfe;font-size:.7rem;white-space:pre-wrap}.history-panel__actions{display:flex;flex-wrap:wrap;gap:.35rem}.history-panel__confirmation{display:grid;gap:.4rem;padding:.6rem;border:1px solid #92400e;border-radius:.5rem;background:#451a03;color:#fef3c7;font-size:.75rem}.authenticated-panel{width:min(100%,72rem);min-width:0;margin:0 auto}.authenticated-panel:focus{outline:none}.predefined-panel,.admin-panel,.sync-panel{display:grid;gap:1rem;min-width:0}.predefined-panel__header,.admin-panel__header,.sync-panel{align-items:flex-start;justify-content:space-between}.predefined-panel__header,.admin-panel__header{display:flex;gap:1rem}.predefined-panel__header h2,.admin-panel__header h2,.sync-panel h2{margin:0;color:#f9fafb;font-size:1.15rem}.predefined-panel__header button,.predefined-panel__search button,.predefined-card__actions button,.predefined-editor button,.admin-panel__header button,.admin-panel__control button,.sync-panel button{width:auto;padding:.55rem .75rem;border:1px solid #4b5563;border-radius:.45rem;color:#e5e7eb;background:#374151;cursor:pointer}.predefined-panel__search,.predefined-editor,.predefined-panel__item,.admin-panel__item,.sync-panel{padding:1rem;border:1px solid #374151;border-radius:.75rem;background:#1f2937}.predefined-panel__search,.predefined-editor,.predefined-panel__item,.admin-panel__item{display:grid;gap:.65rem}.predefined-panel__search{grid-template-columns:minmax(0,1fr) auto;align-items:end}.predefined-panel__search label,.predefined-editor label,.admin-panel__control label{color:#cbd5e1;font-size:.85rem;font-weight:600}.predefined-panel__search label{grid-column:1 / -1}.predefined-panel__search input,.predefined-editor input,.predefined-editor textarea,.predefined-editor select,.predefined-card input,.admin-panel__control select{width:100%;padding:.65rem .75rem;border:1px solid #4b5563;border-radius:.45rem;color:#f9fafb;background:#111827}.predefined-editor textarea{min-height:7rem;resize:vertical}.predefined-editor h3,.predefined-card h3,.admin-panel__item h3{margin:0;color:#f9fafb}.predefined-panel__item p,.admin-panel__item p,.sync-panel p:last-child{margin:0;color:#cbd5e1;font-size:.85rem}.predefined-card__tags,.predefined-card__actions,.predefined-card__parameters,.predefined-panel__item>button,.predefined-panel__item>div[role=group],.predefined-editor__actions,.admin-panel__control{display:flex;flex-wrap:wrap;gap:.5rem;align-items:end}.predefined-card__parameters{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr))}.predefined-card__parameters label{display:grid;gap:.35rem;color:#cbd5e1;font-size:.8rem}.predefined-card__actions{align-items:center}.predefined-panel__item pre{max-height:7rem;overflow:auto;margin:0;padding:.75rem;border-radius:.45rem;color:#bfdbfe;background:#111827;white-space:pre-wrap}.predefined-panel__list,.admin-panel__list{display:grid;gap:.75rem;margin:0;padding:0;list-style:none}.admin-panel__item{grid-template-columns:minmax(0,1fr) repeat(2,minmax(12rem,1fr))}.admin-panel__control{display:grid;grid-template-columns:1fr auto}.admin-panel__control label{grid-column:1 / -1}.sync-panel{display:flex;flex-wrap:wrap}.sync-panel>div{flex:1 1 18rem}.sync-panel p{max-width:45rem}button:disabled,select:disabled{cursor:not-allowed;opacity:.6}.app-sidebar__content ul{display:grid;gap:.5rem;margin:0;padding:0;list-style:none}.app-sidebar button,.app-nav-toggle{width:100%;padding:.65rem .8rem;border:1px solid transparent;border-radius:.55rem;color:#e5e7eb;background:transparent;cursor:pointer;text-align:left}.app-sidebar button:hover,.app-nav-toggle:hover{border-color:#4b5563;background:#374151}.app-main{display:flex;min-width:0;min-height:100vh;flex-direction:column;padding:2rem clamp(1.25rem,4vw,4rem);overflow-x:hidden}.app-main__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding-bottom:1.5rem;border-bottom:1px solid #374151}.app-main__header h1{font-size:clamp(1.75rem,4vw,2.75rem)}.app-main__header>span{color:#93c5fd;font-size:.85rem}.app-chat{flex:1;padding:2rem 0}.app-status{min-height:1.5rem;color:#cbd5e1}.chat-workspace{display:grid;gap:1.25rem;min-height:100%}.message-list{display:grid;gap:.75rem}.message-list__items{display:grid;gap:.9rem}.message-list__live-status{display:flex;flex-wrap:wrap;gap:.75rem;min-height:2.5rem;align-items:center}.chat-progress{display:inline-flex;min-width:min(100%,22rem);align-items:center;gap:.7rem;color:#dbeafe}.chat-progress__spinner{width:1rem;height:1rem;flex:0 0 auto;border:2px solid rgb(147 197 253 / 30%);border-top-color:#93c5fd;border-radius:50%;animation:chat-progress-spin .8s linear infinite}.chat-progress__copy{display:grid;gap:.15rem}.chat-progress__copy strong{color:#f9fafb;font-size:.88rem}.chat-progress__copy span{color:#94a3b8;font-size:.75rem}@keyframes chat-progress-spin{to{transform:rotate(360deg)}}.chat-cancel-button{display:inline-flex;width:fit-content;align-items:center;gap:.45rem;margin:0;padding:.5rem .8rem;border:1px solid rgb(248 113 113 / 55%);border-radius:999px;color:#fecaca;background:#7f1d1d4d;box-shadow:0 .35rem 1rem #7f1d1d26;cursor:pointer;font-size:.85rem;font-weight:700;transition:border-color .15s ease,background .15s ease,transform .15s ease}.chat-cancel-button:hover{border-color:#f87171;background:#991b1b8c;transform:translateY(-1px)}.chat-cancel-button__icon{display:inline-grid;width:1.15rem;height:1.15rem;place-items:center;border:1px solid currentColor;border-radius:50%;font-size:1rem;line-height:1}.chat-message{width:min(100%,48rem);padding:1rem 1.1rem;border:1px solid #374151;border-radius:.85rem;background:#1f2937}.chat-message--user{justify-self:end;background:#1e3a5f}.chat-message--error{border-color:#b91c1c}.chat-message--warning{border-color:#92400e;background:#451a03}.chat-message__author{margin:0 0 .45rem;color:#93c5fd;font-size:.75rem;font-weight:700}.chat-message__content,.chat-message__pending,.chat-message__error-code{margin:0;white-space:pre-wrap}.chat-message__error-code,.chat-result__notice,.chat-result__chart-warning{color:#fecaca;font-size:.85rem}.chat-message button,.chat-review button,.chat-result-actions>button,.chat-composer button{width:auto;margin-top:.75rem;padding:.65rem .9rem;border:1px solid #4b5563;border-radius:.55rem;color:#e5e7eb;background:#374151;cursor:pointer}.chat-message button:hover,.chat-review button:hover,.chat-result-actions>button:hover,.chat-composer button:hover{background:#4b5563}.chat-review,.chat-result-actions,.chat-insights,.chat-interpretation,.chat-diagnostics{display:grid;gap:.75rem;padding:1rem;border:1px solid #4b5563;border-radius:.85rem;background:#1f2937}.chat-review h2,.chat-result h3,.chat-insight h3,.chat-diagnostics h3{margin:0;color:#f9fafb;font-size:1rem}.chat-review pre{overflow:auto;margin:0;padding:1rem;border-radius:.55rem;background:#111827;color:#dbeafe}.chat-review__actions{display:flex;flex-wrap:wrap;gap:.5rem}.chat-result__header{display:flex;justify-content:space-between;gap:1rem;color:#cbd5e1}.chat-insights{border-color:#2563eb;background:#172554}.chat-interpretation{border-color:#0f766e;background:#134e4a}.chat-diagnostics p{margin:0}.chat-interpretation dl{display:grid;gap:.6rem;margin:0}.chat-interpretation dl div{display:grid;gap:.15rem}.chat-interpretation dt{color:#99f6e4;font-size:.8rem;font-weight:700}.chat-interpretation dd{margin:0}.chat-interpretation h3{margin:0;font-size:.9rem}.chat-interpretation ul{margin:0;padding-left:1.25rem}.chat-diagnostics{border-color:#a16207;background:#422006}.chat-diagnostics p{color:#fef3c7}.chat-insight__header{display:flex;justify-content:space-between;gap:1rem;color:#cbd5e1}.chat-collapsible{display:grid;gap:.75rem}.chat-collapsible__summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;color:#f9fafb;cursor:pointer;list-style:none}.chat-collapsible__label{display:flex;min-width:0;align-items:baseline;gap:.65rem}.chat-collapsible__summary::-webkit-details-marker{display:none}.chat-collapsible__summary:after{flex:0 0 auto;color:#93c5fd;content:"+";font-size:1.25rem;font-weight:400}.chat-collapsible[open]>.chat-collapsible__summary:after{content:"−"}.chat-collapsible__title{font-size:1rem;font-weight:700}.chat-collapsible__hint{margin-left:auto;color:#cbd5e1;font-size:.85rem;white-space:nowrap}.chat-collapsible__summary-text{overflow:hidden;color:#ccfbf1;font-size:.9rem;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.chat-collapsible__content{display:grid;gap:.75rem}.chat-insight{display:grid;gap:.65rem;padding:.9rem;border:1px solid #3b82f6;border-radius:.65rem;background:#1e3a5f}.chat-insight__summary{margin:0;color:#e0f2fe}.chat-insight__warning{margin:0;color:#fde68a}.chat-result__table-wrapper{overflow:auto;border:1px solid #374151;border-radius:.55rem}.chat-result__table{width:100%;border-collapse:separate;border-spacing:0;white-space:nowrap}.chat-result__table th,.chat-result__table td{padding:.65rem .8rem;border-bottom:1px solid #374151;text-align:left}.chat-result__table th{color:#bfdbfe;background:#111827;font-size:.8rem;letter-spacing:.02em}.chat-result__table tbody tr:nth-child(2n) td{background:#ffffff09}.chat-result__table tbody tr:hover td{background:#93c5fd1f}.chat-result__table tbody tr:last-child td{border-bottom:0}.chat-result__download{width:fit-content;color:#bfdbfe}.chat-result__chart{overflow:auto;margin:0}.chat-result__chart figcaption{margin-bottom:.5rem;color:#f9fafb;font-weight:700}.chat-composer{position:sticky;bottom:0;display:grid;gap:.65rem;padding:1rem 0 0;border-top:1px solid #374151;background:#111827}.chat-composer label{color:#cbd5e1;font-size:.9rem;font-weight:600}.chat-composer textarea{width:100%;resize:vertical;padding:.85rem;border:1px solid #4b5563;border-radius:.65rem;color:#f9fafb;background:#1f2937}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #93c5fd;outline-offset:2px}.welcome-card{width:min(100%,36rem);padding:2.5rem;border:1px solid #374151;border-radius:1.25rem;background:#1f2937;box-shadow:0 1.5rem 4rem #0003}.auth-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;margin:1.75rem 0 1.5rem;padding:.3rem;border:1px solid #374151;border-radius:.7rem;background:#111827}.auth-tabs button{width:100%;padding:.7rem .85rem;border:1px solid transparent;border-radius:.5rem;color:#9ca3af;background:transparent;cursor:pointer;font-weight:700}.auth-tabs button[aria-selected=true]{border-color:#60a5fa;color:#eff6ff;background:#1e3a5f}.auth-tabs button:hover:not(:disabled){color:#f9fafb;background:#1f2937}.auth-form{display:grid;gap:.45rem}.auth-form label{margin-top:.35rem;color:#cbd5e1;font-size:.85rem;font-weight:600}.auth-form input{width:100%;padding:.75rem .85rem;border:1px solid #4b5563;border-radius:.55rem;color:#f9fafb;background:#111827}.auth-form input::placeholder{color:#6b7280}.auth-form>button[type=submit]{width:100%;margin-top:1rem;padding:.8rem 1rem;border:1px solid #60a5fa;border-radius:.55rem;color:#eff6ff;background:#2563eb;cursor:pointer;font-weight:700}.auth-form>button[type=submit]:hover:not(:disabled){background:#1d4ed8}.auth-feedback{margin:1rem 0 0;padding:.8rem .9rem;border:1px solid;border-radius:.55rem;font-size:.9rem;line-height:1.45}.auth-feedback--error{border-color:#b91c1c;color:#fecaca;background:#450a0a}.auth-feedback--success{border-color:#15803d;color:#bbf7d0;background:#052e16}.eyebrow{margin:0 0 .75rem;color:#93c5fd;font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}h1{margin:0;font-size:clamp(2rem,5vw,3.5rem);line-height:1.05}.welcome-card p:last-child{margin:1.25rem 0 0;color:#cbd5e1;line-height:1.6}@media(max-width:767px){.app-shell--authenticated{display:block}.app-nav-toggle{position:fixed;top:1rem;left:1rem;z-index:20;display:block;width:auto;border-color:#4b5563;background:#1f2937}.app-sidebar{position:fixed;inset:0 auto 0 0;z-index:10;width:min(85vw,20rem);min-height:100vh;transform:translate(-100%);transition:transform .16s ease}.app-sidebar.is-open{transform:translate(0)}.app-main{min-height:100vh;padding:5rem 1.25rem 1.25rem}.app-main__header{padding-bottom:1rem}.app-main__header h1{font-size:1.65rem}.predefined-panel__header,.admin-panel__header{display:grid}.predefined-panel__search{grid-template-columns:1fr}.predefined-panel__search button,.admin-panel__header button,.sync-panel button{width:100%}.admin-panel__item{grid-template-columns:1fr}}
