:root{color:#e2e8f0;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#020617;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:#020617;margin:0}button,input{font:inherit}a{color:inherit}.app-shell{background:radial-gradient(circle at 0 0,#38bdf82e,#0000 32%),radial-gradient(circle at 80% 20%,#10b98124,#0000 28%),linear-gradient(#020617 0%,#0f172a 42%,#020617 100%);min-height:100svh;position:relative;overflow:hidden}.ambient{filter:blur(80px);opacity:.55;pointer-events:none;border-radius:999px;position:absolute}.ambient-a{background:#38bdf82e;width:22rem;height:22rem;top:-6rem;left:-4rem}.ambient-b{background:#9333ea24;width:24rem;height:24rem;bottom:-8rem;right:-6rem}.portal-shell{z-index:1;box-sizing:border-box;grid-template-columns:minmax(320px,1.05fr) minmax(360px,.95fr);align-items:stretch;gap:1.5rem;max-width:1400px;min-height:100svh;margin:0 auto;padding:2rem;display:grid;position:relative}.portal-shell.dashboard-mode{grid-template-columns:minmax(0,1fr);align-items:start}.hero-card,.auth-card,.dashboard-shell{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0f172ac7;border:1px solid #94a3b82e;border-radius:24px;box-shadow:0 28px 60px #0206177a,inset 0 1px #ffffff0a}.hero-card{flex-direction:column;justify-content:space-between;padding:2rem;display:flex}.hero-badge{color:#7dd3fc;letter-spacing:.04em;text-transform:uppercase;background:#38bdf81f;border:1px solid #7dd3fc2e;border-radius:999px;align-self:flex-start;align-items:center;gap:.5rem;padding:.45rem .75rem;font-size:.78rem;font-weight:700;display:inline-flex}.hero-card h1{letter-spacing:-.055em;color:#f8fafc;margin:1.2rem 0 .9rem;font-size:clamp(2.6rem,4vw,4.6rem);line-height:.98}.hero-card p{color:#cbd5e1;max-width:56ch;line-height:1.7}.hero-list{gap:.9rem;margin-top:2rem;display:grid}.hero-list>div{background:#02061757;border:1px solid #94a3b829;border-radius:18px;padding:1rem 1.1rem}.hero-list-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.35rem;font-size:.72rem;display:block}.hero-list-value{color:#f8fafc;font-size:.98rem;line-height:1.5}.auth-card,.dashboard-shell{min-height:100%}.auth-card{flex-direction:column;justify-content:center;padding:2rem;display:flex}.portal-strip{flex-wrap:wrap;gap:.75rem;padding-bottom:.75rem;display:flex}.portal-strip-link{color:#e2e8f0;background:#0f172ab8;border:1px solid #94a3b824;border-radius:16px;flex:10rem;gap:.2rem;min-width:10rem;padding:.75rem .9rem;text-decoration:none;transition:transform .14s,border-color .14s,background .14s;display:grid}.portal-strip-link:hover{background:#0f172ae0;border-color:#7dd3fc3d;transform:translateY(-1px)}.portal-strip-link span{color:#f8fafc;font-weight:700}.portal-strip-link small{color:#94a3b8;line-height:1.4}.auth-card-header h2{color:#f8fafc;margin:.5rem 0 .85rem;font-size:clamp(1.7rem,2.4vw,2.3rem);line-height:1.05}.auth-card-header p{color:#cbd5e1;margin:0;line-height:1.6}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:#7dd3fc;font-size:.74rem;font-weight:800}.auth-form{gap:1rem;margin-top:1.6rem;display:grid}.auth-form label{gap:.45rem;display:grid}.auth-form span{color:#cbd5e1;font-size:.88rem;font-weight:600}.auth-form input{box-sizing:border-box;color:#f8fafc;width:100%;font:inherit;background:#020617c2;border:1px solid #94a3b838;border-radius:16px;outline:none;padding:.95rem 1rem;transition:border-color .14s,transform .14s,box-shadow .14s}.auth-form input:focus{border-color:#7dd3fc9e;box-shadow:0 0 0 4px #38bdf81f}.password-row{grid-template-columns:1fr auto;gap:.75rem;display:grid}.primary-button,.ghost-button,.pill-button{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:999px;font-weight:700;transition:transform .14s,border-color .14s,background .14s,opacity .14s}.primary-button{color:#020617;background:linear-gradient(135deg,#38bdf8,#8b5cf6);padding:.98rem 1.25rem;box-shadow:0 18px 35px #38bdf82e}.primary-button:hover,.pill-button:hover,.ghost-button:hover{transform:translateY(-1px)}.primary-button:disabled,.pill-button:disabled{opacity:.72;cursor:not-allowed}.ghost-button,.pill-button{color:#e2e8f0;background:#0f172ab8;border-color:#94a3b82e;padding:.88rem 1rem}.pill-button{white-space:nowrap;align-items:center;gap:.5rem;display:inline-flex}.pill-button.danger{color:#fecaca;border-color:#ef44443d}.banner{border:1px solid #0000;border-radius:16px;align-items:flex-start;gap:.65rem;padding:.9rem 1rem;line-height:1.5;display:flex}.banner.error{color:#fecaca;background:#7f1d1d5c;border-color:#f8717147}.banner.warning{color:#fde68a;background:#92400e3d;border-color:#fbbf2438}.security-note{color:#cbd5e1;align-items:flex-start;gap:.65rem;margin-top:.25rem;font-size:.88rem;line-height:1.55;display:flex}.dashboard-shell{flex-direction:column;padding:1.5rem;display:flex;overflow:hidden}.topbar{border-bottom:1px solid #94a3b829;justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:1.2rem;display:flex}.topbar h1{color:#f8fafc;margin:.35rem 0;font-size:clamp(1.8rem,2.5vw,2.6rem);line-height:1.02}.muted{color:#94a3b8;line-height:1.6}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;gap:.65rem;display:flex}.status-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem;padding:1rem 0;display:grid}.status-card{background:#02061761;border:1px solid #94a3b829;border-radius:18px;padding:1rem 1.05rem}.status-card.accent{background:#082f4957;border-color:#38bdf83d}.status-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:800}.status-value{color:#f8fafc;margin-top:.5rem;font-size:clamp(1rem,1.35vw,1.25rem);font-weight:800;line-height:1.3}.status-note{color:#cbd5e1;margin-top:.45rem;font-size:.9rem;line-height:1.45}.message-list{flex:1;gap:.9rem;padding-top:.45rem;display:grid;overflow:auto}.message-card{background:#02061775;border:1px solid #94a3b824;border-radius:20px;padding:1.15rem 1.2rem 1rem;position:relative;overflow:hidden}.message-card.new{border-color:#22c55e38;box-shadow:inset 0 0 0 1px #22c55e14}.message-head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.message-head h3{color:#f8fafc;margin:0;font-size:1.1rem;line-height:1.3}.message-meta{flex-wrap:wrap;gap:.55rem;margin-top:.65rem;display:flex}.meta-chip{color:#cbd5e1;background:#0f172acc;border:1px solid #94a3b824;border-radius:999px;align-items:center;gap:.4rem;padding:.35rem .6rem;font-size:.78rem;display:inline-flex}.message-status{color:#7dd3fc;text-transform:uppercase;letter-spacing:.08em;background:#38bdf81f;border:1px solid #7dd3fc29;border-radius:999px;flex-shrink:0;padding:.35rem .65rem;font-size:.68rem;font-weight:800}.message-body{color:#e2e8f0;white-space:pre-wrap;margin:1rem 0 0;font-size:1.02rem;line-height:1.75}.new-pill{color:#86efac;letter-spacing:.08em;text-transform:uppercase;background:#22c55e1f;border:1px solid #22c55e29;border-radius:999px;margin-top:.95rem;padding:.3rem .6rem;font-size:.72rem;font-weight:800;display:inline-flex}.empty-state{text-align:center;color:#cbd5e1;margin:auto 0;padding:5rem 1rem}.empty-state h2{color:#f8fafc;margin:1rem 0 .45rem}.empty-state p{margin:0;line-height:1.6}@media (width<=1024px){.portal-shell,.status-grid{grid-template-columns:1fr}.topbar{flex-direction:column}.topbar-actions{justify-content:flex-start}}@media (width<=640px){.portal-shell{padding:1rem}.hero-card,.auth-card,.dashboard-shell{border-radius:20px}.dashboard-shell,.auth-card,.hero-card{padding:1.1rem}.portal-strip{gap:.55rem}.password-row{grid-template-columns:1fr}.message-head{flex-direction:column}.message-status{align-self:flex-start}}
