*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--blue-primary:#1a5cff;--blue-dark:#0a3db5;--blue-light:#60a5fa;--bg-dark:#050d1a;--bg-card-dark:hsla(0,0%,100%,.04);--border-dark:hsla(0,0%,100%,.07);--text-dark:#fff;--text-sub-dark:hsla(0,0%,100%,.45);--text-muted-dark:hsla(0,0%,100%,.25);--green:#22c55e;--red:#ef4444;--amber:#f59e0b;--purple:#a855f7}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,sans-serif;background:var(--bg-dark);color:var(--text-dark);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(26,92,255,.3);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:rgba(26,92,255,.5)}::selection{background:rgba(26,92,255,.3);color:#fff}:focus-visible{outline:2px solid rgba(26,92,255,.6);outline-offset:2px}a{color:var(--blue-light);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font-family:inherit;font-size:inherit}button{transition:all .2s ease}.page-enter{opacity:0;transform:translateY(8px)}.page-enter-active{opacity:1;transform:translateY(0);transition:all .25s ease}.page-exit{opacity:1}.page-exit-active{opacity:0;transition:opacity .15s ease}.glass{background:hsla(0,0%,100%,.04);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid hsla(0,0%,100%,.08)}.gradient-text{background:linear-gradient(135deg,#1a5cff,#60a5fa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.doms-card{background:hsla(0,0%,100%,.04);border:1px solid hsla(0,0%,100%,.07);border-radius:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.badge-online{background:rgba(34,197,94,.15);color:#22c55e}.badge-offline{background:rgba(239,68,68,.1);color:#ef4444}.badge-fcm{background:rgba(34,197,94,.15);color:#22c55e}.badge-firebase{background:rgba(245,158,11,.15);color:#f59e0b}.badge-hybrid{background:rgba(168,85,247,.15);color:#a855f7}@keyframes spin{to{transform:rotate(1turn)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,hsla(0,0%,100%,.04) 25%,hsla(0,0%,100%,.08) 50%,hsla(0,0%,100%,.04) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:8px}@supports (padding:max(0px)){.safe-bottom{padding-bottom:max(16px,env(safe-area-inset-bottom))}}@media (max-width:480px){body{font-size:15px}}