*{box-sizing:border-box}html,body{height:100%;margin:0}body{color:#2a2440;background:#f5f3fa;font-family:Nunito,system-ui,sans-serif}button,input{font-family:Nunito,system-ui,sans-serif}button:focus-visible,input:focus-visible{outline-offset:2px;outline:3px solid #8c6bff}.shell{min-height:100vh;display:flex}.side{background:linear-gradient(#2a1670,#1e0f55);flex-direction:column;flex-shrink:0;gap:4px;width:200px;height:100vh;padding:18px 12px;display:flex;position:sticky;top:0}.brand{align-items:baseline;gap:8px;padding:0 8px 18px;display:flex}.brand b{color:#ffd84a;letter-spacing:2px;text-shadow:0 2px #7a4200;font-family:Lilita One,sans-serif;font-size:30px;font-weight:400}.brand span{color:#ffffffb3;font-size:12px;font-weight:900}.nav{color:#ffffffb8;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;width:100%;height:38px;padding:0 12px;font-size:13px;font-weight:800;display:flex}.nav:hover{background:#ffffff0f}.nav.sel{color:#fff;background:#ffffff1f;box-shadow:inset 3px 0 #ffd84a}.me{background:#ffffff14;border-radius:12px;align-items:center;gap:10px;padding:10px;display:flex}.me .n{color:#fff;font-size:12px;font-weight:900}.me .r{color:#fff9;font-size:10px;font-weight:800}.me button{color:#ffffffb3;cursor:pointer;background:0 0;border:0;margin-left:auto;font-size:11px;font-weight:900}.main{flex:auto;gap:16px;min-width:0;padding:20px 20px 16px;display:flex;position:relative}.col{flex-direction:column;flex:auto;gap:14px;min-width:0;display:flex}.head{justify-content:space-between;align-items:center;gap:16px;display:flex}.head h1{color:#1e0f55;margin:0;font-size:22px;font-weight:900}.head p{color:#7a7393;margin:0;font-size:12px;font-weight:700}.search{background:#fff;border:1.5px solid #e1daf5;border-radius:10px;align-items:center;gap:8px;width:260px;height:38px;padding:0 12px;display:flex}.search input{color:#2a2440;background:0 0;border:0;outline:0;flex:auto;font-size:13px;font-weight:700}.card{background:#fff;border:1px solid #e6e1f2;border-radius:14px;box-shadow:0 1px 2px #1e0f550f}.th{color:#7a7393;letter-spacing:.3px;text-transform:uppercase;font-size:11px;font-weight:900}.row{color:#2a2440;cursor:pointer;border-top:1px solid #f0edf7;grid-template-columns:minmax(184px,1.6fr) 110px 82px 104px 1fr;align-items:center;min-height:44px;padding:0 12px;font-size:13px;font-weight:700;transition:background .15s;display:grid}.row:hover{background:#f8f6fd}.row.sel{background:#f1ecff;box-shadow:inset 3px 0 #5a35d6}.row.flash{animation:1.6s rowFlash}.row.headrow{cursor:default;background:#faf9fd;border-top:0;height:36px;min-height:36px}@keyframes rowFlash{0%,30%{background:#ddf8e6}to{background:#f1ecff}}.av{color:#1b1b1f;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-family:Lilita One,sans-serif;font-size:12px;display:flex}.st{border-radius:999px;align-items:center;gap:5px;padding:2px 8px;font-size:11px;font-weight:800;display:inline-flex}.st i{background:currentColor;border-radius:50%;width:6px;height:6px}.addbtn{white-space:nowrap;color:#5a35d6;cursor:pointer;background:#fff;border:1px solid #d9d0f5;border-radius:8px;height:28px;padding:0 10px;font-size:12px;font-weight:900}.addbtn:hover{background:#f1ecff}.chip{color:#3a2e66;cursor:pointer;background:#fff;border:1.5px solid #e1daf5;border-radius:9px;height:32px;padding:0 12px;font-size:13px;font-weight:900;transition:all .12s}.chip:hover{border-color:#8c6bff}.chip.sel{color:#fff;background:#5a35d6;border-color:#5a35d6}.inp{color:#2a2440;background:#fff;border:1.5px solid #e1daf5;border-radius:9px;width:100%;height:36px;padding:0 10px;font-size:14px;font-weight:800}.lbl{color:#3a2e66;align-items:center;gap:6px;margin-bottom:6px;font-size:12px;font-weight:900;display:flex}.go{color:#fff;cursor:pointer;background:linear-gradient(#3dbe4a,#208f33);border:0;border-radius:11px;width:100%;height:44px;font-size:15px;font-weight:900;box-shadow:0 3px #146b24}.go:disabled{box-shadow:none;cursor:not-allowed;background:#cfc9de}.dim{z-index:50;background:#140a3273;animation:.15s both fade;position:fixed;inset:0}@keyframes fade{0%{opacity:0}to{opacity:1}}.modal{z-index:60;width:400px;padding:20px;animation:.2s cubic-bezier(.2,.8,.3,1.2) both pop;position:fixed;top:50%;left:50%;translate:-50% -50%}@keyframes pop{0%{opacity:0;scale:.92}to{opacity:1;scale:1}}.toast{z-index:70;color:#fff;background:#1e7a34;border-radius:12px;align-items:center;gap:8px;padding:9px 16px 9px 10px;font-size:13px;font-weight:800;animation:3s both toast;display:flex;position:fixed;top:18px;left:50%;translate:-50%;box-shadow:0 10px 24px #00000040}.toast.err{background:#c2271f}@keyframes toast{0%{opacity:0;translate:-50% -10px}8%,85%{opacity:1;translate:-50%}to{opacity:0}}.hist{color:#3a2e66;border-top:1px solid #f0edf7;grid-template-columns:130px 140px 1fr 90px 1fr;align-items:center;gap:8px;padding:7px 12px;font-size:12px;font-weight:700;display:grid}.hist.new{animation:1.6s rowFlash}.coin{background:radial-gradient(circle at 35% 30%,#fff6c2,#f7c431 55%,#b06a00);border:1px solid #7a4200;border-radius:50%;flex-shrink:0;width:15px;height:15px;display:inline-block}.spin{border:2.5px solid #fff6;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{rotate:360deg}}.panel{flex-direction:column;flex-shrink:0;align-self:flex-start;gap:12px;width:300px;min-height:560px;padding:16px;display:flex;position:sticky;top:20px}.box{border-radius:10px;flex:1 1 0;padding:10px}.box .k{font-size:10.5px;font-weight:900}.box .v{align-items:center;gap:6px;font-size:18px;font-weight:900;display:flex}.after{color:#3a2e66;background:#f8f6fd;border-radius:10px;padding:9px 11px;font-size:12px;font-weight:800;line-height:1.5}.stats{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.stat{padding:14px}.stat .k{color:#7a7393;text-transform:uppercase;letter-spacing:.3px;font-size:11px;font-weight:900}.stat .v{color:#1e0f55;margin-top:4px;font-size:24px;font-weight:900}.table{border-collapse:collapse;width:100%;font-size:13px;font-weight:700}.table th{text-align:left;background:#faf9fd;padding:10px 12px}.table td{border-top:1px solid #f0edf7;padding:10px 12px}.login{background:linear-gradient(#2a1670,#1e0f55);justify-content:center;align-items:center;min-height:100vh;display:flex}.login .card{flex-direction:column;gap:12px;width:360px;padding:24px;display:flex}.login h1{color:#ffd84a;letter-spacing:2px;text-shadow:0 2px #7a4200;margin:0;font-family:Lilita One,sans-serif;font-size:34px;font-weight:400}.err{color:#c2271f;font-size:12px;font-weight:800}@media (prefers-reduced-motion:reduce){.row.flash,.hist.new,.toast,.modal,.dim,.spin{animation:none}}.chipi{flex-shrink:0;width:15px;height:15px}.fl{color:#3a2e66;cursor:pointer;background:#f1ecff;border:0;border-radius:999px;height:26px;padding:0 10px;font-size:11.5px;font-weight:900}.fl.sel{color:#fff;background:#1e0f55}.logrow{color:#3a2e66;border-top:1px solid #f0edf7;grid-template-columns:120px 120px 96px 140px 1fr;align-items:center;gap:8px;min-height:32px;padding:0 12px;font-size:12px;font-weight:700;display:grid}.logrow.headrow{background:#faf9fd;min-height:28px}.danger{color:#b42318;cursor:pointer;background:#fff;border:1.5px solid #f3b8b3;border-radius:10px;width:100%;height:36px;font-size:13px;font-weight:900}.danger:hover{background:#fdecea}.newbtn{color:#fff;cursor:pointer;background:linear-gradient(#7b57f0,#5a35d6);border:0;border-radius:10px;align-items:center;gap:6px;height:38px;padding:0 14px;font-size:13px;font-weight:900;display:inline-flex;box-shadow:0 3px #3b1a8f}.kpis{display:flex}.kpi{border-right:1px solid #f0edf7;flex-direction:column;flex:1 1 0;gap:2px;padding:10px 12px;display:flex}.kpi:last-child{border-right:0}.kpi .k{color:#6b6485;font-size:11px;font-weight:800}.kpi .v{color:#1e0f55;align-items:center;gap:6px;font-size:20px;font-weight:900;display:flex}.kpi .s{color:#6b6485;font-size:11px;font-weight:700}.seg{background:#f1ecff;border-radius:11px;gap:3px;padding:3px;display:flex}.seg button{color:#3a2e66;cursor:pointer;background:0 0;border:0;border-radius:9px;flex:1 1 0;height:30px;font-size:13px;font-weight:900}.seg button.on{color:#fff;background:#5a35d6}.seg button.on.red{background:#b42318}.warn{color:#9a3412;background:#fff1e6;border:1px solid #fbd5b5;border-radius:10px;padding:9px 11px;font-size:12px;font-weight:800;line-height:1.4}.okbtn{color:#fff;cursor:pointer;background:#208f33;border:0;border-radius:8px;height:28px;padding:0 12px;font-size:12px;font-weight:900}.codebox{border:1.5px dashed #ffd84a99;border-radius:12px;flex-direction:column;gap:6px;margin-top:10px;padding:10px;display:flex}.codebox .k{color:#ffffffb3;letter-spacing:.4px;font-size:10.5px;font-weight:900}.codebox .c{color:#ffd84a;letter-spacing:3px;font-family:Lilita One,sans-serif;font-size:22px}.clubcard{background:#ffffff14;border-radius:12px;align-items:center;gap:10px;margin-bottom:8px;padding:10px;display:flex}.nav .n{color:#fff;background:#ff2e4d;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;margin-left:auto;padding:0 5px;font-size:10.5px;display:inline-flex}
