@import "https://fonts.googleapis.com/css2?family=Heebo:wght@400;500;600;700&display=swap";@import "https://fonts.googleapis.com/css2?family=Noto+Sans+Arabic:wght@400;500;600;700&display=swap";@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,200..800;1,200..800&family=JetBrains+Mono:ital,wght@0,100..800;1,100..800&display=swap";:root{font-family:Plus Jakarta Sans,system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.6}html[lang=he],html[dir=rtl]{font-family:Heebo,Rubik,Noto Sans Hebrew,Segoe UI,Arial,sans-serif}html[lang=ar]{font-family:Noto Sans Arabic,Cairo,Tajawal,Segoe UI,Arial,sans-serif}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text-primary);background-color:var(--bg-light);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}a{color:#646cff;-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500}a:hover{color:#535bf2}html,body{box-sizing:border-box;width:100%;min-width:320px;max-width:100%;min-height:100vh;margin:0;padding:0;overflow-x:hidden}h1{color:var(--text-primary);letter-spacing:-.025em;margin:0;font-size:1.875rem;font-weight:700}h2{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:0;font-size:.8125rem;font-weight:600}h3{color:var(--text-primary);margin:0;font-size:1rem;font-weight:600}button{border:1px solid var(--border);background-color:var(--bg-light);color:var(--text-primary);box-shadow:var(--neu-extruded-sm);cursor:pointer;will-change:transform;border-radius:12px;padding:.6em 1.2em;font-family:inherit;font-size:1em;font-weight:600;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s,background-color .2s,border-color .2s}button:hover{box-shadow:var(--neu-hover);transform:translateY(-2px)scale(1.02)}button:active{box-shadow:var(--neu-inset);transform:translateY(1px)scale(.97)}button svg{transition:transform .2s cubic-bezier(.34,1.56,.64,1)}button:hover svg{transform:scale(1.15)rotate(-3deg)}.toggle-group button,.segmented-control button,.period-toggle button,.btn-group button,.tab-group button{box-shadow:none;border:none;transform:none}.toggle-group button:hover,.segmented-control button:hover,.period-toggle button:hover,.btn-group button:hover,.tab-group button:hover{box-shadow:none;transform:none}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--primary,#25d366);outline-offset:2px}button:focus:not(:focus-visible){outline:none}select{appearance:none;width:100%;color:var(--text-primary);background-color:var(--bg-light);border:1px solid var(--border);box-shadow:var(--neu-inset);cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;background-size:16px;border-radius:12px;padding:.75rem 2.5rem .75rem 1rem;font-family:inherit;font-size:.9375rem;transition:transform .2s,border-color .2s,box-shadow .2s}select:hover{border-color:var(--primary,#25d366);transform:translateY(-1px)}select:focus{border-color:var(--primary,#25d366);box-shadow:var(--neu-inset-deep), 0 0 0 3px var(--primary-soft);outline:none;transform:translateY(-1px)scale(1.005)}select:disabled{background-color:var(--bg-light);color:var(--text-muted);box-shadow:none;opacity:.6;cursor:not-allowed;transform:none}.modal-overlay{-webkit-backdrop-filter:blur(6px);z-index:2000;box-sizing:border-box;background:#0000008c;justify-content:center;align-items:center;padding:1rem;animation:.2s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--bg-light);box-shadow:var(--neu-extruded-lg);border:1px solid var(--border);border-radius:20px;flex-direction:column;width:90%;max-width:480px;max-height:88dvh;animation:.35s cubic-bezier(.34,1.56,.64,1) popInSpring;display:flex;overflow:hidden}@keyframes popInSpring{0%{opacity:0;transform:scale(.92)translateY(12px)}70%{transform:scale(1.02)translateY(-2px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:1.5rem 1.5rem 1rem;display:flex}.modal-header h2{color:var(--text-primary);text-transform:none;letter-spacing:normal;margin:0;font-size:1.25rem;font-weight:700}.modal-body{flex:auto;min-height:0;padding:1.5rem;overflow-y:auto}.modal-body>label{color:var(--text-secondary);margin-top:1.25rem;margin-bottom:.5rem;font-size:.875rem;font-weight:600;display:block}.modal-body>label:first-of-type,.modal-body>:first-child{margin-top:0}.modal-body input:not([type=radio]):not([type=checkbox]),.modal-body select,.modal-body textarea{border:1px solid var(--border);background:var(--bg-light);width:100%;color:var(--text-primary);box-shadow:var(--neu-inset);box-sizing:border-box;border-radius:12px;padding:.875rem 1rem;font-family:inherit;font-size:.9375rem;transition:transform .2s,border-color .2s,box-shadow .2s}.filter-group select{box-shadow:none!important;background:0 0!important;border:none!important;outline:none!important}.modal-body input:focus,.modal-body select:focus,.modal-body textarea:focus{border-color:var(--primary);background:var(--bg-light);box-shadow:var(--neu-inset-deep), 0 0 0 3px var(--primary-soft);outline:none;transform:translateY(-1px)scale(1.005)}.modal-body input[type=radio]:not(.toggle-switch input),.modal-body input[type=checkbox]:not(.toggle-switch input){width:auto;box-shadow:none;background:0 0;border:none;border-radius:0;flex:none;padding:0;transition:transform .15s}.modal-body input[type=radio]:hover,.modal-body input[type=checkbox]:hover{transform:scale(1.15)}.modal-footer{flex-shrink:0;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem 1.5rem;display:flex}.btn-icon{background:var(--bg-light);border:1px solid var(--border);width:38px;height:38px;box-shadow:var(--neu-extruded-sm);cursor:pointer;color:var(--text-secondary);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s,color .2s;display:flex}.btn-icon svg{width:20px;height:20px;stroke:var(--text-secondary);transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.btn-icon:hover{box-shadow:var(--neu-hover);color:var(--primary);transform:translateY(-2px)scale(1.06)}.btn-icon:hover svg{transform:scale(1.15)rotate(-5deg)}.btn-icon:active{box-shadow:var(--neu-inset);transform:translateY(1px)scale(.95)}.btn-secondary{background:var(--bg-light);color:var(--text-secondary);border:1px solid var(--border);box-shadow:var(--neu-extruded-sm);cursor:pointer;border-radius:12px;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.9375rem;font-weight:600;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s,color .2s;display:inline-flex}.btn-secondary:hover{background:var(--bg-light);box-shadow:var(--neu-hover);color:var(--text-primary);transform:translateY(-2px)scale(1.02)}.btn-secondary:active{box-shadow:var(--neu-inset);transform:translateY(1px)scale(.97)}.btn-secondary svg{transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.btn-secondary:hover svg{transform:scale(1.12)}.btn-primary{background:linear-gradient(145deg, var(--primary), var(--primary-hover));color:#fff;box-shadow:4px 4px 10px var(--neu-shadow-dark), -4px -4px 10px var(--neu-shadow-light), 0 0 12px var(--primary-soft);cursor:pointer;will-change:transform;border:none;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.9375rem;font-weight:600;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s;display:inline-flex}.btn-primary:hover{box-shadow:6px 6px 16px var(--neu-shadow-dark), -6px -6px 16px var(--neu-shadow-light), 0 0 22px var(--primary-soft);transform:translateY(-2px)scale(1.03)}.btn-primary:active{box-shadow:var(--neu-inset);transform:translateY(1px)scale(.97)}.btn-primary svg{transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.btn-primary:hover svg{transform:scale(1.18)rotate(-4deg)}.btn-primary:disabled{opacity:.5;box-shadow:none;cursor:not-allowed;transform:none}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}code{background:var(--bg-light,#f1f5f9);color:var(--text-primary,#1e293b);border-radius:4px;padding:.125rem .375rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.875em}[dir=rtl] code,[dir=rtl] .mono,[dir=rtl] pre{text-align:left;direction:ltr;unicode-bidi:embed}[dir=rtl] .modal-footer{flex-direction:row-reverse;justify-content:flex-end}[dir=rtl] select{background-position:.75rem;padding:.75rem 1rem .75rem 2.5rem}[dir=rtl] .modal-body input,[dir=rtl] .modal-body textarea,[dir=rtl] input[type=text],[dir=rtl] input[type=url],[dir=rtl] input[type=password],[dir=rtl] input[type=number],[dir=rtl] textarea{text-align:right}[dir=rtl] input[type=url],[dir=rtl] input[type=email],[dir=rtl] input[type=tel]{text-align:left;direction:ltr}[dir=rtl] .page-header__top{flex-direction:row-reverse}[dir=rtl] .toast-container{left:1rem;right:auto}html,body,#root,.layout,.main-content{box-sizing:border-box;max-width:100%!important;overflow-x:hidden!important}img,svg,video,canvas{max-width:100%}@media (width<=768px){h1{font-size:1.5rem}.modal{border-radius:12px;width:95%;max-width:none;margin:1rem}.modal-header{padding:1.25rem 1.25rem .875rem}.modal-header h2{font-size:1.125rem}.modal-body{padding:1.25rem}.modal-footer{padding:.875rem 1.25rem 1.25rem}select{padding:.625rem 2.25rem .625rem .875rem;font-size:.875rem}.page-header{flex-direction:column;align-items:flex-start;gap:1rem}.filters-bar{flex-direction:column;align-items:stretch}.campaigns-grid,.kpi-grid,.charts-grid,.stats-grid,.sessions-grid,.plugins-grid,.infra-sections,.tester-panels,.webhooks-content{grid-template-columns:1fr!important;width:100%!important}.dashboard,.chats-page,.contacts-page,.campaigns-page,.analytics-page,.webhooks-page,.templates-page,.users-page,.api-keys-page,.message-tester,.infrastructure-page,.plugins-page,.logs-page,.sessions-page{box-sizing:border-box!important;width:100%!important;max-width:100%!important;padding:1rem .75rem!important;overflow-x:hidden!important}.modal-overlay{padding:.75rem!important;padding-bottom:calc(85px + env(safe-area-inset-bottom))!important;z-index:2000!important;justify-content:center!important;align-items:center!important}.modal{border-radius:20px!important;width:96%!important;max-width:480px!important;max-height:calc(100dvh - 110px)!important;margin:0 auto!important}.modal-body{-webkit-overflow-scrolling:touch;max-height:calc(75dvh - 130px)!important;overflow-y:auto!important}}@media (width<=480px){h1{font-size:1.25rem}.modal-overlay{padding:.5rem!important;padding-bottom:calc(85px + env(safe-area-inset-bottom))!important;justify-content:center!important;align-items:center!important}.modal{border-radius:20px!important;width:96%!important;max-height:calc(100dvh - 110px)!important;margin:0 auto!important}}.skeleton-box{background:linear-gradient(90deg,#ffffff0a 0%,#ffffff1a 50%,#ffffff0a 100%) 0 0/200% 100%;border-radius:8px;animation:1.5s ease-in-out infinite skeletonShimmer;display:inline-block}[data-theme=light] .skeleton-box{background:linear-gradient(90deg,#0000000f 0%,#0000001f 50%,#0000000f 100%) 0 0/200% 100%}@keyframes skeletonShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-card{background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--neu-extruded);border-radius:16px;flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.skeleton-table-row{border-bottom:1px solid var(--border);align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.layout{min-height:100vh;display:flex}.sidebar{background:var(--bg-light);border-right:1px solid var(--border);width:260px;box-shadow:none;z-index:100;flex-direction:column;height:100vh;transition:width .3s,transform .3s;display:flex;position:fixed}.sidebar.collapsed{width:72px}.sidebar-header{border-bottom:1px solid var(--border);align-items:center;gap:.75rem;min-height:72px;padding:1.25rem .5rem;display:flex}.sidebar.collapsed .sidebar-header{justify-content:center;padding:1.5rem 1rem}.sidebar-logo{object-fit:contain;flex-shrink:0;width:28px;height:28px}.mobile-brand .sidebar-logo{width:24px;height:24px}.sidebar-brand{white-space:nowrap;flex-direction:column;display:flex;overflow:hidden}.brand-name{color:var(--text-primary);letter-spacing:-.01em;font-size:1.125rem;font-weight:800}.brand-subtitle{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:.7rem;font-weight:500}.brand-version{letter-spacing:.02em;color:var(--text-muted);opacity:.7;margin-top:1px;font-size:.625rem;font-weight:500}.collapse-toggle{background:var(--bg-light);border:1px solid var(--border);cursor:pointer;width:28px;height:28px;color:var(--text-secondary);z-index:101;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:all .2s;display:flex;position:absolute;top:36px;right:-14px;box-shadow:0 2px 6px #0000000f}.collapse-toggle:hover{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 4px 12px #25d3664d}.collapse-toggle:active{transform:scale(.95)}.collapse-toggle svg{width:16px;height:16px}.sidebar.collapsed .collapse-toggle{right:-14px}.sidebar-nav{flex-direction:column;flex:1;gap:.35rem;padding:1rem .75rem;display:flex;overflow-y:auto}.sidebar.collapsed .sidebar-nav{padding:1rem .5rem}.nav-item{color:var(--text-secondary);box-shadow:none;white-space:nowrap;will-change:transform;border-radius:10px;align-items:center;gap:.75rem;padding:.7rem 1rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:transform .2s cubic-bezier(.34,1.56,.64,1),background-color .18s,color .18s;display:flex;overflow:hidden}.sidebar.collapsed .nav-item{justify-content:center;padding:.7rem}.nav-item svg{transition:transform .2s cubic-bezier(.34,1.56,.64,1),color .2s}.nav-item:hover{box-shadow:none;color:var(--text-primary);background:#0000000a;text-decoration:none;transform:translate(3px)scale(1.01)}.nav-item:hover svg{color:var(--primary);transform:scale(1.15)}.nav-item:active{transform:translate(1px)scale(.98)}.nav-item.active{background:var(--primary-soft);box-shadow:none;color:var(--primary);font-weight:700}.nav-item.active svg{color:var(--primary)}.sidebar-footer{border-top:1px solid var(--border);flex-direction:column;gap:.5rem;padding:.75rem;display:flex}.sidebar.collapsed .sidebar-footer{padding:.75rem .5rem}.theme-toggle-btn{color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;white-space:nowrap;background:0 0;align-items:center;gap:.75rem;padding:.6rem .9rem;font-size:.875rem;font-weight:500;transition:transform .2s cubic-bezier(.34,1.56,.64,1),background-color .2s,color .2s;display:flex;overflow:hidden}.theme-toggle-btn:hover{color:var(--text-primary);background:#0000000a;transform:translateY(-1px)scale(1.02)}.theme-toggle-btn:active{transform:translateY(1px)scale(.97)}.appearance-button-cue{background:radial-gradient(circle at 70% 25%, #fffc, transparent 24%), var(--swatch-color);color:#fff;width:24px;height:24px;box-shadow:0 0 0 2px var(--bg-white), 0 0 0 3px color-mix(in srgb, var(--swatch-color) 35%, transparent);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative}.appearance-button-cue svg{filter:drop-shadow(0 1px 1px #00000040)}.sidebar.collapsed .theme-toggle-btn,.sidebar.collapsed .logout-btn{justify-content:center;padding:.6rem}.theme-toggle-btn:hover{background:var(--bg-light);color:var(--text-primary)}.language-menu,.appearance-menu{position:relative}.language-menu .theme-toggle-btn,.appearance-menu .theme-toggle-btn{width:100%}.language-menu-list{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius);z-index:120;flex-direction:column;gap:.15rem;min-width:160px;padding:.3rem;display:flex;position:absolute;bottom:calc(100% + .35rem);left:0;right:0;box-shadow:0 10px 30px #0f172a29}.language-menu-item{width:100%;min-height:34px;color:var(--text-secondary);border-radius:calc(var(--radius) - 2px);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;padding:.45rem .6rem;font-size:.875rem;font-weight:500;transition:all .2s;display:flex}.language-menu-item:hover{background:var(--bg-light);color:var(--text-primary)}.language-menu-item.active{background:var(--primary-soft);color:var(--primary)}.sidebar.collapsed .language-menu-list{bottom:0;left:calc(100% + .5rem);right:auto}.appearance-menu-list{background:var(--bg-white);border:1px solid var(--border);z-index:120;border-radius:12px;flex-direction:column;gap:.85rem;max-width:100%;padding:.85rem;display:flex;position:absolute;bottom:calc(100% + .35rem);left:0;right:0;box-shadow:0 18px 45px #0f172a2e}.appearance-menu-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.75rem;padding:.2rem .1rem .75rem;display:flex}.appearance-menu-header strong{color:var(--text-primary);font-size:.9375rem;line-height:1.2;display:block}.appearance-menu-header span{color:var(--text-muted);margin-top:.15rem;font-size:.75rem;display:block}.appearance-current-swatch{background:linear-gradient(135deg, #ffffffa6, transparent 42%), var(--swatch-color);width:34px;height:34px;box-shadow:inset 0 0 0 1px #ffffff59, 0 0 0 4px color-mix(in srgb, var(--swatch-color) 13%, transparent);border-radius:999px;flex-shrink:0}.appearance-section{flex-direction:column;gap:.5rem;display:flex}.appearance-section-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.6875rem;font-weight:800}.appearance-mode-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;display:grid}.appearance-mode{background:var(--bg-light);border:1px solid var(--border);min-height:58px;color:var(--text-secondary);border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:.25rem;padding:.45rem;font-size:.75rem;display:flex}.appearance-mode:hover{color:var(--text-primary);border-color:var(--primary);background:var(--bg-white)}.appearance-mode.active{background:var(--primary-soft);border-color:var(--primary);color:var(--primary);box-shadow:inset 0 -2px 0 var(--primary)}.palette-grid{flex-wrap:wrap;gap:.45rem;display:flex}.palette-swatch{border:1px solid var(--border);background:var(--bg-light);border-radius:999px;flex:none;justify-content:center;align-items:center;width:30px;height:30px;padding:0;display:inline-flex;position:relative}.palette-swatch span{background:linear-gradient(135deg, #fff9, transparent 45%), var(--swatch-color);border-radius:999px;width:20px;height:20px;box-shadow:inset 0 0 0 1px #ffffff59}.palette-swatch:hover,.palette-swatch.active{border-color:var(--swatch-color);box-shadow:0 0 0 3px color-mix(in srgb, var(--swatch-color) 18%, transparent)}.palette-swatch.active:after{border:2px solid var(--bg-white);background:var(--primary);content:"";border-radius:999px;width:10px;height:10px;position:absolute;bottom:-1px;right:-1px}.sidebar.collapsed .appearance-menu-list{width:240px;max-width:none;bottom:0;left:calc(100% + .5rem);right:auto}.logout-btn{color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;white-space:nowrap;background:0 0;align-items:center;gap:.75rem;padding:.6rem .9rem;font-size:.875rem;font-weight:500;transition:all .2s;display:flex;overflow:hidden}.logout-btn:hover{color:#dc2626;background:#fee2e2;border-color:#fecaca}.main-content{background:var(--bg-light);flex:1;width:calc(100% - 260px);min-height:100vh;margin-left:260px;transition:margin-left .3s,width .3s;overflow-x:hidden}.main-content.expanded{width:calc(100% - 72px);margin-left:72px}.mobile-header,.sidebar-overlay{display:none}@media (width<=768px){.mobile-header{background:var(--bg-white);border-bottom:1px solid var(--border);z-index:90;justify-content:space-between;align-items:center;height:56px;padding:0 1rem;display:flex;position:fixed;top:0;left:0;right:0}.mobile-menu-btn{width:40px;height:40px;color:var(--text-primary);cursor:pointer;border-radius:var(--radius);border:none;justify-content:center;align-items:center;padding:0;transition:background .2s;display:flex;background:0 0!important}.mobile-menu-btn svg{color:var(--text-primary);stroke:var(--text-primary)}.mobile-menu-btn:hover{background:var(--bg-light)!important}.mobile-brand{align-items:center;gap:.5rem;display:flex}.mobile-brand .brand-name{font-size:1rem}.mobile-close-btn{background:var(--bg-light);border:1px solid var(--border);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;z-index:10;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:all .2s;display:flex;position:absolute;top:.5rem;right:.5rem}.mobile-close-btn:hover{color:#dc2626;background:#fee2e2;border-color:#fecaca}[data-theme=dark] .mobile-close-btn{color:#e5e5e5;background:#222;border-color:#333}[data-theme=dark] .mobile-close-btn:hover{color:#f87171;background:#3f1d1d;border-color:#7f1d1d}.sidebar.mobile{z-index:1050;will-change:transform;background:var(--bg-white);border-right:1px solid var(--border);width:290px;max-width:82vw;height:100dvh;transition:transform .38s cubic-bezier(.16,1,.3,1),box-shadow .38s cubic-bezier(.16,1,.3,1);position:fixed;top:0;bottom:0;left:0;transform:translate(-105%);box-shadow:12px 0 40px #00000038}[data-theme=dark] .sidebar,[data-theme=dark] .sidebar.mobile{-webkit-backdrop-filter:blur(28px)saturate(180%);background:#121212f5;border-right:1px solid #ffffff1f;box-shadow:16px 0 50px #000000d9}.sidebar.mobile .sidebar-footer{padding-bottom:max(1.25rem, env(safe-area-inset-bottom))}.sidebar.mobile.open{transform:translate(0,0)}.sidebar-overlay{-webkit-backdrop-filter:blur(6px);z-index:1040;opacity:0;pointer-events:none;will-change:opacity, backdrop-filter;background:#0000008c;transition:opacity .35s cubic-bezier(.16,1,.3,1),-webkit-backdrop-filter .35s cubic-bezier(.16,1,.3,1),backdrop-filter .35s cubic-bezier(.16,1,.3,1);display:block;position:fixed;inset:0}.sidebar-overlay.open{opacity:1;pointer-events:auto}.main-content,.main-content.expanded,.main-content.mobile,.main-content.mobile.expanded{-webkit-overflow-scrolling:touch;min-height:100vh;padding-top:56px;padding-bottom:88px;box-sizing:border-box!important;width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important;overflow-x:hidden!important}.collapse-toggle{display:none}}.mobile-bottom-nav{bottom:max(.85rem, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(32px)saturate(220%)contrast(115%);z-index:1000;background:linear-gradient(135deg,#ffffffd6 0%,#ffffffad 45%,#ffffffc7 100%);border:1px solid #fffc;border-radius:9999px;justify-content:space-around;align-items:center;width:calc(100% - 1.7rem);max-width:440px;height:60px;margin:0 auto;padding:0 .5rem;display:flex;position:fixed;left:.85rem;right:.85rem;overflow:hidden;box-shadow:0 20px 40px -6px #0003,0 8px 24px -2px #0000001f,inset 0 2px 2px #fffffff2,inset 0 -2px 3px #00000014,inset 2px 0 4px #fff9}.mobile-bottom-nav:before{content:"";pointer-events:none;z-index:0;opacity:.85;background:linear-gradient(#ffffffa6 0%,#fff0 100%);border-radius:9999px 9999px 0 0;height:48%;position:absolute;top:0;left:8%;right:8%}[data-theme=dark] .mobile-bottom-nav{-webkit-backdrop-filter:blur(32px)saturate(200%)contrast(120%);background:linear-gradient(135deg,#161a24c2 0%,#0e1118a3 50%,#141822b3 100%);border:1px solid #ffffff38;box-shadow:0 24px 50px -8px #000c,0 10px 24px #00000080,inset 0 1.5px 1.5px #fff6,inset 0 -1.5px 2px #0006,inset 1px 0 2px #ffffff2e}[data-theme=dark] .mobile-bottom-nav:before{opacity:.85;background:linear-gradient(#ffffff4d 0%,#fff0 100%)}.bottom-nav-active-pill{background:linear-gradient(135deg, color-mix(in srgb, var(--primary) 24%, #ffffff80) 0%, color-mix(in srgb, var(--primary) 14%, #ffffff26) 100%);box-shadow:0 6px 20px -2px color-mix(in srgb, var(--primary) 35%, transparent), inset 0 1.5px 2px 0 #ffffffe6, inset 0 -1.5px 2px 0 #0000001a;border:1px solid color-mix(in srgb, var(--primary) 40%, #ffffffb3);-webkit-backdrop-filter:blur(12px)saturate(200%);will-change:transform;z-index:1;pointer-events:none;border-radius:9999px;transition:transform .38s cubic-bezier(.16,1,.3,1);position:absolute;top:5px;bottom:5px;left:.5rem;overflow:hidden}.bottom-nav-active-pill:after{content:"";pointer-events:none;background:linear-gradient(#ffffff8c 0%,#fff0 100%);border-radius:9999px 9999px 0 0;height:50%;position:absolute;top:0;left:0;right:0}[data-theme=dark] .bottom-nav-active-pill{background:linear-gradient(135deg, color-mix(in srgb, var(--primary) 28%, #ffffff38) 0%, color-mix(in srgb, var(--primary) 15%, #ffffff0d) 100%);border-color:color-mix(in srgb, var(--primary) 50%, #ffffff73);box-shadow:0 8px 24px -2px color-mix(in srgb, var(--primary) 40%, transparent), inset 0 1.5px 2px 0 #ffffffbf, inset 0 -1.5px 2px 0 #0003}.bottom-nav-item{z-index:2;height:48px;color:var(--text-secondary);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:9999px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;padding:4px 0;font-size:.7rem;font-weight:500;text-decoration:none;transition:color .25s,transform .2s cubic-bezier(.16,1,.3,1);display:flex;position:relative}.bottom-nav-item:active{transform:scale(.9)}.bottom-nav-item.active{color:var(--primary);font-weight:600}.bottom-nav-item.active svg{color:var(--primary);stroke-width:2.3px;filter:drop-shadow(0 2px 8px color-mix(in srgb, var(--primary) 45%, transparent));transition:transform .32s cubic-bezier(.34,1.56,.64,1),color .25s;transform:scale(1.08)translateY(-1px)}[dir=rtl] .sidebar{border-right:none;border-left:1px solid var(--border)}[dir=rtl] .collapse-toggle{left:-14px;right:auto}[dir=rtl] .collapse-toggle svg{transform:scaleX(-1)}[dir=rtl] .language-menu-item{text-align:right}[dir=rtl] .sidebar.collapsed .language-menu-list,[dir=rtl] .sidebar.collapsed .appearance-menu-list{left:auto;right:calc(100% + .5rem)}[dir=rtl] .main-content{margin-left:0;margin-right:260px;transition:margin-right .3s,width .3s}[dir=rtl] .main-content.expanded{margin-right:72px}@media (width<=768px){[dir=rtl] .main-content,[dir=rtl] .main-content.mobile{margin-right:0}}.toast-container{z-index:9999;pointer-events:none;flex-direction:column;gap:.75rem;max-width:380px;display:flex;position:fixed;bottom:1.5rem;right:1.5rem}.toast{pointer-events:auto;background:var(--bg-light);color:var(--text-primary);box-shadow:var(--neu-extruded-lg);border:1px solid var(--border);border-left:4px solid;border-radius:16px;align-items:flex-start;gap:.75rem;padding:.875rem 1.15rem;animation:.3s cubic-bezier(.16,1,.3,1) slideIn;display:flex}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.toast-success{border-left-color:#22c55e}.toast-success .toast-icon{color:#22c55e}.toast-error{border-left-color:#ef4444}.toast-error .toast-icon{color:#ef4444}.toast-warning{border-left-color:#f59e0b}.toast-warning .toast-icon{color:#f59e0b}.toast-info{border-left-color:#3b82f6}.toast-info .toast-icon{color:#3b82f6}.toast-icon{flex-shrink:0;margin-top:2px}.toast-content{flex:1;min-width:0}.toast-title{color:var(--text-primary,#1e293b);font-size:.875rem;font-weight:600;line-height:1.4}.toast-message{color:var(--text-secondary,#64748b);word-break:break-word;margin-top:.2rem;font-size:.8125rem;line-height:1.4}.toast-close{width:24px;height:24px;color:var(--text-muted,#94a3b8);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:all .15s;display:flex}.toast-close:hover{background:var(--bg-light,#f1f5f9);color:var(--text-primary,#475569)}@media (width<=768px){.toast-container{gap:.5rem;width:calc(100% - 1.5rem);max-width:none;bottom:74px;left:.75rem;right:.75rem}.toast{border-radius:10px;padding:.75rem 1rem;animation:.25s ease-out slideUpMobile;box-shadow:0 4px 20px #00000024}@keyframes slideUpMobile{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.toast-title{font-size:.8125rem}.toast-message{font-size:.75rem}}:root{--primary:#25d366;--primary-hover:#1da851;--primary-soft:#25d36626;--bg-light:#f4f4f6;--bg-white:#f4f4f6;--bg-card:#f4f4f6;--text-primary:#1e2630;--text-secondary:#485260;--text-muted:#828c9a;--border:#c3c8d073;--error:#ef4444;--success:#22c55e;--warning:#f59e0b;--neu-shadow-dark:#bec4cea6;--neu-shadow-light:#fff;--neu-extruded:6px 6px 14px var(--neu-shadow-dark), -6px -6px 14px var(--neu-shadow-light);--neu-extruded-sm:3px 3px 8px var(--neu-shadow-dark), -3px -3px 8px var(--neu-shadow-light);--neu-extruded-lg:10px 10px 24px var(--neu-shadow-dark), -10px -10px 24px var(--neu-shadow-light);--neu-inset:inset 3px 3px 6px var(--neu-shadow-dark), inset -3px -3px 6px var(--neu-shadow-light);--neu-inset-deep:inset 4px 4px 9px var(--neu-shadow-dark), inset -4px -4px 9px var(--neu-shadow-light);--neu-hover:8px 8px 18px var(--neu-shadow-dark), -8px -8px 18px var(--neu-shadow-light);--shadow-sm:var(--neu-extruded-sm);--shadow-md:var(--neu-extruded);--shadow-lg:var(--neu-extruded-lg);--radius:14px;--glass-bg:#f4f4f6;--glass-bg-hover:#f4f4f6;--glass-border:#fff9;--glass-border-hover:#25d36666;--glass-shadow:var(--neu-extruded);--glass-shadow-hover:var(--neu-hover);--glass-blur:none;--glass-bg-tooltip:#1e2630f2}[data-palette=blue]{--primary:#2563eb;--primary-hover:#1d4ed8;--primary-soft:#2563eb26}[data-palette=graphite]{--primary:#64748b;--primary-hover:#475569;--primary-soft:#64748b29}[data-palette=indigo]{--primary:#4f46e5;--primary-hover:#4338ca;--primary-soft:#4f46e526}[data-palette=amber]{--primary:#d97706;--primary-hover:#b45309;--primary-soft:#d9770626}[data-palette=rose]{--primary:#e11d48;--primary-hover:#be123c;--primary-soft:#e11d4826}[data-palette=teal]{--primary:#0d9488;--primary-hover:#0f766e;--primary-soft:#0d948826}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-light:#181b24;--bg-white:#181b24;--bg-card:#181b24;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#64748b;--border:#ffffff0f;--neu-shadow-dark:#0b0d12f2;--neu-shadow-light:#242a38a6;--neu-extruded:6px 6px 14px var(--neu-shadow-dark), -6px -6px 14px var(--neu-shadow-light);--neu-extruded-sm:3px 3px 8px var(--neu-shadow-dark), -3px -3px 8px var(--neu-shadow-light);--neu-extruded-lg:10px 10px 24px var(--neu-shadow-dark), -10px -10px 24px var(--neu-shadow-light);--neu-inset:inset 3px 3px 6px var(--neu-shadow-dark), inset -3px -3px 6px var(--neu-shadow-light);--neu-inset-deep:inset 4px 4px 9px var(--neu-shadow-dark), inset -4px -4px 9px var(--neu-shadow-light);--neu-hover:8px 8px 18px var(--neu-shadow-dark), -8px -8px 18px var(--neu-shadow-light);--shadow-sm:var(--neu-extruded-sm);--shadow-md:var(--neu-extruded);--shadow-lg:var(--neu-extruded-lg);--glass-bg:#181b24;--glass-bg-hover:#181b24;--glass-border:#ffffff14;--glass-border-hover:#25d36666;--glass-shadow:var(--neu-extruded);--glass-shadow-hover:var(--neu-hover);--glass-blur:none;--glass-bg-tooltip:#0f172afa}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-light:#181b24;--bg-white:#181b24;--bg-card:#181b24;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#64748b;--border:#ffffff0f;--neu-shadow-dark:#0b0d12f2;--neu-shadow-light:#242a38a6;--neu-extruded:6px 6px 14px var(--neu-shadow-dark), -6px -6px 14px var(--neu-shadow-light);--neu-extruded-sm:3px 3px 8px var(--neu-shadow-dark), -3px -3px 8px var(--neu-shadow-light);--neu-extruded-lg:10px 10px 24px var(--neu-shadow-dark), -10px -10px 24px var(--neu-shadow-light);--neu-inset:inset 3px 3px 6px var(--neu-shadow-dark), inset -3px -3px 6px var(--neu-shadow-light);--neu-inset-deep:inset 4px 4px 9px var(--neu-shadow-dark), inset -4px -4px 9px var(--neu-shadow-light);--neu-hover:8px 8px 18px var(--neu-shadow-dark), -8px -8px 18px var(--neu-shadow-light);--shadow-sm:var(--neu-extruded-sm);--shadow-md:var(--neu-extruded);--shadow-lg:var(--neu-extruded-lg);--glass-bg:#181b24;--glass-bg-hover:#181b24;--glass-border:#ffffff14;--glass-border-hover:#25d36666;--glass-shadow:var(--neu-extruded);--glass-shadow-hover:var(--neu-hover);--glass-blur:none;--glass-bg-tooltip:#0f172afa}}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-light);color:var(--text-primary);margin:0;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.6}button{font-family:inherit}input,select,textarea{background:var(--bg-white);color:var(--text-primary);border-color:var(--border);font-family:inherit}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.error-banner{background:#ef44441a;border:1px solid #ef44444d;border-radius:8px;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding:1rem;display:flex}.error-banner svg,.error-banner-text{color:#ef4444}.login-container{background:radial-gradient(circle at 50% -10%, var(--primary-soft) 0%, transparent 65%), var(--bg-light);box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;width:100%;max-width:100%;min-height:100dvh;padding:2rem 0;transition:background-color .3s;display:flex;position:relative;overflow-x:hidden}.login-container .login-card{background:var(--bg-light);box-shadow:var(--neu-extruded-lg);box-sizing:border-box;text-align:center;border:1px solid var(--border);z-index:10;border-radius:clamp(18px,2vw,24px);width:calc(100% - 2.5rem);max-width:440px;margin:0 auto;padding:clamp(1.5rem,4%,2.5rem) clamp(1.25rem,5%,2.5rem);transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s cubic-bezier(.16,1,.3,1);position:relative}[data-theme=dark] .login-container .login-card{box-shadow:var(--neu-extruded-lg);background:var(--bg-light)}.login-container .login-logo{box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;gap:.35rem;width:100%;margin-bottom:clamp(1.25rem,3vh,1.75rem);display:flex}.login-container .logo-icon{object-fit:contain;width:min(220px,75%);max-width:100%;height:auto;margin:0 auto .25rem;transition:width .3s}.login-container .login-subtitle{color:var(--text-secondary);letter-spacing:-.01em;margin:0;font-size:clamp(.85rem,2.2vw,.95rem);font-weight:500}.login-container .login-language{box-sizing:border-box;border:1px solid var(--border);width:100%;color:var(--text-secondary);background:var(--bg-light);box-shadow:var(--neu-inset);border-radius:12px;align-items:center;gap:.6rem;margin-bottom:clamp(1.15rem,3vh,1.5rem);padding:.6rem .8rem;transition:border-color .2s,box-shadow .2s;display:flex}.login-container .login-language svg{flex-shrink:0}.login-container .login-language select{box-sizing:border-box;width:100%;min-width:0;color:var(--text-primary);box-shadow:none;font:inherit;cursor:pointer;appearance:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") 100%/14px no-repeat;border:0;outline:0;flex:1;padding:0 1.5rem 0 0;font-size:clamp(16px,1.2vw,.95rem)}[dir=rtl] .login-container .login-language select{background-position:0;padding:0 0 0 1.5rem}.login-container .login-language:focus-within{border-color:var(--primary);box-shadow:var(--neu-inset-deep), 0 0 0 3px var(--primary-soft)}.login-container .login-title{color:var(--text-primary);margin:0 0 .5rem;font-size:clamp(1.4rem,4vw,1.75rem);font-weight:700}.login-container .login-form{text-align:left;box-sizing:border-box;width:100%}.login-container [dir=rtl] .login-form{text-align:right}.login-container .input-group{box-sizing:border-box;width:100%;margin-bottom:clamp(1rem,2.5vh,1.35rem)}.login-container .input-group label{color:var(--text-primary);letter-spacing:-.01em;margin-bottom:.45rem;font-size:clamp(.825rem,2vw,.875rem);font-weight:600;display:block}.login-container .input-wrapper{box-sizing:border-box;width:100%;position:relative}.login-container .input-wrapper input{box-sizing:border-box;border:1px solid var(--border);background:var(--bg-light);width:100%;color:var(--text-primary);box-shadow:var(--neu-inset);border-radius:12px;padding:.75rem 2.5rem .75rem .95rem;font-size:clamp(16px,1.2vw,.95rem);transition:all .2s}.login-container .input-wrapper input:focus{border-color:var(--primary);box-shadow:var(--neu-inset-deep), 0 0 0 3px var(--primary-soft);outline:none}.login-container .input-wrapper input.error{border-color:var(--error)}.login-container .toggle-visibility{box-shadow:none;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:.35rem;transition:color .2s,background .2s;display:flex;position:absolute;top:50%;right:.65rem;transform:translateY(-50%)}.login-container [dir=rtl] .input-wrapper input{padding:.75rem .95rem .75rem 2.5rem}.login-container [dir=rtl] .toggle-visibility{left:.65rem;right:auto}.login-container .toggle-visibility:hover:not(:disabled){color:var(--text-primary);background:color-mix(in srgb, var(--text-muted) 15%, transparent)}.login-container .error-message{color:var(--error);margin-top:.5rem;font-size:.875rem;font-weight:500;display:block}.login-container .connect-btn{box-sizing:border-box;color:#fff;background:linear-gradient(145deg, var(--primary), var(--primary-hover));cursor:pointer;width:100%;box-shadow:4px 4px 12px var(--neu-shadow-dark), -4px -4px 12px var(--neu-shadow-light), 0 0 16px var(--primary-soft);border:none;border-radius:12px;min-height:48px;padding:.85rem 1.5rem;font-size:clamp(.95rem,2vw,1rem);font-weight:600;transition:all .2s cubic-bezier(.16,1,.3,1)}.login-container .connect-btn:hover:not(:disabled){box-shadow:6px 6px 16px var(--neu-shadow-dark), -6px -6px 16px var(--neu-shadow-light), 0 0 20px var(--primary-soft);transform:translateY(-2px)}.login-container .connect-btn:active:not(:disabled){box-shadow:var(--neu-inset);transform:translateY(0)}.login-container .connect-btn:disabled{opacity:.65;cursor:not-allowed;box-shadow:none;transform:none}.login-container .login-help{color:var(--text-secondary);margin-top:1.5rem;font-size:.875rem}.login-container .login-help a{color:var(--primary);font-weight:500;text-decoration:none}.login-container .login-help a:hover{text-decoration:underline}.login-container .login-footer{color:var(--text-muted);text-align:center;flex-direction:column;align-items:center;gap:.75rem;margin-top:2rem;font-size:.75rem;display:flex}.login-container .login-footer .github-link{color:var(--text-muted);transition:color .2s}.login-container .login-footer .github-link:hover{color:var(--primary)}@media (width>=1441px) and (height>=800px){.login-container{padding:3rem 0}.login-container .login-card{border-radius:24px;width:calc(100% - 4rem);max-width:480px;padding:3rem 3.25rem}.login-container .logo-icon{width:min(240px,80%)}.login-container .login-subtitle{font-size:1.05rem}.login-container .input-group label{font-size:.925rem}.login-container .input-wrapper input{padding:.85rem 2.75rem .85rem 1.15rem;font-size:1rem}.login-container [dir=rtl] .input-wrapper input{padding:.85rem 1.15rem .85rem 2.75rem}.login-container .connect-btn{padding:.95rem 1.75rem;font-size:1.05rem}}@media (width>=1025px) and (width<=1440px),(width>=1025px) and (height<=820px){.login-container{padding:1.5rem 0}.login-container .login-card{border-radius:18px;width:calc(100% - 3rem);max-width:420px;padding:2rem 2.25rem}.login-container .logo-icon{width:min(190px,75%)}.login-container .login-subtitle{font-size:.9rem}.login-container .login-language{margin-bottom:1.15rem;padding:.55rem .75rem}.login-container .input-group{margin-bottom:1.1rem}.login-container .input-group label{margin-bottom:.35rem;font-size:.825rem}.login-container .input-wrapper input{padding:.65rem 2.5rem .65rem .9rem;font-size:.925rem}.login-container [dir=rtl] .input-wrapper input{padding:.65rem .9rem .65rem 2.5rem}.login-container .connect-btn{min-height:44px;padding:.75rem 1.5rem;font-size:.95rem}}@media (width>=481px) and (width<=1024px){.login-container{padding:2rem 0}.login-container .login-card{border-radius:18px;width:calc(100% - 3rem);max-width:440px;padding:2.25rem 2rem}.login-container .logo-icon{width:min(210px,75%)}.login-container .input-wrapper input{padding:.75rem 2.5rem .75rem 1rem;font-size:1rem}.login-container [dir=rtl] .input-wrapper input{padding:.75rem 1rem .75rem 2.5rem}.login-container .connect-btn{padding:.85rem 1.5rem;font-size:1rem}}@media (width<=480px){.login-container{justify-content:center;min-height:100dvh;padding:1rem 0}.login-container .login-card{width:calc(100% - 1.5rem);max-width:100%;box-shadow:var(--shadow-md);border:1px solid var(--border);border-radius:16px;margin:0 auto;padding:1.5rem 1.25rem}.login-container .logo-icon{width:min(170px,80%)}.login-container .login-subtitle{font-size:.875rem}.login-container .login-language{margin-bottom:1.15rem;padding:.55rem .75rem;font-size:.875rem}.login-container .login-language select{font-size:.875rem}.login-container .input-group{margin-bottom:1rem}.login-container .input-group label{margin-bottom:.35rem;font-size:.825rem}.login-container .input-wrapper input{padding:.7rem 2.5rem .7rem .875rem;font-size:16px}.login-container [dir=rtl] .input-wrapper input{padding:.7rem .875rem .7rem 2.5rem}.login-container .toggle-visibility{padding:.35rem;right:.5rem}.login-container [dir=rtl] .toggle-visibility{left:.5rem;right:auto}.login-container .connect-btn{min-height:46px;padding:.8rem 1.25rem;font-size:1rem}}@media (width<=360px){.login-container{padding:.75rem 0}.login-container .login-card{border-radius:14px;width:calc(100% - 1rem);padding:1.25rem 1rem}.login-container .logo-icon{width:min(145px,85%)}.login-container .input-wrapper input{padding:.65rem 2.25rem .65rem .75rem;font-size:16px}.login-container [dir=rtl] .input-wrapper input{padding:.65rem .75rem .65rem 2.25rem}}@media (height<=640px) and (orientation:landscape){.login-container{justify-content:flex-start;padding:1rem 0;overflow-y:auto}.login-container .login-card{width:calc(100% - 3rem);max-width:440px;margin:auto;padding:1.15rem 1.5rem}.login-container .login-logo{flex-direction:row;gap:.75rem;margin-bottom:.75rem}.login-container .logo-icon{width:135px;margin-bottom:0}.login-container .login-subtitle{font-size:.825rem}.login-container .login-language{margin-bottom:.75rem;padding:.45rem .65rem}.login-container .input-group{margin-bottom:.65rem}.login-container .input-wrapper input{padding:.55rem 2.5rem .55rem .85rem}.login-container [dir=rtl] .input-wrapper input{padding:.55rem .85rem .55rem 2.5rem}}.page-header{grid-template-columns:1fr auto;grid-template-areas:"title actions""subtitle subtitle";align-items:center;column-gap:1rem;width:100%;margin-bottom:1.5rem;display:grid}.page-header__title-group{grid-area:title;align-items:center;gap:.75rem;min-width:0;display:flex}.page-header__title-group h1{margin:0}.page-header__badge{display:inline-flex}.page-header__actions{grid-area:actions;justify-self:end;align-items:center;gap:.75rem;display:flex}.page-header__subtitle{color:var(--text-muted);grid-area:subtitle;margin:.5rem 0 0;font-size:.9375rem;line-height:1.5}@media (width<=768px){.page-header{grid-template-columns:1fr;grid-template-areas:"title""subtitle""actions";gap:.75rem 0;margin-bottom:1.25rem}.page-header__title-group h1{font-size:1.5rem}.page-header__actions{flex-wrap:wrap;justify-self:stretch;gap:.5rem;width:100%;margin-top:.25rem;display:flex}.page-header__subtitle{margin-top:.25rem;font-size:.875rem}}@media (width<=600px){.page-header__actions{grid-template-columns:repeat(2,1fr);gap:.5rem;width:100%;display:grid}.page-header__actions>button,.page-header__actions>.btn-primary,.page-header__actions>.btn-secondary{white-space:nowrap;text-overflow:ellipsis;box-sizing:border-box;justify-content:center;width:100%;padding:.6rem .75rem;font-size:.8125rem;overflow:hidden}.page-header__actions>.btn-primary{grid-column:1/-1}}.dashboard{box-sizing:border-box;width:100%;padding:2rem}.dashboard .page-header{margin-bottom:2rem}.dashboard .header-title{align-items:center;gap:1rem;display:flex}.dashboard .status-badge{text-transform:uppercase;letter-spacing:.025em;border-radius:9999px;padding:.375rem .75rem;font-size:.6875rem;font-weight:700}.dashboard .status-badge.connected{color:var(--primary);background:#25d3661f;align-items:center;gap:6px;display:inline-flex;position:relative}.dashboard .status-badge.connected:before{content:"";background:var(--primary);width:8px;height:8px;box-shadow:0 0 8px var(--primary);border-radius:50%;animation:2s ease-in-out infinite statusPulse}@keyframes statusPulse{0%{opacity:.8;transform:scale(.95);box-shadow:0 0 #25d366b3}70%{opacity:1;transform:scale(1.05);box-shadow:0 0 0 6px #25d36600}to{opacity:.8;transform:scale(.95);box-shadow:0 0 #25d36600}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.dashboard .stats-grid{grid-template-columns:repeat(4,1fr);gap:1.5rem;width:100%;margin-bottom:2rem;display:grid}.dashboard .stat-card{background:var(--bg-light);box-shadow:var(--neu-extruded);border:1px solid var(--border);will-change:transform;border-radius:18px;min-width:0;padding:1.5rem;transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s;animation:.4s cubic-bezier(.16,1,.3,1) backwards fadeInUp;position:relative;overflow:hidden}.dashboard .stat-card:first-child{animation-delay:50ms}.dashboard .stat-card:nth-child(2){animation-delay:.1s}.dashboard .stat-card:nth-child(3){animation-delay:.15s}.dashboard .stat-card:nth-child(4){animation-delay:.2s}.dashboard .stat-card:hover{box-shadow:var(--neu-hover);transform:translateY(-4px)scale(1.015)}.dashboard .stat-card:active{box-shadow:var(--neu-inset);transform:translateY(1px)scale(.98)}.dashboard .stat-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.dashboard .stat-icon{color:var(--primary);z-index:2;background:var(--bg-light);width:40px;height:40px;box-shadow:var(--neu-extruded-sm);border-radius:10px;justify-content:center;align-items:center;transition:transform .2s cubic-bezier(.34,1.56,.64,1);display:flex;position:relative}.dashboard .stat-card:hover .stat-icon{transform:scale(1.15)rotate(-4deg)}.dashboard .stat-watermark{opacity:.04;width:96px;height:96px;color:var(--text-primary);pointer-events:none;z-index:1;position:absolute;bottom:-15px;right:-10px;transform:rotate(-15deg)}.dashboard .stat-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);z-index:2;font-size:.75rem;font-weight:600;position:relative}.dashboard .stat-value{color:var(--text-primary);z-index:2;font-size:2rem;font-weight:700;position:relative}.dashboard .stat-trend{z-index:2;align-items:center;gap:.25rem;margin-top:.5rem;font-size:.75rem;font-weight:500;display:flex;position:relative}.dashboard .stat-trend.up{color:var(--primary)}.dashboard .stat-trend.down{color:#ef4444}.dashboard .sessions-section{background:var(--bg-light);box-shadow:var(--neu-extruded);border:1px solid var(--border);box-sizing:border-box;border-radius:18px;width:100%;padding:1.5rem}.dashboard .section-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.dashboard .section-subtitle{color:var(--text-muted);font-size:.875rem}.dashboard .sessions-table{flex-direction:column;width:100%;font-size:.875rem;display:flex}.dashboard .sessions-table .table-header,.dashboard .sessions-table .table-row{grid-template-columns:140px 200px 140px 1fr 180px;align-items:center;gap:1rem;padding:1rem 1.5rem;display:grid}.dashboard .sessions-table .table-header{background:var(--bg-light);border-radius:var(--radius) var(--radius) 0 0;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);font-size:.7rem;font-weight:700}.dashboard .sessions-table .table-row{border-bottom:1px solid var(--border)}.dashboard .sessions-table .table-row:last-child{border-bottom:none}.dashboard .session-info-cell{flex-direction:column;gap:.125rem;min-width:0;display:flex}.dashboard .session-id{color:var(--text-primary);white-space:nowrap;font-family:JetBrains Mono,monospace;font-size:.8125rem}.dashboard .session-name{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:140px;font-size:.75rem;overflow:hidden}.dashboard .phone{color:var(--text-primary);white-space:nowrap;font-size:.8125rem}.dashboard .status-pill{border-radius:9999px;width:fit-content;padding:.25rem .75rem;font-size:.75rem;font-weight:500;display:inline-block}.dashboard .status-pill.ready{color:var(--primary);background:#25d3661a}.dashboard .status-pill.connecting{color:#d97706;background:#fef3c7}.dashboard .status-pill.disconnected{color:var(--text-muted);background:#f3f4f6}.dashboard .last-active{color:var(--text-secondary);font-size:.875rem}.dashboard .actions{justify-content:flex-end;gap:.5rem;display:flex}.dashboard .btn-sm{cursor:pointer;background:var(--bg-light);border:1px solid var(--border);color:var(--text-secondary);border-radius:6px;padding:.375rem .75rem;font-size:.75rem;font-weight:500;transition:all .2s}.dashboard .btn-sm:hover{background:var(--bg-white);border-color:var(--text-muted)}.dashboard .btn-sm.danger{color:#dc2626;background:#fef2f2;border-color:#fecaca}.dashboard .btn-sm.danger:hover{background:#fee2e2}@media (width<=1200px){.dashboard .stats-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.dashboard{padding:1rem}.dashboard .stats-grid{grid-template-columns:1fr;gap:1rem}.dashboard .stat-value{font-size:1.5rem}.dashboard .sessions-section{padding:1rem}.dashboard .section-header{flex-direction:column;align-items:flex-start;gap:.5rem;margin-bottom:1rem}.dashboard .sessions-table .table-header{display:none}.dashboard .sessions-table .table-row{border-bottom:1px solid var(--border);flex-direction:column;gap:.5rem;padding:1rem;display:flex}.dashboard .sessions-table .table-row:last-child{border-bottom:none}.dashboard .session-info-cell{order:1}.dashboard .session-id{font-size:.9375rem;font-weight:600}.dashboard .phone{order:2}.dashboard .status-pill{order:3}.dashboard .last-active{color:var(--text-muted);order:4;font-size:.75rem}.dashboard .actions{border-top:1px solid var(--border);order:5;justify-content:flex-start;padding-top:.5rem}}@media (width<=480px){.dashboard{padding:.75rem}.dashboard .header-title{flex-direction:column;align-items:flex-start;gap:.5rem}}.sessions-page{box-sizing:border-box;width:100%;padding:2rem}.sessions-page .page-header{width:100%;margin-bottom:2rem}.sessions-page .header-content{justify-content:space-between;align-items:center;width:100%;margin-bottom:1rem;display:flex}.sessions-page .btn-primary{background:var(--primary);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.9375rem;font-weight:600;transition:background .2s;display:flex}.sessions-page .btn-primary:hover{background:var(--primary-hover)}.sessions-page .filters-bar{gap:1rem;margin-bottom:1.5rem;display:flex}.sessions-page .search-input{background:var(--bg-light);border:1px solid var(--border);max-width:400px;box-shadow:var(--neu-inset);border-radius:12px;flex:1;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.sessions-page .search-input svg{color:var(--text-muted);flex-shrink:0}.sessions-page .search-input input{color:var(--text-primary);box-shadow:none;background:0 0;border:none;flex:1;font-size:.9375rem}.sessions-page .search-input input:focus{outline:none}.sessions-page .filter-group{background:var(--bg-light);border:1px solid var(--border);box-shadow:var(--neu-inset);border-radius:12px;align-items:center;gap:.5rem;padding:0 1rem;display:flex}.sessions-page .filter-group svg{color:var(--text-secondary);flex-shrink:0}.sessions-page .filter-group select{color:var(--text-primary);cursor:pointer;font-size:.9375rem;font-weight:500;box-shadow:none!important;background:0 0!important;border:none!important;outline:none!important;padding:.75rem .5rem .75rem .25rem!important}.sessions-page .sessions-grid{grid-template-columns:repeat(4,1fr);gap:1.5rem;width:100%;display:grid}.sessions-page .session-card{background:var(--bg-light);box-shadow:var(--neu-extruded);border:1px solid var(--border);border-radius:18px;padding:1.5rem;transition:all .25s}.sessions-page .session-card:hover{box-shadow:var(--neu-hover);transform:translateY(-2px)}.sessions-page .session-card:active{box-shadow:var(--neu-inset);transform:translateY(0)}.sessions-page .card-header{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.sessions-page .card-header h3{white-space:nowrap;text-overflow:ellipsis;max-width:180px;margin:0;overflow:hidden}.sessions-page .qr-placeholder{background:var(--bg-light);box-shadow:var(--neu-inset);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;margin-bottom:1rem;padding:2rem;display:flex}.sessions-page .qr-icon{color:var(--text-muted);margin-bottom:.75rem}.sessions-page .qr-placeholder p{color:var(--text-secondary);margin:0;font-size:.875rem}.sessions-page .session-info{margin-bottom:1rem}.sessions-page .info-row{border-bottom:1px solid var(--border);justify-content:space-between;padding:.5rem 0;display:flex}.sessions-page .info-row:last-child{border-bottom:none}.sessions-page .info-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);font-size:.7rem;font-weight:600}.sessions-page .info-value{color:var(--text-primary);font-size:.8125rem;font-weight:500}.sessions-page .info-value.mono{font-family:monospace}.sessions-page .info-value.error-text{color:var(--color-danger,#dc2626);text-align:right;text-overflow:ellipsis;white-space:nowrap;max-width:60%;font-weight:500;overflow:hidden}.sessions-page .card-actions{flex-wrap:wrap;gap:.5rem;display:flex}.sessions-page .btn-action{cursor:pointer;background:var(--bg-light);border:1px solid var(--border);color:var(--text-secondary);border-radius:6px;align-items:center;gap:.375rem;padding:.5rem .75rem;font-size:.8125rem;font-weight:500;transition:all .2s;display:flex}.sessions-page .btn-action:hover{background:var(--bg-white);color:var(--text-primary)}.sessions-page .btn-action.danger{color:#dc2626}.sessions-page .btn-action.danger:hover{background:#fee2e2;border-color:#fecaca}@media (width<=1400px){.sessions-page .sessions-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=1000px){.sessions-page .sessions-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.sessions-page .sessions-grid{grid-template-columns:1fr}.sessions-page{padding:1rem}.sessions-page .filters-bar{flex-direction:column;gap:.75rem}.sessions-page .search-input{max-width:none}.sessions-page .filter-group{justify-content:space-between;width:100%}.sessions-page .filter-group select{flex:1}.sessions-page .header-content{flex-direction:column;align-items:stretch;gap:1rem}.sessions-page .btn-primary{justify-content:center;width:100%}.sessions-page .session-card{padding:1rem}.sessions-page .card-actions{flex-direction:column}.sessions-page .card-actions .btn-action{justify-content:center}}@media (width<=480px){.sessions-page{padding:.75rem}}.sessions-page .modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#00000080;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.sessions-page .modal{background:var(--bg-white);border-radius:16px;width:90%;max-width:480px;animation:.3s slideUp;overflow:hidden;box-shadow:0 25px 50px -12px #00000040}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.sessions-page .modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1.5rem 1.5rem 1rem;display:flex}.sessions-page .modal-header h2{color:var(--text-primary);margin:0;font-size:1.25rem;font-weight:700}.sessions-page .modal-title{flex-direction:column;gap:.25rem;display:flex}.sessions-page .session-name{color:var(--text-muted);font-size:.875rem;font-weight:500}.sessions-page .modal-body{padding:1.5rem}.sessions-page .modal-body>label{color:var(--text-secondary);margin-bottom:.5rem;font-size:.875rem;font-weight:600;display:block}.sessions-page .modal-body input{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-light);box-sizing:border-box;width:100%;padding:.875rem 1rem;font-size:.9375rem;transition:all .2s}.sessions-page .modal-body input:focus{border-color:var(--primary);background:var(--bg-white);outline:none;box-shadow:0 0 0 3px #22c55e1a}.sessions-page .modal-body input::placeholder{color:var(--text-muted)}.sessions-page .input-hint{color:var(--text-muted);margin:.5rem 0 0;font-size:.75rem}.sessions-page .input-hint code{background:var(--bg-light);border-radius:4px;padding:.125rem .375rem;font-family:JetBrains Mono,monospace;font-size:.7rem}.sessions-page .input-error{color:#dc2626;margin:.5rem 0 0;font-size:.75rem;font-weight:500}.sessions-page .modal-footer{justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem 1.5rem;display:flex}.sessions-page .btn-secondary{background:var(--bg-light);color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;padding:.75rem 1.25rem;font-size:.9375rem;font-weight:600;transition:all .2s}.sessions-page .btn-secondary:hover{background:var(--bg-white);border-color:var(--text-muted);color:var(--text-primary)}.sessions-page .btn-danger{color:#fff;border-radius:var(--radius);cursor:pointer;background:#dc2626;border:none;padding:.75rem 1.25rem;font-weight:600;transition:all .2s}.sessions-page .btn-danger:hover{background:#b91c1c}.sessions-page .confirm-modal{max-width:400px}.sessions-page .confirm-modal .modal-body p{margin:0 0 .5rem}.sessions-page .text-muted{color:var(--text-muted);font-size:.875rem}.sessions-page .btn-icon{cursor:pointer;width:36px;height:36px;color:var(--text-muted);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:all .2s;display:flex}.sessions-page .btn-icon:hover{background:var(--bg-light);color:var(--text-primary)}.sessions-page .empty-state{text-align:center;color:var(--text-muted);flex-direction:column;grid-column:1/-1;justify-content:center;align-items:center;padding:4rem 2rem;display:flex}.sessions-page .empty-state svg{opacity:.5;margin-bottom:1rem}.sessions-page .empty-state h3{color:var(--text-secondary);margin:0 0 .5rem;font-size:1.125rem;font-weight:600}.sessions-page .empty-state p{margin:0;font-size:.875rem}.sessions-page .status-badge{text-transform:uppercase;letter-spacing:.03em;border-radius:20px;align-items:center;gap:.375rem;padding:.25rem .625rem;font-size:.75rem;font-weight:600;display:inline-flex}.sessions-page .status-badge.connected{color:#16a34a;background:#22c55e1a}.sessions-page .status-badge.disconnected{color:#6b7280;background:#6b72801a}.sessions-page .status-badge.connecting{color:#ca8a04;background:#eab3081a}.sessions-page .status-badge:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.sessions-page .detail-grid{gap:1rem;display:grid}.sessions-page .detail-item{flex-direction:column;gap:.25rem;display:flex}.sessions-page .detail-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:.75rem;font-weight:600}.sessions-page .detail-value{color:var(--text-primary);word-break:break-all;font-size:.9375rem}.sessions-page .detail-value.mono{background:var(--bg-light);border-radius:6px;padding:.5rem;font-family:JetBrains Mono,monospace;font-size:.8125rem}.sessions-page .btn-close{background:var(--bg-light);border:1px solid var(--border);cursor:pointer;width:32px;height:32px;color:var(--text-secondary);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.sessions-page .btn-close svg{flex-shrink:0;min-width:20px;width:20px!important;height:20px!important}.sessions-page .btn-close:hover{color:#dc2626;background:#fee2e2;border-color:#fecaca}.sessions-page .btn-close:hover svg{stroke:#dc2626}.sessions-page .qr-modal .modal-body{padding:1.5rem}.sessions-page .qr-instructions{text-align:left;background:var(--bg-light);border-radius:12px;margin-top:1.5rem;padding:1rem 1.25rem}.sessions-page .qr-step{color:var(--text-secondary);border-bottom:1px solid var(--border);margin:0;padding:.5rem 0;font-size:.875rem}.sessions-page .qr-step:last-child{border-bottom:none}.sessions-page .qr-step strong{color:var(--text-primary)}.sessions-page .qr-auto-refresh{color:var(--text-muted);justify-content:center;align-items:center;gap:.5rem;margin-top:1rem;font-size:.75rem;display:flex}.sessions-page .spin-slow{animation:2s linear infinite spin}.sessions-page .status-pill{text-transform:capitalize;border-radius:20px;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-flex}.sessions-page .status-pill.created,.sessions-page .status-pill.idle{color:#6b7280;background:#6b72801a}.sessions-page .status-pill.initializing,.sessions-page .status-pill.connecting{color:#ca8a04;background:#eab3081a}.sessions-page .status-pill.qr_ready{color:#2563eb;background:#3b82f61a}.sessions-page .status-pill.ready{color:#16a34a;background:#22c55e1a}.sessions-page .status-pill.disconnected{color:#dc2626;background:#ef44441a}.sessions-page .btn-sm{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:6px;margin-top:.75rem;padding:.5rem 1rem;font-size:.8125rem;font-weight:600;transition:background .2s}.sessions-page .btn-sm:hover{background:var(--primary-hover)}@media (width<=1200px){.sessions-page .sessions-grid{grid-template-columns:repeat(2,1fr);gap:1rem}}@media (width<=768px){.sessions-page{padding:1rem}.sessions-page .header-content{flex-direction:column;align-items:flex-start;gap:.75rem}.sessions-page .filters-bar{flex-direction:column;gap:.75rem}.sessions-page .search-input{max-width:none}.sessions-page .sessions-grid{grid-template-columns:1fr;gap:1rem}}.confirm-modal{width:90%;max-width:440px;animation:.35s cubic-bezier(.34,1.56,.64,1) popInSpring}.confirm-modal-header{justify-content:space-between;align-items:center;padding:1.25rem 1.5rem 1rem;display:flex}.confirm-modal-title-group{align-items:center;gap:.75rem;display:flex}.confirm-modal-title-group h2{color:var(--text-primary);margin:0;font-size:1.15rem;font-weight:700}.confirm-icon-badge{width:38px;height:38px;box-shadow:var(--neu-extruded-sm);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.confirm-icon-badge.variant-danger{color:#ef4444;background:#ef44441f;border:1px solid #ef444440}.confirm-icon-badge.variant-warning{color:#f59e0b;background:#f59e0b1f;border:1px solid #f59e0b40}.confirm-icon-badge.variant-primary{background:var(--primary-soft);color:var(--primary);border:1px solid #25d36640}.confirm-modal-body{padding:1rem 1.5rem 1.25rem}.confirm-message{color:var(--text-secondary);margin:0;font-size:.9375rem;line-height:1.5}.confirm-modal-footer{border-top:1px solid var(--border);justify-content:flex-end;align-items:center;gap:.75rem;padding:1rem 1.5rem 1.25rem;display:flex}.btn-confirm{cursor:pointer;will-change:transform;border:none;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;padding:.7rem 1.25rem;font-size:.9375rem;font-weight:600;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s;display:inline-flex}.btn-confirm.variant-danger{color:#fff;box-shadow:4px 4px 10px var(--neu-shadow-dark), -4px -4px 10px var(--neu-shadow-light), 0 0 12px #ef44444d;background:linear-gradient(145deg,#ef4444,#dc2626)}.btn-confirm.variant-danger:hover{box-shadow:6px 6px 16px var(--neu-shadow-dark), -6px -6px 16px var(--neu-shadow-light), 0 0 18px #ef444466;transform:translateY(-2px)scale(1.03)}.btn-confirm.variant-warning{color:#fff;box-shadow:4px 4px 10px var(--neu-shadow-dark), -4px -4px 10px var(--neu-shadow-light), 0 0 12px #f59e0b4d;background:linear-gradient(145deg,#f59e0b,#d97706)}.btn-confirm.variant-warning:hover{box-shadow:6px 6px 16px var(--neu-shadow-dark), -6px -6px 16px var(--neu-shadow-light), 0 0 18px #f59e0b66;transform:translateY(-2px)scale(1.03)}.btn-confirm.variant-primary{background:linear-gradient(145deg, var(--primary), var(--primary-hover));color:#fff;box-shadow:4px 4px 10px var(--neu-shadow-dark), -4px -4px 10px var(--neu-shadow-light), 0 0 12px var(--primary-soft)}.btn-confirm.variant-primary:hover{box-shadow:6px 6px 16px var(--neu-shadow-dark), -6px -6px 16px var(--neu-shadow-light), 0 0 18px var(--primary-soft);transform:translateY(-2px)scale(1.03)}.btn-confirm:active{box-shadow:var(--neu-inset);transform:translateY(1px)scale(.97)}.btn-confirm:disabled{opacity:.6;cursor:not-allowed;transform:none}.confirm-spinner{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin}@media (width<=768px){.confirm-modal{border-radius:20px;width:96%;max-width:440px;margin:0 auto}.confirm-modal-header{padding:1rem 1.25rem .75rem}.confirm-modal-body{padding:.85rem 1.25rem 1rem}.confirm-modal-footer{gap:.5rem;padding:.85rem 1.25rem 1rem}.confirm-modal-footer button{flex:1;padding:.65rem .85rem;font-size:.875rem}}.chats-page{box-sizing:border-box;flex-direction:column;width:100%;height:calc(100vh - 4rem);padding:2rem;display:flex}.chats-page .chats-layout{background:var(--bg-light);border:1px solid var(--border);box-shadow:var(--neu-extruded-lg);border-radius:20px;flex:1;height:calc(100vh - 12rem);margin-top:1rem;display:flex;overflow:hidden}.chats-page .chats-sidebar{border-right:1px solid var(--border);background:var(--bg-light);flex-direction:column;flex-shrink:0;width:320px;display:flex}.chats-page .sidebar-header-box{border-bottom:1px solid var(--border);flex-direction:column;gap:1rem;padding:1.25rem;display:flex}.chats-page .session-select-group{flex-direction:column;gap:.375rem;display:flex}.chats-page .session-selector{border:1px solid var(--border);background:var(--bg-light);width:100%;color:var(--text-primary);box-shadow:var(--neu-inset);cursor:pointer;border-radius:12px;outline:none;padding:.625rem .75rem;font-size:.875rem;font-weight:500;transition:all .2s}.chats-page .session-selector:focus{border-color:var(--primary);box-shadow:var(--neu-inset-deep), 0 0 0 3px var(--primary-soft)}.chats-page .chat-search-input{background:var(--bg-light);border:1px solid var(--border);box-shadow:var(--neu-inset);border-radius:12px;align-items:center;gap:.5rem;padding:.625rem .75rem;display:flex}.chats-page .chat-search-input svg{color:var(--text-muted);flex-shrink:0}.chats-page .chat-search-input input{color:var(--text-primary);box-shadow:none;background:0 0;border:none;outline:none;flex:1;font-size:.875rem}.chats-page .chats-list{flex-direction:column;flex:1;display:flex;overflow-y:auto}.chats-page .chats-list::-webkit-scrollbar{width:6px}.chats-page .room-messages::-webkit-scrollbar{width:6px}.chats-page .chats-list::-webkit-scrollbar-thumb{background:var(--neu-shadow-dark);border-radius:3px}.chats-page .room-messages::-webkit-scrollbar-thumb{background:var(--neu-shadow-dark);border-radius:3px}.chats-page .chats-list::-webkit-scrollbar-track{background:0 0}.chats-page .room-messages::-webkit-scrollbar-track{background:0 0}.chats-page .chats-list-loading,.chats-page .chats-list-empty{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:3rem 1.5rem;font-size:.875rem;display:flex}.chats-page .chat-item-card{border-bottom:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.75rem;padding:1rem 1.25rem;transition:all .2s;display:flex}.chats-page .chat-item-card:hover{background:var(--bg-light);box-shadow:var(--neu-extruded-sm)}.chats-page .chat-item-card.active{background:var(--bg-light);box-shadow:var(--neu-inset)}.chats-page .chat-avatar{background:var(--bg-light);border:1px solid var(--border);width:44px;height:44px;color:var(--text-secondary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.chats-page .chat-item-card.active .chat-avatar{background:var(--bg-white);color:var(--primary);border-color:#22c55e4d}.chats-page .chat-item-info{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.chats-page .chat-item-top{justify-content:space-between;align-items:baseline;display:flex}.chats-page .chat-item-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.9375rem;font-weight:600;overflow:hidden}.chats-page .chat-item-time{color:var(--text-muted);white-shrink:0;font-size:.75rem}.chats-page .chat-item-bottom{justify-content:space-between;align-items:center;display:flex}.chats-page .chat-item-snippet{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:180px;font-size:.8125rem;overflow:hidden}.chats-page .chat-item-snippet .no-message{opacity:.6;font-style:italic}.chats-page .chat-unread-badge{background:var(--primary);color:#fff;text-align:center;border-radius:10px;min-width:14px;padding:.125rem .375rem;font-size:.75rem;font-weight:700;box-shadow:0 2px 4px #22c55e4d}.chats-page .chats-room{background:var(--bg-light);flex-direction:column;flex:1;display:flex}.chats-page .chats-room-placeholder{text-align:center;color:var(--text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;padding:3rem;display:flex}.chats-page .placeholder-icon{opacity:.3;color:var(--text-secondary);margin-bottom:1.5rem}.chats-page .chats-room-placeholder h2{color:var(--text-primary);text-transform:none;letter-spacing:-.01em;margin:0 0 .375rem;font-size:1.25rem;font-weight:600}.chats-page .chats-room-placeholder p{max-width:380px;margin:0;font-size:.9375rem}.chats-page .room-container{flex-direction:column;flex:1;height:100%;display:flex}.chats-page .room-header{background:var(--bg-white);border-bottom:1px solid var(--border);box-sizing:border-box;align-items:center;gap:.75rem;height:70px;padding:0 1.5rem;display:flex}.chats-page .room-back{width:36px;height:36px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;margin-left:-.5rem;padding:0;display:none}.chats-page .room-back:hover{background:var(--bg-light);color:var(--text-primary)}.chats-page .room-avatar{background:var(--bg-light);border:1px solid var(--border);width:40px;height:40px;color:var(--text-secondary);border-radius:50%;justify-content:center;align-items:center;display:flex}.chats-page .room-contact-info h3{color:var(--text-primary);margin:0;font-size:1rem;font-weight:600}.chats-page .room-contact-info span{color:var(--text-muted);font-family:monospace;font-size:.75rem}.chats-page .room-messages{background-image:radial-gradient(var(--border) 1px, transparent 0);background-size:24px 24px;flex-direction:column;flex:1;gap:.75rem;padding:1.5rem;display:flex;overflow-y:auto}.chats-page .messages-loading{color:var(--text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.75rem;font-size:.9375rem;display:flex}.chats-page .messages-empty{color:var(--text-muted);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.75rem;padding:2rem;font-size:.9375rem;display:flex}.chats-page .message-bubble-wrapper{width:100%;display:flex}.chats-page .message-bubble-wrapper.incoming{justify-content:flex-start}.chats-page .message-bubble-wrapper.outgoing{justify-content:flex-end}.chats-page .message-bubble{border-radius:12px;max-width:100%;padding:.625rem .875rem .375rem;font-size:.9375rem;line-height:1.4;position:relative;box-shadow:0 1px 2px #0000000d}.chats-page .message-bubble.incoming{background:var(--bg-white);color:var(--text-primary);border:1px solid var(--border);border-bottom-left-radius:2px}.chats-page .message-bubble.outgoing{color:#111b21;background:#d9fdd3;border-bottom-right-radius:2px}.chats-page [data-theme=dark] .message-bubble.outgoing{color:#e9edef;background:#005c4b}.chats-page .message-text{word-break:break-word;white-space:pre-wrap}.chats-page .message-meta{justify-content:flex-end;align-items:center;gap:.25rem;margin-top:.25rem;display:flex}.chats-page .message-time{color:var(--text-muted);font-size:.6875rem}.chats-page .message-status-icon{font-size:.75rem}.chats-page .message-status-icon.read{color:#53bdeb}.chats-page .room-input-footer{background:var(--bg-white);border-top:1px solid var(--border);box-sizing:border-box;padding:1rem 1.5rem}.chats-page .input-form{align-items:center;gap:.75rem;display:flex}.chats-page .message-text-input{border:1px solid var(--border);background:var(--bg-light);color:var(--text-primary);box-sizing:border-box;border-radius:24px;outline:none;flex:1;padding:.75rem 1rem;font-size:.9375rem;transition:all .2s}.chats-page .message-text-input:focus{border-color:var(--primary);background:var(--bg-white);box-shadow:0 0 0 3px #22c55e1a}.chats-page .btn-send-message{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;transition:background .2s,transform .1s;display:flex;box-shadow:0 2px 8px #22c55e4d}.chats-page .btn-send-message:hover:not(:disabled){background:var(--primary-hover);transform:scale(1.05)}.chats-page .btn-send-message:disabled{background:var(--border);color:var(--text-muted);cursor:not-allowed;box-shadow:none}.chats-page .chats-loading-container,.chats-page .chats-error-state{background:var(--bg-white);border:1px solid var(--border);text-align:center;color:var(--text-secondary);box-shadow:var(--shadow-sm);border-radius:16px;flex-direction:column;flex:1;justify-content:center;align-items:center;margin-top:1rem;padding:4rem 2rem;display:flex}.chats-page .chats-error-state h3{color:var(--text-primary);margin:1rem 0 .5rem;font-size:1.25rem}.chats-page .chats-error-state p{max-width:450px;color:var(--text-muted);margin:0;font-size:.9375rem}.chats-page .text-warn{color:#ea580c}.chats-page .chats-reconnect-banner{color:#ea580c;background:#ea580c1a;border-radius:6px;align-items:center;gap:.5rem;margin-bottom:.75rem;padding:.5rem .75rem;font-size:.875rem;display:flex}.chats-page .chats-reconnect-banner button{margin-left:auto}.chats-page .btn-input-accessory{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:.5rem;transition:all .2s;display:flex}.chats-page .btn-input-accessory:hover{background:var(--bg-light);color:var(--text-primary)}.chats-page .btn-input-accessory.active{color:var(--primary);background:#22c55e1a}.chats-page .attachment-preview-banner{background:var(--bg-white);border-top:1px solid var(--border);box-sizing:border-box;align-items:center;gap:1rem;padding:.75rem 1.5rem;display:flex}.chats-page .preview-thumbnail{object-fit:cover;border:1px solid var(--border);border-radius:6px;width:48px;height:48px}.chats-page .preview-file-icon{background:var(--bg-light);border:1px solid var(--border);border-radius:6px;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.5rem;display:flex}.chats-page .preview-file-info{flex-direction:column;flex:1;min-width:0;display:flex}.chats-page .preview-filename{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:600;overflow:hidden}.chats-page .preview-filesize{color:var(--text-muted);font-size:.75rem}.chats-page .btn-remove-attachment{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:.375rem;transition:all .2s;display:flex}.chats-page .btn-remove-attachment:hover{color:#dc2626;background:#fee2e2}.chats-page .chats-emoji-picker{background:var(--bg-white);border-top:1px solid var(--border);box-sizing:border-box;max-height:120px;padding:.75rem 1.5rem;overflow-y:auto}.chats-page .emoji-grid{flex-wrap:wrap;gap:.5rem;display:flex}.chats-page .emoji-btn{cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:.375rem;font-size:1.25rem;transition:all .15s;display:flex}.chats-page .emoji-btn:hover{background:var(--bg-light);transform:scale(1.15)}.chats-page .message-bubble.media-type{border-top-left-radius:12px;border-top-right-radius:12px}@media (width<=768px){.chats-page{height:auto;padding:1rem}.chats-page .chats-layout{flex-direction:column;height:calc(100vh - 7rem)}.chats-page .chats-sidebar{border-right:none;width:100%;height:100%}.chats-page .chats-room{height:100%}.chats-page .chats-layout.has-active-chat .chats-sidebar,.chats-page .chats-layout:not(.has-active-chat) .chats-room{display:none}.chats-page .room-back{display:inline-flex}.chats-page .room-header{height:60px}}.chats-page .chat-image-media{cursor:pointer;object-fit:cover;border-radius:8px;max-width:100%;max-height:250px;margin-bottom:.5rem;display:block}.chats-page .chat-video-media{border-radius:8px;max-width:100%;max-height:250px;margin-bottom:.5rem;display:block}.chats-page .chat-audio-media{max-width:100%;margin-bottom:.5rem;display:block}.chats-page .chat-document-media{background:var(--bg-light);border:1px solid var(--border);color:var(--text-primary);word-break:break-all;border-radius:6px;align-items:center;gap:.5rem;margin-bottom:.5rem;padding:.5rem .75rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex}.chats-page .chat-document-media:hover{background:var(--border)}.chats-page [data-theme=dark] .chat-document-media{background:#202c33;border-color:#2f3b43}.chats-page .message-bubble.media-type{padding:.5rem}.chats-page .message-bubble-container{align-items:center;gap:.5rem;max-width:70%;display:flex;position:relative}.chats-page .message-bubble-wrapper.outgoing .message-bubble-container{flex-direction:row-reverse}.chats-page .message-bubble-wrapper.incoming .message-bubble-container{flex-direction:row}.chats-page .message-actions-menu{background:var(--bg-white);border:1px solid var(--border);box-shadow:var(--shadow-sm);z-index:5;border-radius:20px;align-items:center;gap:.25rem;padding:2px 6px;display:none}.chats-page .message-bubble-container:hover .message-actions-menu{display:flex}.chats-page .action-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:4px;transition:all .15s;display:flex}.chats-page .action-btn:hover{background:var(--bg-light);color:var(--text-primary)}.chats-page .action-btn.delete-btn:hover{color:#dc2626;background:#fee2e2}.chats-page .reaction-trigger-wrapper{position:relative}.chats-page .reaction-quick-popover{background:var(--bg-white);border:1px solid var(--border);z-index:50;white-space:nowrap;border-radius:24px;gap:.375rem;padding:.375rem .625rem;display:none;position:absolute;bottom:100%;left:50%;transform:translate(-50%)translateY(-6px);box-shadow:0 4px 12px #00000026}.chats-page .reaction-quick-popover:after{content:"";background:0 0;height:12px;position:absolute;top:100%;left:0;right:0}.chats-page .reaction-trigger-wrapper:hover .reaction-quick-popover{display:flex}.chats-page .reaction-quick-popover button{cursor:pointer;background:0 0;border:none;padding:2px;font-size:1.25rem;transition:transform .1s}.chats-page .reaction-quick-popover button:hover{transform:scale(1.3)}.chats-page .message-reactions-badge{background:var(--bg-white);border:1px solid var(--border);box-shadow:var(--shadow-sm);z-index:2;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:12px;align-items:center;gap:2px;padding:2px 6px;font-size:.75rem;display:flex;position:absolute;bottom:-12px}.chats-page .message-bubble-wrapper.outgoing .message-reactions-badge{right:12px}.chats-page .message-bubble-wrapper.incoming .message-reactions-badge{left:12px}.chats-page .reaction-emoji-span{font-size:.8125rem}.chats-page .reactions-count-span{color:var(--text-secondary);margin-left:2px;font-weight:600}.chats-page .message-quote-box{border-left:4px solid var(--primary);color:var(--text-secondary);cursor:pointer;background:#0000000a;border-radius:4px;margin-bottom:.5rem;padding:.375rem .625rem;font-size:.8125rem}.chats-page .message-bubble.outgoing .message-quote-box{background:#0000000d;border-left-color:#008069}.chats-page [data-theme=dark] .message-quote-box{background:#ffffff14}.chats-page .quote-body{white-space:nowrap;text-overflow:ellipsis;max-width:250px;overflow:hidden}.chats-page .replying-preview-banner{background:var(--bg-white);border-top:1px solid var(--border);box-sizing:border-box;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1.5rem;display:flex}.chats-page .replying-preview-content{border-left:4px solid var(--primary);flex-direction:column;flex:1;min-width:0;padding-left:.75rem;display:flex}.chats-page .replying-to-title{color:var(--primary);font-size:.8125rem;font-weight:700}.chats-page .replying-to-body{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;overflow:hidden}.chats-page .btn-close-reply{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:.375rem;transition:all .2s;display:flex}.chats-page .btn-close-reply:hover{background:var(--bg-light);color:var(--text-primary)}.chats-page .message-bubble.revoked-type{opacity:.6;font-style:italic}.chats-page [data-theme=dark] .message-actions-menu,.chats-page [data-theme=dark] .reaction-quick-popover,.chats-page [data-theme=dark] .message-reactions-badge{background:#202c33;border-color:#2f3b43}@media (width<=767px){.chats-page{height:calc(100vh - 124px);padding:.5rem}.chats-page .chats-layout{border-radius:12px;height:100%;margin-top:0}.chats-page .chats-sidebar{border-right:none;width:100%}.chats-page .chats-layout.has-active-chat .chats-sidebar,.chats-page .chats-layout:not(.has-active-chat) .chats-room{display:none}.chats-page .chats-layout.has-active-chat .chats-room{width:100%;display:flex}.chats-page .room-back{display:flex!important}.chats-page .room-header{height:60px;padding:0 .75rem}.chats-page .room-footer{gap:.5rem;padding:.625rem}.chats-page .input-attachment-btn,.chats-page .emoji-picker-btn{width:38px;height:38px;padding:0}.chats-page .message-bubble-wrapper{max-width:88%}.chats-page .chat-item-card{padding:.875rem 1rem}}@media (width>=768px) and (width<=1024px){.chats-page{padding:1rem}.chats-page .chats-sidebar{width:270px}}.filter-builder{flex-direction:column;gap:.5rem;margin-top:.25rem;display:flex}.filter-builder-head{flex-direction:column;gap:.125rem;display:flex}.filter-builder-title{color:var(--text-secondary,#64748b);font-size:.875rem;font-weight:600;display:block}.filter-builder-hint{color:var(--text-secondary);font-size:.75rem}.filter-row{background:var(--bg-light);border:1px solid var(--border);box-shadow:var(--neu-inset);border-radius:12px;flex-wrap:nowrap;align-items:flex-start;gap:.5rem;padding:.75rem;display:flex}.filter-row select{border:1px solid var(--border);background:var(--bg-light);height:2.25rem;color:var(--text-primary);box-shadow:var(--neu-inset);border-radius:8px;padding:0 .5rem;font-size:.8125rem}.filter-row>select{width:100%}.filter-field{flex:0 0 8.5rem}.filter-operator{flex:0 0 7rem}.filter-value{flex:auto;min-width:0}.filter-remove{border:1px solid var(--border);width:2.25rem;height:2.25rem;color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:6px;flex:none;justify-content:center;align-items:center;transition:all .2s;display:inline-flex}.filter-remove svg{width:16px;height:16px;stroke:var(--text-secondary);flex-shrink:0}.filter-remove:hover{border-color:var(--error);color:var(--error)}.filter-remove:hover svg{stroke:var(--error)}.filter-add{border:1px dashed var(--border);color:var(--primary);cursor:pointer;background:0 0;border-radius:6px;align-self:flex-start;align-items:center;gap:.375rem;padding:.375rem .625rem;font-size:.8125rem;font-weight:600;display:inline-flex}.filter-add:hover{border-color:var(--primary)}.filter-text{flex-direction:column;align-items:flex-start;gap:.375rem;display:flex}.filter-case input{width:auto;margin:0;padding:0}.filter-text input[type=text]{border:1px solid var(--border);background:var(--bg-white);width:100%;height:2.25rem;color:var(--text-primary);border-radius:6px;padding:0 .625rem;font-size:.8125rem}.filter-case{color:var(--text-secondary);cursor:pointer;align-items:center;gap:.375rem;font-size:.75rem;display:inline-flex}.filter-enum{flex-wrap:wrap;gap:.375rem;display:flex}.enum-tag{border:1px solid var(--border);background:var(--bg-white);color:var(--text-secondary);cursor:pointer;border-radius:6px;padding:.3125rem .5rem;font-size:.75rem;transition:all .2s}.enum-tag:hover{border-color:var(--primary);color:var(--primary)}.enum-tag.selected{background:var(--primary);border-color:var(--primary);color:#fff}.chips-input{position:relative}.chips-row{border:1px solid var(--border);background:var(--bg-white);border-radius:6px;flex-wrap:wrap;align-items:center;gap:.375rem;min-height:2.25rem;padding:.25rem;display:flex}.chip{color:var(--primary);background:#25d36626;border:1px solid #25d36640;border-radius:6px;align-items:center;gap:.25rem;max-width:100%;padding:.125rem .375rem;font-size:.75rem;font-weight:600;display:inline-flex}.chip-remove{color:inherit;cursor:pointer;background:0 0;border:none;align-items:center;padding:0;display:inline-flex}.chips-row .chips-text{background:var(--bg-light);width:auto;min-width:6rem;height:26px;color:var(--text-primary);border:none;border:1px solid var(--border);border-radius:6px;outline:none;flex:6rem;padding:2px 8px;font-size:.75rem}.filter-bool{width:auto}.chips-suggestions{z-index:20;background:var(--bg-white);border:1px solid var(--border);border-radius:8px;max-height:14rem;position:absolute;top:calc(100% + 2px);left:0;right:0;overflow-y:auto;box-shadow:0 6px 20px #0000002e}.chips-suggestion{cursor:pointer;text-align:left;background:0 0;border:none;flex-direction:column;align-items:flex-start;width:100%;padding:.5rem .625rem;display:flex}.chips-suggestion:hover{background:var(--bg-light)}.chips-suggestion-name{color:var(--text-primary);font-size:.8125rem}.chips-suggestion-id{color:var(--text-secondary);font-family:JetBrains Mono,monospace;font-size:.6875rem}.chips-suggestion-add{color:var(--primary);border-top:1px solid var(--border);font-size:.8125rem;font-weight:600}.webhooks-page{box-sizing:border-box;width:100%;padding:2rem;overflow-x:hidden}.webhooks-page .modal:not(.modal-sm){max-width:640px}.webhooks-page .modal-body>input,.webhooks-page .modal-body>select,.webhooks-page .modal-body>.event-tags{margin-bottom:.75rem}.webhooks-page .modal-body>.event-tags{flex-wrap:wrap;gap:.5rem;display:flex}.webhooks-page .page-header{margin-bottom:2rem}.webhooks-page .header-content{justify-content:space-between;align-items:center;display:flex}.webhooks-page .btn-primary{background:var(--primary);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.9375rem;font-weight:600;transition:background .2s;display:flex}.webhooks-page .btn-primary:hover{background:var(--primary-hover)}.webhooks-page .webhooks-content{grid-template-columns:1fr 280px;gap:1.5rem;display:grid}.webhooks-page .webhooks-list-container{width:100%;min-width:0}.webhooks-page .webhooks-card-list{flex-direction:column;gap:1rem;display:flex}.webhooks-page .webhook-card{background:var(--bg-light);box-shadow:var(--neu-extruded);border:1px solid var(--border);border-radius:18px;transition:all .25s;overflow:hidden}.webhooks-page .webhook-card:hover{box-shadow:var(--neu-hover);transform:translateY(-2px)}.webhooks-page .webhook-card-header{border-bottom:1px solid var(--border);background:var(--bg-light);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.webhooks-page .webhook-url-row{flex:1;align-items:center;gap:.625rem;min-width:0;display:flex}.webhooks-page .webhook-url-icon{color:var(--primary);flex-shrink:0}.webhooks-page .webhook-url{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;background:0 0;min-width:0;font-family:JetBrains Mono,monospace;font-size:.8125rem;font-weight:500;overflow:hidden}.webhooks-page .webhook-card-actions{flex-shrink:0;gap:.375rem;display:flex}.webhooks-page .webhook-card-body{padding:1rem 1.25rem;overflow:hidden}.webhooks-page .webhook-meta{gap:2rem;margin-bottom:.875rem;display:flex}.webhooks-page .webhook-meta-item{flex-direction:column;gap:.25rem;display:flex}.webhooks-page .webhook-meta-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);font-size:.6875rem;font-weight:700}.webhooks-page .webhook-meta-value{color:var(--text-primary);font-size:.875rem;font-weight:500}.webhooks-page .webhook-events{flex-direction:column;gap:.375rem;display:flex}.webhooks-page .empty-table-state{text-align:center;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;padding:4rem 2rem;display:flex}.webhooks-page .empty-table-state svg{opacity:.4;color:var(--text-muted);margin-bottom:1rem}.webhooks-page .empty-table-state h3{color:var(--text-secondary);margin:0 0 .5rem;font-size:1.125rem;font-weight:600}.webhooks-page .empty-table-state p{max-width:300px;margin:0;font-size:.875rem}.webhooks-page .events-cell{flex-wrap:wrap;gap:.375rem;display:flex}.webhooks-page .event-tag{color:var(--primary);white-space:nowrap;cursor:default;letter-spacing:-.01em;background:#25d36626;border:1px solid #25d36640;border-radius:6px;padding:.25rem .625rem;font-family:JetBrains Mono,monospace;font-size:.75rem;font-weight:600}.webhooks-page .modal-body .event-tag{background:var(--bg-light);color:var(--text-secondary);border:1px solid var(--border);cursor:pointer;border-radius:6px;padding:.5rem .75rem;font-size:.8125rem;transition:all .2s}.webhooks-page .modal-body .event-tag:hover{border-color:var(--primary);color:var(--primary)}.webhooks-page .modal-body .event-tag.selected{background:var(--primary);color:#fff;border-color:var(--primary)}.webhooks-page .filter-badge{white-space:nowrap;background:var(--bg-light);color:var(--text-secondary);border:1px solid var(--border);border-radius:6px;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.7rem;font-weight:600;display:inline-flex}.webhooks-page .filter-badge-interactive{cursor:default;outline:none;position:relative}.webhooks-page .filter-badge-interactive:hover,.webhooks-page .filter-badge-interactive:focus-visible{border-color:var(--primary);color:var(--text-primary)}.webhooks-page .filter-popover{z-index:100;background:var(--bg-white);border:1px solid var(--border);white-space:normal;cursor:default;border-radius:8px;flex-direction:column;gap:.25rem;min-width:200px;max-width:340px;padding:.5rem .625rem;font-weight:500;display:flex;position:fixed;box-shadow:0 6px 20px #00000029}.webhooks-page .filter-popover-title{text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin-bottom:.125rem;font-size:.65rem;font-weight:700}.webhooks-page .filter-popover-row{color:var(--text-primary);word-break:break-word;font-size:.78rem}.webhooks-page .filter-popover-row+.filter-popover-row{border-top:1px solid var(--border);padding-top:.25rem}.webhooks-page .status-badge{white-space:nowrap;border-radius:9999px;align-items:center;gap:.375rem;width:fit-content;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-flex}.webhooks-page .status-badge:before{content:"";background:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px}.webhooks-page .status-badge.active{color:var(--primary);background:#25d36626}.webhooks-page .status-badge.inactive{background:var(--bg-light);color:var(--text-muted)}.webhooks-page .icon-btn{border:1px solid var(--border);cursor:pointer;color:var(--text-secondary);background:0 0;border-radius:6px;flex-shrink:0;padding:.5rem;transition:all .2s}.webhooks-page .icon-btn:hover{background:var(--bg-light);color:var(--text-primary)}.webhooks-page .icon-btn.danger:hover{color:#dc2626;background:#fee2e2;border-color:#fecaca}.webhooks-page .events-reference{background:var(--bg-white);box-shadow:var(--shadow-sm);border:1px solid var(--border);border-radius:12px;height:fit-content;padding:1.5rem}.webhooks-page .events-reference h3{color:var(--text-primary);text-transform:none;letter-spacing:normal;margin:0 0 1rem;font-size:1rem;font-weight:700}.webhooks-page .events-list{flex-direction:column;gap:.75rem;display:flex}.webhooks-page .event-item{flex-direction:column;gap:.25rem;display:flex}.webhooks-page .event-item code{color:var(--primary);background:#25d3661a;border-radius:4px;width:fit-content;padding:.25rem .5rem;font-size:.8125rem}.webhooks-page .event-item span{color:var(--text-secondary);font-size:.8125rem;line-height:1.4}.webhooks-page [data-theme=dark] .event-tag{color:#4ade80;background:#25d36633;border-color:#25d36659}.webhooks-page [data-theme=dark] .status-badge.active{color:#4ade80;background:#25d36633}.webhooks-page [data-theme=dark] .webhook-url{color:#e2e8f0}.webhooks-page [data-theme=dark] .webhook-meta-label{color:#94a3b8}.webhooks-page [data-theme=dark] .webhook-meta-value{color:#e2e8f0}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .webhooks-page .event-tag{color:#4ade80;background:#25d36633;border-color:#25d36659}:root:not([data-theme=light]) .webhooks-page .status-badge.active{color:#4ade80;background:#25d36633}:root:not([data-theme=light]) .webhooks-page .webhook-url{color:#e2e8f0}:root:not([data-theme=light]) .webhooks-page .webhook-meta-label{color:#94a3b8}:root:not([data-theme=light]) .webhooks-page .webhook-meta-value{color:#e2e8f0}}@media (width<=1024px){.webhooks-page .webhooks-content{grid-template-columns:1fr}.webhooks-page .events-reference{display:none}}@media (width<=768px){.webhooks-page{padding:1rem}.webhooks-page .webhooks-content{grid-template-columns:1fr}.webhooks-page .webhook-card{overflow:hidden}.webhooks-page .webhook-card-header{flex-direction:column;align-items:flex-start;gap:.75rem;padding:.875rem 1rem}.webhooks-page .webhook-url-row{width:100%;min-width:0}.webhooks-page .webhook-url{font-size:.75rem}.webhooks-page .webhook-card-actions{justify-content:flex-end;width:100%}.webhooks-page .webhook-card-body{padding:.875rem 1rem}.webhooks-page .webhook-meta{flex-direction:column;gap:.75rem}.webhooks-page .webhook-meta-value{word-break:break-all;font-size:.8125rem}.webhooks-page .events-cell{flex-wrap:wrap;gap:.375rem}.webhooks-page .event-tag{padding:.2rem .5rem;font-size:.6875rem}}.webhooks-page .toast{z-index:1000;border-radius:10px;align-items:center;gap:.75rem;padding:1rem 1.25rem;font-size:.875rem;font-weight:500;animation:.3s slideIn;display:flex;position:fixed;top:1.5rem;right:1.5rem;box-shadow:0 4px 20px #00000026}.webhooks-page .toast.success{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0}.webhooks-page .toast.error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca}.webhooks-page .toast-close{cursor:pointer;opacity:.6;color:inherit;background:0 0;border:none;padding:.25rem}.webhooks-page .toast-close:hover{opacity:1}.webhooks-page .btn-danger{color:#fff;border-radius:var(--radius);cursor:pointer;background:#dc2626;border:none;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.9375rem;font-weight:600;transition:background .2s;display:flex}.webhooks-page .btn-danger:hover{background:#b91c1c}.webhooks-page .modal.modal-sm{max-width:400px}.webhooks-page .icon-btn:disabled{opacity:.5;cursor:not-allowed}.webhooks-page .animate-spin{animation:1s linear infinite spin}.webhooks-page .toggle-group{background:var(--bg-light);border-radius:var(--radius);align-items:center;gap:1rem;margin-top:1.5rem;padding:1rem 1.25rem;display:flex}.webhooks-page .toggle-label{color:var(--text-primary);font-weight:500}.webhooks-page .toggle-switch{width:48px;height:26px;display:inline-block;position:relative}.webhooks-page .toggle-switch input{opacity:0;width:0;height:0}.webhooks-page .toggle-slider{cursor:pointer;background-color:#cbd5e1;border-radius:26px;transition:all .3s;position:absolute;inset:0}.webhooks-page .toggle-slider:before{content:"";background-color:#fff;border-radius:50%;width:20px;height:20px;transition:all .3s;position:absolute;bottom:3px;left:3px;box-shadow:0 2px 4px #00000026}.webhooks-page .toggle-switch input:checked+.toggle-slider{background-color:var(--primary)}.webhooks-page .toggle-switch input:checked+.toggle-slider:before{transform:translate(22px)}.webhooks-page .toggle-status{font-size:.875rem;font-weight:500}.webhooks-page .toggle-status.active{color:var(--primary)}.webhooks-page .toggle-status.inactive{color:var(--text-muted)}.templates-page{width:100%;padding:2rem;overflow-x:hidden}.templates-page .templates-loading,.templates-page .templates-loading-inline,.templates-page .templates-empty-page,.templates-page .templates-empty-list{justify-content:center;align-items:center;display:flex}.templates-page .templates-loading{min-height:400px}.templates-page .templates-session-select{min-width:240px}.templates-page .templates-workspace{border:1px solid var(--border);background:var(--bg-white);min-height:calc(100vh - 180px);box-shadow:var(--shadow-sm);border-radius:8px;grid-template-columns:minmax(260px,320px) minmax(420px,1fr) minmax(280px,360px);display:grid;overflow:hidden}.templates-page .templates-library,.templates-page .template-editor,.templates-page .template-preview{min-width:0;min-height:0}.templates-page .templates-library{border-right:1px solid var(--border);background:var(--bg-light);flex-direction:column;display:flex}.templates-page .templates-library-header,.templates-page .template-editor-header,.templates-page .template-preview-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;min-height:74px;padding:1rem;display:flex}.templates-page .templates-library-header h2,.templates-page .template-editor-header h2,.templates-page .template-preview-header h2{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:0;font-size:.75rem;font-weight:700}.templates-page .templates-library-header span,.templates-page .template-editor-header p,.templates-page .template-preview-header span{color:var(--text-muted);margin-top:.25rem;font-size:.8125rem;display:block}.templates-page .template-editor-header p{margin-bottom:0}.templates-page .templates-new-btn{white-space:nowrap;min-height:36px;padding:.5rem .75rem;font-size:.8125rem}.templates-page .templates-search{border:1px solid var(--border);background:var(--bg-white);color:var(--text-muted);border-radius:8px;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:.5rem;margin:1rem;padding:.625rem .75rem;display:grid}.templates-page .templates-search input{width:100%;color:var(--text-primary);background:0 0;border:0;outline:0;padding:0;font-size:.875rem}.templates-page .template-list{flex-direction:column;flex:1;padding:0 .5rem 1rem;display:flex;overflow-y:auto}.templates-page .template-list-item{width:100%;color:inherit;text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;flex-direction:column;align-items:stretch;gap:.375rem;padding:.875rem;display:flex}.templates-page .template-list-item:hover{border-color:var(--border);background:var(--bg-white)}.templates-page .template-list-item.selected{border-color:var(--primary);background:var(--primary-soft)}.templates-page .template-list-title{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.9375rem;font-weight:700;overflow:hidden}.templates-page .template-list-body{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.8125rem;line-height:1.45;display:-webkit-box;overflow:hidden}.templates-page .template-list-meta{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.6875rem;overflow:hidden}.templates-page .template-editor{background:var(--bg-white);flex-direction:column;display:flex}.templates-page .template-header-actions,.templates-page .template-editor-actions{align-items:center;gap:.5rem;display:flex}.templates-page .template-form{flex-direction:column;flex:1;gap:1rem;padding:1.25rem;display:flex;overflow-y:auto}.templates-page .template-message-fields{flex:1;grid-template-rows:auto minmax(240px,1fr) auto;gap:1rem;display:grid}.templates-page .template-form .form-group{flex-direction:column;gap:.5rem;display:flex}.templates-page .template-form label,.templates-page .placeholder-list label>span{color:var(--text-secondary);font-size:.8125rem;font-weight:700}.templates-page .template-form input,.templates-page .template-form textarea,.templates-page .placeholder-list input{border:1px solid var(--border);background:var(--bg-light);width:100%;color:var(--text-primary);border-radius:8px;font-size:.9375rem}.templates-page .template-form input,.templates-page .placeholder-list input{padding:.8125rem .875rem}.templates-page .template-form textarea{resize:vertical;flex:1;min-height:240px;padding:.875rem;line-height:1.55}.templates-page .template-form input:focus,.templates-page .template-form textarea:focus,.templates-page .placeholder-list input:focus{border-color:var(--primary);background:var(--bg-white);box-shadow:0 0 0 3px var(--primary-soft);outline:none}.templates-page .body-field{min-height:0}.templates-page .template-editor-actions{justify-content:flex-end;padding-top:.25rem}.templates-page .template-preview{border-left:1px solid var(--border);background:var(--bg-light);flex-direction:column;display:flex}.templates-page .template-preview-header span{border:1px solid var(--primary);background:var(--primary-soft);min-width:28px;min-height:24px;color:var(--primary);border-radius:999px;justify-content:center;align-items:center;margin:0;font-size:.75rem;font-weight:700;display:inline-flex}.templates-page .template-preview-message{padding:1rem}.templates-page .template-preview-message pre{border:1px solid var(--border);background:var(--bg-white);min-height:220px;max-height:360px;color:var(--text-primary);white-space:pre-wrap;word-break:break-word;border-radius:8px;margin:0;padding:1rem;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.875rem;line-height:1.6;overflow:auto}.templates-page .template-variable-panel{flex:1;padding:0 1rem 1rem;overflow-y:auto}.templates-page .placeholder-list{flex-direction:column;gap:.875rem;display:flex}.templates-page .placeholder-list label{flex-direction:column;gap:.375rem;display:flex}.templates-page .placeholder-list label>span{color:var(--primary);font-family:JetBrains Mono,ui-monospace,monospace}.templates-page .template-muted{color:var(--text-secondary);margin:0;font-size:.875rem;line-height:1.5}.templates-page .templates-loading-inline,.templates-page .templates-empty-list,.templates-page .templates-empty-page{min-height:220px;color:var(--text-muted);text-align:center;flex-direction:column;gap:.75rem;padding:1.5rem}.templates-page .templates-empty-list.compact{min-height:140px}.templates-page .templates-empty-page{border:1px solid var(--border);background:var(--bg-white);box-shadow:var(--shadow-sm);border-radius:8px}.templates-page .templates-empty-list h3,.templates-page .templates-empty-page h3{color:var(--text-secondary);margin:0}.templates-page .templates-empty-list p,.templates-page .templates-empty-page p{max-width:340px;color:var(--text-secondary);margin:0;font-size:.875rem}.templates-page .icon-btn{border:1px solid var(--border);background:var(--bg-white);width:36px;height:36px;color:var(--text-secondary);border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex}.templates-page .icon-btn:hover{background:var(--bg-light);color:var(--text-primary)}.templates-page .icon-btn.danger:hover{color:#dc2626;background:#fee2e2;border-color:#fecaca}.templates-page .btn-danger{border-radius:var(--radius);color:#fff;background:#dc2626;border:none;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.9375rem;font-weight:600;display:inline-flex}.templates-page .btn-danger:hover{background:#b91c1c}.templates-page .toast{z-index:1000;box-shadow:var(--shadow-lg);border-radius:8px;align-items:center;gap:.75rem;padding:1rem 1.25rem;font-size:.875rem;font-weight:500;display:flex;position:fixed;top:1.5rem;right:1.5rem}.templates-page .toast.success{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0}.templates-page .toast.error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca}.templates-page .toast-close{width:28px;height:28px;color:inherit;opacity:.7;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.templates-page .toast-close:hover{opacity:1}@media (width<=1280px){.templates-page .templates-workspace{grid-template-columns:280px minmax(380px,1fr)}.templates-page .template-preview{border-top:1px solid var(--border);border-left:0;grid-column:1/-1;grid-template-columns:1fr 320px;display:grid}.templates-page .template-preview-header{grid-column:1/-1}.templates-page .template-variable-panel{padding-top:1rem}}@media (width<=900px){.templates-page{padding:1rem}.templates-page .templates-session-select{width:100%;min-width:0}.templates-page .templates-workspace{flex-direction:column;min-height:auto;display:flex}.templates-page .templates-library{border-right:0;border-bottom:1px solid var(--border);max-height:360px}.templates-page .template-editor-header,.templates-page .templates-library-header,.templates-page .template-preview-header{min-height:auto}.templates-page .template-preview{display:flex}}@media (width<=640px){.templates-page .templates-library-header,.templates-page .template-editor-header,.templates-page .template-editor-actions{flex-direction:column;align-items:stretch}.templates-page .template-header-actions{justify-content:flex-end}.templates-page .template-form,.templates-page .template-preview-message,.templates-page .template-variable-panel{padding:1rem}}.logs-page{box-sizing:border-box;width:100%;padding:2rem}.logs-page .page-header{margin-bottom:1.5rem}.logs-page .header-content{justify-content:space-between;align-items:center;display:flex}.logs-page .btn-secondary{background:var(--bg-white);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.9375rem;font-weight:500;transition:all .2s;display:flex}.logs-page .btn-secondary:hover{background:var(--bg-light)}.logs-page .filters-bar{gap:1rem;margin-bottom:1.5rem;display:flex}.logs-page .search-input{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius);flex:1;align-items:center;gap:.75rem;max-width:400px;padding:.75rem 1rem;display:flex}.logs-page .search-input svg{color:var(--text-muted)}.logs-page .search-input input{color:var(--text-primary);background:0 0;border:none;flex:1;font-size:.9375rem}.logs-page .search-input input:focus{outline:none}.logs-page .filter-group{background:var(--bg-light);border:1px solid var(--border);box-shadow:var(--neu-inset);border-radius:12px;align-items:center;gap:.5rem;padding:0 1rem;display:flex}.logs-page .filter-group svg{color:var(--text-secondary);flex-shrink:0}.logs-page .filter-group select{color:var(--text-primary);cursor:pointer;font-size:.9375rem;font-weight:500;box-shadow:none!important;background:0 0!important;border:none!important;outline:none!important;padding:.75rem .5rem .75rem .25rem!important}.logs-page .logs-table-container{background:var(--bg-white);box-shadow:var(--shadow-sm);border:1px solid var(--border);border-radius:12px;overflow-x:auto}.logs-page .logs-table{flex-direction:column;width:100%;font-size:.875rem;display:flex}.logs-page .logs-table .table-row{border-bottom:1px solid var(--border);grid-template-columns:180px 200px 150px 150px 150px 1fr 120px;align-items:center;gap:1rem;padding:1rem 1.5rem;display:grid}.logs-page .logs-table .table-row:last-child{border-bottom:none}.logs-page .logs-table .table-row.header{background:var(--bg-light);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);font-size:.7rem;font-weight:700}.logs-page .logs-table .table-row:not(.header):hover{background:#25d3660d}.logs-page .timestamp{color:var(--text-muted);white-space:nowrap;font-family:monospace;font-size:.8125rem}.logs-page .action{color:var(--text-primary);white-space:nowrap;font-size:.8125rem;font-weight:600}.logs-page .api-key,.logs-page .ip{white-space:nowrap;font-family:monospace;font-size:.8125rem}.logs-page .details{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;overflow:hidden}.logs-page .severity-badge{text-transform:uppercase;letter-spacing:.025em;white-space:nowrap;border-radius:6px;padding:.25rem .625rem;font-size:.6875rem;font-weight:700;display:inline-block}.logs-page .logs-table .table-row>span:last-child{justify-self:end}.logs-page .severity-badge.info{color:#1d4ed8;background:#dbeafe}.logs-page .severity-badge.warn{color:#d97706;background:#fef3c7}.logs-page .severity-badge.error{color:#dc2626;background:#fee2e2}.logs-page .pagination{justify-content:center;align-items:center;gap:.5rem;margin-top:1.5rem;display:flex}.logs-page .pagination button{background:var(--bg-white);border:1px solid var(--border);cursor:pointer;color:var(--text-secondary);border-radius:6px;padding:.5rem 1rem;font-size:.875rem;transition:all .2s}.logs-page .pagination button:hover:not(:disabled){background:var(--bg-light)}.logs-page .pagination button:disabled{opacity:.5;cursor:not-allowed}.logs-page .page-numbers{gap:.25rem;display:flex}.logs-page .page-numbers button{min-width:36px;padding:.5rem}.logs-page .page-numbers button.active{background:var(--primary);border-color:var(--primary);color:#fff}.logs-page .empty-table-state{text-align:center;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;padding:4rem 2rem;display:flex}.logs-page .empty-table-state svg{opacity:.4;color:var(--text-muted);margin-bottom:1rem}.logs-page .empty-table-state h3{color:var(--text-secondary);margin:0 0 .5rem;font-size:1.125rem;font-weight:600}.logs-page .empty-table-state p{max-width:300px;margin:0;font-size:.875rem}@media (width<=768px){.logs-page{padding:1rem}.logs-page .filters-bar{flex-direction:column;gap:.75rem}.logs-page .search-input{max-width:none}.logs-page .filter-group{justify-content:space-between;width:100%}.logs-page .filter-group select{flex:1;padding:.75rem 0}.logs-page .logs-table-container{box-shadow:none;background:0 0;border:none;overflow-x:visible}.logs-page .logs-table{display:block}.logs-page .logs-table .table-row.header{display:none}.logs-page .logs-table .table-row:not(.header){text-align:left;background:var(--bg-white);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:12px;flex-direction:column;align-items:flex-start;gap:.5rem;margin-bottom:.75rem;padding:1rem;display:flex}.logs-page .logs-table .table-row:not(.header)>span{text-align:left;justify-content:flex-start;width:100%}.logs-page .logs-table .table-row:not(.header):hover{background:var(--bg-white)}.logs-page .logs-table .table-row .action{order:1;margin-bottom:.25rem;font-size:.9375rem;font-weight:600}.logs-page .logs-table .table-row .timestamp{order:2;font-size:.75rem}.logs-page .logs-table .table-row>span:nth-child(3),.logs-page .logs-table .table-row>span:nth-child(4),.logs-page .logs-table .table-row>span:nth-child(5){display:none}.logs-page .logs-table .table-row>span:last-child{order:3;justify-self:flex-start}.logs-page .pagination{flex-wrap:wrap;gap:.5rem}.logs-page .pagination button{padding:.5rem .75rem;font-size:.8125rem}.logs-page .page-numbers button{min-width:32px;padding:.5rem .25rem}}@media (width<=480px){.logs-page{padding:.75rem}}.api-keys-page{box-sizing:border-box;width:100%;padding:2rem}.api-keys-page .page-header{margin-bottom:2rem}.api-keys-page .header-content{justify-content:space-between;align-items:center;display:flex}.api-keys-page .btn-primary{background:var(--primary);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.9375rem;font-weight:600;transition:background .2s;display:flex}.api-keys-page .btn-primary:hover{background:var(--primary-hover)}.api-keys-page .api-keys-content{flex-direction:column;gap:1.5rem;display:flex}.api-keys-page .keys-table-container{background:var(--bg-light);box-shadow:var(--neu-extruded);border:1px solid var(--border);border-radius:18px;width:100%;overflow-x:auto}.api-keys-page .keys-table{border-collapse:collapse;width:100%;font-size:.875rem}.api-keys-page .keys-table thead tr.table-row.header th{background:var(--bg-light);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);text-align:left;padding:1.125rem 1.5rem;font-size:.7rem;font-weight:700}.api-keys-page .keys-table tbody tr.table-row td{border-bottom:1px solid var(--border);vertical-align:middle;padding:1.125rem 1.5rem}.api-keys-page .keys-table tbody tr.table-row:last-child td{border-bottom:none}.api-keys-page .keys-table tbody tr.table-row:hover{background:#25d3660d}.api-keys-page .keys-table tbody tr.table-row:nth-child(2n){background:#00000005}.api-keys-page .keys-table tbody tr.table-row:nth-child(2n):hover{background:#25d3660d}.api-keys-page .name-cell{color:var(--text-primary);white-space:nowrap;font-weight:500}.api-keys-page .key-cell{align-items:center;gap:.5rem;display:flex}.api-keys-page .key-cell code{color:var(--text-secondary);background:var(--bg-light);white-space:nowrap;border-radius:4px;padding:.375rem .625rem;font-family:monospace;font-size:.8125rem}.api-keys-page .icon-btn-sm{color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:.25rem;transition:color .2s}.api-keys-page .icon-btn-sm:hover{color:var(--text-primary)}.api-keys-page .permissions-cell{flex-wrap:wrap;gap:.25rem;display:flex}.api-keys-page .permission-badge{color:#0369a1;white-space:nowrap;background:#e0f2fe;border-radius:4px;padding:.25rem .5rem;font-size:.6875rem;font-weight:500}.api-keys-page .permission-badge:first-child:last-child{color:var(--primary);background:#25d3661a}.api-keys-page .rate-limit{color:var(--text-secondary);white-space:nowrap;font-family:monospace;font-size:.8125rem}.api-keys-page .actions-cell{justify-content:flex-end;gap:.25rem;display:flex}.api-keys-page .icon-btn{border:1px solid var(--border);cursor:pointer;color:var(--text-secondary);background:0 0;border-radius:6px;flex-shrink:0;padding:.5rem;transition:all .2s}.api-keys-page .icon-btn:hover{background:var(--bg-light);color:var(--text-primary)}.api-keys-page .icon-btn.danger:hover{color:#dc2626;background:#fee2e2;border-color:#fecaca}.api-keys-page .permissions-reference{background:var(--bg-white);box-shadow:var(--shadow-sm);border:1px solid var(--border);border-radius:12px;padding:1.5rem}.api-keys-page .permissions-reference h3{margin-bottom:1rem}.api-keys-page .permissions-list{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.75rem;display:grid}.api-keys-page .perm-item{background:var(--bg-light);border-radius:var(--radius);flex-direction:column;gap:.25rem;padding:.75rem;display:flex}.api-keys-page .perm-item code{color:var(--primary);background:#25d3661a;border-radius:4px;width:fit-content;padding:.25rem .5rem;font-size:.8125rem}.api-keys-page .perm-item span{color:var(--text-secondary);font-size:.75rem}.api-keys-page .empty-table-state{text-align:center;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;padding:4rem 2rem;display:flex}.api-keys-page .empty-table-state svg{opacity:.4;color:var(--text-muted);margin-bottom:1rem}.api-keys-page .empty-table-state h3{color:var(--text-secondary);margin:0 0 .5rem;font-size:1.125rem;font-weight:600}.api-keys-page .empty-table-state p{max-width:300px;margin:0;font-size:.875rem}.api-keys-page .confirm-modal{max-width:400px}.api-keys-page .confirm-icon-wrapper{justify-content:center;margin-bottom:1rem;display:flex}.api-keys-page .confirm-warning-icon{color:#f59e0b}.api-keys-page .confirm-message{text-align:center;color:var(--text-secondary);margin:0;font-size:.9375rem;line-height:1.6}.api-keys-page .confirm-message strong{color:var(--text-primary)}.api-keys-page .btn-danger{color:#fff;cursor:pointer;background:#dc2626;border:none;border-radius:8px;padding:.75rem 1.25rem;font-size:.9375rem;font-weight:600;transition:background .2s}.api-keys-page .btn-danger:hover{background:#b91c1c}@media (width<=768px){.api-keys-page{padding:1rem}.api-keys-page .header-content{flex-direction:column;align-items:stretch;gap:1rem}.api-keys-page .btn-primary{justify-content:center;width:100%}.api-keys-page .keys-table-container{box-shadow:none;background:0 0;border:none;overflow-x:visible}.api-keys-page .keys-table{display:block}.api-keys-page .keys-table thead{display:none}.api-keys-page .keys-table tbody{flex-direction:column;gap:1rem;display:flex}.api-keys-page .keys-table tbody tr.table-row{background:var(--bg-white);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:12px;flex-direction:column;gap:.75rem;padding:1rem;display:flex}.api-keys-page .keys-table tbody tr.table-row:hover,.api-keys-page .keys-table tbody tr.table-row:nth-child(2n),.api-keys-page .keys-table tbody tr.table-row:nth-child(2n):hover{background:var(--bg-white)}.api-keys-page .keys-table tbody tr.table-row td{border-bottom:none;padding:0;display:block}.api-keys-page .keys-table tbody tr.table-row td:first-child{order:1}.api-keys-page .keys-table tbody tr.table-row td:first-child .name-cell{color:var(--text-primary);font-size:1.125rem;font-weight:600;display:block}.api-keys-page .keys-table tbody tr.table-row td:nth-child(2){order:2}.api-keys-page .keys-table tbody tr.table-row td:nth-child(2) .key-cell{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.api-keys-page .keys-table tbody tr.table-row td:nth-child(2) .key-cell code{word-break:break-all;white-space:normal;font-size:.75rem}.api-keys-page .keys-table tbody tr.table-row td:nth-child(3),.api-keys-page .keys-table tbody tr.table-row td:nth-child(4){order:3;display:inline-block}.api-keys-page .keys-table tbody tr.table-row td:nth-child(3){margin-right:.5rem}.api-keys-page .status-badge{border-radius:9999px;padding:.25rem .5rem;font-size:.6875rem;font-weight:600}.api-keys-page .status-badge.active{color:var(--primary);background:#25d3661a}.api-keys-page .status-badge.inactive{color:#dc2626;background:#fee2e2}.api-keys-page .keys-table tbody tr.table-row td:last-child{border-top:1px solid var(--border);order:5;margin-top:.5rem;padding-top:.75rem}.api-keys-page .keys-table tbody tr.table-row td:last-child .actions-cell{justify-content:flex-start;gap:.5rem}.api-keys-page .permissions-reference{padding:1rem}.api-keys-page .permissions-reference h3{font-size:.9375rem}}@media (width<=480px){.api-keys-page .permissions-list{grid-template-columns:1fr}.api-keys-page{padding:.75rem}}.message-tester{box-sizing:border-box;width:100%;padding:2rem}.message-tester .page-header{margin-bottom:2rem}.message-tester .page-header p{color:var(--text-secondary);margin:0;font-size:.9375rem}.message-tester .tester-panels{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.message-tester .compose-panel,.message-tester .response-panel{background:var(--bg-white);box-shadow:var(--shadow-sm);border:1px solid var(--border);border-radius:12px;padding:1.5rem}.message-tester .compose-panel h2,.message-tester .response-panel h2{margin-bottom:1.5rem}.message-tester .form-group{margin-bottom:1.25rem}.message-tester .form-group label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:.5rem;font-size:.7rem;font-weight:700;display:block}.message-tester .form-group input,.message-tester .form-group select,.message-tester .form-group textarea{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-white);width:100%;padding:.75rem 1rem;font-size:.9375rem;transition:border-color .2s}.message-tester .form-group input:focus,.message-tester .form-group select:focus,.message-tester .form-group textarea:focus{border-color:var(--primary);outline:none}.message-tester .form-group textarea{resize:vertical;min-height:100px}.message-tester .form-group .hint{color:var(--text-muted);margin-top:.375rem;font-size:.75rem;display:block}.message-tester .toggle-group{background:var(--bg-light);border:1px solid var(--border);box-shadow:var(--neu-inset);border-radius:14px;gap:4px;padding:4px;display:flex}.message-tester .toggle-group button{cursor:pointer;color:var(--text-secondary);background:0 0;border-radius:10px;flex:1;padding:.6rem 1rem;font-size:.875rem;font-weight:600;transition:all .2s;box-shadow:none!important;border:none!important;transform:none!important}.message-tester .toggle-group button:hover{color:var(--text-primary);background:#0000000a;box-shadow:none!important;transform:none!important}.message-tester .toggle-group button.active{background:linear-gradient(145deg, var(--primary), var(--primary-hover));color:#fff;box-shadow:2px 2px 8px color-mix(in srgb, var(--primary) 30%, transparent)!important;transform:none!important}.file-upload-dropzone{border:2px dashed var(--border);background:var(--bg-light);box-shadow:var(--neu-inset);color:var(--text-secondary);cursor:pointer;border-radius:14px;align-items:center;gap:.75rem;padding:.85rem 1.1rem;transition:all .2s;display:flex;position:relative}.file-upload-dropzone:hover{border-color:var(--primary);color:var(--primary)}.file-upload-dropzone input[type=file]{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.file-upload-text{color:var(--text-secondary);font-size:.875rem;font-weight:500}.attached-media-list{flex-direction:column;gap:.5rem;margin-top:.85rem;display:flex}.attached-media-header{color:var(--text-secondary);margin-bottom:.25rem;font-size:.8125rem;font-weight:600}.attached-media-item{background:var(--bg-light);border:1px solid var(--border);box-shadow:var(--neu-extruded-sm);border-radius:12px;justify-content:space-between;align-items:center;padding:.65rem .85rem;transition:transform .2s;display:flex}.attached-media-item:hover{box-shadow:var(--neu-hover);transform:translateY(-1px)}.attached-media-info{align-items:center;gap:.65rem;display:flex;overflow:hidden}.media-type-icon{flex-shrink:0;font-size:1.25rem}.media-text-meta{flex-direction:column;display:flex;overflow:hidden}.media-filename{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:600;overflow:hidden}.media-size{color:var(--text-muted);font-size:.75rem}.remove-media-btn{border-radius:8px!important;width:28px!important;height:28px!important;padding:0!important}.message-tester .send-btn{color:#fff;background:var(--primary);border-radius:var(--radius);cursor:pointer;border:none;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.875rem 1.5rem;font-size:1rem;font-weight:600;transition:background .2s;display:flex}.message-tester .send-btn:hover:not(:disabled){background:var(--primary-hover)}.message-tester .send-btn:disabled{opacity:.7;cursor:not-allowed}.message-tester .response-status{border-radius:var(--radius);align-items:center;gap:.5rem;margin-bottom:1rem;padding:.75rem 1rem;font-size:.9375rem;font-weight:600;display:flex}.message-tester .response-status.success{color:var(--primary);background:#25d3661a}.message-tester .response-status.error{color:#dc2626;background:#fee2e2}.message-tester .response-details{margin-bottom:1rem}.message-tester .detail-row{border-bottom:1px solid var(--border);justify-content:space-between;padding:.625rem 0;display:flex}.message-tester .detail-row:last-child{border-bottom:none}.message-tester .detail-label{color:var(--text-secondary);font-size:.875rem}.message-tester .detail-value{color:var(--text-primary);font-size:.875rem;font-weight:500}.message-tester .detail-value.mono{font-family:monospace}.message-tester .response-json{border-radius:var(--radius);background:#1e293b;padding:1rem;overflow-x:auto}.message-tester .response-json pre{color:#e2e8f0;white-space:pre-wrap;margin:0;font-family:JetBrains Mono,monospace;font-size:.8125rem}.message-tester .response-empty{background:var(--bg-light);border-radius:var(--radius);justify-content:center;align-items:center;min-height:200px;display:flex}.message-tester .response-empty p{color:var(--text-muted);margin:0}@media (width<=1000px){.message-tester .tester-panels{grid-template-columns:1fr;gap:1.25rem}}@media (width<=768px){.message-tester{padding:.875rem}.message-tester .compose-panel,.message-tester .response-panel{border-radius:12px;padding:1rem}.message-tester .toggle-group:not(.message-type-group){background:var(--bg-light);border:1px solid var(--border);box-shadow:var(--neu-inset);border-radius:12px;gap:3px;padding:3px;display:flex}.message-tester .message-type-group{background:var(--bg-light)!important;border:1px solid var(--border)!important;box-shadow:var(--neu-inset)!important;border-radius:14px!important;flex-wrap:wrap!important;gap:4px!important;padding:4px!important;display:flex!important}.message-tester .message-type-group button{min-width:60px!important;color:var(--text-secondary)!important;text-align:center!important;box-shadow:none!important;background:0 0!important;border:none!important;border-radius:10px!important;flex:auto!important;padding:.6rem .5rem!important;font-size:.8125rem!important;font-weight:600!important;transform:none!important}.message-tester .message-type-group button.active{background:linear-gradient(145deg, var(--primary), var(--primary-hover))!important;color:#fff!important;box-shadow:0 2px 6px color-mix(in srgb, var(--primary) 30%, transparent)!important;border-color:#0000!important;transform:none!important}.message-tester .send-btn{padding:.85rem 1rem;font-size:.9375rem}.message-tester .form-group input,.message-tester .form-group select,.message-tester .form-group textarea{padding:.625rem .75rem;font-size:.875rem}.message-tester .response-json pre{white-space:pre-wrap;word-break:break-word;font-size:.75rem}}.sending-loading-card{background:var(--surface-hover);border:1.5px dashed var(--primary);text-align:center;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:1.25rem;padding:2.5rem 1.5rem;animation:2s ease-in-out infinite alternate pulse-border;display:flex}@keyframes pulse-border{0%{border-color:#2563eb66;box-shadow:0 0 #2563eb1a}to{border-color:#2563ebe6;box-shadow:0 0 16px 2px #2563eb33}}.sending-loading-spinner{border:4px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:44px;height:44px;animation:.9s linear infinite spin}.sending-loading-text{color:var(--text);font-size:1rem;font-weight:600}.sending-loading-subtext{color:var(--text-muted);max-width:320px;font-size:.8125rem}.sending-progress-track{background:var(--border);border-radius:999px;width:100%;max-width:280px;height:6px;position:relative;overflow:hidden}.sending-progress-bar-shimmer{background:linear-gradient(90deg, var(--primary) 0%, #3b82f6 50%, var(--primary) 100%);border-radius:999px;width:60%;height:100%;animation:1.5s linear infinite shimmer-slide}@keyframes shimmer-slide{0%{transform:translate(-100%)}to{transform:translate(200%)}}.infrastructure-page{box-sizing:border-box;width:100%;padding:2rem}.infrastructure-page .page-header{margin-bottom:2rem}.infrastructure-page .page-subtitle{color:var(--text-secondary);margin:0;font-size:.9375rem}.infrastructure-page .infra-sections{grid-template-columns:repeat(2,1fr);gap:1.5rem;width:100%;display:grid}.infrastructure-page .infra-card{background:var(--bg-light);box-shadow:var(--neu-extruded);border:1px solid var(--border);box-sizing:border-box;border-radius:18px;width:100%;padding:1.5rem;transition:all .25s}.infrastructure-page .infra-card:hover{box-shadow:var(--neu-hover);transform:translateY(-2px)}.infrastructure-page .infra-card.full-width{grid-column:1/-1}.infrastructure-page .card-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.infrastructure-page .header-left{align-items:center;gap:.75rem;display:flex}.infrastructure-page .header-left svg{color:var(--primary)}.infrastructure-page .card-header h2{margin:0}.infrastructure-page .status-indicator{border-radius:9999px;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.8125rem;font-weight:500;display:flex}.infrastructure-page .status-indicator.connected{color:var(--primary);background:#25d3661a}.infrastructure-page .status-indicator.disconnected{color:#dc2626;background:#fee2e2}.infrastructure-page .status-indicator.sqlite{color:#0369a1;background:#e0f2fe}.infrastructure-page .warning-badge{color:#d97706;background:#fef3c7;border-radius:6px;padding:.375rem .75rem;font-size:.75rem}.infrastructure-page .radio-group{grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1.5rem;display:grid}.infrastructure-page .radio-option{border:2px solid var(--border);border-radius:var(--radius);cursor:pointer;flex-direction:column;gap:.25rem;padding:1rem;transition:all .2s;display:flex}.infrastructure-page .radio-option:hover{border-color:var(--text-muted)}.infrastructure-page .radio-option.selected{border-color:var(--primary);background:#25d3660d}.infrastructure-page .radio-option input{display:none}.infrastructure-page .radio-option span{color:var(--text-primary);font-weight:600}.infrastructure-page .radio-option small{color:var(--text-secondary);font-size:.75rem}.infrastructure-page .radio-option{position:relative;overflow:hidden}.infrastructure-page .watermark-icon{opacity:.15;pointer-events:none;width:100px;height:100px;transition:all .3s;position:absolute;bottom:-15px;right:-15px;transform:rotate(-15deg)}.infrastructure-page .radio-option:hover .watermark-icon{opacity:.25;transform:rotate(-12deg)scale(1.05)}.infrastructure-page .radio-option.selected .watermark-icon{opacity:.3;transform:rotate(-12deg)scale(1.1)}.infrastructure-page .config-form{flex-direction:column;gap:1rem;display:flex}.infrastructure-page .form-row{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.infrastructure-page .form-row .form-group.small{max-width:120px}.infrastructure-page .form-group{flex-direction:column;gap:.5rem;display:flex}.infrastructure-page .form-group label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);font-size:.7rem;font-weight:700}.infrastructure-page .form-group input,.infrastructure-page .form-group select{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-white);padding:.75rem 1rem;font-size:.9375rem;transition:border-color .2s}.infrastructure-page .form-group input:focus,.infrastructure-page .form-group select:focus{border-color:var(--primary);outline:none}.infrastructure-page .toggle-row{justify-content:space-between;align-items:center;padding:.75rem 0;display:flex}.infrastructure-page .toggle-info{flex-direction:column;gap:.25rem;display:flex}.infrastructure-page .toggle-info span{color:var(--text-primary);font-size:.9375rem;font-weight:500}.infrastructure-page .toggle-info small{color:#64748b;opacity:.85;font-size:.75rem;font-weight:400}.infrastructure-page .toggle-switch{cursor:pointer;width:48px;height:26px;position:relative}.infrastructure-page .toggle-switch input{opacity:0;width:0;height:0}.infrastructure-page .toggle-slider{background:#e5e7eb;border-radius:26px;transition:all .2s;position:absolute;inset:0}.infrastructure-page .toggle-slider:before{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:all .2s;position:absolute;bottom:3px;left:3px;box-shadow:0 1px 3px #0003}.infrastructure-page .toggle-switch input:checked+.toggle-slider{background:var(--primary)}.infrastructure-page .toggle-switch input:checked+.toggle-slider:before{transform:translate(22px)}.infrastructure-page .migrations-section{border-top:1px solid var(--border);margin-top:1.5rem;padding-top:1.5rem}.infrastructure-page .migrations-section h3{color:var(--text-primary);margin:0 0 1rem;font-size:.9375rem;font-weight:600}.infrastructure-page .migrations-list{background:var(--bg-light);border-radius:var(--radius);margin-bottom:1rem;padding:.5rem}.infrastructure-page .migration-item{grid-template-columns:24px 1fr auto;align-items:center;gap:.75rem;padding:.625rem .75rem;display:grid}.infrastructure-page .migration-status{font-size:.875rem}.infrastructure-page .migration-item.completed .migration-status{color:var(--primary)}.infrastructure-page .migration-item.pending .migration-status{color:var(--text-muted)}.infrastructure-page .migration-name{color:var(--text-primary);font-size:.875rem}.infrastructure-page .migration-date{color:var(--text-muted);font-size:.75rem}.infrastructure-page .migration-actions{gap:.75rem;display:flex}.infrastructure-page .queue-stats{border-top:1px solid var(--border);margin-top:1.5rem;padding-top:1.5rem}.infrastructure-page .queue-stats h3{color:var(--text-primary);margin:0 0 1rem;font-size:.9375rem;font-weight:600}.infrastructure-page .stats-row{grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1rem;display:grid}.infrastructure-page .queue-stat-card{background:var(--bg-light);border-radius:var(--radius);padding:1rem}.infrastructure-page .queue-stat-card h4{color:var(--text-secondary);margin:0 0 .75rem;font-size:.8125rem;font-weight:600}.infrastructure-page .stat-values{gap:1.5rem;display:flex}.infrastructure-page .stat-item{flex-direction:column;gap:.125rem;display:flex}.infrastructure-page .stat-item .value{font-size:1.25rem;font-weight:700}.infrastructure-page .stat-item .label{text-transform:uppercase;letter-spacing:.05em;font-size:.6875rem}.infrastructure-page .stat-item.pending .value,.infrastructure-page .stat-item.pending .label{color:#d97706}.infrastructure-page .stat-item.completed .value,.infrastructure-page .stat-item.completed .label{color:var(--primary)}.infrastructure-page .stat-item.failed .value,.infrastructure-page .stat-item.failed .label{color:#dc2626}.infrastructure-page .queue-actions{gap:.75rem;display:flex}.infrastructure-page .btn-primary{background:var(--primary);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;align-items:center;gap:.5rem;padding:.625rem 1rem;font-size:.875rem;font-weight:600;transition:background .2s;display:flex}.infrastructure-page .btn-primary:hover{background:var(--primary-hover)}.infrastructure-page .btn-primary.large{padding:.875rem 1.5rem;font-size:1rem}.infrastructure-page .btn-outline{color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;background:0 0;align-items:center;gap:.5rem;padding:.625rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s;display:flex}.infrastructure-page .btn-outline:hover{background:var(--bg-light)}.infrastructure-page .btn-danger-outline{color:#dc2626;border-radius:var(--radius);cursor:pointer;background:0 0;border:1px solid #dc2626;align-items:center;gap:.5rem;padding:.625rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s;display:flex}.infrastructure-page .btn-danger-outline:hover{background:#fee2e2}.infrastructure-page .page-footer{border-top:1px solid var(--border);justify-content:flex-end;margin-top:2rem;padding-top:1.5rem;display:flex}@media (width<=900px){.infrastructure-page .infra-sections{grid-template-columns:1fr}.infrastructure-page{padding:1rem}.infrastructure-page .radio-group,.infrastructure-page .form-row,.infrastructure-page .stats-row{grid-template-columns:1fr}.infrastructure-page .card-header{flex-wrap:wrap;gap:.75rem}.infrastructure-page .header-left{flex:1;min-width:0}.infrastructure-page .header-left h2{font-size:.9375rem;line-height:1.3}.infrastructure-page .status-indicator{white-space:nowrap;flex-shrink:0;padding:.25rem .625rem;font-size:.75rem}.infrastructure-page .warning-badge{white-space:nowrap;flex-shrink:0;padding:.25rem .5rem;font-size:.6875rem}.infrastructure-page .toggle-row{gap:1rem}.infrastructure-page .toggle-info{flex:1;min-width:0}.infrastructure-page .toggle-switch{flex-shrink:0}.infrastructure-page .queue-actions{flex-direction:column}.infrastructure-page .queue-actions button{justify-content:center}}@media (width<=768px){.infrastructure-page{padding:.75rem}.infrastructure-page .infra-card{padding:1rem}.infrastructure-page .form-row .form-group.small{max-width:none}.infrastructure-page .form-group input,.infrastructure-page .form-group select{padding:.625rem .875rem;font-size:.875rem}.infrastructure-page .migration-item{grid-template-columns:24px 1fr;gap:.5rem}.infrastructure-page .migration-date{grid-column:2}.infrastructure-page .migration-actions{flex-direction:column}.infrastructure-page .migration-actions button{justify-content:center}.infrastructure-page .stat-values{gap:1rem}.infrastructure-page .stat-item .value{font-size:1rem}.infrastructure-page .page-footer{justify-content:stretch}.infrastructure-page .page-footer button{justify-content:center;width:100%}}.plugins-page{box-sizing:border-box;width:100%;padding:2rem}.plugins-page .engine-card{background:var(--bg-light);border:1px solid var(--border);box-shadow:var(--neu-extruded);border-radius:18px;margin-bottom:2rem;padding:1.5rem}.plugins-page .engine-header{justify-content:space-between;align-items:center;display:flex}.plugins-page .engine-info{align-items:center;gap:1rem;display:flex}.plugins-page .engine-icon-wrapper{background:var(--bg-light);width:48px;height:48px;box-shadow:var(--neu-extruded-sm);border-radius:12px;justify-content:center;align-items:center;display:flex}.plugins-page .engine-icon-wrapper svg{color:var(--primary)}.plugins-page .engine-title{color:var(--text-primary);text-transform:none;letter-spacing:normal;margin:0 0 .25rem;font-size:1.125rem;font-weight:600}.plugins-page .engine-name{color:var(--primary);font-size:.875rem}.plugins-page .engine-features{border-top:1px solid var(--border);margin-top:1rem;padding-top:1rem}.plugins-page .features-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;font-size:.75rem}.plugins-page .features-list{flex-wrap:wrap;gap:.5rem;display:flex}.plugins-page .feature-tag{background:var(--bg-light);box-shadow:var(--neu-extruded-sm);color:var(--primary);border-radius:6px;padding:.25rem .5rem;font-size:.75rem}.plugins-page .plugins-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;display:grid}.plugins-page .plugin-card{background:var(--bg-light);border:1px solid var(--border);box-shadow:var(--neu-extruded);border-radius:18px;transition:all .25s;overflow:hidden}.plugins-page .plugin-card:hover{box-shadow:var(--neu-hover);transform:translateY(-2px)}.plugins-page .plugin-card:active{box-shadow:var(--neu-inset);transform:translateY(0)}.plugins-page .plugin-card-header{justify-content:space-between;align-items:center;gap:.5rem;padding:1.25rem 1.25rem 1rem;display:flex}.plugins-page .plugin-info{align-items:center;gap:.75rem;min-width:0;display:flex}.plugins-page .plugin-icon-wrapper{background:var(--bg-light);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.plugins-page .plugin-icon-wrapper svg{color:var(--text-secondary)}.plugins-page .type-engine .plugin-icon-wrapper{background:#22c55e1f}.plugins-page .type-engine .plugin-icon-wrapper svg{color:#16a34a}.plugins-page .type-extension .plugin-icon-wrapper{background:#6366f11f}.plugins-page .type-extension .plugin-icon-wrapper svg{color:#6366f1}.plugins-page .type-storage .plugin-icon-wrapper{background:#0d94881f}.plugins-page .type-storage .plugin-icon-wrapper svg{color:#0d9488}.plugins-page .type-queue .plugin-icon-wrapper{background:#d977061f}.plugins-page .type-queue .plugin-icon-wrapper svg{color:#d97706}.plugins-page .type-auth .plugin-icon-wrapper{background:#9333ea1f}.plugins-page .type-auth .plugin-icon-wrapper svg{color:#9333ea}.plugins-page .plugin-name{color:var(--text-primary);text-transform:none;letter-spacing:normal;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.9375rem;font-weight:600;overflow:hidden}.plugins-page .plugin-version{color:var(--text-muted);font-size:.75rem}.plugins-page .plugin-builtin-badge{background:var(--bg-light);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--border);white-space:nowrap;border-radius:5px;flex-shrink:0;padding:.1875rem .5rem;font-size:.625rem;font-weight:600}.plugins-page .plugin-card-body{padding:1.25rem}.plugins-page .plugin-description{color:var(--text-secondary);margin-bottom:1rem;font-size:.875rem;line-height:1.5}.plugins-page .plugin-status-row{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.plugins-page .plugin-status{align-items:center;gap:.5rem;display:flex}.plugins-page .status-dot{border-radius:50%;width:8px;height:8px}.plugins-page .status-dot.enabled{background:#22c55e}.plugins-page .status-dot.disabled{background:#eab308}.plugins-page .status-dot.error{background:#ef4444}.plugins-page .status-dot.installed{background:#64748b}.plugins-page .status-text{color:var(--text-primary);text-transform:capitalize;font-size:.875rem}.plugins-page .plugin-type-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.625rem}.plugins-page .plugin-provides{flex-wrap:wrap;gap:.375rem;margin-bottom:1rem;display:flex}.plugins-page .provides-tag{background:var(--bg-light);color:var(--text-secondary);border-radius:4px;padding:.25rem .5rem;font-size:.75rem}.plugins-page .plugin-error{background:#ef44441a;border:1px solid #ef444433;border-radius:6px;margin-bottom:1rem;padding:.5rem .75rem}.plugins-page .plugin-error-text{color:#ef4444;font-size:.75rem}.plugins-page .plugin-actions{border-top:1px solid var(--border);align-items:center;gap:.5rem;padding-top:1rem;display:flex}.plugins-page .btn-toggle{cursor:pointer;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s;display:flex}.plugins-page .btn-toggle.enable{background:var(--primary,#25d366);border:1px solid var(--primary,#25d366);color:#fff}.plugins-page .btn-toggle.enable:hover{background:#16a34a;border-color:#16a34a}.plugins-page .btn-toggle.disable{color:#ef4444;background:#ef44441a;border:1px solid #ef44444d}.plugins-page .btn-toggle.disable:hover{background:#ef444433}.plugins-page .btn-toggle:disabled{opacity:.5;cursor:not-allowed}.plugins-page .btn-required{background:var(--bg-light);border:1px solid var(--border);color:var(--text-muted);cursor:default;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1rem;font-size:.875rem;font-weight:600;display:flex}.plugins-page .btn-required svg{color:var(--text-muted)}.plugins-page .btn-active{background:var(--bg-light);border:1px solid var(--border);color:var(--text-secondary);cursor:default;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1rem;font-size:.875rem;font-weight:500;display:flex}.plugins-page .btn-active svg{color:#16a34a}.plugins-page .btn-action{background:var(--bg-light);border:1px solid var(--border);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;padding:0;transition:all .2s;display:flex}.plugins-page .btn-action:hover{background:var(--bg-white);border-color:var(--text-muted)}.plugins-page .btn-action svg{color:var(--text-secondary)}.plugins-page .empty-state{text-align:center;padding:4rem 2rem}.plugins-page .empty-state svg{color:var(--text-muted);margin-bottom:1rem}.plugins-page .empty-state h3{color:var(--text-secondary);margin-bottom:.5rem;font-size:1.25rem}.plugins-page .empty-state p{color:var(--text-muted)}.plugins-page .config-modal{width:90%;max-width:640px}.plugins-page .config-info-banner{color:#d97706;background:#fbbf241a;border:1px solid #fbbf244d;border-radius:8px;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.plugins-page .config-form .form-group{margin-bottom:1.25rem}.plugins-page .config-form .form-group label{color:var(--text-secondary);margin-bottom:.5rem;font-size:.875rem;font-weight:600;display:block}.plugins-page .config-form .form-group input,.plugins-page .config-form .form-group select,.plugins-page .config-form .form-group textarea{border:1px solid var(--border);background:var(--bg-light);box-sizing:border-box;border-radius:8px;width:100%;padding:.75rem 1rem;font-size:.9375rem;transition:all .2s}.plugins-page .config-form .form-group textarea{resize:vertical;min-height:4.5rem;font-family:inherit}.plugins-page .config-form .form-group input:focus,.plugins-page .config-form .form-group select:focus,.plugins-page .config-form .form-group textarea:focus{border-color:var(--primary);background:var(--bg-white);outline:none;box-shadow:0 0 0 3px #25d3661a}.plugins-page .config-form .config-fieldset{border:1px solid var(--border);border-radius:8px;min-width:0;margin:0 0 1.25rem;padding:.75rem 1rem .25rem}.plugins-page .config-form .config-fieldset>legend{color:var(--text-secondary);padding:0 .4rem;font-size:.8125rem;font-weight:600}.plugins-page .config-form .config-array{margin-bottom:1.25rem}.plugins-page .config-form .config-array>label{color:var(--text-secondary);margin-bottom:.5rem;font-size:.875rem;font-weight:600;display:block}.plugins-page .config-form .config-array-row{align-items:flex-start;gap:.5rem;margin-bottom:.5rem;display:flex}.plugins-page .config-form .config-array-row-body{border-left:2px solid var(--border);flex:1;min-width:0;padding-left:.75rem}.plugins-page .config-form .config-array-remove{border:1px solid var(--border);background:var(--bg-light);color:var(--danger,#e5484d);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:.45rem;transition:all .2s;display:inline-flex}.plugins-page .config-form .config-array-remove:hover{background:var(--danger,#e5484d);color:#fff;border-color:var(--danger,#e5484d)}.plugins-page .config-form .config-array-add{border:1px dashed var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:.35rem;padding:.5rem .85rem;font-size:.8125rem;font-weight:600;transition:all .2s;display:inline-flex}.plugins-page .config-form .config-array-add:hover{border-color:var(--primary);color:var(--primary)}.plugins-page .plugin-config-ui-frame{border:1px solid var(--border);background:var(--bg-white);border-radius:8px;width:100%;display:block}.plugins-page .config-ui-status{min-height:200px;color:var(--text-muted);justify-content:center;align-items:center;display:flex}.plugins-page .config-ui-error{text-align:center;color:var(--danger,#e5484d);padding:1rem}.plugins-page .config-form .form-group small{color:var(--text-muted);margin-top:.4rem;font-size:.75rem;line-height:1.4;display:block}.plugins-page .config-form .form-group .required-mark{color:var(--danger,#e5484d)}.plugins-page .toggle-group{background:var(--bg-light);border-radius:8px;justify-content:space-between;align-items:center;padding:1rem;display:flex}.plugins-page .toggle-info{flex:1}.plugins-page .toggle-info label{margin-bottom:.25rem!important;display:block!important}.plugins-page .toggle-info small{color:var(--text-muted);font-size:.75rem;display:block}.plugins-page .toggle-switch{flex-shrink:0;width:48px;height:26px;display:inline-block;position:relative}.plugins-page .toggle-switch input{opacity:0;width:0;height:0}.plugins-page .toggle-slider{cursor:pointer;background-color:#cbd5e1;border-radius:26px;transition:all .3s;position:absolute;inset:0}.plugins-page .toggle-slider:before{content:"";background-color:#fff;border-radius:50%;width:20px;height:20px;transition:all .3s;position:absolute;bottom:3px;left:3px;box-shadow:0 2px 4px #0000001a}.plugins-page .toggle-switch input:checked+.toggle-slider{background-color:var(--primary,#22c55e)}.plugins-page .toggle-switch input:checked+.toggle-slider:before{transform:translate(22px)}.plugins-page .no-config{text-align:center;color:var(--text-muted);padding:2rem}.plugins-page .no-config p{margin-top:1rem}.plugins-page .btn-primary{background:var(--primary,#22c55e);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.9375rem;font-weight:600;transition:all .2s;display:flex}.plugins-page .btn-primary:hover{background:#16a34a}.plugins-page .btn-primary:disabled{opacity:.6;cursor:not-allowed}@media (width<=900px){.plugins-page{padding:1rem}.plugins-page .plugins-layout{flex-direction:column}.plugins-page .plugins-rail{flex:100%;width:100%;position:static}.plugins-page .plugins-grid{grid-template-columns:1fr}.plugins-page .engine-header{flex-direction:column;align-items:flex-start;gap:1rem}}.plugins-page .plugins-layout{align-items:flex-start;gap:1.5rem;display:flex}.plugins-page .plugins-rail{background:var(--bg-white);border:1px solid var(--border);border-radius:12px;flex-direction:column;flex:0 0 280px;gap:1.25rem;padding:1.25rem;display:flex;position:sticky;top:1.5rem}.plugins-page .plugins-main{flex:auto;min-width:0}.plugins-page .rail-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:.625rem;font-size:.6875rem;font-weight:600}.plugins-page .rail-engine{align-items:center;gap:.625rem;display:flex}.plugins-page .rail-engine-icon{color:#16a34a;background:#22c55e1f;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.plugins-page .rail-engine-meta{flex-direction:column;flex:1;min-width:0;display:flex}.plugins-page .rail-engine-name{color:var(--text-primary);font-size:.875rem;font-weight:600}.plugins-page .rail-engine-lib{color:var(--text-muted);font-size:.75rem}.plugins-page .rail-stats{gap:.75rem;display:flex}.plugins-page .rail-stat{background:var(--bg-light);text-align:center;border-radius:8px;flex:1;padding:.625rem .75rem}.plugins-page .rail-stat-num{color:var(--text-primary);font-size:1.25rem;font-weight:700;line-height:1.2;display:block}.plugins-page .rail-stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.6875rem}.plugins-page .rail-active-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.plugins-page .rail-active-item{align-items:center;gap:.5rem;display:flex}.plugins-page .rail-active-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.8125rem;overflow:hidden}.plugins-page .rail-active-type{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.625rem}.plugins-page .rail-empty{color:var(--text-muted);font-size:.8125rem}.plugins-page .btn-available{background:var(--bg-light);border:1px dashed var(--border);color:var(--text-muted);cursor:default;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1rem;font-size:.875rem;font-weight:500;display:flex}.plugins-page .btn-action-danger:hover{background:#ef44441a;border-color:#ef44444d}.plugins-page .btn-action-danger:hover svg{color:#ef4444}.plugins-page .install-hint{color:var(--text-secondary);margin-bottom:1rem;font-size:.875rem;line-height:1.5}.plugins-page .install-drop{border:2px dashed var(--border);color:var(--text-muted);cursor:pointer;text-align:center;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:.625rem;padding:2rem 1rem;transition:all .15s;display:flex}.plugins-page .install-drop:hover{border-color:var(--primary,#25d366);color:var(--text-secondary)}.plugins-page .install-drop.has-file{border-style:solid;border-color:var(--primary,#25d366);color:var(--text-primary);background:#22c55e0d}.plugins-page .install-drop-name{word-break:break-all;font-size:.875rem}@media (width<=860px){.plugins-page .plugins-layout{flex-direction:column}.plugins-page .plugins-rail{flex-basis:auto;width:100%;position:static}}.plugins-page .install-tabs,.plugins-page .config-modal .modal-tabs{background:var(--bg-light);border:1px solid var(--border);border-radius:10px;align-self:center;gap:2px;margin:0 0 .75rem;padding:3px;display:inline-flex}.plugins-page .install-tab,.plugins-page .config-modal .modal-tab{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:7px;justify-content:center;align-items:center;gap:6px;padding:.4rem .9rem;font-size:.875rem;font-weight:600;transition:background .15s,color .15s;display:inline-flex}.plugins-page .install-tab.active,.plugins-page .config-modal .modal-tab.active{background:var(--bg-white);color:var(--text-primary);box-shadow:0 1px 2px #0000000f}.plugins-page .sessions-tab{flex-direction:column;gap:1.5rem;display:flex}.plugins-page .sessions-section>h3{color:var(--text-primary);margin:0 0 .25rem;font-size:.9375rem;font-weight:600}.plugins-page .sessions-section>small{color:var(--text-muted);margin-bottom:.75rem;font-size:.75rem;display:block}.plugins-page .sessions-radio{color:var(--text-primary);cursor:pointer;align-items:center;gap:.5rem;padding:.35rem 0;font-size:.875rem;display:flex}.plugins-page .sessions-checklist{flex-direction:column;gap:.25rem;max-height:180px;margin:.25rem 0 .75rem 1.5rem;display:flex;overflow-y:auto}.plugins-page .sessions-check{color:var(--text-secondary);cursor:pointer;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.plugins-page .sessions-empty{color:var(--text-muted);margin:.25rem 0 .75rem 1.5rem;font-size:.8125rem}.plugins-page .sessions-select{border:1px solid var(--border);background:var(--bg-light);box-sizing:border-box;border-radius:8px;width:100%;margin-bottom:1rem;padding:.6rem .85rem;font-size:.9375rem}.plugins-page .sessions-override-actions{justify-content:flex-end;gap:.5rem;margin-top:.5rem;display:flex}.plugins-page .catalog-empty{color:var(--text-secondary,#6b7280);justify-content:center;align-items:center;gap:10px;padding:28px 12px;font-size:.875rem;display:flex}.plugins-page .catalog-error{color:var(--danger,#dc2626);flex-wrap:wrap}.plugins-page .catalog-search{border:1px solid var(--border);color:var(--text-muted);border-radius:8px;align-items:center;gap:.5rem;margin-bottom:.75rem;padding:.5rem .75rem;display:flex}.plugins-page .catalog-search input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-size:.9375rem}.plugins-page .catalog-list{flex-direction:column;gap:8px;max-height:420px;display:flex;overflow-y:auto}.plugins-page .catalog-row{border:1px solid var(--border,#e5e7eb);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.plugins-page .catalog-row-info{min-width:0}.plugins-page .catalog-row-name{font-weight:600}.plugins-page .catalog-row-version{color:var(--text-secondary,#6b7280);font-size:.85em;font-weight:400}.plugins-page .catalog-row-desc{color:var(--text-secondary,#6b7280);margin-top:2px;font-size:.85rem}.plugins-page .catalog-row-meta{color:var(--text-secondary,#6b7280);align-items:center;gap:8px;margin-top:4px;font-size:.8rem;display:flex}.plugins-page .catalog-badge.update{color:var(--primary,#25d366)}.plugins-page .catalog-row-action{flex-shrink:0}.plugins-page .catalog-installed{color:var(--text-secondary,#6b7280);align-items:center;gap:6px;font-size:.85rem;display:inline-flex}.contacts-page{flex-direction:column;gap:1.25rem;height:100%;padding:1.5rem;display:flex}.contacts-grid{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex:1;overflow:hidden}.table-container{-webkit-overflow-scrolling:touch;background:var(--surface);border:1px solid var(--border);border-radius:12px;width:100%;overflow-x:auto;box-shadow:0 4px 6px -1px #0000000f}.data-table{border-collapse:separate;border-spacing:0;width:100%;min-width:580px}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--border);padding:1rem .875rem}.data-table th{background:var(--surface-hover);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;font-size:.8125rem;font-weight:600}.tags-container{flex-wrap:wrap;gap:.35rem;display:flex}.tag{color:var(--primary);background:#25d3661f;border-radius:999px;padding:.2rem .6rem;font-size:.75rem;font-weight:600}.actions-cell{gap:.5rem;display:flex}.empty-cell{padding:3rem!important}.empty-state{color:var(--text-secondary);text-align:center;background:var(--surface);border:1px dashed var(--border);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:3.5rem 1.5rem;display:flex}.empty-state p{margin:0}.table-wrapper{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}@media (width<=768px){.contacts-page{gap:1rem;padding:.875rem}.filters-bar{flex-direction:column;align-items:stretch;gap:.75rem}.search-input{max-width:100%}.data-table th,.data-table td{padding:.75rem .625rem;font-size:.8125rem}}.campaigns-page{flex-direction:column;gap:1.5rem;height:100%;padding:1.5rem;display:flex}.filters-bar{align-items:center;gap:1rem;display:flex}.search-input{background:var(--bg-light);border:1px solid var(--border);max-width:400px;box-shadow:var(--neu-inset);border-radius:12px;flex:1;align-items:center;gap:.5rem;padding:.75rem 1rem;transition:all .2s;display:flex}.search-input input{box-shadow:none;color:var(--text-primary);background:0 0;border:none;outline:none;width:100%}.campaigns-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;display:grid}.campaign-card{background:var(--bg-light);border:1px solid var(--border);box-shadow:var(--neu-extruded);border-radius:18px;flex-direction:column;gap:1.25rem;padding:1.5rem;transition:all .25s;display:flex}.campaign-card:hover{box-shadow:var(--neu-hover);transform:translateY(-2px)}.card-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.card-header h3{color:var(--text);word-break:break-word;margin:0;font-size:1.125rem}.status-badge{text-transform:uppercase;border-radius:999px;padding:.25rem .75rem;font-size:.75rem;font-weight:600}.badge-draft{background:var(--surface-hover);color:var(--text-secondary)}.badge-running{color:#22c55e;background:#22c55e1a}.badge-paused{color:#eab308;background:#eab3081a}.badge-completed{color:#3b82f6;background:#3b82f61a}.badge-failed{color:#ef4444;background:#ef44441a}.campaign-info{flex-direction:column;gap:.75rem;display:flex}.info-row{justify-content:space-between;font-size:.875rem;display:flex}.info-label{color:var(--text-secondary)}.info-value{color:var(--text);font-weight:500}.progress-bar{background:var(--border);border-radius:999px;width:100%;height:8px;margin-top:.5rem;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--primary), #8b5cf6);border-radius:999px;height:100%;transition:width .5s cubic-bezier(.4,0,.2,1)}.campaign-live-status{color:var(--text-secondary);align-items:center;gap:.35rem;min-height:1.35rem;margin-top:.45rem;font-size:.8125rem;font-weight:500;display:flex}.status-step-running{color:var(--primary);align-items:center;gap:.45rem;font-weight:600;display:flex}.live-pulse-dot{background:var(--primary);border-radius:50%;flex-shrink:0;width:8px;height:8px;animation:1.5s infinite pulseDot;box-shadow:0 0 #25d366b3}@keyframes pulseDot{0%{transform:scale(.95);box-shadow:0 0 #25d366b3}70%{transform:scale(1);box-shadow:0 0 0 6px #25d36600}to{transform:scale(.95);box-shadow:0 0 #25d36600}}.status-step-completed{color:#10b981;align-items:center;gap:.35rem;font-weight:600;display:flex}.status-step-paused{color:#eab308;align-items:center;gap:.35rem;font-weight:500;display:flex}.status-step-draft{color:var(--text-muted)}.status-step-failed{color:#ef4444;align-items:center;gap:.35rem;display:flex}.card-actions{border-top:1px solid var(--border);gap:.5rem;margin-top:auto;padding-top:1.25rem;display:flex}.btn-action{background:var(--surface-hover);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.5rem;font-size:.875rem;font-weight:500;transition:all .2s;display:flex}.btn-action:hover{background:var(--border)}.btn-action.danger{color:#ef4444}.btn-action.danger:hover{background:#ef44441a;border-color:#ef444433}.empty-state{background:var(--surface);border:1px dashed var(--border);color:var(--text-secondary);text-align:center;border-radius:12px;flex-direction:column;grid-column:1/-1;justify-content:center;align-items:center;padding:6rem 2rem;display:flex}.empty-state h3{color:var(--text);margin:1rem 0 .5rem}@media (width<=768px){.campaigns-page{padding:1rem}.filters-bar{flex-direction:column;align-items:stretch}.search-input{max-width:100%}.campaigns-grid{grid-template-columns:1fr}.card-actions{flex-direction:column}.card-actions button{width:100%}}.analytics-page{flex-direction:column;gap:1.5rem;height:100%;padding:1.5rem;display:flex}.date-select{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;outline:none;padding:.5rem 1rem}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;display:grid}.kpi-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;align-items:center;gap:1.25rem;padding:1.5rem;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008}.kpi-card:hover{transform:translateY(-2px);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.kpi-icon-wrapper{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.kpi-details{flex-direction:column;gap:.25rem;display:flex}.kpi-label{color:var(--text-secondary);font-size:.875rem;font-weight:500}.kpi-value{color:var(--text);font-size:1.5rem;font-weight:700;line-height:1.2}.kpi-trend{align-items:center;gap:.25rem;font-size:.75rem;font-weight:600;display:flex}.kpi-trend.positive{color:#22c55e}.kpi-trend.negative{color:#ef4444}.charts-grid{grid-template-columns:2fr 1fr;gap:1.5rem;display:grid}@media (width<=1024px){.charts-grid{grid-template-columns:1fr}}.chart-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:1.25rem;padding:1.5rem;display:flex;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008}.glass-chart-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:1.5rem;position:relative;overflow:hidden;background:linear-gradient(135deg,#181430f0 0%,#0d111ef5 100%)!important;border:1px solid #a855f74d!important;border-radius:16px!important;box-shadow:0 20px 40px -15px #00000080,0 0 25px #a855f726!important}.glass-chart-card .recharts-bar-rectangle,.glass-chart-card path.recharts-rectangle{transform-origin:bottom;cursor:pointer;transition:transform .3s cubic-bezier(.34,1.56,.64,1),filter .3s,opacity .3s;animation:.75s cubic-bezier(.16,1,.3,1) both glassBarRise}.glass-chart-card g.recharts-bar-rectangles g:first-child .recharts-bar-rectangle,.glass-chart-card path.recharts-rectangle:first-of-type{animation-delay:80ms}.glass-chart-card g.recharts-bar-rectangles g:nth-child(2) .recharts-bar-rectangle,.glass-chart-card path.recharts-rectangle:nth-of-type(2){animation-delay:.26s}.glass-chart-card g.recharts-bar-rectangles g:nth-child(3) .recharts-bar-rectangle,.glass-chart-card path.recharts-rectangle:nth-of-type(3){animation-delay:.44s}.glass-chart-card g.recharts-bar-rectangles g:nth-child(4) .recharts-bar-rectangle,.glass-chart-card path.recharts-rectangle:nth-of-type(4){animation-delay:.62s}.glass-chart-card g.recharts-bar-rectangles g:nth-child(5) .recharts-bar-rectangle,.glass-chart-card path.recharts-rectangle:nth-of-type(5){animation-delay:.8s}.glass-chart-card g.recharts-bar-rectangles g:nth-child(6) .recharts-bar-rectangle,.glass-chart-card path.recharts-rectangle:nth-of-type(6){animation-delay:.98s}@keyframes glassBarRise{0%{opacity:0;transform:scaleY(0)}to{opacity:1;transform:scaleY(1)}}.glass-chart-card .recharts-bar-rectangle:hover,.glass-chart-card path.recharts-rectangle:hover{transform:scaleY(1.04);filter:drop-shadow(0 0 18px var(--theme-shadow,#25d366f2)) brightness(1.2)!important;opacity:1!important}.chart-header h3{color:var(--text);margin:0;font-size:1.125rem}.chart-container{flex:1;width:100%;min-height:350px}.top-campaigns-list{flex-direction:column;gap:1rem;display:flex}.top-campaign-item{border-bottom:1px solid var(--border);flex-direction:column;gap:.25rem;padding-bottom:1rem;display:flex}.top-campaign-item:last-child{border-bottom:none;padding-bottom:0}.campaign-name{color:var(--text);font-weight:500}.campaign-stats{color:var(--text-secondary);justify-content:space-between;font-size:.875rem;display:flex}.stat-read{color:#22c55e;font-weight:500}.users-page{flex-direction:column;gap:1.5rem;height:100%;padding:1.5rem;display:flex}.filters-bar{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.search-input{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex:1;align-items:center;gap:.5rem;max-width:400px;padding:.75rem 1rem;transition:border-color .2s,box-shadow .2s;display:flex;box-shadow:0 1px 2px #0000000d}.search-input:focus-within{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-light)}.search-input input{color:var(--text);background:0 0;border:none;outline:none;width:100%}.users-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex:1;overflow:hidden;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.table-container{width:100%;overflow-x:auto}.data-table{border-collapse:collapse;text-align:left;width:100%}.data-table th,.data-table td{border-bottom:1px solid var(--border);padding:1rem 1.5rem}.data-table th{background:var(--bg-light);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;font-size:.875rem;font-weight:600}.data-table tbody tr{transition:background-color .2s}.data-table tbody tr:hover{background-color:var(--bg-light)}.data-table td{color:var(--text);font-size:.9375rem}.empty-state{color:var(--text-secondary);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:4rem 2rem;display:flex}.empty-state svg{color:var(--text-muted);margin-bottom:1rem}.empty-state h3{color:var(--text);margin:0 0 .5rem;font-size:1.125rem}.empty-state p{max-width:300px;margin:0;font-size:.875rem}.btn-icon{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:.5rem;transition:all .2s;display:inline-flex}.btn-icon:hover{background:var(--bg-light);color:var(--primary)}.btn-icon.danger:hover{color:#dc2626;background:#fee2e2}.form-group{margin-bottom:1rem}.form-group label{color:var(--text-secondary,#64748b);margin-bottom:.5rem;font-size:.875rem;font-weight:600;display:block}.form-group.checkbox-group{margin-top:1.5rem;margin-bottom:.5rem}.form-group.checkbox-group label{margin-bottom:0;display:flex}
