:root{--background:#f8fafc;--foreground:#0f172a;--card:#fff;--muted:#64748b;--muted-soft:#94a3b8;--primary:#4f46e5;--primary-hover:#4338ca;--primary-soft:#eef2ff;--accent:#0d9488;--accent-soft:#ccfbf1;--border:#e2e8f0;--ring:#c7d2fe;--danger:#be123c;--danger-bg:#fff1f2;--danger-border:#fecdd3;--warn-bg:#fffbeb;--warn-border:#fde68a;--warn-ink:#92400e;--success-bg:#ecfdf5;--success-ink:#047857;--shadow-sm:0 1px 2px #0f172a0a;--shadow-md:0 8px 24px #0f172a0f;--shadow-lg:0 16px 40px #4f46e51f;--shadow-xl:0 24px 60px #4f46e52e;--radius:16px;--radius-sm:12px;--radius-pill:999px;--font:"Plus Jakarta Sans", system-ui, sans-serif;color:var(--foreground);background:var(--background);font-family:var(--font);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;scroll-behavior:smooth}body{background:var(--background);min-width:320px;color:var(--foreground);margin:0}#root{min-height:100vh}a{color:inherit}img{max-width:100%}.logo{align-items:center;gap:.65rem;max-width:100%;line-height:1.15;text-decoration:none;display:inline-flex}.logo-mark-wrap{flex-shrink:0;display:inline-flex;overflow:hidden}.logo-mark-img{object-fit:contain;mix-blend-mode:multiply;display:block;width:100%!important;max-width:100%!important;height:100%!important;max-height:100%!important}.logo-text-wrap{min-width:0;line-height:1.15;display:grid}.logo-word{letter-spacing:-.03em;color:#0f172a;font-weight:800}.logo-word.light{color:#fff;-webkit-text-fill-color:#fff}.logo-sub{color:var(--muted);font-size:.75rem;font-weight:500}button,input,textarea,select{font:inherit}h1,h2,h3,h4{letter-spacing:-.025em;font-weight:700}.text-gradient{background:linear-gradient(135deg,#4f46e5 0%,#0d9488 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.gradient-hero{background:radial-gradient(80% 60% at 50% -10%,#4f46e524,#0000),radial-gradient(60% 50% at 100% 0,#0d94881f,#0000),linear-gradient(#eef2ff 0%,#f0fdfa 45%,#fff 100%)}.glass-card{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--shadow-sm), var(--shadow-lg);background:#ffffffd1;border:1px solid #fffffff2}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}.animate-float{animation:5s ease-in-out infinite float}.rise{animation:.65s both rise}.rise-2{animation:.7s .1s both rise}.rise-3{animation:.75s .18s both rise}.dash{background:var(--background);min-height:100vh}.dash-sidebar{border-bottom:1px solid var(--border);background:#fff;flex-direction:column;height:100dvh;display:flex;overflow:hidden}.dash-brand{box-sizing:border-box;border-bottom:1px solid #f1f5f9;flex-shrink:0;justify-content:space-between;align-items:center;gap:.75rem;min-height:4.25rem;padding:1.15rem;display:flex}.dash-brand-actions{align-items:center;gap:.35rem;display:flex}.dash-collapse-btn{color:#64748b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:.55rem;justify-content:center;align-items:center;width:2rem;height:2rem;padding:0;transition:all .15s;display:inline-flex}.dash-collapse-btn:hover{color:#0f172a;background:#f1f5f9;border-color:#cbd5e1}.dash-close{color:#64748b;cursor:pointer;background:0 0;border:0;display:none}.dash-nav{flex-flow:column;flex:auto;gap:.25rem;min-height:0;padding:.85rem .75rem;display:flex;overflow:hidden auto}.dash-nav::-webkit-scrollbar{width:4px}.dash-nav::-webkit-scrollbar-thumb{background:#e2e8f0;border-radius:999px}.dash-link{color:#475569;white-space:nowrap;border-radius:.85rem;align-items:center;gap:.65rem;padding:.65rem .85rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:inline-flex}.dash-link-icon{flex-shrink:0}.dash-link:hover{color:#0f172a;background:#f8fafc}.dash-link.active{background:var(--primary-soft);color:#4338ca}.dash-user{background:#fff;border-top:1px solid #f1f5f9;flex-shrink:0;margin-top:auto;padding:.45rem .55rem;position:relative}.dash-user-btn{cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:.65rem;align-items:center;gap:.55rem;width:100%;min-width:0;padding:.35rem .45rem;transition:all .15s;display:flex}.dash-user-btn:hover,.dash-user-btn.active{background:#f1f5f9;border-color:#e2e8f0}.dash-avatar{color:#4338ca;background:#e0e7ff;border-radius:999px;flex-shrink:0;place-items:center;width:2rem;height:2rem;font-size:.75rem;font-weight:700;display:grid}.dash-user-meta{flex:auto;gap:.05rem;min-width:0;line-height:1.2;display:grid}.dash-user-meta p{color:#0f172a;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.82rem;font-weight:600;overflow:hidden}.dash-user-meta span{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;overflow:hidden}.dash-user-chevron{color:#94a3b8;flex-shrink:0;margin-left:auto;transition:transform .15s}.dash-user-btn.active .dash-user-chevron{color:#0f172a;transform:rotate(180deg)}.dash-user-menu{z-index:100;background:#fff;border:1px solid #e2e8f0;border-radius:.85rem;padding:.4rem;animation:.15s cubic-bezier(.16,1,.3,1) userMenuPop;position:absolute;bottom:calc(100% + .35rem);left:.5rem;right:.5rem;box-shadow:0 10px 25px -5px #0f172a1f,0 8px 10px -6px #0f172a14}@keyframes userMenuPop{0%{opacity:0;transform:translateY(6px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.dash-user-menu-header{align-items:center;gap:.65rem;padding:.5rem .5rem .6rem;display:flex}.dash-user-menu-avatar{color:#4338ca;background:#e0e7ff;border-radius:999px;flex-shrink:0;place-items:center;width:2.25rem;height:2.25rem;font-size:.8rem;font-weight:700;display:grid}.dash-user-menu-info{flex:auto;min-width:0}.dash-user-menu-name{color:#0f172a;white-space:nowrap;text-overflow:ellipsis;font-size:.84rem;font-weight:600;overflow:hidden}.dash-user-menu-email{color:#64748b;white-space:nowrap;text-overflow:ellipsis;font-size:.74rem;overflow:hidden}.dash-user-menu-tags{align-items:center;gap:.35rem;margin-top:.25rem;display:flex}.dash-user-role-badge{text-transform:uppercase;letter-spacing:.03em;color:#475569;background:#f1f5f9;border-radius:.35rem;padding:.1rem .35rem;font-size:.68rem;font-weight:600}.dash-user-tenant-slug{color:#94a3b8;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.7rem}.dash-user-menu-divider{background:#f1f5f9;height:1px;margin:.25rem 0}.dash-user-menu-item{color:#334155;cursor:pointer;box-sizing:border-box;background:0 0;border:none;border-radius:.55rem;align-items:center;gap:.6rem;width:100%;padding:.5rem .65rem;font-size:.84rem;font-weight:500;text-decoration:none;transition:all .12s;display:flex}.dash-user-menu-item:hover{color:#0f172a;background:#f8fafc}.dash-user-menu-item.logout{color:#dc2626}.dash-user-menu-item.logout:hover{color:#b91c1c;background:#fef2f2}.dash-backdrop{display:none}.dash-main{min-width:0}.dash-topbar{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffd9;align-items:center;gap:.75rem;padding:.85rem 1rem;display:flex}.dash-menu{border:1px solid var(--border);color:#475569;cursor:pointer;background:#fff;border-radius:.65rem;padding:.4rem;display:inline-flex}.dash-top-home{color:var(--muted);margin-left:auto;font-size:.85rem;font-weight:500;text-decoration:none}.dash-top-home:hover{color:var(--primary)}.dash-billing-alert{border-bottom:1px solid #0000;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1.25rem;font-size:.88rem;line-height:1.4;display:flex}.dash-billing-blocked{color:#991b1b;background:#fef2f2;border-color:#fecaca}.dash-billing-warning{color:#92400e;background:#fffbeb;border-color:#fde68a}.dash-billing-alert-content{flex:auto;align-items:center;gap:.65rem;display:inline-flex}.dash-billing-alert-content strong{font-weight:600}.dash-billing-alert-action{white-space:nowrap;border-radius:.5rem;align-items:center;gap:.35rem;padding:.35rem .75rem;font-size:.82rem;font-weight:600;text-decoration:none;transition:all .15s;display:inline-flex}.dash-billing-blocked .dash-billing-alert-action{color:#fff;background:#dc2626}.dash-billing-blocked .dash-billing-alert-action:hover{background:#b91c1c}.dash-billing-warning .dash-billing-alert-action{color:#fff;background:#d97706}.dash-billing-warning .dash-billing-alert-action:hover{background:#b45309}.dash-content{box-sizing:border-box;width:100%;max-width:100%;padding:1.25rem 1rem 2.5rem}.page-header{flex-direction:column;gap:1rem;width:100%;margin-bottom:1.75rem;display:flex}.page-header h1{color:#0f172a;margin:0;font-size:clamp(1.5rem,2.5vw,1.85rem)}.page-header p{color:#475569;max-width:40rem;margin:.45rem 0 0;line-height:1.5}.empty-panel{border:1px dashed var(--border);text-align:center;background:#f8fafccc;border-radius:1.25rem;padding:3.5rem 1.5rem}.empty-title{color:#0f172a;margin:0;font-size:1.1rem;font-weight:700}.empty-body{color:#475569;max-width:26rem;margin:.5rem auto 0;font-size:.9rem;line-height:1.55}.spin{animation:.8s linear infinite spin}@media (width>=1024px){.dash{display:block}.dash-sidebar{z-index:30;border-bottom:0;border-right:1px solid var(--border);width:16rem;height:100dvh;transition:width .22s cubic-bezier(.16,1,.3,1);position:fixed;inset:0 auto 0 0;overflow:hidden}.dash-sidebar.is-collapsed{width:4.5rem}.dash-sidebar.is-collapsed .dash-brand{flex-direction:column;justify-content:center;gap:.65rem;padding:1.15rem .5rem}.dash-sidebar.is-collapsed .dash-brand .logo{justify-content:center}.dash-sidebar.is-collapsed .dash-nav{padding:.85rem .4rem}.dash-sidebar.is-collapsed .dash-link{border-radius:.65rem;justify-content:center;width:100%;padding:.7rem 0}.dash-sidebar.is-collapsed .dash-link-label{display:none}.dash-sidebar.is-collapsed .dash-user{padding:.45rem .35rem}.dash-sidebar.is-collapsed .dash-user-btn{justify-content:center;padding:.35rem 0}.dash-sidebar.is-collapsed .dash-user-meta,.dash-sidebar.is-collapsed .dash-user-chevron{display:none}.dash-sidebar.is-collapsed .dash-user-menu{width:14.5rem;bottom:.35rem;left:calc(100% + .5rem);right:auto}.dash-close,.dash-menu,.dash-backdrop{display:none!important}.dash-topbar{display:none}.dash-main{box-sizing:border-box;width:calc(100% - 16rem);min-width:0;margin-left:16rem;transition:margin-left .22s cubic-bezier(.16,1,.3,1),width .22s cubic-bezier(.16,1,.3,1)}.dash.collapsed .dash-main{width:calc(100% - 4.5rem);margin-left:4.5rem}.dash-content{box-sizing:border-box;width:100%;max-width:100%;padding:1.75rem 2.25rem 3rem}.page-header{flex-direction:row;justify-content:space-between;align-items:flex-end;width:100%}}@media (width<=1023px){.dash-collapse-btn{display:none}.dash-sidebar{z-index:40;border-right:1px solid var(--border);border-bottom:0;width:min(18rem,88vw);height:100dvh;transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-105%)}.dash-sidebar.open{transform:translate(0)}.dash-close{display:inline-flex}.dash-backdrop{z-index:35;cursor:pointer;background:#0f172a59;border:0;display:block;position:fixed;inset:0}}.route-progress-bar{z-index:99999;pointer-events:none;background:linear-gradient(90deg,#0284c7 0%,#38bdf8 50%,#0ea5e9 100%) 0 0/200% 100%;height:3px;animation:.4s ease-out forwards routeProgressGrow,1.2s linear infinite routeProgressMove;position:fixed;top:0;left:0;right:0;box-shadow:0 0 10px #0ea5e9b3,0 0 4px #0ea5e980}@keyframes routeProgressGrow{0%{opacity:.8;width:0%}40%{width:65%}80%{width:90%}to{opacity:1;width:98%}}@keyframes routeProgressMove{0%{background-position:100% 0}to{background-position:-100% 0}}.portal-loader-wrap{width:100%;max-width:100%;padding-top:.25rem;animation:.18s ease-out portalFadeIn}@keyframes portalFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.portal-loader-top-indicator{color:#0369a1;background:#f0f9ff;border:1px solid #bae6fd;border-radius:9999px;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:.35rem .85rem;font-size:.82rem;font-weight:500;display:inline-flex}.portal-loader-spinner{color:#0284c7;animation:.8s linear infinite spin}.shimmer{background:#f1f5f9;position:relative;overflow:hidden}.shimmer:after{content:"";background:linear-gradient(90deg,#fff0 0%,#ffffffa6 50%,#fff0 100%);animation:1.4s infinite portalShimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes portalShimmer{to{transform:translate(100%)}}.portal-skel-header{margin-bottom:1.75rem}.portal-skel-title{border-radius:6px;width:240px;height:28px;margin-bottom:.6rem}.portal-skel-desc{border-radius:4px;width:420px;max-width:80%;height:16px}.portal-skel-toolbar{flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem;display:flex}.portal-skel-input{border-radius:8px;width:280px;height:38px}.portal-skel-btn{border-radius:8px;width:110px;height:38px}.portal-skel-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;gap:.85rem;min-height:280px;padding:1.25rem;display:flex}.portal-skel-table-head{border-radius:6px;width:100%;height:34px}.portal-skel-table-row{border-radius:6px;width:100%;height:40px}
