@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap";:root{--font-ui:"Plus Jakarta Sans", Inter, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--fs-micro:.6875rem;--fs-caption:.75rem;--fs-body:.875rem;--fs-md:1rem;--fs-lg:1.125rem;--fs-xl:1.375rem;--fs-2xl:1.75rem;--fs-3xl:2.25rem;--fs-display:3rem;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--sp-16:64px;--pad-card:16px;--pad-panel:20px;--pad-control-y:8px;--pad-control-x:12px;--r-xs:6px;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:22px;--r-pill:999px;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--dur-press:.12s;--dur-fast:.18s;--dur-mid:.24s;--dur-slow:.32s;--header-blur:saturate(180%) blur(20px)}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-canvas:#09090f;--surface-1:#101017;--surface-2:#16161f;--surface-3:#1d1d28;--surface-inset:#0c0c12;--surface-hover:#1c1c26;--surface-quiet:#ffffff08;--text-1:#f3f3f8;--text-2:#a9a9bd;--text-3:#7b7b90;--text-4:#545464;--border:#ffffff14;--border-soft:#ffffff0d;--border-strong:#ffffff26;--brand:#6e56f8;--brand-strong:#8570ff;--brand-ink:#ab9bff;--brand-soft:#6e56f829;--brand-softer:#6e56f814;--brand-border:#6e56f86b;--on-brand:#fff;--success:#34d399;--success-soft:#34d39921;--success-border:#34d39952;--warning:#fbbf24;--warning-soft:#fbbf2421;--warning-border:#fbbf2452;--danger:#fb7185;--danger-strong:#f43f5e;--danger-soft:#fb718521;--danger-border:#fb718552;--info:#38bdf8;--info-soft:#38bdf821;--heat-1:#38bdf8;--heat-2:#818cf8;--heat-3:#a78bfa;--heat-4:#f472b6;--heat-5:#fb923c;--lift-1:0 0 0 1px #ffffff0f;--lift-2:0 0 0 1px #ffffff14, 0 8px 24px #0000008c;--lift-3:0 0 0 1px #ffffff1a, 0 20px 48px #000000a8;--glow-brand:0 8px 26px #6e56f857;--header-bg:#09090fc7;--overlay-bg:#05050ac7;--grid-line:#8b7aff0e;--scrollbar-thumb:#ffffff21}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-canvas:#f3f4fa;--surface-1:#fff;--surface-2:#fafaff;--surface-3:#fff;--surface-inset:#eeeff7;--surface-hover:#f2f3fb;--surface-quiet:#14142b07;--text-1:#14142b;--text-2:#565672;--text-3:#82829b;--text-4:#aaaabe;--border:#14142b1a;--border-soft:#14142b0f;--border-strong:#14142b2e;--brand:#5b45e0;--brand-strong:#4a35cc;--brand-ink:#4a35cc;--brand-soft:#5b45e01c;--brand-softer:#5b45e00e;--brand-border:#5b45e057;--on-brand:#fff;--success:#0f766e;--success-soft:#0f766e1a;--success-border:#0f766e42;--warning:#b45309;--warning-soft:#b453091a;--warning-border:#b4530942;--danger:#be123c;--danger-strong:#9f1239;--danger-soft:#be123c17;--danger-border:#be123c3d;--info:#0369a1;--info-soft:#0369a117;--heat-1:#0284c7;--heat-2:#4f46e5;--heat-3:#7c3aed;--heat-4:#db2777;--heat-5:#ea580c;--lift-1:0 0 0 1px #14142b0d, 0 1px 2px -1px #14142b0f;--lift-2:0 0 0 1px #14142b0f, 0 1px 2px -1px #14142b12, 0 8px 20px -6px #14142b1a;--lift-3:0 0 0 1px #14142b12, 0 2px 4px -2px #14142b14, 0 24px 48px -12px #14142b2e;--glow-brand:0 8px 22px #5b45e04d;--header-bg:#f3f4fad1;--overlay-bg:#12122670;--grid-line:#14142b0a;--scrollbar-thumb:#14142b29}@keyframes jh7-fade-in{0%{opacity:0}to{opacity:1}}@keyframes jh7-rise-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes jh7-pop-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}@keyframes jh7-drop-in{0%{opacity:0;transform:translateY(-8px)scale(.98)}to{opacity:1;transform:none}}@keyframes jh7-pulse-ring{0%{opacity:.55;box-shadow:0 0}70%{opacity:0;box-shadow:0 0 0 6px}to{opacity:0;box-shadow:0 0}}@keyframes jh7-spin{to{transform:rotate(360deg)}}@keyframes jh7-shimmer{0%{transform:translate(-120%)}to{transform:translate(220%)}}.jh7-stagger>*{animation:jh7-rise-in var(--dur-slow) var(--ease-out) both}.jh7-stagger>:first-child{animation-delay:0s}.jh7-stagger>:nth-child(2){animation-delay:40ms}.jh7-stagger>:nth-child(3){animation-delay:80ms}.jh7-stagger>:nth-child(4){animation-delay:.12s}.jh7-stagger>:nth-child(5){animation-delay:.16s}.jh7-stagger>:nth-child(6){animation-delay:.2s}.jh7-stagger>:nth-child(7){animation-delay:.24s}.jh7-stagger>:nth-child(n+8){animation-delay:.28s}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.jh7-stagger>*{animation:none}}:root{--touch-target:44px;--mobile-nav-h:0px;--mobile-actionbar-h:0px}@media (width<=720px){:root{--pad-card:14px;--pad-panel:14px;--pad-control-y:10px;--pad-control-x:12px;--fs-body:1rem;--fs-caption:.8125rem;--fs-micro:.75rem;--fs-xl:1.25rem;--fs-2xl:1.5rem;--fs-3xl:1.875rem;--fs-display:2.25rem;--sp-8:24px;--sp-10:28px;--sp-12:32px;--sp-16:40px;--mobile-nav-h:62px;--mobile-actionbar-h:68px}}@media (width<=420px){:root{--pad-card:12px;--pad-panel:12px;--sp-6:20px}}html{font-family:var(--font-ui);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-synthesis:none;scroll-behavior:smooth;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}*{box-sizing:border-box}body{min-height:100dvh;font-size:var(--fs-body);line-height:1.5;font-weight:var(--fw-regular);color:var(--text-1);background-color:var(--bg-canvas);transition:background-color var(--dur-slow) var(--ease-out), color var(--dur-slow) var(--ease-out);margin:0;padding:0;overflow-x:hidden}#root{flex-direction:column;min-height:100dvh;display:flex}@media (hover:none) and (pointer:coarse){button,a,label,summary,[role=button]{-webkit-tap-highlight-color:transparent;touch-action:manipulation}}@media (display-mode:standalone),(display-mode:fullscreen){html,body{overscroll-behavior-y:none}body{-webkit-user-select:none;user-select:none}input,textarea,[contenteditable]{-webkit-user-select:text;user-select:text}}h1,h2,h3,h4{letter-spacing:-.02em;text-wrap:balance}p,li,span,label{text-wrap:pretty}::selection{background:var(--brand-soft);color:var(--text-1)}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--r-pill);background-clip:content-box;border:3px solid #0000}::-webkit-scrollbar-thumb:hover{background:var(--border-strong);background-clip:content-box}img{outline-offset:-1px;outline:1px solid #0000001a}[data-theme=dark] img{outline-color:#ffffff1a}.modal-overlay{z-index:99999;padding:var(--sp-5);background:var(--overlay-bg);-webkit-backdrop-filter:blur(8px);animation:jh7-fade-in var(--dur-fast) var(--ease-out);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{width:100%;max-width:440px;max-height:calc(100dvh - var(--sp-10));overscroll-behavior:contain;padding:var(--pad-panel);border:1px solid var(--border);border-radius:var(--r-xl);background:var(--surface-3);box-shadow:var(--lift-3);color:var(--text-1);font-family:var(--font-ui);text-align:center;animation:jh7-modal-in var(--dur-mid) var(--ease-out);flex-direction:column;align-items:center;display:flex;position:relative;overflow-y:auto}@keyframes jh7-modal-in{0%{opacity:0;transform:scale(.96)translateY(10px)}to{opacity:1;transform:none}}.modal-content.success:before,.modal-content.error:before,.modal-content.info:before{content:"";border-radius:0 0 var(--r-pill) var(--r-pill);width:84px;height:3px;position:absolute;top:0;left:50%;transform:translate(-50%)}.modal-content.success:before{background:var(--success)}.modal-content.error:before{background:var(--danger-strong)}.modal-content.info:before{background:var(--info)}.modal-icon{width:56px;height:56px;margin-bottom:var(--sp-4);border:1px solid var(--border);border-radius:50%;place-items:center;display:grid}.modal-icon svg{width:26px;height:26px}.success-icon{background:var(--success-soft);border-color:var(--success-border);color:var(--success);animation:jh7-icon-pop .42s var(--ease-spring)}.error-icon{background:var(--danger-soft);border-color:var(--danger-border);color:var(--danger);animation:jh7-icon-shake .42s var(--ease-out)}.info-icon{background:var(--info-soft);color:var(--info);animation:jh7-icon-pop .42s var(--ease-spring)}@keyframes jh7-icon-pop{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}@keyframes jh7-icon-shake{0%,to{transform:translate(0)}22%{transform:translate(-5px)}48%{transform:translate(5px)}74%{transform:translate(-3px)}}.modal-title{margin:0 0 var(--sp-2);color:var(--text-1);font-size:var(--fs-xl);font-weight:var(--fw-bold);letter-spacing:-.02em}.modal-message{margin:0 0 var(--sp-5);color:var(--text-2);font-size:var(--fs-body);line-height:1.6}.modal-error-details{width:100%;max-height:150px;margin-bottom:var(--sp-5);padding:var(--sp-3);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-inset);text-align:left;overflow-y:auto}.error-text{color:var(--danger);font-family:var(--font-mono);font-size:var(--fs-micro);word-break:break-word;margin:0;line-height:1.5}.modal-actions{justify-content:center;gap:var(--sp-2);flex-wrap:wrap;width:100%;display:flex}.modal-btn{min-height:40px;padding:var(--pad-control-y) var(--sp-5);border-radius:var(--r-sm);font-family:inherit;font-size:var(--fs-body);font-weight:var(--fw-semibold);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), transform var(--dur-press) var(--ease-out);border:1px solid #0000}.modal-btn:active:not(:disabled){transform:scale(.97)}.modal-btn.primary{background:var(--brand);min-width:120px;color:var(--on-brand);flex:1}.modal-btn.primary:hover:not(:disabled){background:var(--brand-strong);box-shadow:var(--glow-brand)}.modal-btn.secondary{border-color:var(--border);background:var(--surface-2);color:var(--text-2)}.modal-btn.secondary:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-hover);color:var(--text-1)}.modal-btn.danger{background:var(--danger-strong);color:#fff;flex:1;min-width:120px}.modal-btn.danger:hover:not(:disabled){filter:brightness(1.12)}.modal-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.image-cropper-modal{max-width:600px}.image-cropper-canvas{width:100%;max-height:60dvh;padding:var(--sp-4);border-radius:var(--r-sm);background:var(--surface-2);justify-content:center;display:flex;overflow:auto}.image-cropper-image{max-width:100%;max-height:50dvh}.image-cropper-actions{margin-top:var(--sp-5)}@media (width<=720px){.image-cropper-modal{max-width:none}.image-cropper-canvas{padding:var(--sp-2)}.image-cropper-image{max-height:44dvh}.modal-overlay{padding:0;padding-top:calc(var(--sp-8) + env(safe-area-inset-top,0px));align-items:flex-end}.modal-content{border-radius:var(--r-xl) var(--r-xl) 0 0;max-width:none;max-height:100%;padding:var(--sp-5) var(--pad-panel) calc(var(--sp-5) + env(safe-area-inset-bottom,0px));animation:jh7-sheet-in var(--dur-mid) var(--ease-out);border-bottom:0}@keyframes jh7-sheet-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.modal-actions{gap:var(--sp-2);flex-direction:column-reverse}.modal-actions .modal-btn{width:100%;min-height:var(--touch-target);flex:none}.modal-error-details{max-height:30dvh}}@media (prefers-reduced-motion:reduce){.modal-content{animation:jh7-fade-in var(--dur-fast) var(--ease-out)}}.theme-toggle{cursor:pointer;width:44px;height:44px;color:var(--text-2);border-radius:var(--r-pill);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.theme-toggle-track{border-radius:var(--r-pill);background:var(--surface-inset);border:1px solid var(--border);width:46px;height:26px;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);display:block;position:relative}.theme-toggle:hover .theme-toggle-track{border-color:var(--brand-border)}.theme-toggle-thumb{background:var(--surface-1);width:20px;height:20px;box-shadow:var(--lift-1);color:var(--brand);transition:transform var(--dur-mid) var(--ease-spring);border-radius:50%;place-items:center;display:grid;position:absolute;top:2px;left:2px}[data-theme=dark] .theme-toggle-thumb{transform:translate(20px)}.theme-toggle-icon{width:13px;height:13px;transition:opacity var(--dur-fast) var(--ease-out), transform var(--dur-mid) var(--ease-out);position:absolute}.theme-toggle-icon.sun{opacity:1;transform:rotate(0)scale(1)}.theme-toggle-icon.moon{opacity:0;transform:rotate(-90deg)scale(.6)}[data-theme=dark] .theme-toggle-icon.sun{opacity:0;transform:rotate(90deg)scale(.6)}[data-theme=dark] .theme-toggle-icon.moon{opacity:1;transform:rotate(0)scale(1)}.theme-toggle:active .theme-toggle-thumb{transform:scale(.92)}[data-theme=dark] .theme-toggle:active .theme-toggle-thumb{transform:translate(20px)scale(.92)}.theme-toggle:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.login-page{background:var(--bg-canvas);width:100%;min-height:100dvh;font-family:var(--font-ui);justify-content:center;align-items:center;margin:0;padding:0;display:flex;position:relative;overflow:hidden}.ambient-background{z-index:0;pointer-events:none;position:absolute;inset:0}.glow-orb{filter:blur(90px);opacity:.55;animation:jh7-orb-drift 24s var(--ease-in-out) infinite alternate;will-change:transform;border-radius:50%;position:absolute}.orb-1{background:radial-gradient(circle, var(--brand-soft) 0%, transparent 70%);width:560px;height:560px;top:-180px;left:-120px}.orb-2{background:radial-gradient(circle, color-mix(in oklab, var(--heat-1) 20%, transparent) 0%, transparent 70%);width:460px;height:460px;animation-delay:-8s;bottom:-160px;right:-140px}.orb-3{background:radial-gradient(circle, color-mix(in oklab, var(--heat-4) 16%, transparent) 0%, transparent 70%);width:380px;height:380px;animation-delay:-15s;top:42%;left:46%}@keyframes jh7-orb-drift{0%{transform:translate(0,0)scale(1)}50%{transform:translate(36px,-44px)scale(1.12)}to{transform:translate(-24px,26px)scale(.94)}}.login-card{z-index:1;width:100%;min-height:100dvh;animation:jh7-fade-in var(--dur-slow) var(--ease-out);grid-template-columns:1.05fr .95fr;display:grid;position:relative}.login-visual{padding:var(--sp-16) var(--sp-12);border-right:1px solid var(--border-soft);background:linear-gradient(150deg, var(--surface-2) 0%, var(--bg-canvas) 100%);color:var(--text-1);flex-direction:column;justify-content:center;display:flex;position:relative;overflow:hidden}.login-visual:before{content:"";z-index:0;background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);background-size:44px 44px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(90% 70% at 30% 40%,#000,#0000 78%);mask-image:radial-gradient(90% 70% at 30% 40%,#000,#0000 78%)}.visual-overlay{z-index:1;pointer-events:none;background:radial-gradient(120% 90% at 8% 8%, var(--brand-softer), transparent 55%);position:absolute;inset:0}.visual-content{z-index:2;max-width:520px;position:relative}.brand-badge{align-items:center;gap:var(--sp-2);width:fit-content;margin-bottom:var(--sp-8);padding:7px var(--sp-4);border:1px solid var(--brand-border);border-radius:var(--r-pill);background:var(--brand-soft);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--brand-ink);font-size:var(--fs-micro);font-weight:var(--fw-bold);letter-spacing:.18em;text-transform:uppercase;animation:jh7-rise-in var(--dur-slow) var(--ease-out) both;display:inline-flex}.brand-badge:before{content:"";background:var(--success);width:6px;height:6px;color:var(--success);animation:jh7-pulse-ring 2.2s var(--ease-out) infinite;border-radius:50%;box-shadow:0 0}.visual-title{margin:0 0 var(--sp-5);color:var(--text-1);font-size:var(--fs-display);font-weight:var(--fw-bold);letter-spacing:-.04em;animation:jh7-rise-in var(--dur-slow) var(--ease-out) 60ms both;line-height:1.05}.visual-title:after{content:".";color:var(--brand)}.visual-desc{margin:0 0 var(--sp-10);max-width:46ch;color:var(--text-2);font-size:var(--fs-md);animation:jh7-rise-in var(--dur-slow) var(--ease-out) .12s both;line-height:1.65}.features-list{gap:var(--sp-3);flex-direction:column;display:flex}.feature-item{align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border:1px solid var(--border-soft);border-radius:var(--r-md);background:var(--surface-quiet);color:var(--text-2);font-size:var(--fs-body);font-weight:var(--fw-medium);animation:jh7-rise-in var(--dur-slow) var(--ease-out) both;transition:border-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);display:flex}.feature-item:first-child{animation-delay:.18s}.feature-item:nth-child(2){animation-delay:.23s}.feature-item:nth-child(3){animation-delay:.28s}.feature-item:hover{border-color:var(--brand-border);transform:translate(3px)}.feature-icon{border-radius:var(--r-xs);background:var(--brand-soft);width:26px;height:26px;color:var(--brand);font-size:var(--fs-caption);flex-shrink:0;place-items:center;display:grid}.login-form-panel{padding:var(--sp-16) var(--sp-12);background:var(--surface-1);flex-direction:column;justify-content:center;display:flex;position:relative}.login-theme-toggle{top:var(--sp-6);right:var(--sp-6);position:absolute}.form-header{margin-bottom:var(--sp-8);animation:jh7-rise-in var(--dur-slow) var(--ease-out) both}.form-header h2{margin:0 0 var(--sp-2);color:var(--text-1);font-size:var(--fs-2xl);font-weight:var(--fw-bold);letter-spacing:-.03em}.subtitle{color:var(--text-3);font-size:var(--fs-body);margin:0}.login-form{gap:var(--sp-6);flex-direction:column;width:100%;max-width:420px;display:flex}.input-group{gap:var(--sp-5);flex-direction:column;display:flex}.field{animation:jh7-rise-in var(--dur-slow) var(--ease-out) both;flex-direction:column;gap:6px;display:flex}.field:first-of-type{animation-delay:60ms}.field:nth-of-type(2){animation-delay:.11s}.field>span,.field-header span{color:var(--text-2);font-size:var(--fs-caption);font-weight:var(--fw-medium)}.field-header{justify-content:space-between;align-items:center;gap:var(--sp-3);display:flex}.input-wrapper{position:relative}.field input{width:100%;min-height:46px;padding:var(--sp-3) var(--sp-4);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-inset);color:var(--text-1);font-family:inherit;font-size:var(--fs-md);transition:border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);outline:none}.field input::placeholder{color:var(--text-4)}.field input:hover{border-color:var(--border-strong)}.field input:focus{border-color:var(--brand);background:var(--surface-2);box-shadow:0 0 0 3px var(--brand-softer)}.input-focus-border{border-radius:var(--r-pill);background:var(--brand);width:0;height:2px;transition:width var(--dur-mid) var(--ease-out);position:absolute;bottom:0;left:50%;transform:translate(-50%)}.field input:focus~.input-focus-border{width:92%}.submit-btn{justify-content:center;align-items:center;gap:var(--sp-2);min-height:48px;padding:var(--sp-3) var(--sp-5);border-radius:var(--r-sm);background:var(--brand);color:var(--on-brand);font-family:inherit;font-size:var(--fs-md);font-weight:var(--fw-semibold);cursor:pointer;animation:jh7-rise-in var(--dur-slow) var(--ease-out) .16s both;transition:background-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), transform var(--dur-press) var(--ease-out);border:none;display:flex;position:relative;overflow:hidden}.submit-btn:before{content:"";background:linear-gradient(90deg,#0000,#ffffff59,#0000);width:45%;position:absolute;inset:0 auto 0 0;transform:translate(-140%)}.submit-btn:hover:not(:disabled){background:var(--brand-strong);box-shadow:var(--glow-brand)}.submit-btn:hover:not(:disabled):before{animation:jh7-shimmer .7s var(--ease-out)}.submit-btn:active:not(:disabled){transform:scale(.98)}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.btn-icon{transition:transform var(--dur-fast) var(--ease-out)}.btn-icon.slide{transform:translate(5px)}.helper-link{color:var(--text-3);font-size:var(--fs-caption);transition:color var(--dur-fast) var(--ease-out);text-decoration:none}.helper-link:hover{color:var(--brand-ink)}.form-footer{margin-top:var(--sp-1);color:var(--text-3);font-size:var(--fs-caption);text-align:center;animation:jh7-rise-in var(--dur-slow) var(--ease-out) .21s both}.signup-link{margin-left:var(--sp-1);color:var(--brand-ink);font-weight:var(--fw-medium);transition:color var(--dur-fast) var(--ease-out);text-decoration:none}.signup-link:hover{color:var(--brand-strong);text-decoration:underline}@media (width<=1080px){.login-card{grid-template-columns:1fr 1fr}.login-visual,.login-form-panel{padding:var(--sp-10) var(--sp-8)}.visual-title{font-size:var(--fs-3xl)}}@media (width<=760px){.login-card{grid-template-columns:1fr}.login-visual{display:none}.login-form-panel{padding:calc(var(--sp-10) + env(safe-area-inset-top,0px)) var(--sp-5) calc(var(--sp-10) + env(safe-area-inset-bottom,0px));background:0 0;align-items:center}.login-form{max-width:100%}}.install-banner{display:none}@media (width<=720px){.install-banner{left:var(--sp-3);right:var(--sp-3);bottom:calc(var(--mobile-nav-h) + env(safe-area-inset-bottom,0px) + var(--sp-3));z-index:92;align-items:center;gap:var(--sp-3);padding:var(--sp-3);border:1px solid var(--brand-border);border-radius:var(--r-md);background:var(--surface-3);box-shadow:var(--lift-3);animation:jh7-rise-in var(--dur-mid) var(--ease-out);display:flex;position:fixed}:is(.dashboard-layout:has(.editor-topbar-actions) .install-banner,.dashboard-layout:has(.settings-actions) .install-banner){bottom:calc(var(--mobile-nav-h) + env(safe-area-inset-bottom,0px) + var(--mobile-actionbar-h) + var(--sp-3))}.install-banner-icon{border-radius:var(--r-sm);background:var(--brand-softer);width:38px;height:38px;color:var(--brand-ink);flex-shrink:0;place-items:center;display:grid}.install-banner-icon svg{width:20px;height:20px}.install-banner-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.install-banner-text strong{color:var(--text-1);font-size:var(--fs-caption);font-weight:var(--fw-semibold)}.install-banner-text span{color:var(--text-3);font-size:var(--fs-micro);line-height:1.4}.install-banner-actions{align-items:center;gap:var(--sp-1);flex-shrink:0;display:flex}.install-banner-cta{min-height:var(--touch-target);padding:0 var(--sp-4);border-radius:var(--r-sm);background:var(--brand);color:#fff;font-family:inherit;font-size:var(--fs-caption);font-weight:var(--fw-semibold);cursor:pointer;border:0}.install-banner-cta:active{background:var(--brand-strong)}.install-banner-close{width:var(--touch-target);height:var(--touch-target);border-radius:var(--r-sm);color:var(--text-3);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.install-banner-close svg{width:16px;height:16px}.install-banner-close:active{background:var(--surface-hover);color:var(--text-1)}}.install-banner-key{border:1px solid var(--border);border-radius:var(--r-xs);background:var(--surface-inset);color:var(--text-1);font-size:.9em;font-weight:var(--fw-semibold);white-space:nowrap;align-items:center;gap:4px;padding:1px 6px;display:inline-flex}.install-banner-key svg{width:13px;height:13px;color:var(--brand-ink)}.install-steps{max-width:400px}.install-steps-title{color:var(--text-1);font-size:var(--fs-lg);font-weight:var(--fw-semibold);margin:0}.install-steps-lead{margin:var(--sp-1) 0 var(--sp-5);color:var(--text-3);font-size:var(--fs-caption)}.install-steps-list{gap:var(--sp-4);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.install-steps-list li{align-items:flex-start;gap:var(--sp-3);color:var(--text-2);font-size:var(--fs-caption);line-height:1.5;display:flex}.install-steps-num{border-radius:var(--r-pill);background:var(--brand-softer);width:24px;height:24px;color:var(--brand-ink);font-size:var(--fs-micro);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;flex-shrink:0;place-items:center;display:grid}.dashboard-layout{--system-max-width:1200px;background:var(--bg-canvas);width:100%;min-height:100vh;color:var(--text-1);font-family:var(--font-ui);flex-direction:column;display:flex}.dashboard-layout:before{content:"";pointer-events:none;z-index:0;background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);background-size:48px 48px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(80% 55% at 50% 0,#000 0%,#0000 75%);mask-image:radial-gradient(80% 55% at 50% 0,#000 0%,#0000 75%)}.dashboard-header{z-index:100;background:var(--header-bg);width:100%;-webkit-backdrop-filter:var(--header-blur);transition:border-color var(--dur-mid) var(--ease-out), box-shadow var(--dur-mid) var(--ease-out);border-bottom:1px solid #0000;flex-direction:column;align-items:center;display:flex;position:sticky;top:0}.dashboard-header[data-scrolled=true]{border-bottom-color:var(--border);box-shadow:0 1px 0 var(--border-soft), 0 12px 28px -22px #00000080}.header-content{justify-content:space-between;align-items:center;gap:var(--sp-3);width:100%;max-width:var(--system-max-width);padding:var(--sp-3) var(--sp-6);transition:padding var(--dur-mid) var(--ease-out);display:flex}.dashboard-header[data-scrolled=true] .header-content{padding-top:var(--sp-2);padding-bottom:var(--sp-2)}.header-brand{align-items:center;gap:var(--sp-3);min-width:0;display:flex}.brand-badge-small{border-radius:var(--r-xs);background:linear-gradient(135deg, var(--brand-strong), var(--brand));color:var(--on-brand);font-size:var(--fs-micro);font-weight:var(--fw-bold);letter-spacing:.09em;white-space:nowrap;box-shadow:var(--lift-1);padding:5px 9px}.header-brand-titles{flex-direction:column;gap:1px;min-width:0;display:flex}.header-brand h2{font-size:var(--fs-body);font-weight:var(--fw-medium);color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.header-company-name{color:var(--text-3);font-size:var(--fs-micro);font-weight:var(--fw-medium);letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.dashboard-header[data-scrolled=true] .header-company-name{display:none}.header-user{align-items:center;gap:var(--sp-2);display:flex}.user-menu-container{position:relative}.user-menu-trigger{align-items:center;gap:var(--sp-2);min-height:40px;padding:5px var(--sp-2) 5px 5px;border-radius:var(--r-pill);color:var(--text-1);font-family:inherit;font-size:var(--fs-caption);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), transform var(--dur-press) var(--ease-out);background:0 0;border:1px solid #0000;display:flex}.user-menu-trigger:hover{background:var(--surface-hover);border-color:var(--border)}.user-menu-trigger:active{transform:scale(.97)}.user-avatar{background:linear-gradient(135deg, var(--brand-strong), var(--brand));width:30px;height:30px;color:var(--on-brand);font-size:var(--fs-caption);font-weight:var(--fw-bold);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.user-greeting{color:var(--text-2);font-size:var(--fs-caption);font-weight:var(--fw-medium);white-space:nowrap}.dropdown-icon{color:var(--text-3);transition:transform var(--dur-fast) var(--ease-out)}.dropdown-icon.open{transform:rotate(180deg)}.user-dropdown-menu{top:calc(100% + var(--sp-2));width:248px;padding:var(--sp-1);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);box-shadow:var(--lift-3);z-index:1000;transform-origin:100% 0;animation:jh7-drop-in var(--dur-fast) var(--ease-out);position:absolute;right:0;overflow:hidden}.user-info-header{padding:var(--sp-3);border-radius:var(--r-sm);background:var(--surface-quiet);flex-direction:column;gap:2px;display:flex}.user-name{color:var(--text-1);font-size:var(--fs-body);font-weight:var(--fw-semibold)}.user-email{color:var(--text-3);font-size:var(--fs-caption);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.user-role-tag{margin-top:var(--sp-1);padding:2px var(--sp-2);border:1px solid var(--border-soft);color:var(--text-2);font-size:var(--fs-caption);font-weight:var(--fw-semibold);letter-spacing:.02em;text-transform:uppercase;border-radius:999px;align-self:flex-start}.route-guard-screen{background:var(--bg-1);justify-content:center;align-items:center;min-height:100vh;display:flex}.route-guard-spinner{border:3px solid var(--border-soft);border-top-color:var(--accent);border-radius:50%;width:34px;height:34px;animation:.7s linear infinite route-guard-spin}@keyframes route-guard-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.route-guard-spinner{animation-duration:2s}}.api-credentials-status{margin:0 0 var(--sp-4);font-size:var(--fs-caption);font-weight:var(--fw-semibold)}.api-credentials-status.ok{color:var(--success,#16a34a)}.api-credentials-status.pending{color:var(--text-3)}.menu-divider{height:1px;margin:var(--sp-1) 0;background:var(--border-soft)}.menu-item{align-items:center;gap:var(--sp-3);width:100%;min-height:40px;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-sm);color:var(--text-2);font-family:inherit;font-size:var(--fs-body);text-align:left;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:none;display:flex}.menu-item svg{color:var(--text-3);transition:color var(--dur-fast) var(--ease-out)}.menu-item:hover{background:var(--surface-hover);color:var(--text-1)}.menu-item:hover svg{color:var(--brand)}.menu-item.logout-item,.menu-item.logout-item svg{color:var(--danger)}.menu-item.logout-item:hover{background:var(--danger-soft);color:var(--danger)}.dashboard-nav{width:100%;max-width:var(--system-max-width);padding:0 var(--sp-6) var(--sp-2);scrollbar-width:none;overflow-x:auto}.dashboard-nav::-webkit-scrollbar{display:none}.nav-list{gap:var(--sp-1);padding:var(--sp-1);border:1px solid var(--border-soft);border-radius:var(--r-pill);background:var(--surface-inset);width:fit-content;margin:0;list-style:none;display:flex}.nav-item a{padding:var(--sp-2) var(--sp-4);border-radius:var(--r-pill);color:var(--text-3);font-size:var(--fs-caption);font-weight:var(--fw-medium);white-space:nowrap;transition:color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);text-decoration:none;display:block;position:relative}.nav-item a:hover{color:var(--text-1);background:var(--surface-hover)}.nav-item a.active{color:var(--on-brand);background:var(--brand);font-weight:var(--fw-semibold);box-shadow:var(--glow-brand)}.nav-item a.active:hover{color:var(--on-brand);background:var(--brand-strong)}.dashboard-main{padding:var(--sp-6) var(--sp-6) var(--sp-8);flex-direction:column;flex:1;align-items:center;display:flex;position:relative}.content-container{width:100%;max-width:var(--system-max-width);animation:jh7-rise-in var(--dur-slow) var(--ease-out)}.dashboard-footer{z-index:1;padding:var(--sp-3) var(--sp-6);border-top:1px solid var(--border-soft);background:var(--surface-quiet);justify-content:center;margin-top:auto;display:flex;position:relative}.footer-content{justify-content:space-between;align-items:center;gap:var(--sp-3);width:100%;max-width:var(--system-max-width);color:var(--text-3);font-size:var(--fs-caption);flex-wrap:wrap;display:flex}.footer-content p{margin:0}.footer-version{padding:3px var(--sp-2);border:1px solid var(--border-soft);border-radius:var(--r-xs);background:var(--surface-inset);color:var(--brand-ink);font-family:var(--font-mono);font-size:var(--fs-micro);font-variant-numeric:tabular-nums;white-space:nowrap}.version-control{padding:3px var(--sp-2);border:1px solid var(--border-soft);border-radius:var(--r-xs);background:var(--surface-inset);color:var(--text-3);font-family:var(--font-mono)}.overview-head{justify-content:space-between;align-items:flex-end;gap:var(--sp-4);margin-bottom:var(--sp-5);display:flex}.overview-heading h1{align-items:baseline;gap:var(--sp-3);color:var(--text-1);font-size:var(--fs-2xl);font-weight:var(--fw-bold);letter-spacing:-.02em;margin:0;display:flex}.overview-heading h1 span{color:var(--text-4);font-size:var(--fs-caption);font-weight:var(--fw-medium);letter-spacing:.08em;text-transform:uppercase}.overview-heading p{margin:var(--sp-2) 0 0;color:var(--text-3);font-size:var(--fs-caption)}.overview-range{border:1px solid var(--border-soft);border-radius:var(--r-pill);background:var(--surface-inset);flex-shrink:0;gap:2px;padding:3px;display:flex}.overview-range-btn{padding:6px var(--sp-3);border-radius:var(--r-pill);color:var(--text-3);font-size:var(--fs-micro);font-weight:var(--fw-medium);font-variant-numeric:tabular-nums;cursor:pointer;transition:color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);background:0 0;border:none;position:relative}.overview-range-btn:before{content:"";position:absolute;inset:-8px 0}.overview-range-btn:hover{color:var(--text-1)}.overview-range-btn.active{background:var(--surface-1);box-shadow:var(--lift-1);color:var(--text-1)}.overview-grid{gap:var(--sp-4);grid-template-columns:minmax(0,1.62fr) minmax(260px,1fr);display:grid}.overview-grid .span-full{grid-column:1/-1}.metric-hero,.metric-tile,.metric-panel{border:1px solid var(--border-soft);border-radius:var(--r-md);background:var(--surface-1);box-shadow:var(--lift-1)}.metric-hero{padding:var(--pad-panel);flex-direction:column;display:flex}.metric-hero header,.metric-panel header{justify-content:space-between;align-items:center;gap:var(--sp-3);display:flex}.metric-hero h2,.metric-panel h2,.metric-tile h3{color:var(--text-3);font-size:var(--fs-micro);font-weight:var(--fw-semibold);letter-spacing:.09em;text-transform:uppercase;margin:0}.metric-hero-value{margin:var(--sp-3) 0 0;color:var(--text-1);font-size:var(--fs-3xl);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums;letter-spacing:-.035em;line-height:1}.metric-hero-facts{gap:var(--sp-3);margin:var(--sp-5) 0 0;padding:var(--sp-4) 0 0;border-top:1px solid var(--border-soft);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.metric-hero-facts dt{color:var(--text-4);font-size:var(--fs-micro);font-weight:var(--fw-medium)}.metric-hero-facts dd{color:var(--text-1);font-size:var(--fs-md);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;margin:3px 0 0}.metric-hero-facts dd.is-alert{color:var(--danger)}.metric-chart{margin-top:var(--sp-5)}.metric-bars{align-items:flex-end;gap:2px;height:108px;margin:0;padding:0;list-style:none;display:flex}.metric-bars li{flex:1;justify-content:center;align-items:flex-end;min-width:0;height:100%;display:flex;position:relative}.metric-bar{background:var(--bar-heat,var(--heat-1));opacity:.78;transform-origin:bottom;width:100%;max-width:22px;animation:jh7-trend-grow var(--dur-slow) var(--ease-out) both;transition:opacity var(--dur-fast) var(--ease-out);border-radius:3px 3px 0 0;position:relative;overflow:hidden}.metric-bars li.is-zero .metric-bar{background:var(--border);opacity:1}.metric-bars li:hover .metric-bar{opacity:1}.metric-bar i{background:var(--danger);position:absolute;top:0;left:0;right:0}.metric-bar-tip{z-index:2;padding:5px var(--sp-2);border:1px solid var(--border);border-radius:var(--r-xs);background:var(--surface-3);box-shadow:var(--lift-2);color:var(--text-3);font-size:var(--fs-micro);font-variant-numeric:tabular-nums;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);flex-direction:column;align-items:center;gap:1px;display:flex;position:absolute;bottom:calc(100% + 6px);transform:translateY(4px)}.metric-bar-tip strong{color:var(--text-1);font-size:var(--fs-caption);font-weight:var(--fw-semibold)}.metric-bars li:hover .metric-bar-tip{opacity:1;transform:none}.metric-chart-axis{margin-top:var(--sp-2);padding-top:var(--sp-2);border-top:1px solid var(--border-soft);color:var(--text-4);font-size:var(--fs-micro);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;display:flex}.metric-column{gap:var(--sp-4);flex-direction:column;display:flex}.metric-tile{padding:var(--pad-card);flex-direction:column;flex:1;display:flex}.metric-tile-value{margin:var(--sp-2) 0 0;color:var(--text-1);font-size:var(--fs-xl);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums;letter-spacing:-.025em;line-height:1.1}.metric-tile-meta{color:var(--text-3);font-size:var(--fs-micro);font-variant-numeric:tabular-nums;margin:3px 0 0}.metric-tile-alert{margin:var(--sp-3) 0 0;color:var(--warning);font-size:var(--fs-micro);font-weight:var(--fw-medium)}.metric-meter{height:4px;margin-top:var(--sp-3);border-radius:var(--r-pill);background:var(--surface-inset);overflow:hidden}.metric-meter i{border-radius:inherit;background:var(--brand);height:100%;transition:width var(--dur-slow) var(--ease-out);display:block}.metric-tile-split{gap:var(--sp-3);padding-top:var(--sp-4);grid-template-columns:repeat(2,minmax(0,1fr));margin:auto 0 0;display:grid}.metric-tile-split dt{color:var(--text-4);font-size:var(--fs-micro)}.metric-tile-split dd{color:var(--text-2);font-size:var(--fs-caption);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;margin:2px 0 0}.metric-led{padding-top:var(--sp-4);color:var(--text-3);font-size:var(--fs-micro);font-weight:var(--fw-medium);align-items:center;gap:7px;margin:auto 0 0;display:inline-flex}.metric-led i{background:currentColor;border-radius:50%;flex-shrink:0;width:7px;height:7px;position:relative}.metric-led.online{color:var(--success)}.metric-led.online i:after{content:"";animation:jh7-pulse-ring 1.8s var(--ease-out) infinite;border-radius:50%;position:absolute;inset:0}.metric-led.offline{color:var(--text-4)}.metric-led.error{color:var(--danger)}.metric-panel{gap:var(--sp-4);padding:var(--pad-card);flex-direction:column;display:flex}.metric-panel header span{color:var(--text-4);font-size:var(--fs-micro)}.metric-rank{gap:var(--sp-3);counter-reset:rank;flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.metric-rank li{align-items:center;gap:var(--sp-3);display:flex}.metric-rank-pos{width:18px;color:var(--text-4);font-size:var(--fs-micro);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;flex-shrink:0}.metric-rank-body{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.metric-rank-name{color:var(--text-1);font-size:var(--fs-caption);font-weight:var(--fw-medium);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.metric-rank-track{border-radius:var(--r-pill);background:var(--surface-inset);height:3px;position:relative;overflow:hidden}.metric-rank-track:after{content:"";width:var(--rank-fill,0%);border-radius:inherit;background:var(--rank-heat,var(--heat-2));animation:jh7-rank-grow var(--dur-slow) var(--ease-out) both;position:absolute;inset:0 auto 0 0}@keyframes jh7-rank-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.metric-rank-figures{font-variant-numeric:tabular-nums;flex-direction:column;flex-shrink:0;align-items:flex-end;gap:1px;display:flex}.metric-rank-figures strong{color:var(--text-1);font-size:var(--fs-caption);font-weight:var(--fw-semibold)}.metric-rank-figures span{color:var(--text-4);font-size:var(--fs-micro)}.metric-feed{gap:1px var(--sp-4);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin:0;padding:0;list-style:none;display:grid}.metric-feed li{align-items:center;gap:var(--sp-3);min-height:40px;padding:var(--sp-1) 0;display:flex}.metric-feed-body{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.metric-feed-product{color:var(--text-1);font-size:var(--fs-caption);font-weight:var(--fw-medium);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.metric-feed-group{color:var(--text-3);font-size:var(--fs-micro);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.metric-feed time{color:var(--text-4);font-size:var(--fs-micro);font-variant-numeric:tabular-nums;flex-shrink:0}.metric-feed .metric-led{margin:0;padding:0}.metric-actions{gap:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.metric-actions button{padding:var(--sp-3) var(--sp-4);border:1px solid var(--border-soft);border-radius:var(--r-sm);background:var(--surface-1);text-align:left;cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out), transform var(--dur-press) var(--ease-out);flex-direction:column;gap:2px;display:flex}.metric-actions button:hover{border-color:var(--brand-border);background:var(--surface-hover)}.metric-actions button:active{transform:scale(.985)}.metric-actions strong{color:var(--text-1);font-size:var(--fs-caption);font-weight:var(--fw-semibold)}.metric-actions span{color:var(--text-4);font-size:var(--fs-micro);font-variant-numeric:tabular-nums}@media (width<=1080px){.overview-grid{grid-template-columns:minmax(0,1fr)}.metric-column{flex-direction:row}.metric-tile{min-width:0}}@media (width<=720px){.overview-head{flex-direction:column;align-items:stretch}.metric-column{flex-direction:column}.metric-hero-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}.stat-delta{padding:3px var(--sp-2);border-radius:var(--r-pill);font-size:var(--fs-micro);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;background:var(--success-soft);color:var(--success);align-self:flex-start;align-items:center;gap:5px;display:inline-flex}.stat-delta.down{background:var(--danger-soft);color:var(--danger)}.stat-delta.flat{background:var(--surface-inset);color:var(--text-3)}@keyframes jh7-trend-grow{0%{opacity:0;transform:scaleY(0)}to{opacity:1;transform:scaleY(1)}}.settings-module{padding:var(--pad-panel);border:1px solid var(--border-soft);border-radius:var(--r-lg);background:var(--surface-1);box-shadow:var(--lift-1)}.settings-module>h2{margin:0 0 var(--sp-5);color:var(--text-1);font-size:var(--fs-xl);font-weight:var(--fw-bold)}.settings-tabs{gap:var(--sp-1);width:fit-content;margin-bottom:var(--sp-6);padding:var(--sp-1);border:1px solid var(--border-soft);border-radius:var(--r-pill);background:var(--surface-inset);display:flex}.settings-tab{padding:var(--sp-2) var(--sp-4);border-radius:var(--r-pill);color:var(--text-3);font-family:inherit;font-size:var(--fs-caption);font-weight:var(--fw-medium);cursor:pointer;white-space:nowrap;transition:color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);background:0 0;border:none}.settings-tab:hover{color:var(--text-1);background:var(--surface-hover)}.settings-tab.active{background:var(--surface-1);color:var(--brand-ink);font-weight:var(--fw-semibold);box-shadow:var(--lift-1)}.settings-content{animation:jh7-rise-in var(--dur-mid) var(--ease-out)}.settings-section h3,.instances-header h3,.instances-section h4,.custom-width-slider h4{margin:0 0 var(--sp-1);color:var(--text-1);font-size:var(--fs-md);font-weight:var(--fw-semibold)}.settings-desc{margin:0 0 var(--sp-5);color:var(--text-2);font-size:var(--fs-caption);max-width:68ch;line-height:1.6}.save-settings-btn,.instance-add-btn,.test-api-btn,.instance-action-btn,.empty-state-btn,.sync-warning-btn,.modal-btn{cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), transform var(--dur-press) var(--ease-out);font-family:inherit}.save-settings-btn:active:not(:disabled),.instance-add-btn:active:not(:disabled),.test-api-btn:active:not(:disabled),.instance-action-btn:active:not(:disabled),.empty-state-btn:active:not(:disabled),.sync-warning-btn:active:not(:disabled),.modal-btn:active:not(:disabled){transform:scale(.97)}.save-settings-btn{min-height:40px;padding:var(--pad-control-y) var(--sp-5);border-radius:var(--r-sm);background:var(--brand);color:var(--on-brand);font-size:var(--fs-body);font-weight:var(--fw-semibold);border:none;position:relative;overflow:hidden}.save-settings-btn:after{content:"";background:linear-gradient(90deg,#0000,#ffffff59,#0000);width:40%;position:absolute;inset:0 auto 0 0;transform:translate(-120%)}.save-settings-btn:hover:not(:disabled){background:var(--brand-strong);box-shadow:var(--glow-brand)}.save-settings-btn:hover:not(:disabled):after{animation:jh7-shimmer .62s var(--ease-out)}.save-settings-btn:disabled{background:var(--surface-inset);color:var(--text-4);cursor:not-allowed}.instance-add-btn{min-height:36px;padding:var(--sp-2) var(--sp-3);border:1px solid var(--brand-border);border-radius:var(--r-sm);background:var(--brand-softer);color:var(--brand-ink);font-size:var(--fs-caption);font-weight:var(--fw-semibold);align-items:center;gap:6px;display:inline-flex}.instance-add-btn:hover:not(:disabled){background:var(--brand);border-color:var(--brand);color:var(--on-brand);box-shadow:var(--glow-brand)}.test-api-btn,.instance-action-btn{min-height:36px;padding:var(--sp-2) var(--sp-3);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);color:var(--text-2);font-size:var(--fs-caption);font-weight:var(--fw-medium);white-space:nowrap}.test-api-btn{margin-top:var(--sp-1);align-self:flex-start}.instance-action-btn{flex:auto}.test-api-btn:hover:not(:disabled),.instance-action-btn:hover:not(:disabled){background:var(--surface-3);border-color:var(--border-strong);color:var(--text-1)}.instance-action-btn.warning:hover:not(:disabled){border-color:var(--warning-border);background:var(--warning-soft);color:var(--warning)}.instance-action-btn.send{border-color:var(--brand-border);background:var(--brand-softer);color:var(--brand-ink);font-weight:var(--fw-semibold);justify-content:center;align-items:center;gap:5px;display:inline-flex}.instance-action-btn.send svg{width:14px;height:14px}.instance-action-btn.send:hover:not(:disabled){border-color:var(--brand);background:var(--brand-soft);color:var(--brand-ink)}.instance-action-btn.danger:hover:not(:disabled){border-color:var(--danger-border);background:var(--danger-soft);color:var(--danger)}.test-api-btn:disabled,.instance-action-btn:disabled,.instance-add-btn:disabled,.empty-state-btn:disabled,.sync-warning-btn:disabled{opacity:.45;cursor:not-allowed}.api-form-group{gap:var(--sp-4);max-width:520px;margin-bottom:var(--sp-6);flex-direction:column;display:flex}.api-label{flex-direction:column;gap:6px;min-width:0;display:flex}.api-label>span{color:var(--text-2);font-size:var(--fs-caption);font-weight:var(--fw-medium)}.api-input{width:100%;min-height:40px;padding:var(--pad-control-y) var(--pad-control-x);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-inset);color:var(--text-1);font-family:inherit;font-size:var(--fs-body);transition:border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);outline:none}.api-input::placeholder{color:var(--text-4)}.api-input:hover:not(:disabled){border-color:var(--border-strong)}.api-input:focus{border-color:var(--brand);background:var(--surface-2);box-shadow:0 0 0 3px var(--brand-softer)}.api-input:disabled{background:var(--surface-quiet);color:var(--text-3);cursor:not-allowed}.api-hint{color:var(--text-3);font-size:var(--fs-micro)}.width-presets-horizontal{gap:var(--sp-3);margin-bottom:var(--sp-6);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.width-preset-card{padding:var(--sp-4) var(--sp-3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);cursor:pointer;transition:transform var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);flex-direction:column;align-items:center;gap:5px;display:flex;position:relative}.width-preset-card:hover{border-color:var(--border-strong);box-shadow:var(--lift-2);transform:translateY(-2px)}.width-preset-card.selected{border-color:var(--brand);background:var(--brand-softer);box-shadow:0 0 0 3px var(--brand-softer)}.width-preset-card input[type=radio]{opacity:0;pointer-events:none;position:absolute}.width-preset-card:focus-within{outline:2px solid var(--brand);outline-offset:2px}.preset-icon{border:1px solid var(--border);border-radius:var(--r-xs);background:var(--surface-inset);justify-content:center;width:58px;height:36px;margin-bottom:6px;display:flex;position:relative;overflow:hidden}.preset-icon:after{content:"";background:var(--border-strong);height:100%;transition:width var(--dur-mid) var(--ease-out), background-color var(--dur-fast) var(--ease-out)}.preset-icon.compact:after{width:40%}.preset-icon.standard:after{width:60%}.preset-icon.wide:after{width:80%}.preset-icon.fluid:after{width:100%}.width-preset-card.selected .preset-icon{border-color:var(--brand-border)}.width-preset-card.selected .preset-icon:after{background:var(--brand)}.width-preset-card span{color:var(--text-1);font-size:var(--fs-body);font-weight:var(--fw-medium)}.width-preset-card small{color:var(--text-3);font-size:var(--fs-micro)}.custom-width-slider{margin-bottom:var(--sp-6);padding:var(--pad-card);border:1px solid var(--border-soft);border-radius:var(--r-md);background:var(--surface-2)}.custom-width-slider h4{margin-bottom:var(--sp-4);font-size:var(--fs-body)}.slider-container{align-items:center;gap:var(--sp-5);display:flex}.width-slider{appearance:none;border-radius:var(--r-pill);background:var(--surface-inset);border:1px solid var(--border-soft);outline:none;flex:1;height:6px}.width-slider::-webkit-slider-thumb{appearance:none;border:3px solid var(--surface-1);background:var(--brand);width:18px;height:18px;box-shadow:var(--lift-1);cursor:pointer;transition:transform var(--dur-fast) var(--ease-spring), box-shadow var(--dur-fast) var(--ease-out);border-radius:50%}.width-slider::-moz-range-thumb{border:3px solid var(--surface-1);background:var(--brand);cursor:pointer;border-radius:50%;width:18px;height:18px}.width-slider:hover::-webkit-slider-thumb{box-shadow:var(--glow-brand);transform:scale(1.15)}.width-slider:disabled{opacity:.5;cursor:not-allowed}.width-slider:disabled::-webkit-slider-thumb{background:var(--text-4);cursor:not-allowed}.slider-value{text-align:right;min-width:92px;color:var(--brand-ink);font-family:var(--font-mono);font-size:var(--fs-body);font-weight:var(--fw-medium);font-variant-numeric:tabular-nums}.settings-actions{align-items:center;gap:var(--sp-4);padding-top:var(--sp-5);border-top:1px solid var(--border-soft);display:flex}.save-message{font-size:var(--fs-caption);font-weight:var(--fw-medium);animation:jh7-rise-in var(--dur-mid) var(--ease-out)}.save-message.success{color:var(--success)}.save-message.error{color:var(--danger)}.instances-block,.instances-section{margin-top:var(--sp-8);padding-top:var(--sp-6);border-top:1px solid var(--border-soft)}.instances-header{justify-content:space-between;align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.instances-header-actions{align-items:center;gap:var(--sp-3);display:flex}.instances-syncing{color:var(--text-3);font-size:var(--fs-micro);align-items:center;gap:6px;display:inline-flex}.instances-syncing:before{content:"";border:2px solid var(--border-strong);border-top-color:var(--brand);border-radius:50%;width:10px;height:10px;animation:.7s linear infinite jh7-spin}.instance-create-panel{gap:var(--sp-4);margin-top:var(--sp-4);padding:var(--pad-card);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);box-shadow:var(--lift-1);animation:jh7-rise-in var(--dur-mid) var(--ease-out);flex-direction:column;display:flex}.instance-create-actions{justify-content:flex-end;gap:var(--sp-3);flex-wrap:wrap;display:flex}.instances-empty,.instances-loading,.instances-error{margin:var(--sp-4) 0 0;font-size:var(--fs-caption)}.instances-empty,.instances-loading{color:var(--text-3)}.instances-error{color:var(--danger)}.instance-grid,.instances-grid{gap:var(--sp-4);margin:var(--sp-4) 0 0;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));padding:0;list-style:none;display:grid}.instance-card,.group-card,.user-card{gap:var(--sp-4);padding:var(--pad-card);border:1px solid var(--border-soft);border-radius:var(--r-md);background:var(--surface-2);box-shadow:var(--lift-1);transition:transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);flex-direction:column;display:flex;position:relative}.instance-card:hover,.group-card:hover,.user-card:hover{border-color:var(--border-strong);box-shadow:var(--lift-2);transform:translateY(-2px)}.instance-card-top,.group-card-top,.user-card-top,.instance-header{align-items:center;gap:var(--sp-3);min-width:0;display:flex}.instance-avatar,.group-avatar,.user-card-avatar,.profile-avatar{border:1px solid var(--border);background:var(--surface-inset);color:var(--brand-ink);font-weight:var(--fw-semibold);border-radius:50%;flex-shrink:0;place-items:center;display:grid;overflow:hidden}.instance-avatar,.group-avatar,.user-card-avatar{width:40px;height:40px;font-size:var(--fs-body)}.instance-avatar img,.group-avatar img,.profile-avatar img{object-fit:cover;width:100%;height:100%}.instance-identity,.group-identity{flex-direction:column;min-width:0;display:flex}.instance-name,.group-subject{color:var(--text-1);font-size:var(--fs-body);font-weight:var(--fw-semibold);overflow-wrap:anywhere}.instance-profile,.group-members{color:var(--text-3);font-size:var(--fs-caption);overflow-wrap:anywhere}.instance-card-body{gap:var(--sp-3);flex-direction:column;display:flex}.instance-field{flex-direction:column;gap:3px;display:flex}.instance-field-label{color:var(--text-3);font-size:var(--fs-micro);font-weight:var(--fw-medium);letter-spacing:.07em;text-transform:uppercase}.instance-number{color:var(--text-1);font-size:var(--fs-body);font-variant-numeric:tabular-nums}.instance-details p{margin:var(--sp-2) 0;color:var(--text-2);font-size:var(--fs-caption)}.instance-details strong{color:var(--text-1)}.instance-badge,.instance-status{padding:4px var(--sp-2) 4px 7px;border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface-inset);color:var(--text-3);font-size:var(--fs-micro);font-weight:var(--fw-medium);align-self:flex-start;align-items:center;gap:7px;display:inline-flex}.instance-badge-dot{background:currentColor;border-radius:50%;flex-shrink:0;width:7px;height:7px;position:relative}.instance-badge-dot:after{content:"";color:inherit;border-radius:50%;position:absolute;inset:0}.instance-badge.status-open .instance-badge-dot:after,.instance-badge.status-connecting .instance-badge-dot:after{animation:jh7-pulse-ring 1.8s var(--ease-out) infinite}.instance-badge.status-open,.instance-status.open,.instance-status.connected{background:var(--success-soft);border-color:var(--success-border);color:var(--success)}.instance-badge.status-connecting,.instance-status.connecting{background:var(--warning-soft);border-color:var(--warning-border);color:var(--warning)}.instance-badge.status-close,.instance-badge.status-closed,.instance-status.close,.instance-status.offline{background:var(--danger-soft);border-color:var(--danger-border);color:var(--danger)}.instance-card.is-default{border-color:var(--brand-border)}.instance-default-tag{padding:3px var(--sp-2);border:1px solid var(--brand-border);border-radius:var(--r-pill);background:var(--brand-soft);color:var(--brand-ink);font-size:var(--fs-micro);font-weight:var(--fw-semibold);letter-spacing:.05em;text-transform:uppercase;flex-shrink:0;align-self:flex-start;margin-left:auto}.instance-card-actions,.group-card-actions{gap:var(--sp-2);flex-wrap:wrap;display:flex}.instance-card-actions{padding-top:var(--sp-3);border-top:1px solid var(--border-soft);margin-top:auto}.profile-header{align-items:center;gap:var(--sp-4);margin-bottom:var(--sp-6);padding-bottom:var(--sp-5);border-bottom:1px solid var(--border-soft);display:flex}.profile-avatar{background:linear-gradient(135deg, var(--brand-strong), var(--brand));border-color:var(--brand-border);width:60px;height:60px;color:var(--on-brand);font-size:var(--fs-xl);font-weight:var(--fw-bold)}.profile-identity{flex-direction:column;gap:2px;min-width:0;display:flex}.profile-name{color:var(--text-1);font-size:var(--fs-lg);font-weight:var(--fw-semibold)}.profile-email{color:var(--text-3);font-size:var(--fs-caption);overflow-wrap:anywhere}.profile-meta-grid{gap:var(--sp-3);margin:var(--sp-5) 0;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.profile-meta-item{padding:var(--sp-3) var(--sp-4);border:1px solid var(--border-soft);border-radius:var(--r-sm);background:var(--surface-2);flex-direction:column;gap:3px;display:flex}.profile-meta-label{color:var(--text-3);font-size:var(--fs-micro);font-weight:var(--fw-medium);letter-spacing:.06em;text-transform:uppercase}.profile-meta-value{color:var(--text-1);font-size:var(--fs-body);font-weight:var(--fw-medium);font-variant-numeric:tabular-nums}.profile-card{margin-bottom:var(--sp-5);padding:var(--pad-card);border:1px solid var(--border-soft);border-radius:var(--r-md);background:var(--surface-2)}.profile-card-header{margin-bottom:var(--sp-4)}.profile-card-header h3{margin:0 0 var(--sp-1);color:var(--text-1);font-size:var(--fs-md);font-weight:var(--fw-semibold)}.profile-card-header .settings-desc,.profile-card .profile-meta-grid{margin:0}.profile-form-grid{gap:var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.profile-field-full{grid-column:1/-1}.groups-toolbar{justify-content:space-between;align-items:flex-start;gap:var(--sp-4);flex-wrap:wrap;display:flex}.groups-toolbar-actions{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.groups-filters{justify-content:space-between;align-items:flex-end;gap:var(--sp-4);margin-top:var(--sp-4);flex-wrap:wrap;display:flex}.groups-search{flex:240px;max-width:340px}.groups-sort{flex:0 190px}.groups-sort select.api-input{cursor:pointer}.groups-status-filter{gap:var(--sp-1);padding:var(--sp-1);border:1px solid var(--border-soft);border-radius:var(--r-pill);background:var(--surface-inset);display:flex}.status-filter-btn{min-height:32px;padding:6px var(--sp-3);border-radius:var(--r-pill);color:var(--text-3);font-family:inherit;font-size:var(--fs-caption);cursor:pointer;white-space:nowrap;transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:none;align-items:center;gap:6px;display:inline-flex}.status-filter-btn:hover{background:var(--surface-hover);color:var(--text-1)}.status-filter-btn.selected{background:var(--surface-1);color:var(--brand-ink);font-weight:var(--fw-semibold);box-shadow:var(--lift-1)}.status-filter-count{border-radius:var(--r-pill);background:var(--surface-3);min-width:18px;color:inherit;font-size:var(--fs-micro);font-variant-numeric:tabular-nums;text-align:center;padding:1px 6px}.status-filter-btn.selected .status-filter-count{background:var(--brand-soft)}.group-grid{gap:var(--sp-4);margin:var(--sp-5) 0 0;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));padding:0;list-style:none;display:grid}.group-card{gap:var(--sp-3)}.group-description{color:var(--text-2);font-size:var(--fs-caption);-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;margin:0;line-height:1.55;display:-webkit-box;overflow:hidden}.group-tags{flex-wrap:wrap;gap:6px;display:flex}.group-tag{padding:3px var(--sp-2);border:1px solid var(--brand-border);border-radius:var(--r-pill);background:var(--brand-softer);color:var(--brand-ink);font-size:var(--fs-micro);font-weight:var(--fw-medium)}.group-tag.muted{border-color:var(--border);background:var(--surface-inset);color:var(--text-3)}.group-card.inactive{opacity:.62}.group-card.missing{border-color:var(--danger-border);opacity:1}.group-card-footer{justify-content:space-between;align-items:center;gap:var(--sp-3);padding-top:var(--sp-3);border-top:1px solid var(--border-soft);flex-wrap:wrap;margin-top:auto;display:flex}.group-meta{color:var(--text-3);font-size:var(--fs-micro)}.user-grid{gap:var(--sp-4);margin:var(--sp-5) 0 0;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));padding:0;list-style:none;display:grid}.user-card{gap:var(--sp-3)}.user-card.inactive{opacity:.62}.user-card-avatar.admin{border-color:var(--brand-border);background:var(--brand-softer)}.user-card-identity{flex-direction:column;gap:2px;min-width:0;display:flex}.user-card-name{align-items:center;gap:var(--sp-2);color:var(--text-1);font-size:var(--fs-body);font-weight:var(--fw-semibold);white-space:nowrap;text-overflow:ellipsis;display:flex;overflow:hidden}.user-card-self{border-radius:var(--r-pill);background:var(--surface-inset);color:var(--text-3);font-size:var(--fs-micro);font-weight:var(--fw-medium);flex-shrink:0;padding:1px 6px}.user-card-email{color:var(--text-3);font-size:var(--fs-caption);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.user-card-tags{flex-wrap:wrap;gap:6px;display:flex}.user-card-tag{padding:3px var(--sp-2);border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface-inset);color:var(--text-2);font-size:var(--fs-micro);font-weight:var(--fw-medium)}.user-card-tag.accent{border-color:var(--brand-border);background:var(--brand-softer);color:var(--brand-ink)}.user-card-tag.ok{border-color:var(--success-border,var(--brand-border));color:var(--success-ink,var(--brand-ink))}.user-card-tag.muted{color:var(--text-3)}.user-card-areas{flex-direction:column;gap:6px;display:flex}.user-card-areas-label{color:var(--text-3);font-size:var(--fs-micro);font-weight:var(--fw-semibold);letter-spacing:.04em;text-transform:uppercase}.user-card-areas-all,.user-card-areas-none{color:var(--text-2);font-size:var(--fs-caption);margin:0}.user-card-areas-none{color:var(--text-3)}.user-card-area-list{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.user-card-area{padding:3px var(--sp-2);border:1px solid var(--border-soft);border-radius:var(--r-sm);background:var(--surface-inset);color:var(--text-2);font-size:var(--fs-micro);flex-direction:column;gap:1px;display:flex}.user-card-area-name{font-weight:var(--fw-semibold)}.user-card-area-actions{color:var(--text-3)}.user-card-footer{justify-content:space-between;align-items:center;gap:var(--sp-3);padding-top:var(--sp-3);border-top:1px solid var(--border-soft);flex-wrap:wrap;margin-top:auto;display:flex}.user-form-section-title{margin:0 0 var(--sp-4);color:var(--text-1);font-size:var(--fs-body);font-weight:var(--fw-semibold)}.user-form{gap:var(--sp-4);margin:var(--sp-4) 0;flex-direction:column;display:flex}.user-form-row{align-items:end;gap:var(--sp-4);grid-template-columns:1fr auto;display:grid}.user-form-hint{color:var(--text-3);font-size:var(--fs-micro)}.user-form-toggle{align-items:center;gap:var(--sp-2);color:var(--text-2);font-size:var(--fs-caption);cursor:pointer;display:flex}.user-form-toggle input{width:16px;height:16px;accent-color:var(--brand);cursor:pointer}.user-form-areas{padding:var(--sp-3) var(--sp-4) var(--sp-4);border:1px solid var(--border-soft);border-radius:var(--r-sm);background:var(--surface-inset);margin:0}.user-form-areas:disabled{opacity:.75}.user-form-areas legend{padding:0 var(--sp-2);color:var(--text-3);font-size:var(--fs-micro);font-weight:var(--fw-semibold);letter-spacing:.04em;text-transform:uppercase}.user-form-area-options{gap:var(--sp-3);flex-direction:column;display:flex}.permission-matrix{margin-top:var(--sp-4);border:1px solid var(--border-soft);border-radius:var(--r-sm);background:var(--surface-inset);overflow:hidden}.permission-matrix-head,.permission-matrix-row{align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);grid-template-columns:minmax(150px,1fr) repeat(4,68px);display:grid}.permission-matrix-head{border-bottom:1px solid var(--border-soft);color:var(--text-3);font-size:var(--fs-micro);font-weight:var(--fw-semibold);letter-spacing:.04em;text-transform:uppercase}.permission-matrix-action,.permission-matrix-cell{text-align:center}.permission-matrix-row+.permission-matrix-row,.permission-matrix-group+.permission-matrix-group{border-top:1px solid var(--border-soft)}.permission-matrix-group-title{padding:var(--sp-2) var(--sp-4);background:var(--surface-2,var(--surface-inset));color:var(--text-3);font-size:var(--fs-micro);font-weight:var(--fw-semibold);letter-spacing:.04em;text-transform:uppercase}.permission-matrix-group-title+.permission-matrix-row{border-top:1px solid var(--border-soft)}.permission-matrix-area{flex-direction:column;gap:2px;display:flex}.permission-matrix-area-name{color:var(--text-1);font-size:var(--fs-caption);font-weight:var(--fw-semibold)}.permission-matrix-all{color:var(--brand);font-size:var(--fs-micro);cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:0}.permission-matrix-all:hover{text-decoration:underline}.permission-checkbox{cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.permission-checkbox input{width:18px;height:18px;accent-color:var(--brand);cursor:pointer}.permission-checkbox-label{display:none}.permission-matrix-na{color:var(--text-3);font-size:var(--fs-caption)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.product-grid{gap:var(--sp-4);margin:var(--sp-5) 0 0;grid-template-columns:repeat(auto-fill,minmax(258px,1fr));padding:0;list-style:none;display:grid}.product-card{border:1px solid var(--border-soft);border-radius:var(--r-md);background:var(--surface-2);box-shadow:var(--lift-1);transition:transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);flex-direction:column;display:flex;position:relative;overflow:hidden}.product-card:hover{border-color:var(--border-strong);box-shadow:var(--lift-2);transform:translateY(-2px)}.product-card.inactive{opacity:.62}.product-cover{aspect-ratio:4/3;background:var(--surface-inset);border-bottom:1px solid var(--border-soft);position:relative;overflow:hidden}.product-cover img{object-fit:cover;width:100%;height:100%;transition:transform var(--dur-slow) var(--ease-out);outline:none}.product-card:hover .product-cover img{transform:scale(1.04)}.product-cover-empty{width:100%;height:100%;color:var(--text-4);place-items:center;display:grid}.product-cover-empty svg{width:34px;height:34px}.product-sale-badge{top:var(--sp-2);left:var(--sp-2);padding:3px var(--sp-2);border-radius:var(--r-pill);background:var(--badge-heat,var(--heat-4));color:#fff;font-size:var(--fs-micro);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums;letter-spacing:.02em;position:absolute}.product-count-badge{right:var(--sp-2);bottom:var(--sp-2);padding:3px var(--sp-2);border-radius:var(--r-pill);background:var(--overlay-bg);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;font-size:var(--fs-micro);font-weight:var(--fw-medium);font-variant-numeric:tabular-nums;position:absolute}.product-body{gap:var(--sp-2);padding:var(--pad-card) var(--pad-card) var(--sp-3);flex-direction:column;display:flex}.product-name{color:var(--text-1);font-size:var(--fs-md);font-weight:var(--fw-semibold);letter-spacing:-.01em;line-height:1.35}.product-pricing{align-items:baseline;gap:var(--sp-2);flex-wrap:wrap;display:flex}.product-price{color:var(--text-1);font-size:var(--fs-xl);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.product-price.promo{color:var(--success)}.product-price-was{color:var(--text-3);font-size:var(--fs-caption);font-variant-numeric:tabular-nums;text-decoration:line-through}.product-description{color:var(--text-2);font-size:var(--fs-caption);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0;line-height:1.55;display:-webkit-box;overflow:hidden}.product-thumbs{gap:5px;display:flex}.product-thumbs img{border:1px solid var(--border-soft);border-radius:var(--r-xs);object-fit:cover;outline:none;width:34px;height:34px}.product-card .group-card-footer{padding:var(--sp-3) var(--pad-card) var(--pad-card);border-top:1px solid var(--border-soft)}.modal-content.product-form{text-align:left;align-items:stretch;max-width:620px}.product-form-fields{gap:var(--sp-4);margin-bottom:var(--sp-5);flex-direction:column;display:flex}.product-form-row{gap:var(--sp-3);grid-template-columns:1fr 1fr;display:grid}.product-textarea{resize:vertical;min-height:78px;line-height:1.55}.product-price-input{font-variant-numeric:tabular-nums;letter-spacing:.01em}.product-active-toggle{align-items:center;gap:var(--sp-2);color:var(--text-2);font-size:var(--fs-body);cursor:pointer;display:flex}.product-active-toggle input{width:16px;height:16px;accent-color:var(--brand);cursor:pointer}.product-gallery-field{gap:var(--sp-2);flex-direction:column;display:flex}.product-gallery-label{color:var(--text-2);font-size:var(--fs-caption);font-weight:var(--fw-medium)}.product-gallery-list{gap:var(--sp-2);flex-wrap:wrap;display:flex}.product-gallery-item{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-inset);width:76px;height:76px;animation:jh7-pop-in var(--dur-fast) var(--ease-out);position:relative;overflow:hidden}.product-gallery-item img{object-fit:cover;outline:none;width:100%;height:100%}.product-gallery-item.pending{border-color:var(--brand-border)}.product-gallery-cover{background:var(--overlay-bg);color:#fff;font-size:10px;font-weight:var(--fw-semibold);text-align:center;letter-spacing:.06em;text-transform:uppercase;padding:2px 0;position:absolute;bottom:0;left:0;right:0}.product-gallery-remove{background:var(--overlay-bg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;width:22px;height:22px;font-size:var(--fs-md);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), transform var(--dur-press) var(--ease-out);border:none;border-radius:50%;place-items:center;padding:0;line-height:1;display:grid;position:absolute;top:3px;right:3px}.product-gallery-remove:hover:not(:disabled){background:var(--danger-strong)}.product-gallery-remove:active:not(:disabled){transform:scale(.92)}.product-gallery-remove:after{content:"";width:44px;height:44px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.product-gallery-add{border:1px dashed var(--border-strong);border-radius:var(--r-sm);background:var(--surface-quiet);width:76px;height:76px;color:var(--text-3);font-family:inherit;font-size:var(--fs-micro);font-weight:var(--fw-medium);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex}.product-gallery-add span{font-size:var(--fs-lg);line-height:1}.product-gallery-add:hover:not(:disabled){border-color:var(--brand-border);background:var(--brand-softer);color:var(--brand-ink)}.product-gallery-add:disabled{opacity:.5;cursor:not-allowed}.product-gallery-hint{color:var(--text-3);font-size:var(--fs-micro)}.product-form-error{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border:1px solid var(--danger-border);border-radius:var(--r-sm);background:var(--danger-soft);color:var(--danger);font-size:var(--fs-caption);margin:0;display:flex}.modal-content.product-send{text-align:left;align-items:stretch;max-width:720px;max-height:90vh;overflow-y:auto}.product-send-layout{gap:var(--sp-4);margin-bottom:var(--sp-4);grid-template-columns:1fr 240px;display:grid}@media (width<=680px){.product-send-layout{grid-template-columns:1fr}}.send-mode-toggle{gap:var(--sp-3);flex-wrap:wrap;display:flex}.send-mode-option{align-items:flex-start;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border:2px solid var(--border);border-radius:var(--r-md);background:var(--surface-1);cursor:pointer;min-width:180px;transition:border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);flex:1;display:flex}.send-mode-option:has(input:checked){border-color:var(--brand);background:var(--brand-softer)}.send-mode-option input[type=radio]{accent-color:var(--brand);flex-shrink:0;margin-top:3px}.send-mode-option>span{flex-direction:column;gap:2px;display:flex}.send-mode-desc{font-size:var(--fs-caption);color:var(--text-2);font-weight:var(--fw-normal)}.send-template-cards-section{gap:var(--sp-3);flex-direction:column;display:flex}.send-template-cards{gap:var(--sp-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.send-template-card{gap:var(--sp-2);min-width:0;padding:var(--sp-2);border:2px solid var(--border);border-radius:var(--r-md);background:var(--surface-1);cursor:pointer;text-align:left;transition:border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out), transform var(--dur-press) var(--ease-out);flex-direction:column;display:flex}.send-template-card:hover{border-color:var(--border-strong);background:var(--surface-2)}.send-template-card:active{transform:scale(.97)}.send-template-card.selected{border-color:var(--brand);background:var(--brand-softer);box-shadow:0 0 0 1px var(--brand-border)}.send-template-card .wa-preview{border-radius:var(--r-sm);background:#e5ddd5;padding:0;position:relative;overflow:hidden}[data-theme=dark] .send-template-card .wa-preview{background:#1a1a2e}.send-template-card .wa-preview-image{border-radius:0}.send-template-card .wa-bubble{font-size:var(--fs-micro);padding:var(--sp-2) var(--sp-2);white-space:normal;word-break:break-word;border-radius:0;margin:0;line-height:1.45}.send-template-card-name{font-size:var(--fs-caption);font-weight:var(--fw-medium);color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.send-template-card.selected .send-template-card-name{color:var(--brand-ink)}@media (width<=900px){.send-template-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.send-template-cards{grid-template-columns:1fr}}.product-send-left{gap:var(--sp-4);flex-direction:column;min-width:0;display:flex}.product-send-template-picker{flex-direction:column;display:flex}.product-send-right{gap:var(--sp-3);flex-direction:column;display:flex}.product-send-right .wa-preview{border-radius:var(--r-md);padding:var(--sp-3);background:#e5ddd5;flex-direction:column;flex:1;gap:0;display:flex;overflow:hidden}[data-theme=dark] .product-send-right .wa-preview{background:#1a1a2e}.wa-preview-image{aspect-ratio:1;object-fit:cover;border-radius:var(--r-sm) var(--r-sm) 0 0;width:100%;display:block}.product-send-right .wa-bubble{border-radius:0 0 var(--r-sm) var(--r-sm);font-size:var(--fs-micro);padding:var(--sp-2) var(--sp-3);white-space:normal;word-break:break-word;margin:0;line-height:1.5}.product-send-preview{gap:var(--sp-3);margin-bottom:var(--sp-4);padding:var(--sp-3);border:1px solid var(--border-soft);border-radius:var(--r-sm);background:var(--surface-inset);display:flex}.product-send-thumb{border:1px solid var(--border-soft);border-radius:var(--r-xs);object-fit:cover;outline:none;flex-shrink:0;width:84px;height:84px}.product-send-caption{max-height:148px;color:var(--text-2);font-family:var(--font-mono);font-size:var(--fs-micro);white-space:pre-wrap;word-break:break-word;flex:1;margin:0;line-height:1.6;overflow-y:auto}.product-send-groups{gap:var(--sp-2);flex-direction:column;display:flex}.product-send-groups-head{justify-content:space-between;align-items:center;gap:var(--sp-3);display:flex}.product-send-groups-head .empty-state-btn{min-height:30px;padding:var(--sp-1) var(--sp-3);font-size:var(--fs-micro);margin:0}.product-send-hint{color:var(--text-3);font-size:var(--fs-caption);margin:0}.product-send-list{flex-direction:column;gap:4px;max-height:160px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.product-send-item{align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border:1px solid var(--border-soft);border-radius:var(--r-sm);background:var(--surface-2);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);display:flex}.product-send-item:hover{border-color:var(--border-strong);background:var(--surface-hover)}.product-send-item:has(input:checked){border-color:var(--brand-border);background:var(--brand-softer)}.product-send-item input{width:16px;height:16px;accent-color:var(--brand);cursor:pointer;flex-shrink:0}.product-send-item-info{flex-direction:column;gap:1px;min-width:0;display:flex}.product-send-item-name{color:var(--text-1);font-size:var(--fs-caption);font-weight:var(--fw-medium);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.product-send-item-meta{color:var(--text-3);font-size:var(--fs-micro)}.company-form{gap:var(--sp-4);margin-top:var(--sp-5);grid-template-columns:repeat(auto-fit,minmax(212px,1fr));display:grid}.company-field-wide{grid-column:span 2}.company-field-uf{max-width:132px}.company-form select.api-input{appearance:none;padding-right:var(--sp-8);cursor:pointer;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 18px),calc(100% - 13px);background-repeat:no-repeat;background-size:5px 5px}.api-hint code{border-radius:var(--r-xs);background:var(--surface-inset);font-family:var(--font-mono);word-break:break-all;padding:1px 5px}@media (width<=620px){.company-field-wide{grid-column:span 1}}.template-grid{gap:var(--sp-4);margin:var(--sp-5) 0 0;grid-template-columns:repeat(auto-fill,minmax(292px,1fr));padding:0;list-style:none;display:grid}.template-card{gap:var(--sp-3);padding:var(--pad-card);border:1px solid var(--border-soft);border-radius:var(--r-md);background:var(--surface-2);box-shadow:var(--lift-1);transition:transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);flex-direction:column;display:flex}.template-card:hover{border-color:var(--border-strong);box-shadow:var(--lift-2);transform:translateY(-2px)}.template-card.inactive{opacity:.62}.template-card-head{justify-content:space-between;align-items:center;gap:var(--sp-3);display:flex}.template-name{color:var(--text-1);font-size:var(--fs-md);font-weight:var(--fw-semibold);letter-spacing:-.01em}.template-usage{padding:3px var(--sp-2);border:1px solid var(--brand-border);background:var(--brand-softer);color:var(--brand-ink);font-size:var(--fs-micro);font-weight:var(--fw-medium);font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:999px;align-self:flex-start;align-items:center;gap:5px;display:inline-flex}.template-usage.zero{border-color:var(--border-soft);background:var(--surface-inset);color:var(--text-3)}.template-usage-badge{top:var(--sp-2);right:var(--sp-2);z-index:1;max-width:calc(100% - var(--sp-4));padding:2px var(--sp-2);border:1px solid var(--brand-border);background:var(--brand);color:#fff;font-size:var(--fs-micro);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;border-radius:999px;align-items:center;gap:4px;line-height:1.5;display:inline-flex;position:absolute;overflow:hidden;box-shadow:0 1px 4px #00000059}.template-usage-badge.zero{color:#f5f5f5;background:#0000009e;border-color:#ffffff2e}.template-preview{max-height:140px;padding:var(--sp-3);border:1px solid var(--border-soft);border-radius:var(--r-sm);background:var(--surface-inset);color:var(--text-2);font-family:var(--font-mono);font-size:var(--fs-micro);white-space:pre-wrap;word-break:break-word;margin:0;line-height:1.6;overflow:hidden;-webkit-mask-image:linear-gradient(#000 72%,#0000);mask-image:linear-gradient(#000 72%,#0000)}.template-tags{flex-wrap:wrap;gap:5px;display:flex}.template-tag-chip{border:1px solid var(--brand-border);border-radius:var(--r-xs);background:var(--brand-softer);color:var(--brand-ink);font-family:var(--font-mono);padding:2px 7px;font-size:10px}.modal-content.template-editor{text-align:left;align-items:stretch;gap:var(--sp-4);max-width:640px}.template-tag-picker{gap:var(--sp-2);flex-direction:column;display:flex}.template-tag-picker-label{color:var(--text-2);font-size:var(--fs-caption);font-weight:var(--fw-medium)}.template-tag-list{gap:var(--sp-2);flex-wrap:wrap;display:flex}.template-tag-btn{padding:5px var(--sp-2);border:1px dashed var(--border-strong);border-radius:var(--r-sm);background:var(--surface-quiet);color:var(--text-2);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out), transform var(--dur-press) var(--ease-out);flex-direction:column;align-items:flex-start;gap:1px;font-family:inherit;display:flex}.template-tag-btn-label{font-size:10px;font-weight:var(--fw-medium);letter-spacing:.02em;text-transform:uppercase}.template-tag-btn code{font-family:var(--font-mono);font-size:var(--fs-micro)}.template-tag-btn:hover:not(:disabled){border-style:solid;border-color:var(--brand-border);background:var(--brand-softer);color:var(--brand-ink)}.template-tag-btn:active:not(:disabled){transform:scale(.96)}.template-tag-btn:disabled{opacity:.45;cursor:not-allowed}.template-textarea{resize:vertical;min-height:190px;font-family:var(--font-mono);font-size:var(--fs-caption);line-height:1.65}.template-editor-foot{justify-content:space-between;align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.template-format-hint{color:var(--text-3);font-size:var(--fs-micro)}.template-format-hint code{border-radius:var(--r-xs);background:var(--surface-inset);font-family:var(--font-mono);padding:1px 5px}.template-editor-foot .test-api-btn{align-self:auto;margin:0}.template-preview-box{max-height:220px;padding:var(--sp-3);border:1px solid var(--brand-border);border-radius:var(--r-sm);background:var(--brand-softer);color:var(--text-1);font-family:var(--font-mono);font-size:var(--fs-micro);white-space:pre-wrap;word-break:break-word;animation:jh7-rise-in var(--dur-fast) var(--ease-out);margin:0;line-height:1.65;overflow-y:auto}.editor-topbar{align-items:center;gap:var(--sp-4);padding-bottom:var(--sp-5);border-bottom:1px solid var(--border-soft);margin-bottom:var(--sp-6);flex-wrap:wrap;display:flex}.editor-back-btn{align-items:center;gap:var(--sp-1);padding:var(--sp-2) var(--sp-3);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);color:var(--text-2);font-size:var(--fs-sm);font-weight:var(--fw-medium);cursor:pointer;transition:background var(--dur-fast), color var(--dur-fast), border-color var(--dur-fast);white-space:nowrap;flex-shrink:0;display:inline-flex}.editor-back-btn svg{flex-shrink:0;width:14px;height:14px}.editor-back-btn:hover{background:var(--surface-hover);color:var(--text-1);border-color:var(--border-strong)}.editor-topbar-title{align-items:center;gap:var(--sp-3);flex:1;min-width:0;display:flex}.editor-topbar-title h2{font-size:var(--fs-lg);font-weight:var(--fw-semibold);color:var(--text-1);white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.editor-dirty-tag{padding:2px var(--sp-2);border-radius:var(--r-pill);background:var(--warning-soft);border:1px solid var(--warning-border);color:var(--warning-strong);font-size:var(--fs-micro);font-weight:var(--fw-medium);white-space:nowrap;flex-shrink:0;display:inline-block}.editor-topbar-actions{align-items:center;gap:var(--sp-2);flex-shrink:0;display:flex}.editor-layout{gap:var(--sp-6);grid-template-columns:1fr 340px;align-items:start;display:grid}.editor-layout.no-preview{grid-template-columns:1fr}.editor-main{gap:var(--sp-5);flex-direction:column;display:flex}.editor-panel{gap:var(--sp-4);padding:var(--sp-5);border:1px solid var(--border-soft);border-radius:var(--r-md);background:var(--surface-2);flex-direction:column;display:flex}.editor-textarea{resize:vertical;min-height:280px;font-family:var(--font-mono);font-size:var(--fs-sm);line-height:1.65}.editor-preview{top:var(--sp-6);gap:var(--sp-3);padding:var(--sp-5);border:1px solid var(--border-soft);border-radius:var(--r-md);background:var(--surface-2);animation:jh7-rise-in var(--dur-fast) var(--ease-out);flex-direction:column;display:flex;position:sticky}.wa-preview{border-radius:var(--r-md);padding:var(--sp-4);background:#e5ddd5;min-height:120px}[data-theme=dark] .wa-preview{background:#1a1a2e}.wa-bubble{max-width:100%;padding:var(--sp-3) var(--sp-4);border-radius:var(--r-sm) var(--r-md) var(--r-md) var(--r-sm);color:#111;font-family:inherit;font-size:var(--fs-sm);white-space:pre-wrap;word-break:break-word;background:#fff;margin:0;line-height:1.55;display:inline-block;box-shadow:0 1px 2px #0000001f}[data-theme=dark] .wa-bubble{color:#e8e8f0;background:#2a2a3e}@media (width<=860px){.editor-layout{grid-template-columns:1fr}.editor-preview{position:static}}.empty-state{align-items:center;gap:var(--sp-3);margin-top:var(--sp-5);padding:var(--sp-12) var(--sp-6);border:1px solid var(--border-soft);border-radius:var(--r-lg);background:radial-gradient(circle at 50% 0%, var(--brand-softer), transparent 62%), var(--surface-2);text-align:center;animation:jh7-pop-in var(--dur-slow) var(--ease-out);flex-direction:column;display:flex;position:relative;overflow:hidden}.empty-state.compact{padding:var(--sp-8) var(--sp-6)}.empty-state-icon{border:1px solid var(--brand-border);background:var(--brand-soft);width:60px;height:60px;color:var(--brand);box-shadow:0 0 0 8px var(--brand-softer);border-radius:50%;place-items:center;display:grid}.empty-state-icon svg{width:26px;height:26px}.empty-state-icon.loading svg{animation:.9s linear infinite jh7-spin}.empty-state.danger .empty-state-icon{border-color:var(--danger-border);background:var(--danger-soft);color:var(--danger);box-shadow:0 0 0 8px var(--danger-soft)}.empty-state h3{margin:var(--sp-1) 0 0;color:var(--text-1);font-size:var(--fs-lg);font-weight:var(--fw-semibold)}.empty-state p{max-width:44ch;color:var(--text-2);font-size:var(--fs-body);margin:0;line-height:1.6}.empty-state p strong{color:var(--brand-ink);font-weight:var(--fw-semibold)}.empty-state-btn{align-items:center;gap:var(--sp-2);min-height:40px;margin-top:var(--sp-2);padding:var(--pad-control-y) var(--sp-5);border-radius:var(--r-sm);background:var(--brand);color:var(--on-brand);font-size:var(--fs-body);font-weight:var(--fw-semibold);border:none;display:inline-flex}.empty-state-btn:hover:not(:disabled){background:var(--brand-strong);box-shadow:var(--glow-brand)}.empty-state-btn.ghost{border:1px solid var(--border);background:var(--surface-1);color:var(--text-2)}.empty-state-btn.ghost:hover:not(:disabled){border-color:var(--brand-border);background:var(--brand-softer);color:var(--brand-ink);box-shadow:none}.empty-state-hint{color:var(--text-3);font-size:var(--fs-micro)}.sync-warning{align-items:center;gap:var(--sp-3);margin-top:var(--sp-4);padding:var(--sp-3) var(--sp-4);border:1px solid var(--danger-border);border-left:3px solid var(--danger-strong);border-radius:var(--r-md);background:var(--danger-soft);color:var(--text-1);font-size:var(--fs-caption);flex-wrap:wrap;line-height:1.55;display:flex}.sync-warning strong{color:var(--danger)}.sync-warning-icon,.group-alert-icon{color:var(--danger);flex-shrink:0;display:flex}.sync-warning-icon svg{width:20px;height:20px;animation:jh7-alert-nudge 2.4s var(--ease-in-out) infinite}@keyframes jh7-alert-nudge{0%,84%,to{transform:none}88%{transform:translate(-2px)}92%{transform:translate(2px)}96%{transform:translate(-1px)}}.sync-warning-text{flex:260px}.sync-warning-btn{min-height:36px;padding:var(--sp-2) var(--sp-4);border:1px solid var(--danger-border);border-radius:var(--r-sm);color:var(--danger);font-size:var(--fs-caption);font-weight:var(--fw-semibold);background:0 0}.sync-warning-btn:hover:not(:disabled){background:var(--danger-strong);border-color:var(--danger-strong);color:#fff}.group-alert{align-items:flex-start;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border:1px solid var(--danger-border);border-left:3px solid var(--danger-strong);border-radius:var(--r-sm);background:var(--danger-soft);color:var(--text-2);font-size:var(--fs-micro);line-height:1.5;display:flex}.group-alert strong{color:var(--danger)}.group-alert-icon svg{width:16px;height:16px}.test-modal,.qr-modal{text-align:left;align-items:stretch}.group-form-panel{gap:var(--sp-4);flex-direction:column;display:flex}.group-form-toolbar{align-items:center;gap:var(--sp-3);display:flex}.group-form-select-all{padding:var(--pad-control-y) var(--sp-3);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);color:var(--text-2);font-size:var(--fs-caption);font-weight:var(--fw-medium);white-space:nowrap;cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);flex-shrink:0}.group-form-select-all:hover{border-color:var(--border-strong);background:var(--surface-hover);color:var(--text-1)}.group-form-body{min-height:220px;max-height:min(560px,100vh - 340px);margin:0 calc(var(--sp-3) * -1) calc(var(--sp-2) * -1);padding:0 var(--sp-1) var(--sp-2);overscroll-behavior:contain;overflow-y:auto}.group-picker-search{flex:1;align-items:center;min-width:0;display:flex;position:relative}.group-picker-search .api-input{width:100%;padding-left:var(--sp-8);padding-right:72px}.group-picker-search-icon{left:var(--sp-3);width:15px;height:15px;color:var(--text-4);pointer-events:none;position:absolute}.group-picker-count{right:var(--sp-3);color:var(--text-4);font-size:var(--fs-micro);font-variant-numeric:tabular-nums;pointer-events:none;position:absolute}.group-picker-list{flex-direction:column;gap:1px;margin:0;padding:0;list-style:none;display:flex}.group-picker-item{align-items:center;gap:var(--sp-3);min-height:56px;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-sm);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out);display:flex;position:relative}.group-picker-item:hover:not(.disabled){background:var(--surface-hover)}.group-picker-item.selected{background:var(--brand-softer)}.group-picker-item.disabled{cursor:not-allowed}.group-picker-item input[type=checkbox]{opacity:0;width:1px;height:1px;position:absolute}.group-picker-item:focus-within{outline:2px solid var(--brand);outline-offset:-2px}.group-picker-avatar{border-radius:var(--r-pill);background:var(--surface-inset);width:38px;height:38px;box-shadow:inset 0 0 0 1px var(--border);color:var(--text-3);font-size:var(--fs-caption);font-weight:var(--fw-semibold);letter-spacing:.02em;flex-shrink:0;place-items:center;display:grid;overflow:hidden}.group-picker-avatar img{object-fit:cover;width:100%;height:100%}.group-picker-item.selected .group-picker-avatar{box-shadow:inset 0 0 0 1px var(--brand-border);color:var(--brand-ink)}.group-picker-item.disabled .group-picker-avatar{opacity:.5}.group-picker-info{flex-direction:column;gap:1px;min-width:0;margin-right:auto;display:flex}.group-picker-name{color:var(--text-1);font-size:var(--fs-body);font-weight:var(--fw-medium);overflow-wrap:anywhere;line-height:1.35}.group-picker-item.disabled .group-picker-name{color:var(--text-3)}.group-picker-meta{color:var(--text-3);font-size:var(--fs-micro);font-variant-numeric:tabular-nums}.group-picker-check{border-radius:var(--r-xs);width:20px;height:20px;box-shadow:inset 0 0 0 1.5px var(--border-strong);color:#0000;transition:background-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;flex-shrink:0;place-items:center;display:grid}.group-picker-check svg{width:12px;height:12px}.group-picker-item.selected .group-picker-check{background:var(--brand);box-shadow:none;color:var(--on-brand)}.group-picker-flag{padding:3px var(--sp-2);border-radius:var(--r-pill);background:var(--surface-quiet);color:var(--text-4);font-size:var(--fs-micro);white-space:nowrap;flex-shrink:0}@media (width<=560px){.group-form-toolbar{flex-direction:column;align-items:stretch}.group-form-select-all{align-self:flex-start}}.test-modal{gap:var(--sp-4);max-width:520px;padding:var(--pad-panel)}.test-modal-header{align-items:flex-start;gap:var(--sp-3);display:flex}.test-modal-icon{border:1px solid var(--brand-border);border-radius:var(--r-md);background:var(--brand-soft);width:40px;height:40px;color:var(--brand);flex-shrink:0;place-items:center;display:grid}.test-modal-icon svg{width:20px;height:20px}.test-modal .modal-title{font-size:var(--fs-lg);text-align:left;margin:0}.test-modal-subtitle{color:var(--text-2);font-size:var(--fs-caption);margin:3px 0 0;line-height:1.55}.test-modal-target{align-items:center;gap:var(--sp-3);padding:var(--sp-3);border:1px solid var(--border-soft);border-radius:var(--r-md);background:var(--surface-2);display:flex}.test-modal-target-info{flex-direction:column;min-width:0;display:flex}.test-modal-field{margin:0;position:relative}.test-message-input{min-height:108px;padding-bottom:var(--sp-6);resize:vertical;font-family:inherit;line-height:1.6}.test-modal-counter{right:var(--sp-3);color:var(--text-3);font-size:var(--fs-micro);font-variant-numeric:tabular-nums;pointer-events:none;position:absolute;bottom:8px}.test-modal-actions{justify-content:flex-end}.test-modal-actions .modal-btn{flex:none;min-width:128px}@media (width<=900px){.header-content,.dashboard-nav{padding-left:var(--sp-4);padding-right:var(--sp-4)}.dashboard-main{padding:var(--sp-5) var(--sp-4) var(--sp-10)}.settings-module{padding:var(--sp-5);border-radius:var(--r-md)}.overview-heading h1{font-size:var(--fs-xl)}.user-greeting{display:none}.dashboard-footer{padding:var(--sp-4)}}@media (prefers-reduced-motion:reduce){.instance-card:hover,.group-card:hover,.width-preset-card:hover,.metric-actions button:active{transform:none}}.mobile-nav{display:none}@media (width<=720px){.mobile-nav{z-index:90;padding:6px var(--sp-2) calc(6px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border);background:var(--header-bg);-webkit-backdrop-filter:var(--header-blur);justify-content:space-around;align-items:stretch;gap:2px;display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-nav-item{min-width:0;min-height:50px;padding:var(--sp-1) 2px;border-radius:var(--r-sm);color:var(--text-3);transition:color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:3px;text-decoration:none;display:flex}.mobile-nav-item:active{background:var(--surface-hover)}.mobile-nav-icon{justify-content:center;align-items:center;display:flex}.mobile-nav-label{font-size:.6875rem;font-weight:var(--fw-medium);letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;max-width:100%;line-height:1.2;overflow:hidden}.mobile-nav-item.active{color:var(--brand-ink);position:relative}.mobile-nav-item.active:before{content:"";border-radius:var(--r-pill);background:var(--brand);width:22px;height:2px;position:absolute;top:0}.mobile-nav-item.active .mobile-nav-label{font-weight:var(--fw-semibold)}.dashboard-nav{display:none}.dashboard-main{padding:var(--sp-4) var(--sp-4) var(--sp-6)}.dashboard-footer{padding:var(--sp-3) var(--sp-4) calc(var(--sp-3) + var(--mobile-nav-h))}.footer-content{text-align:center;font-size:var(--fs-micro);justify-content:center}.dashboard-header{padding-top:env(safe-area-inset-top,0px)}.header-content{gap:var(--sp-2);padding:var(--sp-2) var(--sp-4)}.brand-badge-small{flex-shrink:0}.header-brand{gap:var(--sp-2)}.header-brand h2{font-size:var(--fs-caption)}.user-dropdown-menu{width:auto;min-width:216px;max-width:calc(100vw - var(--sp-8))}.editor-topbar-actions,.settings-actions{left:0;right:0;bottom:calc(var(--mobile-nav-h) + env(safe-area-inset-bottom,0px));z-index:91;align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--border);background:var(--header-bg);-webkit-backdrop-filter:var(--header-blur);display:flex;position:fixed;box-shadow:0 -8px 24px -20px #0000008c}.editor-topbar-actions>.instance-add-btn,.settings-actions>.save-settings-btn{min-height:var(--touch-target);flex:1;justify-content:center}.editor-topbar-actions>.instance-action-btn{min-height:var(--touch-target);flex:none}.editor-topbar{gap:var(--sp-3);padding-bottom:var(--sp-4);margin-bottom:var(--sp-5)}:is(.settings-module:has(.editor-topbar-actions),.settings-module:has(.settings-actions)){padding-bottom:var(--mobile-actionbar-h)}:is(.dashboard-layout:has(.editor-topbar-actions) .dashboard-footer,.dashboard-layout:has(.settings-actions) .dashboard-footer){padding-bottom:calc(var(--sp-3) + var(--mobile-nav-h) + var(--mobile-actionbar-h))}.settings-tabs,.groups-status-filter{overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;max-width:100%;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 24px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 24px),#0000)}.settings-tabs::-webkit-scrollbar{display:none}.groups-status-filter::-webkit-scrollbar{display:none}.settings-tab,.status-filter-btn{scroll-snap-align:start;flex-shrink:0}.groups-toolbar{align-items:stretch;gap:var(--sp-3);flex-direction:column}.groups-toolbar-actions{width:100%}.groups-toolbar-actions>*{flex:auto;justify-content:center}.groups-filters{align-items:stretch;gap:var(--sp-3);flex-direction:column}.groups-search,.groups-sort{flex-basis:auto;max-width:none}.group-grid,.product-grid,.user-grid,.template-grid,.instance-grid,.instances-grid,.metric-feed,.metric-actions,.profile-form-grid,.company-form,.send-template-cards,.width-presets-horizontal{grid-template-columns:minmax(0,1fr)}.metric-hero-facts,.metric-tile-split{grid-template-columns:repeat(2,minmax(0,1fr))}.product-form-row,.user-form-row{grid-template-columns:minmax(0,1fr)}.company-field-wide{grid-column:span 1}}@media (width<=420px){.metric-hero-facts{grid-template-columns:minmax(0,1fr)}}@media (width<=720px){.permission-matrix{gap:var(--sp-3);background:0 0;border:0;flex-direction:column;display:flex;overflow:visible}.permission-matrix-head{display:none}.permission-matrix-group,.permission-matrix-group+.permission-matrix-group{gap:var(--sp-2);border-top:0;flex-direction:column;display:flex}.permission-matrix-group-title{background:0 0;padding:0}.permission-matrix-row,.permission-matrix-row+.permission-matrix-row,.permission-matrix-group-title+.permission-matrix-row{align-items:stretch;gap:var(--sp-2);padding:var(--pad-card);border:1px solid var(--border-soft);border-top:1px solid var(--border-soft);border-radius:var(--r-md);background:var(--surface-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.permission-matrix-row .permission-matrix-area{justify-content:space-between;align-items:center;gap:var(--sp-3);flex-direction:row;grid-column:1/-1}.permission-matrix-area-name{font-size:var(--fs-body)}.permission-matrix-cell{text-align:left;display:flex}.permission-checkbox{min-height:var(--touch-target);justify-content:flex-start;gap:var(--sp-2);padding:0 var(--sp-3);border:1px solid var(--border-soft);border-radius:var(--r-sm);background:var(--surface-inset);transition:border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);flex:1}.permission-checkbox:has(input:checked){border-color:var(--brand-border);background:var(--brand-softer)}.permission-checkbox-label{font-size:var(--fs-caption);font-weight:var(--fw-medium);color:var(--text-2);display:block}.permission-checkbox:has(input:checked) .permission-checkbox-label{color:var(--brand-ink)}.permission-checkbox input{flex-shrink:0;width:20px;height:20px}.permission-matrix-na{width:100%;min-height:var(--touch-target);border:1px dashed var(--border-soft);border-radius:var(--r-sm);justify-content:center;align-items:center;display:flex}.permission-matrix-all{min-height:32px;padding:0 var(--sp-2);flex-shrink:0;align-self:center}}@media (hover:none) and (pointer:coarse){.instance-add-btn,.instance-action-btn,.test-api-btn,.sync-warning-btn,.status-filter-btn,.settings-tab,.empty-state-btn,.modal-btn,.save-settings-btn,.overview-range-btn,.api-input,.menu-item,.user-menu-trigger,.product-send-groups-head .empty-state-btn{min-height:var(--touch-target)}.nav-item a{padding-top:var(--sp-3);padding-bottom:var(--sp-3)}.user-form-toggle,.product-send-item{min-height:var(--touch-target)}.user-form-toggle input,.product-send-item input{width:20px;height:20px}.width-slider{padding:var(--sp-4) 0;background-clip:content-box;position:relative}.group-card:hover,.product-card:hover,.user-card:hover,.template-card:hover,.metric-tile:hover{transform:none}}@media (width<=720px){.modal-content.product-form,.modal-content.product-send,.modal-content.template-editor,.modal-content.group-picker,.modal-content.test-modal,.modal-content.qr-modal{max-width:none}.product-send-list{max-height:min(48dvh,380px)}.group-form-body,.group-picker-list{max-height:min(52dvh,420px)}.api-form-group{max-width:none}.slider-container{flex-wrap:wrap}.slider-value{min-width:0}}.dashboard-layout,.route-guard-screen{min-height:100dvh}.loading-overlay{z-index:100000;padding:var(--sp-5);background:var(--overlay-bg);-webkit-backdrop-filter:blur(10px);animation:jh7-fade-in var(--dur-fast) var(--ease-out);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.loading-box{align-items:center;gap:var(--sp-5);width:100%;max-width:372px;padding:var(--sp-10) var(--sp-6) var(--sp-8);border:1px solid var(--border);border-radius:var(--r-xl);background:radial-gradient(circle at 50% 0%, var(--brand-soft), transparent 65%), var(--surface-3);box-shadow:var(--lift-3);color:var(--text-1);font-family:var(--font-ui);text-align:center;animation:jh7-pop-in var(--dur-mid) var(--ease-out);flex-direction:column;display:flex;position:relative;overflow:hidden}.loading-box:before{content:"";border-radius:var(--r-pill);background:linear-gradient(90deg, transparent, var(--brand), transparent);width:40%;height:3px;animation:jh7-shimmer 1.4s var(--ease-in-out) infinite;position:absolute;top:0;left:0}.loading-stage{place-items:center;width:96px;height:96px;display:grid}.loading-phrase{min-height:44px;color:var(--text-1);font-size:var(--fs-md);font-weight:var(--fw-medium);animation:jh7-rise-in var(--dur-slow) var(--ease-out);margin:0;line-height:1.5}.loading-dots{gap:6px;display:flex}.loading-dots span{background:var(--brand);width:6px;height:6px;animation:loadingDot 1.1s var(--ease-in-out) infinite;border-radius:50%}.loading-dots span:nth-child(2){animation-delay:.15s}.loading-dots span:nth-child(3){animation-delay:.3s}.loading-anim-orbit{width:84px;height:84px;animation:2.4s linear infinite loadingSpin;position:relative}.loading-anim-orbit:before{content:"";border:2px dashed var(--brand-border);border-radius:50%;position:absolute;inset:0}.loading-anim-orbit:after{content:"";background:var(--brand);width:14px;height:14px;box-shadow:var(--glow-brand);border-radius:50%;margin-left:-7px;position:absolute;top:-7px;left:50%}.loading-anim-bars{align-items:flex-end;gap:6px;height:60px;display:flex}.loading-anim-bars i{border-radius:var(--r-xs) var(--r-xs) 2px 2px;background:linear-gradient(180deg, var(--brand-strong), var(--brand));width:10px;animation:loadingBar 1s var(--ease-in-out) infinite}.loading-anim-bars i:first-child{animation-delay:0s}.loading-anim-bars i:nth-child(2){animation-delay:.12s}.loading-anim-bars i:nth-child(3){animation-delay:.24s}.loading-anim-bars i:nth-child(4){animation-delay:.36s}.loading-anim-bounce{width:60px;height:70px;position:relative}.loading-anim-bounce i{background:var(--brand);border-radius:50%;width:22px;height:22px;margin-left:-11px;animation:.75s cubic-bezier(.5,.05,.5,.95) infinite alternate loadingBounce;position:absolute;top:0;left:50%}.loading-anim-bounce:after{content:"";background:var(--brand-soft);border-radius:50%;width:30px;height:6px;margin-left:-15px;animation:.75s cubic-bezier(.5,.05,.5,.95) infinite alternate loadingShadow;position:absolute;bottom:2px;left:50%}.loading-anim-radar{justify-content:center;align-items:center;width:84px;height:84px;display:flex;position:relative}.loading-anim-radar i{border:2px solid var(--brand-border);animation:loadingRadar 1.8s var(--ease-out) infinite;border-radius:50%;position:absolute;inset:0}.loading-anim-radar i:nth-child(2){animation-delay:.6s}.loading-anim-radar i:nth-child(3){animation-delay:1.2s}.loading-anim-radar:after{content:"";background:var(--brand);width:16px;height:16px;box-shadow:var(--glow-brand);border-radius:50%}@keyframes loadingSpin{to{transform:rotate(360deg)}}@keyframes loadingBar{0%,to{opacity:.5;height:18px}50%{opacity:1;height:56px}}@keyframes loadingBounce{0%{top:0}to{top:42px}}@keyframes loadingShadow{0%{opacity:.3;transform:scale(.6)}to{opacity:.7;transform:scale(1)}}@keyframes loadingRadar{0%{opacity:1;transform:scale(.35)}to{opacity:0;transform:scale(1)}}@keyframes loadingDot{0%,to{opacity:.4;transform:translateY(0)}50%{opacity:1;transform:translateY(-6px)}}@media (prefers-reduced-motion:reduce){.loading-box:before,.loading-overlay,.loading-phrase,.loading-anim-orbit,.loading-anim-bars i,.loading-anim-bounce i,.loading-anim-bounce:after,.loading-anim-radar i,.loading-dots span{animation:none}}@keyframes marching-ants{0%{background-position:0 0,0 100%,0 0,100% 0}to{background-position:20px 0,-20px 100%,0 -20px,100% 20px}}:root{--rc-drag-handle-size:12px;--rc-drag-handle-mobile-size:24px;--rc-drag-handle-bg-colour:#0003;--rc-drag-bar-size:6px;--rc-border-color:#ffffffb3;--rc-focus-color:#08f}.ReactCrop{cursor:crosshair;max-width:100%;display:inline-block;position:relative}.ReactCrop *,.ReactCrop :before,.ReactCrop :after{box-sizing:border-box}.ReactCrop--disabled,.ReactCrop--locked{cursor:inherit}.ReactCrop__child-wrapper{max-height:inherit;overflow:hidden}.ReactCrop__child-wrapper>img,.ReactCrop__child-wrapper>video{max-width:100%;max-height:inherit;display:block}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>img,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>video,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__crop-selection{touch-action:none}.ReactCrop__crop-mask{pointer-events:none;width:calc(100% + .5px);height:calc(100% + .5px);position:absolute;inset:0}.ReactCrop__crop-selection{cursor:move;position:absolute;top:0;left:0;transform:translate(0)}.ReactCrop--disabled .ReactCrop__crop-selection{cursor:inherit}.ReactCrop--circular-crop .ReactCrop__crop-selection{border-radius:50%}.ReactCrop--circular-crop .ReactCrop__crop-selection:after{pointer-events:none;content:"";border:1px solid var(--rc-border-color);opacity:.3;position:absolute;inset:-1px}.ReactCrop--no-animate .ReactCrop__crop-selection{outline:1px dashed #fff}.ReactCrop__crop-selection:not(.ReactCrop--no-animate .ReactCrop__crop-selection){color:#fff;background-image:linear-gradient(90deg,#fff 50%,#444 50%),linear-gradient(90deg,#fff 50%,#444 50%),linear-gradient(#fff 50%,#444 50%),linear-gradient(#fff 50%,#444 50%);background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;background-size:10px 1px,10px 1px,1px 10px,1px 10px;animation:1s linear infinite marching-ants}.ReactCrop__crop-selection:focus{outline:2px solid var(--rc-focus-color);outline-offset:-1px}.ReactCrop--invisible-crop .ReactCrop__crop-mask,.ReactCrop--invisible-crop .ReactCrop__crop-selection{display:none}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after,.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{content:"";background-color:#fff6;display:block;position:absolute}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after{width:1px;height:100%}.ReactCrop__rule-of-thirds-vt:before{left:33.3333%}.ReactCrop__rule-of-thirds-vt:after{left:66.6667%}.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{width:100%;height:1px}.ReactCrop__rule-of-thirds-hz:before{top:33.3333%}.ReactCrop__rule-of-thirds-hz:after{top:66.6667%}.ReactCrop__drag-handle{width:var(--rc-drag-handle-size);height:var(--rc-drag-handle-size);background-color:var(--rc-drag-handle-bg-colour);border:1px solid var(--rc-border-color);position:absolute}.ReactCrop__drag-handle:focus{background:var(--rc-focus-color)}.ReactCrop .ord-nw{cursor:nw-resize;top:0;left:0;transform:translate(-50%,-50%)}.ReactCrop .ord-n{cursor:n-resize;top:0;left:50%;transform:translate(-50%,-50%)}.ReactCrop .ord-ne{cursor:ne-resize;top:0;right:0;transform:translate(50%,-50%)}.ReactCrop .ord-e{cursor:e-resize;top:50%;right:0;transform:translate(50%,-50%)}.ReactCrop .ord-se{cursor:se-resize;bottom:0;right:0;transform:translate(50%,50%)}.ReactCrop .ord-s{cursor:s-resize;bottom:0;left:50%;transform:translate(-50%,50%)}.ReactCrop .ord-sw{cursor:sw-resize;bottom:0;left:0;transform:translate(-50%,50%)}.ReactCrop .ord-w{cursor:w-resize;top:50%;left:0;transform:translate(-50%,-50%)}.ReactCrop__disabled .ReactCrop__drag-handle{cursor:inherit}.ReactCrop__drag-bar{position:absolute}.ReactCrop__drag-bar.ord-n{width:100%;height:var(--rc-drag-bar-size);top:0;left:0;transform:translateY(-50%)}.ReactCrop__drag-bar.ord-e{width:var(--rc-drag-bar-size);height:100%;top:0;right:0;transform:translate(50%)}.ReactCrop__drag-bar.ord-s{width:100%;height:var(--rc-drag-bar-size);bottom:0;left:0;transform:translateY(50%)}.ReactCrop__drag-bar.ord-w{width:var(--rc-drag-bar-size);height:100%;top:0;left:0;transform:translate(-50%)}.ReactCrop--new-crop .ReactCrop__drag-bar,.ReactCrop--new-crop .ReactCrop__drag-handle,.ReactCrop--fixed-aspect .ReactCrop__drag-bar,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-n,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-e,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-s,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-w{display:none}@media (pointer:coarse){.ReactCrop .ord-n,.ReactCrop .ord-e,.ReactCrop .ord-s,.ReactCrop .ord-w{display:none}.ReactCrop__drag-handle{width:var(--rc-drag-handle-mobile-size);height:var(--rc-drag-handle-mobile-size)}}.instance-qr{gap:var(--sp-3);padding-top:var(--sp-3);border-top:1px solid var(--border-soft);flex-direction:column;display:flex}.instance-qr-frame{aspect-ratio:1;width:min(190px,100%);height:auto;padding:var(--sp-2);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--lift-1);animation:jh7-pop-in var(--dur-mid) var(--ease-out);background:#fff;align-self:center;place-items:center;display:grid;position:relative}.instance-qr-frame img{object-fit:contain;outline:none;width:100%;height:100%}.instance-qr-placeholder{padding:0 var(--sp-3);color:#6b6b6b;font-size:var(--fs-caption);text-align:center}.instance-qr-connected{padding:4px var(--sp-3) 4px var(--sp-2);border:1px solid var(--success-border);border-radius:var(--r-pill);background:var(--success-soft);color:var(--success);font-size:var(--fs-caption);font-weight:var(--fw-medium);align-self:center;align-items:center;gap:7px;margin:0;display:inline-flex}.instance-qr-connected:before{content:"";width:7px;height:7px;color:inherit;animation:jh7-pulse-ring 1.8s var(--ease-out) infinite;background:currentColor;border-radius:50%}.qr-modal .instance-qr{border-top:none;width:100%;padding-top:0}.qr-modal .instance-qr-frame{width:min(230px,100%);height:auto}.qr-modal .instance-qr-info{text-align:left}.instance-qr-info{gap:var(--sp-2);flex-direction:column;display:flex}.instance-qr-hint{color:var(--text-2);font-size:var(--fs-caption);margin:0;line-height:1.5}.instance-qr-pairing{color:var(--text-2);font-size:var(--fs-caption);margin:0}.instance-qr-pairing strong{color:var(--brand-ink);font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:.08em}.instance-qr-footer{justify-content:space-between;align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.instance-qr-countdown{color:var(--text-3);font-size:var(--fs-micro);font-variant-numeric:tabular-nums}.instance-qr-footer .instance-action-btn{flex:none}
