:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#213832;background:#f2f5ef;font-size:14px}*{box-sizing:border-box}body{margin:0}header{display:flex;align-items:center;gap:18px;padding:25px 4%;border-bottom:1px solid #d5dfd5;background:#fff}h1{margin:0;font-size:27px;letter-spacing:-1px}small{font-size:16px;font-weight:400;letter-spacing:0;margin-left:8px}p{line-height:1.6}.logo{font-size:40px;color:#406f58}.badge{margin-left:auto;background:#e7edda;border-radius:20px;padding:9px 14px;font-size:11px;letter-spacing:1px}header p{margin:4px 0;color:#718378}main{display:grid;grid-template-columns:260px minmax(330px,1fr) 320px;gap:24px;max-width:1600px;margin:auto;padding:30px}aside,.conversation{background:#fff;border:1px solid #dbe3d8;border-radius:18px;padding:22px}h2{font-size:18px;margin:0 0 12px}h3{margin-top:28px;font-size:14px}button{border:0;border-radius:9px;background:#315d47;color:#fff;padding:11px 15px;cursor:pointer;font:inherit}button:hover{filter:brightness(.93)}button:disabled{opacity:.5;cursor:wait}.secondary{background:#eaf0e7;color:#315d47}input,textarea{width:100%;border:1px solid #d8e0d4;border-radius:9px;padding:12px;font:inherit;margin:6px 0;background:#fafcf8}textarea{height:100px;resize:vertical}.muted,.empty{color:#748077;font-size:12px}.sectionhead{display:flex;justify-content:space-between;align-items:center}.sectionhead span{font-size:11px}.voice{display:flex;align-items:center;gap:14px;background:#f1f5ed;padding:16px;border-radius:12px;margin:20px 0}.voice p{font-size:12px;margin:4px 0}.voice button{font-size:12px;min-width:110px}#orb{font-size:42px;color:#719769}#orb.active{animation:pulse 2s infinite}@keyframes pulse{50%{opacity:.4;transform:scale(.9)}}#messages{min-height:240px;max-height:420px;overflow:auto}.message{padding:12px 15px;background:#f2f5ef;border-radius:10px;margin:10px 0;white-space:pre-wrap;line-height:1.6}.message.user{background:#e5efdf;margin-left:25px}.role{font-size:10px;text-transform:none;font-weight:bold;display:block}.buttons{display:flex;gap:8px}.card{padding:12px;background:#f7f9f4;border:1px solid #e2e8dc;border-radius:10px;margin:10px 0;overflow-wrap:anywhere}.card button{padding:5px 10px;font-size:12px;margin:4px}.card p{margin:5px 0;font-size:12px}progress{width:100%;accent-color:#527b47}a{color:#315d47}.upload{display:block;border:1px dashed #abbca4;padding:10px;margin-top:10px;border-radius:8px;font-size:12px}.upload input{font-size:11px}#notice{color:#7c4b23;min-height:24px}footer{text-align:center;padding:20px;color:#7c897e;font-size:12px}@media(max-width:1100px){main{grid-template-columns:220px 1fr}main>aside:last-child{grid-column:1/-1}}@media(max-width:700px){main{display:block;padding:12px}main>*{margin-bottom:12px}.badge{display:none}.voice{flex-wrap:wrap}}

#latestMessages{margin:8px 0;float:right}#chatForm{clear:both}#messages{overflow-anchor:none}.conversation{min-width:0}button[hidden]{display:none}
.voice input[type=checkbox]{width:auto;margin:8px 6px 8px 0}.voice label{display:block;font-size:12px;line-height:1.6}.voice>div:last-child{min-width:0}.voice button{margin:5px 4px 0 0}#callStatus{overflow-wrap:anywhere}#voiceMetrics{font-variant-numeric:tabular-nums}

nav{display:flex;gap:20px;padding:12px 24px}nav a{color:inherit}nav [hidden]{display:none}#roomAdmin{padding:24px;max-width:760px;width:100%;box-sizing:border-box}.admin-view main{display:block}.admin-view main>aside,.admin-view main>.conversation,.admin-view main>.work{display:none}.admin-view main>#roomAdmin{margin:auto}.admin-view main>#roomAdmin[hidden]{display:none}

.login-view main{display:block;max-width:540px}.login-view main>.conversation,.login-view main>aside:last-child{display:none}.login-view main>aside:first-of-type>h3,.login-view #memories,.login-view #memoryForm,.login-view #connect,.login-view #connectors,.login-view #oauth,.login-view #logout{display:none}.admin-page main{display:block;max-width:900px}.admin-page #roomAdmin{background:white;border:1px solid #dbe3d8;border-radius:18px;margin:auto}.admin-page #adminNotice{max-width:850px;margin:16px auto;padding:12px}.admin-page form{display:grid;gap:8px}.admin-page nav a[aria-current]{font-weight:bold}.admin-page header{justify-content:space-between}@media(max-width:700px){.admin-page header{align-items:flex-start;padding:18px}.admin-page h1{font-size:24px}.admin-page main{padding:12px}.admin-page #roomAdmin{padding:18px}.admin-page nav{padding:12px;flex-wrap:wrap}}
