:root{font-family:IBM Plex Sans,Segoe UI,sans-serif;color:#111827;background:radial-gradient(circle at top,#f0f9ff,#e5e7eb 60%)}*{box-sizing:border-box}body{margin:0}a{color:#0f766e}.login-page{position:relative;min-height:100vh;display:grid;place-items:center;padding:1rem;overflow:hidden}.login-bg{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(#02061785,#02061799),url(/images/wraithforge-landing-page.png);background-repeat:no-repeat;background-size:cover,contain;background-position:center,center;background-color:#020617}@media (max-width: 768px){.login-bg{background-size:cover,cover;background-position:center,center}}.login-overlay{position:relative;z-index:1;width:min(480px,100%);border:1px solid rgba(255,255,255,.42);background:#fffffff0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.app-header-row{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.app-header-row h1{margin:0}.profile-menu{position:relative}.profile-menu-popover{position:absolute;right:0;top:calc(100% + .4rem);width:min(760px,96vw);max-height:82vh;overflow:auto;border:1px solid #cbd5e1;border-radius:10px;background:#fff;box-shadow:0 14px 28px #0f172a1f;padding:.8rem;z-index:3}.profile-menu-popover p{margin:0 0 .45rem}.privacy-section{display:grid;gap:.8rem}.privacy-block{border:1px solid #e2e8f0;border-radius:10px;padding:.65rem;background:#f8fafc}.privacy-control-row{display:flex;align-items:center;flex-wrap:wrap;gap:.55rem;margin-bottom:.35rem}.privacy-control-row span{min-width:8rem;font-size:.9rem}.privacy-control-row label{display:inline-flex;align-items:center;gap:.3rem;font-size:.9rem}.privacy-campaign-list{display:grid;gap:.55rem}.privacy-campaign-item{border:1px solid #dbeafe;border-radius:10px;padding:.55rem;background:#fff}.privacy-session-list{margin-top:.4rem;display:grid;gap:.45rem}.privacy-session-item{border:1px solid #e5e7eb;border-radius:8px;padding:.45rem;background:#f8fafc}.ops-badge-row{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.55rem}.ops-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.24rem .5rem;border-radius:999px;border:1px solid #d1d5db;background:#f8fafc;color:#111827;font-size:.78rem;line-height:1.2}button.ops-badge{cursor:pointer}.ops-badge.ok{border-color:#86efac;background:#f0fdf4;color:#166534}.ops-badge.degraded{border-color:#fcd34d;background:#fffbeb;color:#92400e}.app-shell{width:min(1520px,calc(100vw - 1.25rem));margin:0 auto;padding:1rem .25rem 2rem;display:grid;gap:1rem}.panel{background:#fff;border:1px solid #d1d5db;border-radius:12px;padding:1rem;box-shadow:0 8px 24px #0f172a0f}.dev-banner{border-color:#16a34a;background:#ecfdf5}.prod-banner{border-color:#ef4444;background:#fef2f2}.subtitle{color:#4b5563}.field{display:grid;gap:.35rem;margin-bottom:.9rem}input,select,textarea{border:1px solid #cbd5e1;border-radius:8px;padding:.55rem .65rem;font:inherit}button{border:none;border-radius:8px;background:#0f766e;color:#fff;font:inherit;padding:.6rem .9rem;cursor:pointer}button:disabled{opacity:.65;cursor:not-allowed}.button-row{display:flex;gap:.6rem;margin-bottom:.9rem;flex-wrap:wrap}.admin-tab-row{align-items:center;gap:.5rem}.admin-tab{background:#eef2ff;color:#1e293b;border:1px solid #c7d2fe;border-radius:999px;padding:.42rem .78rem;font-size:.9rem}.admin-tab:hover{background:#e0e7ff}.admin-tab.is-active,.admin-tab:disabled{background:#0f766e;color:#fff;border-color:#0b4f48;opacity:1}.admin-account-nav{position:sticky;top:0;z-index:2;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:.6rem .7rem .2rem;margin-bottom:.9rem;box-shadow:0 6px 18px #0f172a0f}.admin-breadcrumb{margin-top:0;margin-bottom:.5rem;font-size:.9rem}.provider-status-list{margin:0 0 .9rem;padding-left:1rem;display:grid;gap:.2rem}.error-inline{color:#b91c1c}code{display:inline-block;background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;padding:.3rem .5rem}pre{background:#f8fafc;border:1px solid #d1d5db;border-radius:8px;padding:.7rem;overflow:auto;white-space:pre-wrap;word-break:break-word}.error-panel{border-color:#fca5a5;background:#fef2f2}.landing-hero{display:grid;gap:1.2rem;grid-template-columns:1.1fr 1fr;align-items:center}.landing-hero-content{display:grid;gap:.6rem}.landing-hero-content h1{margin:0}.landing-hero-art img{width:100%;height:auto;display:block;border-radius:12px;border:1px solid #cbd5e1;box-shadow:0 14px 28px #0f172a1f}.login-form{display:grid;gap:.2rem}.entity-list{margin:0;padding-left:1rem;display:grid;gap:.4rem}.entity-list li{display:flex;gap:.5rem}.relationship-active-row{outline:2px solid #0f766e;border-radius:8px;padding:.2rem .3rem}.audit-list{margin:0;padding-left:1rem;display:grid;gap:.45rem}.audit-list li{display:grid;gap:.2rem}.relationship-graph-panel{border:1px solid #cbd5e1;border-radius:10px;padding:.75rem;margin-bottom:.9rem;background:#f8fafc}.relationship-graph-panel h4{margin:0 0 .5rem}.relationship-graph{width:100%;height:auto;border-radius:8px;background:#fff;border:1px solid #e5e7eb}.graph-edge{stroke:#94a3b8;stroke-width:1.6}.graph-edge-group,.graph-node-group{cursor:pointer}.graph-edge-group.active .graph-edge{stroke:#0f766e;stroke-width:2.4}.graph-edge-label{fill:#334155;font-size:11px;text-anchor:middle}.graph-node{fill:#0f766e;stroke:#0b4f48;stroke-width:1}.graph-node-group.active .graph-node{fill:#14b8a6;stroke-width:2}.graph-node-group.creation-from .graph-node{fill:#0369a1;stroke:#0c4a6e;stroke-width:2}.graph-node-group.creation-to .graph-node{fill:#7c3aed;stroke:#4c1d95;stroke-width:2}.graph-node-label{fill:#0f172a;font-size:11px;text-anchor:middle}.admin-table-wrap{width:100%;overflow-x:auto;border:1px solid #d1d5db;border-radius:10px;background:#fff}.admin-table-wrap--scroll-y{max-height:520px;overflow:auto}.admin-table{width:100%;border-collapse:collapse;min-width:980px}.admin-table--compact{min-width:760px}.admin-table th,.admin-table td{text-align:left;vertical-align:top;padding:.65rem .75rem;border-bottom:1px solid #e5e7eb}.admin-table th{background:#f8fafc;font-weight:600;color:#334155;position:sticky;top:0;z-index:1}.admin-table tbody tr:hover{background:#f8fafc}.admin-cell-user{display:grid;gap:.2rem}.admin-cell-secondary{display:block;color:#64748b;font-size:.85rem}.admin-action-row{display:flex;flex-wrap:wrap;gap:.4rem}.admin-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.6rem;margin-bottom:.8rem}.admin-meta-grid>div{border:1px solid #e5e7eb;border-radius:8px;background:#f8fafc;padding:.55rem .65rem;display:grid;gap:.2rem}.admin-meta-grid strong{color:#334155;font-size:.85rem}.admin-sort-button{all:unset;cursor:pointer;color:#334155;font-weight:600}.admin-sort-button:hover{color:#0f766e}.admin-table--users th:nth-child(1),.admin-table--users td:nth-child(1){width:14%}.admin-table--users th:nth-child(2),.admin-table--users td:nth-child(2){width:14%}.admin-table--users th:nth-child(3),.admin-table--users td:nth-child(3){width:22%}.admin-table--users th:nth-child(4),.admin-table--users td:nth-child(4){width:12%}.admin-table--users th:nth-child(5),.admin-table--users td:nth-child(5){width:8%}.admin-table--users th:nth-child(6),.admin-table--users td:nth-child(6){width:14%}.admin-table--users th:nth-child(7),.admin-table--users td:nth-child(7){width:16%}.admin-table--users{min-width:1040px}.admin-table--memberships th:nth-child(1),.admin-table--memberships td:nth-child(1){width:44%}.admin-table--memberships th:nth-child(2),.admin-table--memberships td:nth-child(2){width:12%}.admin-table--memberships th:nth-child(3),.admin-table--memberships td:nth-child(3){width:24%}.admin-table--memberships th:nth-child(4),.admin-table--memberships td:nth-child(4){width:20%}.admin-table--audit th:nth-child(1),.admin-table--audit td:nth-child(1){width:16%}.admin-table--audit th:nth-child(2),.admin-table--audit td:nth-child(2){width:18%}.admin-table--audit th:nth-child(3),.admin-table--audit td:nth-child(3){width:12%}.admin-table--audit th:nth-child(4),.admin-table--audit td:nth-child(4){width:16%}.admin-table--audit th:nth-child(5),.admin-table--audit td:nth-child(5){width:24%}.admin-table--audit th:nth-child(6),.admin-table--audit td:nth-child(6){width:14%}.admin-table--services th:nth-child(1),.admin-table--services td:nth-child(1){width:16%}.admin-table--services th:nth-child(2),.admin-table--services td:nth-child(2){width:10%}.admin-table--services th:nth-child(3),.admin-table--services td:nth-child(3){width:10%}.admin-table--services th:nth-child(4),.admin-table--services td:nth-child(4){width:10%}.admin-table--services th:nth-child(5),.admin-table--services td:nth-child(5){width:24%}.admin-table--services th:nth-child(6),.admin-table--services td:nth-child(6){width:30%}@media (max-width: 900px){.app-shell{width:min(100%,calc(100vw - .75rem));padding:.85rem 0 1.35rem}.landing-hero{grid-template-columns:1fr}.app-header-row{flex-direction:column}}.phase1-shell{width:min(100%,1600px);margin:0 auto;padding:.9rem;display:grid;grid-template-columns:220px minmax(0,1fr) 320px;gap:.8rem}.phase1-topbar{grid-column:1 / -1;display:flex;justify-content:space-between;gap:.8rem}.phase1-topbar-left,.phase1-topbar-right{display:grid;gap:.45rem;align-content:start}.phase1-topbar-left h2{margin:0}.phase1-correlation-indicator{display:flex;align-items:center;gap:.45rem;font-size:.88rem;color:#334155}.phase1-leftnav,.phase1-main,.phase1-inspector{min-height:520px}.phase1-leftnav h3,.phase1-inspector h3,.phase1-main h3{margin-top:0}.phase1-nav-list{display:grid;gap:.4rem}.phase1-scene-canvas{margin:.5rem 0 .8rem;width:min(100%,920px);height:520px;border:1px solid #d1d5db;border-radius:10px;background-image:linear-gradient(to right,rgba(148,163,184,.2) 1px,transparent 1px),linear-gradient(to bottom,rgba(148,163,184,.2) 1px,transparent 1px);background-size:48px 48px;position:relative;overflow:hidden}.phase1-token{position:absolute;width:48px;height:48px;border-radius:999px;border:1px solid #0f766e;background:#14b8a6;color:#042f2e;cursor:grab}.phase1-token.active{box-shadow:0 0 0 2px #0f172a}.phase1-error-panel{margin-bottom:.8rem}.phase1-recorder-fab{position:fixed;bottom:1rem;z-index:40;display:inline-flex;align-items:center;gap:.5rem;border-radius:999px;border:1px solid #0f172a;background:#fff;color:#0f172a;box-shadow:0 12px 30px #0f172a3d}.phase1-recorder-fab.dock-left{left:1rem}.phase1-recorder-fab.dock-right{right:1rem}.phase1-recorder-fab-dot{width:.65rem;height:.65rem;border-radius:999px;background:#0ea5e9}.phase1-recorder-fab.is-recording .phase1-recorder-fab-dot{background:#dc2626;box-shadow:0 0 0 5px #dc262633}.phase1-recorder-fab-label{font-weight:700}.phase1-recorder-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:.6rem;padding:1rem;background:#020617c7}.phase1-permission-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:1rem;background:#020617b8}.phase1-permission-modal-card{width:min(560px,100%);border:1px solid #cbd5e1;border-radius:12px;background:#fff;box-shadow:0 16px 40px #0f172a52;padding:1rem}.phase1-permission-modal-card h4{margin-top:0}.phase1-recorder-header{display:flex;align-items:start;justify-content:space-between;gap:.8rem;padding:.9rem;border-radius:12px;background:#f8fafc}.phase1-recorder-header h3{margin:0}.phase1-recorder-transcript{min-height:0;display:grid;grid-template-columns:minmax(280px,360px) minmax(300px,380px) minmax(280px,360px) minmax(0,1fr);gap:.8rem}.phase1-recorder-transcript>.panel{min-height:0;overflow:auto}.phase1-transcript-list{max-height:calc(100vh - 20rem);overflow:auto}.phase1-transcript-progress{display:grid;gap:.35rem;margin-bottom:.55rem}.phase1-transcript-progress-bar{height:.65rem;width:100%;border-radius:999px;border:1px solid #cbd5e1;background:#f1f5f9;overflow:hidden}.phase1-transcript-progress-fill{height:100%;width:4%;transition:width .22s ease,background-color .18s ease}.phase1-transcript-progress-fill.tone-idle{background:#94a3b8}.phase1-transcript-progress-fill.tone-active{background:linear-gradient(90deg,#0ea5e9,#22c55e)}.phase1-transcript-progress-fill.tone-ready{background:#16a34a}.phase1-transcript-progress-fill.tone-failed{background:#dc2626}.phase1-recorder-controls{display:grid;gap:.55rem;padding:.8rem;border-radius:12px;background:#f8fafc}.phase1-recorder-status{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}.phase1-recorder-pill{border-radius:999px;padding:.25rem .7rem;border:1px solid #334155;background:#e2e8f0;color:#0f172a;font-weight:700;letter-spacing:.02em}.phase1-recorder-pill.is-recording{border-color:#991b1b;background:#fee2e2;color:#991b1b}.phase1-mic-indicator{border-radius:999px;padding:.2rem .55rem;border:1px solid #94a3b8;background:#e2e8f0;color:#0f172a;font-size:.8rem;font-weight:600}.phase1-mic-indicator.is-live{border-color:#15803d;background:#dcfce7;color:#166534}.phase1-mic-monitor{display:grid;gap:.3rem}.phase1-mic-meter{height:.65rem;width:100%;border-radius:999px;border:1px solid #cbd5e1;background:#f1f5f9;overflow:hidden}.phase1-mic-meter-fill{height:100%;width:4%;background:#38bdf8;transition:width 80ms linear,background-color .15s ease}.phase1-mic-meter-fill.is-recording{background:linear-gradient(90deg,#22c55e,#14b8a6)}.phase1-threshold-control{display:grid;gap:.25rem;min-width:220px;font-size:.9rem}.phase1-threshold-control input[type=range]{width:100%}.phase1-voice-profile-list{display:grid;gap:.6rem}.phase1-voice-profile-list>li{border:1px solid #e2e8f0;border-radius:10px;padding:.55rem;background:#f8fafc}.phase1-voice-profile-row{display:flex;gap:.45rem;flex-wrap:wrap;align-items:center;margin-bottom:.45rem}.phase1-voice-profile-row input,.phase1-voice-profile-row select{min-width:180px}.phase1-audio-library-list{display:grid;gap:.5rem}.phase1-audio-library-list>li{border:1px solid #e2e8f0;border-radius:8px;padding:.45rem;background:#f8fafc}.phase1-recorder-transcript audio{width:100%;margin-bottom:.5rem}@media (max-width: 1200px){.phase1-shell,.phase1-recorder-transcript{grid-template-columns:1fr}}
