: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(320px,90vw);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}.app-shell{max-width:1120px;margin:0 auto;padding:2rem 1rem 3rem;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}.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}.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}@media (max-width: 900px){.landing-hero{grid-template-columns:1fr}.app-header-row{flex-direction:column}}
