:root{--green-900:#0a3b27;--green-800:#0e4f33;--green-700:#11633e;--green-600:#157a4c;--green-500:#1b9b5e;--green-400:#2bc77a;--green-300:#6be0a5;--green-50:#e6f6ee;--gold-600:#b8862f;--gold-500:#d4a24c;--gold-400:#ecc474;--gold-50:#fbf3df;--ink-900:#0e1411;--ink-700:#2a3530;--ink-500:#5b6862;--ink-300:#9aa49f;--ink-200:#c8cec9;--ink-100:#e5e8e4;--ink-50:#f3f4f1;--bg:#f7f6f1;--surface:#fff;--surface-2:#fbfaf5;--danger:#e0463a;--warn:#f1a423;--info:#2c7be5;--font-sans:"Pretendard", "Apple SD Gothic Neo", "Noto Sans KR", system-ui, -apple-system, sans-serif;--r-xs:6px;--r-sm:10px;--r-md:14px;--r-lg:20px;--r-xl:28px;--r-pill:999px;--sh-1:0 1px 2px #0e14110f, 0 1px 1px #0e14110a;--sh-2:0 4px 14px #0e141114;--sh-3:0 14px 40px #0e141124;--sh-glow:0 10px 30px #157a4c40;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-7:32px;--sp-8:40px}*{box-sizing:border-box;margin:0;padding:0}html,body{font-family:var(--font-sans);color:var(--ink-900);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"tnum" 1, "ss01" 1;line-height:1.45}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;color:inherit;background:0 0;border:0}input,select,textarea{font-family:inherit}img{max-width:100%;display:block}.viewport{background:radial-gradient(1200px 600px at 10% -10%, #d8ecdf 0%, transparent 60%), radial-gradient(900px 500px at 110% 110%, #f5e7c2 0%, transparent 55%), var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}.phone{background:var(--surface);width:390px;height:844px;box-shadow:0 0 0 11px #1a1f1c, 0 0 0 12px #2a3530, var(--sh-3);border-radius:44px;flex-direction:column;display:flex;position:relative;overflow:hidden}.phone:before{content:"";z-index:100;background:#0e1411;border-radius:20px;width:120px;height:30px;position:absolute;top:10px;left:50%;transform:translate(-50%)}@media (max-width:480px){.viewport{background:var(--bg);min-height:100dvh;padding:0}.phone{width:100vw;height:100dvh;box-shadow:none;border-radius:0}.phone:before{display:none}}.statusbar{height:44px;color:var(--ink-900);z-index:50;flex-shrink:0;justify-content:space-between;align-items:center;padding:0 28px;font-size:14px;font-weight:600;display:flex;position:relative}.statusbar.on-dark{color:#fff}.statusbar .right{align-items:center;gap:6px;font-size:12px;display:flex}@media (max-width:480px){.statusbar{display:none}}.screen{background:var(--bg);scrollbar-width:thin;-webkit-overflow-scrolling:touch;flex:1;position:relative;overflow:hidden auto}.screen::-webkit-scrollbar{width:4px}.screen::-webkit-scrollbar-thumb{background:#0000001a;border-radius:4px}.appbar{height:56px;padding:0 var(--sp-5);background:var(--surface);border-bottom:1px solid var(--ink-100);align-items:center;gap:var(--sp-3);z-index:20;display:flex;position:sticky;top:0}.appbar h1{letter-spacing:-.3px;flex:1;font-size:18px;font-weight:700}.appbar .iconbtn{border-radius:10px;place-items:center;width:36px;height:36px;display:grid}.appbar .iconbtn:hover{background:var(--ink-50)}.appbar .iconbtn:active{background:var(--ink-100)}.tabbar{background:var(--surface);border-top:1px solid var(--ink-100);z-index:30;flex-shrink:0;align-items:stretch;height:78px;padding:8px 4px 18px;display:flex;position:relative}.tabbar a{color:var(--ink-300);letter-spacing:-.2px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;font-size:11px;font-weight:600;transition:color .12s;display:flex}.tabbar a.active{color:var(--green-700)}.tabbar a:active{color:var(--green-600)}.tabbar a svg{width:24px;height:24px}.tabbar .fab-slot{flex:0 0 64px;position:relative}.fab{background:linear-gradient(135deg, var(--green-500), var(--green-700));color:#fff;width:60px;height:60px;box-shadow:var(--sh-glow);border:4px solid #fff;border-radius:50%;place-items:center;transition:transform .12s;display:grid;position:absolute;top:-22px;left:50%;transform:translate(-50%)}.fab:active{transform:translate(-50%)scale(.94)}.btn{border-radius:var(--r-md);letter-spacing:-.2px;justify-content:center;align-items:center;gap:8px;height:48px;padding:0 20px;font-size:15px;font-weight:700;transition:transform .12s,box-shadow .12s,background .12s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;pointer-events:none}.btn-primary{background:var(--green-700);color:#fff;box-shadow:var(--sh-glow)}.btn-primary:hover{background:var(--green-600)}.btn-secondary{background:var(--ink-50);color:var(--ink-900)}.btn-secondary:hover{background:var(--ink-100)}.btn-outline{color:var(--green-700);border:1.5px solid var(--green-700);background:0 0}.btn-ghost{color:var(--ink-700);background:0 0}.btn-gold{background:linear-gradient(135deg, var(--gold-500), var(--gold-600));color:#fff}.btn-danger{background:var(--danger);color:#fff}.btn-block{width:100%}.btn-sm{border-radius:10px;height:36px;padding:0 14px;font-size:13px}.card{background:var(--surface);border-radius:var(--r-md);padding:var(--sp-5);box-shadow:var(--sh-1)}.card-elevated{box-shadow:var(--sh-2)}.card-flat{background:var(--surface);border-radius:var(--r-md);border:1px solid var(--ink-100)}.card-tap{transition:transform .12s}.card-tap:active{transform:scale(.985)}.chip{border-radius:var(--r-pill);background:var(--ink-50);color:var(--ink-700);border:1px solid #0000;align-items:center;gap:4px;padding:6px 12px;font-size:12px;font-weight:600;display:inline-flex}.chip-outline{border-color:var(--ink-200);color:var(--ink-700);background:0 0}.chip-green{background:var(--green-50);color:var(--green-700)}.chip-gold{background:var(--gold-50);color:var(--gold-600)}.chip-red{color:var(--danger);background:#fde7e5}.chip-dark{background:var(--ink-900);color:#fff}.dday{background:var(--green-700);color:#fff;letter-spacing:-.3px;border-radius:6px;align-items:center;padding:2px 8px;font-size:11px;font-weight:800;display:inline-flex}.dday.urgent{background:var(--danger)}.dday.soon{background:var(--warn)}.avatar{background:var(--ink-100);width:48px;height:48px;color:var(--ink-700);border-radius:50%;flex-shrink:0;place-items:center;font-size:16px;font-weight:700;display:grid;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.avatar-lg{width:80px;height:80px;font-size:26px}.avatar-xl{width:120px;height:120px;box-shadow:var(--sh-2);border:4px solid #fff;font-size:36px}.avatar-sm{width:36px;height:36px;font-size:13px}.avatar-ring{background:linear-gradient(135deg, var(--green-500), var(--gold-500));border-radius:50%;padding:2px}.avatar-ring>.avatar{border:2px solid #fff}.input,.select,.textarea{border:1.5px solid var(--ink-100);border-radius:var(--r-md);background:var(--surface);width:100%;height:48px;padding:0 16px;font-family:inherit;font-size:15px;transition:border .12s}.textarea{resize:vertical;height:auto;min-height:96px;padding:12px 16px;line-height:1.5}.input:focus,.select:focus,.textarea:focus{border-color:var(--green-600);outline:0}.input.error,.textarea.error{border-color:var(--danger)}.field-label{color:var(--ink-700);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.field{margin-bottom:16px}.field-hint{color:var(--ink-500);margin-top:6px;font-size:12px}.field-error{color:var(--danger);margin-top:6px;font-size:12px}.divide>*+*{border-top:1px solid var(--ink-100)}.row{align-items:center;display:flex}.col{flex-direction:column;display:flex}.gap-1{gap:4px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-5{gap:20px}.gap-6{gap:24px}.flex-1{flex:1}.center{place-items:center;display:grid}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.muted{color:var(--ink-500)}.tiny{font-size:11px}.small{font-size:12px}.h1{letter-spacing:-.6px;font-size:28px;font-weight:800;line-height:1.2}.h2{letter-spacing:-.4px;font-size:22px;font-weight:800}.h3{letter-spacing:-.3px;font-size:18px;font-weight:700}.h4{font-size:15px;font-weight:700}.bold{font-weight:700}.semibold{font-weight:600}.text-green{color:var(--green-700)}.text-gold{color:var(--gold-600)}.text-danger{color:var(--danger)}.center-text{text-align:center}.p-0{padding:0!important}.p-3{padding:12px}.p-4{padding:16px}.p-5{padding:20px}.p-6{padding:24px}.px-5{padding-left:20px;padding-right:20px}.py-3{padding-top:12px;padding-bottom:12px}.py-4{padding-top:16px;padding-bottom:16px}.py-5{padding-top:20px;padding-bottom:20px}.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.mt-5{margin-top:20px}.mt-6{margin-top:24px}.mb-1{margin-bottom:4px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.section{padding:20px}.section-title{letter-spacing:-.3px;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:17px;font-weight:700;display:flex}.section-title .more{color:var(--ink-500);font-size:12px;font-weight:500}.hero-green{color:#fff;background:linear-gradient(160deg,#0e4f33 0%,#157a4c 60%,#1b9b5e 100%)}.hero-dark{color:#fff;background:linear-gradient(#0a1f15 0%,#0e1411 100%)}.img-ph{background:linear-gradient(135deg,#cfe6d6 0%,#a8d3b9 50%,#78bd91 100%);position:relative;overflow:hidden}.img-ph>img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.img-ph.dark{background:linear-gradient(135deg,#1f3b2c,#0e1411)}.img-ph.gold{background:linear-gradient(135deg,#f4e3b0,#d4a24c)}.img-ph.sky{background:linear-gradient(135deg,#b9d6ec,#6e9bc6)}.img-ph.sand{background:linear-gradient(135deg,#f1e4c1,#c79f5b)}.hr{background:var(--ink-100);border:0;height:1px;margin:16px 0}.toast-wrap{z-index:200;pointer-events:none;flex-direction:column;gap:8px;width:max-content;max-width:86%;display:flex;position:absolute;bottom:96px;left:50%;transform:translate(-50%)}.toast{background:var(--ink-900);color:#fff;border-radius:var(--r-pill);box-shadow:var(--sh-3);padding:12px 18px;font-size:13px;font-weight:600;animation:.22s toast-in}.toast.error{background:var(--danger)}.toast.success{background:var(--green-700)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.sheet-backdrop{z-index:150;background:#0e141180;align-items:flex-end;animation:.18s fade-in;display:flex;position:absolute;inset:0}.sheet{background:var(--surface);border-radius:var(--r-xl) var(--r-xl) 0 0;width:100%;padding:24px 20px 28px;animation:.24s sheet-up}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.empty{text-align:center;color:var(--ink-500);flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:56px 24px;display:flex}.empty .emoji{font-size:40px}.skeleton{background:linear-gradient(90deg, var(--ink-50) 25%, var(--ink-100) 37%, var(--ink-50) 63%);border-radius:var(--r-sm);background-size:400% 100%;animation:1.3s infinite shimmer}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.badge{background:var(--danger);color:#fff;border-radius:999px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:10px;font-weight:800;display:inline-grid}.atbl-wrap{border:1px solid var(--ink-100);background:var(--surface);border-radius:12px;overflow-x:auto}.atbl{border-collapse:collapse;width:100%;font-size:13px}.atbl th{text-align:left;color:var(--ink-500);letter-spacing:.03em;text-transform:uppercase;border-bottom:1px solid var(--ink-100);background:var(--ink-50);white-space:nowrap;padding:10px 14px;font-size:11px;font-weight:800}.atbl td{border-bottom:1px solid var(--ink-100);vertical-align:middle;padding:11px 14px}.atbl tbody tr:last-child td{border-bottom:none}.atbl tbody tr.clk{cursor:pointer}.atbl tbody tr.clk:hover{background:var(--ink-50)}.atbl td.num,.atbl th.num{font-variant-numeric:tabular-nums;text-align:right}.apager{color:var(--ink-500);border-top:1px solid var(--ink-100);justify-content:space-between;align-items:center;padding:10px 14px;font-size:12px;display:flex}.apager .pgbtn{border:1px solid var(--ink-100);background:var(--surface);color:var(--ink-700);cursor:pointer;border-radius:8px;padding:6px 11px;font-size:12px;font-weight:700}.apager .pgbtn:disabled{opacity:.4;cursor:default}.afilter{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:12px;display:flex}.afchip{border:1px solid var(--ink-100);background:var(--surface);color:var(--ink-500);cursor:pointer;white-space:nowrap;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:700}.afchip.on{background:var(--green-700);color:#fff;border-color:var(--green-700)}.afchip.on2{background:var(--ink-900);color:#fff;border-color:var(--ink-900)}@media (max-width:640px){.atbl-wrap{background:0 0;border:none;overflow:visible}.atbl,.atbl tbody,.atbl tr,.atbl td{width:auto;display:block}.atbl thead{display:none}.atbl tbody tr{background:var(--surface);border:1px solid var(--ink-100);border-radius:12px;margin-bottom:10px}.atbl td{text-align:right;border:none;justify-content:space-between;align-items:center;gap:12px;padding:8px 14px;display:flex}.atbl td:before{content:attr(data-label);color:var(--ink-500);text-align:left;white-space:nowrap;flex:none;font-size:12px;font-weight:700}.atbl td.num{text-align:right}.atbl td:first-child{border-bottom:1px dashed var(--ink-100);justify-content:flex-start;padding:10px 14px;font-size:15px;font-weight:800}.atbl td:first-child:before,.atbl td[data-label=""]:before{display:none}.apager{border-top:none;padding:10px 2px}}.alogin{z-index:110;background:var(--surface);min-height:100vh;display:flex;position:fixed;inset:0;overflow:auto}.alogin-brand{color:#fff;background:radial-gradient(130% 130% at 0 0,#12703f 0%,#0b2c1d 55%,#071a11 100%);flex-direction:column;flex:1.15;padding:56px 52px;display:flex;position:relative;overflow:hidden}.alogin-brand:after{content:"⛳";opacity:.05;pointer-events:none;font-size:340px;position:absolute;bottom:-46px;right:-34px}.alogin-logo{letter-spacing:-.01em;align-items:center;gap:10px;font-size:18px;font-weight:800;display:flex}.alogin-logo .dot{background:linear-gradient(135deg,#31c065,#146b34);border-radius:9px;place-items:center;width:30px;height:30px;font-size:16px;display:grid}.alogin-logo .badge{letter-spacing:.12em;background:#ffffff24;border:1px solid #ffffff42;border-radius:6px;margin-left:8px;padding:3px 9px;font-size:10px;font-weight:800}.alogin-hero{margin-top:auto}.alogin-hero h1{letter-spacing:-.02em;font-size:clamp(26px,3vw,38px);font-weight:800;line-height:1.18}.alogin-hero p{color:#ffffffb8;max-width:400px;margin-top:14px;font-size:15px;line-height:1.6}.alogin-feats{flex-direction:column;gap:13px;margin-top:30px;display:flex}.alogin-feat{color:#ffffffeb;align-items:center;gap:12px;font-size:14px;display:flex}.alogin-feat .fi{background:#ffffff1a;border-radius:10px;flex:none;place-items:center;width:36px;height:36px;font-size:17px;display:grid}.alogin-foot{color:#ffffff80;margin-top:44px;font-size:12px}.alogin-form{flex:1;justify-content:center;align-items:center;padding:40px 28px;display:flex}.alogin-form-inner{width:100%;max-width:380px}.alogin-mbrand{display:none}.alogin-form-inner h2{color:var(--ink-900);letter-spacing:-.02em;font-size:25px;font-weight:800}.alogin-form-inner .sub{color:var(--ink-500);margin:6px 0 28px;font-size:14px}.alogin-lbl{color:var(--ink-700);margin:0 0 7px;font-size:12.5px;font-weight:700;display:block}.alogin-inp{border:1.5px solid var(--ink-100);box-sizing:border-box;background:var(--surface);border-radius:10px;outline:none;width:100%;height:48px;margin-bottom:18px;padding:0 14px;font-size:15px;transition:border-color .12s}.alogin-inp:focus{border-color:var(--green-600)}.alogin-btn{background:var(--green-700);color:#fff;cursor:pointer;border:none;border-radius:11px;width:100%;height:50px;font-size:16px;font-weight:800;transition:background .12s}.alogin-btn:hover{background:var(--green-600)}.alogin-btn:disabled{opacity:.6;cursor:default}.alogin-err{color:#d1443f;background:#fde7e5;border-radius:8px;margin-bottom:16px;padding:10px 12px;font-size:13px;font-weight:600}.alogin-note{color:var(--ink-400);text-align:center;margin-top:24px;font-size:12px;line-height:1.5}@media (max-width:900px){.alogin-brand{display:none}.alogin-mbrand{color:var(--green-700);align-items:center;gap:8px;margin-bottom:26px;font-size:17px;font-weight:800;display:flex}.alogin-mbrand .dot{background:linear-gradient(135deg,#31c065,#146b34);border-radius:8px;place-items:center;width:28px;height:28px;font-size:15px;display:grid}.alogin-mbrand .badge{background:var(--green-700);color:#fff;letter-spacing:.1em;border-radius:6px;margin-left:auto;padding:3px 9px;font-size:10px;font-weight:800}}
