:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:#172d50;background:#f3f7ff;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #80b6ff;outline-offset:2px}#app{display:flex;min-height:100vh}.rail{background:#fff;border-right:1px solid #e4ebf4;width:76px;display:flex;align-items:center;flex-direction:column;padding:20px 12px;gap:14px;flex-shrink:0}.brand-icon{width:42px;height:42px;background:#2563eb;color:white;border-radius:13px;display:grid;place-items:center;font-size:25px;font-weight:900;margin-bottom:25px;box-shadow:0 8px 18px #2563eb45}.rail-btn{border:0;background:none;width:45px;height:45px;border-radius:13px;font-size:26px;color:#8292aa}.rail-btn.active,.rail-btn:hover{background:#eaf1ff;color:#2563eb}.rail-bottom{margin-top:auto;color:#b5c1d2;font-size:11px;font-weight:900}.main{min-width:0;flex:1}.topbar{height:83px;background:#fff;border-bottom:1px solid #e4ebf4;display:flex;align-items:center;justify-content:space-between;padding:0 28px}.brand-name{font-size:20px;letter-spacing:.8px;font-weight:900;color:#0f2a5f}.brand-name span{color:#2563eb}.brand-name small{font-size:10px;color:#8394ac;border-left:1px solid #d8e1ef;margin-left:11px;padding-left:11px;letter-spacing:1.8px}.subtitle{font-size:11px;color:#93a0b3;margin-top:2px}.dot{color:#21b686}.top-actions{display:flex;align-items:center;gap:16px}.badge,.status-pill{border-radius:20px;background:#fff7dc;color:#a27813;padding:7px 11px;font-size:11px;font-weight:800}.ghost{border:1px solid #dce5f0;background:white;border-radius:9px;padding:9px 14px;color:#466283}.profile{border:0;background:#e9edff;border-radius:50%;height:39px;width:39px;font-weight:800;color:#3557a9}.view{display:none;padding:26px 28px}.view.active{display:block}.pageheading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.pageheading h1{font-size:25px;letter-spacing:-.7px;margin:0 0 6px;font-weight:850}.pageheading p{color:#8495aa;margin:0}.floor-select{display:flex;gap:8px;flex-wrap:wrap}.floor-select button{border:1px solid #dae5f4;background:white;padding:11px 17px;border-radius:12px;font-weight:900;color:#8292a8;min-width:108px;display:flex;align-items:center;gap:8px}.floor-select button small{font-size:10px;font-weight:600}.floor-select button.selected{background:#2563eb;color:white;border-color:#2563eb;box-shadow:0 6px 18px #2563eb38}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 355px;gap:18px;align-items:stretch}.scene-area,.agent-panel{background:white;border:1px solid #e1eaf6;border-radius:18px;box-shadow:0 5px 25px #2445750b;overflow:hidden}.scene-toolbar{display:flex;align-items:center;justify-content:space-between;padding:17px 20px;border-bottom:1px solid #edf1f7}.scene-toolbar strong{display:block}.scene-toolbar small{display:block;color:#9aa7bb;margin-top:5px}.toolbar-right{display:flex;align-items:center;gap:8px}.toolbar-right button{border:1px solid #e0e8f2;background:#fff;border-radius:8px;min-width:30px;height:30px;color:#426287;font-size:18px}.toolbar-right span{font-size:11px;color:#7b8da6;width:36px;text-align:center}.scene-viewport{position:relative;height:min(66vh,670px);min-height:445px;overflow:hidden;background:radial-gradient(ellipse at 50% 44%,#f8fdff 0%,#e7f1ff 70%,#d9e9ff 100%);touch-action:none;cursor:grab}.scene-viewport:active{cursor:grabbing}#officeScene{width:100%;height:100%;display:block;user-select:none}.scene-hint{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);font-size:10px;white-space:nowrap;color:#6887ad;background:#fffffff0;border:1px solid #deebf7;padding:9px 14px;border-radius:22px;pointer-events:none}.scene-footer{padding:13px 20px;display:flex;justify-content:space-between;color:#758ba5;font-size:11px}.scene-footer>span:last-child{color:#14a477}.separator{margin:0 12px;color:#ccd9e8}.agent-panel{display:flex;flex-direction:column;height:min(75vh,756px);min-height:610px}.panel-heading{padding:20px 19px 11px;display:flex;justify-content:space-between;color:#8b9cb1;font-size:10px;letter-spacing:1.3px;font-weight:900}.status-pill{background:#edf9f5;color:#189d72;font-size:9px}.agent-profile{display:flex;align-items:center;gap:13px;padding:4px 18px 12px}.portrait{width:80px;height:80px;border-radius:18px;background:linear-gradient(145deg,#e4f2ff,#bddeff);display:grid;place-items:center;border:1px solid #d4e9ff}.avatar-face{font-size:45px}.agent-profile h2{margin:0 0 2px;color:#142e52;font-size:21px}.agent-profile #agentJob{font-size:12px;font-weight:700;color:#3b68a8}.agent-profile small{display:block;margin-top:4px;color:#9aabc0}.agent-chips{display:flex;gap:6px;padding:0 18px 12px}.agent-chips span{font-size:10px;padding:6px 8px;background:#f1f7ff;color:#4f7ab5;border-radius:8px}.messages{padding:15px;flex:1;min-height:120px;overflow-y:auto;border-top:1px solid #ecf1f8;background:#fcfdff}.message{max-width:91%;font-size:12px;line-height:1.65;white-space:pre-wrap;padding:11px 12px;margin:10px 0;border-radius:13px}.message.bot{background:#eef5ff;color:#34517c;border-top-left-radius:3px;margin-right:auto}.message.user{background:#2563eb;color:white;border-top-right-radius:3px;margin-left:auto}.message .sender{font-size:10px;font-weight:800;margin-bottom:3px}.prompt-chips{padding:8px 13px;display:flex;gap:6px;overflow-x:auto;border-top:1px solid #edf1f7}.prompt-chips button{white-space:nowrap;border:1px solid #dce9fa;background:#fff;border-radius:20px;color:#4272b7;font-size:10px;padding:7px 9px}.chat-form{padding:9px 13px}.chat-form textarea{width:100%;resize:vertical;min-height:60px;max-height:130px;border:1px solid #e0e8f3;border-radius:12px;padding:12px;color:#193a60}.chat-controls{display:flex;align-items:center;gap:7px;margin-top:8px}.chat-controls button{border:1px solid #dfe8f5;border-radius:9px;background:white;color:#5d789f;padding:9px 11px}.chat-controls small{font-size:10px}.chat-controls button.send{margin-left:auto;background:#2563eb;border-color:#2563eb;color:white;font-weight:800}.chat-controls button.listening{background:#fce4e4;color:#bd3030}.panel-note{font-size:9px;padding:0 12px 12px;color:#9cacbf;text-align:center}.footer{text-align:center;color:#a5b2c4;font-size:11px;padding:23px}.directory-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:14px}.person-card,.setting-card{border:1px solid #e0e9f4;border-radius:15px;background:white;padding:20px;box-shadow:0 4px 20px #29539d0a}.person-card{cursor:pointer;transition:transform .2s,box-shadow .2s}.person-card:hover{transform:translateY(-3px);box-shadow:0 10px 26px #335c9c19}.person-card .face{font-size:54px;background:linear-gradient(130deg,#eaf5ff,#dae8ff);border-radius:15px;text-align:center;padding:12px}.person-card h3{margin:13px 0 3px}.person-card p{color:#7690ae;font-size:12px;margin:4px 0}.person-card small{color:#8b9db2}.person-card .go{margin-top:13px;color:#2563eb;font-weight:800;font-size:12px}.search{border:1px solid #dce6f3;padding:13px;border-radius:10px;min-width:240px}.empty-state{max-width:570px;background:white;border:1px solid #e1e8f2;border-radius:20px;padding:55px;text-align:center;margin:25px auto}.empty-state>div{font-size:70px}.empty-state p{color:#8194ad;line-height:1.7}.primary{background:#2563eb;color:#fff;border:0;border-radius:10px;padding:11px 18px}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.setting-card p{color:#758aa6;line-height:1.7}.setting-card label{display:block;margin:15px 0}.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#142c52;color:white;border-radius:12px;padding:12px 18px;box-shadow:0 10px 25px #1e355859;display:none;z-index:20}.toast.show{display:block}.room-shape{cursor:pointer;transition:opacity .18s}.room-shape:hover{filter:brightness(1.06)}.room-shape.selected .floor-top{stroke:#2563eb;stroke-width:5}.agent-svg{cursor:pointer}.agent-svg:hover{filter:drop-shadow(0 0 8px #559fff)}.agent-svg.active .agent-head{stroke:#2563eb;stroke-width:3}.room-label{pointer-events:none;font-weight:800;fill:#284b78;font-size:14px}.room-caption{pointer-events:none;font-size:10px;fill:#7f9bbc}.float-avatar{animation:bob 2.5s ease-in-out infinite;transform-box:fill-box;transform-origin:center}@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}.no-motion .float-avatar{animation:none}@media(max-width:1200px){.workspace{grid-template-columns:minmax(0,1fr) 330px}.pageheading{align-items:flex-start;flex-direction:column}}@media(max-width:850px){.rail{width:56px;padding:15px 4px}.topbar{padding:0 12px}.brand-name{font-size:16px}.brand-name small{display:none}.top-actions .ghost{display:none}.view{padding:16px 12px}.workspace{grid-template-columns:1fr}.agent-panel{height:630px;min-height:0}.scene-viewport{height:460px;min-height:350px}.settings-grid{grid-template-columns:1fr}.pageheading h1{font-size:22px}}@media(max-width:500px){.floor-select button{min-width:0;padding:9px}.floor-select button small{display:none}.scene-hint{font-size:8px}.toolbar-right{gap:3px}.scene-toolbar{padding:12px}.top-actions .badge{display:none}.pageheading{gap:10px}.search{min-width:0;width:100%}}

