:root{--ink:#151726;--muted:#707486;--line:#e8e8ef;--paper:#fff;--accent:#6759dc;--accent-soft:#efedff;--danger:#d45367;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:#fafafa}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:#fafafa}button,input,select{font:inherit}button{cursor:pointer}.hidden{display:none!important}.login-view{min-height:100vh;width:min(100% - 2rem,420px);margin:auto;display:grid;align-content:center;gap:2rem}.login-brand{display:flex;align-items:center;gap:.65rem;font-weight:800;font-size:1.15rem}.logo{display:grid;place-items:center;width:2.25rem;height:2.25rem;background:var(--ink);color:#fff;border-radius:.72rem;font-weight:900}.logo.small{width:1.75rem;height:1.75rem;border-radius:.55rem;font-size:.85rem}.login-form{display:grid;gap:1rem;padding:0}.overline{margin:0;color:var(--accent);font-size:.68rem;font-weight:800;letter-spacing:.13em}.login-form h1,.view h1{margin:0;font-size:clamp(2rem,6vw,3.5rem);letter-spacing:-.05em;line-height:1.02}.subtle{margin:0;color:var(--muted);line-height:1.55}.login-form label,.form-grid label{display:grid;gap:.42rem;font-size:.82rem;font-weight:700;color:#383b4b}.login-form input,.form-grid input,.form-grid select,.message-form input{border:1px solid var(--line);border-radius:.75rem;background:#fff;padding:.78rem .85rem;color:var(--ink);outline:none}.login-form input:focus,.form-grid input:focus,.form-grid select:focus,.message-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.primary{border:0;border-radius:.78rem;background:var(--ink);color:#fff;padding:.84rem 1rem;font-weight:750;transition:transform .15s,background .15s}.primary:hover{background:var(--accent);transform:translateY(-1px)}.primary.compact{padding:.62rem .8rem}.error{min-height:1rem;margin:0;color:var(--danger);font-size:.8rem}.workspace{width:min(100% - 2rem,980px);margin:auto;min-height:100vh}.appbar{height:4.5rem;display:flex;align-items:center;justify-content:space-between}.icon-button{border:0;background:transparent;width:2.5rem;height:2.5rem;border-radius:.65rem;display:grid;place-items:center;color:var(--ink);font-size:1.6rem}.icon-button:hover{background:#f1f1f6}.icon-button span{display:block;width:1.1rem;height:2px;background:currentColor;margin:2px}.icon-button.close{font-size:1.6rem}.wordmark{color:var(--ink);font-size:1.15rem;font-weight:850;text-decoration:none;letter-spacing:-.04em}.wordmark span{color:var(--accent)}.profile-button{border:0;background:transparent;color:var(--muted);font-size:.82rem;display:flex;align-items:center;gap:.25rem}.drawer-backdrop{position:fixed;z-index:20;inset:0;background:rgba(21,23,38,.22);backdrop-filter:blur(2px)}.drawer{position:fixed;z-index:21;top:0;left:0;width:min(320px,86vw);height:100vh;padding:1rem;background:#fff;box-shadow:18px 0 46px rgba(17,18,31,.13);transform:translateX(-105%);transition:transform .22s ease;display:flex;flex-direction:column}.drawer.open{transform:translateX(0)}.drawer-head{display:flex;justify-content:space-between;align-items:center}.drawer-head>div{display:flex;align-items:center;gap:.55rem}.drawer-section{margin:2rem 0 1rem}.drawer-label{font-size:.65rem;font-weight:800;letter-spacing:.12em;color:var(--muted);margin:0 0 .7rem}.language-list{display:grid;gap:.25rem}.language-list button,.drawer-link{border:0;background:transparent;color:#4b4d5d;border-radius:.65rem;padding:.72rem .75rem;text-align:left;font-weight:650}.language-list button.active{background:var(--accent-soft);color:var(--accent)}.drawer-nav{display:grid;gap:.3rem}.drawer-link{display:flex;gap:.7rem;align-items:center}.drawer-link.active,.drawer-link:hover{background:#f5f5f8;color:var(--ink)}.drawer-footer{margin-top:auto;padding-top:1rem;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:.82rem}.text-action{border:0;background:transparent;color:var(--muted);font-size:.82rem;padding:.4rem}.text-action:hover{color:var(--accent)}.view{padding:3rem 0 6rem}.practice-view{min-height:calc(100vh - 4.5rem);display:grid;align-content:center;gap:2.25rem;padding-top:0}.practice-copy{max-width:36rem}.practice-copy h1{margin:.3rem 0 .8rem}.call-area{min-height:290px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;place-items:center;align-content:center;gap:1rem;position:relative}.call-state{position:absolute;top:1rem;left:0;display:flex;align-items:center;gap:.5rem;color:var(--muted);font-size:.8rem;font-weight:700}.status-dot{width:.48rem;height:.48rem;border-radius:50%;background:#b8bbc7}.status-dot.connecting{background:#e8a33e;box-shadow:0 0 0 .26rem rgba(232,163,62,.15)}.status-dot.live{background:#36ad86;box-shadow:0 0 0 .26rem rgba(54,173,134,.15)}.call-button{width:124px;aspect-ratio:1;border:0;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;align-content:center;gap:.2rem;font-weight:750;box-shadow:0 15px 28px rgba(21,23,38,.16);transition:transform .15s,background .15s}.call-button:hover{transform:scale(1.03);background:var(--accent)}.call-button.stop{background:var(--danger)}#call-symbol{font-size:1.45rem}.hint{margin:0;color:var(--muted);font-size:.85rem;text-align:center}.transcript-fab{position:fixed;right:max(1.1rem,calc((100vw - 980px)/2));bottom:1.25rem;z-index:8;display:flex;gap:.5rem;align-items:center;border:0;border-radius:999px;padding:.68rem .85rem;background:var(--ink);color:#fff;box-shadow:0 10px 24px rgba(21,23,38,.2);font-weight:700;font-size:.78rem}.transcript-fab:hover{background:var(--accent)}.transcript-overlay{position:fixed;z-index:30;inset:0;background:#fff;padding:clamp(1rem,4vw,3rem);display:flex;flex-direction:column}.transcript-header{width:min(880px,100%);margin:0 auto;display:flex;align-items:start;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:1rem}.transcript-header>div:last-child{display:flex;align-items:center;gap:.3rem}.transcript-header h2{margin:.2rem 0 0;font-size:1.4rem}.transcript-list{width:min(880px,100%);margin:0 auto;padding:1.2rem 0;flex:1;overflow:auto;display:grid;gap:.75rem}.empty-state{align-self:center;justify-self:center;color:var(--muted);font-size:.9rem}.bubble{max-width:min(78%,620px);padding:.75rem .9rem;border-radius:.9rem;line-height:1.5;font-size:.93rem}.bubble.user{justify-self:end;background:#eef5f3}.bubble.agent{justify-self:start;background:#f3f1ff}.speaker{display:block;color:var(--accent);font-size:.68rem;font-weight:800;margin-bottom:.15rem}.message-form{width:min(880px,100%);margin:0 auto;display:flex;gap:.5rem;border-top:1px solid var(--line);padding-top:1rem}.message-form input{min-width:0;flex:1}.message-form button{border:0;border-radius:.7rem;background:var(--ink);color:#fff;padding:.65rem .9rem;font-weight:700}.message-form button:disabled{opacity:.4}.upload-form,.admin-panel{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:1.3rem 0;margin-top:2rem}.upload-trigger{border:1px dashed #cfcddd;border-radius:1rem;min-height:155px;display:grid;place-content:center;justify-items:center;gap:.35rem;color:var(--muted);cursor:pointer}.upload-trigger>span{font-size:1.6rem;color:var(--accent)}.upload-trigger strong{color:var(--ink)}.upload-trigger input{display:none}.upload-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-top:.75rem;font-size:.8rem}.document-list,.admin-list{display:grid;gap:.55rem;margin-top:1rem}.document-row,.admin-row{display:flex;align-items:center;gap:.75rem;border-bottom:1px solid var(--line);padding:.8rem 0}.document-icon{display:grid;place-items:center;width:2.3rem;height:2.3rem;border-radius:.55rem;background:var(--accent-soft);color:var(--accent);font-size:.65rem;font-weight:800}.document-main{flex:1;min-width:0}.document-main strong,.document-main small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.document-main small{color:var(--muted);font-size:.76rem;margin-top:.15rem}.status-tag{font-size:.68rem;color:var(--muted);background:#f1f1f5;border-radius:999px;padding:.25rem .45rem;white-space:nowrap}.status-tag.ready{background:#e5f6ef;color:#368264}.status-tag.failed{background:#fff0f2;color:var(--danger)}.row-actions{display:flex;gap:.25rem}.row-actions button{border:0;background:#f3f3f6;border-radius:.5rem;padding:.4rem .5rem;color:var(--muted);font-size:.75rem}.row-actions button.danger:hover{color:var(--danger);background:#fff0f2}.admin-layout{display:grid;grid-template-columns:minmax(250px,.75fr) minmax(300px,1.25fr);gap:2rem}.admin-panel h2{margin:0 0 1rem;font-size:1rem}.form-grid{display:grid;gap:.8rem}.admin-row{font-size:.85rem;flex-wrap:wrap}.admin-row strong{margin-right:auto}@media(max-width:640px){.login-view{width:min(100% - 2rem,420px)}.workspace{width:min(100% - 1.5rem,980px)}.appbar{height:4rem}.profile-button span:first-child{display:none}.view{padding:2rem 0 5.5rem}.practice-view{min-height:calc(100vh - 4rem)}.call-area{min-height:250px}.transcript-fab{right:1rem;bottom:1rem}.admin-layout{grid-template-columns:1fr;gap:0}.upload-row{align-items:flex-start;flex-direction:column}.upload-row .primary{width:100%}.document-row{align-items:flex-start}.row-actions{flex-wrap:wrap;justify-content:flex-end}.bubble{max-width:92%}}
.document-progress{height:4px;margin-top:.45rem;overflow:hidden;border-radius:999px;background:#ececf2}.document-progress span{display:block;height:100%;border-radius:inherit;background:var(--accent);transition:width .35s ease}.document-row .status-tag.indexing{background:#fff4df;color:#a66a13}.document-row .status-tag.failed{background:#fff0f2;color:var(--danger)}
.ai-profile-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;border-top:1px solid var(--line);margin-top:2rem;padding-top:1.25rem}.ai-profile-form label{display:grid;gap:.42rem;font-size:.82rem;font-weight:700;color:#383b4b}.ai-profile-form input,.ai-profile-form select,.ai-profile-form textarea{width:100%;border:1px solid var(--line);border-radius:.75rem;background:#fff;padding:.78rem .85rem;color:var(--ink);outline:none;resize:vertical}.ai-profile-form input:focus,.ai-profile-form select:focus,.ai-profile-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.ai-profile-form .wide{grid-column:1/-1}.ai-profile-form small{font-weight:400;color:var(--muted);line-height:1.45}.ai-profile-actions{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-top:.2rem}@media(max-width:640px){.ai-profile-form{grid-template-columns:1fr}.ai-profile-actions{align-items:flex-start;flex-direction:column}.ai-profile-actions .primary{width:100%}}
