:root{--main:#38bdf8;--main-dark:#0ea5e9;--main-light:#f0f9ff;--text:#0f172a;--sub:#64748b;--line:#e2e8f0;--white:#fff;--ongoing:#059669;--ongoing-light:#ecfdf5;--danger:#dc2626;--warn:#d97706;--radius:14px;--shadow:0 1px 2px #0f172a0a, 0 4px 16px #0ea5e914}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--white);color:var(--text);-webkit-text-size-adjust:100%}body{min-height:100dvh;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}.shell{min-height:100dvh}.main{flex-direction:column;min-height:100dvh;display:flex}.page{flex:1;width:100%;max-width:760px;margin:0 auto;padding:8px 16px 48px}.page-title{margin:12px 0 16px;font-size:20px;font-weight:700}.topbar{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);background:#ffffffeb;align-items:center;gap:12px;padding:10px 16px;display:flex;position:sticky;top:0}.topbar-name{font-weight:700}.menu-btn{background:var(--main-light);border-radius:10px;place-content:center;gap:4px;width:40px;height:40px;display:grid}.menu-btn span{background:var(--main-dark);border-radius:2px;width:18px;height:2px;display:block}.overlay{z-index:30;background:#0f172a59;position:fixed;inset:0}.sidebar{z-index:40;background:var(--white);border-right:1px solid var(--line);width:260px;padding:20px 14px;transition:transform .25s;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-100%)}.sidebar.open{transform:none;box-shadow:8px 0 32px #0f172a26}.profile{border-bottom:1px solid var(--line);align-items:center;gap:12px;margin-bottom:14px;padding:4px 6px 20px;display:flex}.avatar{background:linear-gradient(135deg, var(--main), var(--main-dark));color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:44px;height:44px;font-weight:700;display:grid}.profile-name{font-size:16px;font-weight:700;line-height:1.3}.profile-number{color:var(--sub);font-variant-numeric:tabular-nums;align-items:center;gap:4px;font-size:13px;display:flex}.gear{width:28px;height:28px;color:var(--main-dark);border-radius:8px;place-items:center;transition:background .15s;display:inline-grid}.gear:hover{background:var(--main-light)}.nav{gap:4px;display:grid}.nav-link{color:var(--sub);border-radius:10px;padding:12px 14px;font-size:15px;font-weight:700;transition:background .15s,color .15s;display:block}.nav-link:hover{background:#f8fafc}.nav-link[aria-current=page]{background:var(--main-light);color:var(--main-dark)}@media (min-width:900px){.topbar,.overlay{display:none}.sidebar{box-shadow:none;transform:none}.main{margin-left:260px}.page,.footer-logo{margin:0;padding-left:32px;padding-right:32px}.page{max-width:1000px;padding-top:24px}}.footer{border-top:1px solid var(--line);background:var(--main-light)}.footer-logo{max-width:760px;margin:0 auto;padding:20px 16px 40px}.footer-logo span,.footer-logo img{object-fit:cover;border-radius:50%;place-items:center;width:56px;height:56px;display:grid}.footer-logo span{color:#7dd3fc;letter-spacing:.05em;border:2px dashed #bae6fd;font-size:11px;font-weight:700}.month-switch{justify-content:center;align-items:center;gap:16px;margin-bottom:12px;font-weight:700;display:flex}.month-switch button{background:var(--main-light);width:36px;height:36px;color:var(--main-dark);border-radius:50%;font-size:18px}.month-switch button:disabled{opacity:.35;cursor:default}.totals{grid-template-columns:1fr 1fr;gap:10px;display:grid}.total-card{background:linear-gradient(135deg, var(--main), var(--main-dark));color:#fff;border-radius:16px;min-width:0;padding:16px 14px;box-shadow:0 6px 18px #0ea5e940}.total-card.year{background:var(--white);color:var(--text);box-shadow:var(--shadow);border:1px solid #bae6fd}.total-label{opacity:.9;font-size:13px}.total-amount{letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:2px 0 8px;font-size:clamp(22px,6.4vw,32px);font-weight:900;line-height:1.25}.pending-pill{background:#ffffff38;border-radius:999px;padding:2px 10px;font-size:11px;display:inline-block}.total-card.year .pending-pill{background:var(--main-light);color:var(--main-dark)}.section-title{margin:28px 0 10px;font-size:15px;font-weight:700}.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.breakdown-row{justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.breakdown-row+.breakdown-row{border-top:1px solid var(--line)}.breakdown-name{font-size:15px;font-weight:700}.breakdown-calc{color:var(--sub);font-variant-numeric:tabular-nums;font-size:12px}.breakdown-amount{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:18px;font-weight:700}.history-row{grid-template-columns:52px 1fr auto;align-items:center;gap:12px;padding:12px 16px;display:grid}.history-row+.history-row{border-top:1px solid var(--line)}.history-date{color:var(--sub);font-variant-numeric:tabular-nums;font-size:13px}.history-kind{font-size:14px;font-weight:500}.history-reason{color:var(--danger);font-size:12px}.history-right{text-align:right}.history-amount{font-variant-numeric:tabular-nums;font-weight:700}.empty{text-align:center;color:var(--sub);padding:28px 16px;font-size:14px}.status{border-radius:999px;padding:1px 8px;font-size:11px;font-weight:700;display:inline-block}.status-pending{color:#92400e;background:#fef3c7}.status-approved{background:var(--main-light);color:var(--main-dark)}.status-rejected{color:var(--danger);background:#fee2e2}.status-paid{background:var(--ongoing-light);color:var(--ongoing)}.row{margin-bottom:28px}.row-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.row-title{align-items:center;gap:8px;font-size:16px;font-weight:700;display:flex}.row-arrows{gap:6px;display:none}.row-arrows button{background:var(--main-light);width:34px;height:34px;color:var(--main-dark);border-radius:50%;font-size:18px}@media (hover:hover) and (min-width:640px){.row-arrows{display:flex}}.scroller{scroll-snap-type:x mandatory;scrollbar-width:none;gap:12px;margin:0 -16px;padding:4px 16px 14px;scroll-padding:0 16px;display:flex;overflow-x:auto}.scroller::-webkit-scrollbar{display:none}.scroller>.service-card{scroll-snap-align:start;flex:0 0 78%;max-width:300px}.service-card{flex-direction:column;gap:10px;padding:18px;display:flex}.service-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.service-name{font-size:17px;font-weight:700}.service-reward{color:var(--main-dark);font-variant-numeric:tabular-nums;font-size:24px;font-weight:900;line-height:1.2}.service-reward small{color:var(--sub);margin-left:2px;font-size:13px;font-weight:500}.service-image{aspect-ratio:16/9;object-fit:cover;border-radius:10px;width:100%;display:block}.service-rule{color:var(--sub);font-size:13px}.service-card .btn{margin-top:auto}.label{border-radius:6px;flex-shrink:0;padding:2px 10px;font-size:12px;font-weight:700}.label-single{background:var(--main-light);color:var(--main-dark);border:1px solid #bae6fd}.label-ongoing{background:var(--ongoing-light);color:var(--ongoing);border:1px solid #a7f3d0}.meter{background:var(--main-light);border-radius:999px;height:6px;overflow:hidden}.meter span{background:var(--main);border-radius:inherit;height:100%;display:block}.btn{background:var(--main-dark);color:#fff;border-radius:12px;justify-content:center;align-items:center;gap:6px;min-height:46px;padding:0 18px;font-size:15px;font-weight:700;transition:filter .15s;display:inline-flex}.btn:hover:not(:disabled){filter:brightness(1.06)}.btn:disabled{cursor:not-allowed;background:#cbd5e1}.btn-ghost{background:var(--main-light);color:var(--main-dark)}.btn-ongoing{background:var(--ongoing)}.product-cover{aspect-ratio:16/9;color:#fff;border-radius:10px;place-items:center;font-size:40px;font-weight:900;display:grid}.product-desc{color:var(--sub);font-size:13px}.commission{background:var(--ongoing-light);color:var(--ongoing);border-radius:8px;padding:4px 10px;font-size:13px;font-weight:700;display:inline-block}.link-box{gap:8px;display:flex}.link-box input{border:1px solid var(--line);min-width:0;color:var(--sub);background:#f8fafc;border-radius:10px;flex:1;padding:0 12px;font-size:13px}.link-box .btn{flex-shrink:0;min-height:42px;font-size:14px}.stats{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.stat{background:var(--main-light);text-align:center;border-radius:10px;padding:8px}.stat b{font-variant-numeric:tabular-nums;font-size:18px;display:block}.stat span{color:var(--sub);font-size:11px}.subpage-head{align-items:center;gap:8px;padding:16px 0;display:flex}.subpage-head h1{font-size:18px}.back{background:var(--main-light);width:36px;height:36px;color:var(--main-dark);border-radius:50%;place-items:center;display:grid}.form{gap:14px;padding:18px;display:grid}.field{gap:6px;display:grid}.field label{font-size:13px;font-weight:700}.field input,.field select{border:1px solid var(--line);background:#fff;border-radius:10px;min-height:46px;padding:0 12px;font-size:16px}.field input:focus,.field select:focus{outline:2px solid var(--main);outline-offset:-1px}.hint{color:var(--sub);font-size:12px}.segmented{grid-template-columns:1fr 1fr;gap:8px;display:grid}.segmented label{border:1px solid var(--line);cursor:pointer;border-radius:10px;place-items:center;min-height:46px;font-weight:500;display:grid}.segmented input{opacity:0;position:absolute}.segmented label:has(input:checked){border-color:var(--main-dark);background:var(--main-light);color:var(--main-dark);font-weight:700}.bank-current{justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;display:flex}.lock-note{color:var(--sub);align-items:center;gap:6px;font-size:12px;display:flex}.logout{width:100%;color:var(--danger);background:#fff;border:1px solid #fecaca;margin-top:28px}.toast{background:var(--text);color:#fff;z-index:70;white-space:nowrap;border-radius:999px;padding:10px 18px;font-size:14px;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.guide{text-align:center;justify-items:center;gap:16px;padding:56px 8px;display:grid}.guide-icon{background:var(--main-light);width:72px;height:72px;color:var(--main-dark);border-radius:20px;place-items:center;font-size:34px;display:grid}.guide h1{font-size:22px}.guide p{color:var(--sub);font-size:14px}.modal-back{z-index:60;background:#0f172a73;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.modal{background:var(--white);border-radius:20px 20px 0 0;width:100%;max-height:92dvh;padding:8px 18px 24px;animation:.22s sheet-up;overflow-y:auto}@media (min-width:640px){.modal-back{align-items:center}.modal{border-radius:20px;max-width:480px}}@keyframes sheet-up{0%{opacity:0;transform:translateY(24px)}}.modal-head{justify-content:space-between;align-items:center;padding:8px 0 12px;display:flex}.modal-title{font-size:17px;font-weight:700}.modal-close{width:36px;height:36px;color:var(--sub);background:#f1f5f9;border-radius:50%;font-size:22px;line-height:1}.detail{gap:14px;display:grid}.slides{scroll-snap-type:x mandatory;scrollbar-width:none;display:flex;overflow-x:auto}.slides::-webkit-scrollbar{display:none}.slide{scroll-snap-align:start;background:var(--main-light);border-radius:16px;flex:0 0 100%;min-height:300px;padding:22px 20px}.slide-step{background:var(--main-dark);color:#fff;font-variant-numeric:tabular-nums;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:700;display:inline-block}.slide-title{margin:12px 0 14px;font-size:19px}.slide-points{gap:10px;list-style:none;display:grid}.slide-points li{background:var(--white);border-radius:10px;padding:10px 12px;font-size:14px}.dots{justify-content:center;gap:6px;margin:14px 0;display:flex}.dots span{background:#cbd5e1;border-radius:999px;width:7px;height:7px;transition:width .2s,background .2s}.dots span.on{background:var(--main-dark);width:20px}.slide-nav{grid-template-columns:1fr 2fr;gap:10px;display:grid}.auth{background:var(--main-light);place-items:center;min-height:100dvh;padding:24px 16px;display:grid}.auth-card{gap:16px;width:100%;max-width:400px;padding:28px 22px;display:grid}.auth-logo{justify-self:center}.auth-logo span,.auth-logo img{object-fit:cover;border-radius:50%;place-items:center;width:56px;height:56px;display:grid}.auth-logo span{color:#7dd3fc;border:2px dashed #bae6fd;font-size:11px;font-weight:700}.auth-title{text-align:center;font-size:20px}.auth-form{gap:14px;display:grid}.auth-link{color:var(--sub);justify-self:center;font-size:13px}.auth-link-inline{color:var(--main-dark);text-underline-offset:3px;font-weight:700;text-decoration:underline}.auth-foot{text-align:center;font-size:14px}.or{color:var(--sub);align-items:center;gap:10px;font-size:12px;display:flex}.or:before,.or:after{content:"";background:var(--line);flex:1;height:1px}.btn-google{color:var(--text);border:1px solid var(--line);background:#fff}.agree{align-items:center;gap:8px;font-size:14px;display:flex}.agree input{width:20px;height:20px;accent-color:var(--main-dark)}.notice{border-radius:10px;padding:10px 12px;font-size:13px}.notice-error{color:var(--danger);background:#fef2f2}.notice-ok{background:var(--ongoing-light);color:var(--ongoing)}.terms h2{margin:24px 0 8px;font-size:16px}.terms p,.terms li{font-size:14px}.terms ul{gap:4px;padding-left:1.2em;display:grid}.file{padding:10px 12px!important;font-size:14px!important}.pr-check{background:#fffbeb;border:1px solid #fde68a;border-radius:10px;padding:12px;font-weight:700}
