:root{--bg: #0f172a;--bg-elev: #1e293b;--fg: #e2e8f0;--fg-muted: #94a3b8;--teal: #14b8a6;--teal-dim: #0f766e;--amber: #f59e0b;--amber-dim: #b45309;--red: #ef4444;--border: #334155;--radius: 12px;--pad: 16px;font-family:system-ui,-apple-system,SF Pro Text,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%;background:var(--bg);color:var(--fg);overscroll-behavior:none;-webkit-tap-highlight-color:transparent}body{font-size:16px;line-height:1.4;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}button{font:inherit;color:inherit;background:transparent;border:1px solid var(--border);border-radius:var(--radius);padding:12px 16px;cursor:pointer;-webkit-appearance:none;appearance:none}button:active{transform:scale(.98)}input[type=password],input[type=text]{font:inherit;color:inherit;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:12px;width:100%}.app{display:flex;flex-direction:column;gap:12px;height:100%;padding:var(--pad)}.app header{display:flex;align-items:center;justify-content:space-between;padding-bottom:8px;border-bottom:1px solid var(--border)}.app header h1{margin:0;font-size:18px;letter-spacing:.5px}.status{font-size:13px;color:var(--fg-muted)}.status.live{color:var(--teal)}.status.error{color:var(--red)}.record{border:1px solid var(--amber);color:var(--amber);background:transparent;font-weight:600;letter-spacing:.3px}.record.live{background:var(--amber);color:var(--bg);border-color:var(--amber)}.pane{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:var(--pad);overflow-y:auto}.pane h2{margin:0 0 8px;font-size:13px;font-weight:600;color:var(--fg-muted);text-transform:uppercase;letter-spacing:.8px}.transcript{flex:1 1 auto;min-height:0}.transcript .line{padding:6px 0;color:var(--fg);border-bottom:1px solid rgba(51,65,85,.5)}.transcript .line.interim{color:var(--fg-muted);font-style:italic}.suggestions{flex:0 1 40%;min-height:120px}.suggestions .card{border-left:3px solid var(--teal);background:#14b8a614;padding:10px 12px;margin-bottom:10px;border-radius:6px}.suggestions .card time{display:block;font-size:11px;color:var(--fg-muted);margin-top:4px}.setup{display:flex;flex-direction:column;gap:12px;max-width:420px;margin:0 auto;padding-top:40px}.setup h2{margin:0;font-size:20px}.setup p{color:var(--fg-muted);margin:0;font-size:14px}.error{color:var(--red);font-size:13px}.header-right{display:flex;align-items:center;gap:10px}.nav-admin{padding:6px 10px;font-size:12px;color:var(--fg-muted);border-color:var(--border)}.profile-picker{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--fg-muted)}.profile-picker select{font:inherit;color:var(--fg);background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:10px}.live-controls{display:flex;flex-direction:column;gap:10px}.hold-to-tag{border:2px solid var(--teal);color:var(--teal);font-weight:700;letter-spacing:.5px;padding:20px;font-size:16px;user-select:none;touch-action:none}.hold-to-tag:active{background:var(--teal);color:var(--bg)}.secondary-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px}.secondary-controls button{padding:10px;font-size:14px}.secondary-controls button.muted{background:var(--amber);color:var(--bg);border-color:var(--amber)}.secondary-controls button.danger{border-color:var(--red);color:var(--red)}.ask-box{display:flex;flex-direction:column;gap:6px;padding:10px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius)}.ask-box textarea{font:inherit;color:var(--fg);background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:8px;resize:vertical}.active-profile{color:var(--fg-muted);font-size:12px}.transcript .line{display:flex;gap:8px;align-items:baseline}.transcript .speaker-tag{display:inline-block;min-width:52px;font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:var(--fg-muted);padding:2px 6px;border-radius:4px;flex-shrink:0}.transcript .line.speaker-me .speaker-tag{background:#14b8a626;color:var(--teal)}.transcript .line.speaker-other .speaker-tag{background:#94a3b826;color:var(--fg)}.transcript .line.speaker-unknown .speaker-tag{background:transparent;color:var(--fg-muted)}.transcript .line-text{flex:1}.admin{display:grid;grid-template-columns:220px 1fr;height:100%;min-height:0}.admin-nav{background:var(--bg-elev);border-right:1px solid var(--border);padding:16px;display:flex;flex-direction:column;gap:6px;overflow-y:auto}.admin-nav h2{margin:0 0 12px;font-size:14px;color:var(--fg-muted);text-transform:uppercase;letter-spacing:1px}.admin-nav nav{display:flex;flex-direction:column;gap:4px}.admin-nav nav button{text-align:left;border:1px solid transparent;padding:8px 10px;font-size:14px}.admin-nav nav button.active{background:#14b8a61f;border-color:var(--teal-dim);color:var(--teal)}.admin-back{margin-top:auto;font-size:12px;color:var(--fg-muted)}.admin-body{padding:16px;overflow-y:auto;min-height:0}.admin-split{display:grid;grid-template-columns:280px 1fr;gap:16px;min-height:0;height:100%}.admin-list{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:12px;overflow-y:auto}.admin-list-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.admin-list-actions{display:flex;gap:6px}.admin-list-actions button,.admin-list-header>button{padding:4px 8px;font-size:12px}.admin-list ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.admin-list li button{width:100%;text-align:left;display:flex;flex-direction:column;gap:2px;padding:8px;border:1px solid transparent;font-size:13px}.admin-list li button:hover{border-color:var(--border)}.admin-list li button.active{border-color:var(--teal-dim);background:#14b8a61a}.admin-list li.sub button{padding-left:20px}.admin-list .profile-id,.admin-list .person-role,.admin-list .artifact-meta,.admin-list .muted{color:var(--fg-muted);font-size:11px}.memory-dir{list-style:none;padding-left:12px;margin:0}.memory-dir.root{padding-left:0}.memory-dir .dir-name{font-size:11px;color:var(--fg-muted);text-transform:uppercase;letter-spacing:.6px;padding:4px 0}.memory-file button{padding:4px 8px;font-size:13px}.admin-empty{color:var(--fg-muted);padding:32px}.admin-editor{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:16px;overflow-y:auto;display:flex;flex-direction:column;gap:10px}.admin-editor-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:8px;border-bottom:1px solid var(--border)}.admin-editor-header h3{margin:0;font-size:16px}.admin-editor-header h3 small{font-size:11px;color:var(--fg-muted);margin-left:8px}.admin-editor-header>div{display:flex;gap:6px}.admin-editor label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--fg-muted)}.admin-editor label.checkbox{flex-direction:row;align-items:center;gap:8px;color:var(--fg)}.admin-editor input[type=text],.admin-editor input[type=number],.admin-editor input:not([type]),.admin-editor textarea,.admin-editor select{font:inherit;color:var(--fg);background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:8px;width:100%}.admin-editor fieldset{border:1px solid var(--border);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:8px}.admin-editor fieldset legend{color:var(--fg-muted);font-size:12px;padding:0 6px}.admin-editor pre{background:var(--bg);border-radius:6px;padding:10px;overflow-x:auto;font-size:11px}button.danger{border-color:var(--red);color:var(--red)}.dropzone{border:2px dashed var(--border);border-radius:var(--radius);padding:32px;text-align:center;color:var(--fg-muted);display:flex;flex-direction:column;gap:12px;align-items:center}.dropzone.over{border-color:var(--teal);color:var(--teal)}.session-meta{display:grid;grid-template-columns:max-content 1fr;gap:4px 12px;font-size:13px}.session-meta dt{color:var(--fg-muted)}@media (max-width: 720px){.admin{grid-template-columns:1fr}.admin-nav{border-right:0;border-bottom:1px solid var(--border)}.admin-split{grid-template-columns:1fr}}