/* R2 Agent Life: office activity, traceability and animated workers */
.live-worker{pointer-events:none;filter:drop-shadow(0 3px 2px rgba(14,51,89,.17))}
.room-status{font-family:inherit;font-size:10px;font-weight:800;fill:#366ba3}
.life-strip{background:#fff;border-top:1px solid #dfebf8;padding:10px 16px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.life-strip strong{font-size:11px;color:#164174}.demo-flag{font-size:10px;color:#687b99;margin-left:6px}
.life-strip button{font-size:11px;border:1px solid #cbdff9;color:#2059a3;background:#f2f7ff;border-radius:9px;padding:7px 10px;cursor:pointer}
.life-feed{flex:1 1 100%;max-height:75px;overflow:auto;display:flex;gap:9px;scrollbar-width:thin}
.life-event{flex:0 0 auto;border:1px solid #d7e6f5;background:#f6faff;border-radius:8px;padding:7px 9px;color:#445e80;font-size:10px}
.life-event strong{color:#164174}.life-event-time{color:#6984a6;margin-right:4px}
.life-current{padding:8px 15px;font-size:11px;color:#607b9a;border-bottom:1px solid #edf3fa}
.life-current strong{color:#1b67b8}.live-tasks{display:grid;gap:10px;margin-bottom:16px}
.jobrow{display:flex;align-items:center;gap:12px;padding:13px 15px;background:#fff;border:1px solid #e2eaf8;border-radius:12px;color:#243d60}
.jobrow small{display:block;margin-top:3px;color:#7890ad}.job-dot{width:11px;height:11px;border-radius:50%;background:#f5ad31}
.job-dot.done{background:#29b576}.job-dot.blocked{background:#ee6262}
@media(max-width:760px){.life-feed{max-height:90px}.life-strip{padding:9px}.life-event{max-width:200px;white-space:normal}}
