@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Sora:wght@400;500;600;700;800&display=swap";:root{color:#0d1117;background:#f3f4f6;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--bg: #f3f4f6;--panel: #ffffff;--panel-border: #d7dce4;--line: #e6ebf1;--text: #0d1117;--muted: #687280;--muted-strong: #4f5866;--brand: #0d1117;--accent: #6e4bff;--accent-2: #2563eb;--accent-soft: #f0ecff;--accent-border: #c8bcff;--danger-soft: #fee2e2;--danger: #991b1b;--success-soft: #ecfdf5;--success-border: #a7f3d0;--success: #047857;--warning-soft: #fff7ed;--warning-border: #fed7aa;--warning: #9a3412;--radius: 8px;--shadow-subtle: 0 1px 2px rgba(15, 23, 42, .04);--space-panel: 18px}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--bg);color:var(--text);font-size:15px;line-height:1.45}button,input,select,textarea{font:inherit}button,a{transition:transform .15s ease,border-color .15s ease,background .15s ease}button:hover,a:hover{transform:translateY(-1px)}.loginShell{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--bg)}.landingShell{background:var(--bg);color:var(--text)}.landingNav{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px clamp(18px,5vw,72px);background:var(--panel);border-bottom:1px solid var(--panel-border)}.landingNavActions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;align-items:center;padding:5px;border:1px solid var(--line);border-radius:8px;background:#f8fafc}.landingNavLink{min-height:42px;display:inline-flex;align-items:center;border-radius:7px;color:var(--text);padding:0 12px;font-family:Sora,Inter,ui-sans-serif,system-ui,sans-serif;font-weight:760;text-decoration:none}.landingNavLink:hover{background:var(--panel)}.landingHero,.landingSection,.landingBand,.landingFinal,.topAuthPanel,.landingFooter,.landingVisualBand,.freeWifiSection{width:min(1180px,calc(100% - 36px));margin:0 auto}.landingHero{position:relative;min-height:620px;display:grid;grid-template-columns:minmax(320px,.95fr) minmax(340px,1.05fr);gap:42px;align-items:center;padding:56px 0 44px}.landingHero:before{content:"";position:absolute;inset:28px -5vw auto auto;width:min(560px,48vw);height:220px;background:linear-gradient(128deg,transparent 18%,rgba(110,75,255,.18) 19%,transparent 21%),linear-gradient(142deg,transparent 34%,rgba(37,99,235,.16) 35%,transparent 37%),linear-gradient(156deg,transparent 52%,rgba(110,75,255,.14) 53%,transparent 55%);opacity:.9;pointer-events:none}.landingHero h1{margin:12px 0 18px;max-width:760px;font-size:clamp(2.2rem,4.8vw,4.8rem);line-height:.98;letter-spacing:0}h1,h2,h3,.brand strong,.primaryButton,.secondaryButton,.dangerButton,.tableButton{font-family:Sora,Inter,ui-sans-serif,system-ui,sans-serif}.landingHero p,.landingBand p,.landingFinal p{max-width:700px;color:var(--muted);font-size:1.08rem}.landingActions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.landingVisualBand{display:grid;grid-template-columns:minmax(320px,.95fr) minmax(280px,.72fr);gap:28px;align-items:center;padding:32px 0}.landingVisualBand img,.useCaseIllustration{width:100%;display:block;border:1px solid var(--panel-border);border-radius:var(--radius);box-shadow:var(--shadow-subtle);background:var(--panel)}.landingVisualBand img{aspect-ratio:16 / 9;object-fit:cover}.landingVisualBand h2{margin:8px 0 12px;color:var(--text);font-size:clamp(1.7rem,3vw,2.7rem);line-height:1.06;letter-spacing:0}.landingVisualBand p{margin:0;color:var(--muted);font-size:1.02rem}.useCaseIllustration{aspect-ratio:21 / 9;object-fit:cover;margin:18px 0}.freeWifiSection{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(280px,.95fr) minmax(320px,.7fr);gap:24px;align-items:center;padding:clamp(22px,3vw,38px);background:linear-gradient(120deg,#ffffffd1,#ffffffad),url(/landing/wifi-qr-texture.png) center / cover;border:1px solid var(--panel-border);border-radius:var(--radius);box-shadow:var(--shadow-subtle)}.freeWifiSection:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 16% 18%,rgba(18,168,155,.18),transparent 28%),linear-gradient(90deg,#fff3,#0f172a0d);pointer-events:none}.freeWifiSection>*{position:relative;z-index:1}.freeWifiSection h2,.freeWifiSection p{margin:0}.freeWifiSection h2{margin-top:8px;color:var(--text);font-size:clamp(1.6rem,3vw,2.5rem);line-height:1.08;letter-spacing:0}.freeWifiSection p{margin-top:14px;max-width:680px;color:var(--muted);font-size:1rem}.wifiSteps{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}.wifiSteps span{min-height:40px;display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(110,75,255,.2);border-radius:999px;background:#ffffffbd;color:var(--muted-strong);padding:0 12px 0 7px;font-weight:760}.wifiSteps strong{width:26px;height:26px;display:grid;place-items:center;border-radius:999px;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;font:800 .84rem/1 Sora,Inter,sans-serif}.topAuthPanel{display:grid;grid-template-columns:minmax(300px,.86fr) minmax(360px,1.14fr);gap:28px;align-items:stretch;padding:24px;margin-top:22px;background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius);box-shadow:var(--shadow-subtle)}.authEntryPanel{overflow:hidden}.authIntro{display:grid;align-content:center;gap:14px;min-height:420px;padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(135deg,#f8fafceb,#e9fbf8c7),url(/landing/wifi-qr-texture.png) center / cover}.topAuthPanel h2{margin:0;font-size:clamp(1.65rem,3vw,2.55rem);line-height:1.06;letter-spacing:0}.authIntro p{margin:0;max-width:520px;color:var(--muted);font-size:1rem}.authHighlights{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.authHighlights span{min-height:34px;display:inline-flex;align-items:center;gap:7px;border:1px solid var(--accent-border);border-radius:999px;background:var(--accent-soft);color:#0f766e;padding:0 10px;font-size:.84rem;font-weight:780}.authJourney{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:2px}.authJourney article{min-width:0;display:grid;gap:5px;align-content:start;border:1px solid rgba(110,75,255,.18);border-radius:8px;background:#ffffffc7;padding:12px}.authJourney span{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;background:linear-gradient(135deg,var(--accent-soft),#e6fbff);color:var(--accent)}.authJourney strong{font-family:Sora,Inter,ui-sans-serif,system-ui,sans-serif;font-size:.86rem;line-height:1.2}.authJourney small{color:var(--muted);font-size:.75rem;line-height:1.35}.authCard{display:grid;align-content:start;gap:16px;min-width:0}.authModeSwitch{display:grid;grid-template-columns:1fr 1fr;gap:8px}.authModeSwitch button{min-height:38px;border:1px solid var(--line);border-radius:7px;background:var(--panel);color:var(--muted-strong);cursor:pointer;font-size:.88rem;font-weight:760;padding:0 12px}.authModeSwitch button.active{border-color:var(--accent-border);background:var(--accent-soft);color:var(--brand)}.topAuthForm{display:grid;grid-template-columns:repeat(2,minmax(160px,1fr));gap:12px}.topAuthForm .resolverNote,.topAuthForm .freeWifiInline,.topAuthForm .error,.topAuthForm button{grid-column:1 / -1}.compactAuthForm{grid-template-columns:1fr;align-items:stretch}.compactAuthForm button,.compactAuthForm .error{grid-column:1 / -1}.freeWifiPanel{display:grid;grid-template-columns:minmax(132px,.42fr) minmax(220px,1fr);gap:16px;align-items:center;padding:18px;border:1px solid var(--line);border-radius:var(--radius);background:#ffffffdb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.wifiQrPreview{min-height:196px;display:grid;place-items:center;gap:4px;align-content:center;border:1px solid var(--accent-border);border-radius:8px;color:var(--text);background:linear-gradient(135deg,#fffffff0,#f0ecffd6),repeating-linear-gradient(45deg,rgba(110,75,255,.12) 0 9px,transparent 9px 18px)}.wifiQrPreview span{color:var(--accent);font:800 .9rem/1 Sora,Inter,sans-serif;text-transform:uppercase}.freeWifiCopy{min-width:0;display:grid;gap:11px}.freeWifiCopy p{margin:0}.freeWifiCopy .resolverNote{font-size:.88rem}.freeWifiInline{display:grid;grid-template-columns:repeat(2,minmax(140px,1fr));gap:10px;border:1px solid var(--line);border-radius:var(--radius);background:#f8fafc;padding:12px}.freeWifiResult{display:grid;justify-items:center;gap:10px;border-top:1px solid var(--line);padding-top:14px;text-align:center}.freeWifiResult img{width:min(240px,100%);aspect-ratio:1;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.heroVisual{position:relative;min-height:430px;overflow:hidden;border:1px solid var(--panel-border);border-radius:8px;box-shadow:0 24px 70px #0f172a1f;background:#0d1117}.heroVisual img{width:100%;height:100%;min-height:430px;display:block;object-fit:cover}.heroVisual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0f172a0a,#0f172a9e);pointer-events:none}.heroConsole{position:absolute;left:18px;right:18px;bottom:18px;z-index:1;display:grid;gap:10px}.heroConsole div{display:flex;justify-content:space-between;gap:18px;align-items:center;min-height:76px;padding:16px;border:1px solid var(--line);border-radius:8px;background:#ffffffeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.heroConsole span{color:var(--muted);font-weight:760}.heroConsole strong{font-size:1.8rem}.landingSection,.landingBand,.landingFinal{padding:54px 0}.landingSection h2,.landingBand h2,.landingFinal h2{margin:0 0 24px;max-width:820px;font-size:clamp(1.7rem,3vw,2.8rem);line-height:1.08}.landingGrid,.useCaseGrid,.faqGrid{display:grid;grid-template-columns:repeat(4,minmax(190px,1fr));gap:14px}.landingGrid article,.useCaseGrid article,.faqGrid article,.planCard,.stepsGrid article{background:var(--panel);border:1px solid var(--panel-border);border-radius:8px;padding:18px;box-shadow:var(--shadow-subtle)}.landingGrid h3,.useCaseGrid h3,.faqGrid h3,.planCard h3{margin:0 0 8px;font-size:1.05rem}.landingGrid p,.useCaseGrid p,.faqGrid p,.planCard p,.stepsGrid p{margin:0;color:var(--muted)}.landingBand{border-top:1px solid var(--panel-border);border-bottom:1px solid var(--panel-border)}.stepsGrid,.securityGrid,.plansGrid{display:grid;gap:14px}.stepsGrid{grid-template-columns:repeat(4,1fr)}.stepsGrid strong{display:grid;place-items:center;width:34px;height:34px;margin-bottom:14px;border-radius:999px;background:var(--accent-soft);color:var(--accent)}.securityGrid{grid-template-columns:repeat(4,1fr)}.securityGrid span{display:flex;gap:8px;align-items:center;min-height:44px;padding:0 12px;border:1px solid var(--accent-border);border-radius:8px;background:var(--accent-soft);font-weight:760}.plansGrid{grid-template-columns:repeat(3,1fr)}.planCard{display:grid;grid-template-rows:auto auto 1fr auto;align-content:stretch;gap:14px}.planCardHead{display:grid;gap:14px;align-content:start}.planCardHead p{min-height:44px}.planCard>strong{font-size:2rem}.planCardHead>strong{font-size:2rem}.planCard small{color:var(--muted);font-size:.9rem}.planIncludes{width:fit-content;min-height:30px;display:inline-flex;align-items:center;border:1px solid var(--accent-border);border-radius:999px;background:var(--accent-soft);color:var(--accent);padding:0 10px;font-weight:820;font-size:.82rem}.planCard ul{display:grid;gap:8px;margin:0;padding-left:18px;color:var(--muted-strong)}.planCardFoot{align-self:end;display:grid;gap:12px}.planCardFoot .primaryButton{margin-top:auto}.certificateSection{gap:28px}.certificateIntro{max-width:880px}.certificateFlow,.certificatePricing{display:grid;gap:22px}.certificateFlow{grid-template-columns:repeat(4,minmax(0,1fr))}.certificateFlow article,.certificatePlan,.embedPreview{border:1px solid var(--panel-border);border-radius:8px;background:var(--panel);padding:18px;box-shadow:var(--shadow-subtle)}.certificateFlow article{display:grid;align-content:start;gap:10px}.certificateFlow svg{color:var(--accent)}.certificateFlow h3,.certificatePlan h3{margin:0}.certificateFlow p,.certificatePlan p{margin:0;color:var(--muted)}.certificatePricing{grid-auto-flow:column;grid-auto-columns:minmax(220px,1fr);grid-template-columns:none;align-items:stretch;gap:14px;overflow-x:auto;padding-bottom:4px}.certificatePlan{display:grid;align-content:start;grid-template-rows:auto auto auto auto 1fr auto;gap:9px;min-width:220px;padding:14px}.certificatePlan>span{width:fit-content;border:1px solid var(--accent-border);border-radius:999px;background:var(--accent-soft);color:var(--accent);padding:5px 10px;font-size:.78rem;font-weight:840;text-transform:uppercase}.certificatePlan strong{font-size:clamp(1.45rem,2vw,2.1rem);line-height:1;overflow-wrap:anywhere}.certificatePlan p,.certificatePlan li{font-size:.86rem;line-height:1.35}.certificatePlan ul{display:grid;gap:4px;margin:0;padding-left:18px;color:var(--muted-strong)}.embedPreview pre{margin:0;overflow-x:auto;border-radius:8px;background:#0d1117;color:#f8fafc;padding:16px}.certificatesShell{display:grid;gap:18px}.certificateBuilder{display:grid;gap:14px}.codeTextarea{min-height:190px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.88rem;line-height:1.45}.certificateTemplateEditor,.certificateDataImport{display:grid;gap:12px;border:1px solid var(--line);border-radius:8px;padding:16px;background:#f8fafc}.certificateEditorHeader{display:flex;justify-content:space-between;align-items:start;gap:14px}.certificateEditorHeader div{display:grid;gap:4px}.certificateEditorHeader strong{color:var(--text);font-size:1rem}.certificateEditorHeader small,.fileMeta{display:block}.fileButton{display:inline-flex;min-height:42px;width:fit-content;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:7px;background:var(--panel);color:var(--text);padding:0 14px;cursor:pointer;white-space:nowrap}.fileButton input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}.certificateEditorModes{justify-self:start}.certificateEditorModes button{display:inline-flex;gap:7px;align-items:center}.certificateHtmlPreview{width:100%;min-height:390px;border:1px solid var(--line);border-radius:8px;background:#fff}.landingFinal{display:flex;justify-content:space-between;gap:24px;align-items:center}.landingFinal p{margin:0}.landingFooter{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:24px 28px;margin-bottom:24px;border:1px solid rgba(110,75,255,.2);border-radius:var(--radius);background:#0d1117;color:#d7dce4;font-size:.9rem}.landingFooter nav{display:flex;flex-wrap:wrap;gap:14px}.landingFooter a{color:#fff;font-weight:760;text-decoration:none}.adminGrid{display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));gap:18px}.adminMetrics,.adminWide{grid-column:1 / -1}.clientUsageMetrics{grid-template-columns:repeat(4,minmax(150px,1fr));margin:16px 0}.adminTabs{display:flex;flex-wrap:wrap;gap:8px}.adminTabs button{min-height:38px;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:7px;background:var(--panel);color:var(--muted-strong);cursor:pointer;font-size:.9rem;font-weight:760;padding:0 12px}.adminTabs button.active{border-color:var(--accent-border);background:var(--accent-soft);color:var(--brand)}.adminSectionHeader{display:flex;justify-content:space-between;gap:14px;align-items:center}.adminDetailPanel{align-self:start}.adminEditScreen{margin-top:14px;max-width:780px}.pricingEditForm{margin-top:14px;margin-bottom:14px;border-bottom:1px solid var(--line);padding-bottom:16px}.featureToggles{display:flex;flex-wrap:wrap;gap:12px}.loginPanel{width:min(420px,100%);background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius);padding:32px;box-shadow:0 24px 80px #0f172a1f}.loginPanel h1,.topbar h1{margin:10px 0 0;letter-spacing:0;color:var(--text);line-height:1.05}.topbar h1{font-size:clamp(1.9rem,2.4vw,2.65rem);font-weight:820}.brandMark{width:58px;height:58px;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),#8b6dff 48%,var(--accent-2));color:#fff;border-radius:8px;font-family:Sora,Inter,ui-sans-serif,system-ui,sans-serif;font-size:1.42rem;font-weight:900;line-height:1;transform:skew(-8deg);box-shadow:inset 0 1px #ffffff47}.brandMark.small{width:38px;height:38px;font-size:1.02rem}.loginForm,.creator,.editorColumn{display:grid;gap:14px}label{display:grid;gap:7px;color:var(--muted-strong);font-size:.84rem;font-weight:700}input,select,textarea{width:100%;border:1px solid #cbd5e1;border-radius:7px;padding:11px 12px;color:var(--text);background:var(--panel);font-size:.94rem}textarea{min-height:96px;resize:vertical}.primaryButton,.secondaryButton,.dangerButton{border:0;border-radius:7px;min-height:44px;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;font-size:.92rem;font-weight:760;text-decoration:none}.primaryButton{background:linear-gradient(135deg,var(--accent),#8367ff 48%,var(--accent-2));color:#fff;box-shadow:0 12px 30px #6e4bff38}.primaryButton.compact{min-height:40px}.secondaryButton{background:var(--panel);border:1px solid #cbd5e1;color:var(--text)}.dangerButton{background:var(--danger-soft);color:var(--danger)}.error{margin:0;color:#b91c1c;font-weight:700}.error.inline{padding:12px 18px;background:#fee2e2;border-radius:8px}.appShell{min-height:100vh;display:grid;grid-template-columns:360px 1fr;max-width:100vw;overflow-x:clip}.appShell.platform{grid-template-columns:300px 1fr}.sidebar{background:var(--panel);border-right:1px solid var(--panel-border);padding:22px;min-width:0;overflow-y:auto}.sidebarHeader,.brand,.topbar,.statStrip,.sectionTitle,.actionRow,.metric,.publicUrl,.detailHeader,.switch{display:flex;align-items:center}.sidebarHeader,.topbar,.detailHeader{justify-content:space-between;gap:16px}.sidebarHeader{min-width:0}.sidebarHeader .brand{flex:1;min-width:0;overflow:hidden}.sidebarHeader .iconButton{flex:0 0 40px}.sidebarHeader .brandText small{max-width:100%;overflow:hidden;text-overflow:ellipsis}.topbar{align-items:flex-start}.brand{gap:10px}.brandText{display:grid;gap:1px;min-width:0}.brandText strong{color:var(--text);font-size:1.06rem;letter-spacing:0;line-height:1.05}.brandText small{color:var(--muted);font-size:.58rem;font-weight:800;letter-spacing:.16em;line-height:1.1;text-transform:uppercase;white-space:nowrap}.landingFooter .brandText strong,.landingFooter .brandText small{color:#fff}.iconButton{width:40px;height:40px;border-radius:7px;border:1px solid #cbd5e1;background:var(--panel);display:grid;place-items:center;cursor:pointer}.creator{margin-top:28px}.compactCreator{border-top:1px solid var(--line);padding-top:20px}.workspaceQrCreator .creator{margin-top:0}.workspaceQrCreator .compactCreator{border-top:0;padding-top:0}.platformNav{display:grid;align-content:start;gap:20px}.navList{display:grid;gap:7px}.navList button{min-height:42px;display:flex;align-items:center;gap:10px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--muted-strong);cursor:pointer;font-size:.94rem;font-weight:760;padding:0 12px;text-align:left}.navList button.active{background:var(--accent-soft);border-color:var(--accent-border);color:var(--brand)}.sectionTitle{gap:8px;color:var(--brand);font-size:.96rem;font-weight:820}.segmented{display:grid;grid-template-columns:1fr 1fr;border:1px solid #cbd5e1;border-radius:8px;overflow:hidden}.segmented button{border:0;min-height:40px;background:var(--panel);cursor:pointer;font-weight:760}.segmented button.active{background:var(--accent);color:#062925}.resolverNote{min-height:40px;display:flex;align-items:center;gap:8px;border:1px solid var(--accent-border);border-radius:var(--radius);background:var(--accent-soft);color:#0f766e;font-size:.86rem;font-weight:760;padding:0 12px}.colorGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}input[type=color]{padding:3px;height:42px}.workspace{min-width:0;padding:28px;overflow:hidden}.topbar{margin-bottom:22px}.eyebrow{margin:0;color:var(--accent);font-size:.76rem;font-weight:780;letter-spacing:.14em;text-transform:uppercase}.statStrip,.metricGrid{gap:12px}.statStrip{flex-wrap:wrap;justify-content:flex-end}.metric{min-width:132px;min-height:58px;gap:9px;padding:12px 14px;background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius);box-shadow:var(--shadow-subtle)}.clickableMetric{cursor:pointer;text-align:left}.clickableMetric:hover{border-color:var(--accent);background:var(--accent-soft)}.metric span{color:var(--muted);font-weight:740;font-size:.82rem}.metric strong{margin-left:auto;color:var(--text);font-size:1.35rem;line-height:1}.metric strong small{margin-left:4px;color:var(--muted);font-size:.78rem}.metricsShell{display:grid;grid-template-columns:minmax(360px,1.15fr) minmax(320px,.85fr);gap:18px}.dashboardHero{grid-column:1 / -1;display:grid;grid-template-columns:minmax(280px,1fr) minmax(360px,.95fr);gap:24px;align-items:center;background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow-subtle)}.dashboardHero h2{margin:8px 0;color:var(--text);font-size:clamp(1.45rem,2.4vw,2.4rem);line-height:1.05;letter-spacing:0}.dashboardHero p{margin:0;max-width:620px;color:var(--muted)}.businessHero{border-left:4px solid var(--accent)}.onboardingPanel{grid-column:1 / -1;display:grid;grid-template-columns:minmax(260px,.72fr) minmax(420px,1.28fr);gap:18px;align-items:center}.onboardingPanel h2,.onboardingPanel p{margin:0}.onboardingPanel h2{margin-top:6px;color:var(--text);font-size:clamp(1.25rem,1.8vw,1.8rem);line-height:1.12}.onboardingPanel p{margin-top:8px;color:var(--muted)}.onboardingSteps{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:8px}.onboardingSteps button{min-height:88px;display:grid;align-content:space-between;gap:8px;border:1px solid var(--line);border-radius:var(--radius);background:#f8fafc;color:var(--text);cursor:pointer;padding:12px;text-align:left}.onboardingSteps button.done{border-color:var(--accent-border);background:var(--accent-soft)}.onboardingSteps span{display:flex;gap:7px;align-items:flex-start;font-size:.86rem;font-weight:800}.onboardingSteps small{color:var(--muted);font-size:.76rem;font-weight:760}.technicalHero{border-left:4px solid var(--brand)}.heroMetricGroup{display:grid;grid-template-columns:repeat(3,minmax(100px,1fr));gap:10px}.heroMetric{min-height:116px;display:grid;align-content:space-between;gap:8px;border:1px solid var(--line);border-radius:var(--radius);background:#f8fafc;color:var(--text);padding:14px;text-align:left;min-width:0}button.heroMetric{cursor:pointer;font:inherit}.heroMetric span,.insightTile span,.rankBar span{color:var(--muted);font-size:.78rem;font-weight:780;text-transform:uppercase}.heroMetric strong{color:var(--text);font-size:clamp(1.8rem,3vw,2.65rem);line-height:1;overflow-wrap:anywhere}.heroMetric small,.insightTile small{color:var(--muted);font-size:.82rem;font-weight:680}.heroMetric.dangerTone{border-color:#fecaca;background:#fff7f7}.activeAlerts{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:14px}.activeAlerts .muted{grid-column:1 / -1;margin:0}.alertItem{min-width:0;display:grid;grid-template-columns:auto 1fr;gap:4px 10px;align-items:center;border:1px solid #fecaca;border-radius:var(--radius);background:#fff7f7;padding:12px;overflow-wrap:anywhere}.alertItem strong{grid-row:span 2;color:var(--danger);font-size:1.6rem;line-height:1}.alertItem span{color:var(--text);font-weight:820}.alertItem small{color:var(--muted);font-size:.82rem}.metricHero{grid-column:1 / -1;display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:12px}.metricHero .metric{min-height:82px;align-items:flex-start;flex-direction:column}.metricHero .metric strong{margin-left:0;font-size:1.8rem}.trendPanel{min-height:310px}.trendBars{height:230px;display:grid;grid-template-columns:repeat(10,minmax(34px,1fr));gap:10px;align-items:end;margin-top:18px}.trendColumn{min-width:0;height:100%;display:grid;grid-template-rows:1fr auto auto;gap:6px;align-items:end;justify-items:center;color:var(--muted);font-size:.78rem;font-weight:720}.trendColumn i{width:100%;max-width:42px;display:block;align-self:end;background:var(--accent);border-radius:7px 7px 2px 2px}.trendColumn strong{color:var(--text)}.insightPanel,.rankPanel,.technicalPanel{align-self:stretch}.technicalPanel{grid-column:1 / -1}.endpointGrid,.businessSignalGrid,.opsSignalGrid{display:grid;gap:10px;margin-top:14px}.endpointGrid,.businessSignalGrid{grid-template-columns:repeat(2,minmax(140px,1fr))}.opsSignalGrid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.insightTile{min-width:0;min-height:112px;display:grid;align-content:space-between;gap:8px;border:1px solid var(--line);border-radius:var(--radius);background:#fbfdff;padding:14px;overflow-wrap:anywhere}.insightTile strong{color:var(--text);font-size:1.85rem;line-height:1}.rankBars{display:grid;gap:12px;margin-top:14px}.rankBar{display:grid;grid-template-columns:minmax(120px,1fr) minmax(120px,1.4fr) 44px;gap:12px;align-items:center;min-height:44px}.rankBar div{min-width:0;display:grid;gap:2px}.rankBar strong{color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rankBar i{height:10px;background:#e2e8f0;border-radius:999px;overflow:hidden}.rankBar b{display:block;height:100%;background:var(--accent);border-radius:inherit}.rankBar em{color:var(--text);font-style:normal;font-weight:820;text-align:right}.scanDashboard{display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));gap:18px;align-items:start}.dateFilterPanel,.scanMetrics,.scanHistoryTable{grid-column:1 / -1}.dateFilterPanel{display:flex;align-items:end;justify-content:space-between;gap:14px;flex-wrap:wrap}.dateFilterControls{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.dateFilterControls label{min-width:160px}.dateFilterCount{color:var(--muted);font-size:.88rem;font-weight:740}.scanMetrics{grid-template-columns:repeat(4,minmax(150px,1fr))}.scanTrendPanel{min-height:310px}.scanControlGrid{display:grid;gap:0;margin-top:12px}.scanAlertList{margin-top:18px;padding-top:16px;border-top:1px solid var(--line);display:grid;gap:8px;color:var(--muted);font-size:.9rem;font-weight:720}.scanAlertList strong{color:var(--text)}.settingsGrid{display:grid;grid-template-columns:1fr;gap:18px}.campaignsGrid{display:grid;gap:18px;align-items:start}.campaignHeaderPanel{display:flex;justify-content:space-between;gap:18px;align-items:center}.campaignHeaderPanel p{margin:6px 0 0}.campaignCreatePanel{max-width:720px}.campaignList{display:grid;gap:14px}.campaignCard{display:grid;gap:14px;background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow-subtle)}.campaignCard header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.campaignHeaderActions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.campaignCard h3,.campaignCard p{margin:0}.campaignCard p{color:var(--muted);margin-top:4px;font-size:.95rem}.campaignCard h3{color:var(--text);font-size:1.2rem;line-height:1.18}.campaignCard header span{border:1px solid var(--accent-border);border-radius:999px;background:var(--accent-soft);color:#0f766e;padding:4px 9px;font-size:.76rem;font-weight:760}.campaignMetrics{display:grid;grid-template-columns:1fr 1fr;gap:12px}.campaignEditForm{border-bottom:1px solid var(--line);padding-bottom:16px}.campaignQrCreator{border-top:1px solid var(--line);padding-top:2px}.campaignQrCreator .creator{margin-top:0}.campaignQrList{display:grid;gap:8px}.campaignQrList button{min-height:42px;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);cursor:pointer;padding:0 12px;text-align:left;color:var(--text);font-weight:760}.settingsHero{display:grid;grid-template-columns:minmax(260px,1fr) minmax(360px,.9fr);gap:18px;align-items:center;background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-subtle)}.settingsHero h2{margin:6px 0 0;max-width:680px;color:var(--text);font-size:1.35rem;line-height:1.2;letter-spacing:0;font-weight:820}.settingsStats{display:grid;grid-template-columns:repeat(2,minmax(140px,1fr));gap:10px}.settingsCards{display:grid;grid-template-columns:repeat(2,minmax(300px,1fr));gap:18px}.settingsCard{display:grid;gap:16px;align-content:start;background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow-subtle)}.settingsCardHeader{display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:start}.settingsCardHeader svg{margin-top:2px;color:#0f766e}.settingsCardHeader h3{margin:0;font-size:1.05rem;letter-spacing:0;line-height:1.2;font-weight:820}.settingsCardHeader p{margin:4px 0 0;color:var(--muted);font-size:.9rem;line-height:1.35}.friendlyForm{display:grid;gap:12px}.formGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.scopePicker{display:grid;grid-template-columns:.75fr 1.25fr;gap:10px}.miniStatus{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:var(--radius);padding:8px 10px;color:var(--muted);font-weight:760}.miniStatus strong{color:var(--text)}.simpleRows{display:grid;gap:8px}.simpleRow{display:grid;gap:2px;border-top:1px solid var(--line);padding-top:8px}.simpleRow strong{color:var(--text)}.simpleRow span{color:var(--muted);font-size:.86rem;overflow-wrap:anywhere}.simplePanel{align-self:start}.simpleList{display:grid;gap:8px;margin-top:12px}.muted{color:var(--muted);font-weight:680}.contentGrid{display:grid;grid-template-columns:minmax(280px,360px) 1fr;gap:20px;min-height:calc(100vh - 128px)}.qrWorkspace{display:grid;gap:18px}.selectedTableRow td{background:var(--accent-soft)}.tableButton{min-height:34px;border:1px solid #cbd5e1;border-radius:7px;background:var(--panel);color:var(--brand);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:.86rem;font-weight:760;padding:0 10px;white-space:nowrap}.tableButton:hover{border-color:var(--accent)}.backButton{width:fit-content;min-height:38px;border:1px solid #cbd5e1;border-radius:7px;background:var(--panel);color:var(--brand);cursor:pointer;font-size:.9rem;font-weight:760;padding:0 14px}.backButton:hover{border-color:var(--accent);background:var(--accent-soft)}.panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius);padding:var(--space-panel);box-shadow:var(--shadow-subtle)}.opsGrid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.opsWide{grid-column:1 / -1}.dataMap{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px;margin-top:14px}.metricRows,.recordForm{display:grid;gap:12px;margin-top:14px}.dataLine{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid var(--line);color:var(--muted);font-size:.92rem}.dataLine strong{color:var(--text);font-weight:820}.recordsLayout{display:grid;grid-template-columns:minmax(280px,360px) 1fr;gap:18px;align-items:start}.recordsTable.full{min-height:calc(100vh - 150px)}.tableWrap{width:100%;overflow:auto;margin-top:14px;border:1px solid var(--line);border-radius:var(--radius)}table{width:100%;border-collapse:collapse;min-width:680px}th,td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{background:#f8fafc;color:var(--muted-strong);font-size:.74rem;letter-spacing:.04em;text-transform:uppercase;font-weight:800}td{color:var(--text);font-size:.88rem;max-width:300px;overflow-wrap:anywhere}td small{color:var(--muted);font-size:.78rem}tr:last-child td{border-bottom:0}.compactEmpty{min-height:170px}.listPane{overflow-y:auto;display:grid;align-content:start;gap:10px}.qrRow{min-height:76px;border:1px solid var(--panel-border);background:var(--panel);border-radius:var(--radius);padding:14px;display:grid;grid-template-columns:12px 1fr auto;gap:12px;align-items:center;text-align:left;cursor:pointer}.qrRow.selected{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.qrRow small{display:block;color:var(--muted);margin-top:4px}.qrRow em{font-style:normal;font-weight:820}.qrSwatch{width:12px;height:44px;border-radius:999px}.emptyState{min-height:320px;display:grid;place-items:center;align-content:center;gap:10px;background:var(--panel);border:1px dashed #cbd5e1;border-radius:var(--radius);color:var(--muted);text-align:center}.emptyState h2,.emptyState p{margin:0}.detailPane{display:grid;grid-template-columns:minmax(260px,340px) 1fr;gap:22px;align-content:start}.qrActionsPanel{grid-column:1 / -1;background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow-subtle)}.qrActionCards{display:grid;grid-template-columns:repeat(3,minmax(260px,1fr));gap:14px;margin-top:14px}.actionTabs{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.actionTabs button{min-height:38px;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:7px;background:var(--panel);color:var(--muted-strong);cursor:pointer;font-size:.9rem;font-weight:760;padding:0 12px}.actionTabs button.active{border-color:var(--accent-border);background:var(--accent-soft);color:var(--brand)}.actionListScreen,.actionEditScreen{margin-top:14px}.actionListHeader{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.tableActions{display:flex;flex-wrap:wrap;gap:8px}.dangerText{color:var(--danger)}.previewColumn,.editorColumn{background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow-subtle)}.qrPreview{aspect-ratio:1;width:100%;display:grid;place-items:center;position:relative;border:3px solid;border-radius:var(--radius);overflow:hidden;background:#fff}.qrPreview img{width:92%;height:92%;object-fit:contain}.qrPreview span{display:none}.qrCaption{margin-top:10px;text-align:center;font-size:.86rem;font-weight:760}.actionRow{gap:10px;margin-top:14px}.actionRow.left{justify-content:flex-start}.publicUrl{margin-top:14px;gap:8px;color:var(--muted);overflow-wrap:anywhere;font-size:.88rem}.urlStack{display:grid;gap:8px;margin-top:14px}.urlLine{display:flex;gap:8px;align-items:flex-start;color:var(--muted);overflow-wrap:anywhere;font-size:.88rem}.urlLine b{display:block;margin-bottom:2px;color:var(--text);font-size:.76rem;letter-spacing:.04em;text-transform:uppercase}.freeWifiReady{grid-template-columns:minmax(280px,430px) 1fr}.printCard{text-align:center;background:radial-gradient(circle at 18% 18%,rgba(110,75,255,.12),transparent 28%),linear-gradient(180deg,#fff,#fbfbff)}.printCard h2,.wifiReadyInfo h2{margin:14px 0 6px;font-size:1.8rem;line-height:1.05}.printCard p{margin:0 auto;max-width:320px;color:var(--muted);font-weight:650}.printCard .actionRow{justify-content:center;flex-wrap:wrap}.postConnectCard{display:grid;gap:10px;margin-top:18px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:14px;text-align:left}.postConnectCard span{display:block;color:var(--muted);font-size:.78rem;font-weight:820;letter-spacing:.08em;text-transform:uppercase}.postConnectCard strong{display:block;margin-top:4px}.postConnectCard img{width:min(190px,100%);justify-self:center;border:1px solid var(--line);border-radius:8px}.postConnectCard a:not(.postConnectButton){color:var(--brand);font-size:.86rem;font-weight:760;overflow-wrap:anywhere;text-align:center}.postConnectButton{min-height:42px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:var(--accent);color:#fff;font-weight:840;text-align:center;text-decoration:none}.postConnectCard small{color:var(--muted);overflow-wrap:anywhere;text-align:center}.wifiReadyInfo{display:grid;align-content:start;gap:16px}.statusPill{display:inline-flex;min-height:34px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:999px;padding:0 12px;color:var(--muted-strong);font-size:.84rem;font-weight:820;white-space:nowrap}.statusPill.success,.statusPill.ok{border-color:var(--success-border);background:var(--success-soft);color:var(--success)}.statusPill.danger{border-color:#fecaca;background:#fef2f2;color:#991b1b}.usageSteps{display:grid;gap:10px}.usageSteps div{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:center;border:1px solid var(--line);border-radius:8px;background:#fff;padding:12px}.usageSteps strong{display:grid;width:34px;height:34px;place-items:center;border-radius:50%;background:var(--accent-soft);color:var(--brand)}.usageSteps span{color:var(--muted-strong);font-weight:720;line-height:1.35}.warningNote{border-color:var(--warning-border);background:var(--warning-soft);color:var(--warning)}.wifiReadyGrid{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:12px}.wifiReadyGrid div,.manualRedirect{border:1px solid var(--line);border-radius:8px;padding:14px;background:#fff}.wifiReadyGrid span,.manualRedirect span{display:block;color:var(--muted);font-size:.82rem;font-weight:820;letter-spacing:.08em;text-transform:uppercase}.wifiReadyGrid strong{display:block;margin-top:6px;overflow-wrap:anywhere}.manualRedirect{display:grid;gap:6px}.manualRedirect a{color:var(--brand);font-weight:780;overflow-wrap:anywhere}.manualRedirect small{color:var(--muted);line-height:1.45}.localWarning{margin-top:12px;border:1px solid var(--warning-border);border-radius:var(--radius);background:var(--warning-soft);color:var(--warning);padding:10px 12px;font-size:.84rem;font-weight:760}.titleInput{border:0;padding:0;color:var(--text);font-size:clamp(1.35rem,1.8vw,1.9rem);font-weight:840;line-height:1.15}.switch{gap:8px;white-space:nowrap}.switch input{width:auto}.analytics{display:grid;gap:14px;padding-top:10px}.metricGrid{display:flex;flex-wrap:wrap}.bars{display:grid;gap:8px}.barLine{display:grid;grid-template-columns:52px 1fr 28px;gap:10px;align-items:center;color:var(--muted);font-size:.86rem;font-weight:720}.barLine div{height:10px;background:#e2e8f0;border-radius:999px;overflow:hidden}.barLine i{display:block;height:100%;background:var(--accent)}.scanList{display:grid;gap:8px}.scanList div{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:8px;color:var(--muted);font-size:.88rem}@media(max-width:1080px){.appShell,.appShell.platform,.contentGrid,.detailPane,.qrActionCards,.opsGrid,.metricsShell,.dashboardHero,.onboardingPanel,.settingsHero,.settingsCards,.campaignsGrid,.recordsLayout,.landingHero,.landingVisualBand,.topAuthPanel,.freeWifiSection,.adminGrid{grid-template-columns:1fr}.landingFinal,.landingFooter{align-items:flex-start;flex-direction:column}.landingGrid,.useCaseGrid,.faqGrid,.stepsGrid,.securityGrid,.certificateFlow,.plansGrid,.scanDashboard{grid-template-columns:repeat(2,minmax(180px,1fr))}.heroMetricGroup{grid-template-columns:repeat(3,minmax(120px,1fr))}.onboardingSteps{grid-template-columns:repeat(3,minmax(140px,1fr))}.metricHero{grid-template-columns:repeat(2,minmax(150px,1fr))}.sidebar{border-right:0;border-bottom:1px solid var(--panel-border)}}@media(max-width:680px){.landingNav{display:grid;grid-template-columns:1fr;gap:12px;min-height:auto;padding:14px 16px}.landingNav .brand{width:100%}.landingNav .brand strong{white-space:nowrap}.landingNav .brandMark.small{width:34px;height:34px}.landingNavActions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:6px}.landingNavActions .landingNavLink,.landingNavActions .primaryButton,.landingNavActions .secondaryButton{width:auto;min-height:40px;padding:0 10px;font-size:.84rem;white-space:nowrap}.landingNavActions .landingNavLink{justify-content:center;background:var(--panel)}.workspace,.sidebar{padding:18px}.topbar,.detailHeader,.certificateEditorHeader,.campaignHeaderPanel{align-items:flex-start;flex-direction:column}.fileButton{width:100%}.statStrip,.metricGrid{width:100%;flex-direction:column}.metric,.secondaryButton,.dangerButton,.primaryButton{width:100%}.dateFilterPanel,.dateFilterControls{align-items:stretch;flex-direction:column;width:100%}.colorGrid,.dataMap,.settingsStats,.formGrid,.scopePicker,.wifiReadyGrid,.campaignMetrics,.authJourney,.freeWifiPanel,.freeWifiInline,.topAuthForm,.compactAuthForm{grid-template-columns:1fr}.compactAuthForm button,.compactAuthForm .error{grid-column:1 / -1}.metricHero,.trendBars,.heroMetricGroup,.onboardingSteps,.endpointGrid,.businessSignalGrid,.activeAlerts,.landingGrid,.useCaseGrid,.faqGrid,.stepsGrid,.securityGrid,.certificateFlow,.plansGrid,.scanDashboard,.scanMetrics{grid-template-columns:1fr}.trendBars{height:auto}.trendColumn{grid-template-columns:64px 1fr 32px;grid-template-rows:auto;height:28px}.trendColumn i{max-width:none;height:10px!important;width:100%!important}.heroVisual,.heroVisual img{min-height:360px}.heroConsole{left:12px;right:12px;bottom:12px}.heroConsole div{min-height:58px;padding:12px}.heroConsole strong{font-size:1.25rem}.rankBar{grid-template-columns:1fr 42px}.rankBar i{grid-column:1 / -1;grid-row:2}}
