@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Space+Grotesk:wght@500;600;700&display=swap');
:root{--bg:#0a0d18;--panel:#111729;--panel2:#171f35;--line:#27314b;--text:#f4f6ff;--muted:#929db8;--purple:#8b5cf6;--cyan:#22d3ee;--pink:#f472b6;--orange:#fb923c;--green:#34d399}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 85% 0%,#20204a 0,transparent 35%),var(--bg);color:var(--text);font:15px 'DM Sans',sans-serif;min-height:100vh}a{color:inherit;text-decoration:none}.sidebar{position:fixed;inset:0 auto 0 0;width:255px;background:#0d1222;border-right:1px solid var(--line);padding:25px 17px;display:flex;flex-direction:column;z-index:5}.brand{display:flex;gap:12px;align-items:center;font:700 20px 'Space Grotesk';margin:0 8px 38px}.brand>span:last-child{line-height:1.05}.brand span span{color:var(--cyan)}.brand small{display:block;font:700 9px 'DM Sans';letter-spacing:2px;color:var(--muted);margin-top:5px}.brand-icon,.auth-logo{width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,#fb7185,#8b5cf6 60%,#22d3ee);display:grid;place-items:center;box-shadow:0 8px 30px #8b5cf655;color:white}.sidebar nav{display:grid;gap:7px}.sidebar nav a{padding:13px 14px;border-radius:12px;color:#aab4ce;display:flex;gap:13px;align-items:center;transition:.25s}.sidebar nav a:hover,.sidebar nav a:focus{background:linear-gradient(100deg,#773ff233,#22d3ee15);color:white;transform:translateX(4px)}.side-bottom{margin-top:auto;color:var(--muted);font-size:12px;padding:15px 8px}.side-bottom a{display:block;margin-top:18px;color:#fda4af}.online-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 12px var(--green);margin-right:7px}.main{margin-left:255px;padding:28px 36px 60px;max-width:1700px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.topbar h2{font:700 25px 'Space Grotesk';margin:5px 0}.eyebrow{font-size:10px;font-weight:800;letter-spacing:2px;color:#8d9ab9}.profile{display:flex;align-items:center;gap:10px;color:#cbd5e1;font-size:13px}.avatar{width:35px;height:35px;border-radius:12px;background:linear-gradient(135deg,#8b5cf6,#22d3ee);display:grid;place-items:center;font-weight:800}.hero{position:relative;overflow:hidden;min-height:260px;border:1px solid #454077;border-radius:24px;padding:32px 38px;background:linear-gradient(110deg,#29204f 0%,#25264d 48%,#123e52 100%);display:flex;align-items:center;justify-content:space-between;box-shadow:0 22px 70px #080b1b}.pill{font-size:10px;letter-spacing:1px;color:#c4b5fd;background:#ffffff12;border:1px solid #ffffff25;padding:7px 11px;border-radius:30px}.hero h1{font:700 clamp(30px,4vw,47px)/1.08 'Space Grotesk';margin:17px 0 10px}.hero h1 em{font-style:normal;background:linear-gradient(90deg,#f9a8d4,#a5b4fc,#67e8f9);color:transparent;background-clip:text}.hero p,.page-intro p,.auth-card p{color:#bdc7df;max-width:500px;line-height:1.6}.hero-art{width:280px;height:210px;position:relative;display:grid;place-items:center}.orbit{position:absolute;border:1px solid #ffffff30;border-radius:50%;animation:spin 18s linear infinite}.o1{width:205px;height:205px}.o2{width:260px;height:150px;transform:rotate(-35deg);border-color:#67e8f966}.play-card{width:100px;height:100px;border-radius:30px;background:linear-gradient(145deg,#fb7185,#8b5cf6 60%,#22d3ee);display:grid;place-items:center;font-size:40px;box-shadow:0 15px 50px #c084fc66;animation:bob 3s ease-in-out infinite}.play-card small{font-size:8px;letter-spacing:2px}.float-tag{position:absolute;background:#11182bd9;border:1px solid #ffffff30;padding:9px 12px;border-radius:10px;font-size:11px;box-shadow:0 8px 25px #0005;animation:bob 4s ease-in-out infinite}.tag-a{top:22px;right:0;color:#f0abfc}.tag-b{bottom:20px;left:0;color:#67e8f9;animation-delay:-2s}.btn{border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:12px 17px;border-radius:11px;font:700 13px 'DM Sans';transition:.25s}.btn:hover{transform:translateY(-3px);filter:brightness(1.15);box-shadow:0 10px 25px #8b5cf644}.primary{background:linear-gradient(100deg,#8b5cf6,#ec4899 55%,#06b6d4);color:white;box-shadow:0 8px 22px #8b5cf633}.secondary{background:#27314b;color:#e2e8f0}.full{width:100%;margin-top:10px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:22px 0 32px}.stat-card,.panel,.table-card{background:linear-gradient(145deg,#141c30,#101626);border:1px solid var(--line);border-radius:17px;padding:19px;box-shadow:0 12px 30px #0002;transition:.25s}.stat-card:hover,.panel:hover{transform:translateY(-4px);border-color:#6554a8;box-shadow:0 16px 40px #6d4aff1a}.stat-card span{display:block;color:var(--muted);font-size:12px}.stat-card strong{display:block;font:700 29px 'Space Grotesk';margin:9px 0 2px}.stat-card small{color:#71809e;font-size:10px}.stat-icon{width:39px;height:39px;border-radius:12px;display:grid;place-items:center;margin-bottom:13px;font-size:19px}.violet{background:#8b5cf633;color:#c4b5fd}.blue{background:#0ea5e933;color:#7dd3fc}.pink{background:#ec489933;color:#f9a8d4}.orange{background:#f9731633;color:#fdba74}.section-head,.page-intro{display:flex;align-items:center;justify-content:space-between;margin:27px 0 14px}.section-head h3,.page-intro h3{font:700 19px 'Space Grotesk';margin:5px 0}.text-link{color:#a5b4fc;font-size:12px}.table-card{padding:4px 18px;overflow:auto}table{width:100%;border-collapse:collapse;min-width:600px}th{text-align:left;color:#8290af;font-size:10px;letter-spacing:1px;text-transform:uppercase;padding:16px 10px}td{padding:15px 10px;border-top:1px solid #26314a;color:#d8def0;font-size:12px}.status{display:inline-block;border:1px solid #34d39955;background:#34d39915;color:#6ee7b7;padding:5px 9px;border-radius:20px;font-size:10px;text-transform:capitalize}.empty{text-align:center;color:var(--muted);padding:30px}.page-intro{margin-top:0}.page-intro p{font-size:13px;margin:5px 0}.form-panel{max-width:900px}.form-panel form{display:grid;gap:17px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid .span2{grid-column:span 2}label{display:grid;gap:8px;color:#b8c3dd;font-size:12px;font-weight:600}input,select{width:100%;padding:13px 14px;background:#0b1120;border:1px solid #303b58;border-radius:10px;color:white;outline:none;font:13px 'DM Sans'}input:focus,select:focus{border-color:#a78bfa;box-shadow:0 0 0 3px #8b5cf622}.notice,.alert{padding:13px 16px;border:1px solid #38bdf855;background:#0ea5e915;color:#bae6fd;border-radius:12px;font-size:12px;line-height:1.6;margin:16px 0}.alert.danger{border-color:#fb718555;background:#fb718515;color:#fecdd3}.alert.warning{border-color:#fbbf2455;background:#fbbf2415;color:#fde68a}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.channel-avatar,.big-icon{width:55px;height:55px;border-radius:17px;background:linear-gradient(135deg,#fb7185,#8b5cf6);display:grid;place-items:center;font-size:25px}.empty-card{grid-column:1/-1;text-align:center;border:1px dashed #3a4565;border-radius:17px;padding:50px 20px;color:var(--muted)}.empty-card h3{color:white}.updater-card{text-align:center;max-width:720px;margin:25px auto;background:linear-gradient(145deg,#171b36,#102b3d);border:1px solid #4b4a82;padding:35px;border-radius:22px}.updater-card p{color:var(--muted);line-height:1.7}.update-orb{width:85px;height:85px;margin:auto auto 20px;border-radius:28px;display:grid;place-items:center;font-size:42px;color:white;background:linear-gradient(135deg,#8b5cf6,#06b6d4);animation:spin 8s linear infinite}.progress{height:7px;border-radius:10px;background:#28314b;margin:25px 0;overflow:hidden}.progress span{display:block;height:100%;width:62%;background:linear-gradient(90deg,#8b5cf6,#ec4899,#22d3ee);border-radius:10px;animation:shimmer 2s infinite}.plain{display:grid;place-items:center}.auth-wrap{width:100%;min-height:100vh;display:grid;place-items:center;padding:25px}.auth-card{width:min(440px,100%);padding:34px;background:linear-gradient(145deg,#171e33,#101626);border:1px solid #343d5c;border-radius:23px;box-shadow:0 25px 80px #0007;animation:rise .7s both}.auth-card.wide{width:min(700px,100%)}.auth-logo{margin-bottom:22px}.auth-card h1{font:700 27px 'Space Grotesk';margin:9px 0}.auth-card h1 em{font-style:normal;color:#c4b5fd}.auth-card form{display:grid;gap:17px;margin:23px 0}.auth-card small{display:block;color:#8491ad;margin-top:17px;text-align:center}.auth-card small a{color:#c4b5fd}.rise-in{animation:rise .55s both}@keyframes rise{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{filter:hue-rotate(0)}100%{filter:hue-rotate(80deg)}}@media(max-width:1050px){.sidebar{width:210px}.main{margin-left:210px;padding:25px}.stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.sidebar{position:relative;width:auto;height:auto;padding:12px}.sidebar nav{display:flex;overflow:auto}.sidebar nav a{white-space:nowrap;padding:10px}.sidebar nav a span{display:inline}.side-bottom{display:none}.brand{margin:0 8px 12px}.main{margin:0;padding:18px}.topbar{margin-bottom:18px}.hero{padding:24px;min-height:unset}.hero-art{display:none}.stats{gap:10px}.stat-card{padding:14px}.card-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .span2{grid-column:auto}.page-intro{align-items:flex-start;gap:10px;flex-direction:column}}
/* Installer-specific polish */
.auth-card.wide{position:relative;overflow:hidden}
.auth-card.wide:before{content:"";position:absolute;inset:-2px auto auto -2px;width:100%;height:4px;background:linear-gradient(90deg,#fb7185,#8b5cf6,#22d3ee,#34d399);background-size:250% 100%;animation:gradientMove 5s linear infinite}
.auth-card.wide .form-grid{margin-top:22px}
.auth-card.wide label{font-size:12px;letter-spacing:.2px}
.auth-card.wide input{min-height:45px;transition:border-color .2s,box-shadow .2s,transform .2s}
.auth-card.wide input:hover{border-color:#6474a6}
.auth-card.wide .btn{min-height:47px;margin-top:8px}
.auth-card.wide .auth-logo{animation:bob 3s ease-in-out infinite}
.auth-card.wide small{line-height:1.6}
@keyframes gradientMove{0%{background-position:0% 50%}100%{background-position:250% 50%}}
@media(min-width:701px){.auth-card.wide{padding:38px 42px}.auth-card.wide .form-grid{column-gap:20px;row-gap:18px}}
