@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700;800&display=swap");*{box-sizing:border-box}body{margin:0;background:#f5f7f1;color:#243d30;font:16px Noto Sans KR,sans-serif}button,input,select{font:inherit}a,button{cursor:pointer}a{color:inherit;text-decoration:none}button{border:0}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #87ab76;outline-offset:3px}.entry{max-width:1080px;margin:auto;padding:45px 28px}.entryBrand{font-size:28px;font-weight:800;color:#24543c}.entryPanel{margin-top:60px;text-align:center}.entryEyebrow{color:#728565;font-size:15px}.entry h1{font-size:43px;line-height:1.4;letter-spacing:-1.5px;margin:22px 0}.entryPanel>p{color:#7b8871;line-height:1.8;font-size:19px}.loginChoices{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:35px auto 25px;max-width:800px;text-align:left}.loginChoices>a{background:white;padding:30px;border:1px solid #d9e4d0;border-radius:16px}.loginChoices>a:hover{border-color:#648454;box-shadow:0 0 0 2px #dbe6d2}.loginChoices span{font-size:31px;color:#7a9469}.loginChoices h2{font-size:27px;margin:15px 0 10px}.loginChoices p{font-size:16px;color:#788870}.loginChoices b{display:block;background:#24543c;color:#fff;border-radius:8px;padding:16px;margin-top:28px;font-size:18px;text-align:center}.entryPanel>small{font-size:13px;color:#8b9680;line-height:1.8;display:block}.entryAccount{margin-top:20px;color:#607551;font-size:14px}.entryError{padding:18px;background:#fff3e8;margin:20px auto;max-width:700px;color:#9e5d3b;border-radius:8px}.entry footer{color:#9aa58b;font-size:13px;text-align:center;margin-top:60px}.outline,.solid{display:inline-flex;align-items:center;justify-content:center;padding:13px 19px;border-radius:8px;font-size:16px;font-weight:600;min-height:48px}.solid{background:#24543c;color:white}.outline{background:#fff;border:1px solid #d4dfca;color:#4e6a3e}.adminHeader{height:84px;display:flex;align-items:center;padding:0 40px;background:#fff;border-bottom:1px solid #e1e7d9;gap:20px}.adminBrand{font-size:25px;font-weight:800}.adminTag{font-size:12px;background:#edf3e5;color:#668253;padding:6px 10px;border-radius:6px}.adminHeader nav{display:flex;gap:10px;margin-left:auto}.adminHeader button{padding:12px 18px;background:none;color:#7a8970;border-radius:7px}.adminHeader button.active{background:#eaf1e3;color:#24543c;font-weight:700}.adminMain{max-width:1350px;margin:0 auto;padding:36px 38px}.adminTitle{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.adminTitle h1{margin:6px 0 10px;font-size:33px;letter-spacing:-1px}.adminTitle p{font-size:15px;color:#7d8c72;margin:0}.eyebrow{font-size:11px;letter-spacing:2px;color:#809371}.ranges{display:flex;gap:5px;background:#eaf0e3;padding:5px;border-radius:8px}.ranges button{background:none;padding:10px 15px;border-radius:6px;color:#76876a}.ranges button.active{background:#fff;box-shadow:0 1px 5px #273c2211;color:#24543c;font-weight:700}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:26px 0}.metric{background:#fff;border:1px solid #e0e7d8;padding:23px;border-radius:12px}.metric span{display:block;font-size:14px;color:#7b8e6f}.metric strong{display:block;font-size:32px;letter-spacing:-1px;margin-top:12px}.metric small{font-size:12px;color:#8fa17f;display:block;margin-top:9px}.panel{border:1px solid #e0e7d8;background:#fff;border-radius:13px;padding:25px;margin-top:22px}.panelHeading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px}.panelHeading h2{font-size:21px;margin:0}.panelHeading p{font-size:13px;color:#8d9c80}.adminSearch{border:1px solid #dbe4d1;border-radius:8px;padding:12px 16px;width:280px;min-height:48px;background:#fafbf7}table{border-collapse:collapse;width:100%;white-space:nowrap;text-align:left}th{background:#f6f8f1;font-size:13px;color:#849676;padding:14px;font-weight:500}td{padding:18px 14px;border-bottom:1px solid #eef2e8;font-size:15px}.tableWrap{overflow:auto}.tableActions{display:flex;gap:8px}.tableActions a,.tableActions button{font-size:13px;min-height:40px;padding:9px 13px}.status{background:#edf4e5;color:#65804e;border-radius:5px;padding:5px 9px;font-size:12px}.inactive{background:#eee;color:#999}.adminFoot{margin:25px 0;color:#8f9e81;font-size:12px}.error{background:#fff0ea;border:1px solid #edc9b9;padding:15px;color:#a84f32;margin:15px 0}.error,.note{border-radius:8px}.note{background:#f3f7eb;color:#7a8f67;padding:16px;font-size:13px;line-height:1.8;margin:18px 0}.modalBackdrop{position:fixed;inset:0;background:#1e34274d;backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:22px;z-index:9}.adminModal{width:min(1000px,100%);background:white;border-radius:15px;padding:30px;max-height:90vh;overflow:auto}.adminModal.narrow{width:min(540px,100%)}.modalHead{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e6ecde;padding-bottom:18px;margin-bottom:22px}.modalHead h2{font-size:26px;margin:0}.close{width:42px;height:42px;background:#f1f5eb;border-radius:50%;font-size:26px;color:#769066}.adminModal label{display:block;font-size:16px;font-weight:600;margin:19px 0 9px}.adminModal input,.adminModal select{width:100%;padding:14px;border:1px solid #dbe4d1;border-radius:8px;font-size:18px;min-height:53px}.modalActions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.subheading{font-size:19px;margin:28px 0 15px}.loading{padding:100px;color:#7e9271}.empty,.loading{text-align:center}.empty{padding:35px;color:#8ca07b}.adminEmail{font-size:11px;color:#94a487}.detailMetrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.detailMetrics div{background:#f2f6ec;border-radius:9px;padding:17px;font-size:14px}.detailMetrics b{display:block;font-size:25px;margin-top:7px}@media(max-width:950px){.adminHeader{padding:15px 20px;height:auto}.adminHeader,.adminHeader nav{flex-wrap:wrap}.adminMain{padding:27px 20px}.metrics{grid-template-columns:repeat(2,1fr)}.adminTitle{align-items:flex-start}.adminTitle,.panelHeading{flex-wrap:wrap}.adminSearch{width:100%}}@media(max-width:600px){.entry{padding:25px 20px}.entryPanel{margin-top:35px}.entry h1{font-size:32px}.loginChoices{grid-template-columns:1fr}.loginChoices>a{padding:25px}.adminTitle h1{font-size:28px}.adminHeader nav{width:100%;margin-left:0;justify-content:space-between}.adminHeader button{padding:10px}.adminMain{padding:23px 15px}.metrics{gap:10px}.metric{padding:17px}.metric strong{font-size:25px}.metric span{font-size:12px}.panel{padding:18px}.adminModal{padding:22px}.detailMetrics{grid-template-columns:1fr}.adminEmail{display:none}.ranges button{padding:9px 12px}}.loginPage{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:40px 24px 26px;background:radial-gradient(ellipse at top,#eaf0e1 0,#f6f8f1 65%)}.loginBrand{align-self:flex-start;margin-left:max(0px,calc((100vw - 1120px)/2));font-size:28px;font-weight:800;color:#24543c}.loginCard{width:min(520px,100%);margin:auto;padding:40px;background:white;border:1px solid #dce6d3;border-radius:20px;box-shadow:0 15px 55px #233c2110;text-align:center}.loginIcon{width:66px;height:66px;background:#edf4e5;color:#4e773e;margin:0 auto 20px;border-radius:16px;display:grid;place-items:center;font-size:34px}.loginEyebrow{font-size:13px;color:#819273}.loginCard h1{font-size:31px;margin:13px 0;letter-spacing:-1px}.loginCard>p{color:#768a68;font-size:16px;line-height:1.7;margin-bottom:30px}.loginCard form{text-align:left}.loginCard label{display:block;font-size:20px;font-weight:600;margin:22px 0 10px}.loginCard input{width:100%;height:64px;padding:15px 18px;font-size:23px;border:1px solid #cddbc2;border-radius:9px;color:#243d30}.loginCard input::placeholder{font-size:18px;color:#9ba98f}.loginCard #loginPin{letter-spacing:6px}.loginCard #loginPin::placeholder{letter-spacing:0}.loginSubmit{width:100%;min-height:66px;border-radius:9px;background:#24543c;color:#fff;font-size:23px;font-weight:700;margin-top:30px}.loginSubmit:disabled{opacity:.6}.loginCard>small{display:block;font-size:13px;color:#9ba98d;margin-top:23px;line-height:1.7}.loginPage>footer{font-size:13px;color:#95a387;margin-top:30px;text-align:center}.logoutButton{padding:8px 12px;background:none;color:#7e9171;font-size:14px}.adminModal .pinNote{font-size:14px;color:#7c906b;line-height:1.8}@media(max-width:600px){.loginPage{padding:22px 18px;gap:30px}.loginBrand{font-size:25px}.loginCard{padding:30px 24px}.loginCard h1{font-size:28px}.loginCard>p{font-size:15px}.loginCard label{font-size:18px}}