:root{--brand:#05a99b;--brand-dark:#087e82;--brand-soft:#eafaf7;--brand-pale:#f3fbfa;--ink:#153449;--muted:#738895;--line:#e4edee;--white:#fff;--bg:#f5f8f9;--danger:#d9605e;--warning:#cc8b30;--shadow:0 8px 24px rgba(19,64,81,.06);--r:16px;font-family:Inter,Pretendard,"Apple SD Gothic Neo","Noto Sans KR",system-ui,-apple-system,sans-serif}
*{box-sizing:border-box}html{height:100%;scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-size:14px;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}a{color:var(--brand-dark);text-decoration:none}input,select{outline:none}input:focus,select:focus,button:focus-visible{outline:2px solid var(--brand);outline-offset:2px}h1,h2,h3,p{margin:0}h1{font-size:27px;line-height:1.25}h2{font-size:19px}h3{font-size:15px}small,.sub{font-size:12px;color:var(--muted)}.numbers{font-variant-numeric:tabular-nums}.positive{color:var(--brand-dark)}.danger{color:var(--danger)}.muted{color:var(--muted)}.strong{font-weight:800}.tiny{font-size:11px}.kicker{color:var(--brand-dark);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.section-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:24px 0 12px}.section-title h2{font-size:17px}.link-button{border:0;background:none;color:var(--brand-dark);font-weight:700;padding:4px 0}.card{background:var(--white);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow)}.cardpad{padding:17px}.tag{display:inline-flex;align-items:center;border-radius:8px;padding:5px 8px;font-weight:800;font-size:11px;white-space:nowrap;background:var(--brand-soft);color:var(--brand-dark)}.tag.amber{color:#a26f24;background:#fff5e4}.tag.red{color:#bb5750;background:#fff0ef}.tag.gray{color:#728391;background:#eef3f5}.tag.blue{color:#276e99;background:#e7f2fa}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;border-radius:11px;border:1px solid transparent;padding:11px 16px;font-weight:800;transition:filter .15s,transform .15s}.btn:hover:not(:disabled){filter:brightness(.96)}.btn:active:not(:disabled){transform:scale(.99)}.btn-primary{background:var(--brand);color:white}.btn-outline{background:white;border-color:#a9d8d3;color:var(--brand-dark)}.btn-ghost{background:#ecf8f6;color:#177f79}.btn-dark{background:#163b51;color:#fff}.btn-sm{min-height:31px;padding:6px 10px;font-size:12px;border-radius:8px}.btn-block{width:100%}.btn-row{display:flex;gap:8px}.btn-row .btn{flex:1}.field{display:flex;flex-direction:column;gap:7px}.field label,.field-title{font-size:12px;font-weight:800;color:#4b6575}.field input,.field select,.field-control{width:100%;border:1px solid #dce7e9;background:#fff;border-radius:10px;padding:10px 12px;color:var(--ink);min-height:41px}.field input:disabled{background:#f5f7f8}.alert{border-radius:12px;padding:12px 13px;font-size:12px;line-height:1.65;background:#f0f9f8;color:#426e73}.alert.warn{background:#fff8ee;color:#976c35}.alert.danger{background:#fff1f0;color:#af5550}.divider{height:1px;background:var(--line);margin:15px 0}.between{display:flex;align-items:center;justify-content:space-between;gap:9px}.stat-number{font-size:23px;font-weight:850;letter-spacing:-.8px}.progress{width:100%;height:8px;background:#dcecee;border-radius:99px;overflow:hidden}.progress>span{display:block;height:100%;background:linear-gradient(90deg,#2acaba,#08a595);border-radius:99px;min-width:0}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--brand);margin-right:5px}.empty{padding:25px 12px;text-align:center;color:var(--muted);line-height:1.7}.empty img{width:125px;display:block;margin:auto auto 9px}.demo-banner{font-size:11px;line-height:1.55;text-align:center;padding:8px 16px;background:#ecf8f6;color:#427d79;border-bottom:1px solid #d5ece9}.small-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.small-grid .cardpad{padding:13px}.metric{font-size:18px;font-weight:850;margin-top:7px;color:#15384d;letter-spacing:-.5px}.metric-lg{font-size:26px;font-weight:850;color:#10394a}.info-table{display:grid;gap:12px}.info-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.info-row>span:first-child{font-size:12px;color:#768a98}.info-row>span:last-child{font-weight:750;text-align:right}.top-space{margin-top:14px}.mb10{margin-bottom:10px}.mb16{margin-bottom:16px}.mt20{margin-top:20px}.center{text-align:center}.icon-emoji{width:34px;height:34px;border-radius:12px;background:#e6f7f4;display:grid;place-items:center;font-size:17px;flex-shrink:0}
/* Mobile app follows original HANDY's short header, cards, simple bottom nav. */
#app .mobile-shell{max-width:430px;min-height:100vh;margin:0 auto;background:#fff;position:relative;box-shadow:0 0 40px #294f5a12}.mobile-content{padding:14px 16px 105px;min-height:calc(100vh - 130px);background:linear-gradient(180deg,#fff 0%,#fbfdfd 80%)}.mobile-header{height:64px;padding:12px 17px;display:flex;align-items:center;justify-content:space-between;background:#fff;gap:10px}.brand{display:flex;align-items:center;gap:8px;color:#163b50;font-weight:850;font-size:15px;letter-spacing:.2px}.brand img{height:30px;width:30px}.header-actions{display:flex;align-items:center;gap:6px}.icon-btn{border:0;background:transparent;color:#355d6c;min-width:36px;min-height:36px;display:grid;place-items:center;font-size:19px;border-radius:8px}.screen-title{font-size:16px;font-weight:850;text-align:center;flex:1}.mobile-bottom{position:fixed;z-index:30;bottom:0;left:50%;transform:translateX(-50%);width:min(430px,100%);height:75px;display:grid;grid-template-columns:repeat(5,1fr);background:#fff;border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.nav-item{border:0;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:#85969f;font-size:10px;font-weight:750}.nav-item svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.nav-item.active{color:var(--brand-dark)}.nav-item.active svg{stroke-width:2.4}.hero-title{text-align:center;padding:8px 0 7px}.hero-title h1{font-size:30px;color:#163649;line-height:1.2;letter-spacing:-.6px}.hero-title p{margin-top:9px;color:#53707d;line-height:1.55}.hero-picture{width:100%;display:block;height:213px;object-fit:cover;object-position:center;border-radius:14px;margin:12px 0 12px}.feature-strip{display:grid;grid-template-columns:1fr 1fr;gap:9px}.feature{padding:12px;display:flex;gap:8px;align-items:center}.feature strong{display:block;font-size:20px;color:var(--brand-dark);line-height:1.3}.feature-3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.feature-3 .card{padding:11px 7px;text-align:center}.feature-3 b{display:block;font-size:18px;color:var(--brand-dark);margin-top:4px}.user-cta{display:grid;gap:9px;margin-top:14px}.wallet-card{padding:15px;background:#f5fbfa;box-shadow:none}.coin-circle{border-radius:50%;width:43px;height:43px;display:grid;place-items:center;color:#fff;font-weight:850;font-size:25px;background:linear-gradient(135deg,#19cabc,#07819b);border:3px solid #c6f7ed;box-shadow:0 3px 7px #0b8b8640}.wallet-balance{font-size:25px;font-weight:900;letter-spacing:-.5px}.tabs{display:flex;border-bottom:1px solid var(--line);margin-bottom:14px}.tab{border:0;background:transparent;padding:12px 10px;font-weight:750;font-size:12px;color:#84969e;flex:1;border-bottom:2px solid transparent}.tab.active{color:var(--brand-dark);border-bottom-color:var(--brand)}.tier-list{display:grid;gap:10px}.tier-card{width:100%;display:block;text-align:left;background:#fff;border:1px solid #e0eaeb;border-radius:14px;padding:14px;box-shadow:0 3px 10px #153c4c08}.tier-card.selected{border:2px solid var(--brand);padding:13px;background:#fafffe}.tier-card.disabled{opacity:.55}.tier-rate{color:var(--brand-dark);font-weight:900;font-size:22px}.tier-amount{font-weight:850;font-size:15px}.tier-main{display:flex;justify-content:space-between;gap:8px}.tier-foot{display:flex;justify-content:space-between;align-items:center;margin-top:12px;gap:10px}.tier-foot .progress{width:110px}.tier-hint{font-size:12px;color:#667f8a;margin-top:6px}.stepper{display:flex;justify-content:space-around;padding:8px 1px 18px}.step{flex:1;text-align:center;position:relative}.step:not(:first-child)::before{content:"";position:absolute;width:calc(100% - 27px);height:2px;background:#d9e6e8;right:calc(50% + 15px);top:13px}.step.done:not(:first-child)::before{background:var(--brand)}.stepcircle{height:28px;width:28px;border-radius:99px;background:#e5edf0;color:#8295a0;display:grid;place-items:center;margin:auto auto 6px;font-weight:850;font-size:12px;position:relative;z-index:2}.step.done .stepcircle,.step.active .stepcircle{background:var(--brand);color:white}.step label{font-size:10px;color:#7d929e}.step.active label{color:var(--brand-dark);font-weight:850}.copybox{display:flex;align-items:center;gap:7px;border:1px solid #dce7e9;border-radius:10px;padding:6px;background:#f9fcfc}.copybox code{font-size:12px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;flex:1;padding:0 6px}.copybox button{min-width:38px}.timeline{display:grid;gap:11px}.timeline-entry{display:flex;align-items:flex-start;gap:9px}.timeline-entry .circle{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#e1f7f3;color:#078d84;font-weight:900;flex-shrink:0}.timeline-entry:not(:last-child) .timeline-text{border-bottom:1px solid #e7eded}.timeline-text{padding:4px 0 12px;flex:1}.timeline-text b{font-size:13px}.timeline-text p{font-size:11px;color:#7a8e99;line-height:1.6;margin-top:4px}.reward-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.reward-head strong{font-size:23px}.activity-list{display:grid;gap:0}.activity-row{padding:12px 0;border-bottom:1px solid #eef2f3;display:flex;justify-content:space-between;gap:8px;align-items:center}.activity-row:last-child{border-bottom:none}.activity-row b{font-size:12px}.activity-row p{font-size:11px;color:#8297a0;margin-top:4px}.filter-select{border:1px solid #dae8e9;border-radius:9px;padding:7px 8px;background:#fff;max-width:100%;min-width:0}.tree{padding:8px 0}.tree-node{display:flex;align-items:center;gap:10px;padding:9px 4px}.tree-node.child{margin-left:18px;border-left:2px solid #d7ede9;padding-left:18px}.tree-node.grandchild{margin-left:43px;border-left:2px solid #d7ede9;padding-left:18px}.tree-info{flex:1;min-width:0}.tree-info b{font-size:12px}.tree-info small{display:block;margin-top:3px}.more-links{display:grid;gap:10px}.more-link{border:1px solid var(--line);background:#fff;padding:14px;border-radius:13px;text-align:left;font-weight:750;display:flex;justify-content:space-between;align-items:center;color:var(--ink)}.modal-overlay{position:fixed;inset:0;background:rgba(12,39,53,.46);z-index:60;display:flex;align-items:center;justify-content:center;padding:15px}.modal{width:min(440px,100%);background:white;border-radius:18px;padding:19px;max-height:calc(100dvh - 35px);overflow:auto;box-shadow:0 20px 60px #14334a44}.modal h2{margin-bottom:12px}.modal .field{margin-top:11px}.modal .btn-row{margin-top:16px}#toast{position:fixed;z-index:100;left:50%;bottom:92px;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#183d50;color:#fff;border-radius:12px;padding:10px 14px;font-size:12px;min-width:150px;max-width:92%;text-align:center;transition:all .2s}#toast.show{opacity:1;transform:translate(-50%,0)}
/* Desktop/admin extension matches existing sidebar-table business UI */
body[data-mode="admin"]{background:#f3f7f8}.admin-layout{display:flex;min-height:100dvh}.admin-sidebar{width:220px;flex-shrink:0;background:#102e42;color:#d3e1e8;min-height:100vh;padding:17px 11px;position:sticky;top:0;height:100vh;overflow:auto}.admin-brand{display:flex;align-items:center;gap:10px;padding:12px 12px 24px;font-weight:850;color:#fff;letter-spacing:.2px}.admin-brand img{width:29px;height:29px}.admin-sidebar .navhead{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#8faab9;padding:8px 12px;margin-top:7px}.admin-nav{width:100%;display:flex;align-items:center;gap:10px;text-align:left;border:0;background:transparent;color:#c1d5dd;border-radius:9px;padding:11px 13px;margin:2px 0;font-weight:750;font-size:12px}.admin-nav.active{background:#0c8c89;color:#fff}.admin-nav:hover:not(.active){background:#1b4257}.admin-nav .emoji{font-size:15px}.admin-content{min-width:0;flex:1;padding:28px clamp(17px,3vw,42px) 55px}.admin-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px}.admin-top h1{font-size:23px}.admin-note{margin-top:6px;color:#718893;font-size:12px}.admin-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.admin-stat{padding:18px 17px}.admin-stat .stat-number{margin-top:10px;color:#0e6978}.admin-stat small{font-size:11px}.admin-toolbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:14px}.admin-toolbar .search{width:260px;max-width:100%;border:1px solid var(--line);padding:11px 13px;border-radius:10px;background:#fff}.admin-surface{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow)}.table-wrap{overflow:auto}.data-table{border-collapse:collapse;width:100%;font-size:12px;text-align:left;white-space:nowrap}.data-table th{background:#f3f8f8;color:#647c87;font-weight:800;padding:14px 16px;border-bottom:1px solid #e2ebed}.data-table td{padding:13px 16px;border-bottom:1px solid #edf2f3;color:#29495a}.data-table tbody tr:last-child td{border-bottom:0}.data-table strong{color:#12677b}.admin-split{display:grid;grid-template-columns:1.45fr 1fr;gap:16px;margin-top:18px}.chart-bars{height:185px;display:flex;align-items:end;gap:8px;padding:12px 6px 0;border-bottom:1px solid var(--line)}.chart-bar{flex:1;background:linear-gradient(180deg,#49cfc4,#0b9991);border-radius:6px 6px 0 0;min-height:5px;position:relative}.chart-bar small{position:absolute;bottom:-23px;width:100%;text-align:center;left:0;font-size:10px;color:#8496a1}.inline-control{display:flex;align-items:center;gap:8px}.inline-control input{max-width:120px}.toggle{position:relative;display:inline-flex;width:39px;height:23px;align-items:center;flex-shrink:0}.toggle input{appearance:none;width:100%;height:100%;background:#bdccd2;border-radius:99px;margin:0;cursor:pointer;transition:background .15s}.toggle input:checked{background:var(--brand)}.toggle i{pointer-events:none;width:17px;height:17px;border-radius:50%;background:white;position:absolute;left:3px;transition:transform .15s}.toggle input:checked+i{transform:translateX(16px)}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.settings-grid .cardpad{padding:19px}.setting-fields{display:grid;grid-template-columns:repeat(2,1fr);gap:13px;margin-top:17px}.sidebar-toggle{display:none}.admin-sidebar .admin-foot{margin-top:25px;border-top:1px solid #345064;padding:16px 10px;font-size:11px;color:#9cb6c3;line-height:1.7}.admin-referral-tree{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.admin-referral-tree .cardpad{min-height:120px}
@media(max-width:1060px){.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-split{grid-template-columns:1fr}.settings-grid{grid-template-columns:1fr}}@media(max-width:720px){.admin-sidebar{position:fixed;z-index:50;transform:translateX(-100%);transition:transform .2s;box-shadow:8px 0 30px #08263235}.admin-sidebar.open{transform:translateX(0)}.admin-content{padding:16px 14px 40px}.sidebar-toggle{display:inline-flex}.admin-top h1{font-size:19px}.admin-referral-tree{grid-template-columns:1fr}.setting-fields{grid-template-columns:1fr}.admin-grid{gap:9px}.admin-stat{padding:13px}.admin-stat .stat-number{font-size:19px}.admin-layout .modal-overlay{align-items:center}}@media(min-width:500px){body[data-mode="user"]{background:#eaf3f3}body[data-mode="user"] .mobile-shell{margin:20px auto;border-radius:24px;min-height:calc(100vh - 40px);overflow:hidden;border:1px solid #e5ecee}body[data-mode="user"] .mobile-bottom{bottom:20px;border-radius:0 0 22px 22px}}@media(max-width:360px){.mobile-content{padding:12px 12px 105px}.feature{padding:8px}.hero-title h1{font-size:26px}.tier-card{padding:12px}.stat-number{font-size:21px}}
