:root{--bg-0: #0a0d10;--bg-1: #11161b;--bg-2: #161d24;--line: #1f2a35;--line-strong: #2c3e4f;--fg-0: #e8eef4;--fg-1: #a4b4c4;--fg-2: #5d6f80;--amber: #d6a55a;--amber-soft: rgba(214, 165, 90, .12);--green: #6fc28a;--green-soft: rgba(111, 194, 138, .14);--red: #d96560;--red-soft: rgba(217, 101, 96, .14);--mono: "JetBrains Mono", ui-monospace, monospace;--display: "Major Mono Display", "JetBrains Mono", monospace}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%;background:var(--bg-0);color:var(--fg-0);font-family:var(--mono);font-weight:400;font-size:13px;line-height:1.5;-webkit-font-smoothing:antialiased}body{background-image:radial-gradient(ellipse at 0% 0%,rgba(214,165,90,.04) 0%,transparent 40%),radial-gradient(ellipse at 100% 100%,rgba(111,194,138,.03) 0%,transparent 50%)}button{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;background:transparent;border:1px solid var(--line-strong);color:var(--fg-0);padding:8px 14px;cursor:pointer;transition:all .15s ease}button:hover:not(:disabled){border-color:var(--amber);color:var(--amber);background:var(--amber-soft)}button:disabled{opacity:.35;cursor:not-allowed}button.primary{background:var(--amber-soft);border-color:var(--amber);color:var(--amber)}button.danger{border-color:var(--red);color:var(--red)}button.danger:hover:not(:disabled){background:var(--red-soft)}input{font-family:var(--mono);font-size:13px;background:var(--bg-1);border:1px solid var(--line);color:var(--fg-0);padding:10px 12px;width:100%;outline:none;transition:border-color .15s}input:focus{border-color:var(--amber)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-1)}::-webkit-scrollbar-thumb{background:var(--line-strong)}::-webkit-scrollbar-thumb:hover{background:var(--amber)}.app-shell{display:grid;grid-template-rows:56px 1fr 28px;height:100vh}.topbar{border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:var(--bg-1)}.brand{display:flex;align-items:baseline;gap:14px}.brand .logo{font-family:var(--display);font-size:18px;letter-spacing:.2em;color:var(--amber)}.brand .sub{color:var(--fg-2);font-size:11px;letter-spacing:.15em;text-transform:uppercase}.topbar .right{display:flex;gap:16px;align-items:center;font-size:11px;color:var(--fg-1)}.statusbar{background:var(--bg-1);border-top:1px solid var(--line);padding:0 24px;display:flex;align-items:center;gap:24px;font-size:11px;color:var(--fg-2);text-transform:uppercase;letter-spacing:.1em}.statusbar .dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:6px;background:var(--fg-2)}.statusbar .dot.ok{background:var(--green);box-shadow:0 0 6px var(--green)}.statusbar .dot.warn{background:var(--amber)}.statusbar .dot.err{background:var(--red)}.login-shell{display:grid;place-items:center;height:100vh;background:repeating-linear-gradient(0deg,transparent 0,transparent 39px,rgba(255,255,255,.015) 39px,rgba(255,255,255,.015) 40px),var(--bg-0)}.login-card{width:380px;border:1px solid var(--line-strong);background:var(--bg-1);padding:36px 32px;position:relative}.login-card:before{content:"";position:absolute;inset:-1px;border-top:2px solid var(--amber);pointer-events:none}.login-card h1{font-family:var(--display);font-size:22px;letter-spacing:.18em;margin:0 0 4px;color:var(--amber)}.login-card .label{color:var(--fg-2);font-size:10px;letter-spacing:.2em;text-transform:uppercase;margin-bottom:6px;margin-top:18px}.login-card .hint{margin-top:24px;font-size:10px;color:var(--fg-2);letter-spacing:.1em;text-transform:uppercase}.login-card .err{color:var(--red);font-size:11px;margin-top:12px}.login-card form button{margin-top:20px;width:100%;padding:12px}.main{display:grid;grid-template-columns:1fr 380px;overflow:hidden}.calls-panel,.player-panel{overflow:auto;padding:20px 24px}.calls-panel{border-right:1px solid var(--line)}.section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid var(--line)}.section-head h2{font-family:var(--display);font-size:14px;letter-spacing:.2em;color:var(--fg-0);margin:0}.section-head .meta{color:var(--fg-2);font-size:10px;letter-spacing:.15em;text-transform:uppercase}.call-row{display:grid;grid-template-columns:90px 1fr auto;gap:14px;padding:12px 10px;border-bottom:1px dashed var(--line);align-items:center;cursor:pointer;transition:background .12s}.call-row:hover{background:var(--bg-2)}.call-row.active{background:var(--amber-soft);border-left:2px solid var(--amber);padding-left:8px}.call-row .timestamp{font-size:11px;color:var(--fg-2)}.call-row .duration{font-size:11px;color:var(--green)}.call-row .parties{font-size:12px;color:var(--fg-0);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.call-row .arrow{color:var(--fg-2);margin:0 6px}.call-row .target{font-size:10px;color:var(--amber);letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--amber);padding:2px 8px}.call-row .target.unknown{color:var(--fg-2);border-color:var(--line-strong)}.empty{padding:60px 20px;text-align:center;color:var(--fg-2);font-size:11px;letter-spacing:.15em;text-transform:uppercase}.player-panel{background:var(--bg-1)}.player-card{border:1px solid var(--line);padding:18px 16px;margin-bottom:12px}.player-card .label{color:var(--fg-2);font-size:10px;letter-spacing:.18em;text-transform:uppercase;margin-bottom:4px}.player-card .value{font-size:12px;color:var(--fg-0);word-break:break-all;margin-bottom:10px}.player-status{display:flex;align-items:center;gap:10px;padding:14px 16px;border:1px solid var(--line);margin-bottom:12px}.player-status .pulse{width:8px;height:8px;border-radius:50%;background:var(--fg-2);flex-shrink:0}.player-status.connecting .pulse{background:var(--amber);animation:pulse 1s ease-in-out infinite}.player-status.live .pulse{background:var(--red);animation:pulse 1s ease-in-out infinite;box-shadow:0 0 10px var(--red)}.player-status .text{font-size:11px;letter-spacing:.15em;text-transform:uppercase}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.player-actions{display:flex;gap:8px;margin-top:16px}.player-actions button{flex:1}.audio-meter{height:6px;background:var(--bg-2);margin-top:8px;position:relative;overflow:hidden}.audio-meter .fill{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,var(--green),var(--amber),var(--red));transition:width .1s ease}
