:root{color-scheme:light;--font-display: "Poppins", sans-serif;--font-body: "Inter", sans-serif;--ink: #1e232f;--muted: #6b7280;--light: #f8fafc;--accent: #9ec5ff;--accent-strong: #7aa9f5;--accent-cool: #0ea5a4;--card: rgba(18, 22, 32, .78);--card-border: rgba(255, 255, 255, .22);--card-glow: rgba(14, 165, 164, .18);--overlay: rgba(9, 16, 26, .72);--overlay-border: rgba(255, 255, 255, .18);--shadow-lg: 0 36px 80px rgba(15, 23, 42, .18);--shadow-md: 0 22px 50px rgba(15, 23, 42, .14);--page-bg: radial-gradient(1100px circle at 12% -10%, rgba(14, 165, 164, .16), transparent 60%), radial-gradient(900px circle at 90% 0%, rgba(245, 158, 11, .16), transparent 52%), radial-gradient(800px circle at 45% 110%, rgba(122, 169, 245, .12), transparent 60%), linear-gradient(135deg, #fffdfb 0%, #fbfefe 55%, #fef1e7 100%);--app-bg: var(--page-bg);--input-bg: linear-gradient(135deg, #f7f2ea 0%, #f1e9df 100%);--input-border: rgba(30, 35, 47, .12);--input-shadow: 0 12px 24px rgba(15, 23, 42, .12);--input-text: #1f2a36;--input-placeholder: #9aa1ad;--input-icon: #8a909c;--input-autofill: #f4eee4;--admin-bg: var(--page-bg);--panel: rgba(255, 255, 255, .86);--panel-strong: rgba(255, 255, 255, .94);--panel-border: rgba(15, 23, 42, .1);--panel-soft-border: rgba(15, 23, 42, .06);--shadow-xl: 0 42px 90px rgba(15, 23, 42, .16);--chip-bg: rgba(14, 165, 164, .14);--chip-text: #0f766e;--ink-strong: #1b2333;--ink-soft: #475569;--landing-bg: var(--page-bg);--landing-hero-image: url(https://images.unsplash.com/photo-1469474968028-56623f02e42e?auto=format&fit=crop&w=1400&q=80)}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:var(--font-body);line-height:1.5;background:#fffdfb;color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100%}.page{min-height:100vh;padding:28px 20px 40px;display:grid;position:relative;overflow:hidden;background:var(--page-bg);background-size:140% 140%,160% 160%,180% 180%,100% 100%;background-position:0% 0%,100% 0%,50% 100%,50% 50%;animation:pageGlow 26s ease-in-out infinite alternate}.page>*{position:relative;z-index:1}.pageFallback{width:100%;display:grid;place-items:center;color:var(--ink-soft);font-size:14px;padding:24px 0}.loginPage{place-items:center}.appPage{align-content:start;justify-items:center;background:var(--app-bg);gap:16px}.landingPage{align-content:start;justify-items:center;background:var(--admin-bg);gap:0;min-height:100vh;padding-top:64px;padding-bottom:0}.valueBar{position:relative;background:transparent;padding:14px 32px;display:flex;justify-content:center;align-items:center;gap:16px;z-index:5}.valueBar:before{display:none}.valueBar:after{display:none}.valueBarTitle{display:inline-flex;align-items:center;gap:10px;background:linear-gradient(135deg,#0ea5a41f,#7aa9f51f);padding:8px 16px;border-radius:50px;border:1px solid rgba(14,165,164,.2);color:var(--ink-strong);font-size:13px;font-weight:500;letter-spacing:.01em}.valueBarTitle:before{content:"";width:8px;height:8px;background:#0ea5a4;border-radius:50%;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.valueBarDivider{display:none}.valueBarSubtitle{color:var(--ink-soft);font-size:13px;letter-spacing:.01em}.valueBarSubtitle strong{color:#0ea5a4;font-weight:600}.landingHeader{width:100%;display:flex;align-items:center;justify-content:space-between;gap:24px;position:fixed;top:0;left:0;z-index:8;padding:12px 40px;background:linear-gradient(135deg,#fffffff5,#f8fafcf0);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid rgba(15,23,42,.06);box-shadow:0 2px 20px #0000000a}.landingBrand{display:inline-flex;align-items:center;gap:12px;font-family:var(--font-display);font-size:22px;font-weight:700;color:var(--ink-strong);letter-spacing:-.01em;text-decoration:none}.landingBrand:before{content:"";width:36px;height:36px;background:linear-gradient(120deg,#9ec5ff,#7aa9f5);border-radius:10px;flex-shrink:0;box-shadow:0 4px 12px #7aa9f559}.brandWord{background:linear-gradient(135deg,#0f172a,#334155);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.landingNav{display:flex;align-items:center;gap:8px;flex:1 1 auto;justify-content:center;flex-wrap:wrap}.landingNavItem{border:none;background:transparent;color:var(--ink-soft);font-size:14px;font-weight:500;cursor:pointer;padding:8px 16px;border-radius:8px;transition:color .2s ease,background .2s ease;position:relative}.landingNavItem:hover{color:var(--ink-strong);background:#7aa9f514}@keyframes pageGlow{0%{background-position:0% 0%,100% 0%,50% 100%,50% 50%}50%{background-position:18% 8%,82% 5%,42% 90%,50% 50%}to{background-position:8% 20%,90% 15%,35% 100%,50% 50%}}.landingLoginButton{border:none;background:linear-gradient(120deg,#9ec5ff,#7aa9f5);color:#1a2433;font-size:13px;font-weight:600;letter-spacing:.01em;cursor:pointer;padding:12px 24px;border-radius:50px;transition:all .2s ease;box-shadow:0 4px 14px #7aa9f559}.landingLoginButton:hover{background:linear-gradient(120deg,#7aa9f5,#9ec5ff);transform:translateY(-1px);box-shadow:0 6px 20px #7aa9f573}.landingHeroFull .heroOverlay{position:relative;z-index:2;width:100%;max-width:1200px;margin:0 auto;padding:60px 20px 90px;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start}.landingHeroFull .heroContent{display:flex;flex-direction:column;gap:20px;max-width:520px;padding:30px 34px;border-radius:20px;background:#2d2d2da6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1)}.landingHeroFull .heroTitle{margin:0;font-size:clamp(24px,3vw,36px);font-family:var(--font-display);color:#fff;line-height:1.2;font-weight:700;text-shadow:0 4px 20px rgba(0,0,0,.3)}.heroTitleHighlight{color:#9ec5ff}.landingHeroFull .heroSubtitle{margin:0;font-size:15px;color:#ffffffe6;line-height:1.5;max-width:420px;text-shadow:0 2px 10px rgba(0,0,0,.3)}.heroPrimaryBtn{align-self:flex-start;padding:12px 28px;border:none;border-radius:10px;background:linear-gradient(120deg,#9ec5ff,#7aa9f5);color:#1a2433;font-size:14px;font-weight:600;letter-spacing:.04em;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 8px 24px #7aa9f566}.heroPrimaryBtn:hover{transform:translateY(-2px);box-shadow:0 12px 32px #7aa9f580}.heroWaveBottom{position:absolute;bottom:-8px;left:0;right:0;height:60px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 100' preserveAspectRatio='none'%3E%3Cpath d='M0,70 Q360,20 720,50 Q1080,80 1440,30 L1440,100 L0,100 Z' fill='%230f172a'/%3E%3C/svg%3E") no-repeat center;background-size:100% 100%;z-index:10;pointer-events:none;transform:scaleX(-1)}.landingServices{width:100vw;margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%);margin-top:-50px;display:grid;gap:32px;padding:70px 20px 30px;position:relative;z-index:3;background-color:#0f172a;background-image:none;overflow:hidden}.landingServices:before{content:"";position:absolute;top:50%;left:50%;width:120%;height:100%;transform:translate(-50%,-50%);background:radial-gradient(ellipse 60% 50% at center,rgba(14,165,164,.35) 0%,rgba(122,169,245,.18) 40%,transparent 70%);pointer-events:none;z-index:0}.landingServices:after{content:none}.servicesWaveBottom{display:none}.landingServicesHeader{display:grid;gap:14px;text-align:center;max-width:700px;margin:0 auto;position:relative;z-index:1}.landingServicesTitle{margin:0;font-size:clamp(28px,3.5vw,42px);font-family:var(--font-display);color:#fff;font-weight:700}.landingServicesSubtitle{margin:0;font-size:15px;color:#ffffff8c;line-height:1.6}.landingServicesGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;max-width:1200px;margin:0 auto;width:100%;padding:0 20px;position:relative;z-index:1;align-items:end}.landingServiceCard{position:relative;border-radius:20px;overflow:hidden;min-height:380px;display:flex;flex-direction:column;justify-content:flex-end;border:1px solid rgba(255,255,255,.1);box-shadow:0 20px 50px #0000004d;transition:transform .4s ease,box-shadow .4s ease}.landingServiceCard:hover{transform:translateY(-8px);box-shadow:0 30px 60px #0006,0 0 40px #7aa9f51a}.serviceCardFeatured{min-height:420px}.serviceCardImage{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.landingServiceCard:hover .serviceCardImage{transform:scale(1.08)}.serviceCardOverlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0f172a1a,#0f172a66 40%,#0f172ad9);transition:background .4s ease;z-index:1}.landingServiceCard:hover .serviceCardOverlay{background:linear-gradient(180deg,#0f172a0d,#0f172a59 40%,#0f172ae6)}.serviceCardBody{position:relative;z-index:2;display:flex;flex-direction:column;gap:10px;padding:24px 22px 28px}.serviceCardIcon{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;background:#7aa9f526;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#9ec5ff;border:1px solid rgba(158,197,255,.2);margin-bottom:4px}.serviceCardIcon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.serviceCardTitle{margin:0;font-size:18px;font-family:var(--font-display);color:#fff;font-weight:600}.serviceCardText{margin:0;font-size:13px;color:#ffffffa6;line-height:1.6}.landingServicesAction{display:flex;justify-content:center;position:relative;z-index:1}.servicesCta{display:inline-flex;align-items:center;gap:8px;padding:13px 34px;border:1px solid rgba(158,197,255,.3);border-radius:999px;background:#7aa9f51f;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;font-size:14px;font-weight:600;letter-spacing:.04em;cursor:pointer;transition:all .25s ease}.servicesCta:hover{background:#7aa9f538;border-color:#9ec5ff80;transform:translateY(-2px);box-shadow:0 8px 24px #7aa9f533}.servicesCtaArrow{font-size:18px;font-weight:700;line-height:1}.landingAbout{width:min(100%,1200px);display:grid;gap:18px;padding:80px 0 40px;margin-top:0;position:relative;z-index:2}.aboutWaveTop{position:absolute;top:0;left:50%;width:100vw;height:60px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 100' preserveAspectRatio='none'%3E%3Cpath d='M0,70 Q360,20 720,50 Q1080,80 1440,30 L1440,0 L0,0 Z' fill='%230f172a'/%3E%3C/svg%3E") no-repeat center;background-size:100% 100%;z-index:10;pointer-events:none;transform:translate(-50%) scaleX(-1)}.landingAbout:before{content:"";position:absolute;left:50%;top:52%;width:110vw;height:170px;transform:translate(-50%,-50%) rotate(-6deg);background:linear-gradient(135deg,#e2e8f0b3,#e2e8f033);border-radius:26px;box-shadow:0 30px 60px #0f172a14;opacity:.75;pointer-events:none;z-index:0}.landingAbout:after{content:"";position:absolute;top:0;bottom:0;left:50%;width:120vw;transform:translate(-50%,-35%) rotate(6deg);background:linear-gradient(135deg,#94a3b840,#94a3b814);border-radius:28px;opacity:.7;pointer-events:none;z-index:0}.landingAboutHeader{display:grid;gap:8px;text-align:center;position:relative;z-index:1}.landingAboutTitle{margin:0;font-size:clamp(20px,2.4vw,28px);font-family:var(--font-display);color:var(--ink-strong)}.landingAboutSubtitle{margin:0 auto;font-size:14px;color:var(--ink-soft);max-width:640px}.landingAboutGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;position:relative;z-index:1}.landingAboutCard{position:relative;display:grid;gap:12px;padding:20px 18px;border-radius:20px;background:#ffffffd1;border:1px solid rgba(15,23,42,.08);box-shadow:0 14px 28px #0f172a14;overflow:hidden;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.landingAboutCard:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 20% 0%,rgba(14,165,164,.08),transparent 55%);opacity:.6;pointer-events:none}.landingAboutCard>*{position:relative;z-index:1}.landingAboutIcon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:#0ea5a424;color:#0f766e}.landingAboutIcon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.landingAboutCardTitle{margin:0;font-size:16px;color:var(--ink-strong)}.landingAboutCardText{margin:0;font-size:13px;color:var(--ink-soft);line-height:1.6}.landingShowcase{margin-top:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:22px;align-items:center;position:relative;z-index:1}.landingShowcaseMedia{display:flex;justify-content:flex-start}.showcaseFrame{width:min(100%,520px);aspect-ratio:16 / 10;border-radius:20px;background:#ffffffd1;border:1px solid rgba(15,23,42,.08);box-shadow:0 14px 28px #0f172a14;display:grid;place-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.showcaseImage{width:100%;height:100%;border-radius:16px;object-fit:cover}.landingShowcaseContent{display:grid;gap:12px}.landingShowcaseKicker{text-transform:uppercase;letter-spacing:.18em;font-size:11px;color:#475569b3;font-weight:700}.landingShowcaseTitle{margin:0;font-size:clamp(20px,2.6vw,30px);font-family:var(--font-display);color:var(--ink-strong)}.landingShowcaseText{margin:0;font-size:14px;color:var(--ink-soft);max-width:520px}.landingShowcaseList{display:grid;gap:8px;font-size:13px;color:var(--ink-soft)}.landingShowcaseList span:before{content:"•";margin-right:8px;color:#0ea5a4;font-weight:700}.landingShowcaseActions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:6px}.landingFooter{width:100vw;margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%);margin-top:8px;border-top:1px solid rgba(15,23,42,.08);background:#ffffffeb;display:flex;justify-content:center;padding:6px 0}.landingFooterInner{width:min(100%,1200px);display:flex;align-items:center;justify-content:space-between;padding:8px 24px;color:var(--ink-soft);font-size:12px;letter-spacing:.06em;text-transform:uppercase}.footerSocial{display:flex;align-items:center;gap:10px}.footerIcon{width:34px;height:34px;border-radius:999px;border:1px solid rgba(15,23,42,.12);background:#fff;color:var(--ink-strong);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;display:grid;place-items:center;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.footerIcon:hover{transform:translateY(-1px);border-color:#0ea5a459;box-shadow:0 10px 18px #0ea5a429}.footerIcon svg{width:16px;height:16px;fill:currentColor}.landingShowcasePricing{margin-top:16px;display:grid;gap:8px;color:var(--ink-soft)}.pricingLabel{font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:#475569b3;font-weight:700}.pricingRow{display:flex;align-items:center;gap:16px;flex-wrap:wrap;font-size:14px;color:var(--ink-strong);font-weight:600}.pricingItem{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:#94a3b829}.flag{width:20px;height:14px;border-radius:3px;display:inline-block;background-size:cover;background-position:center;box-shadow:inset 0 0 0 1px #0f172a1a}.flag-ec{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 40'><rect width='60' height='40' fill='%23facc15'/><rect y='20' width='60' height='10' fill='%232563eb'/><rect y='30' width='60' height='10' fill='%23ef4444'/><circle cx='30' cy='20' r='3' fill='%231e40af'/></svg>")}.flag-co{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 40'><rect width='60' height='40' fill='%23facc15'/><rect y='20' width='60' height='10' fill='%232563eb'/><rect y='30' width='60' height='10' fill='%23ef4444'/></svg>")}.flag-us{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 40'><rect width='60' height='40' fill='%23ffffff'/><rect y='0' width='60' height='4' fill='%23b91c1c'/><rect y='8' width='60' height='4' fill='%23b91c1c'/><rect y='16' width='60' height='4' fill='%23b91c1c'/><rect y='24' width='60' height='4' fill='%23b91c1c'/><rect y='32' width='60' height='4' fill='%23b91c1c'/><rect width='26' height='18' fill='%231e3a8a'/></svg>")}.flag-eu{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 40'><rect width='60' height='40' fill='%230256a5'/><circle cx='30' cy='12' r='2' fill='%23facc15'/><circle cx='38' cy='16' r='2' fill='%23facc15'/><circle cx='42' cy='24' r='2' fill='%23facc15'/><circle cx='38' cy='32' r='2' fill='%23facc15'/><circle cx='30' cy='36' r='2' fill='%23facc15'/><circle cx='22' cy='32' r='2' fill='%23facc15'/><circle cx='18' cy='24' r='2' fill='%23facc15'/><circle cx='22' cy='16' r='2' fill='%23facc15'/></svg>")}.pricingNote{font-size:12px;color:#475569b3}.showcasePrimary{border:none;padding:14px 28px;border-radius:999px;background:linear-gradient(135deg,#0ea5e9,#06b6d4);color:#fff;font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;cursor:pointer;box-shadow:0 10px 22px #0ea5e94d;transition:transform .2s,box-shadow .2s;display:inline-flex;align-items:center;justify-content:center;min-height:48px}.showcasePrimary:hover{transform:translateY(-2px);box-shadow:0 12px 28px #0ea5e966}.showcaseSecondary{border:none;background:#22c55e;color:#fff;padding:14px 28px;border-radius:999px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 10px 22px #22c55e40;min-height:48px;transition:transform .2s,box-shadow .2s}.showcaseSecondary:hover{transform:translateY(-2px);box-shadow:0 12px 28px #22c55e66}.showcaseIcon{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center}.showcaseIcon svg{width:100%;height:100%;fill:#fff}.landingIntro{width:min(100%,1200px);display:grid;gap:14px;text-align:left}.landingTitle{margin:0;font-size:clamp(18px,2.2vw,24px);font-family:var(--font-display);color:var(--ink-strong);line-height:1.35;max-width:600px}.titleHighlight{color:#e97b2c}.landingHeroFull{width:100vw;min-height:80vh;margin-top:0;margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%);position:relative;z-index:4;display:flex;align-items:flex-end;overflow:visible;background:#0f172a}.landingHeroFull:before{content:none}.heroVideo{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center top;z-index:0}.landingHeroFull:after{content:"";position:absolute;top:0;left:0;right:0;height:100%;background:linear-gradient(180deg,rgba(20,20,30,.15) 0%,transparent 30%,transparent 70%,rgba(20,20,30,.25) 100%),radial-gradient(ellipse at 0% 50%,rgba(122,169,245,.08) 0%,transparent 50%),radial-gradient(ellipse at 100% 50%,rgba(122,169,245,.05) 0%,transparent 50%);z-index:1;pointer-events:none}.heroOverlay{position:relative;z-index:2;width:100%;max-width:1200px;margin:0 auto;padding-bottom:40px;display:flex;justify-content:flex-start}.heroStatCard{display:grid;gap:16px;width:min(92%,380px);padding:24px 28px;border-radius:24px;background:linear-gradient(135deg,#0f172ad9,#1e293be6);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);color:#f8fafc;box-shadow:0 25px 50px #0006,inset 0 1px #ffffff1a;border:1px solid rgba(255,255,255,.08)}.heroStatLabel{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#f8fafc99}.heroStatNumber{display:flex;align-items:baseline;gap:8px}.heroStatCount{font-size:42px;font-weight:800;letter-spacing:-.02em;background:linear-gradient(135deg,#fff,#94a3b8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1}.heroStatUnit{font-size:14px;font-weight:500;color:#f8fafc80}.heroStatDesc{margin:0;font-size:13px;color:#f8fafcb3;line-height:1.5}.heroCtaBtn{padding:10px 20px;border:none;border-radius:10px;background:linear-gradient(135deg,#0ea5e9,#06b6d4);color:#fff;font-size:12px;font-weight:700;letter-spacing:.04em;cursor:pointer;white-space:nowrap;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 4px 14px #0ea5e966}.heroCtaBtn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0ea5e980}.loginCard{width:min(94vw,420px);padding:48px 40px 40px;border-radius:32px;background:#2d2d2da6;border:1px solid rgba(255,255,255,.1);box-shadow:0 25px 50px -12px #0000004d;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:cardIn .7s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.loginCard:before{display:none}.loginForm{display:grid;gap:24px;color:#fff}.loginHeader{display:grid;gap:8px;text-align:center;margin-bottom:8px}.appHeader{width:min(100%,1200px);display:flex;align-items:center;justify-content:space-between;gap:16px}.appTitle{font-family:var(--font-display);font-size:18px;letter-spacing:.08em;color:#2f3542;text-transform:uppercase}.logoutButton{border:1px solid rgba(30,35,47,.16);background:#ffffffa6;color:#2b2f3a;padding:8px 16px;border-radius:999px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.logoutButton:hover{transform:translateY(-1px);border-color:#f59e0b66;box-shadow:0 12px 24px #f59e0b2e}.adminPage{align-content:start;justify-items:center;gap:22px;background:var(--admin-bg);padding-top:16px}.adminPage:before,.adminPage:after{content:"";position:absolute;z-index:0;border-radius:50%;pointer-events:none}.adminPage:before{width:520px;height:520px;left:-180px;top:-200px;background:radial-gradient(circle,#0ea5a447,#0ea5a400 70%);opacity:.9}.adminPage:after{width:460px;height:460px;right:-160px;top:-120px;background:radial-gradient(circle,#f59e0b4d,#f59e0b00 70%);opacity:.75}.adminHeader{width:min(100%,1200px);display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.adminHeading{display:grid;gap:6px}.adminTitleRow{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.adminKicker{text-transform:uppercase;letter-spacing:.28em;font-size:11px;font-weight:700;color:#475569bf}.demoBadge{padding:6px 12px;border-radius:999px;border:1px solid rgba(245,158,11,.35);background:#f59e0b1f;color:#92400e;font-size:10px;font-weight:700;letter-spacing:.22em;text-transform:uppercase}.adminTitle{margin:0;font-family:var(--font-display);font-size:28px;font-weight:600;color:var(--ink-strong)}.adminSubtitle{margin:0;font-size:14px;color:var(--ink-soft);max-width:420px}.adminHeaderActions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.adminBadge{padding:6px 14px;border-radius:999px;border:1px solid rgba(34,197,94,.35);background:#22c55e29;color:#15803d;font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase}.adminBadgeInline{padding:4px 8px;font-size:9px;font-weight:700;letter-spacing:.1em;border-radius:6px}.adminNav{width:min(100%,1200px);padding:10px 16px;border-radius:16px;position:sticky;top:8px;z-index:5;border:1px solid rgba(15,23,42,.08);background:#fff;box-shadow:0 20px 40px #0f172a1f;margin-bottom:16px}.adminNavInner{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:16px}.adminNavGroup{display:flex;flex-wrap:nowrap;gap:8px;flex:1 1 auto;min-width:0;justify-content:flex-start;align-items:center;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.adminNavGroup::-webkit-scrollbar{height:0}.adminNavItem{border:1px solid rgba(15,23,42,.1);background:#f8fafccc;padding:8px 14px;border-radius:10px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#475569;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;white-space:nowrap;transition:color .18s ease,border-color .18s ease,background .18s ease,transform .18s ease,box-shadow .18s ease}.adminNavItem:hover:not(:disabled){color:#0f766e;border-color:#0ea5a44d;background:#0ea5a414;box-shadow:0 4px 12px #0ea5a41f}.adminNavItem.active{background:#0ea5a426;border-color:#0ea5a466;color:#0f766e;font-weight:700}.adminNavItem:disabled{cursor:default;opacity:.5;background:#f8fafc80}.adminNavSoon{padding:3px 6px;border-radius:6px;background:#64748b1a;color:#64748b;font-size:8px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.adminNavProfile{position:relative;display:inline-flex;align-items:center;flex:0 0 auto;z-index:2}.adminNavProfileButton{gap:8px}.profileBadge{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#0ea5a42e;color:#0f766e;font-weight:700;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.profileMenu{position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);min-width:180px;padding:8px;border-radius:14px;border:1px solid rgba(15,23,42,.08);background:#fff;box-shadow:0 18px 36px #0f172a24;display:grid;gap:6px;z-index:10;pointer-events:auto}.profileMenuInfo{padding:8px 10px;border-radius:10px;background:#94a3b81f;color:var(--ink-soft);font-size:12px;font-weight:600;letter-spacing:.02em}.profileMenuItem{border:none;background:#0f172a0a;padding:10px 12px;border-radius:10px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#1f2937;cursor:pointer;text-align:left;font-weight:700;transition:background .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease;width:100%}.profileMenuItem:hover{background:#0ea5a41f;color:#0f766e;transform:translateY(-1px);box-shadow:0 10px 18px #0ea5a429}.adminHero{width:min(100%,1200px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:20px}.heroCard{display:grid;gap:22px;padding:24px;border-radius:24px;background:var(--panel-strong);border:1px solid var(--panel-border);box-shadow:var(--shadow-xl);position:relative;overflow:hidden}.heroCard:before{content:"";position:absolute;top:-40%;right:35%;bottom:40%;left:-40%;background:radial-gradient(circle,#0ea5a433,#0ea5a400);opacity:.7}.heroContent{position:relative;display:grid;gap:12px}.heroTitle{margin:0;font-size:22px;color:var(--ink-strong);font-family:var(--font-display)}.heroText{margin:0;font-size:14px;color:var(--ink-soft)}.heroChips{display:flex;flex-wrap:wrap;gap:10px}.heroChip{padding:6px 12px;border-radius:999px;border:1px solid rgba(14,165,164,.25);background:#0ea5a414;color:#0f766e;font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.heroStats{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.statCard{padding:12px;border-radius:16px;border:1px solid var(--panel-soft-border);background:#0f172a0a;display:grid;gap:6px}.statLabel{font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:#475569b3}.statValue{font-size:22px;font-weight:700;color:var(--ink-strong)}.cameraPanel{display:grid;gap:18px;padding:22px;border-radius:24px;background:var(--panel-strong);border:1px solid var(--panel-border);box-shadow:var(--shadow-xl);scroll-margin-top:18px}.cameraPanelHeader{display:flex;align-items:center;justify-content:space-between;gap:12px}.cameraPanelHeading{display:grid;gap:4px}.cameraKicker{text-transform:uppercase;letter-spacing:.24em;font-size:11px;font-weight:700;color:#475569b3}.cameraTitle{margin:0;font-size:20px;font-family:var(--font-display);color:var(--ink-strong)}.ghostButton{border:1px solid rgba(15,23,42,.12);background:#ffffffb3;color:#1e293b;padding:6px 12px;border-radius:999px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-family:var(--font-body);cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.ghostButton:hover{transform:translateY(-1px);border-color:#0ea5a466;box-shadow:0 12px 24px #0ea5a429}.ghostButton:disabled{cursor:default;opacity:.6;box-shadow:none;transform:none}.cameraPanelBody{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:16px;align-items:stretch}.cameraList{display:grid;gap:12px;align-content:start}.cameraItem{width:100%;border:1px solid var(--panel-soft-border);background:#0f172a08;padding:12px 14px;border-radius:14px;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;text-align:left;font-family:var(--font-body);transition:border-color .16s ease,background .16s ease,transform .16s ease}.cameraItem.active{border-color:#0ea5a480;background:#0ea5a414}.cameraItem:disabled{cursor:default;opacity:.7}.cameraItem:hover:not(:disabled){transform:translateY(-1px);border-color:#0ea5a459}.cameraItemInfo{display:grid;gap:4px}.cameraName{font-size:14px;font-weight:600;color:var(--ink-strong)}.cameraMeta{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#475569b3}.cameraStatus{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#475569b3}.cameraStatus.active{color:#0f766e;font-weight:700}.cameraEmpty,.cameraError{padding:12px;border-radius:12px;border:1px dashed rgba(15,23,42,.15);font-size:12px;color:#475569b3}.cameraError{border-color:#f8717166;color:#e11d48;background:#f8717114}.cameraPreview{display:grid;grid-template-rows:auto 1fr;border-radius:20px;overflow:hidden;background:#0b111d;border:1px solid rgba(15,23,42,.6);box-shadow:var(--shadow-md);color:#f8fafc}.cameraPreviewMedia{position:relative;min-height:180px}.cameraPreviewBody{padding:16px 18px 18px;display:grid;gap:10px;background:linear-gradient(135deg,#0f172afa,#060b14f5)}.liveCard{display:grid;grid-template-rows:auto 1fr;border-radius:24px;overflow:hidden;background:#0b111d;border:1px solid rgba(15,23,42,.6);box-shadow:var(--shadow-xl);color:#f8fafc}.liveMedia{position:relative}.liveImg{width:100%;height:100%;display:block;object-fit:cover;aspect-ratio:16 / 9}.liveBadge{position:absolute;left:12px;top:12px;padding:6px 12px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;background:#0ea5a4d9;color:#07121b}.liveBadge.offline{background:#f59e0be6;color:#1a1d24}.liveBody{padding:16px 18px 18px;display:grid;gap:10px;background:linear-gradient(135deg,#0f172afa,#060b14f5)}.liveKicker{text-transform:uppercase;letter-spacing:.2em;font-size:11px;color:#f8fafc99}.liveTitle{margin:6px 0 0;font-size:18px;font-family:var(--font-display)}.liveHint{font-size:12px;color:#f8fafc99}.liveError{font-size:12px;color:#fca5a5}.adminSection{width:min(100%,1200px);display:grid;gap:16px}.sectionHeader{display:grid;gap:6px}.sectionTitle{margin:0;font-size:20px;font-family:var(--font-display);color:var(--ink-strong)}.sectionSubtitle{margin:0;font-size:13px;color:var(--ink-soft)}.adminGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;align-items:stretch}.adminCard{display:block;border-radius:20px;overflow:hidden;background:transparent;border:1px solid var(--panel-border);box-shadow:var(--shadow-md);height:100%;min-height:260px}.adminCard.isInteractive{cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.adminCard.isInteractive:hover{border-color:#0ea5a459;box-shadow:0 18px 36px #0ea5a429;transform:translateY(-2px)}.adminCard.isInteractive:focus-visible{outline:2px solid rgba(14,165,164,.5);outline-offset:2px}.cardShell{display:grid;grid-template-columns:minmax(0,1fr) clamp(80px,24%,110px);min-height:100%}.cardInfo{background:#fff;display:grid;grid-template-rows:1fr auto;height:100%;position:relative;overflow:hidden}.cardAccent{background:var(--card-accent, var(--accent-cool));display:grid;place-items:center;color:#ffffffeb;border-left:1px solid rgba(15,23,42,.08)}.cardAccent svg{width:44px;height:44px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.cardBody{padding:16px 18px 12px;display:grid;gap:12px;min-height:118px;position:relative;z-index:1}.cardInfo:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 18% 0%,rgba(148,163,184,.15),transparent 55%);opacity:.7;pointer-events:none}.cardWatermark{display:none}.cardTitle{margin:0;font-size:18px;font-family:var(--font-display);color:var(--ink-strong);position:relative;padding-bottom:8px}.cardTitle:after{content:"";position:absolute;left:0;bottom:0;width:40px;height:2px;border-radius:999px;background:#0f172a1f}.cardTags{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.cardTag{display:inline-flex;align-items:center;padding:0;border-radius:0;font-size:11px;letter-spacing:.12em;text-transform:uppercase;background:transparent;color:var(--ink-soft);border:none;font-weight:600;line-height:1.1}.cardText{margin:0;font-size:13px;color:var(--ink-soft)}.cardActions{padding:10px 18px 16px;display:flex;flex-wrap:wrap;gap:12px;border-top:1px solid var(--panel-soft-border)}.cardAction{border:none;background:transparent;padding:0;font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#1e293b;cursor:pointer;transition:color .16s ease}.cardAction:hover{color:#0f766e}.cardStagger{opacity:0;transform:translateY(14px) scale(.98);animation:riseIn .72s ease forwards;animation-delay:var(--delay, 0ms)}.loginKicker{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-display);font-size:28px;font-weight:700;background:linear-gradient(135deg,#0ea5e9,#06b6d4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.loginKicker:before{content:"";width:40px;height:40px;background:linear-gradient(135deg,#0ea5e9,#06b6d4);border-radius:12px;box-shadow:0 8px 20px #0ea5e94d}.loginTitle{margin:0;font-family:var(--font-display);font-size:28px;font-weight:600;letter-spacing:-.02em;color:#0f172a}.loginSubtitle{margin:0;font-size:15px;color:#ffffffb3;font-weight:400}.field{display:grid;gap:8px}.fieldLabel{font-size:13px;font-weight:500;letter-spacing:.02em;color:#ffffffd9}.fieldControl{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;background:transparent;border:1px solid rgba(255,255,255,.2);transition:border-color .2s ease,box-shadow .2s ease}.fieldControl:focus-within{border-color:#0ea5e999;box-shadow:0 0 0 4px #0ea5e91a}.fieldIcon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;color:#fff9}.fieldIcon svg{width:20px;height:20px;fill:currentColor}.fieldInput{flex:1;border:none;outline:none;background:transparent;color:#fff;caret-color:#0ea5e9;font-size:15px;font-family:var(--font-body)}.fieldInput::placeholder{color:#ffffff80}.fieldInput:-webkit-autofill,.fieldInput:-webkit-autofill:hover,.fieldInput:-webkit-autofill:focus{-webkit-text-fill-color:#ffffff;box-shadow:0 0 0 1000px transparent inset;background-color:transparent!important;transition:background-color 9999s ease-in-out 0s}.loginOptions{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px}.loginRemember{display:flex;align-items:center;gap:8px;color:#f8fafcb3}.loginRemember input{accent-color:var(--accent)}.linkButton{border:none;background:transparent;color:#f8fafcbf;text-decoration:underline;cursor:pointer;font-size:13px;font-family:var(--font-body)}.loginError{font-size:13px;color:#fca5a5}.loginButton{width:100%;padding:12px 16px;border:none;border-radius:16px;background:linear-gradient(120deg,var(--accent),var(--accent-strong));color:#1a2433;font-weight:700;letter-spacing:.12em;text-transform:none;cursor:pointer;box-shadow:0 20px 40px #7aa9f540;transition:transform .16s ease,box-shadow .16s ease}.loginButton:hover{transform:translateY(-1px);box-shadow:0 26px 50px #7aa9f559}.loginHint{margin:0;font-size:12px;color:#f8fafc8c;text-align:center}.loginMeta{margin:0;display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;color:#f8fafc99}.loginMetaIcon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;color:#f8fafcb8}.loginMetaIcon svg{width:16px;height:16px;fill:currentColor}.loginStagger{opacity:0;transform:translateY(12px);animation:fadeUp .62s ease forwards;animation-delay:var(--delay, 0ms)}.stagger-0{--delay: 0ms}.stagger-1{--delay: .12s}.stagger-2{--delay: .18s}.stagger-3{--delay: .24s}.stagger-4{--delay: .28s}.stagger-5{--delay: .32s}.stagger-6{--delay: .34s}.stagger-7{--delay: .38s}.video{position:relative;width:min(100%,1200px);border-radius:18px;overflow:hidden;background:#0b111d;border:1px solid rgba(15,23,42,.25);box-shadow:var(--shadow-md)}.videoImg{width:100%;height:auto;display:block;object-fit:cover}.overlay{position:absolute;left:16px;top:16px;padding:12px 14px;border-radius:14px;background:var(--overlay);border:1px solid var(--overlay-border);min-width:220px;color:var(--light);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:14px;line-height:1.6}.label{opacity:.82}.value{font-weight:600;letter-spacing:.2px}.error{margin-top:6px;color:#fb7185;font-size:12px}@keyframes riseIn{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes cardIn{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.residentsSection{width:min(100%,1200px);display:grid;gap:18px;padding:26px;border-radius:28px;background:#fff;border:1px solid rgba(148,163,184,.25);box-shadow:0 30px 70px #0f172a24;position:relative;overflow:hidden}.residentsHeader{display:grid;gap:4px;text-align:center}.residentsTitle{margin:0;font-size:24px;font-family:var(--font-display);color:var(--ink-strong)}.residentsSubtitle{margin:0;font-size:13px;color:var(--ink-soft)}.residentsActionBar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.residentsActionButton{border:1px solid rgba(30,64,175,.35);background:linear-gradient(135deg,#ffffffe6,#eff6ffe6);color:#1d4ed8;border-radius:999px;padding:12px 16px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease;box-shadow:0 16px 30px #3b82f61f}.residentsActionButton:hover{transform:translateY(-2px);border-color:#0ea5e9a6;background:linear-gradient(135deg,#dbeafee6,#f0f9ffe6);box-shadow:0 18px 36px #3b82f633}.residentsActionIcon{width:18px;height:18px;display:inline-flex;color:currentColor}.residentsActionIcon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.residentsNotice{padding:10px 12px;border-radius:14px;font-size:12px;letter-spacing:.04em;text-transform:uppercase;font-weight:700}.residentsNotice.isLoading{border:1px dashed rgba(15,23,42,.18);background:#94a3b81f;color:var(--ink-soft)}.residentsNotice.isError{border:1px solid rgba(248,113,113,.5);background:#f871711f;color:#e11d48}.residentsSearchRow{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:18px;border:1px solid rgba(148,163,184,.35);background:#fffffff2;box-shadow:0 16px 34px #0f172a14}.residentsSearchIcon{width:20px;height:20px;color:#94a3b8;display:inline-flex}.residentsSearchIcon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.residentsSearchInput{flex:1;border:none;outline:none;background:transparent;font-size:14px;color:var(--ink-strong);font-family:var(--font-body)}.residentsSearchInput::placeholder{color:#9aa1ad}.residentsTableWrap{border-radius:20px;overflow-x:auto;overflow-y:hidden;border:1px solid rgba(148,163,184,.25);background:#ffffffe6;box-shadow:0 24px 48px #0f172a1f}.residentsTable{width:100%;border-collapse:collapse;font-size:13px}.residentsTable thead th{position:sticky;top:0;z-index:2;background:#cbd5e1;color:#0f172a;padding:14px 16px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;white-space:nowrap;border-bottom:1px solid rgba(148,163,184,.2)}.residentsSortButton{border:none;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;font-weight:inherit;padding:0;display:inline-flex;align-items:center;gap:8px;cursor:pointer;width:100%;justify-content:flex-start}.residentsSortButton:after{content:"";width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid currentColor;opacity:.35;transform:translateY(1px);transition:transform .16s ease,opacity .16s ease}.residentsSortButton.isActive:after{opacity:.9}.residentsSortButton.isAsc:after{transform:translateY(1px) rotate(180deg)}.residentsTable thead th.numeric .residentsSortButton{width:100%;justify-content:flex-end}.residentsTable tbody td{padding:14px 16px;border-bottom:1px solid rgba(148,163,184,.15);color:var(--ink-strong);vertical-align:middle;background:transparent}.residentsTable tbody tr:nth-child(odd) td{background:#0ea5e908}.residentsTable tbody tr:nth-child(2n) td{background:#3b82f60d}.residentsTable tbody td:first-child{font-weight:600;color:#0f172a}.residentsStatusBadge{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.residentsStatusBadge.isActive{background:#22c55e24;color:#15803d;border:1px solid rgba(34,197,94,.35)}.residentsStatusBadge.isInactive{background:#f8717124;color:#b91c1c;border:1px solid rgba(248,113,113,.35)}.userLastLogin{font-size:12px;color:var(--ink-soft);white-space:nowrap}.residentsTable tbody tr:hover td{background:#3b82f60f}.residentsTable .numeric{text-align:right;font-variant-numeric:tabular-nums}.residentsTable .actions{text-align:center;width:140px}.rolesTable .actions{position:sticky;right:0;z-index:1}.rolesTable thead th.actions{background:#cbd5e1}.rolesTable tbody tr:nth-child(odd) td.actions{background:#f8fafcfa}.rolesTable tbody tr:nth-child(2n) td.actions{background:#fffffffa}.rolesTable tbody tr:hover td.actions{background:#f1f5f9}.rolesTable th:first-child,.rolesTable td:first-child{position:sticky;left:0;z-index:1;min-width:120px}.rolesTable thead th:first-child{background:#cbd5e1;z-index:3}.rolesTable tbody tr:nth-child(odd) td:first-child{background:#f8fafcfa}.rolesTable tbody tr:nth-child(2n) td:first-child{background:#fffffffa}.rolesTable tbody tr:hover td:first-child{background:#f1f5f9}.rolesAccordion{display:flex;flex-direction:column;gap:12px}.roleAccordionItem{background:#fffffff2;border-radius:16px;border:1px solid rgba(148,163,184,.25);overflow:hidden;transition:box-shadow .2s ease,border-color .2s ease}.roleAccordionItem:hover{border-color:#94a3b866;box-shadow:0 8px 24px #0f172a14}.roleAccordionItem.isExpanded{border-color:var(--accent-strong);box-shadow:0 12px 32px #0f172a1f}.roleAccordionHeader{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s ease}.roleAccordionHeader:hover{background:#f1f5f999}.roleAccordionInfo{display:flex;align-items:center;gap:12px}.roleAccordionName{font-weight:600;font-size:15px;color:var(--ink-strong)}.roleAccordionBadge{font-size:12px;color:var(--muted);background:#94a3b826;padding:4px 10px;border-radius:20px}.roleAccordionActions{display:flex;align-items:center;gap:8px}.roleAccordionAdminLabel{font-size:12px;color:var(--muted);font-style:italic;margin-right:8px}.roleAccordionChevron{width:24px;height:24px;fill:var(--muted);transition:transform .2s ease}.roleAccordionItem.isExpanded .roleAccordionChevron{transform:rotate(180deg)}.roleAccordionBody{padding:0 20px 20px;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.rolePermissionsGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.rolePermissionCard{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#f8fafccc;border:1px solid rgba(148,163,184,.2);border-radius:12px;cursor:pointer;transition:all .15s ease}.rolePermissionCard:hover:not(.isDisabled){background:#f1f5f9;border-color:#94a3b859}.rolePermissionCard.isActive{background:#22c55e1a;border-color:#22c55e66}.rolePermissionCard.isActive:hover:not(.isDisabled){background:#22c55e26}.rolePermissionCard.isDisabled{cursor:default;opacity:.7}.rolePermissionCard.isSaving{cursor:wait;opacity:.6;animation:permissionPulse 1s ease-in-out infinite}@keyframes permissionPulse{0%,to{opacity:.6}50%{opacity:.8}}.rolePermissionCard input[type=checkbox]{width:18px;height:18px;accent-color:#22c55e;cursor:inherit}.rolePermissionLabel{font-size:13px;font-weight:500;color:var(--ink-strong)}.residentsRowActions{display:inline-flex;align-items:center;justify-content:center;gap:10px}.residentsRowAction{width:40px;height:36px;border-radius:14px;border:1px solid rgba(30,64,175,.35);background:#ffffffe6;color:#1d4ed8;cursor:pointer;display:grid;place-items:center;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease}.residentsRowAction:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.residentsRowAction svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.residentsRowAction:hover{transform:translateY(-2px);border-color:#2563eb99;background:#dbeafeb3;box-shadow:0 16px 28px #2563eb33}.residentsRowAction.isEdit{border-color:#2563eb80;color:#1d4ed8;background:#dbeafe99}.residentsRowAction.isEdit:hover{border-color:#2563ebd9;background:#bfdbfecc;box-shadow:0 16px 28px #2563eb33}.residentsRowAction.isDelete{border-color:#ef44448c;color:#b91c1c;background:#fecaca99}.residentsRowAction.isDelete:hover{border-color:#ef4444e6;background:#fee2e2e6;box-shadow:0 16px 28px #ef444438}.residentsEmpty{text-align:center;padding:26px;color:var(--ink-soft)}.residentsPagination{display:flex;align-items:center;justify-content:flex-end;gap:14px;padding:14px 16px;background:#f8fafcd9;border-top:1px solid rgba(148,163,184,.2)}.residentsPaginationMeta{display:inline-flex;align-items:center;gap:8px;color:var(--ink-soft);font-size:12px}.paginationLabel{letter-spacing:.08em;text-transform:uppercase;font-weight:700}.residentsPaginationSize{border:1px solid rgba(148,163,184,.4);background:#fffffff2;color:var(--ink-strong);border-radius:999px;padding:8px 12px;font-size:12px;font-weight:700;letter-spacing:.06em;display:inline-flex;align-items:center;gap:6px;cursor:pointer}.residentsPaginationSize svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.residentsPaginationRange{font-size:12px;color:var(--ink-soft);letter-spacing:.06em;text-transform:uppercase;font-weight:700}.residentsPaginationActions{display:inline-flex;align-items:center;gap:6px}.residentsPaginationButton{width:36px;height:36px;border-radius:14px;border:1px solid rgba(148,163,184,.45);background:#fffffff2;color:var(--ink-strong);cursor:pointer;display:grid;place-items:center;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease}.residentsPaginationButton svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.residentsPaginationButton:hover{transform:translateY(-2px);border-color:#3b82f68c;background:#dbeafebf;box-shadow:0 16px 26px #3b82f62e}.residentsPaginationButton:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.residentsModalBackdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:grid;place-items:center;padding:20px;z-index:60;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:28px}.residentsModal{width:min(100%,520px);background:#fff;border-radius:20px;border:1px solid rgba(148,163,184,.3);box-shadow:0 30px 70px #0f172a33;overflow:hidden;max-height:calc(100% - 40px);display:flex;flex-direction:column}.residentsModalScroll{overflow-y:auto;max-height:100%;scrollbar-gutter:stable;padding-right:6px;box-sizing:border-box}.toastStack{position:fixed;top:20px;right:20px;display:grid;gap:10px;z-index:120}.toast{min-width:220px;max-width:320px;padding:12px 14px;border-radius:14px;background:#fff;color:var(--ink-strong);border:1px solid rgba(148,163,184,.4);box-shadow:0 12px 26px #0f172a29;font-size:13px;display:flex;align-items:center;gap:10px}.toast:before{content:"";width:8px;height:8px;border-radius:999px;background:#94a3b8;flex-shrink:0}.toast.success{border-color:#22c55e66}.toast.success:before{background:#22c55e}.toast.error{border-color:#ef444466}.toast.error:before{background:#ef4444}.residentsModalScroll::-webkit-scrollbar{width:10px}.residentsModalScroll::-webkit-scrollbar-track{background:#94a3b826;border-radius:999px;margin:8px}.residentsModalScroll::-webkit-scrollbar-thumb{background:#64748b99;border-radius:999px;border:2px solid rgba(255,255,255,.8)}.residentsModalScroll{scrollbar-width:thin;scrollbar-color:rgba(100,116,139,.6) rgba(148,163,184,.15)}.residentsModal.isDanger{border-color:#ef444459}.residentsModalHeader{padding:18px 20px;border-bottom:1px solid rgba(148,163,184,.2)}.residentsModalHeader h3{margin:0;font-size:18px;color:var(--ink-strong)}.residentsModalHeader p{margin:6px 0 0;font-size:12px;color:var(--ink-soft)}.residentsModalBody{padding:18px 20px;display:grid;gap:12px}.residentsField{display:grid;gap:6px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}.residentsField input,.residentsField select{border:1px solid rgba(148,163,184,.45);border-radius:12px;padding:10px 12px;font-size:14px;color:var(--ink-strong);font-family:var(--font-body);background:#fff;outline:none}.residentsField input:focus,.residentsField select:focus{border-color:#3b82f699;box-shadow:0 0 0 2px #3b82f62e}.residentsFieldHint{font-size:10px;color:var(--muted);text-transform:none;letter-spacing:.02em;margin-top:-2px}.residentsCheckbox{display:inline-flex;align-items:center;gap:10px;font-size:12px;color:var(--ink-strong);text-transform:uppercase;letter-spacing:.08em}.residentsCheckbox input{width:16px;height:16px;accent-color:#2563eb}.residentsModalNotice{padding:10px 12px;border-radius:12px;font-size:12px;letter-spacing:.04em;text-transform:uppercase;font-weight:700}.residentsModalNotice.isError{border:1px solid rgba(248,113,113,.45);background:#f871711f;color:#b91c1c}.residentsModalActions{display:flex;justify-content:flex-end;gap:10px;padding:0 20px 20px}.residentsModalButton{border:none;border-radius:12px;padding:10px 16px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;cursor:pointer}.residentsModalButton:disabled{opacity:.65;cursor:not-allowed;box-shadow:none}.residentsModalButton.isGhost{background:#f1f5f9;color:#0f172a;border:1px solid rgba(148,163,184,.45)}.residentsModalButton.isPrimary{background:#2563eb;color:#fff;box-shadow:0 12px 24px #2563eb38}.residentsModalButton.isDanger{background:#ef4444;color:#fff;box-shadow:0 12px 24px #ef444438}.residentsModalText{margin:0;font-size:13px;color:var(--ink-soft)}@media (max-width: 900px){.adminHeader{align-items:flex-start}.adminHero,.cameraPanelBody{grid-template-columns:1fr}.heroStats{grid-template-columns:repeat(3,minmax(0,1fr))}.landingHeader{flex-wrap:wrap;justify-content:center;padding:12px 20px;gap:12px}.landingNav{order:3;width:100%;justify-content:center;margin-top:4px}.landingNavItem{padding:6px 12px;font-size:13px}.landingBrand:before{width:30px;height:30px}.landingLoginButton{padding:10px 20px;font-size:12px}.landingServicesGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.serviceCardFeatured{min-height:380px}.landingAboutGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.landingShowcase{grid-template-columns:1fr}.landingShowcaseContent{text-align:left}.heroStatCard{width:min(95%,360px)}.heroStatCount{font-size:36px}.landingHeroFull{min-height:500px}.landingHeroFull .heroOverlay{padding:60px 20px}.landingHeroFull .heroTitle{font-size:clamp(28px,5vw,42px)}.landingHeroFull .heroContent{padding:28px 30px}.aboutWaveTop{height:60px}}@media (max-width: 640px){.page{padding:18px 14px 28px}.loginCard{padding:28px 22px}.loginTitle{font-size:24px}.overlay{left:10px;top:10px}.adminHeader{flex-direction:column;align-items:stretch}.adminHeaderActions{justify-content:flex-start}.heroStats{grid-template-columns:repeat(2,minmax(0,1fr))}.adminGrid{grid-template-columns:1fr}.adminCard{min-height:240px}.landingServicesGrid{grid-template-columns:1fr;gap:20px;padding:0 10px}.landingServices{padding:70px 14px 60px;gap:24px}.landingServiceCard,.serviceCardFeatured{min-height:300px}.landingServicesHeader{padding:0 10px}.servicesCta{font-size:14px;padding:12px 32px}.aboutWaveTop{height:45px}.landingAbout{padding-top:50px}.landingAboutGrid{grid-template-columns:1fr}.showcaseFrame{width:min(100%,420px)}.landingFooterInner{flex-direction:column;gap:10px;text-align:center}.landingTitle{font-size:18px}.landingHeroFull{min-height:400px}.heroStatCard{padding:20px 22px}.heroStatCount{font-size:32px}.landingHeroFull .heroOverlay{padding:40px 16px}.landingHeroFull .heroTitle{font-size:clamp(24px,6vw,32px)}.landingHeroFull .heroSubtitle{font-size:15px}.landingHeroFull .heroContent{padding:24px;border-radius:16px}.heroPrimaryBtn{padding:14px 28px;font-size:14px}.cameraPanelHeader{flex-direction:column;align-items:flex-start}.cameraPreviewBody{padding:14px 16px 16px}}@media (max-width: 900px){.residentsActionBar{grid-template-columns:repeat(2,minmax(0,1fr))}.residentsTableWrap{overflow:auto}.residentsPagination{flex-wrap:wrap;justify-content:center}}@media (max-width: 640px){.residentsSection{padding:18px}.residentsActionBar{grid-template-columns:1fr}.residentsActionButton{justify-content:flex-start}.residentsPagination{gap:8px}}.analyticsGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;width:100%;margin-bottom:32px}.analyticsCard{background:var(--panel-strong);border:1px solid var(--panel-border);border-radius:16px;padding:20px 24px;display:flex;flex-direction:column;gap:12px}.analyticsCardHeader{display:flex;align-items:center;justify-content:space-between;gap:12px}.analyticsCardTitle{font-size:14px;font-weight:600;color:var(--ink-soft)}.analyticsCardBadge{padding:4px 10px;border-radius:8px;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:#8b5cf61f;color:#7c3aed}.analyticsCardBadge.success{background:#22c55e1f;color:#15803d}.analyticsCardBadge.warning{background:#f59e0b1f;color:#b45309}.analyticsCardValue{font-size:36px;font-weight:700;font-family:var(--font-display);color:var(--ink-strong);line-height:1}.analyticsCardFooter{font-size:12px;color:var(--muted)}.analyticsPlaceholder{width:100%;padding:60px 40px;background:var(--panel);border:1px dashed var(--panel-border);border-radius:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:16px}.analyticsPlaceholderIcon{width:64px;height:64px;color:#8b5cf6;opacity:.6}.analyticsPlaceholderIcon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.analyticsPlaceholderTitle{margin:0;font-size:20px;font-family:var(--font-display);font-weight:700;color:var(--ink-strong)}.analyticsPlaceholderText{margin:0;font-size:14px;color:var(--ink-soft);max-width:400px;line-height:1.6}.usersTabs{display:flex;gap:8px;margin-bottom:24px;padding:4px;background:#ffffff0a;border-radius:12px;width:fit-content}.usersTab{padding:10px 20px;font-size:14px;font-weight:500;color:var(--ink-soft);background:transparent;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease}.usersTab:hover{color:var(--ink-strong);background:#ffffff0f}.usersTab.active{color:var(--ink-strong);background:#ffffff1a;box-shadow:0 1px 3px #0000001a}.rolesPermissionsSection{padding:0}.rolesPermissionsDesc{margin:0 0 24px;font-size:14px;color:var(--ink-soft);line-height:1.6}.rolesPermissionsGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.rolePermissionCard{background:var(--panel);border:1px solid var(--panel-border);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:16px}.rolePermissionTitle{margin:0;font-size:16px;font-weight:600;font-family:var(--font-display);color:var(--ink-strong)}.rolePermissionModules{display:flex;flex-direction:column;gap:10px}.rolePermissionItem{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--ink-base);cursor:pointer;transition:color .15s ease}.rolePermissionItem:hover{color:var(--ink-strong)}.rolePermissionItem.isDisabled{opacity:.5;cursor:not-allowed}.rolePermissionItem input[type=checkbox]{width:16px;height:16px;accent-color:var(--action-accent);cursor:pointer}.rolePermissionItem.isDisabled input[type=checkbox]{cursor:not-allowed}.rolePermissionSave{margin-top:auto;padding:10px 16px;font-size:14px;font-weight:500;color:#fff;background:var(--action-accent);border:none;border-radius:8px;cursor:pointer;transition:all .2s ease}.rolePermissionSave:hover:not(:disabled){filter:brightness(1.1)}.rolePermissionSave:disabled{opacity:.6;cursor:not-allowed}.rolePermissionNote{margin-top:auto;font-size:12px;color:var(--muted);font-style:italic;text-align:center;padding:10px 0}.roleCreateModulesSection{display:flex;flex-direction:column;gap:12px}.roleCreateModulesLabel{font-size:14px;font-weight:500;color:var(--ink-base)}.roleCreateModulesGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}@media (prefers-reduced-motion: reduce){.page{animation:none}.loginCard,.loginStagger,.cardStagger{animation:none;transform:none;opacity:1}}
