:root{color-scheme:dark;--primary: #22c55e;--primary-dark: #16a34a;--primary-darker: #14532d;--primary-light: rgba(34, 197, 94, .18);--primary-soft: rgba(34, 197, 94, .1);--primary-glow: rgba(34, 197, 94, .22);--brand: #ffffff;--brand-2: #e5e5e5;--brand-light: #a3a3a3;--accent: #60a5fa;--accent-light: rgba(96, 165, 250, .14);--accent-dark: #3b82f6;--purple: #a78bfa;--purple-light: rgba(167, 139, 250, .14);--orange: #fb923c;--orange-light: rgba(251, 146, 60, .14);--pink: #f472b6;--pink-light: rgba(244, 114, 182, .14);--teal: #2dd4bf;--teal-light: rgba(45, 212, 191, .14);--background: #0a0a0a;--background-2: #0f0f0f;--surface: #141414;--surface-2: #1a1a1a;--surface-3: #222222;--text-primary: #ffffff;--text-secondary: #a0a0a0;--text-muted: #6b6b6b;--text-on-primary: #0a0a0a;--border: rgba(255, 255, 255, .06);--border-strong: rgba(255, 255, 255, .1);--divider: rgba(255, 255, 255, .04);--success: #22c55e;--success-light: rgba(34, 197, 94, .14);--success-dark: #4ade80;--warning: #f59e0b;--warning-light: rgba(245, 158, 11, .14);--warning-dark: #fbbf24;--error: #ef4444;--error-light: rgba(239, 68, 68, .14);--error-dark: #f87171;--info: #60a5fa;--info-light: rgba(96, 165, 250, .14);--info-dark: #93c5fd;--radius-sm: 12px;--radius-md: 16px;--radius-lg: 20px;--radius-xl: 24px;--shadow-xs: none;--shadow-sm: 0 1px 0 rgba(255, 255, 255, .04);--shadow-md: 0 12px 32px rgba(0, 0, 0, .45);--shadow-lg: 0 24px 48px rgba(0, 0, 0, .55);--shadow-primary: 0 8px 24px rgba(34, 197, 94, .18);--transition-fast: .12s ease;--transition: .18s cubic-bezier(.4, 0, .2, 1);--header-height: 72px;font-family:DM Sans,Inter,system-ui,-apple-system,sans-serif;line-height:1.45;font-weight:400;color:var(--text-primary);background-color:var(--background);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;background-color:var(--background)}a{color:inherit;text-decoration:none}h1,h2,h3,h4{font-family:Manrope,DM Sans,system-ui,sans-serif;color:var(--text-primary);letter-spacing:-.02em}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#333;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#444}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes drawArc{0%{stroke-dashoffset:var(--arc-circumference, 360)}}.app-shell{display:flex;flex-direction:column;min-height:100vh;background:var(--background)}.app-header{position:sticky;top:0;z-index:40;flex-shrink:0;background:#0a0a0ae0;-webkit-backdrop-filter:blur(20px) saturate(150%);backdrop-filter:blur(20px) saturate(150%);border-bottom:1px solid var(--border)}.app-header-bar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1.5rem;min-height:var(--header-height);padding:0 1.75rem;max-width:1600px;margin:0 auto;width:100%}.app-header-brand{display:flex;align-items:center;flex-shrink:0}.app-header-logo-plain{display:block;object-fit:contain}.app-header-nav{display:flex;align-items:center;justify-content:center;gap:.65rem;min-width:0;overflow-x:auto;scrollbar-width:none;padding:.15rem 0}.app-header-nav::-webkit-scrollbar{display:none}.header-nav-link{display:inline-flex;align-items:center;padding:.4rem .15rem;font-size:.88rem;font-weight:500;color:var(--text-muted);white-space:nowrap;transition:var(--transition-fast);background:transparent}.header-nav-link:hover{color:var(--text-secondary);background:transparent}.header-nav-link.active{color:#fff;background:transparent;border:none;font-weight:600}.app-header-actions{display:flex;align-items:center;gap:.45rem;flex-shrink:0}.app-header-date{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem .85rem;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);font-size:.8rem;font-weight:500;white-space:nowrap}.header-icon-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:2.45rem;height:2.45rem;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);cursor:pointer;transition:var(--transition-fast)}.header-icon-btn:hover{color:var(--text-primary);border-color:var(--border-strong);background:var(--surface-2)}.header-icon-dot{position:absolute;top:7px;right:7px;width:6px;height:6px;border-radius:999px;background:var(--error);border:2px solid var(--surface)}.app-header-user{display:inline-flex;align-items:center;gap:.55rem;padding:.32rem .65rem .32rem .32rem;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:inherit;cursor:default;font:inherit}.app-header-user-chevron{color:var(--text-muted);flex-shrink:0}.app-header-avatar{width:30px;height:30px;border-radius:999px;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;font-size:.78rem;font-weight:800}.app-header-user-text{display:flex;flex-direction:column;align-items:flex-start;min-width:0;line-height:1.15}.app-header-user-text span{font-size:.78rem;font-weight:600;white-space:nowrap}.app-header-user-text small{font-size:.66rem;color:var(--text-muted)}.header-menu-btn{display:none;align-items:center;justify-content:center;width:2.15rem;height:2.15rem;border-radius:11px;border:1px solid var(--border);background:var(--surface);color:var(--text-primary);cursor:pointer}.header-mobile-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;top:var(--header-height);background:#0000008c;z-index:38;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.app-header-mobile-nav{position:absolute;top:100%;left:0;right:0;z-index:39;max-height:calc(100vh - var(--header-height));overflow-y:auto;background:var(--surface);border-bottom:1px solid var(--border);padding:.75rem 1rem 1.25rem;box-shadow:var(--shadow-lg)}.header-mobile-group+.header-mobile-group{margin-top:.85rem;padding-top:.85rem;border-top:1px solid var(--divider)}.header-mobile-group-title{margin:0 0 .35rem;padding:0 .35rem;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.app-header-mobile-nav .header-nav-link{display:flex;width:100%;border-radius:var(--radius-md);margin-bottom:.15rem}.content{flex:1;min-width:0;overflow-y:auto;overflow-x:hidden;padding:1.5rem 1.75rem 2.75rem;animation:fadeIn .2s ease;max-width:1600px;margin:0 auto;width:100%}.content>section,.content>*{max-width:1440px;margin-left:auto;margin-right:auto}.page-header{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end;justify-content:space-between;margin-bottom:1.25rem}.page-header-main{display:flex;gap:.8rem;align-items:center;min-width:0}.page-header-icon{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary-dark);flex-shrink:0;border:1px solid var(--primary-light)}.page-header-text{min-width:0}.page-header h2{margin:0;font-size:1.45rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.page-header p{margin:.3rem 0 0;color:var(--text-secondary);font-size:.9rem;max-width:70ch}.page-header-actions{display:flex;gap:.5rem;flex-wrap:wrap}.stat-section{margin-bottom:1.3rem}.stat-section-header{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;margin-bottom:.7rem}.stat-section-title{margin:0 0 .25rem;font-size:1rem;font-weight:700;color:var(--text-primary);letter-spacing:-.012em}.stat-section-desc{margin:0 0 .8rem;font-size:.84rem;color:var(--text-secondary)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.7rem}.stat-card{position:relative;background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);padding:1rem 1.1rem;display:flex;flex-direction:column;gap:.35rem;overflow:hidden;transition:border-color var(--transition-fast),transform var(--transition-fast)}.stat-card:hover{border-color:var(--border-strong)}.stat-card-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.15rem}.stat-card-icon{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;flex-shrink:0;background:var(--primary-soft);color:var(--primary-dark)}.stat-card-icon.tone-primary{background:var(--primary-soft);color:var(--primary-dark)}.stat-card-icon.tone-blue{background:var(--accent-light);color:var(--accent-dark)}.stat-card-icon.tone-purple{background:var(--purple-light);color:var(--purple)}.stat-card-icon.tone-orange{background:var(--orange-light);color:var(--orange)}.stat-card-icon.tone-pink{background:var(--pink-light);color:var(--pink)}.stat-card-icon.tone-teal{background:var(--teal-light);color:var(--teal)}.stat-card-icon.tone-amber{background:var(--warning-light);color:var(--warning-dark)}.stat-card-icon.tone-red{background:var(--error-light);color:var(--error-dark)}.stat-card-trend{display:inline-flex;align-items:center;gap:.2rem;font-size:.74rem;font-weight:600;padding:.12rem .45rem;border-radius:999px}.stat-card-trend.up{background:var(--success-light);color:var(--success-dark)}.stat-card-trend.down{background:var(--error-light);color:var(--error-dark)}.stat-label{margin:0;color:var(--text-secondary);font-size:.85rem;font-weight:500}.stat-value{margin:0;font-family:Manrope,sans-serif;font-size:1.5rem;font-weight:700;line-height:1.1;color:var(--text-primary);letter-spacing:-.022em}.stat-sub{margin:0;font-size:.78rem;color:var(--text-muted)}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.85rem;margin-bottom:1.4rem}.kpi-card{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);padding:1.2rem 1.25rem;display:flex;flex-direction:column;gap:.5rem;position:relative;overflow:hidden}.kpi-card-header{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.kpi-card-label{font-size:.85rem;color:var(--text-secondary);font-weight:500;margin:0}.kpi-card-icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary-dark);flex-shrink:0}.kpi-card-value{margin:0;font-family:Manrope,sans-serif;font-size:1.85rem;font-weight:800;letter-spacing:-.025em;color:var(--text-primary);line-height:1.05}.kpi-card-foot{display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--text-muted)}.panel{background:var(--surface);border-radius:var(--radius-xl);border:1px solid var(--border);padding:1.15rem 1.25rem;box-shadow:var(--shadow-sm)}.panel+.panel{margin-top:.85rem}.panel h3,.panel h4{margin:0 0 .75rem;font-size:1rem;font-weight:700;letter-spacing:-.012em}.panel-subsection{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--divider)}.panel-form{max-width:42rem}.panel-wide{max-width:none}.panel.error{border-color:var(--error);color:var(--error-dark);background:var(--error-light)}.panel-title-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.85rem}.panel-title-row h3,.panel-title-row h4{margin:0}.endpoint-list{margin:0;padding-left:1rem;display:grid;gap:.45rem}.charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:.85rem;margin-bottom:1.3rem}.chart-card{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);padding:1.15rem 1.25rem}.chart-card-header{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;margin-bottom:.85rem}.chart-card-title{margin:0;font-size:.98rem;font-weight:700}.chart-card-sub{font-size:.78rem;color:var(--text-muted)}.donut-wrap{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap}.donut-svg{flex-shrink:0;position:relative}.donut-svg svg{display:block}.donut-center{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;text-align:center;pointer-events:none}.donut-center-value{font-family:Manrope,sans-serif;font-size:1.35rem;font-weight:800;line-height:1;color:var(--text-primary)}.donut-center-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-top:4px}.chart-legend{flex:1;min-width:130px;display:grid;gap:.45rem}.chart-legend-item{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:.55rem;font-size:.86rem}.chart-legend-dot{width:10px;height:10px;border-radius:4px}.chart-legend-label{color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chart-legend-value{color:var(--text-primary);font-weight:700;font-variant-numeric:tabular-nums}.bars-list{display:grid;gap:.7rem}.bar-row{display:grid;grid-template-columns:1fr auto;gap:.4rem;align-items:center}.bar-row-label{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-secondary)}.bar-row-dot{width:8px;height:8px;border-radius:3px;flex-shrink:0}.bar-row-value{font-size:.85rem;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.bar-row-track{grid-column:1 / -1;height:6px;border-radius:999px;background:var(--divider);overflow:hidden}.bar-row-fill{height:100%;border-radius:999px;transition:width .5s cubic-bezier(.4,0,.2,1)}.progress-row{display:grid;gap:.35rem}.progress-row-top{display:flex;justify-content:space-between;align-items:baseline;font-size:.85rem}.progress-row-label{color:var(--text-secondary)}.progress-row-value{color:var(--text-primary);font-weight:700;font-variant-numeric:tabular-nums}.progress-row-track{height:8px;border-radius:999px;background:var(--divider);overflow:hidden}.progress-row-fill{height:100%;border-radius:999px;background:var(--primary);transition:width .5s cubic-bezier(.4,0,.2,1)}.progress-row-fill.tone-blue{background:var(--accent)}.progress-row-fill.tone-amber{background:var(--warning)}.progress-row-fill.tone-red{background:var(--error)}.progress-row-fill.tone-purple{background:var(--purple)}.portal-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.home-page{display:flex;flex-direction:column;gap:1.25rem}.home-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.portal-kpi{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);padding:1.15rem 1.2rem 1rem;min-height:132px;display:flex;flex-direction:column;justify-content:space-between}.portal-kpi-menu{position:absolute;top:1rem;right:1rem;display:inline-flex;gap:3px;padding:.15rem;border:none;background:transparent;cursor:pointer;opacity:.35}.portal-kpi-menu span{width:4px;height:4px;border-radius:999px;background:var(--text-secondary)}.portal-kpi-main{display:flex;align-items:center;gap:.85rem;padding-right:1.5rem}.portal-kpi-icon{width:44px;height:44px;border-radius:999px;display:grid;place-items:center;flex-shrink:0}.portal-kpi-icon.tone-blue{background:#3b82f62e;color:#60a5fa}.portal-kpi-icon.tone-purple{background:#8b5cf62e;color:#a78bfa}.portal-kpi-icon.tone-green{background:#22c55e2e;color:#4ade80}.portal-kpi-icon.tone-red{background:#f871712e;color:#f87171}.portal-kpi-icon.tone-muted{background:#a3a3a31f;color:var(--text-muted)}.portal-kpi-label{margin:0;font-size:.8rem;color:var(--text-secondary);font-weight:500}.portal-kpi-value{margin:.3rem 0 0;font-family:Manrope,sans-serif;font-size:1.75rem;font-weight:800;letter-spacing:-.035em;line-height:1}.portal-kpi-foot{display:flex;justify-content:flex-end;margin-top:.65rem}.portal-kpi-trend{display:inline-flex;align-items:center;gap:.2rem;padding:.22rem .5rem;border-radius:999px;font-size:.72rem;font-weight:700}.portal-kpi-trend.up{background:#22c55e1f;color:#4ade80}.portal-kpi-trend.down{background:#ef44441f;color:#f87171}.portal-kpi-muted{font-size:.72rem;color:var(--text-muted)}.home-main-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.72fr);gap:1rem;align-items:start}.home-growth-stack{display:flex;flex-direction:column;gap:.85rem}.finance-panel{padding:1.15rem 1.2rem 1.25rem}.finance-panel-toolbar{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.finance-panel-tabs{display:inline-flex;flex-shrink:0;gap:.35rem;padding:.28rem;border-radius:999px;background:var(--surface-2);border:1px solid var(--border)}.finance-panel-tab{border:none;background:transparent;color:var(--text-muted);font:inherit;font-size:.82rem;font-weight:600;padding:.5rem 1rem;border-radius:999px;cursor:pointer;transition:var(--transition-fast)}.finance-panel-tab.active{background:var(--surface-3);color:var(--text-primary)}.finance-panel-search-row{display:flex;align-items:center;gap:.55rem;flex:1;justify-content:flex-end;min-width:0;max-width:22rem;margin-left:auto}.finance-panel-search{flex:1;display:flex;align-items:center;gap:.55rem;padding:.62rem .95rem;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted)}.finance-panel-search input{flex:1;border:none;background:transparent;color:var(--text-primary);font:inherit;font-size:.86rem;outline:none}.finance-panel-search input::placeholder{color:var(--text-muted)}.finance-panel-filter{width:2.65rem;height:2.65rem;border-radius:999px;border:1px solid var(--border);background:var(--surface-2);color:var(--text-secondary);display:grid;place-items:center;cursor:pointer}.finance-panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.85rem}.finance-panel-head h3{margin:0;font-size:1rem;font-weight:700}.finance-panel-head a{font-size:.82rem;font-weight:600;color:var(--text-secondary)}.finance-panel-head a:hover{color:var(--text-primary)}.finance-panel-empty{padding:2.5rem 1rem;text-align:center;color:var(--text-muted);font-size:.88rem}.finance-panel-track{display:flex;gap:.85rem;overflow-x:auto;padding-bottom:.35rem;scroll-snap-type:x mandatory;scrollbar-width:thin}.portal-ticket{flex:0 0 min(320px,88vw);scroll-snap-align:start;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1rem 1.05rem;display:flex;flex-direction:column;gap:.9rem}.portal-ticket-route{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.45rem}.portal-ticket-end{font-family:Manrope,sans-serif;font-size:1.05rem;font-weight:800;letter-spacing:-.02em;line-height:1.15;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-ticket-end.portal-ticket-amount{flex-shrink:0;overflow:visible;text-overflow:clip;white-space:nowrap}.portal-ticket-link{color:inherit;text-decoration:none}.portal-ticket-link:hover{color:#fff;text-decoration:underline}.portal-ticket-meta-link{display:block;font-size:.82rem;font-weight:700;color:#fff;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-ticket-meta-link:hover{text-decoration:underline}.portal-ticket-end:last-child{text-align:right}.portal-ticket-mid{display:flex;align-items:center;gap:.25rem;color:var(--text-muted)}.portal-ticket-dash{width:14px;height:1px;background:var(--border-strong)}.portal-ticket-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem}.portal-ticket-meta div{display:flex;flex-direction:column;gap:.2rem;min-width:0}.portal-ticket-meta span{font-size:.68rem;color:var(--text-muted)}.portal-ticket-meta strong{font-size:.78rem;font-weight:600;word-break:break-word}.portal-status.pending{color:#fbbf24}.portal-ticket-btn{width:100%;margin-top:auto;padding:.62rem .85rem;border:none;border-radius:999px;background:#fff;color:#0a0a0a;font:inherit;font-size:.84rem;font-weight:700;cursor:pointer;transition:var(--transition-fast)}.portal-ticket-btn:hover{background:#e5e5e5}.portal-growth{padding:1.15rem 1.2rem;min-height:148px}.portal-growth-layout{display:flex;align-items:stretch;gap:1rem;min-height:116px}.portal-growth-stat{display:flex;flex-direction:column;justify-content:space-between;flex:0 0 38%;min-width:0;padding:.1rem 0}.portal-growth-label{margin:0;font-size:.8rem;color:var(--text-secondary);font-weight:500;line-height:1.2}.portal-growth-total{margin:.35rem 0 auto;font-family:Manrope,DM Sans,sans-serif;font-size:1.72rem;font-weight:800;letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums;color:#fff}.portal-growth-badge{display:inline-flex;align-items:center;align-self:flex-start;gap:.22rem;margin-top:.65rem;padding:.24rem .52rem;border-radius:999px;font-size:.72rem;font-weight:700;font-variant-numeric:tabular-nums}.portal-growth-badge.up{background:#14532d8c;color:#4ade80}.portal-growth-badge.down{background:#7f1d1d73;color:#f87171}.portal-growth-chart{flex:1;min-width:0;display:flex;flex-direction:column;align-items:stretch;gap:.45rem;overflow:visible}.portal-growth{overflow:visible}.portal-growth-period{position:relative;display:inline-flex;align-items:center;align-self:flex-end;margin-left:auto}.portal-growth-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--text-secondary);padding:0 1.1rem 0 0;font:inherit;font-size:.78rem;font-weight:500;cursor:pointer;text-align:right}.portal-growth-select:focus{outline:none}.portal-growth-select option{background:var(--surface-2);color:var(--text-primary)}.portal-growth-period svg{position:absolute;right:0;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--text-muted)}.portal-growth-bars{flex:1;display:flex;align-items:flex-end;justify-content:flex-end;gap:.32rem;min-height:88px;padding-top:.15rem;overflow:visible}.portal-growth-bar-wrap{flex:1;max-width:12px;height:100%;display:flex;align-items:flex-end;justify-content:center;position:relative;cursor:pointer;outline:none}.portal-growth-bar-wrap.is-hovered .portal-growth-bar{opacity:1;filter:brightness(1.15)}.portal-growth-bar-wrap:focus-visible .portal-growth-bar{outline:2px solid rgba(255,255,255,.35);outline-offset:2px}.portal-growth-tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);z-index:5;min-width:9.5rem;max-width:13rem;padding:.55rem .65rem;border-radius:12px;background:#262626;border:1px solid rgba(255,255,255,.1);box-shadow:0 10px 28px #00000073;display:flex;flex-direction:column;gap:.2rem;pointer-events:none;white-space:normal;text-align:left}.portal-growth-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#262626}.portal-growth-tooltip-period{font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.portal-growth-tooltip strong{font-size:.76rem;font-weight:700;color:#fff;line-height:1.3}.portal-growth-tooltip-sub{font-size:.68rem;color:var(--text-secondary);line-height:1.3}.portal-growth-tooltip-value{margin-top:.15rem;font-size:.7rem;color:var(--text-secondary)}.portal-growth-tooltip-value em{font-style:normal;font-weight:700;color:#fff}.portal-growth-bar{width:100%;border-radius:999px 999px 4px 4px;min-height:4px;transition:height .25s ease,opacity .15s ease,filter .15s ease;opacity:.88}.portal-growth-bar.is-zero{min-height:0;opacity:0}.portal-growth.variant-slate .portal-growth-bar{background:#9aa8b8}.portal-growth.variant-pink .portal-growth-bar{background:#c4b5fd}@media (max-width: 1200px){.home-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-main-grid{grid-template-columns:1fr}}@media (max-width: 640px){.home-kpi-grid,.portal-ticket-meta{grid-template-columns:1fr}}.dashboard-ops{display:flex;flex-direction:column;gap:1.25rem}.dashboard-section-title{margin:0;font-size:1.05rem;font-weight:700;color:var(--text-primary)}.dashboard-section-desc{margin:.2rem 0 0;font-size:.84rem}.dashboard-tasks{padding:1.1rem 1.15rem}.dashboard-tasks-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.9rem}.dashboard-tasks-badge{flex-shrink:0;font-size:.75rem;font-weight:700;color:var(--primary-dark);background:var(--primary-soft);padding:.3rem .65rem;border-radius:999px}.dashboard-tasks-empty{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem 1rem;text-align:center;color:var(--text-muted)}.dashboard-tasks-empty p{margin:0;font-size:.88rem}.dashboard-tasks-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem}.dashboard-task-card{display:flex;align-items:center;gap:.85rem;padding:.85rem .95rem;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-2);text-decoration:none;color:inherit;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.dashboard-task-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-1px)}.dashboard-task-icon{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;flex-shrink:0}.dashboard-task-icon.tone-red{background:#ef44441f;color:var(--error)}.dashboard-task-icon.tone-amber{background:#f59e0b24;color:var(--warning)}.dashboard-task-icon.tone-blue{background:#3b82f61f;color:var(--accent)}.dashboard-task-icon.tone-primary{background:var(--primary-soft);color:var(--primary-dark)}.dashboard-task-icon.tone-purple{background:#8b5cf61f;color:var(--purple)}.dashboard-task-body{flex:1;min-width:0}.dashboard-task-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.15rem}.dashboard-task-top h3{margin:0;font-size:.92rem;font-weight:700}.dashboard-task-body p{margin:0;font-size:.8rem;color:var(--text-muted);line-height:1.45}.dashboard-task-count{flex-shrink:0;min-width:1.75rem;height:1.75rem;padding:0 .45rem;border-radius:999px;background:var(--surface);border:1px solid var(--border);display:grid;place-items:center;font-size:.78rem;font-weight:800;color:var(--text-primary)}.dashboard-task-arrow{color:var(--text-muted);font-size:1.1rem;flex-shrink:0}.dashboard-stats{display:flex;flex-direction:column;gap:.75rem}.dashboard-stats-header{padding:0 .1rem}.stat-mini-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.55rem}.stat-mini{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:.75rem .85rem}.stat-mini-label{margin:0 0 .25rem;font-size:.72rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.stat-mini-value{margin:0;font-family:Manrope,sans-serif;font-size:1.35rem;font-weight:800;letter-spacing:-.02em;color:var(--text-primary);line-height:1.1}.stat-mini-delta{display:inline-block;margin-top:.2rem;font-size:.72rem;font-weight:700;color:var(--success)}.stat-mini-hint{margin:.25rem 0 0;font-size:.72rem;color:var(--text-muted);line-height:1.35}.dashboard-earnings{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding:.95rem 1.1rem}.dashboard-earnings-value{margin:.15rem 0;font-family:Manrope,sans-serif;font-size:1.5rem;font-weight:800;color:var(--primary-dark);letter-spacing:-.02em}.dashboard-earnings-desc{margin:0;font-size:.78rem}.dashboard-earnings-side{display:flex;flex-wrap:wrap;gap:1.25rem}.dashboard-earnings-side div{display:flex;flex-direction:column;gap:.15rem}.dashboard-earnings-side strong{font-family:Manrope,sans-serif;font-size:1rem;font-weight:800;color:var(--text-primary)}.finance-queues{display:grid;gap:1rem}.finance-queue-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.85rem}.finance-queue-header h3{margin:0 0 .25rem;font-size:1.05rem}.finance-queue-summary{display:flex;flex-direction:column;align-items:flex-end;gap:.15rem}.finance-queue-count{font-size:.8rem;color:var(--text-muted);font-weight:600}.finance-queue-total{font-family:Manrope,sans-serif;font-size:1.15rem;font-weight:800;color:var(--primary-dark)}.finance-queue-empty{padding:1.25rem 0;text-align:center}.finance-table td{vertical-align:top}.finance-card{font-size:.82rem;background:var(--background);padding:.2rem .45rem;border-radius:6px;border:1px solid var(--border);word-break:break-all}.toolbar{display:flex;gap:.65rem;justify-content:space-between;align-items:center;margin-bottom:.9rem;flex-wrap:wrap}.toolbar-search{position:relative;min-width:220px;max-width:320px;flex:1}.toolbar-search:before{content:"";position:absolute;left:.7rem;top:50%;transform:translateY(-50%);width:1rem;height:1rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;pointer-events:none}.toolbar-search .text-input{padding-left:2.1rem}.text-input,input[type=text].text-input,input[type=search].text-input,input[type=email].text-input,input[type=tel].text-input,input[type=number].text-input,input[type=password].text-input,input[type=date].text-input,input[type=time].text-input,input[type=datetime-local].text-input,select.text-input,textarea.text-input{width:100%;padding:.55rem .8rem;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text-primary);font:inherit;font-size:.9rem;transition:var(--transition-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none}select.text-input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a3a3a3' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .7rem center;background-size:1rem;padding-right:2.1rem}textarea.text-input{min-height:5rem;resize:vertical;line-height:1.5}.text-input:hover{border-color:var(--border-strong)}.text-input:focus{outline:3px solid var(--primary-glow);border-color:var(--primary)}.text-input::placeholder{color:var(--text-muted)}.toolbar .text-input{max-width:320px;min-width:180px}.pager{display:flex;align-items:center;gap:.55rem;padding:.9rem .1rem .05rem;flex-wrap:wrap}.pager-info{font-size:.84rem;color:var(--text-secondary)}.table-wrap{overflow-x:auto;border-radius:var(--radius-md);border:1px solid var(--border)}.table{width:100%;border-collapse:collapse}.table thead{background:var(--surface-2)}.table th{text-align:left;padding:.65rem .75rem;font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:1px solid var(--border);white-space:nowrap}.table td{border-bottom:1px solid var(--divider);text-align:left;padding:.65rem .75rem;font-size:.91rem;color:var(--text-primary);vertical-align:middle}.table tbody tr{transition:background var(--transition-fast)}.table tbody tr:hover{background:var(--surface-2)}.table tbody tr:last-child td{border-bottom:0}.row-actions{display:flex;gap:.35rem;flex-wrap:wrap}button,.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:1px solid var(--border);border-radius:9px;background:var(--surface);padding:.48rem .85rem;font:inherit;font-size:.88rem;font-weight:500;color:var(--text-primary);cursor:pointer;transition:var(--transition-fast);white-space:nowrap}button:hover:not(:disabled),.btn:hover:not(:disabled){border-color:var(--border-strong);background:var(--background)}button:focus-visible,.btn:focus-visible{outline:3px solid var(--primary-glow);outline-offset:1px}.btn-primary{background:var(--primary);border-color:var(--primary);color:var(--text-on-primary);font-weight:600}.btn-primary:hover:not(:disabled){background:var(--primary-dark);border-color:var(--primary-dark);color:var(--text-on-primary)}.btn-danger{background:var(--error);border-color:var(--error);color:#fff;font-weight:600}.btn-danger:hover:not(:disabled){background:var(--error-dark);border-color:var(--error-dark);color:#0a0a0a}.btn-soft-danger{border-color:var(--error-light);color:var(--error-dark);background:var(--error-light)}.btn-soft-danger:hover:not(:disabled){background:#fecaca;border-color:#fecaca;color:var(--error-dark)}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--background);border-color:transparent;color:var(--text-primary)}.btn-sm{padding:.32rem .65rem;font-size:.8rem;border-radius:7px}.active-filter,button.active-filter{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}.active-filter:hover:not(:disabled){background:var(--primary-dark);border-color:var(--primary-dark);color:#fff}button:disabled,.btn:disabled{opacity:.5;cursor:not-allowed}.users-toolbar-panel{margin-bottom:.9rem}.users-list-summary-title{margin-top:.9rem}.users-role-tabs{flex-wrap:wrap}.users-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:.5rem}.users-summary-card{border:1px solid var(--border);border-radius:10px;padding:.6rem .75rem;background:var(--surface);display:grid;gap:.15rem}.summary-label{color:var(--text-muted);font-size:.74rem;text-transform:uppercase;letter-spacing:.04em}.users-summary-card strong{font-family:Manrope,sans-serif;font-size:1.15rem;font-weight:700}.edit-form{display:grid;gap:.85rem;max-width:28rem}.edit-form label{display:grid;gap:.35rem;font-size:.84rem;font-weight:600;color:var(--text-secondary)}.edit-form label>:not(input[type=checkbox]){font-weight:400}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.85rem 1rem;align-items:end}.form-grid .span-2{grid-column:1 / -1}.form-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:.4rem}label.checkbox-row,.notif-pref-row{display:flex;align-items:flex-start;gap:.55rem;font-weight:400;cursor:pointer}label.checkbox-row input,.notif-pref-row input{margin-top:.15rem;width:1rem;height:1rem;accent-color:var(--primary);cursor:pointer}.muted-text{color:var(--text-muted);font-size:.88rem;margin:0}.error-text{color:var(--error);margin:0 0 .8rem;font-weight:500}.success-text{color:var(--success-dark)}.hint-text{margin:0;font-size:.82rem;color:var(--text-secondary);line-height:1.45}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:1.5rem;background:radial-gradient(900px circle at 0% 0%,rgba(34,197,94,.08),transparent 55%),radial-gradient(700px circle at 100% 100%,rgba(96,165,250,.06),transparent 55%),var(--background);position:relative}.auth-card{position:relative;z-index:2;width:min(440px,100%);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);padding:1.6rem 1.5rem 1.35rem;box-shadow:var(--shadow-lg);animation:scaleIn .25s ease}.auth-brand{display:flex;flex-direction:column;align-items:center;gap:.6rem;margin-bottom:.4rem}.auth-logo-box{width:56px;height:56px;border-radius:14px;background:var(--primary);display:grid;place-items:center;box-shadow:var(--shadow-primary)}.auth-logo{width:30px;height:30px;object-fit:contain;filter:brightness(0) invert(1)}.auth-card h2{margin:0;text-align:center;font-size:1.35rem;font-weight:700;letter-spacing:-.02em}.auth-card p{margin:.4rem 0 1.1rem;text-align:center;color:var(--text-secondary);font-size:.9rem}.auth-card .edit-form{max-width:none}.auth-card .text-input{padding:.65rem .9rem;font-size:.94rem}.auth-card .btn-primary{padding:.7rem 1rem;font-size:.94rem}.auth-help{margin-top:1rem;text-align:center;font-size:.8rem;color:var(--text-muted)}.badge{display:inline-flex;align-items:center;gap:.3rem;padding:.18rem .55rem;border-radius:999px;font-size:.74rem;font-weight:600;background:var(--divider);color:var(--text-primary);border:1px solid transparent;white-space:nowrap}.badge:before{content:"";width:6px;height:6px;border-radius:999px;background:currentColor}.badge.pending,.badge.processing{background:var(--warning-light);color:var(--warning-dark)}.badge.completed,.badge.processed,.badge.confirmed,.badge.refunded{background:var(--success-light);color:var(--success-dark)}.badge.failed,.badge.rejected,.badge.cancelled{background:var(--error-light);color:var(--error-dark)}.badge.info{background:var(--info-light);color:var(--info-dark)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;overflow-y:auto;animation:fadeIn .16s ease}.modal-card{width:min(620px,100%);max-height:min(92vh,900px);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);padding:0;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);animation:scaleIn .16s ease}.modal-card.modal-card-wide{width:min(740px,100%)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.2rem .85rem;border-bottom:1px solid var(--divider);flex-shrink:0}.modal-header h3{margin:0;font-size:1.05rem;font-weight:700}.modal-close{min-width:2rem;min-height:2rem;padding:0;font-size:1.15rem;line-height:1;border-radius:9px}.modal-body{padding:.85rem 1.2rem 1.2rem;overflow-y:auto;flex:1}.edit-form-wide{max-width:none;gap:1rem}.notif-prefs-grid{display:grid;gap:.55rem}.notif-pref-row span{display:grid;gap:.15rem}.notif-pref-key{font-size:.72rem;color:var(--text-muted);font-weight:400}.quick-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.55rem}.quick-link-card{display:flex;align-items:center;gap:.65rem;padding:.7rem .85rem;border-radius:10px;border:1px solid var(--border);background:var(--surface);font-size:.9rem;font-weight:500;color:var(--text-primary);transition:var(--transition-fast)}.quick-link-card:hover{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-dark)}.quick-link-icon{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary-dark);flex-shrink:0}.section-with-fab{padding-bottom:5.5rem}.fab{position:fixed;right:1.5rem;bottom:1.5rem;z-index:12;display:inline-flex;align-items:center;gap:.5rem;padding:.78rem 1.2rem;border:none;border-radius:999px;background:var(--primary);color:#fff;font-size:.9rem;font-weight:600;cursor:pointer;box-shadow:var(--shadow-primary);transition:var(--transition)}.fab:hover:not(:disabled){background:var(--primary-dark);color:#fff;box-shadow:0 12px 26px #16a34a52}.fab:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.fab-icon{display:grid;place-items:center;width:1.35rem;height:1.35rem;border-radius:999px;background:#ffffff38;line-height:1;font-weight:400}.fab-label{white-space:nowrap}@media (max-width: 600px){.fab-label{display:none}.fab{padding:.9rem;border-radius:999px}}.alert{padding:.7rem .9rem;border-radius:10px;border:1px solid var(--border);margin-bottom:.9rem;display:flex;gap:.55rem;align-items:flex-start;font-size:.9rem}.alert-error{border-color:#ef444459;background:var(--error-light);color:var(--error-dark)}.alert-success{border-color:#22c55e59;background:var(--success-light);color:var(--success-dark)}.alert-warning{border-color:#f59e0b59;background:var(--warning-light);color:var(--warning-dark)}.alert-info{border-color:#60a5fa59;background:var(--info-light);color:var(--info-dark)}.user-cell{display:flex;align-items:center;gap:.5rem}.user-id-cell{display:inline-block;max-width:9rem;font-size:.76rem;font-family:ui-monospace,SF Mono,Menlo,monospace;color:var(--text-secondary);background:var(--background);padding:.15rem .4rem;border-radius:6px;border:1px solid var(--border);word-break:break-all;line-height:1.35}.copyable-id{display:inline-flex;align-items:center;gap:.3rem;max-width:100%}.copyable-id-text{display:inline-flex;min-width:0;padding:.12rem .35rem;border:1px solid var(--border);border-radius:6px;background:var(--background);cursor:pointer;font:inherit;color:var(--text-secondary);transition:var(--transition-fast)}.copyable-id-text:hover{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-dark)}.copyable-id-text code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.76rem;word-break:break-all;white-space:normal;text-align:left}.copyable-id-copy{flex-shrink:0;min-width:2rem;padding:.2rem .45rem;font-size:.78rem;line-height:1}.table-avatar{width:30px;height:30px;border-radius:999px;object-fit:cover;border:1px solid var(--border)}.table-avatar-fallback{display:grid;place-items:center;background:var(--primary-light);color:var(--primary-dark);font-size:.76rem;font-weight:700;border-color:transparent}.empty-cell{text-align:center!important;color:var(--text-secondary);padding:1.5rem!important;font-size:.9rem}.category-icon-cell{display:flex;align-items:center;gap:.45rem}.category-preview-box{display:flex;align-items:center;gap:.55rem;padding:.5rem;border:1px solid var(--border);border-radius:10px;width:fit-content}.draggable-row{cursor:grab}.draggable-row.dragging{opacity:.6}.draggable-row.drag-over{outline:2px solid var(--primary-light);outline-offset:-2px}.drag-handle-cell{color:var(--text-muted);font-weight:700;letter-spacing:1px}.detail-tabs{max-width:100%}.toast-stack{position:fixed;right:1rem;bottom:1rem;display:grid;gap:.5rem;z-index:1100}.toast{background:var(--surface);border:1px solid var(--border);padding:.65rem .85rem;border-radius:10px;box-shadow:var(--shadow-lg);font-size:.88rem;font-weight:500;min-width:230px;max-width:380px;animation:scaleIn .16s ease;display:flex;gap:.55rem;align-items:flex-start}.toast:before{content:"";display:inline-block;flex-shrink:0;width:8px;height:8px;border-radius:999px;margin-top:.45rem;background:var(--info)}.toast.success{border-color:var(--success)}.toast.success:before{background:var(--success)}.toast.error{border-color:var(--error)}.toast.error:before{background:var(--error)}.loading-block{display:flex;align-items:center;gap:.55rem;padding:.85rem 0;color:var(--text-secondary)}.spinner{width:16px;height:16px;border:2.5px solid var(--primary-light);border-top-color:var(--primary);border-radius:999px;animation:spin .7s linear infinite}.skeleton{background:linear-gradient(90deg,#1f1f1f,#2a2a2a,#1f1f1f);background-size:200% 100%;animation:shimmer 1.4s linear infinite;border-radius:8px}@media (max-width: 1100px){.app-header-date,.app-header-user-text{display:none}}@media (max-width: 960px){.content{padding:1.2rem 1.1rem 2rem}.donut-wrap{justify-content:center}}@media (max-width: 768px){.app-header-nav{display:none}.header-menu-btn{display:inline-flex}.app-header-bar{padding:0 .85rem;gap:.65rem}}@media (max-width: 600px){.content{padding:1rem .85rem 2rem}.panel,.chart-card,.kpi-card{padding:.95rem 1rem}.stat-card{padding:.85rem .95rem}.stat-value{font-size:1.25rem}.kpi-card-value{font-size:1.5rem}.modal-card{border-radius:14px}.app-header-brand-sub{display:none}.home-kpi-value{font-size:1.45rem}}
