:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#243433;background:#f4f6f5;font-synthesis:none;--green:#1d6552;--muted:#7a8580;--line:#e1e7e3;--soft:#edf4ef;--danger:#ae4540}*{box-sizing:border-box}body{margin:0;font-size:14px;line-height:1.55}button,input{font:inherit}button,a,input,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #7abfad;outline-offset:3px}a{color:inherit;text-decoration:none}[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1{font-size:32px;letter-spacing:-1.1px;font-weight:650;line-height:1.18}h2{font-size:16px;letter-spacing:-.3px;font-weight:650}h3{font-size:17px;font-weight:600}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.65px;color:var(--muted);margin-bottom:9px}.brand{display:flex;align-items:center;gap:11px;font-weight:650;font-size:17px;white-space:nowrap;letter-spacing:-.4px}.brand-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;background:var(--green);border-radius:10px;color:#fff;font-family:ui-monospace,monospace;font-size:18px;font-weight:500}.primary,.secondary{border-radius:9px;padding:10px 16px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:12px;line-height:1.4}.primary{border:1px solid var(--green);background:var(--green);color:#fff}.primary:hover{background:#164f40}.secondary{border:1px solid #dce3df;background:#fff;color:#485b53}.secondary:hover{background:#f5f8f6}.danger{color:var(--danger)}.text-button{border:0;background:none;color:var(--muted);padding:7px 0;font-size:12px}.text-button:hover{color:var(--green)}.hint,.subtle{color:var(--muted)}.error{font-size:13px;color:#a13332;margin:12px 0}.banner{padding:12px 16px;border:1px solid #ecd4cc;background:#fff4ef;border-radius:8px;color:#864a32;margin-bottom:18px}.boot{display:grid;place-items:center;min-height:100vh;color:var(--muted)}
.login{min-height:100vh;display:grid;grid-template-columns:minmax(350px,540px) minmax(280px,460px);justify-content:center;align-items:center;gap:100px;padding:56px}.login-card{max-width:420px}.login-card .brand{margin-bottom:72px}.login-card h1{font-size:49px;line-height:1.13;letter-spacing:-1.9px}.login-description{color:#77817b;margin:20px 0 36px;font-size:16px;line-height:1.8}.login-card label{display:block;font-weight:600;margin-bottom:9px}.login-card input{width:100%;height:49px;border:1px solid #d4ded7;border-radius:9px;padding:12px;background:#fff}.login-card .primary{width:100%;margin-top:16px;justify-content:space-between;height:49px}.login-card .hint{font-size:12px;line-height:1.8;margin-top:18px}.login-note{aspect-ratio:4/5;background:#e4eee6;border:1px solid #dce6df;border-radius:160px 160px 20px 20px;padding:60px 42px;display:flex;flex-direction:column;justify-content:space-between;color:#42634f;font-size:27px;line-height:1.4;letter-spacing:-.6px}.note-symbol{align-self:center;font-size:145px;font-weight:200;line-height:1.2;color:#769780}
.app{display:flex;min-height:100vh}.sidebar{width:238px;flex-shrink:0;background:#fff;border-right:1px solid var(--line);padding:29px 20px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.sidebar .brand{margin:0 2px 42px}.sidebar-caption{color:#a1aaa4;font-size:10px;letter-spacing:1.5px;margin:0 11px 14px;font-weight:600}.nav-all{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px;border:0;border-radius:9px;background:none;color:#54645c;font-weight:600;text-align:left}.nav-all.selected{background:#eaf3ed;color:#2f6651}.count{font-size:11px;min-width:25px;text-align:center;padding:2px 6px;border-radius:6px;background:#dcece1;color:#40795e}.sidebar-section{display:flex;align-items:center;justify-content:space-between;margin:32px 12px 13px;color:#a0aaa3}.sidebar-section h2{font-size:12px;color:#7a8880;letter-spacing:0}.sidebar-section span{font-size:11px}.user-button{width:100%;border:0;border-radius:9px;background:none;display:flex;align-items:center;gap:10px;padding:12px 10px;text-align:left;color:#46584e;margin-bottom:3px}.user-button:hover,.user-button.selected{background:#f1f5f2}.avatar{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:600;flex-shrink:0;color:#658276;background:#edf2ee}.user-button.selected .avatar{background:#dcece1;color:#417458}.user-label{display:flex;flex-direction:column;min-width:0;flex:1;font-size:13px}.user-label strong{font-weight:550;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-label small{font-size:10px;color:#9ba59f;margin-top:2px}.dot{height:6px;width:6px;display:inline-block;flex-shrink:0;border-radius:50%;background:#bec9c1}.dot.online{background:#59a377;box-shadow:0 0 0 3px #edf5ef}.dot.blocked{background:#bd8076}.teacher-row{margin-top:20px;padding-top:14px;border-top:1px solid #edf0ed}.sidebar-bottom{margin-top:auto;padding:24px 10px 0;display:flex;align-items:center;justify-content:space-between;gap:10px}.sync{font-size:10px;color:#8c9890;display:flex;align-items:center;gap:7px}.sync .dot{background:#59a377}.sync.offline .dot{background:#c18956}
.workspace{flex:1;min-width:0;padding:36px 36px 20px;max-width:1900px;margin:auto}.page-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:29px}.page-header h1{margin-bottom:8px}.page-header p:not(.eyebrow){font-size:13px;color:#8c9790}.page-header .secondary{font-size:12px;padding:9px 14px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:26px}.stat{padding:19px 22px;background:#fff;border:1px solid var(--line);border-radius:12px;min-height:135px;position:relative}.stat-label{display:block;color:#829087;font-size:11px;margin-bottom:10px}.stat strong{display:block;font-size:31px;line-height:1.1;letter-spacing:-.8px;font-weight:550}.stat small{display:block;color:#9aa59d;font-size:10px;margin-top:11px}.limit-stat strong{color:#4d7a59}.limit-stat progress{position:absolute;bottom:14px;right:20px;width:42px;height:4px;appearance:none;border:0;background:#e8efe9;border-radius:2px}.limit-stat progress::-webkit-progress-bar{background:#e8efe9;border-radius:2px}.limit-stat progress::-webkit-progress-value{background:#75a77a;border-radius:2px}.limit-stat small{padding-right:40px}.user-card{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#eef4ef;border:1px solid #dce7df;padding:16px 20px;margin-bottom:23px;border-radius:10px}.user-card p{font-size:12px;color:#819087;margin-top:3px;overflow-wrap:anywhere}.user-card .secondary{font-size:12px;white-space:nowrap}
.sessions-panel{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.panel-toolbar{padding:18px 23px;display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line)}.panel-toolbar h2{font-size:14px}.panel-toolbar h2 span{font-size:11px;font-weight:400;margin-left:7px}.search{display:flex;align-items:center;gap:9px;padding:7px 12px;border:1px solid #e2e8e3;border-radius:7px;color:#9ca8a0}.search input{border:0;outline:none;font-size:11px;max-width:210px;width:100%;background:none;color:#526259}.session-layout{display:grid;grid-template-columns:minmax(255px,36%) minmax(0,1fr);min-height:560px;height:calc(100vh - 365px);max-height:920px}.session-list-pane{border-right:1px solid var(--line);overflow:auto;min-width:0}.session-card{background:#fff;border:0;border-bottom:1px solid #edf1ed;border-left:3px solid transparent;padding:18px 19px 17px 20px;text-align:left;width:100%;display:block;color:inherit}.session-card:hover{background:#f8faf8}.session-card.selected{background:#f2f7f3;border-left-color:#699c78}.session-topline{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;gap:10px;font-size:10px;color:#98a59d}.session-user{color:#7a8e80}.session-card h3{font-size:13px;font-weight:550;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;margin-bottom:13px}.session-bottom{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#96a298;gap:8px}.badge{display:inline-flex;align-items:center;gap:5px;border-radius:5px;background:#f0f3f0;color:#819086;font-size:10px;white-space:nowrap;padding:3px 7px;line-height:1.4;font-weight:500}.badge.running{background:#e8f2e9;color:#55805b}.badge.completed{background:#edf4ef;color:#66806d}.badge.approval{background:#fff3d8;color:#a5813c}.badge.failed{background:#fbece9;color:#ba6e61}.badge.interrupted{background:#f4f0e9;color:#9b8b73}.detail{overflow:auto;position:relative;min-width:0;background:#fcfdfc}.detail-header{padding:24px 26px 20px;border-bottom:1px solid #edf1ed;background:#fff}.detail-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.detail-heading h2{font-size:15px;line-height:1.5;overflow-wrap:anywhere}.detail-heading .badge{margin-top:3px}.detail-header p{font-size:10px;color:#99a69c;margin-top:9px}.detail-header .project{color:#7e8f84;font-family:ui-monospace,monospace;overflow-wrap:anywhere}.detail-header details{font-size:10px;color:#9aa79e;margin-top:12px}.detail-header summary{cursor:pointer;width:fit-content}.connection-row{margin:7px 0;color:#849489}.timeline{padding:8px 25px 27px}.activity{position:relative;padding:21px 0;border-bottom:1px solid #eaf0e9}.activity:last-child{border-bottom:0}.activity-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;gap:14px}.activity-heading strong{font-size:11px;letter-spacing:.05px;font-weight:600;display:flex;gap:7px;align-items:center}.activity-heading time{color:#a2ada5;font-size:10px;white-space:nowrap}.activity-icon{width:21px;height:21px;display:inline-grid;place-items:center;color:#639071;background:#eaf3ec;border-radius:6px;font-size:11px}.activity.user .activity-icon{color:#8c8063;background:#f0eee7}.activity.command .activity-icon,.activity.tool .activity-icon{background:#eaf0f5;color:#748b9d;font-family:ui-monospace,monospace}.activity.error .activity-icon{background:#f5eae8;color:#ac7166}.activity-body{white-space:pre-wrap;overflow-wrap:anywhere;color:#677a6c;font-size:12px;line-height:1.85}.activity pre{margin:0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;white-space:pre-wrap;overflow-wrap:anywhere;padding:13px 15px;background:#f1f4f1;border:1px solid #e6ece6;border-radius:7px;color:#697e70;max-height:350px;overflow:auto;line-height:1.8}.activity details{margin-top:11px;font-size:11px;color:#93a296}.activity details summary{cursor:pointer;margin-bottom:8px}.activity-status{font-size:10px;color:#a0aa9f;margin-top:9px}.activity.status{padding:15px 0}.activity.status .activity-heading{margin:0}.activity.status .activity-heading strong{color:#89998a;font-weight:400}.empty{padding:48px 24px;text-align:center;color:#9aa69e}.empty h3{color:#7b8e80;font-size:15px;margin:10px 0}.empty p{font-size:12px;line-height:1.9}.empty-symbol{font-size:35px;color:#a7bba9}.detail-empty{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center}.load-more{width:100%;padding:13px;border:0;background:#f8faf7;color:#819780;font-size:11px}.load-more:hover{background:#ecf3eb}.footer-note{font-size:10px;color:#a1aaa3;margin-top:15px;text-align:right}
dialog{border:1px solid var(--line);border-radius:15px;padding:28px;max-width:450px;width:calc(100% - 36px);box-shadow:0 20px 80px #142c1b25;color:inherit}dialog::backdrop{background:#13271c55;backdrop-filter:blur(3px)}dialog h2{font-size:21px;margin-bottom:12px}dialog p:not(.eyebrow){color:#829180;font-size:13px;line-height:1.8}.dialog-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:25px}
@media(min-width:1550px){.workspace{padding:42px 45px 25px}.session-layout{min-height:620px}.sidebar{width:250px}}@media(max-width:1100px){.sidebar{width:205px;padding:24px 13px}.sidebar .brand{font-size:15px;gap:8px}.workspace{padding:28px 23px 20px}.stats{gap:10px}.stat{padding:17px 15px}.session-layout{grid-template-columns:minmax(220px,37%) minmax(0,1fr)}.detail-header{padding:20px}.timeline{padding:6px 20px 20px}.detail-heading{display:block}.detail-heading .badge{margin-top:10px}.login{gap:50px}}
@media(max-width:780px){.app{display:block}.sidebar{height:auto;width:100%;position:static;padding:18px;border-right:0;border-bottom:1px solid var(--line)}.sidebar .brand{margin:0 0 20px}.sidebar-caption,.sidebar-section,.sidebar-bottom{display:none}.sidebar nav{display:flex;gap:5px;overflow:auto;margin-top:8px}.nav-all{width:auto;padding:8px 12px;gap:15px}.user-button{min-width:130px;padding:8px;white-space:nowrap}.teacher-row{margin:0;padding:0;border:0}.workspace{padding:24px 16px}.page-header h1{font-size:27px}.stats{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:20px}.stat{min-height:115px}.stat strong{font-size:27px}.stat small{font-size:9px}.session-layout{display:block;height:auto;max-height:none}.session-list-pane{max-height:340px;border-right:0;border-bottom:1px solid var(--line)}.detail{min-height:370px;max-height:800px}.panel-toolbar{padding:16px;flex-wrap:wrap}.panel-toolbar .search{width:100%}.search input{max-width:none}.user-card{align-items:flex-start}.user-card .secondary{white-space:normal;font-size:11px}.login{display:block;padding:36px 24px}.login-card{margin:0 auto}.login-card .brand{margin-bottom:60px}.login-card h1{font-size:42px}.login-note{display:none}.footer-note{text-align:left}.sidebar-bottom{display:flex;margin:8px 0 0;padding:5px 7px 0}.detail-empty{min-height:370px}}
@media(prefers-reduced-motion:no-preference){button,a{transition:background .12s,color .12s}.login-card{animation:appear .3s ease-out}@keyframes appear{from{opacity:.4;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}}
.add-user{font-size:11px;padding:9px 8px;margin:0 0 10px;flex-shrink:0}.sidebar nav{min-height:0;overflow:auto}.page-header>div{min-width:0}.page-header h1,dialog h2{overflow-wrap:anywhere}.user-card>div:first-child{flex:1;min-width:0}.user-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;flex:0 1 460px}.user-actions .text-button{padding:8px}.user-actions .danger{color:var(--danger)}dialog label{display:block;font-size:13px;font-weight:600;margin:18px 0 7px}.dialog-input{display:block;width:100%;border:1px solid #d4ded7;border-radius:8px;padding:11px 12px;background:#fff;color:inherit;min-width:0}.token-value{font-family:ui-monospace,Consolas,monospace;font-size:13px}.token-tools{display:flex;gap:16px;align-items:center;margin:12px 0 6px}.token-tools .secondary{font-size:12px}.dialog-actions{flex-wrap:wrap}#editor-description{margin-top:10px}#token-status{min-height:23px;color:var(--green)}dialog p.error{color:var(--danger)}
@media(max-width:780px){.add-user{margin:10px 0 0}.sidebar nav{overflow:auto}.user-card{flex-direction:column}.user-actions{flex-basis:auto;justify-content:flex-start}.user-actions .secondary{font-size:12px}.dialog-actions{gap:8px}dialog{padding:22px}}

/* Compact overview: keep the session list and conversation in the viewport. */
.workspace{display:flex;flex-direction:column;height:100dvh;margin:0 auto;padding:16px 24px 14px}
.stats{flex:none;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;max-width:600px;gap:10px;margin-bottom:14px}
.stat{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;align-content:center;min-height:68px;padding:10px 14px;border-radius:9px}
.stat-label{margin-bottom:0;font-size:11px;line-height:1.35}
.stat strong{grid-column:2;grid-row:1 / span 2;align-self:center;font-size:23px;white-space:nowrap}
.stat small{grid-column:1;margin-top:3px;font-size:10px;line-height:1.35}
.limit-stat small{padding-right:0}.limit-stat progress{bottom:8px;right:14px;width:32px;height:3px}
.page-header{flex:none;gap:12px;margin-bottom:12px}.page-header h1{font-size:23px;letter-spacing:-.5px;margin-bottom:3px}.page-header p:not(.eyebrow){font-size:12px}
.banner{flex:none}.user-card{flex:none;padding:10px 14px;gap:10px;margin-bottom:12px}
.sessions-panel{display:flex;flex-direction:column;flex:1;min-height:260px}.panel-toolbar{flex:none;padding:12px 16px}.session-layout{flex:1;min-height:0;height:auto;max-height:none;grid-template-columns:minmax(220px,28%) minmax(0,1fr)}
.footer-note{flex:none;margin-top:8px}
@media(max-width:1100px){.workspace{padding:14px 16px 12px}.stats{gap:8px}.stat{padding:10px 11px;column-gap:8px}.stat strong{font-size:21px}.limit-stat progress{right:11px}}
@media(max-width:780px){.workspace{display:block;height:auto;padding:14px 12px}.stats{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:14px}.page-header h1{font-size:22px}.sessions-panel{display:block;min-height:0}.session-layout{min-height:0}.panel-toolbar{padding:12px}.footer-note{margin-top:12px}}

.stat-label{font-size:12px}.stat small{font-size:11px}.user-label{font-size:14px}.user-label small{font-size:12px}.user-card p{font-size:13px}
.panel-toolbar h2{font-size:16px}.panel-toolbar h2 span{font-size:12px}.search input{font-size:13px}.session-card h3{font-size:15px;line-height:1.5}.session-topline,.session-bottom{font-size:12px}.badge{font-size:11px}
.detail{overflow-anchor:none}.detail-header{padding:14px 20px}.detail-heading h2{font-size:18px}.detail-header p{font-size:12px;margin-top:5px}.timeline{padding:0 20px 16px}
.activity{padding:16px 0}.activity-heading strong{font-size:14px}.activity-heading time{font-size:12px}.activity-icon{width:24px;height:24px;font-size:13px}.activity-body{font-size:16px;line-height:1.7;color:#344b3d}.empty p,.load-more{font-size:14px}

.session-list-pane .panel-toolbar{position:sticky;top:0;z-index:1;flex-direction:column;align-items:stretch;gap:10px;background:#fff;padding:14px 16px}
.session-list-pane .search{width:100%;min-width:0}.session-list-pane .search input{max-width:none;min-width:0}

select{font:inherit}select:focus-visible{outline:3px solid #7abfad;outline-offset:3px}
.user-actions{flex-basis:640px}#user-model-info{color:var(--green)}
#model-dialog{max-width:520px}#model-dialog .dialog-input{font-size:15px;min-height:44px}
#model-dialog .model-lock{display:flex;align-items:center;gap:10px;font-size:15px;margin:22px 0 7px}
.model-lock input{width:18px;height:18px;accent-color:var(--green);flex-shrink:0}
#model-dialog .model-note{margin-top:16px}#model-status{color:var(--green);margin-top:10px}
#model-reset{margin-right:auto}#model-dialog .dialog-actions{gap:10px}
@media(max-width:780px){.user-actions{flex-basis:auto}#model-dialog{padding:22px}#model-dialog .dialog-actions{justify-content:space-between}}

.generated-image{margin:16px 0 0;max-width:760px}
.generated-image img{display:block;width:100%;height:auto;border-radius:10px;border:1px solid var(--line)}
.generated-image figcaption{display:flex;align-items:center;gap:16px;margin-top:12px;font-size:14px}
.generated-image a{display:inline-block;padding:10px 16px;border:1px solid #d8e3dd;border-radius:9px;color:var(--green);text-decoration:none;font-weight:600;background:#fff}
.generated-image a:hover{background:#edf5f0}

.activity-heading .activity-label{display:inline-flex;min-width:0;max-width:100%;padding:6px 11px;border-radius:8px;background:rgba(32,100,85,.09);color:#285d50;font-weight:650;line-height:1.4}
.activity.user .activity-label{background:rgba(54,92,135,.09);color:#365c78}
.activity.commentary .activity-label{background:rgba(135,121,96,.06);color:#776f62;font-weight:550}
.activity-label-text{min-width:0;overflow-wrap:anywhere}
.account-user-card{display:flex;align-items:center;justify-content:space-between;gap:16px;flex:none;margin-bottom:12px;padding:12px 16px;border:1px solid var(--line);border-radius:10px;background:#fff}
.account-user-card p{margin-top:4px;color:#677a6c;font-size:13px}.account-user-card .secondary{white-space:nowrap;font-size:13px}
.accounts-panel{flex:1;min-height:0;overflow:auto;border:1px solid var(--line);border-radius:12px;background:#fff}
.accounts-panel .panel-toolbar{position:sticky;top:0;background:#fff;z-index:1;flex-wrap:wrap}
.accounts-panel .panel-toolbar p{font-size:13px;color:#677a6c;margin-top:5px}
.accounts-list{padding:18px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:16px;align-content:start}
.account-card{padding:20px;border:1px solid var(--line);border-radius:12px;min-width:0;background:#fcfdfc}
.account-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.account-card h3{font-size:17px;overflow-wrap:anywhere}.account-identity{font-size:13px;color:#677a6c;margin-top:9px;overflow-wrap:anywhere}
.account-members{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0;font-size:13px;color:#677a6c}
.account-members button{font-size:12px;padding:6px 10px}.account-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
.account-actions button{font-size:13px}.account-limits{font-size:13px;color:#42634f;line-height:1.8;margin-top:12px}
#open-accounts{flex-shrink:0;order:0;margin-bottom:12px}#account-login{max-width:550px}
.login-steps{padding-left:22px;color:#526259;font-size:14px;line-height:1.7}.login-steps li{margin:8px 0}
.device-code-row{display:flex;gap:10px}.device-code-row input{font-family:ui-monospace,monospace;font-size:23px;letter-spacing:3px}
.account-login-link{display:inline-block;margin:18px 0 12px;text-decoration:none}#account-login-status{margin-bottom:10px}
@media(max-width:780px){.accounts-list{padding:12px}.account-card{padding:16px}.account-user-card{flex-wrap:wrap}.accounts-panel .panel-toolbar{position:static}.device-code-row{flex-wrap:wrap}.device-code-row input{flex:1;min-width:180px}}
