.admin-brand .center-logo-dark{display:none;filter:invert(1) hue-rotate(180deg)}
html.dark .admin-brand .center-logo-light{display:none}
html.dark .admin-brand .center-logo-dark{display:block}
:root {
  color-scheme: light;
  --bg: #f7fbfc;
  --surface: rgba(255,255,255,.84);
  --surface-solid: #ffffff;
  --text: #102326;
  --muted: #64777b;
  --line: rgba(15, 126, 145, .16);
  --cyan: #20c8e8;
  --teal: #00b8ad;
  --blue: #1d7cf2;
  --ink: #06191c;
  --shadow: 0 24px 70px rgba(18, 91, 108, .12);
  --title-font: "Lalezar", Tahoma, Arial, sans-serif;
  --body-font: "Vazirmatn", Tahoma, Arial, sans-serif;
}
@font-face { font-family: "Lalezar"; src: url("../fonts/Lalezar-Regular.ttf") format("truetype"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Vazirmatn"; src: url("../fonts/Vazirmatn-Regular.ttf") format("truetype"); font-weight: 400; font-style: normal; font-display: swap; }
.dark {
  color-scheme: dark;
  --bg: #061012;
  --surface: rgba(9,22,25,.84);
  --surface-solid: #0b181b;
  --text: #effbfc;
  --muted: #9ab0b5;
  --line: rgba(59, 220, 238, .18);
  --shadow: 0 24px 80px rgba(0,0,0,.34);
}
* { box-sizing: border-box; }
input[type=checkbox]{appearance:none;-webkit-appearance:none;width:17px!important;height:17px!important;min-height:17px!important;max-width:17px;flex:0 0 17px;padding:0!important;border:1px solid #8aaeb4!important;border-radius:4px!important;background:var(--surface-solid);vertical-align:middle;cursor:pointer;position:relative}
input[type=checkbox]:checked{background:#00b8ad!important;border-color:#00b8ad!important}input[type=checkbox]:checked::after{content:'';position:absolute;left:5px;top:2px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}input[type=checkbox]:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
[hidden],.is-hidden { display:none!important; }
html { min-height:100%; scroll-behavior: smooth; }
body { min-height:100dvh; margin:0; background: var(--bg); color: var(--text); font-family: var(--body-font); line-height:1.8; overflow-x:hidden; }
a { color: inherit; text-decoration:none; }
img { max-width:100%; display:block; }
input, textarea, select, button { font:inherit; }
.skip { position:absolute; inset-inline-start:16px; top:-80px; background:var(--text); color:var(--bg); padding:8px 12px; z-index:20; }
.skip:focus { top:12px; }
.site-header { position:sticky; top:0; z-index:10; padding:14px clamp(14px,3vw,34px); backdrop-filter: blur(18px); }
.nav { width:min(100%,1680px); margin:auto; min-height:70px; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:10px 12px; border:1px solid var(--line); border-radius:8px; background:var(--surface); box-shadow:var(--shadow); }
.brand img { width:124px; height:auto; }
.nav-links, .nav-actions { display:flex; align-items:center; gap:18px; }
.nav-links a { color:var(--muted); font-weight:700; }
.nav-links a:hover { color:var(--teal); }
.nav-entry { position:relative; display:flex; align-items:center; min-height:46px; }
.submenu-toggle { width:30px; height:30px; display:grid; place-items:center; margin-inline-start:2px; padding:0; border:0; border-radius:6px; color:var(--teal); background:transparent; cursor:pointer; }
.submenu-toggle:hover,.submenu-toggle:focus-visible { background:rgba(32,200,232,.09); }
.site-submenu { min-width:220px; position:absolute; inset-inline-start:0; top:calc(100% - 2px); display:grid; gap:3px; padding:8px; opacity:0; visibility:hidden; transform:translateY(7px); border:1px solid var(--line); border-radius:8px; background:var(--surface-solid); box-shadow:var(--shadow); transition:opacity .18s ease,transform .18s ease,visibility .18s ease; }
.site-submenu a { min-height:40px; display:flex; align-items:center; padding:7px 10px; border-radius:6px; white-space:nowrap; }
.site-submenu a:hover,.site-submenu a.active { background:rgba(32,200,232,.08); }
.nav-entry:hover .site-submenu,.nav-entry:focus-within .site-submenu,.site-submenu.open { opacity:1; visibility:visible; transform:none; }
.soon, .cloud-badge { border:1px solid rgba(0,184,173,.25); background:rgba(0,184,173,.09); color:var(--teal); padding:4px 9px; border-radius:8px; font-weight:800; }
.menu-toggle { display:none; }
.btn { min-height:44px; border:1px solid var(--line); border-radius:8px; padding:9px 16px; display:inline-flex; align-items:center; justify-content:center; gap:8px; cursor:pointer; transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease; background:var(--surface-solid); color:var(--text); }
.btn:hover { transform:translateY(-2px); border-color:var(--cyan); box-shadow:0 12px 26px rgba(32,200,232,.16); }
.btn.primary { border:0; color:#03191b; font-weight:900; background:linear-gradient(135deg,var(--teal),var(--cyan) 58%,#8defff); }
.btn.ghost,.btn.soft { background:rgba(255,255,255,.44); }
.btn.danger { border-color:rgba(210,58,82,.35); color:#b31835; background:rgba(210,58,82,.08); }
.release-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.release-actions form{margin:0}.release-actions .btn{white-space:nowrap}
.btn:disabled { opacity:.58; cursor:wait; transform:none; box-shadow:none; }
.btn:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible { outline:3px solid rgba(32,200,232,.32); outline-offset:2px; }
.theme-toggle,.menu-toggle { width:44px; height:44px; border:1px solid var(--line); border-radius:8px; background:var(--surface-solid); color:var(--text); cursor:pointer; }
.hero-slider { min-height:calc(100vh - 100px); position:relative; padding:42px clamp(16px,4vw,64px) 80px; overflow:hidden; }
.aurora { position:absolute; inset:-20% -10%; background: radial-gradient(circle at 16% 8%, rgba(32,200,232,.22), transparent 28rem), radial-gradient(circle at 78% 8%, rgba(0,184,173,.2), transparent 30rem), linear-gradient(135deg, rgba(255,255,255,.1), transparent); pointer-events:none; }
.slide,.page-hero { max-width:1220px; margin:auto; display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,.95fr); align-items:center; gap:clamp(28px,6vw,78px); position:relative; }
.slide { min-height:680px; opacity:0; transform:translateY(18px); pointer-events:none; position:absolute; inset:42px clamp(16px,4vw,64px) 80px; }
.slide { border-radius:8px; overflow:hidden; padding:20px; }
.slide.active { opacity:1; transform:translateY(0); pointer-events:auto; transition:opacity .55s ease, transform .55s ease; }
.slide > *:not(.strands-bg) { position:relative; z-index:1; }
.strands-bg { position:absolute; inset:0; z-index:0; opacity:.72; pointer-events:none; }
.strands-canvas { width:100%; height:100%; display:block; }
.eyebrow { display:inline-flex; color:var(--teal); font-weight:900; margin-bottom:14px; }
h1,h2,h3,p { margin-top:0; }
h1,h2 { font-family: var(--title-font); font-weight:400; }
h1 { font-size:clamp(2.25rem,5vw,4.9rem); line-height:1.12; margin-bottom:20px; letter-spacing:0; }
h2 { font-size:clamp(1.55rem,3vw,3rem); line-height:1.25; letter-spacing:0; }
h3 { margin-bottom:8px; }
.lead { color:var(--muted); font-size:1.14rem; max-width:680px; }
.actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
.product-frame { position:relative; justify-self:center; max-width:100%; padding:14px; border:1px solid var(--line); border-radius:8px; background:linear-gradient(180deg,rgba(255,255,255,.75),rgba(255,255,255,.38)); box-shadow:var(--shadow); }
.dark .product-frame { background:rgba(255,255,255,.04); }
.product-frame img { border-radius:8px; border:1px solid var(--line); background:var(--surface-solid); }
.floating-stat { position:absolute; min-width:132px; border:1px solid var(--line); border-radius:8px; background:var(--surface); backdrop-filter: blur(16px); padding:10px 12px; box-shadow:var(--shadow); animation:float 6s ease-in-out infinite; }
.floating-stat b { display:block; color:var(--blue); font-size:1.45rem; }
.floating-stat span { color:var(--muted); font-size:.86rem; }
.floating-stat.one { inset-inline-start:-20px; top:14%; }
.floating-stat.two { inset-inline-end:-16px; bottom:12%; animation-delay:-2s; }
.slider-controls { position:absolute; inset-inline:0; bottom:28px; display:flex; justify-content:center; align-items:center; gap:10px; }
.slider-controls button,.dots button { border:1px solid var(--line); border-radius:8px; background:var(--surface); color:var(--text); min-width:38px; height:38px; cursor:pointer; }
.dots { display:flex; gap:6px; }
.dots button { min-width:10px; width:10px; height:10px; padding:0; border-radius:999px; }
.dots button.active { width:28px; background:var(--teal); }
.section { width:min(100%,1680px); margin:auto; padding:76px clamp(16px,3vw,42px); }
.trust { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; }
.trust span { border:1px solid var(--line); background:var(--surface); border-radius:8px; padding:9px 13px; color:var(--muted); }
.split,.showcase { display:grid; grid-template-columns:.9fr 1.1fr; gap:38px; align-items:center; }
.split p,.showcase p,.card p,.price-card p,.footer p, details p { color:var(--muted); }
.feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.card,.price-card,details,.cta,.form,.install-card,.admin-card { border:1px solid var(--line); border-radius:8px; background:var(--surface); box-shadow:var(--shadow); }
.card { padding:22px; transition:transform .2s ease,border-color .2s ease; }
.card:hover { transform:translateY(-4px); border-color:var(--cyan); }
.icon-img { width:44px; height:44px; margin-bottom:14px; }
.showcase-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.showcase-grid img { border:1px solid var(--line); border-radius:8px; box-shadow:var(--shadow); }
.steps { display:grid; grid-template-columns:repeat(5,1fr); gap:12px; margin-top:24px; }
.steps article { padding:18px; border:1px solid var(--line); border-radius:8px; background:var(--surface); }
.steps span { display:block; width:12px; height:12px; border-radius:50%; background:var(--teal); margin-bottom:12px; }
.pricing-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.price-card { padding:24px; display:grid; gap:12px; }
.price-card b { color:var(--blue); }
.cta-mosaic { display:grid; grid-template-columns:.9fr 1.1fr; gap:28px; align-items:center; border:1px solid var(--line); border-radius:8px; background:var(--surface); box-shadow:var(--shadow); padding:34px; }
.mosaic-tiles { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.mosaic-tiles span { min-height:78px; border:1px solid var(--line); border-radius:8px; display:grid; place-items:center; background:linear-gradient(135deg,rgba(255,255,255,.86),rgba(255,255,255,.35)); color:var(--muted); font-weight:900; transition:transform .2s ease,border-color .2s ease,color .2s ease; }
.mosaic-tiles span:nth-child(2n) { color:var(--teal); }
.mosaic-tiles span:nth-child(3n) { color:var(--blue); }
.mosaic-tiles span:hover { transform:translateY(-4px); border-color:var(--cyan); color:var(--text); }
details { padding:16px 18px; margin-top:10px; }
summary { cursor:pointer; font-weight:900; }
.cta { text-align:center; padding:42px 24px; }
.page-hero { width:min(100%,1680px); padding:70px clamp(16px,4vw,64px); }
.demo-section { padding-top:18px; }
.form { width:100%; padding:24px; display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:14px; }
.form .full,.form button,.form h2,.form .alert { grid-column:1/-1; }
.form label { display:grid; gap:7px; color:var(--muted); font-weight:700; }
input,textarea,select { width:100%; min-height:48px; border:1px solid var(--line); border-radius:8px; padding:10px 12px; background:var(--surface-solid); color:var(--text); outline:none; }
textarea { min-height:120px; resize:vertical; }
input:focus,textarea:focus,select:focus { border-color:var(--cyan); box-shadow:0 0 0 3px rgba(32,200,232,.12); }
.upload-progress { display:none; position:relative; min-height:44px; overflow:hidden; border:1px solid var(--line); border-radius:8px; background:var(--surface-solid); }
.upload-progress.active { display:flex; align-items:center; padding:0 14px; }
.upload-progress-bar { position:absolute; inset-block:0; inset-inline-start:0; width:0; background:linear-gradient(135deg,rgba(0,184,173,.22),rgba(32,200,232,.32)); transition:width .18s ease; }
.upload-progress span { position:relative; z-index:1; color:var(--text); font-weight:900; }
.upload-progress.done { border-color:rgba(0,184,173,.45); }
.upload-progress.done .upload-progress-bar { background:rgba(0,184,173,.2); }
.upload-progress.failed { border-color:rgba(210,58,82,.55); }
.upload-progress.failed .upload-progress-bar { background:rgba(210,58,82,.18); }
.footer { padding:48px 18px; text-align:center; border-top:1px solid var(--line); }
.footer img { width:120px; margin:0 auto 14px; }
.footer nav { display:flex; justify-content:center; flex-wrap:wrap; gap:16px; color:var(--muted); }
.site-footer { display:grid; grid-template-columns:minmax(280px,1.4fr) minmax(180px,.7fr) minmax(190px,.7fr); gap:36px; padding:54px clamp(20px,5vw,80px) 24px; text-align:right; background:var(--surface); }
.site-footer h2,.site-footer h3 { margin-bottom:8px; }
.footer-brand { display:flex; align-items:flex-start; gap:18px; }
.footer-brand img { width:112px; flex:0 0 auto; margin:4px 0 0; }
.footer-brand p { max-width:620px; margin:0; }
.footer-links nav,.footer-contact { display:grid; justify-content:start; align-content:start; gap:7px; }
.footer-links a,.footer-contact a { color:var(--muted); }
.footer-links a:hover,.footer-contact a:hover { color:var(--teal); }
.footer-bottom { grid-column:1/-1; display:flex; justify-content:space-between; gap:18px; padding-top:20px; border-top:1px solid var(--line); color:var(--muted); font-size:.84rem; }
.reveal { opacity:0; transform:translateY(18px); transition:opacity .55s ease, transform .55s ease; }
.reveal.visible { opacity:1; transform:none; }
.installer,.center-page { min-height:100vh; display:grid; place-items:center; padding:24px; background:var(--bg); }
.install-box,.panel { width:min(100%,980px); border:1px solid var(--line); border-radius:8px; background:var(--surface); box-shadow:var(--shadow); padding:clamp(24px,5vw,46px); }
.install-logo,.panel-logo { width:140px; margin-bottom:20px; }
.wizard-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin:20px 0; }
.wizard-steps span { padding:8px; border:1px solid var(--line); border-radius:8px; color:var(--muted); text-align:center; }
.wizard-steps .active { color:#03191b; background:linear-gradient(135deg,var(--teal),var(--cyan)); font-weight:900; }
.install-check { display:flex; align-items:center; gap:9px; min-height:44px; margin:8px 0; padding:9px 12px; border:1px solid var(--line); border-radius:8px; background:var(--surface-solid); }
.install-check b { width:24px; height:24px; display:grid; place-items:center; border-radius:50%; }
.install-check.ok b { color:#08796f; background:rgba(0,184,173,.12); }
.install-check.failed { border-color:rgba(210,58,82,.35); color:#b31835; }
.install-check.failed b { background:rgba(210,58,82,.1); }
.install-hint { grid-column:1/-1; color:var(--muted); line-height:1.9; }
.btn.disabled { opacity:.55; pointer-events:none; }
.alert { border:1px solid rgba(210,58,82,.35); background:rgba(210,58,82,.09); color:#b31835; border-radius:8px; padding:10px 12px; }
.alert.success { border-color:rgba(0,184,173,.38); background:rgba(0,184,173,.09); color:#08796f; }
.dark .alert { color:#ffd3da; }
.admin-top { width:calc(100% - 32px); margin:16px auto 0; display:flex; justify-content:space-between; align-items:center; gap:12px; padding:12px; border:1px solid var(--line); border-radius:8px; background:var(--surface); }
.admin-nav { width:calc(100% - 32px); margin:12px auto 0; display:flex; gap:5px; flex-wrap:nowrap; overflow-x:auto; overscroll-behavior-inline:contain; scrollbar-width:thin; padding:8px; border:1px solid var(--line); border-radius:8px; background:var(--surface); }
.admin-nav a { min-height:42px; flex:0 0 auto; display:inline-flex; align-items:center; padding:7px 11px; border-radius:7px; color:var(--muted); border:1px solid transparent; white-space:nowrap; font-weight:800; }
.admin-nav a:hover,.admin-nav a.active { color:var(--teal); border-color:var(--line); background:var(--surface-solid); }
.admin-nav a.active { box-shadow:inset 0 -2px 0 var(--teal); }
.admin-main { width:calc(100% - 32px); margin:auto; padding:32px 0 64px; }
.admin-main > h1 { font-size:clamp(1.7rem,2.5vw,2.6rem); margin-bottom:18px; }
.admin-main h2 { font-size:clamp(1.25rem,1.8vw,1.75rem); }
.admin-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; align-items:start; }
.stats-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin:20px 0; }
.stat-card { border:1px solid var(--line); border-radius:8px; background:var(--surface); padding:20px; box-shadow:var(--shadow); }
.stat-card b { display:block; color:var(--blue); font-size:2rem; }
.stat-card.ok { border-color:rgba(0,184,173,.35); }
.stat-card.ok b { color:var(--teal); }
.stat-card.bad { border-color:rgba(210,58,82,.42); }
.stat-card.bad b { color:#b31835; }
.analytics-toolbar { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:18px; padding:20px 22px; border-block:1px solid var(--line); background:linear-gradient(90deg,rgba(32,200,232,.06),transparent 52%); }
.analytics-toolbar h2,.analytics-card h2,.recent-reports h2 { margin:2px 0 0; }
.analytics-toolbar p { margin:3px 0 0; color:var(--muted); }
.analytics-filter { display:grid; grid-template-columns:minmax(135px,1fr) minmax(132px,1fr) minmax(132px,1fr) minmax(145px,1fr) auto auto; align-items:end; gap:9px; }
.analytics-filter label { display:grid; gap:5px; color:var(--muted); font-size:.82rem; font-weight:800; }
.analytics-filter select,.analytics-filter input { min-width:0; }
.analytics-date-field { opacity:.48; transition:opacity .2s ease; }
.analytics-date-field.is-active { opacity:1; }
.analytics-filter-error { grid-column:1/-1; margin:0; }
.analytics-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:0 0 16px; }
.analytics-kpis article { min-width:0; padding:17px 18px; border:1px solid var(--line); border-radius:8px; background:var(--surface); box-shadow:0 10px 28px rgba(18,91,108,.06); }
.analytics-kpis span,.analytics-kpis small { display:block; color:var(--muted); }
.analytics-kpis b { display:block; margin:4px 0 2px; color:var(--blue); font-size:clamp(1.65rem,3vw,2.45rem); font-variant-numeric:tabular-nums; line-height:1.2; }
.analytics-kpis small { overflow:hidden; font-size:.76rem; text-overflow:ellipsis; white-space:nowrap; }
.analytics-grid { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(320px,1fr); gap:14px; align-items:stretch; }
.analytics-card { min-width:0; padding:18px; border:1px solid var(--line); border-radius:8px; background:var(--surface); box-shadow:var(--shadow); }
.analytics-card header,.recent-reports > header { display:flex; align-items:start; justify-content:space-between; gap:14px; margin-bottom:12px; }
.analytics-card header span { color:var(--teal); font-size:.76rem; font-weight:900; }
.analytics-card header h2 { font-family:var(--body-font); font-size:1.1rem; font-weight:900; }
.analytics-card header small,.filter-summary { flex:0 0 auto; padding:4px 8px; border:1px solid var(--line); border-radius:6px; color:var(--muted); background:var(--surface-solid); font-size:.74rem; }
.analytics-trend-card { grid-row:span 2; }
.chart-stage { position:relative; width:100%; height:270px; }
.chart-stage-wide { height:510px; }
.chart-stage-compact { height:260px; }
.recent-reports { margin-top:16px; padding:20px; border-block:1px solid var(--line); background:rgba(255,255,255,.16); }
.report-list { display:grid; }
.report-row { min-width:0; display:grid; grid-template-columns:74px minmax(0,1fr) minmax(135px,auto); align-items:center; gap:13px; padding:12px 4px; border-bottom:1px solid var(--line); }
.report-row:last-child { border-bottom:0; }
.report-row > div { min-width:0; }
.report-row b,.report-row small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.report-row small,.report-row time { color:var(--muted); font-size:.78rem; }
.report-row time { direction:ltr; text-align:left; font-variant-numeric:tabular-nums; }
.report-type { display:inline-flex; justify-content:center; padding:4px 8px; border:1px solid var(--line); border-radius:6px; color:var(--blue); background:rgba(29,124,242,.07); font-size:.75rem; font-weight:900; }
.report-type.click { color:#08796f; background:rgba(0,184,173,.08); }
.report-type.request { color:#8a5c00; background:rgba(245,158,11,.09); }
.analytics-empty { padding:34px 14px; color:var(--muted); text-align:center; }
.page-report-section { margin:16px 0; padding:18px; border:1px solid var(--line); border-radius:8px; background:var(--surface); box-shadow:var(--shadow); }
.page-report-section > header { display:flex; align-items:end; justify-content:space-between; gap:18px; margin-bottom:14px; }
.page-report-section h2 { margin:2px 0; }
.page-report-section p { margin:0; color:var(--muted); }
.analytics-page-table td { font-variant-numeric:tabular-nums; }
.analytics-page-table code { display:inline-block; direction:ltr; padding:3px 7px; border-radius:5px; color:var(--blue); background:rgba(29,124,242,.08); }
.media-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.media-card { border:1px solid var(--line); border-radius:8px; background:var(--surface); padding:12px; display:grid; gap:10px; }
.media-card img { width:100%; aspect-ratio:4/3; object-fit:contain; border:1px solid var(--line); border-radius:8px; background:#fff; }
.inline-form { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.slide-image-link { display:grid; justify-items:center; }
.slide-page-intro { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:22px 24px; margin-bottom:16px; border-block:1px solid var(--line); background:linear-gradient(90deg,rgba(32,200,232,.06),transparent 48%); }
.slide-page-intro h2 { margin:3px 0 4px; }
.slide-page-intro p { margin:0; color:var(--muted); }
.admin-eyebrow { color:var(--teal); font-size:.82rem; font-weight:900; }
.upload-readiness { min-width:260px; display:flex; align-items:center; gap:11px; padding:12px 14px; border:1px solid var(--line); border-radius:8px; background:var(--surface-solid); }
.upload-readiness > span { width:10px; height:10px; flex:0 0 auto; border-radius:50%; background:#c03750; box-shadow:0 0 0 5px rgba(192,55,80,.1); }
.upload-readiness.ready > span { background:var(--teal); box-shadow:0 0 0 5px rgba(0,184,173,.1); }
.upload-readiness b,.upload-readiness small { display:block; }
.upload-readiness small { max-width:360px; color:var(--muted); overflow-wrap:anywhere; }
.slide-create-panel,.slide-settings-card { border:1px solid var(--line); border-radius:8px; background:var(--surface); box-shadow:0 14px 45px rgba(18,91,108,.08); overflow:hidden; }
.slide-create-panel { margin:0 0 22px; }
.slide-create-panel > summary { min-height:72px; padding:14px 18px; display:flex; align-items:center; justify-content:space-between; gap:16px; cursor:pointer; list-style:none; background:var(--surface-solid); }
.slide-create-panel > summary::-webkit-details-marker { display:none; }
.slide-create-panel > summary span:first-child { display:grid; gap:2px; }
.slide-create-panel > summary small { color:var(--muted); font-weight:400; }
.summary-mark { width:42px; height:42px; display:grid; place-items:center; border:1px solid var(--line); border-radius:8px; color:var(--teal); font-size:1.55rem; transition:transform .2s ease; }
.slide-create-panel[open] .summary-mark { transform:rotate(45deg); }
.slides-list { display:grid; gap:18px; }
.slide-settings-card { min-width:0; }
.slide-card-header { min-height:72px; padding:13px 18px; display:flex; align-items:center; justify-content:space-between; gap:16px; border-bottom:1px solid var(--line); background:var(--surface-solid); }
.slide-card-index,.slide-card-state { display:flex; align-items:center; gap:12px; }
.slide-card-index > span { width:42px; height:42px; display:grid; place-items:center; border:1px solid var(--line); border-radius:8px; color:var(--teal); font-weight:900; font-variant-numeric:tabular-nums; }
.slide-card-index h2 { margin:0; font-family:var(--body-font); font-size:1.05rem; font-weight:900; }
.slide-card-index small { color:var(--muted); }
.status-pill { display:inline-flex; align-items:center; min-height:30px; padding:3px 10px; border:1px solid var(--line); border-radius:999px; color:var(--muted); font-size:.8rem; font-weight:900; }
.status-pill.active { border-color:rgba(0,184,173,.32); background:rgba(0,184,173,.08); color:#08796f; }
.btn.compact { min-height:36px; padding:6px 11px; }
.slide-editor { width:100%; margin:0; }
.slide-editor-layout { display:grid; grid-template-columns:minmax(330px,42%) minmax(0,1fr); align-items:start; }
.slide-preview-column { position:sticky; top:16px; min-width:0; padding:22px; }
.slide-admin-preview { width:100%; min-height:0; aspect-ratio:16/10; position:relative; display:grid; place-items:center; overflow:hidden; border:1px solid var(--line); border-radius:8px; padding:20px; background-color:#f6fbfc; background-image:linear-gradient(rgba(15,126,145,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(15,126,145,.055) 1px,transparent 1px); background-size:24px 24px; }
.preview-image-shell { max-width:100%; position:relative; display:grid; place-items:center; padding:var(--preview-padding,0); overflow:hidden; border:1px solid rgba(15,126,145,.14); border-radius:8px; isolation:isolate; }
.preview-image-shell.is-glass::after { content:""; position:absolute; inset:0; z-index:1; border:1px solid rgba(255,255,255,.42); background:rgba(255,255,255,var(--preview-glass-opacity,.28)); backdrop-filter:blur(var(--preview-blur,18px)) saturate(1.15); -webkit-backdrop-filter:blur(var(--preview-blur,18px)) saturate(1.15); pointer-events:none; }
.preview-background { position:absolute; inset:0; z-index:0; background-size:cover; background-position:center; }
.preview-image-shell img { position:relative; z-index:2; width:100%; height:auto; max-width:100%; max-height:100%; object-fit:contain; margin:auto; border:1px solid rgba(15,126,145,.12); border-radius:6px; background:#fff; box-shadow:0 18px 45px rgba(18,91,108,.12); }
.preview-stat { position:absolute; z-index:2; min-width:118px; padding:8px 10px; border:1px solid rgba(15,126,145,.16); border-radius:8px; background:rgba(255,255,255,.92); box-shadow:0 12px 28px rgba(18,91,108,.14); }
.preview-stat b,.preview-stat span { display:block; }
.preview-stat b { color:var(--blue); font-size:1.05rem; font-variant-numeric:tabular-nums; }
.preview-stat span { color:#64777b; font-size:.72rem; }
.preview-stat-one { inset-inline-start:10px; top:14%; }
.preview-stat-two { inset-inline-end:10px; bottom:13%; }
.preview-stat.is-hidden { display:none; }
.preview-caption { display:flex; justify-content:space-between; gap:12px; margin-top:10px; color:var(--muted); font-size:.82rem; }
.preview-caption span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.preview-caption b { flex:0 0 auto; color:var(--text); font-variant-numeric:tabular-nums; }
.slide-fields-column { min-width:0; border-inline-start:1px solid var(--line); }
.slide-fieldset { min-width:0; margin:0; padding:22px; border:0; border-bottom:1px solid var(--line); }
.slide-fieldset legend { padding:0; margin-bottom:14px; color:var(--text); font-size:.95rem; font-weight:900; }
.field-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }
.field-grid label,.upload-picker,.range-field { display:grid; align-content:start; gap:7px; color:var(--muted); font-size:.88rem; font-weight:800; }
.field-grid .full { grid-column:1/-1; }
.slide-fieldset textarea { min-height:94px; }
.upload-picker { padding:13px; border:1px dashed rgba(15,126,145,.32); border-radius:8px; background:rgba(32,200,232,.035); }
.upload-picker input[type="file"] { min-height:44px; padding:7px; border-style:solid; cursor:pointer; }
.upload-picker small { color:var(--muted); font-weight:400; }
.range-field > span { display:flex; justify-content:space-between; gap:12px; }
.range-field input[type="range"] { min-height:32px; padding:0; border:0; box-shadow:none; accent-color:var(--teal); cursor:pointer; }
.switch-grid { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:14px; }
.switch-row { min-height:44px; display:inline-flex; align-items:center; gap:9px; padding:8px 11px; border:1px solid var(--line); border-radius:8px; color:var(--text); background:var(--surface-solid); cursor:pointer; font-weight:800; }
.background-mode-picker { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin-bottom:12px; }
.background-mode-picker label { cursor:pointer; }
.background-mode-picker input { position:absolute; opacity:0; pointer-events:none; }
.background-mode-picker span { min-height:50px; display:grid; place-items:center; padding:8px; border:1px solid var(--line); border-radius:8px; color:var(--muted); background:var(--surface-solid); text-align:center; font-weight:900; }
.background-mode-picker input:checked + span { color:var(--teal); border-color:var(--teal); background:rgba(0,184,173,.08); box-shadow:inset 0 0 0 1px rgba(0,184,173,.14); }
.background-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:end; gap:10px; padding:13px; margin-top:9px; border:1px solid var(--line); border-radius:8px; background:rgba(32,200,232,.03); }
.background-options[hidden] { display:none; }
.background-options-heading { grid-column:1/-1; display:grid; gap:2px; }
.background-options-heading small { color:var(--muted); }
.background-options label { display:grid; gap:5px; color:var(--muted); font-size:.82rem; font-weight:900; }
.background-options input[type=color] { min-height:48px; padding:5px; cursor:pointer; }
.glass-options { grid-template-columns:repeat(4,minmax(0,1fr)); }
.appearance-editor { display:grid; gap:18px; padding-bottom:92px; }
.appearance-section { overflow:hidden; border:1px solid var(--line); border-radius:8px; background:var(--surface); box-shadow:var(--shadow); }
.appearance-section>header { padding:22px; border-bottom:1px solid var(--line); }
.appearance-section>header h2 { margin:4px 0; }
.appearance-section>header p { margin:0; color:var(--muted); }
.appearance-grid { padding:22px; }
.background-workspace { display:grid; }
.background-preview { min-height:300px; position:relative; display:grid; place-items:center; overflow:hidden; margin:22px; border:1px solid var(--line); border-radius:8px; background:#f5fbfc; isolation:isolate; }
.background-preview-effect,.background-preview-glass { position:absolute; inset:0; transition:opacity .25s ease,background .25s ease,backdrop-filter .25s ease; }
.background-preview-effect { z-index:0; background-size:cover; }
.background-preview-glass { z-index:1; background:rgba(255,255,255,.4); }
.background-preview-content { position:relative; z-index:2; display:grid; gap:7px; max-width:540px; padding:22px; text-align:center; }
.background-preview-content span { color:var(--teal); font-weight:900; }
.background-preview-content strong { font-family:var(--title-font); font-size:clamp(1.8rem,4vw,3rem); }
.background-preview-content small { color:var(--muted); }
.background-toolbar { display:grid; grid-template-columns:minmax(180px,.32fr) minmax(0,1fr); align-items:end; gap:14px; padding:0 22px 16px; }
.background-type-picker { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.background-type-picker label { cursor:pointer; }
.background-type-picker input { position:absolute; opacity:0; pointer-events:none; }
.background-type-picker span { min-height:48px; display:grid; place-items:center; padding:8px; border:1px solid var(--line); border-radius:8px; background:var(--surface-solid); color:var(--muted); font-weight:900; }
.background-type-picker input:checked+span { color:var(--teal); border-color:var(--teal); background:rgba(0,184,173,.08); }
.background-settings-panel { margin:0 22px 16px; padding:16px; border:1px solid var(--line); border-radius:8px; background:rgba(32,200,232,.03); }
.background-settings-panel[hidden] { display:none; }
.appearance-control-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:14px; }
.appearance-control-grid label { display:grid; align-content:end; gap:5px; color:var(--muted); font-size:.82rem; font-weight:900; }
.appearance-control-grid input[type=color] { min-height:48px; padding:5px; cursor:pointer; }
.appearance-savebar { position:sticky; bottom:0; z-index:8; display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:72px; padding:12px 22px; border:1px solid var(--line); border-radius:8px 8px 0 0; background:var(--surface-solid); box-shadow:0 -10px 28px rgba(18,91,108,.08); }
.switch-row input { width:20px; min-height:20px; height:20px; margin:0; accent-color:var(--teal); }
.slide-savebar { min-height:72px; position:sticky; bottom:0; z-index:4; display:flex; align-items:center; justify-content:space-between; gap:14px; padding:13px 22px; background:var(--surface-solid); border-top:1px solid var(--line); }
.slide-savebar span { color:var(--muted); font-size:.84rem; }
.slide-savebar .btn { min-width:180px; }
.slide-editor .upload-progress { margin:14px 22px; width:calc(100% - 44px); }
.navigation-settings { display:grid; gap:18px; padding-bottom:90px; }
.settings-band { border-block:1px solid var(--line); background:var(--surface); }
.settings-band-header { min-height:92px; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 22px; background:linear-gradient(90deg,rgba(32,200,232,.055),transparent 55%); }
.settings-band-header h2,.settings-band-header p { margin-bottom:0; }
.settings-band-header p { color:var(--muted); }
.link-builder-list { display:grid; gap:10px; padding:14px 22px 22px; }
.link-builder-item { display:grid; grid-template-columns:34px minmax(0,1fr); border:1px solid var(--line); border-radius:8px; background:var(--surface-solid); overflow:hidden; }
.link-builder-item.is-child { grid-template-columns:28px minmax(0,1fr); background:rgba(32,200,232,.025); }
.link-item-handle { display:grid; place-items:center; color:var(--muted); background:rgba(15,126,145,.045); border-inline-end:1px solid var(--line); cursor:grab; }
.link-item-fields { display:grid; grid-template-columns:minmax(160px,.8fr) minmax(210px,1fr) minmax(220px,1fr) auto; gap:10px; align-items:end; padding:12px; }
.link-item-fields > label { display:grid; gap:5px; color:var(--muted); font-size:.84rem; font-weight:800; }
.manual-link-field.is-hidden { display:none; }
.link-item-options { display:flex; align-items:center; gap:7px; min-height:48px; }
.link-item-options .switch-row { white-space:nowrap; }
.icon-command { width:38px; min-width:38px; padding:5px; font-size:1.1rem; }
.submenu-builder { grid-column:2; padding:0 12px 12px; }
.submenu-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 0; border-top:1px solid var(--line); }
.submenu-list { display:grid; gap:8px; }
.footer-settings-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; padding:18px 22px 24px; }
.footer-settings-grid > label:not(.switch-row) { display:grid; gap:6px; color:var(--muted); font-weight:800; }
.footer-settings-grid .full { grid-column:1/-1; }
.settings-savebar { position:sticky; bottom:10px; z-index:6; min-height:72px; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 18px; border:1px solid var(--line); border-radius:8px; background:var(--surface-solid); box-shadow:0 18px 55px rgba(18,91,108,.2); }
.settings-savebar span { color:var(--muted); }
.navigation-intro,.page-editor-intro { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:18px; padding:20px 22px; border-block:1px solid var(--line); background:linear-gradient(90deg,rgba(32,200,232,.055),transparent 55%); }
.navigation-intro h2,.navigation-intro p,.page-editor-intro h2,.page-editor-intro p { margin-bottom:0; }
.navigation-intro p,.page-editor-intro p { color:var(--muted); }
.preset-switcher { max-width:62%; display:flex; gap:8px; overflow-x:auto; padding:3px; scrollbar-width:thin; }
.preset-chip { flex:0 0 auto; display:flex; align-items:stretch; overflow:hidden; border:1px solid var(--line); border-radius:8px; background:var(--surface-solid); }
.preset-chip.selected { border-color:rgba(0,184,173,.45); box-shadow:0 0 0 2px rgba(0,184,173,.08); }
.preset-chip.active { box-shadow:inset 0 -3px 0 var(--teal); }
.preset-chip > a { min-width:130px; display:grid; padding:8px 11px; color:var(--text); }
.preset-chip small { color:var(--muted); font-size:.72rem; }
.preset-chip form { display:grid; border-inline-start:1px solid var(--line); }
.preset-chip button { border:0; padding:7px 9px; color:var(--teal); background:transparent; cursor:pointer; font-family:inherit; font-weight:900; }
.navigation-workspace { grid-template-columns:minmax(0,1fr) 390px; align-items:start; gap:16px; padding-bottom:20px; }
.navigation-editor-pane { min-width:0; display:grid; gap:16px; grid-column:1; }
.navigation-preview-pane { min-width:0; position:sticky; top:14px; grid-column:2; overflow:hidden; border:1px solid var(--line); border-radius:8px; background:var(--surface); box-shadow:0 18px 55px rgba(18,91,108,.12); }
.preview-pane-header { min-height:74px; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 14px; border-bottom:1px solid var(--line); background:var(--surface-solid); }
.preview-pane-header h2 { margin:0; font-family:var(--body-font); font-size:1.08rem; }
.preview-mode-switch { display:flex; padding:3px; border:1px solid var(--line); border-radius:7px; background:var(--bg); }
.preview-mode-switch button { min-height:36px; border:0; border-radius:5px; padding:5px 9px; color:var(--muted); background:transparent; cursor:pointer; font-family:inherit; font-weight:900; }
.preview-mode-switch button.active { color:var(--teal); background:var(--surface-solid); box-shadow:0 2px 10px rgba(18,91,108,.09); }
.menu-device-preview { width:calc(100% - 28px); min-height:285px; margin:14px; overflow:hidden; border:1px solid var(--line); border-radius:8px; background:#eff8fa; transition:max-width .2s ease,min-height .2s ease; }
.menu-preview-browser { height:22px; display:flex; align-items:center; gap:4px; padding:0 8px; border-bottom:1px solid rgba(15,126,145,.12); background:#e4f1f3; direction:ltr; }
.menu-preview-browser span { width:5px; height:5px; border-radius:50%; background:#8eb6be; }
.menu-preview-header { min-height:54px; position:relative; display:flex; align-items:center; gap:8px; padding:7px 9px; background:#fff; border-bottom:1px solid rgba(15,126,145,.12); }
.menu-preview-header img { width:70px; height:34px; object-fit:contain; }
.menu-preview-header nav { min-width:0; flex:1; display:flex; align-items:center; justify-content:center; gap:2px; }
.menu-preview-entry,.menu-preview-more { position:relative; padding:6px 5px; color:#314b50; font-size:.62rem; font-weight:900; white-space:nowrap; }
.menu-preview-submenu { min-width:112px; position:absolute; z-index:2; top:100%; right:0; display:grid; gap:2px; padding:6px; border:1px solid rgba(15,126,145,.15); border-radius:6px; background:#fff; box-shadow:0 9px 22px rgba(18,91,108,.12); opacity:.92; }
.menu-preview-submenu span { padding:3px 5px; color:#64777b; font-size:.58rem; }
.menu-preview-tools { display:flex; gap:3px; direction:rtl; }
.menu-preview-tools span { min-width:27px; padding:4px; border:1px solid rgba(15,126,145,.14); border-radius:5px; color:#64777b; font-size:.52rem; text-align:center; }
.menu-preview-canvas { min-height:205px; display:grid; place-items:center; align-content:center; color:#557479; background-image:linear-gradient(rgba(15,126,145,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(15,126,145,.05) 1px,transparent 1px); background-size:20px 20px; }
.menu-preview-canvas b { color:#08796f; font-size:1.35rem; }
.menu-preview-canvas span { font-size:.72rem; }
.menu-device-preview.mobile { max-width:250px; min-height:420px; margin-inline:auto; }
.menu-device-preview.mobile .menu-preview-header { align-items:flex-start; min-height:330px; }
.menu-device-preview.mobile .menu-preview-header img { width:78px; }
.menu-device-preview.mobile .menu-preview-tools { display:none; }
.menu-device-preview.mobile .menu-preview-header nav { flex:1; justify-content:flex-end; flex-wrap:wrap; }
.menu-preview-hamburger { width:34px; height:34px; border:1px solid rgba(15,126,145,.18); border-radius:6px; color:#314b50; background:#fff; font-size:1rem; }
.menu-preview-mobile-list { width:100%; display:grid; gap:3px; padding:6px 0; }
.menu-preview-mobile-item { display:grid; gap:2px; padding:6px 8px; border-bottom:1px solid rgba(15,126,145,.1); color:#314b50; font-size:.66rem; }
.menu-preview-mobile-item span { padding-inline-start:10px; color:#64777b; font-size:.58rem; }
.menu-device-preview.mobile .menu-preview-canvas { min-height:68px; }
.preview-preset-actions { display:grid; gap:9px; padding:14px; border-top:1px solid var(--line); background:var(--surface-solid); }
.preview-preset-actions label { display:grid; gap:5px; color:var(--muted); font-size:.82rem; font-weight:900; }
.preview-preset-actions small { color:var(--muted); }
.preview-preset-actions .btn { width:100%; }
.page-picker { display:flex; align-items:end; gap:9px; }
.page-picker label { min-width:240px; display:grid; gap:5px; color:var(--muted); font-weight:900; }
.page-content-form { display:grid; gap:18px; padding-bottom:90px; }
.page-hero-editor { overflow:hidden; border:1px solid var(--line); border-radius:8px; background:var(--surface); box-shadow:var(--shadow); }
.page-hero-editor > header { min-height:70px; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 18px; border-bottom:1px solid var(--line); background:var(--surface-solid); }
.page-hero-editor h2 { margin:0; }
.page-hero-editor-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,38%); }
.page-hero-fields { display:grid; grid-template-columns:1fr 1fr; gap:13px; padding:20px; }
.page-hero-fields label,.page-hero-media label,.content-section-fields label,.content-box-fields label { display:grid; align-content:start; gap:5px; color:var(--muted); font-size:.84rem; font-weight:900; }
.page-hero-fields .full { grid-column:1/-1; }
.page-hero-media { display:grid; align-content:start; gap:10px; padding:20px; border-inline-start:1px solid var(--line); }
.page-hero-media img { width:100%; aspect-ratio:16/9; object-fit:contain; border:1px solid var(--line); border-radius:7px; background:#fff; }
.content-upload { padding:9px; border:1px dashed rgba(15,126,145,.28); border-radius:7px; background:rgba(32,200,232,.035); }
.content-upload input { min-height:42px; padding:6px; cursor:pointer; }
.page-editor-note { margin:0; padding:10px 20px; border-top:1px solid var(--line); color:var(--muted); background:rgba(32,200,232,.035); }
.content-sections-toolbar { display:flex; align-items:end; justify-content:space-between; gap:16px; padding:6px 2px; }
.content-sections-toolbar h2 { margin:0; }
.content-sections-list { display:grid; gap:16px; }
.content-section-editor { overflow:hidden; border:1px solid var(--line); border-radius:8px; background:var(--surface); box-shadow:0 12px 34px rgba(18,91,108,.07); }
.content-section-editor > header { min-height:66px; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:11px 14px; border-bottom:1px solid var(--line); background:var(--surface-solid); }
.content-section-editor > header > div { display:flex; align-items:center; gap:9px; }
.content-section-editor > header > div:first-child > span { width:40px; height:40px; display:grid; place-items:center; border:1px solid var(--line); border-radius:7px; color:var(--teal); font-weight:900; }
.content-section-editor > header b,.content-section-editor > header small { display:block; }
.content-section-editor > header small { color:var(--muted); }
.content-section-fields { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:11px; padding:16px; border-bottom:1px solid var(--line); }
.content-section-fields .wide { grid-column:span 2; }
.content-section-fields textarea { min-height:80px; }
.card-swap-settings { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); align-items:end; gap:11px; padding:16px; border-bottom:1px solid var(--line); background:rgba(32,200,232,.035); }
.card-swap-settings[hidden] { display:none; }
.card-swap-settings-intro { grid-column:1/-1; display:grid; gap:3px; padding-bottom:5px; }
.card-swap-settings-intro small { color:var(--muted); }
.card-swap-settings label { display:grid; align-content:start; gap:5px; color:var(--muted); font-size:.84rem; font-weight:900; }
.content-items-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:13px 16px; }
.content-items-heading b,.content-items-heading small { display:block; }
.content-items-heading small { color:var(--muted); }
.content-items-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:0 16px 16px; }
.content-box-editor { min-width:0; display:grid; grid-template-columns:130px minmax(0,1fr); overflow:hidden; border:1px solid var(--line); border-radius:8px; background:var(--surface-solid); }
.content-box-media { min-height:100%; position:relative; display:grid; place-items:center; padding:9px; border-inline-end:1px solid var(--line); background:rgba(32,200,232,.035); }
.content-box-media img { width:100%; aspect-ratio:4/3; object-fit:contain; border-radius:6px; background:#fff; }
.content-box-media span { position:absolute; inset-inline:8px; bottom:8px; padding:3px 5px; border-radius:5px; color:var(--muted); background:rgba(255,255,255,.9); font-size:.66rem; text-align:center; }
.content-box-fields { min-width:0; display:grid; grid-template-columns:1fr 1fr; gap:9px; padding:12px; }
.content-box-fields .full,.content-box-actions { grid-column:1/-1; }
.content-box-fields textarea { min-height:72px; }
.content-box-actions { display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.content-box-actions .switch-row { margin-inline-end:auto; }
.page-editor-savebar { position:sticky; z-index:7; bottom:10px; min-height:72px; display:flex; align-items:center; justify-content:space-between; gap:14px; padding:12px 16px; border:1px solid var(--line); border-radius:8px; background:var(--surface-solid); box-shadow:0 18px 55px rgba(18,91,108,.2); }
.page-editor-savebar > span { color:var(--muted); }
.page-editor-savebar > div { display:flex; gap:8px; }
.empty-state { padding:42px 24px; text-align:center; border:1px dashed var(--line); border-radius:8px; color:var(--muted); }
.empty-state h2 { color:var(--text); }
.dark .slide-admin-preview { background-color:#09181b; }
.dark .status-pill.active,.dark .alert.success { color:#69e6da; }
.table-wrap { overflow:auto; border:1px solid var(--line); border-radius:8px; background:var(--surface); }
table { width:100%; min-width:760px; border-collapse:collapse; }
th,td { padding:12px 14px; border-bottom:1px solid var(--line); text-align:right; }
th { color:var(--teal); }
@keyframes float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-10px)} }
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } .reveal{opacity:1; transform:none;} }
@media (max-width: 1080px) { .slide-editor-layout{grid-template-columns:1fr} .slide-preview-column{position:relative; top:auto} .slide-fields-column{border-inline-start:0; border-top:1px solid var(--line)} }
@media (max-width: 940px) { .background-options,.glass-options{grid-template-columns:1fr 1fr} }
@media (max-width: 1080px) { .appearance-control-grid{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media (max-width: 820px) { .background-toolbar{grid-template-columns:1fr}.appearance-control-grid{grid-template-columns:1fr 1fr} }
@media (max-width: 680px) { .background-mode-picker{grid-template-columns:1fr 1fr}.background-options,.glass-options{grid-template-columns:1fr} }
@media (max-width: 680px) { .appearance-grid,.appearance-control-grid{grid-template-columns:1fr}.background-type-picker{grid-template-columns:1fr 1fr}.background-preview{min-height:230px;margin:12px}.background-toolbar{padding-inline:12px}.background-settings-panel{margin-inline:12px}.appearance-savebar{align-items:stretch;flex-direction:column}.appearance-savebar .btn{width:100%} }
@media (max-width: 1080px) { .analytics-toolbar{align-items:stretch;flex-direction:column}.analytics-filter{grid-template-columns:1fr 1fr 1fr}.analytics-filter .btn{width:100%}.analytics-grid{grid-template-columns:1fr 1fr}.analytics-trend-card{grid-column:1/-1;grid-row:auto}.chart-stage-wide{height:390px} }
@media (max-width: 940px) { .slide,.page-hero,.split,.showcase,.cta-mosaic{grid-template-columns:1fr} .feature-grid,.pricing-cards{grid-template-columns:repeat(2,1fr)} .steps{grid-template-columns:repeat(2,1fr)} .admin-grid,.stats-grid{grid-template-columns:1fr 1fr} .media-grid{grid-template-columns:repeat(2,1fr)} .analytics-kpis{grid-template-columns:1fr 1fr} .slide{position:absolute; min-height:760px;} .hero-slider{min-height:850px;} .slide-page-intro{align-items:flex-start; flex-direction:column} .upload-readiness{width:100%} }
@media (max-width: 1180px) { .link-item-fields{grid-template-columns:1fr 1fr} .link-item-options{grid-column:1/-1} .site-footer{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1} .navigation-workspace{grid-template-columns:1fr}.navigation-preview-pane,.navigation-editor-pane{grid-column:1}.navigation-preview-pane{position:relative;top:auto;order:-1}.content-items-list{grid-template-columns:1fr}.content-section-fields,.card-swap-settings{grid-template-columns:1fr 1fr} }
@media (max-width: 680px) { .nav{align-items:center; flex-wrap:wrap} .menu-toggle{display:grid;place-items:center;order:2} .nav-links{display:none; width:100%; flex-direction:column; align-items:stretch;order:4;gap:4px} .nav-links.open{display:flex} .nav-entry{display:grid;grid-template-columns:1fr auto;width:100%} .nav-entry>a{min-height:44px;display:flex;align-items:center;padding:6px 9px}.submenu-toggle{width:44px;height:44px}.site-submenu{grid-column:1/-1;position:static;min-width:0;margin-inline-start:16px;opacity:1;visibility:visible;transform:none;box-shadow:none;background:transparent;display:none}.site-submenu.open{display:grid}.nav-actions{margin-inline-start:auto;order:3} .nav-actions .btn.soft{display:none} .hero-slider{min-height:900px; padding-bottom:100px} h1{font-size:2.25rem} .feature-grid,.pricing-cards,.form,.showcase-grid,.steps{grid-template-columns:1fr} .actions .btn{width:100%} .wizard-steps{grid-template-columns:1fr 1fr} .admin-top{align-items:flex-start; flex-direction:column} .admin-top,.admin-nav,.admin-main{width:calc(100% - 20px)} .admin-nav a{flex:1 1 auto; text-align:center} .field-grid{grid-template-columns:1fr} .field-grid .full{grid-column:auto} .slide-card-header,.slide-card-state,.slide-savebar,.preview-caption{align-items:stretch; flex-direction:column} .slide-card-state{width:100%} .slide-delete-form .btn,.slide-savebar .btn{width:100%} .slide-preview-column,.slide-fieldset{padding:16px} .slide-admin-preview{padding:10px} .slide-editor .upload-progress{margin:12px 16px; width:calc(100% - 32px)} .settings-band-header,.settings-savebar,.footer-bottom{align-items:stretch;flex-direction:column}.link-builder-list,.footer-settings-grid{padding-inline:12px}.link-item-fields,.footer-settings-grid{grid-template-columns:1fr}.link-item-options{align-items:stretch;flex-direction:column}.link-item-options>*{width:100%}.submenu-builder{grid-column:1/-1;margin-inline-start:28px}.site-footer{grid-template-columns:1fr;padding-inline:20px}.footer-brand,.footer-bottom{grid-column:auto}.footer-brand{display:grid}.footer-brand img{margin:0}.footer-bottom{display:flex} }

/* NOA installer: isolated visual system */
body.installer {
  display:block;
  padding:0;
  background-color:#eff8f9;
  background-image:linear-gradient(rgba(5,116,127,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(5,116,127,.055) 1px,transparent 1px);
  background-size:28px 28px;
}
html.dark body.installer { background-color:#061114; }
body.installer::before {
  content:"";
  position:fixed;
  inset-inline:0;
  top:-12px;
  z-index:20;
  height:2px;
  background:linear-gradient(90deg,transparent,var(--teal),var(--cyan),transparent);
  box-shadow:0 0 24px rgba(32,200,232,.7);
  animation:install-scan 7s linear infinite;
  pointer-events:none;
}
.install-shell { width:100%; min-height:100dvh; margin:0; display:grid; grid-template-columns:minmax(310px,380px) minmax(0,1fr); }
.install-aside {
  min-height:100dvh;
  position:sticky;
  top:0;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  padding:clamp(28px,4vw,58px);
  color:#eafcfc;
  background:#071a1e;
  border-inline-end:1px solid rgba(32,200,232,.18);
  isolation:isolate;
}
.install-aside::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  opacity:.48;
  background-image:linear-gradient(rgba(32,200,232,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(32,200,232,.07) 1px,transparent 1px);
  background-size:34px 34px;
  mask-image:linear-gradient(to bottom,#000,transparent 84%);
}
.install-aside::after {
  content:"";
  position:absolute;
  z-index:-1;
  width:150%;
  aspect-ratio:1;
  inset-inline-start:-62%;
  bottom:-65%;
  background:conic-gradient(from 160deg,transparent,rgba(0,184,173,.28),rgba(32,200,232,.08),transparent 46%);
  animation:install-rotate 18s linear infinite;
}
.install-brand { display:flex; align-items:center; justify-content:space-between; gap:18px; }
.install-brand .install-logo { width:116px; margin:0; filter:drop-shadow(0 8px 24px rgba(32,200,232,.14)); }
.install-version { padding:5px 9px; border:1px solid rgba(32,200,232,.24); border-radius:6px; color:#a8d7db; font-size:.72rem; }
.install-aside-copy { margin:auto 0; padding:72px 0 38px; }
.install-kicker,.install-stage { color:var(--teal); font-size:.76rem; font-weight:900; }
.install-aside h1 { max-width:560px; margin:13px 0 18px; font-family:var(--title-font); font-size:clamp(2.3rem,4vw,4.5rem); line-height:1.16; }
.install-aside p { color:#9fc0c4; line-height:1.95; }
.install-signal { height:68px; display:flex; align-items:center; gap:7px; margin:0 0 34px; }
.install-signal i { width:5px; height:20%; border-radius:3px; background:linear-gradient(var(--cyan),var(--teal)); transform-origin:center; animation:install-signal 1.25s ease-in-out infinite; }
.install-signal i:nth-child(2) { animation-delay:-.25s; }.install-signal i:nth-child(3) { animation-delay:-.5s; }.install-signal i:nth-child(4) { animation-delay:-.75s; }.install-signal i:nth-child(5) { animation-delay:-1s; }
.install-promises { display:grid; gap:11px; margin:0; padding:0; list-style:none; color:#b3d0d3; font-size:.82rem; }
.install-promises li { display:flex; align-items:center; gap:9px; }
.install-promises li span { width:7px; height:7px; flex:0 0 auto; border:1px solid var(--cyan); border-radius:50%; box-shadow:0 0 0 4px rgba(32,200,232,.08); }
.install-main { width:min(100%,1040px); margin:auto; padding:clamp(20px,4vw,54px); }
.install-topbar { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:26px; }
.install-topbar>div { display:grid; gap:2px; }.install-topbar small { color:var(--muted); }
.install-theme-toggle { min-height:38px; padding:6px 11px; border:1px solid var(--line); border-radius:7px; color:var(--muted); background:var(--surface-solid); cursor:pointer; }
.install-theme-toggle:hover { color:var(--teal); border-color:var(--teal); }
.install-main .wizard-steps { position:relative; display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin:0 0 18px; }
.install-main .wizard-steps::before { content:""; position:absolute; inset-inline:16.6%; top:21px; width:66.8%; height:1px; background:var(--line); }
.install-main .wizard-steps>span { position:relative; z-index:1; display:flex; align-items:center; justify-content:center; gap:9px; padding:0 8px; border:0; background:transparent; text-align:right; }
.install-main .wizard-steps>span>b { width:42px; height:42px; flex:0 0 auto; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; color:var(--muted); background:var(--surface-solid); font-family:Arial,sans-serif; font-size:.82rem; }
.install-main .wizard-steps>span>i { display:grid; font-style:normal; }.install-main .wizard-steps strong { font-size:.82rem; }.install-main .wizard-steps small { color:var(--muted); font-size:.68rem; }
.install-main .wizard-steps>span.active>b { color:#032226; border-color:transparent; background:linear-gradient(135deg,var(--teal),var(--cyan)); box-shadow:0 0 0 6px rgba(32,200,232,.1),0 9px 26px rgba(32,200,232,.2); animation:install-pulse 2.4s ease-in-out infinite; }
.install-main .wizard-steps>span.done>b { color:#08796f; border-color:rgba(0,184,173,.3); background:#dcf8f5; }
.dark .install-main .wizard-steps>span.done>b { color:#8cf1e8; background:rgba(0,184,173,.12); }
.install-card { min-height:520px; overflow:hidden; padding:clamp(24px,4vw,46px); border:1px solid var(--line); border-radius:8px; background:var(--surface); box-shadow:0 24px 70px rgba(18,91,108,.12); backdrop-filter:blur(22px); animation:install-enter .48s cubic-bezier(.2,.75,.2,1) both; }
.dark .install-card { box-shadow:0 26px 74px rgba(0,0,0,.32); }
.install-card-head { margin-bottom:28px; }.install-card-head h2 { margin:6px 0 8px; font-size:clamp(1.7rem,3vw,2.6rem); }.install-card-head p { max-width:680px; margin:0; color:var(--muted); }
.install-checks { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.install-card .install-check { min-width:0; min-height:68px; margin:0; padding:12px 14px; }
.install-check>span { min-width:0; display:grid; }.install-check strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.9rem; }.install-check small { color:var(--muted); font-size:.72rem; }
.install-note { display:flex; align-items:flex-start; gap:10px; margin-top:18px; padding:13px 14px; border:1px solid var(--line); border-radius:8px; background:rgba(32,200,232,.045); }
.install-note>span { width:24px; height:24px; flex:0 0 auto; display:grid; place-items:center; border:1px solid rgba(32,200,232,.32); border-radius:50%; color:var(--teal); font-family:Arial,sans-serif; font-weight:900; }
.install-note p { margin:0; color:var(--muted); font-size:.82rem; }
.install-actions { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:10px; margin-top:24px; }
.install-primary { min-width:190px; }.install-primary>span:last-child { font-family:Arial,sans-serif; transition:transform .18s ease; }.install-primary:hover>span:last-child { transform:translateX(-4px); }
.install-alert { display:grid; grid-template-columns:auto 1fr; gap:4px 10px; margin-bottom:20px; padding:14px 16px; animation:install-shake .38s ease both; }
.install-alert b { grid-row:1/3; align-self:start; }.install-alert span { color:inherit; }
.install-form { display:grid; gap:18px; }
.install-form fieldset { min-width:0; margin:0; padding:18px; border:1px solid var(--line); border-radius:8px; background:rgba(255,255,255,.28); }
.dark .install-form fieldset { background:rgba(255,255,255,.018); }
.install-form legend { padding:0 8px; color:var(--text); font-weight:900; }
.install-form legend span { color:var(--teal); margin-inline-end:7px; font-family:Arial,sans-serif; font-size:.72rem; }
.install-field-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }
.install-field-grid label { min-width:0; display:grid; align-content:start; gap:6px; color:var(--muted); font-size:.82rem; font-weight:800; }
.install-field-grid label.full { grid-column:1/-1; }.install-field-grid small { font-size:.68rem; font-weight:400; }
.install-field-grid input { min-width:0; transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease; }
.install-field-grid input:hover { border-color:rgba(0,184,173,.42); }.install-field-grid input:focus { transform:translateY(-1px); }
.server-time-row { display:flex; align-items:center; gap:11px; margin-top:14px; padding:12px 13px; border-top:1px solid var(--line); }
.server-time-row>div { display:grid; }.server-time-row small { color:var(--muted); }.server-time-row code { margin-inline-start:auto; color:var(--teal); direction:ltr; }
.server-time-icon { width:32px; height:32px; position:relative; flex:0 0 auto; border:1px solid rgba(0,184,173,.34); border-radius:50%; }
.server-time-icon::before,.server-time-icon::after { content:""; position:absolute; inset-inline-start:50%; top:50%; width:1px; background:var(--teal); transform-origin:bottom; }
.server-time-icon::before { height:8px; transform:translate(-50%,-100%) rotate(0); }.server-time-icon::after { height:6px; transform:translate(-50%,-100%) rotate(125deg); }
.install-progress { display:flex; align-items:center; gap:12px; min-height:64px; padding:12px 14px; border:1px solid rgba(0,184,173,.3); border-radius:8px; background:rgba(0,184,173,.06); }
.install-progress[hidden] { display:none; }.install-progress>div { display:grid; }.install-progress small { color:var(--muted); }
.install-spinner { width:30px; height:30px; flex:0 0 auto; border:2px solid rgba(0,184,173,.16); border-top-color:var(--teal); border-radius:50%; animation:install-rotate .8s linear infinite; }
.install-form.is-submitting fieldset { opacity:.68; pointer-events:none; }.install-form.is-submitting .install-primary { cursor:wait; }
.split-actions { justify-content:space-between; }
.install-success { min-height:410px; display:grid; align-content:center; justify-items:center; text-align:center; }
.success-mark { width:92px; height:92px; display:grid; place-items:center; margin-bottom:20px; border:1px solid rgba(0,184,173,.26); border-radius:50%; background:rgba(0,184,173,.08); box-shadow:0 0 0 12px rgba(0,184,173,.04); }
.success-mark span { width:54px; height:54px; display:grid; place-items:center; border-radius:50%; color:#032226; background:linear-gradient(135deg,var(--teal),var(--cyan)); font-size:1.8rem; animation:install-success .6s cubic-bezier(.2,.8,.2,1) both; }
.install-success h2 { margin:8px 0; }.install-success p { max-width:600px; color:var(--muted); }
.install-success-grid { width:100%; display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:16px; }.install-success-grid>span { display:grid; padding:10px; border:1px solid var(--line); border-radius:8px; background:var(--surface-solid); }.install-success-grid small { color:var(--muted); }
.install-success .install-actions { justify-content:center; }
.install-footer { margin:14px 0 0; color:var(--muted); text-align:center; font-size:.72rem; }
@keyframes install-scan { from { transform:translateY(0); } to { transform:translateY(100vh); } }
@keyframes install-rotate { to { transform:rotate(360deg); } }
@keyframes install-signal { 0%,100% { height:20%; opacity:.45; } 50% { height:86%; opacity:1; } }
@keyframes install-pulse { 0%,100% { box-shadow:0 0 0 6px rgba(32,200,232,.1),0 9px 26px rgba(32,200,232,.2); } 50% { box-shadow:0 0 0 10px rgba(32,200,232,.035),0 12px 34px rgba(32,200,232,.26); } }
@keyframes install-enter { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:none; } }
@keyframes install-shake { 0%,100% { transform:translateX(0); } 30% { transform:translateX(5px); } 60% { transform:translateX(-3px); } }
@keyframes install-success { from { opacity:0; transform:scale(.65) rotate(-18deg); } to { opacity:1; transform:none; } }
@media (max-width:960px) { .install-shell { grid-template-columns:1fr; }.install-aside { min-height:auto; position:relative; padding:24px; }.install-aside-copy { padding:40px 0 12px; }.install-aside h1 { max-width:680px; font-size:clamp(2.2rem,7vw,3.8rem); }.install-signal { position:absolute; inset-inline-end:24px; bottom:16px; margin:0; opacity:.58; }.install-promises { display:none; }.install-main { padding:24px; } }
@media (max-width:640px) { .install-main { padding:16px 12px 28px; }.install-aside { padding:18px; }.install-aside-copy { padding-top:34px; }.install-aside-copy p { margin-bottom:0; }.install-brand { align-items:flex-start; }.install-brand .install-logo { width:98px; }.install-main .wizard-steps>span { display:grid; justify-items:center; gap:5px; padding:0 2px; text-align:center; }.install-main .wizard-steps>span>i small { display:none; }.install-main .wizard-steps>span>b { width:36px; height:36px; }.install-main .wizard-steps::before { top:18px; }.install-card { min-height:0; padding:20px 14px; }.install-checks,.install-field-grid,.install-success-grid { grid-template-columns:1fr; }.install-field-grid label.full { grid-column:auto; }.server-time-row { align-items:flex-start; flex-wrap:wrap; }.server-time-row code { width:100%; margin:0 43px 0 0; }.split-actions { align-items:stretch; flex-direction:column-reverse; }.install-actions .btn { width:100%; }.install-alert { grid-template-columns:1fr; }.install-alert b { grid-row:auto; } }
@media (prefers-reduced-motion:reduce) { body.installer::before,.install-aside::after,.install-signal i,.install-main .wizard-steps>span.active>b,.install-spinner,.success-mark span { animation:none!important; }.install-card { animation:none; } }
@media (max-width: 680px) { .admin-grid,.stats-grid,.media-grid,.analytics-grid,.analytics-kpis{grid-template-columns:1fr}.admin-nav a{flex:0 0 auto;text-align:right}.analytics-filter{grid-template-columns:1fr}.analytics-filter .btn{width:100%}.page-report-section>header{align-items:stretch;flex-direction:column}.page-report-section>header .btn{width:100%}.chart-stage-wide,.chart-stage{height:300px}.chart-stage-compact{height:250px}.report-row{grid-template-columns:68px minmax(0,1fr)}.report-row time{grid-column:2;text-align:right}.recent-reports{padding-inline:12px}.navigation-intro,.page-editor-intro{align-items:stretch;flex-direction:column}.preset-switcher{max-width:100%}.page-picker{align-items:stretch;flex-direction:column}.page-picker label{min-width:0}.page-hero-editor-grid,.page-hero-fields,.content-section-fields,.content-box-fields,.card-swap-settings{grid-template-columns:1fr}.page-hero-fields .full,.content-section-fields .wide,.content-box-fields .full,.content-box-actions{grid-column:auto}.page-hero-media{border-inline-start:0;border-top:1px solid var(--line)}.content-section-editor>header,.content-items-heading,.page-editor-savebar{align-items:stretch;flex-direction:column}.content-section-editor>header>div:last-child,.page-editor-savebar>div{display:grid;grid-template-columns:1fr 1fr}.content-section-editor>header .danger{grid-column:1/-1}.content-box-editor{grid-template-columns:1fr}.content-box-media{min-height:150px;border-inline-end:0;border-bottom:1px solid var(--line)}.content-box-media img{max-height:150px}.page-editor-savebar .btn{width:100%} }

/* Modern authentication */
.auth-page { display:block; min-height:100dvh; background:#f5fafb; }
.auth-shell { min-height:100dvh; display:grid; grid-template-columns:minmax(320px,42%) minmax(0,1fr); }
.auth-visual { position:relative; overflow:hidden; display:flex; flex-direction:column; min-height:100dvh; padding:clamp(28px,5vw,72px); color:#eafcfc; background:#071a1e; isolation:isolate; }
.auth-visual::before { content:""; position:absolute; inset:0; z-index:-2; opacity:.5; background-image:linear-gradient(rgba(32,200,232,.075) 1px,transparent 1px),linear-gradient(90deg,rgba(32,200,232,.075) 1px,transparent 1px); background-size:36px 36px; mask-image:linear-gradient(#000,transparent 94%); }
.auth-visual::after { content:""; position:absolute; z-index:-1; width:130%; aspect-ratio:1; inset-inline-start:-55%; bottom:-62%; background:conic-gradient(from 150deg,transparent,rgba(0,184,173,.3),rgba(32,200,232,.1),transparent 48%); animation:install-rotate 22s linear infinite; }
.auth-brand img { width:130px; filter:drop-shadow(0 12px 26px rgba(32,200,232,.16)); }
.auth-message { max-width:580px; margin:auto 0; padding-block:60px 30px; }
.auth-message>span { color:#60ddec; font-size:.72rem; font-weight:900; }
.auth-message h1 { margin:12px 0 18px; font-size:clamp(2.6rem,5vw,5.4rem); }
.auth-message p { color:#a4c4c8; max-width:520px; }
.auth-pulse { height:74px; display:flex; align-items:center; gap:7px; }
.auth-pulse i { width:5px; height:18%; border-radius:3px; background:linear-gradient(var(--cyan),var(--teal)); animation:install-signal 1.25s ease-in-out infinite; }
.auth-pulse i:nth-child(2){animation-delay:-.2s}.auth-pulse i:nth-child(3){animation-delay:-.4s}.auth-pulse i:nth-child(4){animation-delay:-.6s}.auth-pulse i:nth-child(5){animation-delay:-.8s}.auth-pulse i:nth-child(6){animation-delay:-1s}
.auth-visual ul { display:flex; flex-wrap:wrap; gap:8px 18px; margin:20px 0 0; padding:0; list-style:none; color:#a4c4c8; font-size:.78rem; }
.auth-visual li::before { content:""; display:inline-block; width:6px; height:6px; margin-inline-end:8px; border-radius:50%; background:var(--teal); box-shadow:0 0 0 4px rgba(0,184,173,.12); }
.auth-content { display:grid; place-items:center; padding:clamp(20px,6vw,88px); }
.auth-card { width:min(100%,500px); display:grid; gap:16px; padding:clamp(24px,5vw,48px); border:1px solid var(--line); border-radius:8px; background:rgba(255,255,255,.9); box-shadow:0 28px 90px rgba(18,91,108,.13); animation:install-enter .45s ease both; }
.auth-card-head { margin-bottom:4px; }.auth-card-head>span { color:var(--teal); font-size:.76rem; font-weight:900; }.auth-card-head h2 { margin:4px 0; font-size:clamp(2rem,4vw,3.2rem); }.auth-card-head p { margin:0; color:var(--muted); }
.auth-card>label { display:grid; gap:7px; color:var(--muted); font-size:.86rem; font-weight:900; }
.password-field { position:relative; display:block; width:100%; }.password-field input { width:100%; padding-inline-end:50px!important; }.password-field button.password-eye { position:absolute; inset-inline-end:7px; top:50%; bottom:auto; transform:translateY(-50%); width:36px; min-width:36px; height:36px; padding:0; display:grid; place-items:center; border:0; border-radius:6px; color:var(--teal); background:transparent; cursor:pointer; z-index:2; }.password-field button.password-eye:hover,.password-field button.password-eye:focus-visible { background:rgba(0,184,173,.1); outline:0; }.password-eye svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; pointer-events:none; }
.auth-options { min-height:32px; display:flex; align-items:center; justify-content:space-between; gap:12px; color:var(--muted); font-size:.8rem; }.auth-options>a { color:var(--teal); font-weight:900; }
.remember-row { display:flex!important; grid-template-columns:auto 1fr; align-items:center; gap:8px!important; cursor:pointer; }.remember-row input { width:19px; min-height:19px; height:19px; margin:0; accent-color:var(--teal); }
.auth-submit { width:100%; min-height:52px; margin-top:3px; }.auth-back { color:var(--muted); text-align:center; font-size:.78rem; }.auth-back:hover { color:var(--teal); }

/* Admin application shell */
.admin-body { --admin-sidebar:248px; min-height:100dvh; background:#f7fafb; }
.admin-sidebar { position:fixed; z-index:40; top:0; right:0; bottom:0; left:auto; width:var(--admin-sidebar); display:flex; flex-direction:column; padding:18px 14px; border-right:0; border-left:1px solid var(--line); background:rgba(255,255,255,.94); backdrop-filter:blur(22px); box-shadow:-12px 0 44px rgba(18,91,108,.06); }
.admin-sidebar-close,.admin-sidebar-backdrop { display:none; }
.admin-brand { display:flex; align-items:center; gap:10px; min-height:92px; padding:8px 7px 20px; border-bottom:1px solid var(--line); }.admin-brand img { width:92px; }.admin-brand span { min-width:0; display:grid; }.admin-brand b { font-size:1rem; }.admin-brand small { color:var(--muted); font-size:.7rem; }
.admin-body .admin-nav { width:auto; margin:16px 0; padding:0 2px; display:grid; align-content:start; gap:3px; flex:1; overflow:auto; border:0; border-radius:0; background:transparent; }
.admin-body .admin-nav a { min-height:43px; display:flex; align-items:center; gap:10px; padding:8px 11px; border:1px solid transparent; border-radius:7px; color:#52656a; font-size:.82rem; font-weight:800; }
.admin-body .admin-nav .admin-nav-mark { width:9px; height:9px; flex:0 0 auto; border:1.5px solid currentColor; border-radius:3px; transform:rotate(45deg); opacity:.72; }
.admin-nav-label { min-width:0; flex:1; }
.admin-nav-badge { min-width:23px; height:23px; display:grid; place-items:center; padding:0 6px; border-radius:12px; color:#fff; background:#d93f61; font-size:.68rem; font-variant-numeric:tabular-nums; }
.admin-body .admin-nav a:hover { color:var(--teal); background:rgba(0,184,173,.055); }
.admin-body .admin-nav a.active { color:#fff; border-color:transparent; background:#087f88; box-shadow:0 8px 22px rgba(8,127,136,.18); }.admin-body .admin-nav a.active>.admin-nav-mark { border-radius:50%; background:#fff; }.admin-body .admin-nav a.active>.admin-nav-badge { color:#8b1832; background:#fff; }
.admin-logout { min-height:44px; display:flex; align-items:center; justify-content:center; border-top:1px solid var(--line); color:var(--muted); font-size:.8rem; font-weight:900; }.admin-logout:hover { color:#b31835; }
.admin-body .admin-top { position:sticky; z-index:25; top:0; width:calc(100% - var(--admin-sidebar)); min-height:74px; margin:0 var(--admin-sidebar) 0 0; padding:10px clamp(16px,3vw,34px); border:0; border-bottom:1px solid var(--line); border-radius:0; background:rgba(255,255,255,.9); backdrop-filter:blur(18px); box-shadow:none; }
.admin-top-title { display:grid; }.admin-top-title b { font-size:1.08rem; }.admin-top-title small { color:var(--muted); font-size:.72rem; }
.admin-top-actions { display:flex; align-items:center; gap:9px; }.admin-top-actions>div { display:grid; line-height:1.35; }.admin-top-actions small { color:var(--muted); font-size:.68rem; }
.table-scroll{overflow-x:auto;max-width:100%}.table-scroll td{vertical-align:top}.table-scroll small{display:block;color:var(--muted);font-size:.72rem}.table-scroll bdi{white-space:nowrap;font-variant-numeric:tabular-nums}
.customer-record{border:1px solid var(--line);border-radius:12px;background:var(--surface-solid);overflow:hidden;margin:12px 0}.customer-record>summary{display:flex;justify-content:space-between;align-items:center;gap:16px;cursor:pointer;padding:20px;color:var(--text);transition:background .2s}.customer-record>summary:hover{background:color-mix(in srgb,var(--cyan) 8%,var(--surface-solid))}.customer-record>summary:focus-visible{outline:3px solid var(--cyan);outline-offset:-3px}.customer-record>summary>span{font-size:.75rem;color:var(--muted)}.customer-record[open]>summary{border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--cyan) 12%,var(--surface-solid))}.workflow-step-row{display:flex;align-items:center;gap:15px;flex-wrap:wrap;padding:14px 0;border-bottom:1px solid var(--line)}.workflow-step-row label{flex:1;min-width:180px}.workflow-step-row small{color:var(--muted)}.customer-next-message{padding:16px;margin:12px 0;background:color-mix(in srgb,var(--cyan) 8%,var(--surface-solid));border-right:4px solid var(--teal);border-radius:10px}.customer-next-message small{color:var(--muted)}.customer-next-message a{color:var(--teal);font-weight:800}
.customer-portal-body .customer-journey{display:grid;grid-template-columns:1fr;gap:10px;counter-reset:none;padding:0;list-style:none}
.customer-portal-body .customer-journey li{display:grid;grid-template-columns:38px 1fr;gap:0 12px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--surface-solid);color:var(--muted);position:relative}
.customer-portal-body .customer-journey li::before,.customer-portal-body .customer-journey li::after{display:none}
.customer-journey li>b{grid-row:1/3;display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--bg);font-variant-numeric:tabular-nums}.customer-journey li>span{font-weight:800}.customer-journey li>small{font-size:.72rem}
.customer-portal-body .customer-journey li.done{border-color:#00b8ad55;color:var(--text);background:color-mix(in srgb,var(--teal) 8%,var(--surface-solid))}.customer-journey li.done>b{background:#00b8ad;color:#fff}
.customer-portal-body .customer-journey li.current{border:2px solid var(--cyan);color:var(--text);background:color-mix(in srgb,var(--cyan) 12%,var(--surface-solid));box-shadow:0 8px 25px #20c8e81a}.customer-journey li.current>b{background:var(--cyan);color:#123c46}.customer-journey li.current>small{color:var(--teal);font-weight:800}
.admin-support-alert { display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:9px;background:#087f88;color:#fff;font-size:.8rem;font-weight:800;transition:background .2s; }
.admin-support-alert:hover { background:#05636b; }
.admin-support-alert b { display:grid;place-items:center;min-width:25px;height:25px;border-radius:7px;background:#fff;color:#8b1832; }
.admin-support-alert:focus-visible { outline:3px solid var(--cyan);outline-offset:3px; }
.dark .admin-body { background:var(--bg); }
.dark .admin-body .admin-sidebar,.dark .admin-body .admin-top { background:var(--surface); }
.dark .admin-body .admin-nav a:not(.active) { color:var(--muted); }
.dark .admin-body :is(.dashboard-panel,.dashboard-kpi,.pending-review-panel,.seo-hero,.seo-savebar,.auth-card,.admin-sidebar-close) { background:var(--surface-solid);color:var(--text); }
@media(max-width:680px) { .admin-body .admin-top{flex-wrap:wrap}.admin-top-actions{flex-wrap:wrap}.admin-support-alert{font-size:.72rem} }
.admin-user-dot { width:38px; height:38px; display:grid; place-items:center; border:1px solid rgba(0,184,173,.24); border-radius:50%; color:#064f55; background:#d9f6f3; font-weight:900; }
.admin-menu-toggle { display:none; width:42px; height:42px; border:1px solid var(--line); border-radius:7px; color:var(--text); background:var(--surface-solid); cursor:pointer; }
.admin-body .admin-main { width:calc(100% - var(--admin-sidebar)); margin:0 var(--admin-sidebar) 0 0; padding:28px clamp(16px,3vw,34px) 70px; }
.admin-page-title { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }

/* Dashboard */
.dashboard-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:18px; }.dashboard-heading h2 { margin:2px 0; font-size:1.7rem; }.dashboard-heading p { margin:0; color:var(--muted); font-size:.84rem; }
.dashboard-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-bottom:14px; }
.dashboard-kpi { min-width:0; min-height:150px; display:flex; align-items:start; justify-content:space-between; gap:12px; padding:18px; border:1px solid var(--line); border-radius:8px; background:#fff; box-shadow:0 8px 26px rgba(18,91,108,.05); }
.dashboard-kpi>div { min-width:0; display:grid; }.dashboard-kpi span { color:var(--muted); font-size:.78rem; font-weight:900; }.dashboard-kpi b { margin:7px 0; color:var(--text); font-size:2.45rem; line-height:1.1; font-variant-numeric:tabular-nums; }.dashboard-kpi small { color:var(--muted); font-size:.7rem; }.dashboard-kpi>i { width:38px; height:38px; flex:none; display:grid; place-items:center; border-radius:50%; font:900 1rem/1 Arial; }
.dashboard-kpi.cyan { border-color:rgba(29,124,242,.22); background:#f7fbff; }.dashboard-kpi.cyan>i { color:#1671d8; background:#e4f1ff; }
.dashboard-kpi.green { border-color:rgba(0,184,129,.22); background:#f6fdf9; }.dashboard-kpi.green>i { color:#069d70; background:#dcf8eb; }
.dashboard-kpi.violet { border-color:rgba(126,87,194,.22); background:#fbf9ff; }.dashboard-kpi.violet>i { color:#7d54bd; background:#eee7fb; }
.dashboard-kpi.amber { border-color:rgba(245,158,11,.25); background:#fffbf5; }.dashboard-kpi.amber>i { color:#b86b05; background:#fff0d5; }
.dashboard-layout { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(300px,.65fr); gap:12px; }
.dashboard-panel { min-width:0; overflow:hidden; border:1px solid var(--line); border-radius:8px; background:#fff; box-shadow:0 8px 28px rgba(18,91,108,.045); }
.dashboard-panel>header { min-height:72px; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:13px 17px; border-bottom:1px solid var(--line); }.dashboard-panel header>div { display:grid; }.dashboard-panel header span { color:var(--muted); font-size:.7rem; }.dashboard-panel header h2 { margin:0; font-size:1.12rem; }.dashboard-panel header>a,.dashboard-panel header>b { color:var(--teal); font-size:.75rem; }
.dashboard-chart { height:310px; padding:10px; }.devices-panel .chart-stage { height:310px; padding:15px; }
.dashboard-bars { display:grid; gap:15px; padding:19px; }.dashboard-bars>div { display:grid; grid-template-columns:minmax(100px,.5fr) minmax(120px,1fr) 38px; align-items:center; gap:10px; font-size:.78rem; }.dashboard-bars i { height:8px; overflow:hidden; border-radius:4px; background:#edf2f4; }.dashboard-bars i>b { display:block; height:100%; border-radius:inherit; background:#148adf; }.dashboard-bars strong { color:#1768ac; text-align:left; font-variant-numeric:tabular-nums; }
.dashboard-os-list { display:grid; padding:10px 17px 17px; }.dashboard-os-list>div { min-height:46px; display:grid; grid-template-columns:10px minmax(0,1fr) auto; align-items:center; gap:10px; border-bottom:1px solid var(--line); font-size:.78rem; }.dashboard-os-list i { width:8px; height:8px; border-radius:50%; }.os-color-1{background:#0ea5e9}.os-color-2{background:#10b981}.os-color-3{background:#8b5cf6}.os-color-4{background:#f59e0b}.os-color-5{background:#ef476f}
.recent-panel { grid-column:1/-1; }.recent-visitor-list { display:grid; }.recent-visitor-list>div { min-height:62px; display:grid; grid-template-columns:38px minmax(180px,1fr) minmax(90px,.4fr) 52px; align-items:center; gap:10px; padding:8px 16px; border-bottom:1px solid var(--line); }.recent-visitor-list>div:last-child { border-bottom:0; }.visitor-device-icon { width:34px; height:34px; display:grid; place-items:center; border-radius:7px; color:#087f88; background:#e8f7f6; font:900 1.1rem Arial; }.recent-visitor-list div>div { min-width:0; display:grid; }.recent-visitor-list b,.recent-visitor-list small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.recent-visitor-list b { font-size:.8rem; }.recent-visitor-list small,.recent-visitor-list>div>span:nth-last-child(2),.recent-visitor-list time { color:var(--muted); font-size:.7rem; }
.pending-review-panel { margin-bottom:18px; overflow:hidden; border:1px solid rgba(245,158,11,.32); border-radius:8px; background:#fffdf7; box-shadow:0 10px 34px rgba(164,104,9,.07); }
.pending-review-panel>header { min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 18px; border-bottom:1px solid rgba(245,158,11,.2); }.pending-review-panel h2,.pending-review-panel p { margin:0; }.pending-review-panel h2 { font-size:1.15rem; }.pending-review-panel p { color:var(--muted); font-size:.76rem; }.pending-review-count { min-width:38px; height:38px; display:grid; place-items:center; border-radius:50%; color:#8a5100; background:#fff0cf; font-weight:900; }
.pending-review-list { display:grid; }.pending-review-row { min-height:82px; display:grid; grid-template-columns:minmax(190px,1.2fr) minmax(150px,.8fr) minmax(150px,.8fr) auto; align-items:center; gap:14px; padding:12px 18px; border-bottom:1px solid rgba(245,158,11,.16); }.pending-review-row:last-child { border-bottom:0; }.pending-review-row>div { min-width:0; display:grid; gap:3px; }.pending-review-row small { color:var(--muted); font-size:.7rem; }.pending-review-row b,.pending-review-row span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.pending-review-actions { display:flex!important; grid-auto-flow:column; align-items:center; gap:7px!important; }.pending-review-actions form { margin:0; }

/* SEO and menu appearance */
.seo-hero { min-height:150px; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:24px; margin-bottom:16px; border:1px solid var(--line); border-radius:8px; background:#f8fcfd; }.seo-hero h2 { margin:3px 0; font-size:1.7rem; }.seo-hero p { margin:0; color:var(--muted); }.seo-status { display:flex; flex-wrap:wrap; gap:8px; }.seo-status span { padding:7px 10px; border:1px solid var(--line); border-radius:7px; color:var(--muted); background:#fff; font-size:.72rem; }.seo-status span.on { color:#087b72; border-color:rgba(0,184,173,.3); background:#eaf9f7; }
.seo-settings-form { display:grid; gap:14px; padding-bottom:84px; }.seo-panel { overflow:hidden; border:1px solid var(--line); border-radius:8px; background:#fff; }.seo-panel>header { display:flex; align-items:center; gap:13px; min-height:78px; padding:14px 18px; border-bottom:1px solid var(--line); }.seo-panel>header>span { width:38px; height:38px; display:grid; place-items:center; border:1px solid rgba(0,184,173,.28); border-radius:50%; color:var(--teal); font:900 .72rem Arial; }.seo-panel header h2,.seo-panel header p { margin:0; }.seo-panel header h2 { font-size:1.18rem; }.seo-panel header p { color:var(--muted); font-size:.76rem; }
.seo-fields { display:grid; gap:13px; padding:18px; }.seo-fields.two-col { grid-template-columns:1fr 1fr; }.seo-fields label { display:grid; gap:6px; color:var(--muted); font-size:.8rem; font-weight:900; }.seo-fields .full { grid-column:1/-1; }.seo-savebar { position:sticky; z-index:8; bottom:8px; display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:66px; padding:10px 14px; border:1px solid var(--line); border-radius:8px; background:#fff; box-shadow:0 16px 50px rgba(18,91,108,.16); }.seo-savebar span { color:var(--muted); font-size:.76rem; }
.menu-style-controls { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; padding:20px; }.menu-style-controls label { display:grid; gap:8px; color:var(--muted); font-size:.78rem; font-weight:900; }.menu-style-controls label>span { display:flex; justify-content:space-between; gap:10px; }.menu-style-controls input { min-height:28px; padding:0; border:0; box-shadow:none; accent-color:var(--teal); }.menu-style-controls output { color:var(--teal); }

@media (prefers-reduced-motion:reduce) { .auth-visual::after,.auth-pulse i { animation:none!important; } }
@media (max-width:1180px) { .dashboard-kpis{grid-template-columns:1fr 1fr}.dashboard-layout{grid-template-columns:1fr}.recent-panel{grid-column:auto}.menu-style-controls{grid-template-columns:1fr 1fr} }
@media (max-width:980px) { .admin-sidebar{width:min(82vw,300px);visibility:hidden;pointer-events:none;transform:translateX(105%);transition:transform .22s ease,visibility 0s linear .22s}.admin-menu-open{overflow:hidden}.admin-menu-open .admin-sidebar{visibility:visible;pointer-events:auto;transform:none;transition-delay:0s}.admin-sidebar-close{position:absolute;z-index:2; top:10px; left:10px; width:36px; height:36px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; color:var(--text); background:#fff; cursor:pointer; font-size:1.3rem}.admin-sidebar-backdrop{position:fixed;z-index:35;inset:0;width:100%;height:100%;border:0;background:rgba(5,25,29,.48);backdrop-filter:blur(2px);cursor:pointer}.admin-menu-open .admin-sidebar-backdrop{display:block}.admin-body .admin-top,.admin-body .admin-main{width:100%;margin:0}.admin-body .admin-top{align-items:center;flex-direction:row}.admin-body .admin-nav a{flex:none;text-align:start}.admin-menu-toggle{display:grid;place-items:center}.admin-top-title{margin-inline-end:auto}.admin-top-actions>.btn{display:none}.pending-review-row{grid-template-columns:minmax(170px,1fr) minmax(130px,.7fr) auto}.pending-review-row>div:nth-child(3){display:none}.auth-shell{grid-template-columns:1fr}.auth-visual{min-height:330px;padding:24px}.auth-message{padding:48px 0 12px}.auth-message h1{font-size:clamp(2.2rem,8vw,3.8rem)}.auth-pulse{position:absolute;inset-inline-end:24px;bottom:18px}.auth-visual ul{display:none}.auth-content{padding:20px} }
@media (max-width:680px) { .dashboard-heading,.seo-hero,.seo-savebar{align-items:stretch;flex-direction:column}.dashboard-heading .btn,.seo-savebar .btn{width:100%}.dashboard-kpis{grid-template-columns:1fr}.dashboard-kpi{min-height:128px}.pending-review-panel>header{align-items:flex-start}.pending-review-row{grid-template-columns:1fr;align-items:start}.pending-review-row>div:nth-child(2){display:none}.pending-review-actions{width:100%;grid-auto-flow:column;grid-template-columns:1fr 1fr}.pending-review-actions .btn{width:100%}.recent-visitor-list>div{grid-template-columns:36px minmax(0,1fr) 46px}.recent-visitor-list>div>span:nth-last-child(2){display:none}.dashboard-bars>div{grid-template-columns:90px minmax(80px,1fr) 34px}.seo-fields.two-col,.menu-style-controls{grid-template-columns:1fr}.seo-fields .full{grid-column:auto}.auth-card{padding:22px 16px}.auth-content{padding:12px}.auth-visual{min-height:280px}.auth-message p{display:none}.auth-options{align-items:flex-start;flex-direction:column}.admin-top-actions>div{display:none} }

/* Customer and license management */
.customer-register-shell { grid-template-columns:minmax(360px,38%) minmax(0,1fr); }
.customer-register-card { width:min(100%,760px); }
.customer-flow-list { display:grid; gap:12px; margin:0; padding:0; list-style:none; counter-reset:customer-flow; color:#b7d2d5; }
.customer-flow-list li { display:flex; align-items:center; gap:10px; counter-increment:customer-flow; }
.customer-flow-list li::before { content:counter(customer-flow); width:28px; height:28px; flex:0 0 auto; display:grid; place-items:center; border:1px solid rgba(32,200,232,.34); border-radius:50%; color:#7ce8f1; background:rgba(32,200,232,.08); font-size:.72rem; font-weight:900; }
.commercial-intro,.customer-hero { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:16px; padding:22px 24px; border:1px solid var(--line); border-radius:8px; background:linear-gradient(90deg,rgba(32,200,232,.07),rgba(255,255,255,.85) 58%); }
.commercial-intro h2,.commercial-intro p,.customer-hero h1,.customer-hero p { margin-bottom:0; }
.commercial-intro p,.customer-hero p { color:var(--muted); }
.commercial-stats { margin-top:0; }
.commercial-list { display:grid; gap:16px; }
.commercial-card { overflow:hidden; box-shadow:0 12px 38px rgba(18,91,108,.07); }
.commercial-card>header { min-height:86px; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:15px 18px; border-bottom:1px solid var(--line); background:var(--surface-solid); }
.commercial-card>header>div { display:grid; gap:3px; }
.commercial-card>header h2,.commercial-card>header small { margin:0; }
.commercial-card>header h2 { font-family:var(--body-font); font-size:1.18rem; }
.commercial-card>header small { color:var(--muted); }
.commercial-fields { padding:18px; }
.commercial-card>footer { display:flex; flex-wrap:wrap; gap:8px; padding:13px 18px; border-top:1px solid var(--line); background:rgba(32,200,232,.035); }
.commercial-plan-form { margin:0; border:0; border-radius:0; box-shadow:none; }
.module-picker { display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:12px; border:1px solid var(--line); border-radius:8px; background:var(--surface-solid); }
.module-picker>label { min-height:38px; display:flex; align-items:center; gap:7px; padding:6px 9px; border:1px solid var(--line); border-radius:7px; color:var(--text); cursor:pointer; font-size:.78rem; font-weight:800; }
.module-picker input { width:18px; min-height:18px; height:18px; margin:0; accent-color:var(--teal); }
.module-picker>small { flex-basis:100%; color:var(--muted); }
.license-card small[dir="ltr"] { direction:ltr; text-align:right; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; }
.license-actions { align-items:center; }
.customer-portal-body { background:#f6fafb; }
.customer-main { max-width:1320px; }
.customer-top .brand img { width:112px; }
.customer-hero { margin-top:18px; }
.customer-hero h1 { font-size:clamp(2rem,4vw,3.8rem); }
.customer-stats .stat-card b { overflow-wrap:anywhere; font-size:clamp(1.35rem,2.4vw,2rem); }
.customer-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px; }
.customer-card { padding:22px; }
.customer-card>small,.customer-card>p { display:block; color:var(--muted); }
.customer-card>b { color:var(--blue); font-size:1.25rem; }
.customer-progress { display:grid; gap:12px; margin:20px 0 0; padding:0; list-style:none; counter-reset:progress; }
.customer-progress li { min-height:42px; display:flex; align-items:center; gap:10px; color:var(--muted); counter-increment:progress; }
.customer-progress li::before { content:counter(progress); width:30px; height:30px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; background:var(--surface-solid); font-size:.72rem; font-weight:900; }
.customer-progress li.done { color:#08796f; font-weight:900; }.customer-progress li.done::before { content:"✓"; border-color:rgba(0,184,173,.35); background:rgba(0,184,173,.1); }
.customer-progress li.current { color:var(--blue); font-weight:900; }.customer-progress li.current::before { border-color:rgba(29,124,242,.35); background:rgba(29,124,242,.08); }
.customer-license-list { padding:0; overflow:hidden; }.customer-license-list>header { padding:18px 22px; border-bottom:1px solid var(--line); }.customer-license-list h2 { margin:2px 0 0; }
.customer-license-row { min-height:72px; display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:12px; padding:12px 22px; border-bottom:1px solid var(--line); }
.customer-license-row:last-child { border-bottom:0; }.customer-license-row>div { min-width:0; display:grid; }.customer-license-row small { color:var(--muted); }
.customer-empty { max-width:760px; margin:80px auto; padding:40px; text-align:center; }
@media (max-width:980px) { .customer-register-shell{grid-template-columns:1fr}.customer-grid{grid-template-columns:1fr}.commercial-intro,.customer-hero{align-items:flex-start;flex-direction:column}.commercial-card>header{align-items:flex-start;flex-direction:column}.customer-flow-list{display:none} }
@media (max-width:680px) { .commercial-intro,.customer-hero{padding:18px 14px}.commercial-fields{padding:14px}.commercial-card>footer,.license-actions{display:grid;grid-template-columns:1fr}.commercial-card>footer .btn{width:100%}.customer-license-row{grid-template-columns:1fr;align-items:start}.customer-license-row .btn{width:100%}.module-picker{align-items:stretch;flex-direction:column}.module-picker>label{width:100%} }
.ticket-message{margin:14px 0;padding:16px;border:1px solid var(--border,#dfe6e9);border-radius:14px;background:rgba(255,255,255,.72)}.ticket-message.admin{border-right:4px solid var(--primary,#20c8e8)}.ticket-message p{white-space:normal;line-height:1.9}.ticket-message small{opacity:.65}
