:root{color:#eff7f2;background:#080b0e;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}button{font:inherit}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 44%,rgba(38,164,118,.15),transparent 34%),linear-gradient(180deg,#0b0f12,#06080a)}.voice-stage{width:min(100%,420px);min-height:520px;display:grid;place-items:center;align-content:center;gap:26px}.orb-button{position:relative;width:184px;height:184px;border:0;border-radius:999px;display:grid;place-items:center;padding:0;color:inherit;background:transparent;cursor:pointer;touch-action:manipulation}.orb-control-icon{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#051811c7;transform:translateY(1px);pointer-events:none;filter:drop-shadow(0 1px 5px rgba(221,255,236,.34));transition:color .18s ease,opacity .18s ease,transform .18s ease}.orb-button:active .orb-control-icon{transform:translateY(1px) scale(.94)}.orb-button:focus-visible{outline:2px solid #c8ffdf;outline-offset:10px}.voice-orb{position:relative;width:156px;height:156px;display:grid;place-items:center;transform:translateZ(0)}.voice-orb__glow,.voice-orb__core,.voice-orb__pulse{position:absolute;border-radius:999px;pointer-events:none}.voice-orb__glow{top:8px;right:8px;bottom:8px;left:8px;background:radial-gradient(circle,rgba(208,255,228,.86),rgba(48,223,145,.22) 54%,transparent 72%);filter:blur(10px);opacity:.9}.voice-orb__core{width:92px;height:92px;background:radial-gradient(circle at 38% 30%,#f1fff7,#56efac 42%,#139c69 72%),#24d18b;box-shadow:0 0 22px #51f2a980,inset 0 -14px 20px #00392638;transition:width .24s ease,height .24s ease,border-radius .24s ease,transform .24s ease,background .24s ease}.voice-orb__pulse{width:116px;height:116px;border:1px solid rgba(205,255,226,.28);opacity:0}.voice-orb--idle .voice-orb__core{animation:idle-breathe 3.8s ease-in-out infinite}.voice-orb--connecting .voice-orb__core{width:82px;height:82px;animation:connecting-spin 1.2s ease-in-out infinite}.voice-orb--listening .voice-orb__core{width:104px;height:104px;border-radius:44% 56% 51% 49%;animation:listening-morph 1.6s ease-in-out infinite}.voice-orb--listening .voice-orb__pulse{opacity:1;animation:pulse-ring 1.8s ease-out infinite}.voice-orb--thinking .voice-orb__core{width:74px;height:104px;border-radius:48% 52% 40% 60%;animation:thinking-tilt 1.4s ease-in-out infinite}.voice-orb--executing_tool .voice-orb__core{width:118px;height:72px;border-radius:999px;animation:tool-stretch 1.1s ease-in-out infinite}.voice-orb--speaking .voice-orb__core{width:112px;height:88px;border-radius:42% 58% 55% 45%;animation:speaking-wave .72s ease-in-out infinite}.voice-orb--disconnected .voice-orb__core,.voice-orb--error .voice-orb__core{background:radial-gradient(circle at 36% 30%,#fff6f1,#ff8f5f 48%,#cf3d32 76%)}.status-block{min-height:72px;display:grid;gap:8px;text-align:center}.status-label{margin:0;color:#f5fff8;font-size:24px;font-weight:650;letter-spacing:0}.status-message{max-width:320px;margin:0;color:#aebdb5;font-size:15px;line-height:1.45}.voice-action,.update-button{min-height:42px;display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(218,255,234,.22);border-radius:999px;padding:0 16px;color:#eafff1;background:#ffffff0f;cursor:pointer}.refresh-button{position:fixed;top:max(14px,env(safe-area-inset-top));right:max(14px,env(safe-area-inset-right));z-index:20;width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(218,255,234,.16);border-radius:999px;color:#dff4e8;background:#080c0eb8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer}.refresh-button--available{border-color:#c8ffdf75;box-shadow:0 0 18px #23d18b33}.refresh-button:active{transform:scale(.94)}.voice-action{border-color:#c8ffdf52;background:#23d18b1a}.ghost-button{min-height:34px;border:0;color:#8fa59a;background:transparent;cursor:pointer}.ghost-link{color:#aebdb5}.admin-shell{height:100vh;overflow:hidden;display:grid;grid-template-columns:176px minmax(0,1fr);color:#edf8f1;background:#080b0e}.admin-sidebar{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:18px;border-right:1px solid rgba(218,255,234,.12);padding:14px;background:#ffffff06}.admin-brand{display:grid;gap:2px}.admin-brand strong{font-size:18px}.admin-brand span,.admin-sidebar-footer,.empty-state,.detail-user-bar span{color:#8fa59a}.admin-nav{display:grid;align-content:start;gap:6px}.admin-menu-button{min-height:38px;display:flex;align-items:center;gap:9px;border:1px solid transparent;border-radius:8px;padding:0 10px;color:#bcd0c6;background:transparent;cursor:pointer}.admin-menu-button--active{border-color:#c8ffdf38;color:#effff5;background:#23d18b1a}.admin-workspace{min-width:0;min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:10px;padding:12px}.admin-topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px}.admin-header{display:flex;align-items:baseline;justify-content:space-between;gap:16px;border-bottom:1px solid rgba(218,255,234,.14);padding-bottom:10px}.admin-header--compact{align-items:center}.admin-header h1,.admin-header p,.admin-panel h2{margin:0}.admin-header h1{font-size:22px}.admin-toolbar{display:flex;align-items:center;gap:10px}.admin-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.metric{border:1px solid rgba(218,255,234,.14);border-radius:8px;padding:8px 10px;background:#ffffff0a}.metric span,.admin-header p{color:#8fa59a}.metric strong{display:block;margin-top:2px;font-size:20px}.admin-board{height:calc(100vh - 124px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:minmax(0,1fr) minmax(0,1fr);gap:8px}.admin-page-grid{min-height:0;display:grid;gap:8px}.admin-page-grid--logins{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr) minmax(0,1fr)}.admin-panel{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:8px;border:1px solid rgba(218,255,234,.12);border-radius:8px;padding:10px;background:#ffffff09}.admin-panel--wide{grid-column:1 / -1}.admin-panel h2{font-size:15px;color:#dff4e8}.allow-form{display:grid;grid-template-columns:minmax(0,1fr) 82px auto;gap:6px;margin-bottom:8px}.allow-form--login{grid-template-columns:minmax(0,1fr) auto;margin-bottom:0}.allow-form input,.allow-form select{min-height:34px;min-width:0;border:1px solid rgba(218,255,234,.14);border-radius:8px;padding:0 10px;color:#edf8f1;background:#00000038}.compact-list{min-height:0;overflow:auto;display:grid;align-content:start;gap:6px;padding-right:2px}.compact-row{min-height:32px;display:grid;align-items:center;gap:8px;border:1px solid rgba(218,255,234,.1);border-radius:6px;padding:5px 6px;color:#dcece3;background:#00000026;font-size:13px}.compact-row>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compact-row--allow{grid-template-columns:minmax(0,1fr) 58px 64px 32px}.compact-row--login{grid-template-columns:minmax(0,1fr) 116px 32px}.compact-row--users{grid-template-columns:minmax(0,1fr) 58px 64px 32px}.compact-row--devices{grid-template-columns:minmax(0,1fr) 70px 78px 116px 68px}.compact-row--sessions{grid-template-columns:92px minmax(0,1fr)}.admin-details-layout{min-height:0;display:grid;grid-template-columns:280px minmax(0,1fr);gap:8px}.admin-detail-stack{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:8px}.detail-user-bar{min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid rgba(218,255,234,.12);border-radius:8px;padding:8px 10px;background:#ffffff09}.detail-user-bar div,.admin-note{min-width:0;display:grid;gap:3px}.detail-user-bar strong,.detail-user-bar span,.admin-note p{min-width:0;overflow:hidden;text-overflow:ellipsis}.admin-detail-panels{min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:8px}.user-picker{min-height:40px;display:grid;gap:2px;border:1px solid rgba(218,255,234,.1);border-radius:6px;padding:6px 8px;color:#dcece3;text-align:left;background:#00000026;cursor:pointer}.user-picker--active{border-color:#c8ffdf42;background:#23d18b1a}.user-picker span,.admin-note strong,.admin-note p{overflow:hidden;text-overflow:ellipsis}.user-picker span{white-space:nowrap}.user-picker small,.admin-note small{color:#8fa59a}.admin-note{border:1px solid rgba(218,255,234,.1);border-radius:6px;padding:7px;background:#00000026;font-size:13px}.admin-note p{display:-webkit-box;margin:0;color:#cde8da;-webkit-line-clamp:3;-webkit-box-orient:vertical}.empty-state{margin:0;padding:8px;font-size:13px}.admin-actions{display:inline-flex;gap:4px;justify-content:flex-end}.admin-mini-button{min-height:32px;padding:0 10px;border-radius:8px}.icon-button{width:32px;min-height:28px;padding:0;border-radius:7px}.danger-button{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid rgba(255,142,104,.4);border-radius:8px;color:#ffd8cc;background:#ff53361f;cursor:pointer}.admin-detail{border:1px solid rgba(218,255,234,.12);border-radius:6px;padding:7px;background:#ffffff09;font-size:13px}.admin-detail summary{cursor:pointer}.admin-detail pre{max-height:260px;overflow-x:auto;color:#cde8da;white-space:pre-wrap;font-size:12px}.admin-error{color:#ffd8cc}@media(max-width:720px){.admin-shell{height:auto;min-height:100vh;overflow:auto;grid-template-columns:1fr}.admin-sidebar{min-height:auto;grid-template-rows:none}.admin-topbar,.admin-metrics,.admin-board,.admin-page-grid--logins,.admin-details-layout,.admin-detail-panels{grid-template-columns:1fr}.admin-board{height:auto;grid-template-rows:none}.admin-panel{min-height:240px}}.event-layer{position:fixed;right:18px;bottom:18px;width:min(320px,calc(100vw - 36px));display:grid;gap:8px}.event-card{min-height:44px;display:flex;align-items:center;border:1px solid rgba(218,255,234,.16);border-radius:8px;padding:10px 12px;color:#dcece3;background:#090f11db;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}@keyframes idle-breathe{0%,to{transform:scale(.96)}50%{transform:scale(1.03)}}@keyframes connecting-spin{0%,to{transform:rotate(0) scale(.96)}50%{transform:rotate(180deg) scale(1.04)}}@keyframes listening-morph{0%,to{transform:scale(.98);border-radius:44% 56% 51% 49%}50%{transform:scale(1.08);border-radius:56% 44% 46% 54%}}@keyframes pulse-ring{0%{transform:scale(.82);opacity:.55}to{transform:scale(1.36);opacity:0}}@keyframes thinking-tilt{0%,to{transform:rotate(-8deg)}50%{transform:rotate(8deg)}}@keyframes tool-stretch{0%,to{transform:scaleX(.95)}50%{transform:scaleX(1.08)}}@keyframes speaking-wave{0%,to{transform:scaleX(.94) scaleY(1.04)}50%{transform:scaleX(1.12) scaleY(.9)}}@media(max-width:520px){.app-shell{padding:18px}.voice-stage{min-height:460px}.orb-button{width:170px;height:170px}.voice-orb{width:144px;height:144px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}
