:root{--rivil-green:#85c420;--rivil-green-dark:#6ba118;--rivil-green-soft:#a8e04a;--ink-900:#0d0f10;--ink-800:#15181a;--ink-700:#1c2023;--ink-600:#222629;--ink-500:#2d3236;--ink-400:#3a4045;--ink-300:#575b5f;--ink-200:#8a8f94;--ink-100:#c7cacd;--ink-050:#f8f9fa;--paper-000:#fff;--paper-100:#f8f9fa;--paper-200:#eff1f3;--paper-300:#e2e5e8;--paper-400:#c7cacd;--accent:var(--rivil-green);--accent-soft:var(--rivil-green-soft);--accent-ink:#0d0f10;--font-display:"Plus Jakarta Sans", system-ui, sans-serif;--font-body:"Public Sans", system-ui, sans-serif;--font-mono:"JetBrains Mono", monospace;--r-xs:8px;--r-sm:12px;--r-md:16px;--r-lg:22px;--r-xl:28px;--r-pill:999px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--s-10:40px}:root[data-accent=rivil-green]{--accent:#85c420;--accent-soft:#a8e04a;--accent-ink:#0d0f10}:root[data-accent=amber]{--accent:#f2a93b;--accent-soft:#f7c36e;--accent-ink:#1a1208}:root[data-accent=cobalt]{--accent:#4d7cfe;--accent-soft:#84a4ff;--accent-ink:#061026}:root[data-accent=coral]{--accent:#f26c4f;--accent-soft:#ff9277;--accent-ink:#260a04}:root[data-density=compact]{--row-pad:10px 14px;--gap-row:8px;--card-pad:18px}:root[data-density=comfortable]{--row-pad:14px 18px;--gap-row:12px;--card-pad:24px}:root[data-density=airy]{--row-pad:18px 22px;--gap-row:16px;--card-pad:32px}*{box-sizing:border-box;-webkit-font-smoothing:antialiased}html,body{height:100%;margin:0;padding:0}body{font-family:var(--font-body);color:var(--ink-900);background:#e8eaec;overflow:hidden}button{cursor:pointer;font-family:inherit}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.stage{background:radial-gradient(1200px 800px at 20% 0,#f1f3f5 0%,#0000 60%),radial-gradient(900px 600px at 100% 100%,#e0e3e6 0%,#0000 60%),linear-gradient(#eaecee 0%,#d7dadd 100%);justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.stage-grid{pointer-events:none;background-image:linear-gradient(#0000000a 1px,#0000 1px),linear-gradient(90deg,#0000000a 1px,#0000 1px);background-size:32px 32px;position:absolute;inset:0}.stage-shell{justify-content:center;align-items:center;width:min(100%,1320px);height:100%;padding:24px;display:flex;position:relative}.phone{width:100%;height:100dvh;position:fixed;inset:0}.phone[data-theme=dark]{background:#0d0f10}.phone[data-theme=light]{background:#fff}.phone-screen{flex-direction:column;max-width:480px;margin:0 auto;display:flex;position:absolute;inset:0}.status-bar{font-family:var(--font-display);color:var(--screen-ink);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 28px 4px;font-size:15px;font-weight:700;display:flex}.status-bar .icons{align-items:center;gap:6px;display:flex}.status-bar .icons svg{width:16px;height:16px}.phone[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--screen-ink:#fff;--screen-bg:#0d0f10;--surface:#1c2023;--surface-2:#2a2e32;--hairline:#ffffff14;--muted:#8a8f94}.phone[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--screen-ink:#0d0f10;--screen-bg:#fff;--surface:#f4f6f8;--surface-2:#eaedef;--hairline:#00000014;--muted:#575b5f}.app-frame{flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.app-header{z-index:5;flex-shrink:0;justify-content:space-between;align-items:center;padding:8px 22px 12px;display:flex;position:relative}.app-header .icon-btn{width:40px;height:40px;color:var(--screen-ink);border-radius:var(--r-pill);background:0 0;border:none;justify-content:center;align-items:center;transition:background .15s;display:flex}.app-header .icon-btn:hover{background:var(--hairline)}.app-logo{align-items:center;height:22px;display:flex}.app-logo svg{width:auto;height:100%}.app-body{-webkit-overflow-scrolling:touch;flex:1;position:relative;overflow:hidden auto}.app-body::-webkit-scrollbar{width:0}.tabbar{background:linear-gradient(180deg, transparent 0%, var(--screen-bg) 60%);z-index:5;flex-shrink:0;grid-template-columns:1fr auto 1fr;align-items:end;gap:8px;padding:12px 20px 28px;display:grid;position:relative}.tabbar-item{color:var(--muted);font-family:var(--font-body);background:0 0;border:none;flex-direction:column;align-items:center;gap:4px;padding:6px 4px;font-size:11px;font-weight:500;transition:color .15s;display:flex}.tabbar-item.active{color:var(--screen-ink)}.tabbar-item svg{stroke-width:1.5px;width:26px;height:26px}.tabbar-fab{background:var(--accent);width:65px;height:65px;color:var(--accent-ink);box-shadow:0 8px 24px -4px color-mix(in srgb, var(--accent) 50%, transparent);border:none;border-radius:50%;justify-content:center;align-items:center;margin-bottom:16px;transition:transform .15s;display:flex}.tabbar-fab:hover{transform:translateY(-2px)}.tabbar-fab svg{width:24px;height:24px}.tabbar-label-fab{color:var(--screen-ink);white-space:nowrap;font-size:11px;font-weight:600;position:absolute;bottom:-16px;left:50%;transform:translate(-50%)}.surface{background:var(--surface);border-radius:var(--r-md)}.row{padding:var(--row-pad);background:var(--surface);border-radius:var(--r-pill);color:var(--screen-ink);font-family:var(--font-body);align-items:center;gap:12px;font-size:14px;display:flex}.row .row-icon{width:32px;height:32px;color:var(--muted);flex-shrink:0;justify-content:center;align-items:center;display:flex}.row .row-icon svg{width:18px;height:18px}.btn-pill{border-radius:var(--r-pill);background:var(--accent);color:var(--accent-ink);font-family:var(--font-display);border:none;justify-content:center;align-items:center;gap:8px;padding:14px 22px;font-size:15px;font-weight:700;transition:transform .12s,box-shadow .15s;display:inline-flex}.btn-pill:hover{box-shadow:0 8px 20px -6px color-mix(in srgb, var(--accent) 50%, transparent);transform:translateY(-1px)}.btn-pill.ghost{background:var(--surface);color:var(--screen-ink)}.btn-pill.outlined{color:var(--screen-ink);border:1.5px solid var(--hairline);background:0 0}.btn-pill.dark{background:var(--ink-900);color:#fff}.phone[data-theme=light] .btn-pill.dark{color:#fff;background:#0d0f10}.h-display{font-family:var(--font-display);letter-spacing:-.02em;color:var(--screen-ink);font-weight:800;line-height:1.05}.h-1{font-size:32px}.h-2{font-size:24px}.h-3{font-size:18px}.t-body{font-family:var(--font-body);color:var(--screen-ink);font-size:14px;line-height:1.5}.t-muted{color:var(--muted)}.t-mono{font-family:var(--font-mono)}.bizcard{border-radius:var(--r-xl);aspect-ratio:9/14;isolation:isolate;cursor:pointer;width:100%;transition:transform .25s,box-shadow .25s;position:relative;overflow:hidden}.bizcard:hover{transform:translateY(-4px)}.bizcard[data-template=premium]{color:#fff;background:radial-gradient(120% 80% at 50% -20%,#ffffff2e 0%,#0000 60%),linear-gradient(#2c3035 0%,#0f1112 100%);box-shadow:0 24px 48px -16px #0006,inset 0 1px #ffffff0f}.bizcard[data-template=minimal]{color:#0d0f10;background:#fff;box-shadow:0 24px 48px -16px #0000002e,inset 0 0 0 1px #0000000a}.bizcard[data-template=creative]{background:radial-gradient(140% 100% at 100% 0%, var(--accent-soft) 0%, transparent 55%), radial-gradient(120% 100% at 0% 100%, color-mix(in srgb, var(--accent) 60%, transparent) 0%, transparent 55%), linear-gradient(180deg, #161819 0%, #0b0c0d 100%);color:#fff;box-shadow:0 24px 48px -16px #00000073,inset 0 1px #ffffff14}.bizcard[data-template=mono]{color:#fff;background:#0d0f10;box-shadow:0 24px 48px -16px #0000008c}.bizcard[data-template=mono]:before{content:"";pointer-events:none;background:repeating-linear-gradient(45deg,#0000 0 24px,#ffffff06 24px 25px);position:absolute;inset:0}.bizcard[data-template=accent]{background:var(--accent);color:var(--accent-ink);box-shadow:0 24px 48px -16px color-mix(in srgb, var(--accent) 50%, transparent)}.bizcard[data-template=accent] .bizcard-logo{color:#fff;background:#0d0f10}.bizcard[data-template=accent] .avatar{color:#fff;background:linear-gradient(135deg,#0d0f10,#2c3035);box-shadow:0 0 0 4px #00000014}.bizcard[data-template=accent] .bizcard-stripe .chip{background:#0000001f}.bizcard[data-template=terrazzo]{background:radial-gradient(circle at 22% 30%, var(--accent-soft) 40px, transparent 41px), radial-gradient(circle at 78% 70%, #bfe08a 28px, transparent 29px), radial-gradient(circle at 88% 18%, #f2a93b 16px, transparent 17px), radial-gradient(circle at 14% 82%, #4d7cfe 22px, transparent 23px), radial-gradient(circle at 50% 50%, var(--accent) 12px, transparent 13px), #f8f9fa;color:#0d0f10;box-shadow:0 24px 48px -16px #0000002e}.bizcard[data-template=terrazzo] .bizcard-stripe .chip{color:#fff;background:#0d0f10d9}.bizcard[data-template=terrazzo] .avatar{box-shadow:0 0 0 4px #ffffffb3}.screen-anim{animation:.42s cubic-bezier(.2,.85,.25,1) screenIn}@keyframes screenIn{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.screen-anim .app-body>*{animation:.5s cubic-bezier(.2,.85,.25,1) backwards rowIn}.screen-anim .app-body>:first-child{animation-delay:40ms}.screen-anim .app-body>:nth-child(2){animation-delay:80ms}.screen-anim .app-body>:nth-child(3){animation-delay:.12s}.screen-anim .app-body>:nth-child(4){animation-delay:.16s}.screen-anim .app-body>:nth-child(5){animation-delay:.2s}.screen-anim .app-body>:nth-child(6){animation-delay:.24s}@keyframes rowIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.dashboard{background:var(--paper-100);width:100%;height:100%;font-family:var(--font-body);color:var(--ink-900);grid-template-columns:240px 1fr;display:grid;overflow:hidden}.dash-sidebar{color:#fff;background:#0d0f10;flex-direction:column;gap:4px;padding:22px 16px;display:flex;overflow-y:auto}.dash-sidebar .brand{border-bottom:1px solid #ffffff14;align-items:center;gap:10px;margin-bottom:8px;padding:6px 8px 18px;display:flex}.dash-sidebar .brand-mark{background:var(--accent);color:#0d0f10;width:32px;height:32px;font-family:var(--font-display);border-radius:8px;justify-content:center;align-items:center;font-size:16px;font-weight:800;display:flex}.dash-nav{color:#ffffffb3;font-family:var(--font-body);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;padding:9px 10px;font-size:13px;font-weight:500;display:flex}.dash-nav:hover{color:#fff;background:#ffffff0f}.dash-nav.active{color:var(--accent);background:#85c42024}.dash-nav svg{width:17px;height:17px}.dash-section-label{text-transform:uppercase;letter-spacing:.08em;color:#fff6;padding:14px 10px 6px;font-size:10px;font-weight:600}.dash-main{overflow-y:auto}.dash-topbar{border-bottom:1px solid var(--paper-300);z-index:5;background:#fff;align-items:center;gap:16px;padding:16px 32px;display:flex;position:sticky;top:0}.dash-topbar h1{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:20px;font-weight:800}.dash-search{background:var(--paper-100);border-radius:var(--r-pill);border:1px solid var(--paper-300);max-width:360px;color:var(--ink-300);flex:1;align-items:center;gap:8px;padding:8px 14px;font-size:13px;display:flex}.dash-search input{color:var(--ink-900);background:0 0;border:none;outline:none;flex:1;font-size:13px}.dash-topbar svg,.dash-search svg,.dash-content button>svg,.dash-topbar button svg{flex-shrink:0;width:16px;height:16px}.dash-content{gap:20px;padding:24px 32px 48px;display:grid}.kpi-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.kpi{border:1px solid var(--paper-300);background:#fff;border-radius:14px;flex-direction:column;gap:6px;padding:18px;display:flex}.kpi .l{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-300);font-size:11px;font-weight:600}.kpi .v{font-family:var(--font-display);letter-spacing:-.02em;font-size:28px;font-weight:800}.kpi .d{color:var(--accent);font-size:12px;font-weight:600}.kpi .d.dn{color:#f26c4f}.dash-card{border:1px solid var(--paper-300);background:#fff;border-radius:14px;overflow:hidden}.dash-card .head{border-bottom:1px solid var(--paper-300);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.dash-card .head h3{font-family:var(--font-display);margin:0;font-size:14px;font-weight:700}.dash-card .head .sub{color:var(--ink-300);font-size:12px}.dash-card .body{padding:20px}.chart-area{align-items:flex-end;gap:4px;height:180px;display:flex}.chart-area .bar{background:linear-gradient(180deg, var(--accent), color-mix(in srgb, var(--accent) 50%, transparent));border-radius:3px 3px 0 0;flex:1;min-height:4px}.dash-row{border-bottom:1px solid var(--paper-200);grid-template-columns:32px 1fr auto auto auto;align-items:center;gap:14px;padding:10px 0;font-size:13px;display:grid}.dash-row:last-child{border-bottom:none}.dash-row .av{width:32px;height:32px;font-family:var(--font-display);color:#0d0f10;border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.dash-row .nm{font-weight:600}.dash-row .sb{color:var(--ink-300);font-size:11px}.web-grid{grid-template-columns:2fr 1fr;gap:20px;display:grid}.web-grid-3{grid-template-columns:1fr 1fr 1fr;gap:16px;display:grid}.dash-ai{color:#fff;background:linear-gradient(135deg,#0d0f10 0%,#1c2023 100%);border-radius:14px;align-items:flex-start;gap:18px;padding:22px;display:flex;position:relative;overflow:hidden}.dash-ai:before{content:"";background:radial-gradient(60% 80% at 100% 0%, color-mix(in srgb, var(--accent) 30%, transparent) 0%, transparent 60%);pointer-events:none;position:absolute;inset:0}.dash-ai .ai-mark{background:var(--accent);color:#0d0f10;z-index:1;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex;position:relative}.dash-ai-body{z-index:1;flex:1;position:relative}.dash-ai-body h4{font-family:var(--font-display);margin:0 0 4px;font-size:16px;font-weight:700}.dash-ai-body p{color:#ffffffb3;margin:0;font-size:13px;line-height:1.5}.dash-ai-body .actions{gap:8px;margin-top:12px;display:flex}.dash-ai-body .actions button{border-radius:var(--r-pill);cursor:pointer;border:none;padding:7px 12px;font-size:12px;font-weight:600}.dash-ai-body .actions .pri{background:var(--accent);color:#0d0f10}.dash-ai-body .actions .sec{color:#fff;background:#ffffff1a}.dash-tag{border-radius:var(--r-pill);background:var(--paper-200);color:var(--ink-300);align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-flex}.dash-tag.green{background:color-mix(in srgb, var(--accent) 15%, white);color:color-mix(in srgb, var(--accent) 80%, #000)}.dash-tag.amber{color:#b5761a;background:#fcefd8}.map-placeholder{background:radial-gradient(60% 80% at 30% 40%,#c2dea1 0%,#0000 60%),radial-gradient(50% 60% at 70% 70%,#9dc76d 0%,#0000 60%),repeating-linear-gradient(45deg,#e2e8da 0 12px,#dee5d5 12px 13px);border-radius:12px;justify-content:center;align-items:center;height:220px;display:flex;position:relative}.map-pin{background:var(--accent);width:14px;height:14px;box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 30%, transparent);border-radius:50%;position:absolute}.gallery-stage[data-mixed="1"]{gap:100px}.bizcard-inner{flex-direction:column;gap:16px;padding:28px 24px 22px;display:flex;position:absolute;inset:0}.bizcard-logo{background:var(--accent);width:28px;height:28px;font-family:var(--font-display);color:var(--accent-ink);border-radius:50%;justify-content:center;align-items:center;font-size:14px;font-weight:800;display:flex;position:absolute;top:18px;right:20px}.bizcard[data-template=minimal] .bizcard-logo{color:#fff;background:#0d0f10}.avatar{background:linear-gradient(135deg, var(--accent), color-mix(in srgb, var(--accent) 60%, #000));width:88px;height:88px;font-family:var(--font-display);color:var(--accent-ink);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:32px;font-weight:700;display:flex;box-shadow:0 0 0 4px #ffffff0f}.bizcard[data-template=minimal] .avatar{box-shadow:0 0 0 4px #0000000a}.bizcard-meta{flex-direction:column;gap:2px;margin-top:auto;display:flex}.bizcard-name{font-family:var(--font-display);letter-spacing:-.01em;font-size:22px;font-weight:700;line-height:1.15}.bizcard-role{font-family:var(--font-body);opacity:.7;font-size:13px}.bizcard-stripe{gap:8px;margin-top:14px;display:flex}.bizcard-stripe .chip{border-radius:var(--r-pill);font-family:var(--font-body);background:#ffffff14;align-items:center;gap:4px;padding:5px 10px;font-size:11px;font-weight:500;display:inline-flex}.bizcard[data-template=minimal] .bizcard-stripe .chip{background:#0000000f}.empty-illus{aspect-ratio:5/7;border:1.5px dashed var(--hairline);background:linear-gradient(#ffffff0a 0%,#fff0 100%),repeating-linear-gradient(135deg,#0000 0 12px,#ffffff06 12px 13px);border-radius:22px;flex-direction:column;justify-content:center;align-items:center;gap:16px;width:100%;padding:32px;display:flex;position:relative}.empty-illus .ph-circle{background:var(--hairline);border-radius:50%;width:64px;height:64px}.empty-illus .ph-line{border-radius:var(--r-pill);background:var(--hairline);width:70%;height:14px}.empty-illus .ph-line.short{width:40%;height:10px}.qr-frame{background:#fff;border-radius:22px;justify-content:center;align-items:center;width:240px;height:240px;margin:0 auto;padding:22px;display:flex;box-shadow:0 12px 28px -8px #00000040}.input-pill{background:var(--surface);border-radius:var(--r-pill);color:var(--screen-ink);border:none;align-items:center;gap:10px;width:100%;padding:12px 16px;display:flex}.input-pill input{color:var(--screen-ink);font-family:var(--font-body);background:0 0;border:none;outline:none;flex:1;font-size:14px}.input-pill input::placeholder{color:var(--muted)}.input-pill svg{width:16px;height:16px;color:var(--muted);flex-shrink:0}.toggle{background:var(--ink-400);cursor:pointer;border:none;border-radius:99px;flex-shrink:0;width:44px;height:26px;transition:background .2s;position:relative}.toggle:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .2s;position:absolute;top:3px;left:3px}.toggle.on:after{transform:translate(18px)}.phone[data-theme=light] .toggle{background:#c7cacd}.float-menu{background:var(--ink-900);border-radius:var(--r-pill);align-self:center;gap:4px;padding:10px 14px;display:inline-flex;box-shadow:0 8px 22px -6px #0000004d}.float-menu button{color:#ffffffd9;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;transition:background .15s;display:flex}.float-menu button:hover{background:#ffffff14}.float-menu button svg{width:18px;height:18px}.drawer-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:50;background:#0009;animation:.2s fadeIn;position:absolute;inset:0}.drawer{background:var(--surface);z-index:51;border-radius:20px 20px 0 0;flex-direction:column;height:90%;animation:.3s cubic-bezier(.2,.8,.2,1) slideUp;display:flex;position:absolute;bottom:0;left:0;right:0;overflow:hidden}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.drawer-item{color:var(--screen-ink);font-family:var(--font-body);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:0;align-items:center;gap:14px;width:100%;padding:12px 16px;font-size:14px;font-weight:500;transition:background .12s;display:flex}.drawer-item:active{background:var(--hairline)}.drawer-item svg{flex-shrink:0;width:20px;height:20px}.phone-label{font-family:var(--font-mono);color:#0d0f1080;text-transform:uppercase;letter-spacing:.08em;font-size:11px;position:absolute;top:-36px;left:0}.phone-label .num{border-radius:var(--r-pill);background:#0d0f100f;margin-right:8px;padding:3px 8px;font-weight:600;display:inline-block}.single-stage{justify-content:center;align-items:center;width:100%;height:100%;padding:24px;display:flex}.gallery-stage{scroll-snap-type:x mandatory;align-items:center;gap:80px;height:100%;padding:80px;scroll-padding:80px;display:flex;overflow:auto hidden}.gallery-stage::-webkit-scrollbar{height:8px}.gallery-stage::-webkit-scrollbar-thumb{background:#00000026;border-radius:99px}.gallery-item{scroll-snap-align:start;flex-shrink:0;position:relative}.view-nav{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:var(--r-pill);z-index:40;background:#ffffffd9;border:1px solid #0000000a;gap:8px;padding:6px;display:flex;position:fixed;top:16px;left:16px;box-shadow:0 4px 16px -4px #0000001a}.view-nav button{border-radius:var(--r-pill);font-family:var(--font-body);color:#575b5f;background:0 0;border:none;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:500;display:flex}.view-nav button.active{color:#fff;background:#0d0f10}.view-nav button:hover:not(.active){background:#0000000a}.view-nav .sep{background:#00000014;width:1px;margin:4px 2px}.scanner-view{border-radius:var(--r-lg);aspect-ratio:4/5;background:radial-gradient(80% 60% at 50% 40%,#2d3035 0%,#0b0c0d 100%);justify-content:center;align-items:center;margin:0 20px;display:flex;position:relative;overflow:hidden}.scanner-frame{aspect-ratio:9/5;border-radius:14px;width:70%;position:relative}.scanner-frame:before,.scanner-frame:after,.scanner-frame>.corner-tl,.scanner-frame>.corner-tr,.scanner-frame>.corner-bl,.scanner-frame>.corner-br{content:"";border:3px solid var(--accent);width:22px;height:22px;position:absolute}.scanner-frame .corner-tl{border-bottom:none;border-right:none;border-radius:8px 0 0;top:-2px;left:-2px}.scanner-frame .corner-tr{border-bottom:none;border-left:none;border-radius:0 8px 0 0;top:-2px;right:-2px}.scanner-frame .corner-bl{border-top:none;border-right:none;border-radius:0 0 0 8px;bottom:-2px;left:-2px}.scanner-frame .corner-br{border-top:none;border-left:none;border-radius:0 0 8px;bottom:-2px;right:-2px}.scanner-frame:before,.scanner-frame:after{display:none}.scan-line{background:linear-gradient(90deg, transparent, var(--accent), transparent);height:2px;box-shadow:0 0 14px var(--accent);animation:2.4s ease-in-out infinite scanMove;position:absolute;left:6%;right:6%}@keyframes scanMove{0%{opacity:0;top:12%}20%{opacity:1}80%{opacity:1}to{opacity:0;top:88%}}.ai-pill{border-radius:var(--r-pill);background:color-mix(in srgb, var(--accent) 18%, transparent);color:var(--accent);font-family:var(--font-body);border:1px solid color-mix(in srgb, var(--accent) 35%, transparent);align-items:center;gap:6px;padding:5px 11px;font-size:11px;font-weight:600;display:inline-flex}.ai-pill svg{width:12px;height:12px}.section-title{justify-content:space-between;align-items:baseline;margin:4px 0 10px;padding:0 4px;display:flex}.section-title h3{font-family:var(--font-display);color:var(--screen-ink);letter-spacing:-.01em;margin:0;font-size:18px;font-weight:700}.section-title a{font-family:var(--font-body);color:var(--muted);font-size:12px;font-weight:500;text-decoration:none}.contact-row{text-align:left;width:100%;color:var(--screen-ink);border-radius:var(--r-md);background:0 0;border:none;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:10px 4px;transition:background .12s;display:grid}.contact-row:hover{background:var(--hairline)}.contact-row .avatar-sm{background:var(--surface-2);width:44px;height:44px;font-family:var(--font-display);color:var(--screen-ink);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;font-weight:700;display:flex}.contact-row .meta{flex-direction:column;min-width:0;display:flex}.contact-row .name{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;line-height:1.2;overflow:hidden}.contact-row .sub{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.2;overflow:hidden}.contact-row .right{color:var(--muted);align-items:center;gap:6px;display:flex}.stat-tile{background:var(--surface);border-radius:var(--r-md);flex-direction:column;gap:6px;padding:16px;display:flex}.stat-tile .label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:500}.stat-tile .value{font-family:var(--font-display);color:var(--screen-ink);letter-spacing:-.02em;font-size:24px;font-weight:800;line-height:1}.stat-tile .delta{color:var(--accent);font-size:11px;font-weight:600}.stat-tile .delta.down{color:#f26c4f}.spark{align-items:flex-end;gap:3px;height:38px;margin-top:8px;display:flex}.spark span{background:var(--accent);opacity:.8;border-radius:2px;flex:1}.onb{flex-direction:column;flex:1;gap:18px;padding:22px;display:flex}.onb-hero{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;display:flex}.onb-step-dots{justify-content:center;gap:6px;padding-top:6px;display:flex}.onb-step-dots span{background:var(--hairline);border-radius:50%;width:6px;height:6px}.onb-step-dots span.active{background:var(--accent);border-radius:99px;width:18px}.onb-hero-graphic{width:240px;height:240px;margin-bottom:12px;position:relative}.logo-mark{background:var(--accent);width:44px;height:44px;color:var(--accent-ink);font-family:var(--font-display);border-radius:12px;justify-content:center;align-items:center;font-size:22px;font-weight:800;display:flex}.swatch-row{flex-wrap:wrap;gap:10px;display:flex}.swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;flex-shrink:0;width:32px;height:32px;position:relative}.swatch.active{border-color:var(--screen-ink)}.swatch.active:after{content:"";border:1.5px solid var(--accent);border-radius:50%;position:absolute;inset:-5px}.template-thumb{aspect-ratio:9/14;cursor:pointer;border:2px solid #0000;border-radius:12px;transition:transform .15s;position:relative;overflow:hidden}.template-thumb:hover{transform:translateY(-2px)}.template-thumb.active{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 25%, transparent)}.template-thumb .label{font-size:9px;font-family:var(--font-mono);color:#fff;border-radius:var(--r-pill);background:#0009;padding:2px 6px;position:absolute;bottom:6px;left:6px}.action-bar{background:linear-gradient(180deg, transparent 0%, var(--screen-bg) 70%);grid-template-columns:1fr 1fr;gap:10px;padding:12px 18px 18px;display:grid}.divider{background:var(--hairline);height:1px;margin:12px 0}.kbd{font-family:var(--font-mono);color:var(--ink-300);background:#0000000f;border:1px solid #0000000a;border-radius:4px;padding:2px 6px;font-size:10px}.phone[data-theme=dark] .kbd{color:var(--ink-100);background:#ffffff0f;border-color:#ffffff0a}.ai-card{border-radius:var(--r-md);background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 16%, transparent) 0%, transparent 60%), var(--surface);border:1px solid color-mix(in srgb, var(--accent) 28%, transparent);align-items:flex-start;gap:12px;padding:14px 14px 14px 16px;display:flex;position:relative}.ai-card .ai-avatar{background:var(--accent);width:32px;height:32px;color:var(--accent-ink);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.ai-card .ai-avatar svg{width:16px;height:16px}.ai-card .ai-body{flex-direction:column;flex:1;gap:8px;display:flex}.ai-card .ai-body p{color:var(--screen-ink);margin:0;font-size:13px;line-height:1.45}.ai-card .ai-actions{gap:6px;display:flex}.ai-card .ai-actions button{font-family:var(--font-body);border-radius:var(--r-pill);background:var(--surface-2);color:var(--screen-ink);cursor:pointer;border:none;padding:5px 10px;font-size:11px;font-weight:600}.ai-card .ai-actions button.primary{background:var(--accent);color:var(--accent-ink)}.dot{background:var(--accent);width:8px;height:8px;box-shadow:0 0 0 2px var(--surface);border-radius:50%;position:absolute;top:8px;right:8px}:root[data-density=compact] .h-1{font-size:26px}:root[data-density=airy] .h-1{font-size:36px}.dash-filter-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:4px;display:flex}.filter-chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border-radius:var(--r-pill);border:1px solid var(--paper-300);cursor:pointer;color:var(--ink-300);font-size:12px;font-weight:500;font-family:var(--font-body);background:#fff;padding:6px 12px}.chip.active{color:#fff;background:#0d0f10;border-color:#0d0f10}.filter-actions{gap:8px;display:flex}.btn-ghost{border-radius:var(--r-pill);border:1px solid var(--paper-300);cursor:pointer;color:var(--ink-700);font-size:12px;font-weight:500;font-family:var(--font-body);background:0 0;align-items:center;gap:6px;padding:7px 12px;display:inline-flex}.btn-ghost:hover{background:var(--paper-200)}.btn-ghost svg{width:13px;height:13px}.btn-ghost:disabled{opacity:.4;cursor:not-allowed}.dash-table{border-collapse:collapse;width:100%;font-size:13px}.dash-table thead th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-300);border-bottom:1px solid var(--paper-300);background:var(--paper-100);padding:12px 20px;font-size:10px;font-weight:600}.dash-table tbody td{border-bottom:1px solid var(--paper-200);vertical-align:middle;padding:12px 20px}.dash-table tbody tr:hover{background:var(--paper-100)}.dash-table tbody tr:last-child td{border-bottom:none}.dash-table .av{width:32px;height:32px;font-family:var(--font-display);color:#0d0f10;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.dash-table .nm{font-weight:600}.dash-table .sb{color:var(--ink-300);font-size:11px}.dash-table input[type=checkbox]{width:14px;height:14px;accent-color:var(--accent)}.score-cell{align-items:center;gap:8px;display:flex}.score-bar{background:var(--paper-200);border-radius:99px;flex:1;max-width:80px;height:5px;overflow:hidden}.score-fill{border-radius:99px;height:100%}.dash-pagination{border-top:1px solid var(--paper-300);justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.check{color:var(--accent);font-weight:700}.dash{color:var(--paper-300)}.stacked-bar{background:var(--paper-200);border-radius:99px;height:18px;display:flex;overflow:hidden}.stacked-bar>div{transition:width .3s}.funnel-row{background:var(--paper-100);border-radius:8px;margin-bottom:8px;padding:12px 14px;position:relative;overflow:hidden}.funnel-fill{background:color-mix(in srgb, var(--accent) 18%, white);position:absolute;top:0;bottom:0;left:0}.funnel-content{grid-template-columns:1fr auto auto;align-items:center;gap:12px;font-size:13px;display:grid;position:relative}.heatmap{grid-template-columns:40px repeat(24,1fr);gap:3px;font-size:10px;display:grid}.heatmap-label{color:var(--ink-300);font-size:11px;font-family:var(--font-mono);align-items:center;display:flex}.heatmap-cell{aspect-ratio:1;border-radius:3px;min-width:0}.heatmap-hour{color:var(--ink-300);text-align:center;font-size:10px;font-family:var(--font-mono);padding-top:6px}.branding-grid{grid-template-columns:1fr 1fr;gap:28px;display:grid}.bb-label{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-300);margin-bottom:12px;font-size:10px;font-weight:600}.logo-stage{background:var(--paper-100);border:1px dashed var(--paper-300);border-radius:12px;align-items:center;gap:16px;padding:18px;display:flex}.logo-mark{background:var(--accent);color:#0d0f10;width:56px;height:56px;font-family:var(--font-display);border-radius:12px;justify-content:center;align-items:center;font-size:28px;font-weight:800;display:flex}.logo-replace{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.color-tokens{grid-template-columns:1fr 1fr;gap:10px;display:grid}.ctok{background:var(--paper-100);border-radius:10px;align-items:center;gap:10px;padding:10px 12px;display:flex}.ctok .sw{border-radius:8px;flex-shrink:0;width:32px;height:32px}.ctok .nm{font-size:12px;font-weight:600}.ctok .sb{font-family:var(--font-mono);color:var(--ink-300);font-size:11px}.font-row{border-top:1px solid var(--paper-200);justify-content:space-between;align-items:center;padding:14px 0;display:flex}.font-row:first-of-type{border-top:none;padding-top:0}.font-row .sb{color:var(--ink-300);margin-top:2px;font-size:11px}.template-strip{grid-template-columns:repeat(5,1fr);gap:10px;display:grid}.template-thumb{aspect-ratio:9/14;cursor:pointer;border:2px solid #0000;border-radius:10px;position:relative;overflow:hidden}.template-thumb.selected{border-color:var(--accent)}.template-thumb .badge{z-index:2;background:var(--accent);color:#0d0f10;text-transform:uppercase;letter-spacing:.04em;border-radius:99px;padding:3px 6px;font-size:9px;font-weight:700;position:absolute;top:6px;left:6px}.toggle{background:var(--paper-300);cursor:pointer;border-radius:99px;flex-shrink:0;width:38px;height:22px;transition:background .2s;position:relative}.toggle.on{background:var(--accent)}.toggle .thumb{background:#fff;border-radius:50%;width:18px;height:18px;transition:left .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000026}.toggle.on .thumb{left:18px}.setting-row{border-bottom:1px solid var(--paper-200);align-items:center;gap:14px;padding:14px 0;display:flex}.setting-row:last-child{border-bottom:none}.setting-row>div:not(.toggle):not(.sso-mark):not(.lang-mark){flex:1}.setting-row .nm{font-size:13px;font-weight:600}.setting-row .sb{color:var(--ink-300);margin-top:2px;font-size:12px}.sso-mark{color:#fff;width:36px;height:36px;font-family:var(--font-display);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:800;display:flex}.audit-row{border-bottom:1px solid var(--paper-200);align-items:center;gap:14px;padding:12px 0;display:flex}.audit-row:last-child{border-bottom:none}.audit-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.audit-dot.high{background:#f26c4f;box-shadow:0 0 0 3px #f26c4f2e}.audit-dot.med{background:#f2a93b;box-shadow:0 0 0 3px #f2a93b2e}.audit-dot.low{background:var(--accent);box-shadow:0 0 0 3px #85c4202e}.billing-hero{color:#fff;background:linear-gradient(135deg,#0d0f10 0%,#1c2023 100%);border-radius:16px;grid-template-columns:1fr auto;align-items:center;gap:32px;padding:32px;display:grid;position:relative;overflow:hidden}.billing-hero:before{content:"";background:radial-gradient(60% 100% at 100% 100%, color-mix(in srgb, var(--accent) 25%, transparent) 0%, transparent 60%);pointer-events:none;position:absolute;inset:0}.bh-left{z-index:1;position:relative}.bh-tag{border-radius:var(--r-pill);text-transform:uppercase;letter-spacing:.08em;background:#ffffff1a;margin-bottom:10px;padding:4px 10px;font-size:10px;font-weight:600;display:inline-flex}.bh-left h2{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:32px;font-weight:800}.bh-left p{color:#ffffffb3;margin:4px 0 16px;font-size:14px}.bh-meta{align-items:center;gap:14px;font-size:14px;display:flex}.bh-meta strong{font-family:var(--font-display);font-size:18px;font-weight:800}.bh-meta .sep{background:#fff3;width:1px;height:16px}.bh-meta .sb{color:#ffffff8c;font-size:13px}.bh-btn{border-radius:var(--r-pill);color:#fff;cursor:pointer;font-size:13px;font-weight:600;font-family:var(--font-body);background:#ffffff14;border:1px solid #fff3;padding:10px 18px}.bh-btn.primary{background:var(--accent);color:#0d0f10;border-color:var(--accent)}.bh-right{z-index:1;position:relative}.seat-stats{align-items:center;gap:24px;display:flex}.seat-circle{width:140px;height:140px;position:relative}.seat-circle svg{width:100%;height:100%}.seat-num{font-family:var(--font-display);flex-direction:column;justify-content:center;align-items:center;font-size:36px;font-weight:800;display:flex;position:absolute;inset:0}.seat-num .sb{color:#ffffff80;margin-top:2px;font-size:11px;font-weight:500}.seat-list{flex-direction:column;gap:8px;font-size:13px;display:flex}.seat-list>div{align-items:center;gap:8px;display:flex}.dot-acc{background:var(--accent);border-radius:50%;width:10px;height:10px}.dot-empty{background:#ffffff26;border-radius:50%;width:10px;height:10px}.usage-bar{background:var(--paper-200);border-radius:99px;height:8px;overflow:hidden}.usage-fill{border-radius:99px;height:100%;transition:width .3s}.payment-card{color:#fff;aspect-ratio:16/9;font-family:var(--font-mono);background:linear-gradient(135deg,#0d0f10 0%,#2c3035 100%);border-radius:14px;flex-direction:column;justify-content:space-between;padding:20px;display:flex;position:relative;overflow:hidden}.payment-card:before{content:"";background:radial-gradient(60% 100% at 100% 0%, color-mix(in srgb, var(--accent) 30%, transparent) 0%, transparent 60%);position:absolute;inset:0}.pc-chip{z-index:1;background:linear-gradient(135deg,#c9b070,#8e7b40);border-radius:5px;width:36px;height:26px;position:relative}.pc-num{letter-spacing:.06em;z-index:1;font-size:18px;position:relative}.pc-meta{z-index:1;gap:24px;font-size:11px;display:flex;position:relative}.pc-label{color:#ffffff80;text-transform:uppercase;letter-spacing:.08em;margin-bottom:2px;font-size:9px}.pc-brand{font-family:var(--font-display);letter-spacing:.04em;z-index:1;font-size:18px;font-style:italic;font-weight:800;position:absolute;top:18px;right:20px}.insight-card{border:1px solid var(--paper-300);background:#fff;border-radius:14px;grid-template-columns:auto 1fr;gap:18px;padding:20px 24px;display:grid}.ic-tag{border-radius:var(--r-pill);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:6px;height:fit-content;padding:5px 10px;font-size:11px;font-weight:700;display:inline-flex}.ic-body h4{font-family:var(--font-display);letter-spacing:-.01em;margin:0 0 6px;font-size:16px;font-weight:700;line-height:1.3}.ic-body p{color:var(--ink-300);margin:0;font-size:13px;line-height:1.5}.ic-actions{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.ic-actions button{border-radius:var(--r-pill);border:1px solid var(--paper-300);cursor:pointer;font-size:12px;font-weight:600;font-family:var(--font-body);background:#fff;align-items:center;gap:5px;padding:7px 12px;display:inline-flex}.ic-actions .primary{color:#fff;background:#0d0f10;border-color:#0d0f10}.ic-actions .secondary{color:var(--ink-700);background:#fff}.ic-actions .ghost{color:var(--ink-300);border-color:#0000}.lang-preview-grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.lang-preview{background:var(--paper-100);border:1px solid var(--paper-300);border-radius:12px;flex-direction:column;gap:10px;padding:14px;display:flex}.lp-flag{background:var(--accent);color:#0d0f10;width:28px;height:28px;font-family:var(--font-mono);border-radius:6px;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.lp-card{flex-direction:column;gap:4px;display:flex}.lp-name{font-family:var(--font-display);font-size:14px;font-weight:700}.lp-role{color:var(--ink-700);font-size:12px}.lp-tag{color:var(--accent);margin-top:4px;font-size:11px;font-weight:600}.lp-loc{color:var(--ink-300);font-size:11px;font-family:var(--font-mono)}.lang-mark{background:var(--paper-200);width:36px;height:36px;color:var(--ink-700);font-family:var(--font-mono);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.glossary-grid{flex-wrap:wrap;gap:6px;display:flex}.glossary-tag{border-radius:var(--r-pill);background:var(--paper-100);border:1px solid var(--paper-300);align-items:center;gap:6px;padding:5px 10px;font-size:12px;font-weight:500;display:inline-flex}.btn-primary{border-radius:var(--r-md);cursor:pointer;background:var(--accent);color:var(--accent-ink,#0d0f10);font-family:var(--font-body);border:none;justify-content:center;align-items:center;gap:8px;padding:14px 20px;font-size:15px;font-weight:700;transition:opacity .15s,transform .1s;display:flex}.btn-primary:hover{opacity:.92}.btn-primary:active{transform:scale(.98)}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.btn-secondary{border-radius:var(--r-sm);cursor:pointer;background:var(--surface,#1c2023);color:var(--screen-ink);border:1px solid var(--hairline,#ffffff1a);font-family:var(--font-body);justify-content:center;align-items:center;gap:8px;padding:11px 16px;font-size:13px;font-weight:600;transition:background .15s;display:flex}.btn-secondary:hover{background:var(--surface-2,#2a2e32)}.spinner{border:3px solid var(--surface-2,#2a2e32);border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.ai-banner{border-radius:var(--r-sm);background:#85c42014;border:1px solid #85c4202e;align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.icon-btn{width:40px;height:40px;color:var(--screen-ink);border-radius:var(--r-pill);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:background .15s;display:flex}.icon-btn:hover{background:var(--hairline,#ffffff14)}@keyframes card-swing{0%{transform:rotate(0)}20%{transform:rotate(-3deg)}50%{transform:rotate(2deg)}75%{transform:rotate(-1deg)}90%{transform:rotate(.4deg)}to{transform:rotate(0)}}.card-swing{transform-origin:top;will-change:transform;animation:3s ease-in-out forwards card-swing}
