:root{--sand-050:#fbf9f3;--sand-100:#f6f2e8;--sand-200:#f2eee2;--sand-300:#e9e5d8;--sand-400:#e4dfcf;--sand-500:#dcd6c1;--ink:#1a1817;--ink-soft:#2b2926;--ink-2:#5e5a53;--ink-3:#94908a;--line:#e7e2d5;--line-soft:#efebe0;--blue:#2671f2;--blue-600:#1e5fd6;--blue-100:#e4edfe;--blue-050:#f0f5ff;--purple:#7f5dd8;--purple-soft:#efeafb;--green:#1fa463;--green-600:#157a49;--green-soft:#e3f4ec;--amber:#c98a12;--amber-soft:#fbefd2;--red:#e5484d;--card:#fff;--radius:20px;--radius-sm:14px;--radius-xs:10px;--shadow-sm:0 1px 2px #1a18170a, 0 2px 8px #1a18170a;--shadow:0 4px 24px #1a18170f, 0 1px 3px #1a18170d;--shadow-lg:0 18px 60px #1a18171f;--font:"Inter", "YS Text", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:var(--font);color:var(--ink);background:var(--sand-200);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;letter-spacing:-.01em;overflow-x:hidden}a{color:inherit;text-decoration:none}::selection{background:var(--blue-100);color:var(--ink)}#root{min-height:100vh}.app{grid-template-columns:264px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--ink);color:#fff;flex-direction:column;gap:6px;height:100vh;padding:22px 18px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;padding:6px 8px 22px;display:flex}.brand .logo{object-fit:cover;border-radius:11px;flex:none;width:38px;height:38px;display:block;overflow:hidden}.brand .name{font-size:15px;font-weight:700;line-height:1.15}.brand .name span{color:#a7a29a;font-size:12px;font-weight:500;display:block}.nav{flex-direction:column;gap:2px;margin-top:4px;display:flex}.nav-item{color:#c9c5bd;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:12px;align-items:center;gap:12px;width:100%;padding:11px 12px;font-family:inherit;font-size:14px;font-weight:500;transition:background .15s,color .15s;display:flex}.nav-item svg{opacity:.85;flex:none;width:19px;height:19px}.nav-item:hover{color:#fff;background:#ffffff0f}.nav-item.active{color:var(--ink);background:#fff;font-weight:600}.nav-item.active svg{opacity:1}.sidebar .spacer{flex:1}.me{border-top:1px solid #ffffff14;align-items:center;gap:11px;margin-top:14px;padding:16px 8px 10px;display:flex}.me .ava{background:linear-gradient(135deg, var(--blue), var(--purple));color:#fff;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-size:14px;font-weight:700;display:grid}.me .info{flex:1;min-width:0;line-height:1.2}.me .info b{text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:600;display:block;overflow:hidden}.me .info span{color:#807b73;font-size:12px}.me .logout{cursor:pointer;color:#c9c5bd;background:#ffffff0f;border:none;border-radius:9px;flex:none;place-items:center;width:32px;height:32px;transition:background .15s,color .15s;display:grid}.me .logout:hover{color:#fff;background:#ffffff1f}.me .logout svg{width:17px;height:17px}.main{width:100%;min-width:0;max-width:1180px;padding:28px 40px 64px}.topbar{background:var(--sand-200);z-index:5;justify-content:space-between;align-items:center;padding:26px 0 22px;display:flex;position:sticky;top:0}.topbar h1{color:var(--ink-2);font-size:13px;font-weight:600}.topbar h1 b{color:var(--ink)}.topbar .actions{align-items:center;gap:10px;display:flex}.btn{cursor:pointer;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:11px 18px;font-family:inherit;font-size:14px;font-weight:600;transition:transform 80ms,background .15s,box-shadow .15s,border-color .15s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn svg{width:18px;height:18px}.btn-primary{background:var(--blue);color:#fff;box-shadow:0 4px 14px #2671f247}.btn-primary:hover{background:var(--blue-600)}.btn-ghost{background:var(--card);color:var(--ink);border-color:var(--line)}.btn-ghost:hover{background:var(--sand-050);border-color:var(--sand-500)}.btn-dark{background:var(--ink);color:#fff}.btn-dark:hover{background:var(--ink-soft)}.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--line-soft)}.hero{border:1px solid var(--line);background:linear-gradient(135deg,#fffdf7,#f4f0e5);border-radius:24px;margin-bottom:18px;padding:30px 32px;position:relative;overflow:hidden}.hero h2{letter-spacing:-.025em;max-width:none;font-size:27px;font-weight:800;line-height:1.12}.hero p{color:var(--ink-2);max-width:none;margin-top:10px;font-size:15px;line-height:1.5}.hero-offer{background:var(--blue-050);border:1px solid var(--blue-100);color:var(--blue-600);border-radius:999px;align-items:center;gap:10px;max-width:100%;margin-bottom:16px;padding:9px 16px 9px 14px;font-size:14.5px;line-height:1.35;display:inline-flex}.hero-offer svg{width:18px;height:18px;color:var(--blue);flex:none}.hero-offer-amount{color:var(--blue);font-size:17px;font-weight:800}.earn-terms-wrap{max-width:760px}.reflink{flex-wrap:wrap;gap:12px;max-width:100%;margin-top:22px;display:flex}.reflink .field{border:1.5px solid var(--line);background:#fff;border-radius:13px;flex:1;align-items:center;gap:10px;min-width:0;height:50px;padding:0 14px;display:flex;overflow:hidden}.reflink .field svg{width:18px;height:18px;color:var(--ink-3);flex:none}.reflink .field input{color:var(--ink);background:0 0;border:0;outline:0;width:100%;font-family:inherit;font-size:14.5px;font-weight:500}.copy-btn{height:50px;padding:0 22px}.copy-btn.done{background:var(--green)!important;box-shadow:none!important}.qr-btn{flex:none;width:50px;height:50px;padding:0}.qr-btn svg{width:21px;height:21px}.modal{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:70;opacity:0;pointer-events:none;background:#1a181773;place-items:center;padding:24px;transition:opacity .2s;display:grid;position:fixed;inset:0}.modal.show{opacity:1;pointer-events:auto}.modal-card{background:var(--card);box-shadow:var(--shadow-lg);text-align:center;border-radius:24px;width:360px;max-width:100%;padding:28px;transition:transform .2s;position:relative;transform:scale(.96)}.modal.show .modal-card{transform:scale(1)}.modal-card h3{letter-spacing:-.02em;font-size:19px;font-weight:800}.modal-card .sub{color:var(--ink-2);margin-top:8px;font-size:13.5px;line-height:1.45}.qr-frame{border:1px solid var(--line);background:#fff;border-radius:18px;place-items:center;width:212px;height:212px;margin:22px auto 18px;padding:14px;display:grid;position:relative}.qr-frame img{border-radius:6px;width:100%;height:100%;display:block}.qr-frame .badge-logo{border-radius:11px;width:42px;height:42px;position:absolute;overflow:hidden;box-shadow:0 0 0 5px #fff}.qr-frame .badge-logo img{object-fit:cover;border-radius:11px;width:100%;height:100%;display:block}.modal-url{color:var(--ink-2);background:var(--sand-100);border:1px solid var(--line);word-break:break-all;border-radius:10px;padding:9px 12px;font-size:13px;font-weight:500}.modal-actions{gap:10px;margin-top:18px;display:flex}.modal-actions .btn{flex:1;height:46px}.modal-close{background:var(--sand-100);cursor:pointer;width:34px;height:34px;color:var(--ink-2);border:0;border-radius:10px;place-items:center;display:grid;position:absolute;top:16px;right:16px}.modal-close:hover{background:var(--sand-300)}.modal-close svg{width:18px;height:18px}.kpis{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px;display:grid}.kpi{padding:20px 22px;position:relative;overflow:hidden}.kpi .ic{border-radius:11px;place-items:center;width:40px;height:40px;margin-bottom:16px;display:grid}.kpi .ic svg{width:21px;height:21px}.kpi .label{color:var(--ink-2);font-size:13px;font-weight:500}.kpi .val{letter-spacing:-.03em;margin-top:3px;font-size:30px;font-weight:800;line-height:1}.kpi .val small{color:var(--ink-2);font-size:17px;font-weight:700}.ic.blue{background:var(--blue-100);color:var(--blue)}.ic.green{background:var(--green-soft);color:var(--green)}.ic.amber{color:var(--amber);background:#fff6d6}.ic.purple{background:var(--purple-soft);color:var(--purple)}.section-head{justify-content:space-between;align-items:center;margin:4px 2px 14px;display:flex}.section-head h3{letter-spacing:-.02em;font-size:18px;font-weight:700}.section-head .hint{color:var(--ink-3);font-size:13px}.two-col{grid-template-columns:1.55fr 1fr;align-items:stretch;gap:18px;display:grid}.two-col>div{flex-direction:column;display:flex}.two-col>div>.card{flex:1}.funnel{padding:24px}.step{border-bottom:1px solid var(--line-soft);gap:16px;padding:16px 0;display:flex}.step:last-child{border-bottom:0;padding-bottom:4px}.step .num{background:var(--sand-200);width:30px;height:30px;color:var(--ink);border-radius:9px;flex:none;place-items:center;font-size:14px;font-weight:700;display:grid}.step.on .num{background:var(--blue);color:#fff}.step .body{flex:1}.step .body b{font-size:14.5px;font-weight:700}.step .body p{color:var(--ink-2);margin-top:4px;font-size:13.5px;line-height:1.5}.step .cnt{letter-spacing:-.02em;white-space:nowrap;text-align:right;font-size:20px;font-weight:800}.step .cnt span{color:var(--ink-3);font-size:13px;font-weight:600}.terms{background:linear-gradient(160deg,#fffdf7,#f6f2e6);flex-direction:column;gap:16px;padding:24px;display:flex}.term-block{flex-direction:column;gap:5px;display:flex}.term-block b{color:var(--ink);font-size:14.5px;font-weight:700}.term-block p{color:var(--ink-2);font-size:13.5px;line-height:1.5}.terms .more{color:var(--blue);align-items:center;gap:5px;margin-top:auto;font-size:13.5px;font-weight:600;display:inline-flex}.reward-banner{background:linear-gradient(135deg, var(--blue) 0%, #5691f5 100%);color:#fff;border-radius:22px;align-items:center;gap:20px;padding:24px 28px;display:flex;box-shadow:0 16px 36px #2671f247}.reward-icon{background:#ffffff2e;border-radius:16px;flex:none;place-items:center;width:56px;height:56px;display:grid}.reward-icon svg{color:#fff;width:28px;height:28px}.reward-body{min-width:0}.reward-label{color:#ffffffd9;font-size:14px;font-weight:500}.reward-value{letter-spacing:-.03em;margin:2px 0 6px;font-size:34px;font-weight:800;line-height:1}.reward-sub{color:#fffc;max-width:520px;font-size:13px;line-height:1.4}.table-wrap{padding:8px 8px 14px}.table-tools{flex-direction:column;gap:12px;padding:14px 16px 16px;display:flex}.table-tools-row{align-items:center;gap:12px;min-width:0;display:flex}.table-tools-row .seg{flex:auto;min-width:0}.table-tools-row .btn{flex:none}.search{background:var(--sand-100);border:1px solid var(--line);border-radius:11px;align-items:center;gap:9px;width:100%;min-width:0;height:42px;padding:0 13px;display:flex}.search svg{width:17px;height:17px;color:var(--ink-3)}.search input{width:100%;color:var(--ink);background:0 0;border:0;outline:0;font-family:inherit;font-size:14px}.seg{background:var(--sand-100);border:1px solid var(--line);scrollbar-width:none;border-radius:11px;gap:2px;max-width:100%;padding:3px;display:flex;overflow-x:auto}.seg::-webkit-scrollbar{display:none}.seg button{color:var(--ink-2);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:8px;flex:none;padding:7px 14px;font-family:inherit;font-size:13px;font-weight:600}.seg button.on{color:var(--ink);box-shadow:var(--shadow-sm);background:#fff}.table-scroll{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.table-scroll table{min-width:520px}table{border-collapse:collapse;width:100%}thead th{text-align:left;color:var(--ink-3);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--line);white-space:nowrap;padding:10px 16px;font-size:12px;font-weight:600}thead th.r,tbody td.r{text-align:right}tbody td{border-bottom:1px solid var(--line-soft);vertical-align:middle;padding:15px 16px;font-size:14px}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:var(--sand-050)}.co{align-items:center;gap:12px;display:flex}.co .av{color:#fff;border-radius:10px;flex:none;place-items:center;width:36px;height:36px;font-size:13px;font-weight:700;display:grid}.co .nm b{font-size:14px;font-weight:600;display:block}.co .nm span{color:var(--ink-3);font-size:12.5px}.money{letter-spacing:-.01em;font-weight:700}.badge{white-space:nowrap;border-radius:20px;align-items:center;gap:6px;padding:5px 11px;font-size:12.5px;font-weight:600;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.badge.green{background:var(--green-soft);color:var(--green-600)}.badge.amber{background:var(--amber-soft);color:var(--amber)}.badge.blue{background:var(--blue-050);color:var(--blue-600)}.badge.grey{background:var(--sand-300);color:var(--ink-2)}.progress{align-items:center;gap:10px;min-width:140px;display:flex}.bar{background:var(--sand-300);border-radius:6px;flex:1;height:7px;overflow:hidden}.bar i{background:linear-gradient(90deg, var(--blue), #5691f5);border-radius:6px;height:100%;display:block}.progress span{color:var(--ink-2);white-space:nowrap;font-size:12.5px;font-weight:600}.empty{text-align:center;padding:60px 24px}.empty .art{background:var(--sand-200);border-radius:22px;place-items:center;width:84px;height:84px;margin:0 auto 18px;display:grid}.empty .art svg{width:38px;height:38px;color:var(--ink-3)}.empty h3{font-size:18px;font-weight:700}.empty p{color:var(--ink-2);max-width:380px;margin:8px auto 20px;font-size:14px;line-height:1.5}.gate{background:radial-gradient(120% 120% at 0% 0%, #2671f21a, transparent 50%), var(--sand-200);z-index:50;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.gate-card{background:var(--card);width:100%;max-width:460px;box-shadow:var(--shadow-lg);text-align:center;border:1px solid var(--line-soft);border-radius:24px;padding:36px}.gate-card .logo{object-fit:cover;border-radius:16px;width:56px;height:56px;margin:0 auto 22px;display:block}.gate-card h2{letter-spacing:-.02em;font-size:23px;font-weight:800}.gate-card .sub{color:var(--ink-2);margin-top:10px;font-size:15px;line-height:1.5}.gate-perks{text-align:left;flex-direction:column;gap:12px;margin:26px 0;display:flex}.gate-perks li{color:var(--ink);align-items:center;gap:12px;font-size:14px;list-style:none;display:flex}.gate-perks .pic{border-radius:11px;flex:none;place-items:center;width:38px;height:38px;display:grid}.gate-perks .pic svg{width:20px;height:20px}.agree{text-align:left;background:var(--sand-100);border:1px solid var(--line);border-radius:13px;align-items:flex-start;gap:11px;margin-bottom:18px;padding:14px;display:flex}.agree input{width:20px;height:20px;accent-color:var(--blue);cursor:pointer;flex:none;margin-top:1px}.agree label{color:var(--ink-2);cursor:pointer;font-size:13px;line-height:1.45}.agree a{color:var(--blue);font-weight:600}.gate-card .btn{width:100%;height:52px;font-size:15px}.toast{background:var(--ink);color:#fff;box-shadow:var(--shadow-lg);opacity:0;z-index:80;pointer-events:none;border-radius:13px;align-items:center;gap:9px;padding:13px 20px;font-size:14px;font-weight:500;transition:all .25s;display:flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%)translateY(20px)}.toast svg{color:#6fdf9b;width:18px;height:18px}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}.splash{background:var(--sand-200);place-items:center;display:grid;position:fixed;inset:0}.spinner{border:3px solid var(--line);border-top-color:var(--blue);border-radius:50%;width:38px;height:38px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.feedback-fab{z-index:60;background:var(--blue);color:#fff;cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:12px 18px;transition:background .15s,transform .15s,box-shadow .15s;display:inline-flex;position:fixed;bottom:24px;right:24px;box-shadow:0 8px 22px #2671f266}.feedback-fab svg{width:18px;height:18px}.feedback-fab:hover{background:var(--blue-600);transform:translateY(-2px);box-shadow:0 12px 26px #2671f27a}.feedback-fab span{white-space:nowrap;font-size:14px;font-weight:600}.admin-panel{flex-direction:column;gap:14px;padding:22px;display:flex}.admin-panel-head h4,.admin-panel h4{letter-spacing:-.01em;font-size:16px;font-weight:700}.admin-panel-head .hint{color:var(--ink-3);font-weight:500}.admin-muted{color:var(--ink-2);font-size:13.5px}.admin-panel code{background:var(--sand-100);border:1px solid var(--line);border-radius:6px;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px}.admin-agents{flex-direction:column;gap:2px;display:flex}.admin-agent{cursor:pointer;border:1px solid #0000;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:11px 14px;transition:background .12s,border-color .12s;display:flex}.admin-agent:hover{background:var(--sand-050)}.admin-agent.sel{background:var(--blue-050);border-color:var(--blue-100)}.admin-agent .a-name{flex:1;min-width:0}.admin-agent .a-name b{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;display:block;overflow:hidden}.admin-agent .a-name span{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;display:block;overflow:hidden}.admin-code{background:var(--sand-100);border:1px solid var(--line);color:var(--ink-2);white-space:nowrap;border-radius:8px;flex:none;padding:4px 9px;font-family:ui-monospace,monospace;font-size:12.5px}.admin-agent-meta{flex:none;align-items:center;gap:14px;display:flex}.admin-agent-meta .m-orgs{color:var(--ink-2);white-space:nowrap;font-size:13px}.admin-agent-meta .m-reward{color:var(--green-600);white-space:nowrap;font-size:13.5px;font-weight:700}.admin-agent-meta .m-reward.zero{color:var(--ink-3);font-weight:600}.admin-stat-cards{flex-wrap:wrap;gap:16px;display:flex}.admin-stat{background:var(--sand-100);border:1px solid var(--line);border-radius:14px;min-width:160px;padding:16px 18px}.admin-stat .v{letter-spacing:-.02em;font-size:28px;font-weight:800}.admin-stat .l{color:var(--ink-2);margin-top:2px;font-size:12.5px}.admin-field-label{color:var(--ink-2);font-size:13px;font-weight:500}.admin-summary{color:var(--ink-2);cursor:pointer;font-size:13px}.admin-hint{color:var(--ink-2);background:var(--sand-100);border:1px solid var(--line);white-space:pre-wrap;border-radius:10px;margin-top:8px;padding:10px 12px;font-family:ui-monospace,monospace;font-size:12.5px;line-height:1.55}.admin-textarea{border:1px solid var(--line);resize:vertical;width:100%;min-height:200px;color:var(--ink);background:#fff;border-radius:12px;outline:none;padding:12px;font-family:ui-monospace,monospace;font-size:13px}.admin-textarea:focus{border-color:var(--blue)}.admin-result{background:var(--sand-100);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:10px;padding:14px;display:flex}.admin-result-row{flex-wrap:wrap;gap:8px;display:flex}.admin-alert{color:#b3261e;background:#fdecec;border:1px solid #f5c2c2;border-radius:12px;padding:12px 14px;font-size:13.5px}.mobile-topbar,.mobile-tabbar{display:none}@media (width<=980px){.app{grid-template-columns:1fr}.sidebar{display:none}.main{padding:0 16px 96px}.topbar{display:none}.kpis{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}.mobile-topbar{z-index:15;-webkit-backdrop-filter:saturate(180%)blur(12px);backdrop-filter:saturate(180%)blur(12px);border-bottom:1px solid var(--line);background:#f2eee2e0;justify-content:space-between;align-items:center;gap:12px;margin:0 -16px 8px;padding:12px 16px;display:flex;position:sticky;top:0}.mobile-topbar .brand{padding:0}.mobile-topbar .logout{border:1px solid var(--line);width:36px;height:36px;color:var(--ink-2);cursor:pointer;background:#fff;border-radius:10px;place-items:center;display:grid}.mobile-topbar .logout svg{width:18px;height:18px}.mobile-tabbar{z-index:30;-webkit-backdrop-filter:saturate(180%)blur(12px);backdrop-filter:saturate(180%)blur(12px);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);background:#fffffff5;display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-tab{cursor:pointer;color:var(--ink-3);background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:3px;padding:9px 4px;font-family:inherit;font-size:11px;font-weight:500;display:flex}.mobile-tab svg{width:20px;height:20px}.mobile-tab.on{color:var(--blue);font-weight:600}.feedback-fab{padding:14px;bottom:84px;right:16px}.feedback-fab span{display:none}.hero{padding:22px}.hero h2{font-size:22px}.hero-offer{border-radius:14px;align-items:flex-start}.reward-banner{gap:16px;padding:20px}.reward-icon{width:48px;height:48px}.reward-value{font-size:28px}.reflink .field{min-width:0}.copy-btn{flex:1}.admin-panel{padding:16px}.admin-stat{flex:1;min-width:0}}@media (width<=560px){.kpis{grid-template-columns:1fr 1fr;gap:12px}.kpi{padding:16px}.kpi .val{font-size:25px}.admin-agent{flex-wrap:wrap}.admin-agent .a-name{flex-basis:100%}.section-head{flex-wrap:wrap;gap:4px}.reward-value{font-size:26px}.reward-sub{font-size:12.5px}}
