:root{color:#17211c;background:#eef1ee;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}button{border:0}.app-shell{min-height:100vh;max-width:1180px;margin:0 auto;display:grid;grid-template-rows:auto auto minmax(320px,1fr) auto;gap:14px;padding:18px}.call-header{display:flex;align-items:center;justify-content:space-between;gap:18px;min-width:0}.call-title{min-width:0}.workspace-label{display:block;color:#627068;font-size:13px;line-height:1.4}.call-header h1{margin:2px 0 0;overflow-wrap:anywhere;color:#111815;font-size:28px;line-height:1.15;font-weight:720}.call-status-strip{min-height:42px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end;color:#324139;font-size:14px}.language-route{padding-left:10px;border-left:1px solid #cdd5ce;color:#56645d}.speech-readiness{border-radius:999px;padding:4px 8px;font-size:12px;line-height:1.2;font-weight:700}.speech-waiting{color:#7a4a12;background:#fff4dd}.speech-ready{color:#0f5b42;background:#def5eb}.status-dot{width:10px;height:10px;flex:0 0 auto;border-radius:999px;background:#8b968f;box-shadow:0 0 0 4px #8b968f24}.status-requestingMic,.status-creating,.status-connecting,.status-connectingRealtime,.status-callingMerchant{background:#b7791f;box-shadow:0 0 0 4px #b7791f29}.status-inCall{background:#168057;box-shadow:0 0 0 4px #16805729}.status-error{background:#b42318;box-shadow:0 0 0 4px #b4231826}.setup-panel,.transcript-timeline,.call-controls{border:1px solid #d6ddd7;border-radius:8px;background:#fff}.setup-panel{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(180px,1fr) minmax(180px,1fr);gap:12px;padding:14px}.field{min-width:0;display:grid;gap:6px;color:#4d5d54;font-size:13px;line-height:1.35}.field input,.field select{width:100%;min-height:42px;border:1px solid #bbc7bf;border-radius:6px;padding:8px 10px;background:#fff;color:#17211c;outline:none}.field input:focus,.field select:focus,button:focus-visible{border-color:#28765f;box-shadow:0 0 0 3px #28765f29}.field input:disabled,.field select:disabled{color:#67746d;background:#f3f5f3}.privacy-note,.error-text{grid-column:1 / -1;margin:0;font-size:13px;line-height:1.45}.privacy-note{color:#55635b}.error-text{color:#b42318}.transcript-timeline{min-height:360px;overflow:auto;display:flex;flex-direction:column;gap:12px;padding:16px;background:#fbfcfb}.transcript-timeline-empty{align-items:center;justify-content:center;color:#66736c;text-align:center}.transcript-timeline-empty p{margin:0}.transcript-bubble{width:fit-content;max-width:min(72%,760px);padding:12px 14px;border:1px solid #d5ddd7;border-radius:8px;background:#fff}.transcript-bubble.user{align-self:flex-end;background:#edf7ff;border-color:#c8dff0}.transcript-bubble.merchant{align-self:flex-start;background:#fffdf8;border-color:#e4d9c6}.bubble-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px;color:#64736b;font-size:12px;line-height:1.35}.speaker-label{color:#24332b;font-weight:700}.transcript-lines{display:grid;gap:6px}.source-text,.translated-text{margin:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;overflow-wrap:anywhere;line-height:1.5}.line-label{color:#718078;font-size:12px;font-weight:600}.source-text{color:#2a352f}.translated-text{color:#111815;font-weight:680}.call-controls{display:flex;align-items:center;justify-content:center;gap:10px;padding:12px}.dtmf-sheet{position:fixed;left:50%;bottom:82px;z-index:20;width:min(360px,calc(100vw - 28px));transform:translate(-50%);display:grid;gap:12px;border:1px solid #cdd8d0;border-radius:8px;padding:14px;background:#fff;box-shadow:0 18px 44px #141f192e}.dtmf-sheet-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.dtmf-sheet-header h2{margin:0;color:#17211c;font-size:16px;line-height:1.2}.dtmf-entry-strip{min-height:46px;display:flex;align-items:center;gap:6px;overflow-x:auto;padding:6px;border:1px solid #d9e1db;border-radius:6px;background:#f8faf8}.dtmf-entry-empty{color:#6a7770;font-size:13px}.dtmf-entry{flex:0 0 auto;min-width:42px;min-height:34px;display:grid;align-content:center;justify-items:center;gap:2px;border:1px solid #d1dad4;border-radius:6px;padding:4px 6px;background:#fff}.dtmf-entry-digit{color:#111815;font-size:16px;line-height:1;font-weight:760}.dtmf-entry-status,.dtmf-entry-reason{color:#66736c;font-size:11px;line-height:1.15;white-space:nowrap}.dtmf-entry-sent{border-color:#b9dbc9;background:#effaf4}.dtmf-entry-failed{border-color:#efc1bd;background:#fff4f2}.dtmf-entry-failed .dtmf-entry-status,.dtmf-entry-failed .dtmf-entry-reason{color:#9b2118}.dtmf-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.dtmf-key{min-width:0;width:100%;aspect-ratio:1 / .72;border-radius:6px;color:#17211c;background:#eef2ef;font-size:22px;font-weight:760;cursor:pointer;transition:background .12s ease,transform .12s ease}.dtmf-key:hover:not(:disabled){background:#dfe8e2}.dtmf-clear-button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:6px;color:#25322b;background:#eef2ef;font-size:14px;font-weight:700;cursor:pointer}.icon-button,.primary-call,.danger-call{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:6px;cursor:pointer;transition:background .12s ease,color .12s ease,opacity .12s ease,transform .12s ease}.icon-button{width:42px;color:#1c2822;background:#eef2ef}.icon-button:hover:not(:disabled){background:#e0e7e2}.primary-call,.danger-call{padding:0 18px;color:#fff;font-size:14px;font-weight:700}.primary-call{background:#176b52}.primary-call:hover:not(:disabled){background:#10543f}.danger-call{background:#b42318}.danger-call:hover:not(:disabled){background:#8f1d15}button:disabled{cursor:not-allowed;opacity:.48}button:active:not(:disabled){transform:translateY(1px)}@media(max-width:760px){.app-shell{grid-template-rows:auto auto minmax(280px,1fr) auto;padding:14px}.call-header{align-items:flex-start;flex-direction:column}.call-status-strip{justify-content:flex-start}.setup-panel{grid-template-columns:1fr}.transcript-bubble{max-width:100%}.call-controls{display:grid;grid-template-columns:repeat(5,minmax(44px,1fr));gap:8px}.icon-button,.primary-call,.danger-call{width:100%;min-width:0;padding:0}.primary-call span,.danger-call span{display:none}}
