.admin-shell{min-height:100vh}.admin-menu-btn{position:fixed;top:1rem;left:1rem;z-index:60;width:44px;height:44px;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:1px solid #fff;background:#000;color:#fff;padding:0}.admin-menu-btn span{display:block;width:18px;height:2px;background:#fff}.admin-menu-btn:hover{background:#fff}.admin-menu-btn:hover span{background:#000}.admin-sidebar{position:fixed;top:0;left:0;z-index:50;width:min(280px,86vw);height:100vh;display:flex;flex-direction:column;background:#000;border-right:1px solid var(--line);transform:translate(-105%);visibility:hidden;pointer-events:none;transition:transform .22s ease,visibility .22s ease;overflow:hidden;will-change:transform}.admin-sidebar.is-open{transform:translate(0);visibility:visible;pointer-events:auto}.admin-sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1.1rem 1rem;border-bottom:1px solid var(--line)}.admin-sidebar-brand{display:flex;align-items:center;gap:.7rem;min-width:0}.admin-sidebar-brand img{width:36px;height:36px;object-fit:contain;filter:grayscale(1)}.admin-sidebar-brand strong{display:block;font-family:var(--font-display);font-size:.95rem;letter-spacing:.05em}.admin-sidebar-brand span{display:block;color:var(--muted);font-size:.68rem}.admin-sidebar-close{border:1px solid var(--line-strong);background:transparent;color:#fff;width:36px;height:36px;font-size:1.1rem;line-height:1}.admin-sidebar-close:hover{background:#fff;color:#000}.admin-nav{display:flex;flex-direction:column;gap:.2rem;padding:.85rem .7rem;flex:1;overflow-y:auto}.admin-nav a{color:var(--muted);text-decoration:none;padding:.75rem .8rem;border:1px solid transparent;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase}.admin-nav a:hover{color:#fff;border-color:var(--line)}.admin-nav a.is-active{color:#fff;border-color:#fff;background:#111}.admin-sidebar-foot{padding:.85rem;border-top:1px solid var(--line)}.admin-sidebar-foot .btn-logout{width:100%;border:1px solid #fff;background:transparent;color:#fff;padding:.65rem 1rem;text-transform:uppercase;letter-spacing:.06em;font-size:.72rem}.admin-sidebar-foot .btn-logout:hover{background:#fff;color:#000}.admin-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;border:0;padding:0;background:#0000008c;cursor:pointer}.admin-main{min-height:100vh;min-height:100dvh;padding:4.25rem 1rem 1.5rem;width:100%;max-width:1100px;margin:0 auto}.admin-route-loading{margin:1.25rem 0;color:var(--muted, #888);font-size:.85rem}.admin-main .dash-page{min-height:0;padding:0}.admin-page{max-width:820px;animation:admin-fade .4s ease both}.admin-page h2{margin:0;font-family:var(--font-display);font-size:clamp(1.7rem,3.5vw,2.4rem);letter-spacing:.02em}.admin-page p{margin:.75rem 0 0;color:var(--muted);line-height:1.55;max-width:560px}.admin-page-note{margin-top:1.5rem!important;padding-top:1.25rem;border-top:1px solid var(--line);font-size:.78rem}.admin-loading{margin-top:30vh;text-align:center;color:var(--muted)}@keyframes admin-fade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(min-width:900px){.admin-main{padding:4.5rem clamp(1.25rem,3vw,2.25rem) 2rem}}.login-page{--login-green: #1db954;--login-green-deep: #149443;--login-green-soft: rgba(29, 185, 84, .14);--login-ink: #f7f7f7;--login-muted: #a8b3a8;--login-line: #243024;min-height:100vh;display:grid;place-items:center;padding:1.25rem;background:radial-gradient(900px 480px at 12% -8%,rgba(29,185,84,.18) 0%,transparent 55%),radial-gradient(700px 420px at 100% 0%,rgba(255,255,255,.05) 0%,transparent 45%),#050805;color:var(--login-ink)}.login-shell{width:min(920px,100%);display:grid;grid-template-columns:1.05fr .95fr;border:1px solid var(--login-line);background:linear-gradient(180deg,#0c100c,#070907);overflow:hidden;animation:rise .55s ease both;box-shadow:0 24px 60px #00000073}.login-visual{position:relative;min-height:420px;display:grid;place-items:center;background:linear-gradient(160deg,#000,#0a140c 48%,#041006);border-right:1px solid var(--login-line)}.login-icon{width:min(220px,62%);height:auto;filter:grayscale(.15) contrast(1.05);z-index:1}.visual-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(29,185,84,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:28px 28px;-webkit-mask-image:radial-gradient(circle at 50% 45%,#000 20%,transparent 72%);mask-image:radial-gradient(circle at 50% 45%,#000 20%,transparent 72%);pointer-events:none}.login-panel{padding:2.25rem 2rem;display:flex;flex-direction:column;justify-content:center;gap:1.5rem;background:#000}.login-brand h1{margin:0;font-family:var(--font-display);font-size:clamp(1.8rem,3vw,2.35rem);letter-spacing:.04em;font-weight:800;color:#fff}.login-brand h1:after{content:"";display:block;width:3rem;height:3px;margin-top:.7rem;background:var(--login-green)}.login-brand p{margin:.7rem 0 0;color:var(--login-muted);font-size:.86rem}.auth-form{display:grid;gap:.95rem;animation:fade .35s ease both}.field{display:grid;gap:.4rem}.field span{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--login-muted)}.field input{width:100%;border:1px solid #2a342a;background:#070a07;color:#fff;padding:.85rem .9rem;outline:none;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}.field input::placeholder{color:#6d776d}.field input:focus{border-color:var(--login-green);background:#000;box-shadow:0 0 0 3px var(--login-green-soft)}.field input:disabled{opacity:.6}.form-error{margin:0;padding:.65rem .75rem;border:1px solid #3d2a2a;background:#140808;color:#ffd7d7;font-size:.8rem}.otp-hint{margin:0;color:var(--login-muted);font-size:.78rem;line-height:1.45}.login-page .btn-primary,.login-page .btn-ghost{border:1px solid transparent;padding:.85rem 1rem;letter-spacing:.06em;text-transform:uppercase;font-size:.78rem;transition:transform .15s ease,background .2s ease,color .2s ease,border-color .2s ease}.login-page .btn-primary{background:var(--login-green);border-color:var(--login-green);color:#000;font-weight:700}.login-page .btn-primary:hover:not(:disabled){transform:translateY(-1px);background:var(--login-green-deep);border-color:var(--login-green-deep);color:#fff}.login-page .btn-primary:disabled{opacity:.65;cursor:wait}.login-page .btn-ghost{background:transparent;border-color:#fff;color:#fff}.login-page .btn-ghost:hover:not(:disabled){background:#fff;color:#000}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@media(max-width:820px){.login-page{padding:max(.75rem,env(safe-area-inset-top)) max(.75rem,env(safe-area-inset-right)) max(.75rem,env(safe-area-inset-bottom)) max(.75rem,env(safe-area-inset-left));align-content:start;place-items:stretch}.login-shell{grid-template-columns:1fr;width:100%;max-width:440px;margin:0 auto}.login-visual{min-height:120px;border-right:0;border-bottom:1px solid var(--login-line)}.login-icon{width:min(96px,34%);animation:none}.login-panel{padding:1.15rem 1rem 1.25rem;gap:1rem}.login-brand h1{font-size:1.55rem}.login-brand h1:after{margin-top:.45rem;width:2.25rem}.login-brand p{margin-top:.45rem;font-size:.78rem}.auth-form{gap:.7rem}.field input{padding:.75rem .8rem;min-height:44px;font-size:16px}.login-page .btn-primary,.login-page .btn-ghost{min-height:44px;padding:.75rem .9rem}}@media(max-width:380px){.login-visual{min-height:96px}.login-brand h1{font-size:1.35rem}}:root{--bg: #070809;--bg-elevated: #101214;--fg: #f4f6f8;--muted: #8b939c;--line: #23282e;--line-strong: #3a424c;--accent: #3dd68c;--accent-dim: rgba(61, 214, 140, .14);--accent-blue: #5aa7ff;--danger: #ff8e8e;--danger-bg: #1a1010;--font-display: "Syne", sans-serif;--font-mono: "IBM Plex Mono", monospace;--radius: 6px}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}html,body,#root{min-height:100%;min-height:100dvh}body{margin:0;color:var(--fg);background:radial-gradient(1200px 600px at 10% -10%,#1a1a1a 0%,transparent 55%),radial-gradient(900px 500px at 100% 0%,#161616 0%,transparent 50%),var(--bg);font-family:var(--font-mono);-webkit-font-smoothing:antialiased;overflow-x:hidden;overscroll-behavior-y:contain}button,input,select,textarea{font:inherit;touch-action:manipulation}button{cursor:pointer;-webkit-tap-highlight-color:transparent}input,textarea,select{-webkit-tap-highlight-color:transparent;border-radius:0}img{display:block;max-width:100%;height:auto}:root{--space-1: .35rem;--space-2: .55rem;--space-3: .75rem;--space-4: 1rem;--touch-min: 40px;--page-pad-x: max(.75rem, env(safe-area-inset-left));--page-pad-r: max(.75rem, env(safe-area-inset-right));--page-pad-b: max(1rem, env(safe-area-inset-bottom));--header-offset: calc(3.25rem + env(safe-area-inset-top, 0px)) }.admin-main>.client-page,.admin-main>.client-info,.admin-main>.notif-page,.admin-main>.sms-page,.admin-main>.admin-page,.admin-main>.dash-page{padding:0;max-width:none;width:100%}.admin-main>.client-page{flex:1 1 auto;min-height:0;height:auto;max-height:none}@media(max-width:900px){.admin-menu-btn{top:max(.55rem,env(safe-area-inset-top));left:max(.55rem,env(safe-area-inset-left));width:40px;height:40px;gap:4px}.admin-menu-btn span{width:16px}.admin-sidebar{width:min(272px,88vw);padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);overscroll-behavior:contain}.admin-sidebar-head{padding:.75rem .7rem}.admin-sidebar-brand img{width:30px;height:30px}.admin-sidebar-brand strong{font-size:.82rem}.admin-nav{padding:.5rem .45rem;gap:.1rem}.admin-nav a{padding:.62rem .7rem;font-size:.72rem;min-height:var(--touch-min);display:flex;align-items:center}.admin-sidebar-foot{padding:.55rem}.admin-sidebar-foot .btn-logout{min-height:var(--touch-min);padding:.55rem .75rem}.admin-main{padding:var(--header-offset) var(--page-pad-r) var(--page-pad-b) var(--page-pad-x)}.admin-page h2,.client-head h2,.notif-head h2,.sms-head h2,.dash-hero h2{font-size:clamp(1.35rem,6.5vw,1.75rem)}.admin-page p,.client-head p,.notif-head p,.sms-head p,.dash-hero p{margin-top:.35rem;font-size:.72rem;line-height:1.4;max-width:none}.admin-page-note{margin-top:.85rem!important;padding-top:.75rem}.client-head,.notif-head,.sms-head{gap:.55rem;margin-bottom:.75rem;align-items:center}.client-page .client-head{margin-bottom:.55rem}.client-page .client-sticky-chrome{margin-bottom:.55rem;padding-bottom:.45rem}.client-head>div,.notif-head>div,.sms-head>div{flex:1 1 auto;min-width:0}.client-btn,.notif-btn,.sms-btn,.btn-dash,.btn-logout,.client-info-back,.count-btn{min-height:var(--touch-min);padding:.5rem .7rem;font-size:.64rem}.client-toolbar,.notif-toolbar,.sms-toolbar{gap:.5rem;margin-bottom:.75rem}.client-search,.notif-search,.sms-search{min-width:0;width:100%;flex:1 1 100%;padding:.62rem .7rem;font-size:.78rem}.client-filters,.notif-filters,.sms-filters{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;gap:.3rem;padding-bottom:.15rem;-webkit-overflow-scrolling:touch;scrollbar-width:none;overscroll-behavior-x:contain}.client-filters::-webkit-scrollbar,.notif-filters::-webkit-scrollbar,.sms-filters::-webkit-scrollbar{display:none}.client-filters button,.notif-filters button,.sms-filters button{flex:0 0 auto;min-height:34px;padding:.4rem .6rem;font-size:.6rem}.dash-hero{margin-top:.35rem}.dash-live{margin-top:.45rem!important;font-size:.68rem}.dash-stats{margin-top:.85rem;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;max-width:none}.dash-stat{padding:.7rem .75rem}.dash-stat span{font-size:.62rem}.dash-stat strong{margin-top:.25rem;font-size:1.55rem}.dash-session-panel{margin-top:1rem;padding-top:.85rem}.dash-session-actions{gap:.55rem;flex-direction:column;align-items:stretch}.dash-session-actions .btn-dash,.dash-session-actions .dash-toggle{width:100%}.dash-toggle{min-height:var(--touch-min);border:1px solid var(--line);padding:.45rem .65rem;justify-content:flex-start;font-size:.72rem}.dash-session-hint{margin-top:.55rem;font-size:.66rem;max-width:none}.clients-panel,.commands-panel{margin-top:1.1rem;padding-top:.85rem}.clients-head{margin-bottom:.55rem}.clients-head h3{font-size:1rem}.clients-list li{padding:.65rem 0;gap:.35rem}.commands-table th,.commands-table td{padding:.45rem .3rem;font-size:.68rem}.client-grid{gap:.45rem}.device-card{padding:.55rem .65rem;gap:.35rem;min-height:0}.device-card-top strong{font-size:.88rem}.device-meta{font-size:.68rem;line-height:1.35}.device-actions,.device-demo-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;margin-top:.35rem;padding-top:.45rem}.device-actions button,.device-demo-actions button{width:100%;min-height:36px;justify-content:center;text-align:center;padding:.4rem .35rem;font-size:.6rem}.client-dialog{padding:1rem;max-height:min(85vh,520px);overflow:auto}.client-dialog-actions{flex-direction:column-reverse;align-items:stretch}.client-dialog-actions .client-btn{width:100%}.client-info-back{margin-bottom:.75rem;width:100%}.client-info dl{margin-top:.75rem;gap:.55rem}.client-info dd{font-size:.86rem}.notif-list,.sms-list{gap:.5rem}.notif-card,.sms-card{padding:.7rem .75rem}.notif-card-top,.sms-card-top{flex-direction:column;gap:.4rem}.notif-badges,.sms-tags{justify-content:flex-start}.notif-card-top strong,.sms-card-top strong{font-size:.88rem}.notif-title{font-size:.84rem}.notif-body,.sms-body{font-size:.74rem;line-height:1.4}.notif-load-more,.sms-load-more{margin-top:.85rem}.notif-load-more .notif-btn,.sms-load-more .sms-btn{width:100%}.device-count-section,.device-notif-section,.device-sms-section{margin-top:1.1rem;padding-top:.85rem}.device-count-section h3,.device-notif-section h3,.device-sms-section h3{font-size:1rem;margin-bottom:.45rem}.count-op-row{padding:.65rem .7rem;flex-direction:column;align-items:stretch}.count-op-info{min-width:0}.count-op-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.count-op-actions .count-btn{width:100%}.toast-root{top:max(.55rem,env(safe-area-inset-top));right:max(.55rem,env(safe-area-inset-right));left:auto;max-width:min(320px,calc(100vw - 1.1rem));padding:.7rem .8rem}.toast-root p{font-size:.74rem}}@media(max-width:380px){.dash-stat strong{font-size:1.35rem}.device-actions,.device-demo-actions,.count-op-actions{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
