:root[data-tenant=contoso]{--accent:#1f6feb;--accent-soft:#e4edfc;--accent-strong:#1a5ac4}:root[data-tenant=northwind]{--accent:#1f8f5b;--accent-soft:#e4f3eb;--accent-strong:#15714a}:root[data-tenant=aperture]{--accent:#6b3fdb;--accent-soft:#eee7fb;--accent-strong:#5730b8}.app{min-height:100vh;display:flex;flex-direction:column}.app-body{display:grid;grid-template-columns:var(--sidebar-w) 1fr;flex:1;min-height:0;transition:grid-template-columns .22s ease}.app.sidebar-collapsed .app-body{grid-template-columns:var(--sidebar-w-icon) 1fr}.topbar-global{height:var(--topbar-h);background:var(--paper);border-bottom:1px solid var(--ink-150);gap:12px;padding:0 16px;position:sticky;top:0;z-index:30}.topbar-global,.topbar-left{display:flex;align-items:center}.topbar-left{gap:10px;flex:0 0 auto}.topbar-logo{display:inline-flex;align-items:center;line-height:0}.topbar-sep{width:1px;height:22px;background:var(--ink-200)}.topbar-search{flex:1 1 380px;max-width:440px;position:relative}.topbar-search input{width:100%;height:34px;border:1px solid var(--ink-150);background:var(--ink-50);border-radius:var(--radius-sm);padding:0 40px 0 32px;outline:none;transition:border-color .12s,background .12s}.topbar-search input:focus{border-color:var(--accent);background:var(--paper)}.topbar-search .search-icon{left:10px;width:14px;height:14px;pointer-events:none}.topbar-search .kbd,.topbar-search .search-icon{position:absolute;top:50%;transform:translateY(-50%);color:var(--ink-400)}.topbar-search .kbd{right:8px;font-family:var(--font-mono);font-size:10.5px;border:1px solid var(--ink-200);border-radius:4px;padding:1px 5px;background:var(--paper)}.topbar-search .mobile-close{position:absolute;right:6px;top:50%;transform:translateY(-50%)}.topbar-actions{display:flex;align-items:center;gap:6px;margin-left:auto;flex:0 0 auto}.topbar-mobile-only{display:none}.topbar-desktop-only{display:inline-flex}.avatar-btn{width:32px;height:32px;padding:0;border-radius:50%;overflow:hidden}.icon-btn{width:34px;height:34px;border-radius:var(--radius-sm);display:grid;place-items:center;color:var(--ink-500);transition:background .12s,color .12s;position:relative;flex:0 0 auto}.icon-btn:hover{background:var(--ink-100);color:var(--ink-900)}.icon-btn .dot{position:absolute;top:8px;right:8px;width:6px;height:6px;background:var(--accent);border:2px solid var(--paper);border-radius:50%}.sidebar{background:var(--paper);border-right:1px solid var(--ink-150);display:flex;flex-direction:column;position:sticky;top:var(--topbar-h);height:calc(100vh - var(--topbar-h));transition:transform .22s ease;z-index:20}.app.sidebar-collapsed .sidebar,.sidebar{overflow:hidden}.app.sidebar-collapsed .sidebar-nav{padding:6px 4px 16px}.app.sidebar-collapsed .nav-item{justify-content:center;padding:9px 0;gap:0}.app.sidebar-collapsed .nav-item .nav-label{display:none}.app.sidebar-collapsed .nav-item.active:before{left:0;top:8px;bottom:8px}.app.sidebar-collapsed .nav-group-label{font-size:0;height:1px;background:var(--ink-150);margin:8px 10px;padding:0}.app.sidebar-collapsed .sidebar-foot{display:none}.sidebar-scrim{display:none;position:fixed;inset:var(--topbar-h) 0 0 0;background:rgba(12,22,33,.35);z-index:15;opacity:0;pointer-events:none;transition:opacity .18s}.sidebar-tenant-wrap{padding:10px 10px 4px;border-bottom:1px solid var(--ink-100);margin-bottom:4px}.sidebar-tenant{width:100%;padding:8px 10px;border:1px solid var(--ink-150);border-radius:var(--radius-md);display:flex;align-items:center;gap:10px;background:var(--ink-50);cursor:pointer;transition:background .12s,border-color .12s;text-align:left}.sidebar-tenant:hover{background:var(--ink-100);border-color:var(--ink-200)}.sidebar-tenant .t-avatar{width:32px;height:32px;border-radius:7px;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;font-weight:700;font-size:12px;flex:0 0 auto}.sidebar-tenant .t-meta{flex:1;min-width:0}.sidebar-tenant .t-label{font-size:9.5px;font-weight:600;color:var(--ink-400);letter-spacing:.1em;text-transform:uppercase;line-height:1.1}.sidebar-tenant .t-name{font-size:13px;font-weight:600;color:var(--ink-900);line-height:1.2}.sidebar-tenant .t-name,.sidebar-tenant .t-sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-tenant .t-sub{font-size:11px;color:var(--ink-500)}.sidebar-tenant .t-chev{color:var(--ink-400);flex:0 0 auto}.sidebar-nav{padding:6px 8px 16px;flex:1;overflow-y:auto}.sidebar-foot{padding:10px;border-top:1px solid var(--ink-100);display:flex;align-items:center;gap:10px}.sidebar-foot.copyright{flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:2px;padding:14px 16px}.copyright-line{font-size:11.5px;font-weight:600;color:var(--ink-700)}.copyright-sub{font-size:11px;color:var(--ink-500)}.nav-group-label{font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-400);padding:14px 10px 6px}.nav-item{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:var(--radius-sm);color:var(--ink-700);font-size:13.5px;font-weight:500;cursor:pointer;white-space:nowrap;position:relative;transition:background .12s,color .12s}.nav-item:hover{background:var(--ink-100);color:var(--ink-900)}.nav-item.active{background:var(--accent-soft);color:var(--ink-900)}.nav-item.active:before{content:"";position:absolute;left:-8px;top:6px;bottom:6px;width:2px;background:var(--accent);border-radius:2px}.nav-item .nav-icon{width:18px;height:18px;flex:0 0 auto;color:var(--ink-500)}.nav-item.active .nav-icon{color:var(--accent)}.nav-item .nav-badge{margin-left:auto;font-size:11px;color:var(--ink-400);background:var(--ink-100);padding:1px 6px;border-radius:10px}.nav-item.disabled{color:var(--ink-400);cursor:not-allowed}.nav-item.disabled:hover{background:transparent;color:var(--ink-400)}.menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;font-size:13px;color:var(--ink-900);border-radius:var(--radius-sm);text-align:left;transition:background .12s}.menu-item:hover{background:var(--ink-50)}.menu-item svg{color:var(--ink-500)}.module-trigger{display:inline-flex;align-items:center;gap:6px;padding:4px 8px 4px 4px;border-radius:var(--radius-sm);border:1px solid var(--ink-150);background:var(--paper);transition:border-color .12s,background .12s;font-size:13px;font-weight:600;color:var(--ink-900);height:32px}.module-trigger:hover{border-color:var(--ink-300);background:var(--ink-50)}.module-trigger-label{max-width:110px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.module-dot{width:22px;height:22px;border-radius:6px;display:grid;place-items:center;color:#fff;flex:0 0 auto}.module-dot.lg{width:32px;height:32px;border-radius:8px}.module-popover{position:absolute;top:calc(100% + 8px);left:0;width:min(380px,calc(100vw - 24px));background:var(--paper);border:1px solid var(--ink-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop);z-index:70;overflow:hidden}.popover-head{padding:12px 14px;border-bottom:1px solid var(--ink-100);background:var(--ink-50)}.popover-title{font-size:13px;font-weight:600}.popover-sub{font-size:11.5px;color:var(--ink-500);margin-top:2px}.popover-foot{padding:8px 10px;border-top:1px solid var(--ink-100);display:flex;align-items:center;gap:6px;background:var(--ink-50)}.module-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:10px}.module-tile{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:12px;border-radius:var(--radius-md);border:1px solid var(--ink-150);background:var(--paper);text-align:left;transition:border-color .12s,background .12s,transform .12s}.module-tile:hover:not(:disabled){border-color:var(--ink-300);background:var(--ink-50);transform:translateY(-1px)}.module-tile.active{border-color:var(--accent);background:var(--accent-soft)}.module-tile.coming{opacity:.55;cursor:not-allowed}.module-tile-name{font-size:13px;font-weight:600;margin-top:4px;color:var(--ink-900)}.module-tile-desc{font-size:11.5px;color:var(--ink-500);line-height:1.3}.module-tile-pill{position:absolute;top:8px;right:8px}.module-popover-split{width:min(580px,calc(100vw - 24px));display:flex;align-items:stretch}.module-panel{flex:1;min-width:0}.module-panel-head{padding:12px 14px;border-bottom:1px solid var(--ink-100);background:var(--ink-50)}.module-panel-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:10px}.module-panel-divider{width:1px;background:var(--ink-150);flex:0 0 1px}.module-panel-list{padding:6px 8px;max-height:280px;overflow-y:auto}.module-ribbon{display:flex;align-items:center;gap:10px;padding:8px 20px;background:color-mix(in oklab,var(--accent) 6%,var(--paper));border-bottom:1px solid var(--ink-150);font-size:12.5px;flex-wrap:wrap}.module-ribbon .back-link{display:inline-flex;align-items:center;gap:4px;color:var(--accent-strong);font-weight:500;padding:2px 6px;border-radius:4px}.module-ribbon .back-link:hover{background:var(--accent-soft)}.tenant-popover{position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--paper);border:1px solid var(--ink-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop);z-index:70;overflow:hidden}.tenant-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:var(--radius-sm);background:transparent;text-align:left;transition:background .12s}.tenant-item:hover{background:var(--ink-50)}.tenant-item.active{background:var(--accent-soft)}.tenant-item .t-name{font-size:13px;font-weight:600;color:var(--ink-900)}.tenant-item .t-sub{font-size:11.5px;color:var(--ink-500)}.tenant-item .t-avatar{width:28px;height:28px;border-radius:6px;background:var(--ink-900);color:#fff;display:grid;place-items:center;font-weight:700;font-size:11px;flex:0 0 auto}.user-popover{position:absolute;top:calc(100% + 8px);right:0;width:240px;background:var(--paper);border:1px solid var(--ink-200);border-radius:var(--radius-md);box-shadow:var(--shadow-pop);z-index:60;overflow:hidden}.btn{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:var(--radius-sm);font-size:13px;font-weight:500;border:1px solid transparent;white-space:nowrap;transition:background .12s,border-color .12s,color .12s,box-shadow .12s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--accent-ink)}.btn-primary:hover:not(:disabled){background:var(--accent-strong)}.btn-primary:focus-visible{box-shadow:0 0 0 3px rgba(252,79,0,.25);box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 25%,transparent);outline:none}.btn-secondary{background:var(--paper);border-color:var(--ink-200);color:var(--ink-900)}.btn-secondary:hover:not(:disabled){background:var(--ink-50);border-color:var(--ink-300)}.btn-ghost{color:var(--ink-700)}.btn-ghost:hover{background:var(--ink-100)}.btn-danger-ghost{color:var(--danger)}.btn-danger-ghost:hover{background:var(--danger-soft)}.btn-sm{height:26px;padding:0 8px;font-size:12px}.btn-icon{width:32px;padding:0;justify-content:center}.badge .dot{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.8}.badge-accent{background:var(--accent-soft);color:var(--accent-strong)}.badge-ok{background:var(--ok-soft);color:var(--ok)}.badge-warn{background:var(--warn-soft);color:var(--warn)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.badge-info{background:var(--info-soft);color:var(--info)}.badge-neutral{background:var(--ink-100);color:var(--ink-700)}.badge-outline{background:transparent;border:1px solid var(--ink-200);color:var(--ink-700)}.card{background:var(--paper);border:1px solid var(--ink-150);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);overflow:hidden}.card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;border-bottom:1px solid var(--ink-100);flex-wrap:wrap}.card-title{font-size:14px;font-weight:600;color:var(--ink-900)}.card-sub{font-size:12px;color:var(--ink-500)}.card-body{padding:16px}.card-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 16px;border-top:1px solid var(--ink-100);font-size:12px;color:var(--ink-500);flex-wrap:wrap}.tbl{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.tbl th{text-align:left;font-weight:500;color:var(--ink-500);font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid var(--ink-150);background:var(--ink-50);position:sticky;top:0;z-index:1}.tbl td,.tbl th{padding:10px 12px}.tbl td{border-bottom:1px solid var(--ink-100);vertical-align:middle}.tbl tr:hover td{background:var(--ink-50)}.tbl tr.selected td{background:var(--accent-soft)}.card .tbl tbody tr:last-child td{border-bottom:0}.tbl-link{font-weight:500;color:var(--ink-900);transition:color .12s}a:hover .tbl-link,button:hover .tbl-link{color:var(--accent)}.tbl .icon-btn:hover{background:var(--ink-200);color:var(--ink-900)}.drawer-backdrop{position:fixed;inset:0;background:rgba(12,22,33,.35);z-index:40;opacity:0;pointer-events:none;transition:opacity .18s}.drawer-backdrop.open{opacity:1;pointer-events:auto}.drawer{position:fixed;top:0;right:0;bottom:0;width:560px;max-width:92vw;background:var(--paper);box-shadow:var(--shadow-pop);z-index:50;transform:translateX(100%);transition:transform .22s cubic-bezier(.2,.7,.2,1);display:flex;flex-direction:column}.drawer.open{transform:translateX(0)}.drawer-head{padding:16px 20px;border-bottom:1px solid var(--ink-150);display:flex;align-items:center;gap:10px}.drawer-title{font-size:15px;font-weight:600;color:var(--ink-900)}.drawer-sub{font-size:12px;color:var(--ink-500)}.drawer-body{flex:1;overflow-y:auto;padding:20px}.drawer-foot{padding:12px 20px;border-top:1px solid var(--ink-150);display:flex;align-items:center;gap:8px;background:var(--ink-50);flex-wrap:wrap}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:12px;font-weight:500;color:var(--ink-700)}.field .hint{font-size:11.5px;color:var(--ink-500)}.textarea{border:1px solid var(--ink-200);background:var(--paper);border-radius:var(--radius-sm);padding:8px 10px;outline:none;font-size:13px;color:var(--ink-900);min-height:72px;resize:vertical;transition:border-color .12s,box-shadow .12s;width:100%}.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(252,79,0,.18)}.select{height:var(--row-h);border:1px solid var(--ink-200);background:var(--paper);border-radius:var(--radius-sm);padding:0 10px;outline:none;font-size:13px;color:var(--ink-900);transition:border-color .12s,box-shadow .12s;width:100%}.select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(252,79,0,.18)}.switch{position:relative;display:inline-block;width:30px;height:18px;flex:0 0 auto}.switch input{opacity:0;width:0;height:0}.switch .track{position:absolute;inset:0;background:var(--ink-200);border-radius:999px;transition:background .16s}.switch .thumb{position:absolute;top:2px;left:2px;width:14px;height:14px;background:var(--paper);border-radius:50%;transition:transform .16s;box-shadow:0 1px 2px rgba(0,0,0,.15)}.switch input:checked~.track{background:var(--accent)}.switch input:checked~.thumb{transform:translateX(12px)}.switch input:disabled~.track{opacity:.5}.tri{display:inline-flex;border:1px solid var(--ink-200);border-radius:var(--radius-sm);overflow:hidden;background:var(--paper);height:24px}.tri button{padding:0 8px;font-size:11px;font-weight:500;color:var(--ink-500);border-right:1px solid var(--ink-200);transition:background .12s,color .12s}.tri button:last-child{border-right:0}.tri button.on-allow{background:var(--ok-soft);color:var(--ok)}.tri button.on-deny{background:var(--danger-soft);color:var(--danger)}.tri button.on-off{background:var(--ink-100);color:var(--ink-700)}.toast-wrap{position:fixed;bottom:24px;right:24px;z-index:100;flex-direction:column;pointer-events:none;max-width:calc(100vw - 32px)}.toast,.toast-wrap{display:flex;gap:8px}.toast{background:var(--ink-900);color:#fff;padding:10px 14px;border-radius:var(--radius-md);box-shadow:var(--shadow-pop);font-size:13px;align-items:center;min-width:260px;animation:toast-in .22s cubic-bezier(.2,.7,.2,1);pointer-events:auto}.toast .toast-icon{color:var(--ok)}@keyframes toast-in{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}.page{padding:24px 28px 60px;width:100%}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}.page-title{font-size:22px;font-weight:600;letter-spacing:-.01em;color:var(--ink-900)}.page-sub{font-size:13px;color:var(--ink-500);margin-top:4px}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.kpi{background:var(--paper);border:1px solid var(--ink-150);border-radius:var(--radius-lg);padding:14px 16px;display:flex;flex-direction:column;gap:6px;position:relative;overflow:hidden}.kpi-label{font-size:12px;color:var(--ink-500);font-weight:500}.kpi-value{font-size:26px;font-weight:600;letter-spacing:-.02em;color:var(--ink-900);font-variant-numeric:tabular-nums}.kpi-delta{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:500}.kpi-delta.up{color:var(--ok)}.kpi-delta.down{color:var(--danger)}.kpi-delta.flat{color:var(--ink-500)}.kpi-spark{position:absolute;right:14px;bottom:10px;opacity:.9}.split-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:12px}.list-row{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--ink-100);font-size:13px}.list-row:last-child{border-bottom:0}.list-row .meta{flex:1;min-width:0}.list-row .primary{font-weight:500;color:var(--ink-900)}.list-row .secondary{color:var(--ink-500);font-size:12px}.roles-layout{display:grid;grid-template-columns:280px 1fr;gap:12px;align-items:start}.roles-side .role-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);cursor:pointer;transition:background .1s;margin-bottom:2px}.roles-side .role-row:hover{background:var(--ink-50)}.roles-side .role-row.active{background:var(--accent-soft)}.role-badge{width:22px;height:22px;border-radius:6px;display:grid;place-items:center;font-size:10.5px;font-weight:700;flex:0 0 auto}.role-badge.built-in{background:var(--ink-900);color:#fff}.role-badge.custom{background:var(--accent);color:#fff}.role-row .rm-name{font-size:13.5px;font-weight:500;color:var(--ink-900)}.role-row .rm-sub{font-size:11.5px;color:var(--ink-500)}.matrix-group{border-top:1px solid var(--ink-100)}.matrix-group:first-child{border-top:0}.matrix-group-head{display:flex;align-items:center;gap:10px;padding:12px 16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-wrap:wrap}.matrix-group-head:hover{background:var(--ink-50)}.matrix-group-head .chev{transition:transform .16s;color:var(--ink-400)}.matrix-group.open .chev{transform:rotate(90deg)}.matrix-group-title{font-size:13.5px;font-weight:600;color:var(--ink-900)}.matrix-group-count,.matrix-group-sub{font-size:11.5px;color:var(--ink-500)}.matrix-group-count{margin-left:auto;font-variant-numeric:tabular-nums}.matrix-header{display:grid;grid-template-columns:1fr 72px 72px 72px 128px;padding:10px 16px 10px 40px;font-size:11px;color:var(--ink-500);letter-spacing:.06em;text-transform:uppercase;font-weight:600;background:var(--ink-50);border-bottom:1px solid var(--ink-150)}.matrix-header>div+div{text-align:center}.matrix-row{display:grid;grid-template-columns:1fr 72px 72px 72px 128px;align-items:center;padding:8px 16px 8px 40px;border-top:1px solid var(--ink-100);font-size:13px}.matrix-row:hover{background:var(--ink-50)}.matrix-row .perm-name{display:flex;align-items:center;gap:8px;min-width:0}.matrix-row .perm-name .perm-label{font-weight:500;color:var(--ink-900)}.matrix-row .perm-name .perm-key{font-family:var(--font-mono);font-size:11px;color:var(--ink-500);background:var(--ink-50);padding:1px 6px;border-radius:4px;white-space:nowrap}.matrix-row .perm-action{display:grid;place-items:center}.unsaved-bar{position:sticky;bottom:0;margin:20px -16px -16px;padding:10px 16px;background:var(--ink-900);color:#fff;display:flex;align-items:center;gap:10px;flex-wrap:wrap;border-bottom-left-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg);animation:toast-in .22s}.unsaved-bar .changes{font-size:12.5px}.unsaved-bar .changes b{color:var(--accent)}.unsaved-bar .actions{margin-left:auto;display:flex;gap:8px}.unsaved-bar .btn-secondary{background:transparent;color:#fff;border-color:hsla(0,0%,100%,.2)}.unsaved-bar .btn-secondary:hover{background:hsla(0,0%,100%,.08);border-color:hsla(0,0%,100%,.3)}.spinner-bar{display:inline-block;position:relative;width:100px;height:4px;border-radius:2px;overflow:hidden;background:color-mix(in oklab,var(--accent) 18%,transparent)}.spinner-bar:before{content:"";position:absolute;top:0;left:-35%;height:100%;width:35%;background:var(--accent);border-radius:2px;animation:spinner-bar-slide 1.4s ease-in-out infinite}@keyframes spinner-bar-slide{0%{left:-35%}60%{left:110%}to{left:110%}}.spinner-scale{display:inline-flex;align-items:center;gap:3px}.spinner-scale span{display:inline-block;width:4px;height:24px;border-radius:2px;background:var(--accent);animation:spinner-scale-y 1s ease-in-out infinite}.spinner-scale span:first-child{animation-delay:-.4s}.spinner-scale span:nth-child(2){animation-delay:-.3s}.spinner-scale span:nth-child(3){animation-delay:-.2s}.spinner-scale span:nth-child(4){animation-delay:-.1s}.spinner-scale span:nth-child(5){animation-delay:0s}@keyframes spinner-scale-y{0%,40%,to{transform:scaleY(.35);opacity:.5}20%{transform:scaleY(1);opacity:1}}.spinner-fade{display:inline-block;width:32px;height:32px;border:3px solid color-mix(in oklab,var(--accent) 20%,transparent);border-top-color:var(--accent);border-radius:50%;animation:spinner-spin .75s linear infinite}@keyframes spinner-spin{to{transform:rotate(1turn)}}.spinner-sm.spinner-bar{width:60px;height:3px}.spinner-sm.spinner-fade{width:20px;height:20px;border-width:2px}.spinner-lg.spinner-fade{width:48px;height:48px;border-width:4px}@keyframes swal2-show{0%{transform:scale(.7)}45%{transform:scale(1.05)}80%{transform:scale(.95)}to{transform:scale(1)}}@keyframes swal2-hide{0%{transform:scale(1);opacity:1}to{transform:scale(.5);opacity:0}}@keyframes swal2-backdrop-show{0%{opacity:0}to{opacity:1}}@keyframes swal2-backdrop-hide{0%{opacity:1}to{opacity:0}}#custom-alert-container{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:2147483647;pointer-events:none}.custom-alert-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:2147483646;pointer-events:auto;animation:swal2-backdrop-show .22s ease}.custom-alert-backdrop.closing{animation:swal2-backdrop-hide .15s forwards}.custom-alert{position:relative;background:var(--paper);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop);width:420px;max-width:calc(100vw - 32px);padding:28px 28px 24px;z-index:2147483647;pointer-events:auto;overflow:hidden;animation:swal2-show .28s ease;transform-origin:center}.custom-alert.closing{animation:swal2-hide .15s forwards}.custom-alert-close{position:absolute;top:12px;right:12px;width:28px;height:28px;border-radius:var(--radius-sm);display:grid;place-items:center;color:var(--ink-400);transition:background .12s,color .12s}.custom-alert-close:hover{background:var(--ink-100);color:var(--ink-900)}.custom-alert-icon{display:flex;justify-content:center;margin-bottom:16px}.custom-alert-WARNING .custom-alert-icon{color:var(--warn)}.custom-alert-SUCCESS .custom-alert-icon{color:var(--ok)}.custom-alert-ERROR .custom-alert-icon{color:var(--danger)}.custom-alert-INFO .custom-alert-icon{color:var(--info)}.custom-alert-QUESTION .custom-alert-icon{color:var(--accent)}.custom-alert-title{font-size:18px;font-weight:600;text-align:center;color:var(--ink-900);margin-bottom:8px}.custom-alert-content{text-align:center;color:var(--ink-600,var(--ink-500));font-size:13.5px;margin-bottom:24px}.custom-alert-content p{margin:0}.custom-alert-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.custom-alert-button{height:34px;padding:0 16px;border-radius:var(--radius-sm);font-size:13px;font-weight:500;transition:background .12s,color .12s;border:1px solid transparent}.custom-alert-confirm{background:var(--accent);color:var(--accent-ink)}.custom-alert-confirm:hover{background:var(--accent-strong)}.custom-alert-cancel{background:var(--paper);border-color:var(--ink-200);color:var(--ink-900)}.custom-alert-cancel:hover{background:var(--ink-50);border-color:var(--ink-300)}.custom-alert-timer{position:absolute;bottom:0;left:0;height:3px;background:var(--accent);width:100%;transform-origin:left}.pg-btn{width:28px;height:28px;border-radius:var(--radius-sm);font-size:12px;font-weight:500;color:var(--ink-700);display:grid;place-items:center;border:1px solid transparent;flex:0 0 auto;transition:background .12s,color .12s,border-color .12s}.pg-btn:hover:not(:disabled){background:var(--ink-100);color:var(--ink-900)}.pg-btn:disabled{opacity:.35;cursor:not-allowed}.pg-btn-active{color:#fff;border-color:var(--ink-900)}.pg-btn-active,.pg-btn-active:hover{background:var(--ink-900)}.tweaks-panel{position:fixed;bottom:20px;right:20px;width:min(280px,calc(100vw - 24px));background:var(--paper);border:1px solid var(--ink-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop);z-index:80;overflow:hidden}.tweaks-head{padding:12px 14px;border-bottom:1px solid var(--ink-150);display:flex;align-items:center;gap:8px;background:var(--ink-50)}.tweaks-title{font-size:13px;font-weight:600;flex:1;color:var(--ink-900)}.tweaks-body{padding:12px 14px;gap:14px}.tweak-row,.tweaks-body{display:flex;flex-direction:column}.tweak-row{gap:6px}.tweak-row>label{font-size:11.5px;font-weight:600;color:var(--ink-500);text-transform:uppercase;letter-spacing:.04em}.swatch-row{display:flex;gap:6px;flex-wrap:wrap}.swatch{width:22px;height:22px;border-radius:6px;border:2px solid var(--paper);outline:1px solid var(--ink-200);cursor:pointer;transition:transform .12s,outline-color .12s}.swatch:hover{transform:scale(1.08)}.swatch.selected{outline:2px solid var(--ink-900)}.seg{display:inline-flex;border:1px solid var(--ink-200);border-radius:var(--radius-sm);overflow:hidden;background:var(--paper);width:-moz-fit-content;width:fit-content}.seg button{padding:6px 10px;font-size:12px;color:var(--ink-700);border-right:1px solid var(--ink-200);transition:background .12s}.seg button:last-child{border-right:0}.seg button.on{background:var(--ink-900);color:#fff}.seg button:not(.on):hover{background:var(--ink-50)}.hstack{align-items:center}.hstack,.vstack{display:flex;gap:8px}.vstack{flex-direction:column}.mono{font-family:var(--font-mono)}.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.muted{color:var(--ink-500)}.right{margin-left:auto}.sep-v{width:1px;height:20px;background:var(--ink-200)}@media (max-width:1100px){.split-grid{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.roles-layout{grid-template-columns:240px 1fr}.matrix-header,.matrix-row{grid-template-columns:1fr 60px 60px 60px 120px}}@media (max-width:820px){:root{--sidebar-w:280px;--topbar-h:52px}.app-body{display:block;position:relative}.sidebar{position:fixed;top:var(--topbar-h);left:0;height:calc(100vh - var(--topbar-h));width:var(--sidebar-w);transform:translateX(-100%);box-shadow:var(--shadow-pop)}.sidebar.open{transform:translateX(0)}.app.sidebar-collapsed .app-body{grid-template-columns:none}.sidebar-scrim.open{display:block;opacity:1;pointer-events:auto}.sidebar-scrim{display:block}.app.sidebar-collapsed .sidebar-nav{padding:6px 8px 16px}.app.sidebar-collapsed .nav-item{justify-content:flex-start;padding:7px 10px;gap:10px}.app.sidebar-collapsed .nav-item .nav-label{display:inline}.app.sidebar-collapsed .nav-item.active:before{left:-8px;top:6px;bottom:6px}.app.sidebar-collapsed .nav-group-label{display:block}.app.sidebar-collapsed .sidebar-foot{display:flex}.topbar-logo,.topbar-sep{display:none}.module-trigger-label{max-width:80px}.topbar-search{position:static;flex:1 1 auto;max-width:none}.topbar-search .kbd,.topbar-search .search-icon,.topbar-search input{display:none}.topbar-search.mobile-open{position:absolute;inset:0;background:var(--paper);padding:10px 12px;z-index:35;display:flex;align-items:center}.topbar-search.mobile-open input{display:block;height:36px}.topbar-search.mobile-open .search-icon{display:block;left:24px}.topbar-mobile-only{display:inline-flex}.topbar-desktop-only{display:none}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page{padding:16px 14px 40px}.page-head{flex-direction:column;align-items:stretch;gap:10px}.page-title{font-size:18px}.roles-layout{grid-template-columns:1fr}.matrix-header{display:none}.matrix-row{grid-template-columns:1fr auto;gap:6px;padding:10px 12px 10px 28px}.matrix-row>.perm-action:nth-child(2),.matrix-row>.perm-action:nth-child(3),.matrix-row>.perm-action:nth-child(4){display:none}.matrix-row>.perm-action:last-child{grid-column:2;justify-self:end}.matrix-group-head{padding:10px 12px}.matrix-group-count .badge{display:none}.card-body,.card-head{padding:12px}.drawer{width:100vw;max-width:100vw}.tweaks-panel{width:auto}.toast-wrap,.tweaks-panel{bottom:12px;right:12px;left:12px}.toast{min-width:0;width:100%}.kpi-value{font-size:22px}}@media (max-width:480px){.kpi-grid{grid-template-columns:1fr}.btn-sm .btn-label-opt,.module-trigger-label{display:none}.unsaved-bar{flex-direction:column;align-items:stretch}.unsaved-bar .actions{margin-left:0}.unsaved-bar .btn{flex:1;justify-content:center}}.progress-bar{position:relative;overflow:hidden;background-color:rgba(255,0,0,.7)}.progress-bar.animated:after{position:absolute;top:0;right:0;bottom:0;left:0;transform:translateX(-100%);background-image:linear-gradient(90deg,#e9e9e9,hsla(0,0%,91%,.9) 50%,hsla(0,0%,91%,.8));animation:barAnim 3s ease-out infinite;content:""}@keyframes barAnim{to{transform:translateX(0);opacity:0}}.tp-checkbox{transform:translateY(-3px)}.tp-checkbox input{display:none}.tp-checkbox input:checked~label:after{background-color:#0989ff;border-color:#0989ff}.tp-checkbox input:checked~label:before{visibility:visible;opacity:1}.tp-checkbox label{font-size:15px;color:#55585b;position:relative;padding-left:26px;z-index:1}.tp-checkbox label.text-tiny{font-size:13px}.tp-checkbox label:after{content:"";border:1px solid #e4e4e4;z-index:-1;border-radius:4px}.tp-checkbox label:after,.tp-checkbox label:before{position:absolute;top:4px;left:0;width:18px;height:18px;line-height:16px;text-align:center;transition:all .2s ease-out 0s}.tp-checkbox label:before{content:url(/_next/static/media/check.3dca4556.svg);visibility:hidden;opacity:0;color:#fff}.tp-checkbox label a:hover{color:#0989ff}.tp-checkbox label:hover{cursor:pointer}.tp-checkbox-secondary input{display:none}.tp-checkbox-secondary label{display:block}.tp-checkbox-secondary input:checked~span:after{background-color:#0989ff;border-color:#0989ff}.tp-checkbox-secondary input:checked~span:before{visibility:visible;opacity:1}.tp-checkbox-secondary span{font-size:15px;color:#55585b;position:relative;padding-left:26px;z-index:1}.tp-checkbox-secondary span:after{content:"";border:1px solid #e4e4e4;z-index:-1;border-radius:4px}.tp-checkbox-secondary span:after,.tp-checkbox-secondary span:before{position:absolute;top:4px;left:0;width:18px;height:18px;line-height:16px;text-align:center;transition:all .2s ease-out 0s}.tp-checkbox-secondary span:before{content:url(/_next/static/media/check.3dca4556.svg);visibility:hidden;opacity:0;color:#fff}.tp-checkbox-secondary span a:hover{color:#0989ff}.tp-checkbox-secondary span:hover{cursor:pointer}.select-bordered .choices[data-type*=select-one]:after{right:15px}.select-bordered .choices__inner{height:44px;border:1px solid #e4e4e4;border-radius:6px;padding-left:15px!important}.profile-gender-select.select-bordered .choices__inner{border:1px solid #eff2f5;height:49px}.profile-gender-select.select-bordered .choices__list--single{height:49px;line-height:47px}.offcanvas-area.offcanvas-opened{transform:translateX(0)}.body-overlay.opened{visibility:visible;opacity:.7}.tpSlideDownTarget{transition:height .35s ease-in-out;overflow:hidden}.tpSlideDownTarget:not(.active){display:none}.tpSlideDownBtn.active{background-color:red}.tpSlideDownBtn.active .dropdown-arrow{transform:rotate(90deg)}.choices[data-type*=select-one]:after{border:0;background-color:transparent;transform:translateY(-50%);margin-top:0;right:0;content:"";transform-origin:center;color:#616266;font-weight:500;height:auto;width:auto;transition:transform .2s ease-in-out;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #777778;top:48%}.choices.is-open[data-type*=select-one]:after{transform:translateY(-50%) rotate(-180deg)}.choices[data-type*=select-one].is-open:after{border-left-color:transparent;border-right-color:transparent;border-top-color:#777778;margin-top:0}.choices__inner{min-width:75px;height:38px;background-color:transparent;border:none;border-radius:6px;padding-right:16px!important;transition:all .3s ease-in-out;padding:0;font-size:12px;font-weight:500}.choices.is-focused .choices__inner{background-color:transparent;border-color:#eff2f5}.choices.is-open .choices__inner{background-color:transparent;border-color:1px solid #eff2f5}.choices__item.choices__item--selectable{color:#121420}.choices__list--single{padding:0;height:44px;line-height:42px}.choices__list--dropdown,.choices__list[aria-expanded]{transition:all .3s ease-in-out;visibility:hidden;opacity:0}.is-active.choices__list--dropdown,.is-active.choices__list[aria-expanded]{visibility:visible;opacity:1}.is-flipped.is-open .choices__inner{border-radius:6px}.choices__list--dropdown,.choices__list[aria-expanded],.is-flipped .choices__list[aria-expanded]{background-color:#fff;border:1px solid #eff2f5;border-radius:6px;min-width:150px}.choices__list--dropdown .choices__item,.choices__list[aria-expanded] .choices__item{padding:0 0 3px 16px;color:#777778}.choices__list.choices__list--dropdown{padding:8px 0;left:auto;right:0}.choices[data-type*=select-one] .choices__input{display:none}.choices__item.choices__item--choice.is-selected,.choices__item.choices__item--choice:hover{color:#0989ff}.choices__list--dropdown .choices__item--selectable.is-highlighted:after,.choices__list[aria-expanded] .choices__item--selectable.is-highlighted:after,.choices__placeholder{opacity:1}.is-open .choices__list--dropdown,.is-open .choices__list[aria-expanded]{border-color:#eff2f5}.choices__list--dropdown .choices__item--selectable.is-highlighted,.choices__list[aria-expanded] .choices__item--selectable.is-highlighted{color:#0989ff}.tags-input-wrapperss{background:transparent;padding:10px;border-radius:4px;max-width:400px;border:1px solid #ccc}.tags-input-wrapper input{background:transparent;outline:none;width:100%;padding:5px 20px;border:1px solid #eff2f5;border-radius:6px;margin-top:5px}.tags-input-wrapper input:focus{border-color:#0989ff}.tags-input-wrapper .tag{display:inline-block;background-color:#f4f4f4;color:#010f1c;border-radius:6px;padding:5px 3px 2px 13px;margin-right:5px;margin-bottom:5px;line-height:1}.tags-input-wrapper .tag b{margin:0 7px 3px;display:inline-block;cursor:pointer;font-weight:400}.chart-tab-btn:focus{border:0;outline:0;box-shadow:0}.tp-product-tags .rti--container{border:0!important}.tp-product-tags .rti--container:focus,.tp-product-tags .rti--container:focus-visible{border:0!important;box-shadow:none!important;outline:0!important}.tp-product-tags .rti--input{border:1px solid#eff2f5}.tp-product-tags .rti--input:focus{border-color:#0989ff}.rti--container{padding:0!important;border-radius:6px!important}.rti--input{width:100%!important;border-radius:6px!important;height:44px;padding:0 1.5rem;border:1px solid#eff2f5}:root{--toastify-color-light:#fff;--toastify-color-dark:#121212;--toastify-color-info:#3498db;--toastify-color-success:#07bc0c;--toastify-color-warning:#f1c40f;--toastify-color-error:#e74c3c;--toastify-color-transparent:hsla(0,0%,100%,.7);--toastify-icon-color-info:var(--toastify-color-info);--toastify-icon-color-success:var(--toastify-color-success);--toastify-icon-color-warning:var(--toastify-color-warning);--toastify-icon-color-error:var(--toastify-color-error);--toastify-toast-width:320px;--toastify-toast-offset:16px;--toastify-toast-top:max(var(--toastify-toast-offset),env(safe-area-inset-top));--toastify-toast-right:max(var(--toastify-toast-offset),env(safe-area-inset-right));--toastify-toast-left:max(var(--toastify-toast-offset),env(safe-area-inset-left));--toastify-toast-bottom:max(var(--toastify-toast-offset),env(safe-area-inset-bottom));--toastify-toast-background:#fff;--toastify-toast-min-height:64px;--toastify-toast-max-height:800px;--toastify-toast-bd-radius:6px;--toastify-font-family:sans-serif;--toastify-z-index:9999;--toastify-text-color-light:#757575;--toastify-text-color-dark:#fff;--toastify-text-color-info:#fff;--toastify-text-color-success:#fff;--toastify-text-color-warning:#fff;--toastify-text-color-error:#fff;--toastify-spinner-color:#616161;--toastify-spinner-color-empty-area:#e0e0e0;--toastify-color-progress-light:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55);--toastify-color-progress-dark:#bb86fc;--toastify-color-progress-info:var(--toastify-color-info);--toastify-color-progress-success:var(--toastify-color-success);--toastify-color-progress-warning:var(--toastify-color-warning);--toastify-color-progress-error:var(--toastify-color-error);--toastify-color-progress-bgo:0.2}.Toastify__toast-container{z-index:var(--toastify-z-index);-webkit-transform:translateZ(var(--toastify-z-index));position:fixed;padding:4px;width:var(--toastify-toast-width);box-sizing:border-box;color:#fff}.Toastify__toast-container--top-left{top:var(--toastify-toast-top);left:var(--toastify-toast-left)}.Toastify__toast-container--top-center{top:var(--toastify-toast-top);left:50%;transform:translateX(-50%)}.Toastify__toast-container--top-right{top:var(--toastify-toast-top);right:var(--toastify-toast-right)}.Toastify__toast-container--bottom-left{bottom:var(--toastify-toast-bottom);left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{bottom:var(--toastify-toast-bottom);left:50%;transform:translateX(-50%)}.Toastify__toast-container--bottom-right{bottom:var(--toastify-toast-bottom);right:var(--toastify-toast-right)}@media only screen and (max-width:480px){.Toastify__toast-container{width:100vw;padding:0;left:env(safe-area-inset-left);margin:0}.Toastify__toast-container--top-center,.Toastify__toast-container--top-left,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translateX(0)}.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translateX(0)}.Toastify__toast-container--rtl{right:env(safe-area-inset-right);left:auto}}.Toastify__toast{--y:0;position:relative;touch-action:none;min-height:var(--toastify-toast-min-height);box-sizing:border-box;margin-bottom:1rem;padding:8px;border-radius:var(--toastify-toast-bd-radius);box-shadow:0 4px 12px rgba(0,0,0,.1);display:flex;justify-content:space-between;max-height:var(--toastify-toast-max-height);font-family:var(--toastify-font-family);cursor:default;direction:ltr;z-index:0;overflow:hidden}.Toastify__toast--stacked{position:absolute;width:100%;transform:translate3d(0,var(--y),0) scale(var(--s));transition:transform .3s}.Toastify__toast--stacked[data-collapsed] .Toastify__close-button,.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{content:"";position:absolute;left:0;right:0;height:calc(var(--g) * 1px);bottom:100%}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{content:"";position:absolute;left:0;right:0;bottom:0;height:100%;transform:scaleY(3);z-index:-1}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-body{margin:auto 0;flex:1 1 auto;padding:6px;display:flex;align-items:center}.Toastify__toast-body>div:last-child{word-break:break-word;flex:1}.Toastify__toast-icon{margin-inline-end:10px;width:20px;flex-shrink:0;display:flex}.Toastify--animate{animation-fill-mode:both;animation-duration:.5s}.Toastify--animate-icon{animation-fill-mode:both;animation-duration:.3s}@media only screen and (max-width:480px){.Toastify__toast{margin-bottom:0;border-radius:0}}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--colored.Toastify__toast--default,.Toastify__toast-theme--light{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{color:var(--toastify-text-color-info);background:var(--toastify-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{color:var(--toastify-text-color-success);background:var(--toastify-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{color:var(--toastify-text-color-warning);background:var(--toastify-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{color:var(--toastify-text-color-error);background:var(--toastify-color-error)}.Toastify__progress-bar-theme--light{background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning{background:var(--toastify-color-transparent)}.Toastify__close-button{color:#fff;background:transparent;outline:none;border:none;padding:0;cursor:pointer;opacity:.7;transition:.3s ease;align-self:flex-start;z-index:1}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:focus,.Toastify__close-button:hover{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{position:absolute;bottom:0;left:0;width:100%;height:100%;z-index:var(--toastify-z-index);opacity:.7;transform-origin:left;border-bottom-left-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:auto;transform-origin:right;border-bottom-left-radius:0;border-bottom-right-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp{position:absolute;bottom:0;left:0;width:100%;height:5px;border-bottom-left-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{opacity:var(--toastify-color-progress-bgo);width:100%;height:100%}.Toastify__spinner{width:20px;height:20px;box-sizing:border-box;border:2px solid;border-radius:100%;border-color:var(--toastify-spinner-color-empty-area);border-right-color:var(--toastify-spinner-color);animation:Toastify__spin .65s linear infinite}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,var(--y),0)}to{opacity:0;transform:translate3d(2000px,var(--y),0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,var(--y),0)}to{opacity:0;transform:translate3d(-2000px,var(--y),0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--bottom-left,.Toastify__bounce-enter--top-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--bottom-right,.Toastify__bounce-enter--top-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--bottom-left,.Toastify__bounce-exit--top-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--bottom-right,.Toastify__bounce-exit--top-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:translate3d(0,var(--y),0) scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotateX(10deg);opacity:1}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0,var(--y),0) perspective(400px)}30%{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(-20deg);opacity:1}to{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(110%,var(--y),0)}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(-110%,var(--y),0)}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,500px,0)}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,-500px,0)}}.Toastify__slide-enter--bottom-left,.Toastify__slide-enter--top-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--bottom-right,.Toastify__slide-enter--top-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--bottom-left,.Toastify__slide-exit--top-left{animation-name:Toastify__slideOutLeft;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--bottom-right,.Toastify__slide-exit--top-right{animation-name:Toastify__slideOutRight;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown;animation-timing-function:ease-in;animation-duration:.3s}@keyframes Toastify__spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}