:root{--primary-purple:#7c3aed;--primary-purple-soft:#a78bfa;--primary-purple-light:#ddd6fe;--primary-purple-bg:#7c3aed14;--primary-pink:#ec4899;--accent-teal:#14b8a6;--accent-teal-soft:#5eead4;--accent-teal-light:#ccfbf1;--gradient-primary:linear-gradient(135deg, #7c3aed, #a78bfa);--gradient-purple:linear-gradient(135deg, #7c3aed26, #8b5cf61a);--gradient-green:linear-gradient(135deg, #10b98126, #34d3991a);--gradient-blue:linear-gradient(135deg, #3b82f626, #60a5fa1a);--gradient-pink:linear-gradient(135deg, #ec489926, #f472b61a);--gradient-orange:linear-gradient(135deg, #f97316, #fb923c);--success:#10b981;--warning:#f59e0b;--error:#ef4444;--info:#3b82f6;--glass-bg:#ffffff8c;--glass-bg-hover:#ffffffb3;--glass-border:#ffffff59;--glass-shadow:0 8px 32px #0000000f;--glass-blur:blur(20px);--glass-dark-bg:#0f0f23bf;--glass-dark-border:#ffffff14;--glass-dark-hover:#ffffff0f;--glass-dark-active:#ffffff1a;--bg-page:transparent;--bg-card:var(--glass-bg);--bg-sidebar:var(--glass-dark-bg);--bg-hover:var(--glass-bg-hover);--bg-active:#7c3aed1a;--text-primary:#1e293b;--text-secondary:#64748b;--text-muted:#94a3b8;--text-white:#fff;--border-light:var(--glass-border);--border-input:#fff6;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-2xl:24px;--shadow-sm:0 2px 8px #0000000a;--shadow-md:0 4px 16px #0000000f;--shadow-lg:0 8px 32px #00000014;--topbar-height:56px;--sidebar-width:240px;--sidebar-collapsed-width:72px;--sidebar-active-border:var(--primary-purple-soft);--transition-fast:.15s ease;--transition-normal:.25s ease;--transition-sidebar:.3s cubic-bezier(.4, 0, .2, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{min-height:100vh;color:var(--text-primary);-webkit-font-smoothing:antialiased;background-color:#0000;background-image:radial-gradient(at 0 0,#7c3aed1f 0%,#0000 50%),radial-gradient(at 100% 0,#14b8a61a 0%,#0000 50%),radial-gradient(at 50% 100%,#a78bfa14 0%,#0000 50%),linear-gradient(#f0f0f8 0%,#e8eef4 50%,#f0f4f8 100%);background-position:0 0,0 0,0 0,0 0;background-repeat:repeat,repeat,repeat,repeat;background-size:auto,auto,auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5}.app-layout{min-height:100vh;display:flex}.app-main{margin-left:var(--current-sidebar-width,var(--sidebar-width));max-width:calc(100vw - var(--current-sidebar-width,var(--sidebar-width)));transition:margin-left var(--transition-sidebar), max-width var(--transition-sidebar);flex-direction:column;flex:1;min-height:100vh;display:flex}.app-content{padding:calc(var(--topbar-height,56px) + 24px) 32px 32px;flex:1}.stat-cards{flex-wrap:wrap;gap:16px;margin-bottom:24px;display:flex}.card{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--glass-shadow);transition:box-shadow var(--transition-normal), border-color var(--transition-normal);padding:24px}.card-title{color:var(--text-primary);margin-bottom:4px;font-size:16px;font-weight:600}.card-subtitle{color:var(--text-secondary);margin-bottom:16px;font-size:13px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}thead th{text-align:left;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;background:#ffffff4d;border-bottom:1px solid #0000000d;padding:12px 16px;font-size:12px;font-weight:600}tbody td{color:var(--text-primary);border-bottom:1px solid #0000000d;padding:14px 16px;font-size:14px}tbody tr:hover{background:#fff6}tbody tr{cursor:pointer;transition:background var(--transition-fast)}.loading{color:var(--text-muted);justify-content:center;align-items:center;padding:60px;font-size:14px;display:flex}.user-avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;font-weight:600;display:flex}.user-cell{align-items:center;gap:12px;display:flex}.user-cell-name{font-size:14px;font-weight:600}.user-cell-email{color:var(--text-secondary);font-size:13px}.charts-grid{grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:20px;margin-bottom:24px;display:grid}.list-item{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);margin-bottom:12px;padding:20px}.list-item:hover{box-shadow:var(--shadow-md);border-color:#ffffff80}.list-item-header{align-items:center;gap:12px;margin-bottom:8px;display:flex}.list-item-title{font-size:15px;font-weight:600}.list-item-body{color:var(--text-secondary);margin-bottom:10px;font-size:14px}.list-item-meta{color:var(--text-secondary);gap:24px;font-size:13px;display:flex}.list-item-meta strong{color:var(--text-primary)}.cab{flex-direction:column;min-height:100vh;display:flex}.cab-header{z-index:10;background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--glass-border);align-items:center;gap:24px;padding:12px 32px;display:flex;position:sticky;top:0}.cab-logo{color:var(--text-primary);font-size:18px;font-weight:700;text-decoration:none}.cab-logo-mark{background:var(--gradient-primary);color:#0000;-webkit-background-clip:text;background-clip:text}.cab-nav{flex:1;gap:4px;display:flex}.cab-nav a{border-radius:var(--radius-md);color:var(--text-secondary);transition:background var(--transition-fast), color var(--transition-fast);padding:8px 14px;font-size:14px;font-weight:500;text-decoration:none}.cab-nav a:hover{color:var(--primary-purple)}.cab-nav a.active{background:var(--bg-active);color:var(--primary-purple)}.cab-account{align-items:center;gap:12px;display:flex}.cab-email{color:var(--text-secondary);font-size:13px}.cab-icon-btn{padding:8px 12px}.cab-main{flex:1;width:100%;max-width:1040px;margin:0 auto;padding:32px}.cab-footer{text-align:center;color:var(--text-muted);padding:24px 32px;font-size:13px}a{color:var(--primary-purple)}a.btn{text-decoration:none}.btn:disabled{opacity:.6;cursor:default;transform:none}.cab-narrow{max-width:480px;margin:0 auto}.cab-stack{flex-direction:column;gap:20px;display:flex}.cab-center{text-align:center}.cab-center-block{margin:0 auto 16px}.cab-title{margin-bottom:8px;font-size:24px;font-weight:700}.cab-muted{color:var(--text-secondary);font-size:14px}.cab-small{font-size:13px}.cab-gap{margin-bottom:16px}.cab-top{margin-top:16px}.cab-wide{justify-content:center;width:100%}.cab-error{color:var(--error);margin:12px 0;font-size:14px}.cab-ok{color:var(--success);margin-bottom:12px}.cab-wait{color:var(--warning);margin-bottom:12px}.cab-bad{color:var(--error);margin-bottom:12px}.cab-notice{border-radius:var(--radius-lg);background:var(--primary-purple-bg);color:var(--primary-purple);margin-bottom:20px;padding:14px 18px;font-size:14px}.cab-row{justify-content:space-between;align-items:baseline;margin-bottom:12px;display:flex}.card-title{align-items:center;gap:8px;display:flex}.cab-form{flex-direction:column;gap:10px;display:flex}.cab-form label{color:var(--text-secondary);font-size:13px;font-weight:600}.cab-form input{border-radius:var(--radius-md);border:1px solid var(--border-input);color:var(--text-primary);background:#ffffffb3;padding:12px 14px;font-size:16px}.cab-form input:focus{outline:2px solid var(--primary-purple-soft);outline-offset:1px}.cab-link-btn{color:var(--primary-purple);cursor:pointer;background:0 0;border:none;font-size:14px}.cab-divider{color:var(--text-muted);align-items:center;gap:12px;margin:20px 0;font-size:13px;display:flex}.cab-divider:before,.cab-divider:after{content:"";background:#00000014;flex:1;height:1px}.cab-social{flex-direction:column;gap:10px;margin-bottom:16px;display:flex}.cab-qr{border-radius:var(--radius-lg);background:#fff;width:180px;height:180px;margin:0 auto 8px;padding:8px;display:block}.cab-stores{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.cab-stores--left{justify-content:flex-start}.cab-status{align-items:flex-start;gap:16px;display:flex}.cab-status-icon{color:var(--primary-purple);flex-shrink:0}.cab-payments{list-style:none}.cab-payment{border-bottom:1px solid #0000000d;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;display:flex}.cab-payment:last-child{border-bottom:none}.cab-payment-title{font-size:15px;font-weight:600}.cab-payment-side{align-items:center;gap:12px;font-size:14px;display:flex}.cab-features{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-bottom:28px;display:grid}.cab-features p{margin-top:6px}.cab-plans{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.cab-plan{flex-direction:column;gap:8px;display:flex}.cab-plan-term{color:var(--text-secondary);font-size:14px}.cab-plan-price{font-size:32px;font-weight:700}.cab-plan-note{color:var(--accent-teal);font-size:13px;font-weight:600}.cab-plan .btn{margin-top:auto}.cab-summary{grid-template-columns:auto 1fr;gap:10px 16px;margin:16px 0;font-size:15px;display:grid}.cab-summary dt{color:var(--text-secondary)}.cab-summary dd{text-align:right;font-weight:500}.cab-summary-total{font-size:20px;font-weight:700!important}@media (width<=720px){.cab-header{flex-wrap:wrap;gap:8px 16px;padding:12px 16px}.cab-nav{flex-basis:100%;order:3;overflow-x:auto}.cab-email,.cab-hide-narrow{display:none}.cab-main{padding:20px 16px}.cab-payment{flex-direction:column;align-items:flex-start}}.cab-stats{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:16px;margin-top:12px;display:grid}.cab-stat-value{font-size:26px;font-weight:700}.spinner{border:3px solid #ffffff4d;border-top-color:var(--primary-purple-soft,#a78bfa);border-radius:50%;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.page-loader{flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:200px;padding:48px 0;display:flex}.page-loader-text{color:var(--text-secondary,#64748b);font-size:14px}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.skeleton-bar{border-radius:var(--radius-sm,8px);background:linear-gradient(90deg,#fff6 0%,#fff9 40%,#fff6 80%) 0 0/200px 100%;height:14px;animation:1.5s ease-in-out infinite shimmer}.table-skeleton{padding:8px 0}.table-skeleton-row{border-bottom:1px solid #0000000d;gap:16px;padding:12px 16px;display:flex}.table-skeleton-row:last-child{border-bottom:none}.table-skeleton-cell{flex:1}.card-skeleton{padding:20px}.badge{white-space:nowrap;-webkit-backdrop-filter:blur(8px);border-radius:20px;align-items:center;padding:3px 10px;font-size:12px;font-weight:500;display:inline-flex}.badge--default{color:#64748b;background:#f1f5f9b3}.badge--success{color:#059669;background:#ecfdf5b3}.badge--warning{color:#d97706;background:#fffbebb3}.badge--error{color:#dc2626;background:#fef2f2b3}.badge--info{color:#2563eb;background:#eff6ffb3}.badge--blue{color:#1d4ed8;background:#eff6ffd9}.badge--purple{color:#7c3aed;background:#f3f0ffb3}.badge--pink{color:#db2777;background:#fdf2f8b3}.page-header{justify-content:space-between;align-items:flex-start;margin-bottom:24px;display:flex}.page-header-title{color:var(--text-primary);margin:0;font-size:28px;font-weight:700}.page-header-subtitle{color:var(--text-secondary);margin:4px 0 0;font-size:14px}.page-header-actions{align-items:center;gap:10px;display:flex}.btn{border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);border:none;align-items:center;gap:6px;padding:10px 20px;font-size:14px;font-weight:600;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--primary-purple), var(--primary-purple-soft));color:#fff;border:none;box-shadow:0 4px 12px #7c3aed40}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 16px #7c3aed59}.btn-secondary{-webkit-backdrop-filter:blur(10px);color:var(--text-secondary);border:1px solid var(--glass-border);background:#ffffff80}.btn-secondary:hover{border-color:var(--primary-purple-soft);color:var(--primary-purple);background:#ffffffb3}.btn-success{background:var(--success);color:#fff;box-shadow:0 4px 12px #10b98140}.btn-danger{background:var(--error);color:#fff;box-shadow:0 4px 12px #ef444440}.btn-danger:hover{transform:translateY(-1px);box-shadow:0 6px 16px #ef444459}
