:root{color:#132621;background-color:#f4f2ed;font-family:Inter,Segoe UI,Roboto,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}body{background:linear-gradient(160deg,#f8f5ef 0%,#ece6dd 100%);min-width:320px;min-height:100vh;margin:0}#root{min-height:100vh}button,input,select,textarea{font:inherit}:root{--eloxy-night:#0c211d;--eloxy-night-soft:#12332c;--eloxy-forest:#176b5b;--eloxy-mint:#8fd8c5;--eloxy-mint-pale:#e6f3ee;--eloxy-coral:#d78e7d;--eloxy-sand:#f2eee6;--eloxy-paper:#fbfaf7;--eloxy-line:#12433921;--eloxy-text:#16332d;--eloxy-muted:#60736e;--shadow-soft:0 1px 2px #0a1f1b0a, 0 12px 40px #0a1f1b0f;--shadow-lift:0 2px 4px #0a1f1b0d, 0 22px 60px #0a1f1b1c}body{background-color:var(--eloxy-sand);color:var(--eloxy-text);background-image:radial-gradient(circle at 8% 4%,#8fd8c52e,#0000 30rem),radial-gradient(circle at 92% 20%,#d78e7d1f,#0000 24rem),linear-gradient(115deg,#f7f4ee 0%,#eee9df 100%);overflow-x:hidden}body:before{z-index:-1;content:"";pointer-events:none;opacity:.34;background-image:linear-gradient(#176b5b09 1px,#0000 1px),linear-gradient(90deg,#176b5b09 1px,#0000 1px);background-size:42px 42px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 75%);mask-image:linear-gradient(#000,#0000 75%)}.app-shell{width:min(100%,1440px);margin-inline:auto;padding:clamp(16px,2.2vw,32px)}.topbar{color:#edf8f4;background:radial-gradient(circle at 12% -80%,#8fd8c557,#0000 45%),linear-gradient(115deg,#091d19 0%,#10372f 58%,#144c40 100%);border:1px solid #ffffff1f;border-radius:26px;box-shadow:0 24px 70px #0519153d,inset 0 1px #ffffff14}.eyebrow{color:var(--eloxy-mint);letter-spacing:.18em;text-transform:uppercase;margin:0 0 4px;font-size:.64rem}.card,.stat-card{border:1px solid var(--eloxy-line);box-shadow:var(--shadow-soft);background:#fbfaf7e6}.card:hover,.stat-card:hover{box-shadow:var(--shadow-lift);border-color:#176b5b33}.field input,.field select{color:var(--eloxy-text);background:#ffffffa8;border:1px solid #114d4126;border-radius:12px}.field input:focus,.field select:focus{border-color:var(--eloxy-forest);background:#fff;box-shadow:0 0 0 3px #8fd8c538,0 8px 20px #13473c0f}.btn{border-radius:12px}.auth-barrier-card{gap:12px;max-width:960px;min-height:0;margin:clamp(22px,8vh,90px) auto 0;display:grid}.auth-barrier-actions{flex-wrap:wrap;gap:10px;display:flex}@media (width<=980px){.app-shell{padding:14px}}.auth-gate{isolation:isolate;color:#f4faf7;min-height:100vh;font-family:var(--font-ui,"Manrope", "Segoe UI", sans-serif);background:#071816;place-items:center;padding:clamp(24px,5vw,48px);display:grid;position:relative;overflow:hidden}.auth-gate-atmosphere{z-index:0;background:radial-gradient(55% 50% at 12% 18%,#7db4a957,#0000 58%),radial-gradient(48% 42% at 88% 12%,#b8897f47,#0000 55%),radial-gradient(60% 50% at 70% 88%,#176b5b47,#0000 60%),linear-gradient(128deg,#061412 0%,#0f2f29 42%,#1a2824 72%,#221e1c 100%);animation:14s ease-in-out infinite alternate auth-gate-shift;position:absolute;inset:0}.auth-gate-orb{z-index:0;filter:blur(2px);pointer-events:none;border-radius:999px;position:absolute}.auth-gate-orb-a{background:radial-gradient(circle,#b8897f47,#0000 68%);width:min(42vw,420px);height:min(42vw,420px);animation:11s ease-in-out infinite auth-gate-float;top:-8%;right:-6%}.auth-gate-orb-b{background:radial-gradient(circle,#8fd8c538,#0000 70%);width:min(36vw,340px);height:min(36vw,340px);animation:13s ease-in-out infinite reverse auth-gate-float;bottom:-10%;left:-4%}.auth-gate-panel{z-index:1;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(160deg,#ffffff14,#ffffff08),#0718168c;border:1px solid #ffffff1a;border-radius:28px;gap:14px;width:min(440px,100%);padding:clamp(28px,4vw,40px);animation:.68s cubic-bezier(.22,1,.36,1) both auth-gate-enter;display:grid;position:relative;box-shadow:0 30px 80px #00000059}.auth-gate-brand{align-items:center;gap:10px;margin-bottom:8px;display:flex}.auth-gate-logo{object-fit:contain;width:72px;height:32px}.auth-gate-brand-copy{gap:2px;display:grid}.auth-gate-name{font-family:var(--font-display,"Fraunces", Georgia, serif);letter-spacing:.08em;text-transform:uppercase;color:#f7fcf9;font-size:1.7rem;font-weight:600}.auth-gate-product{color:#b8897ff2;letter-spacing:.2em;text-transform:uppercase;font-size:.68rem;font-weight:600}.auth-gate-kicker{color:#8fd8c5db;letter-spacing:.18em;text-transform:uppercase;margin:8px 0 0;font-size:.68rem;font-weight:700}.auth-gate-title{font-family:var(--font-display,"Fraunces", Georgia, serif);letter-spacing:-.02em;color:#f7fcf9;margin:0;font-size:clamp(1.85rem,4vw,2.35rem);font-weight:550;line-height:1.15}.auth-gate-lead{color:#e8f4efb8;margin:0;font-size:.98rem;line-height:1.55}.auth-gate-message{color:#e8f4efe0;background:#7db4a91a;border:1px solid #7db4a947;border-radius:12px;margin:2px 0 0;padding:10px 12px;font-size:.86rem;line-height:1.4}.auth-gate-message.is-error{color:#f3ddd6;background:#b8897f1f;border-color:#b8897f66}.auth-gate-actions{gap:10px;margin-top:8px;display:grid}.auth-gate-primary,.auth-gate-secondary{min-height:48px;font:inherit;cursor:pointer;border-radius:14px;font-size:.95rem;font-weight:650;transition:transform .16s,background .16s,border-color .16s,color .16s}.auth-gate-primary{color:#071816;background:linear-gradient(135deg,#9ed7cb 0%,#7db4a9 55%,#b8897f 140%);border:1px solid #7db4a973}.auth-gate-primary:hover{background:linear-gradient(135deg,#b0e2d7 0%,#8fc4b9 55%,#c49a90 140%);transform:translateY(-1px)}.auth-gate-secondary{color:#f4faf7d1;background:0 0;border:1px solid #ffffff24}.auth-gate-secondary:hover{color:#fff;border-color:#b8897f73}.auth-gate-pulse{gap:8px;margin-top:10px;display:flex}.auth-gate-pulse span{background:#8fd8c5d9;border-radius:999px;width:8px;height:8px;animation:1.1s ease-in-out infinite auth-gate-dot}.auth-gate-pulse span:nth-child(2){animation-delay:.15s}.auth-gate-pulse span:nth-child(3){animation-delay:.3s}.auth-gate-footer{color:#e8f4ef6b;letter-spacing:.04em;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;font-size:.72rem;display:flex}.auth-gate-vendor{align-items:center;gap:8px;display:inline-flex}@keyframes auth-gate-enter{0%{opacity:0;transform:translateY(18px)scale(.98)}to{opacity:1;transform:none}}@keyframes auth-gate-shift{0%{filter:saturate()}to{filter:saturate(1.12)brightness(1.04)}}@keyframes auth-gate-float{0%,to{transform:translate(0,0)}50%{transform:translateY(18px)}}@keyframes auth-gate-dot{0%,to{opacity:.35;transform:translateY(0)}50%{opacity:1;transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){.auth-gate-atmosphere,.auth-gate-orb,.auth-gate-panel,.auth-gate-pulse span{animation:none}}.admin-portal-shell{background:radial-gradient(1200px 600px at 10% -10%,#388c762e,#0000 55%),radial-gradient(900px 500px at 100% 0,#1c4a4038,#0000 50%),linear-gradient(#0f241f 0%,#122c26 40%,#0d1f1b 100%);grid-template-columns:260px minmax(0,1fr);min-height:100vh;display:grid}.admin-sidebar{color:#f7faf8;background:#153b34;border-right:1px solid #ffffff14;flex-direction:column;gap:18px;height:100vh;padding:22px 14px 16px;display:flex;position:sticky;top:0;box-shadow:12px 0 40px #17362f2e}.admin-brand{border-bottom:1px solid #ffffff1c;align-items:center;gap:12px;padding:4px 10px 16px;display:flex}.admin-brand img{object-fit:contain;width:64px;height:28px}.admin-brand div{gap:2px;display:grid}.admin-brand strong{font-family:Georgia,Times New Roman,serif;font-size:1.15rem;font-weight:500}.admin-brand span{color:#f4faf79e;font-size:.72rem}.admin-nav{flex:1;gap:6px;padding-right:2px;display:grid;overflow-y:auto}.admin-nav button{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;grid-template-columns:34px minmax(0,1fr);align-items:start;gap:10px;padding:10px;display:grid}.admin-nav button>span{letter-spacing:.04em;color:#f4faf773;padding-top:2px;font-size:.72rem;font-weight:700}.admin-nav button div{gap:2px;display:grid}.admin-nav button strong{font-size:.92rem;font-weight:650}.admin-nav button small{color:#f4faf78c;font-size:.72rem;line-height:1.25}.admin-nav button:hover,.admin-nav button.active{background:#ffffff14}.admin-nav button.active{outline:1px solid #8fd8c547}.admin-sidebar-footer{border-top:1px solid #ffffff1c;gap:10px;padding-top:12px;display:grid}.admin-vendor{color:#ffffff6b;letter-spacing:.02em;align-items:center;gap:8px;font-size:.62rem;display:inline-flex}.eloxy-vendor-mark{object-fit:contain;opacity:.88;width:auto;height:16px}.admin-main{min-width:0;padding:18px 20px 28px}.admin-ai-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.admin-ai-list li{background:#ffffff0a;border:1px solid #ffffff0f;border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;display:flex}.admin-ai-json{background:#00000040;border-radius:12px;max-height:240px;margin:0;padding:12px;font-size:.78rem;line-height:1.4;overflow:auto}.admin-overview-shortcuts{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-top:16px;display:grid}.admin-overview-shortcuts button{color:inherit;text-align:left;cursor:pointer;background:#ffffff0a;border:1px solid #8fd8c533;border-radius:14px;gap:6px;padding:14px;display:grid}.admin-overview-shortcuts button:hover{background:#8fd8c514;border-color:#8fd8c573}.admin-overview-shortcuts strong{font-size:.95rem}.admin-overview-shortcuts small{color:var(--eloxy-muted);font-size:.78rem}.admin-shell{gap:16px;display:grid}.admin-header{justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;display:flex}.admin-header-session{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.admin-title h1{letter-spacing:-.02em;margin:0;font-size:1.4rem}.admin-title p{color:#ecf7f2cc;margin:4px 0 0}.tag{color:var(--eloxy-mint);background:#8fd8c51a;border:1px solid #8fd8c540;border-radius:999px;padding:6px 12px;font-size:.82rem;font-weight:700;display:inline-flex}.card{border-radius:20px;padding:18px}.grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.field{gap:6px;margin-bottom:12px;display:grid}.field span{color:var(--eloxy-muted);letter-spacing:.04em;text-transform:uppercase;font-size:.78rem;font-weight:700}.field.compact{min-width:140px;margin-bottom:0}.field input,.field select,.field textarea{padding:10px 12px}.field textarea{resize:vertical;min-height:120px}.row{flex-wrap:wrap;gap:8px;display:flex}.btn{color:#fff;cursor:pointer;background:linear-gradient(145deg,#197965,#115b4c);border:1px solid #ffffff1a;padding:9px 13px;font-weight:700}.btn:disabled{opacity:.65;cursor:not-allowed}.btn.secondary{color:#14594d;background:#e6f3eeb3;border-color:#176b5b2b}.btn.warn{color:#9a493b;background:#fff2f0;border-color:#a6392a33}.clinic-wizard-header{margin-bottom:14px}.clinic-wizard-steps{gap:8px;margin:0 0 16px;padding:0;list-style:none;display:grid}.clinic-wizard-steps li{opacity:.72;background:#fbfaf7b3;border:1px solid #176b5b1f;align-items:flex-start;gap:10px;padding:8px 10px;display:flex}.clinic-wizard-steps li.active,.clinic-wizard-steps li.done{opacity:1}.clinic-wizard-steps li.active{background:#ffecc859;border-color:#b4782859 #b4782859 #b4782859 #b47928;border-left-style:solid;border-left-width:3px}.clinic-wizard-steps li.done{border-left:3px solid #17776b}.clinic-wizard-step-index{color:#fff;background:#14594d;border-radius:999px;flex:none;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;font-size:.75rem;font-weight:700;display:inline-flex}.clinic-wizard-steps small{color:#5f746e;display:block}.clinic-wizard-checklist{gap:6px;margin:0;padding-left:1.1rem;display:grid}.clinic-wizard .stack{gap:10px;display:grid}.notice.warn{color:#9a493b;background:#fff2f0;border-color:#a6392a40}.table-wrap{overflow-x:auto}.table{border-collapse:collapse;width:100%}.table th,.table td{text-align:left;white-space:nowrap;border-bottom:1px solid #12433914;padding:10px 8px}.table th{color:var(--eloxy-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.74rem}.status{text-transform:uppercase;border-radius:999px;padding:4px 8px;font-size:.74rem;font-weight:800}.status.active{color:#1f5f52;background:#e8f4f1}.status.disabled{color:#8a2e2a;background:#fff2f1}.notice{color:#564f47;background:#fbf7f2a6;border:1px dashed #12433940;border-radius:12px;padding:10px}.telemetry-card{gap:14px;display:grid}.telemetry-header{justify-content:space-between;align-items:flex-end;gap:14px;display:flex}.telemetry-filters{align-items:flex-end}.telemetry-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.maintenance-panel{border:1px solid var(--eloxy-line);background:#ffffff80;border-radius:14px;gap:10px;padding:12px;display:grid}.maintenance-panel h4{margin:0}.stat-card{border-radius:16px;gap:10px;padding:14px;display:grid;position:relative}.stat-card span{color:var(--eloxy-muted);letter-spacing:.11em;font-size:.66rem;font-weight:800}.stat-card strong{font-family:Georgia,serif;font-size:2rem;font-weight:400;line-height:1}.stat-card--risk{border-color:#a6392a40}.telemetry-grid{grid-template-columns:1.35fr .65fr;gap:12px;display:grid}.telemetry-table td:first-child{text-overflow:ellipsis;max-width:320px;overflow:hidden}.recent-list{border:1px solid var(--eloxy-line);background:#ffffff94;border-radius:14px;padding:12px}.recent-list h4{margin:0 0 8px}.recent-list ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.recent-item{background:#ffffffb3;border:1px solid #12433914;border-radius:10px;padding:10px}.recent-item-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.recent-item p{color:var(--eloxy-muted);margin:6px 0;font-size:.8rem}.recent-item small{color:#8a2e2a}.pill{text-transform:uppercase;border-radius:999px;align-items:center;padding:3px 8px;font-size:.68rem;font-weight:800;display:inline-flex}.pill-ok{color:#176b5b;background:#e5f2ed}.pill-error{color:#97392b;background:#faeae6}.pill-tenant{color:#14594d;text-transform:none;background:#8fd8c529}.recent-empty{color:var(--eloxy-muted);font-size:.88rem}.rag-admin-grid{grid-template-columns:1.2fr .8fr;gap:12px;display:grid}.rag-field-grow{flex:1;min-width:220px}.rag-subtitle{color:var(--eloxy-muted);margin:4px 0 0}.rag-select-pill{cursor:pointer;gap:6px}.rag-doc-cell{gap:4px;display:grid}.rag-doc-cell span{color:var(--eloxy-muted);font-size:.8rem}.rag-kpis{margin-top:8px}.rag-mini-strong{line-height:1.2;font-size:1rem!important}.rag-runtime-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.rag-inline-notice{align-items:center;margin:0;display:inline-flex}.rag-json-code{white-space:normal;word-break:break-word;color:#26423c;max-width:280px;margin-top:4px;font-size:.74rem;display:block}.rag-diff-list{gap:6px;min-width:0;padding-bottom:4px;display:grid;overflow-x:auto}.rag-diff-row{color:#39544d;grid-template-columns:1.4fr auto 1fr auto 1fr;align-items:center;gap:6px;font-size:.78rem;display:grid}.rag-diff-row strong{letter-spacing:.04em;text-transform:uppercase;color:#5c746e;font-size:.72rem}.rag-diff-row.changed{color:#134c40;font-weight:700}.rag-diff-value{border-radius:8px;padding:3px 6px}.rag-diff-before{color:#4f6761;background:#94a39e2e}.rag-diff-after{color:#1a5d50;background:#75a39633}.rag-diff-after.changed{color:#0f4d40;background:#3fa08447}.rag-impact-badge{letter-spacing:.05em;text-transform:uppercase;border-radius:999px;align-items:center;padding:2px 7px;font-size:.64rem;font-weight:800;display:inline-flex}.rag-impact-high{color:#8a2e2a;background:#a8463c29}.rag-impact-medium{color:#7b5a17;background:#b5883e2e}.rag-impact-low{color:#2d5f87;background:#4179ad29}.rag-diff-arrow{color:#6f827d}.rag-diff-list details{margin-top:2px}.rag-diff-list summary{cursor:pointer;color:#40635a;font-size:.75rem}.error{color:#8a2e2a}.success{color:#1f5f52}@media (width<=1100px){.telemetry-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.telemetry-grid,.rag-admin-grid{grid-template-columns:1fr}.rag-runtime-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rag-diff-row{grid-template-columns:1fr;gap:2px}}@media (width<=420px){.rag-json-code{max-width:220px}}@media (width<=980px){.admin-portal-shell{grid-template-columns:1fr}.admin-sidebar{height:auto;position:relative}.admin-nav{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.grid{grid-template-columns:1fr}.admin-header{flex-direction:column;align-items:flex-start}}@media (width<=620px){.telemetry-header{flex-direction:column;align-items:stretch}.telemetry-filters{width:100%}.telemetry-kpis,.rag-runtime-grid{grid-template-columns:1fr}}
