:root{--bg: #0e1116;--panel: #161b22;--panel-2: #1c232d;--border: #2a333f;--text: #e6edf3;--muted: #8b98a9;--accent: #6ea8fe;--accent-2: #7ee787;--danger: #ff7b72;--user: #1f6feb;--agent: #253040;--agent-orb: #8b5cf6;--amber: #eab676;--amber-dim: #b8844e}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text)}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--accent)}.app{max-width:860px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column;padding:20px 16px 0}.app__header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.app__brand{display:flex;align-items:center;gap:12px}.app__logo{font-size:34px;color:var(--accent);filter:drop-shadow(0 0 8px rgba(110,168,254,.5))}.app__brand h1{font-size:20px;margin:0}.app__brand p{margin:0;color:var(--muted);font-size:13px}.app__tabs{display:flex;gap:6px}.app__tabs button{background:transparent;color:var(--muted);border:1px solid transparent;padding:8px 14px;border-radius:8px;cursor:pointer;font-size:14px}.app__tabs button.active{background:var(--panel);color:var(--text);border-color:var(--border)}.app__banner{margin-top:14px;padding:10px 14px;background:#ff7b721f;border:1px solid rgba(255,123,114,.4);border-radius:8px;color:var(--danger);font-size:14px}.app__main{flex:1;margin-top:18px}.app__footer{margin-top:16px;padding:14px 0;border-top:1px solid var(--border);color:var(--muted);font-size:12px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.rv{display:flex;flex-direction:column;height:100%}.rv__log{flex:1;min-height:360px;max-height:62vh;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:4px 2px 12px}.rv__hero{margin:auto;max-width:520px;text-align:center;color:var(--muted)}.rv__hero h2{color:var(--text);font-size:22px;margin:0 0 12px}.rv__hero p{font-size:14px;line-height:1.6;margin:0}.bubble{max-width:82%;padding:10px 14px;border-radius:14px;font-size:15px;line-height:1.4}.bubble__who{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.04em;opacity:.6;margin-bottom:3px}.bubble--user{align-self:flex-end;background:var(--user);color:#fff;border-bottom-right-radius:4px}.bubble--agent{align-self:flex-start;background:var(--agent);border-bottom-left-radius:4px}.bubble--partial{opacity:.55;font-style:italic}.rv__error{color:var(--danger);font-size:14px;margin:6px 2px}.composer{margin-top:10px;background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:8px 8px 8px 16px;display:flex;align-items:center;gap:10px}.composer__input{flex:1;background:transparent;border:none;color:var(--text);font-size:15px;padding:8px 0}.composer__input:focus{outline:none}.composer__input::placeholder{color:var(--muted)}.composer__actions{display:flex;align-items:center;gap:8px}.composer__send{width:34px;height:34px;border-radius:50%;border:1px solid var(--border);background:var(--panel-2);color:var(--muted);cursor:pointer;font-size:13px}.composer__send:disabled{opacity:.4;cursor:default}.composer__dictate{display:inline-flex;align-items:center;gap:6px;border-radius:999px}.ov{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:radial-gradient(1200px 600px at 50% 30%,#101820,#06090d 70%);color:var(--text);display:flex;flex-direction:column}.ov__head{display:flex;align-items:flex-start;justify-content:space-between;padding:20px 26px}.ov__instr{display:flex;flex-direction:column;gap:3px}.ov__instr strong{font-size:15px;font-weight:600}.ov__instr span{font-size:12.5px;color:var(--muted)}.ov__close{background:transparent;border:none;color:var(--muted);font-size:20px;cursor:pointer;line-height:1;padding:4px 8px}.ov__close:hover{color:var(--text)}.ov__body{flex:1;display:grid;grid-template-columns:300px 1fr;min-height:0}.ov__side{border-right:1px solid rgba(255,255,255,.06);padding:8px 18px 18px;display:flex;flex-direction:column;min-height:0}.ov__side-title{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:8px 0 12px}.ov__side-log{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:10px}.ov__side-empty{color:var(--muted);font-size:13px}.turn{font-size:13.5px;line-height:1.45;padding:8px 10px;border-radius:10px;background:#ffffff0a}.turn__who{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.05em;opacity:.55;margin-bottom:2px}.turn--agent{border-left:2px solid var(--agent-orb)}.turn--user{border-left:2px solid var(--accent-2)}.turn--partial{opacity:.55;font-style:italic}.ov__side-foot{margin-top:12px;font-size:11px;color:var(--muted)}.ov__center{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;padding:20px}.orb{width:160px;height:160px;border-radius:50%;display:grid;place-items:center;transition:background .4s,box-shadow .4s}.orb--listening{background:radial-gradient(circle at 50% 38%,#5ef2a0,#12a150);box-shadow:0 0 70px 14px #4ade808c;animation:orbPulse 2s ease-in-out infinite}.orb--agent{background:radial-gradient(circle at 50% 38%,#b39cff,#6b34e0);box-shadow:0 0 70px 14px #8b5cf699;animation:orbPulse 1.3s ease-in-out infinite}.orb--connecting{background:radial-gradient(circle at 50% 38%,#7fa9ff,#2f5fd0);box-shadow:0 0 50px 10px #6ea8fe66;animation:orbPulse 1s ease-in-out infinite}.orb--paused{background:radial-gradient(circle at 50% 38%,#3a4552,#232a33);box-shadow:none}@keyframes orbPulse{0%,to{transform:scale(1)}50%{transform:scale(1.07)}}.ov__state{font-size:15px;color:var(--muted);letter-spacing:.02em}.ov__transcribe{width:min(600px,82vw)}.ov__transcribe-text{background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:16px 18px;min-height:58px;font-size:16px;line-height:1.45}.ov__placeholder{color:var(--muted)}.ov__transcribe-hint{margin-top:8px;font-size:12.5px;color:var(--muted);min-height:16px}.ov__foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 26px 26px}.ov__err{color:var(--danger);font-size:13px}@media (max-width: 720px){.ov__body{grid-template-columns:1fr}.ov__side{display:none}}.btn{border:1px solid var(--border);background:var(--panel-2);color:var(--text);padding:9px 16px;border-radius:8px;cursor:pointer;font-size:14px;transition:filter .15s,background .15s}.btn:hover{filter:brightness(1.15)}.btn:disabled{opacity:.5;cursor:default}.btn--primary{background:var(--accent);color:#0b1020;border-color:transparent;font-weight:600}.btn--danger{background:transparent;color:var(--danger);border-color:#ff7b7280}.btn--ghost{background:transparent}.btn--valider{background:var(--accent-2);color:#06210f;border-color:transparent;font-weight:600;border-radius:999px;padding:9px 22px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:18px;display:flex;flex-direction:column;gap:14px}.panel__hint{margin:0;color:var(--muted);font-size:13.5px;line-height:1.55}.field{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted)}.field input,.field textarea{background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:10px 12px;font-size:14px;font-family:inherit;resize:vertical}.field__terms{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.field input:focus,.field textarea:focus{outline:none;border-color:var(--accent)}.panel__actions{display:flex;align-items:center;gap:12px}.panel__saved{color:var(--accent-2);font-size:13px}.xf{display:flex;flex-direction:column;min-height:0}.xf__title{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--amber);margin:4px 0 10px}.xf__spin{color:var(--amber-dim);text-transform:none;letter-spacing:0;font-style:italic}.xf__list{display:flex;flex-direction:column;gap:8px;overflow-y:auto}.xf__empty{color:var(--muted);font-size:12.5px;margin:0}.xf__row{display:flex;flex-direction:column;gap:2px;font-size:13px}.xf__label{color:var(--amber-dim);font-size:11px}.xf__req{color:var(--danger);font-style:normal;margin-left:2px}.xf__val{color:var(--amber);font-weight:500}.xf__val--default{color:var(--amber-dim);font-style:italic}.xf__tag{margin-left:6px;font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border:1px solid var(--border);border-radius:4px;padding:0 4px}.xf__missing{color:var(--muted);font-size:12px;font-style:italic}.xf__row--missing .xf__label{color:var(--muted)}.ov__side-fields{flex:1.4 1 0;min-height:0;display:flex;padding-bottom:12px}.ov__side-transcript{flex:1 1 0;min-height:0;display:flex;flex-direction:column;border-top:1px solid rgba(255,255,255,.06);padding-top:10px}.rv__report{background:var(--panel);border:1px solid var(--border);border-left:3px solid var(--amber);border-radius:10px;padding:12px 14px;margin-bottom:12px;max-height:220px;overflow:hidden;display:flex}.rv__report .xf__list{max-height:170px}.fields{display:flex;flex-direction:column;gap:12px}.fieldcard{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:10px}.fieldcard__row{display:flex;gap:12px;align-items:flex-end}.fieldcard__row>.field{flex:1}.fieldcard__del{background:transparent;border:1px solid var(--border);color:var(--muted);border-radius:8px;width:34px;height:38px;cursor:pointer;flex:0 0 auto}.fieldcard__del:hover{color:var(--danger);border-color:#ff7b7280}.field select{background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:9px 10px;font-size:14px;font-family:inherit}.field--check{flex:0 0 auto;align-items:center}.field--check input{width:18px;height:18px}.bubble--typing{opacity:.85}.typing{display:inline-flex;gap:4px;align-items:center;height:12px}.typing i{width:6px;height:6px;border-radius:50%;background:var(--muted);animation:typing 1.2s infinite ease-in-out}.typing i:nth-child(2){animation-delay:.18s}.typing i:nth-child(3){animation-delay:.36s}@keyframes typing{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}.userbar{margin-top:14px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:10px 14px}.userbar label{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.userbar select{background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:7px 10px;font-size:14px;max-width:360px}.userbar__org{font-size:12px;color:var(--muted)}.panel__source{background:#eab6761a;border:1px solid rgba(234,182,118,.35);border-radius:8px;padding:10px 12px;font-size:13px;color:var(--amber);line-height:1.5}.panel__source code{color:var(--amber)}.fieldsro{display:flex;flex-direction:column;gap:8px}.fieldro{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:10px 12px}.fieldro__head{display:flex;align-items:center;justify-content:space-between;gap:8px}.fieldro__label{font-size:14px}.fieldro__type{font-size:10px;letter-spacing:.05em;color:var(--muted);border:1px solid var(--border);border-radius:4px;padding:1px 6px}.fieldro__meta{margin-top:4px;font-size:12px;color:var(--muted)}.fieldro__meta code{color:var(--accent)}.usersel{position:relative;min-width:300px}.usersel__value{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:7px 10px;font-size:14px;cursor:pointer;text-align:left}.usersel__caret{color:var(--muted);font-size:11px}.usersel__pop{position:absolute;z-index:60;top:calc(100% + 4px);left:0;right:0;background:var(--panel);border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 32px #00000073;overflow:hidden}.usersel__search{width:100%;box-sizing:border-box;border:none;border-bottom:1px solid var(--border);background:var(--panel-2);color:var(--text);padding:10px 12px;font-size:14px}.usersel__search:focus{outline:none}.usersel__list{max-height:300px;overflow-y:auto;display:flex;flex-direction:column}.usersel__opt{text-align:left;background:transparent;border:none;color:var(--text);padding:8px 12px;font-size:13.5px;cursor:pointer}.usersel__opt:hover{background:var(--panel-2)}.usersel__opt.active{color:var(--accent-2)}.usersel__empty,.usersel__more{padding:10px 12px;color:var(--muted);font-size:12.5px}.xf__tag--db{color:var(--accent-2);border-color:#7ee78766}.xf__tag--nomatch{color:var(--amber-dim);border-color:#b8844e66}.rv__bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:8px 12px}.rv__bar-title{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.hist__list{display:flex;flex-direction:column;gap:8px}.hist__item{display:flex;align-items:stretch;gap:8px}.hist__open{flex:1;text-align:left;background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:10px 12px;cursor:pointer;color:var(--text);display:flex;flex-direction:column;gap:3px}.hist__open:hover{border-color:var(--accent)}.hist__summary{font-size:14px}.hist__meta{font-size:11.5px;color:var(--muted)}.hist__del{background:transparent;border:1px solid var(--border);color:var(--muted);border-radius:10px;width:40px;cursor:pointer}.hist__del:hover{color:var(--danger);border-color:#ff7b7280}.hist__when{font-size:12px;color:var(--muted)}.hist__log{margin-top:12px;display:flex;flex-direction:column;gap:10px;max-height:52vh;overflow-y:auto}.login{min-height:100vh;display:grid;place-items:center;padding:20px}.login__card{width:min(380px,92vw);background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:28px 24px;display:flex;flex-direction:column;gap:18px}.login__brand{display:flex;align-items:center;gap:12px}.login__brand h1{margin:0;font-size:20px}.login__brand p{margin:0;color:var(--muted);font-size:13px}.login__field{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted)}.login__pw{position:relative;display:flex}.login__pw input{flex:1;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:11px 42px 11px 12px;font-size:15px}.login__pw input:focus{outline:none;border-color:var(--accent)}.login__eye{position:absolute;right:4px;top:50%;transform:translateY(-50%);background:transparent;border:none;cursor:pointer;font-size:16px;padding:6px 8px}.login__error{color:var(--danger);font-size:13px}.login__submit{padding:11px;font-size:15px}.app__logout{background:transparent;color:var(--muted);border:1px solid transparent;padding:8px 12px;border-radius:8px;cursor:pointer;font-size:15px}.app__logout:hover{color:var(--danger);border-color:var(--border)}
