:root{--color-primary:#95b358;--color-green:#d1dc55;--color-green-hover:#4a6724;--color-text-primary:#211922;--color-text-black:#000000;--color-text-secondary:#62625b;--color-text-disabled:#91918c;--color-text-white:#ffffff;--color-focus:#435ee5;--color-performance-purple:#69349B;--color-recommendation-purple:#7e238b;--color-link:#2b48d4;--color-pressed-blue:#617bff;--color-surface-white:#ffffff;--color-surface-sand:#e5e5e0;--color-surface-warm-light:#e0e0d9;--color-surface-warm-wash:hsla(60,20%,98%,0.5);--color-surface-fog:#f6f6f3;--color-surface-dark:#33332e;--color-surface-black:#130F08;--color-border-default:#91918c;--color-border-disabled:#c8c8c1;--color-border-hover:#bcbcb3;--color-error:#9e0a0a;--font-family-latin:var(--font-plus-jakarta-sans),-apple-system,system-ui,"Segoe UI",Roboto,"Oxygen-Sans","Helvetica Neue",Helvetica,Arial,sans-serif;--font-family-korean:var(--font-min-sans),var(--font-plus-jakarta-sans),-apple-system,system-ui,"Segoe UI",Roboto,"Helvetica Neue",Helvetica,Arial,sans-serif;--font-display:clamp(1.6rem,4vw + 0.8rem,3.5rem);--font-heading:clamp(1rem,1.6vw + 0.6rem,1.4rem);--font-body:clamp(0.875rem,0.8vw + 0.6rem,1rem);--font-caption-bold:0.75rem;--font-caption:0.625rem;--font-button:14px;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--space-section:32px;--space-page-x:16px;--space-page-y:16px;--space-grid-gap:8px;--space-card-padding:12px;--radius-standard:12px;--radius-button:99px;--radius-comfortable:20px;--radius-large:28px;--radius-section:32px;--radius-hero:40px;--radius-circle:50%;--transition-fast:150ms ease;--transition-normal:250ms ease;--transition-slow:400ms ease;--shadow-subtle:0 2px 8px rgba(33,25,34,0.06);--shadow-dropdown:0 4px 16px rgba(33,25,34,0.1)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--font-family-korean);font-size:var(--font-body);line-height:1.4;color:var(--color-text-primary);background-color:var(--color-surface-fog);min-height:100dvh}a{color:var(--color-link);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary)}img{max-width:100%;height:auto;display:block}button{font-family:inherit;cursor:pointer;border:none;background:none}input,select,textarea{font-family:inherit;font-size:inherit}ol,ul{list-style:none}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border-hover);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-disabled)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.page-container{padding-left:max(var(--space-page-x),env(safe-area-inset-left));padding-right:max(var(--space-page-x),env(safe-area-inset-right));padding-bottom:env(safe-area-inset-bottom)}@keyframes pageFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.animate-page-in{animation:pageFadeIn .5s cubic-bezier(.25,1,.5,1) forwards}@keyframes pageSlideInRight{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}.animate-slide-in-right{animation:pageSlideInRight .5s cubic-bezier(.25,1,.5,1) forwards}@keyframes pageSlideInLeft{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}.animate-slide-in-left{animation:pageSlideInLeft .5s cubic-bezier(.25,1,.5,1) forwards}@media (prefers-reduced-motion:reduce){.animate-page-in,.animate-slide-in-left,.animate-slide-in-right{animation:none;opacity:1;transform:none}}.layout_appContainer__1cDff{width:100%;max-width:450px;min-height:100dvh;margin:0 auto;background-color:var(--color-surface-fog);box-shadow:0 0 30px rgba(0,0,0,.08);display:flex;flex-direction:column;position:relative}.layout_main__ABI2k{flex:1 1;display:flex;flex-direction:column}.layout_adminContainer__42Fgb{width:100%;min-height:100vh;margin:0 auto;background-color:var(--color-surface-fog);display:flex;flex-direction:column;position:relative}.Header_header__pXml_{position:-webkit-sticky;position:sticky;top:0;z-index:100;background-color:var(--color-surface-fog);border-bottom:1px solid var(--color-surface-sand)}.Header_headerInner__z2OtJ{display:flex;align-items:center;justify-content:space-between;width:100%;margin:0 auto;padding:10px var(--space-page-x)}.Header_logo__sUWiP{display:flex;align-items:center;text-decoration:none;z-index:10}.Header_logoImage__25y2d{height:15px;width:auto;object-fit:contain}.Header_rightIcons__MQd3A{display:flex;align-items:center;gap:4px}.Header_iconBtn__550pR{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-circle);background:transparent;border:none;cursor:pointer;transition:opacity var(--transition-fast);flex-shrink:0;z-index:20}.Header_iconBtn__550pR:hover{opacity:.7}.Header_iconImage__ISuaD{width:20px;height:20px;object-fit:contain}.Header_iconWrapper___a5sZ{position:relative}.Header_badge__oPy9I,.Header_iconWrapper___a5sZ{display:flex;align-items:center;justify-content:center}.Header_badge__oPy9I{position:absolute;top:-4px;right:-4px;background-color:#ff3b30;color:white;font-size:10px;font-weight:700;min-width:16px;height:16px;border-radius:99px;padding:0 4px;border:2px solid var(--color-surface-fog)}.Header_adminBtn__O1vsd{display:inline-flex;align-items:center;justify-content:center;height:28px;padding:0 12px;border-radius:var(--radius-button);background-color:color-mix(in srgb,var(--color-green) 80%,transparent);color:#111;font-size:13px;font-weight:700;text-decoration:none;margin-right:8px;box-shadow:0 2px 8px rgba(0,0,0,.1);transition:opacity var(--transition-fast)}.Header_adminBtn__O1vsd:hover{opacity:.8}.NotificationPanel_overlay__Morne{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.2);z-index:199}.NotificationPanel_panel__ACHec{position:absolute;top:calc(100% + 10px);right:10px;width:min(340px,calc(100vw - 32px));max-height:480px;z-index:200;background:rgba(255,255,255,.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-comfortable);border:1px solid rgba(255,255,255,.3);box-shadow:0 8px 32px rgba(0,0,0,.12),inset 0 1px 0 rgba(255,255,255,.5),inset 0 -1px 0 rgba(255,255,255,.1),inset 0 0 28px 14px rgba(255,255,255,.8);display:flex;flex-direction:column;overflow:hidden;animation:NotificationPanel_slideDown__0xgDX .2s ease-out}@keyframes NotificationPanel_slideDown__0xgDX{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.NotificationPanel_panel__ACHec:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.8),transparent);z-index:0}.NotificationPanel_panelHeader__G5qOG{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 12px;border-bottom:1px solid rgba(0,0,0,.06);flex-shrink:0}.NotificationPanel_panelTitle__t2XII{font-size:16px;font-weight:700;color:var(--color-text-primary);margin:0;font-family:var(--font-family-latin)}.NotificationPanel_panelActions__Ke_EI{display:flex;align-items:center;gap:8px}.NotificationPanel_markAllBtn__kqufi{font-size:12px;font-weight:600;color:var(--color-primary);background:none;border:none;cursor:pointer;padding:4px 8px;border-radius:6px;transition:background .15s}.NotificationPanel_markAllBtn__kqufi:hover{background:rgba(149,179,88,.1)}.NotificationPanel_closeBtn__vh09V{width:28px;height:28px;background:none;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;color:var(--color-text-secondary);transition:opacity .2s;border-radius:var(--radius-circle)}.NotificationPanel_closeBtn__vh09V:hover{opacity:.6}.NotificationPanel_notificationList___vszk{flex:1 1;overflow-y:auto;padding:4px 0;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.1) transparent}.NotificationPanel_notificationList___vszk::-webkit-scrollbar{width:4px}.NotificationPanel_notificationList___vszk::-webkit-scrollbar-thumb{background:rgba(0,0,0,.1);border-radius:4px}.NotificationPanel_notificationItem__hF4Lc{display:flex;align-items:flex-start;gap:12px;width:100%;padding:12px 16px;background:transparent;border:none;cursor:pointer;text-align:left;transition:background .15s;position:relative}.NotificationPanel_notificationItem__hF4Lc:hover{background:rgba(0,0,0,.03)}.NotificationPanel_notificationItem__hF4Lc.NotificationPanel_unread__6QzlR{background:color-mix(in srgb,var(--color-primary) 5%,transparent)}.NotificationPanel_notificationItem__hF4Lc.NotificationPanel_unread__6QzlR:hover{background:color-mix(in srgb,var(--color-primary) 10%,transparent)}.NotificationPanel_iconContainer__UEPoz{flex-shrink:0;width:36px;height:36px;border-radius:var(--radius-circle);background:var(--color-surface-sand);display:flex;align-items:center;justify-content:center;margin-top:2px}.NotificationPanel_typeIcon__HLPDN{width:18px;height:18px;object-fit:contain}.NotificationPanel_itemContent__JqqJ3{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:2px}.NotificationPanel_typeLabel__0Or2W{font-size:11px;font-weight:600;color:var(--color-primary);text-transform:uppercase;letter-spacing:.3px}.NotificationPanel_itemMessage__2bP6n{font-size:13px;color:var(--color-text-primary);line-height:1.4;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.NotificationPanel_itemTime__aqbMJ{font-size:11px;color:var(--color-text-tertiary);margin-top:2px}.NotificationPanel_unreadDot__cufnU{flex-shrink:0;width:8px;height:8px;border-radius:var(--radius-circle);background-color:#007aff;margin-top:6px}.NotificationPanel_emptyState__cCbeO{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 16px;gap:12px}.NotificationPanel_emptyState__cCbeO p{font-size:14px;color:var(--color-text-tertiary);margin:0}.NotificationPanel_emptyIcon__uyuxw{width:40px;height:40px;opacity:.3}.Footer_footer__o4_Ec{background-color:var(--color-surface-dark);color:var(--color-text-disabled);padding:var(--space-section) var(--space-page-x);margin-top:auto}.Footer_footerInner___rJwL{max-width:1200px;margin:0 auto}.Footer_footerTop__fJklH{display:flex;flex-direction:column;gap:32px;padding-bottom:32px;border-bottom:1px solid rgba(255,255,255,.08)}.Footer_footerBrand__ZSmlv{display:flex;flex-direction:column;gap:12px}.Footer_footerLogo__p3v4Y{display:flex;align-items:center;gap:8px}.Footer_footerLogoImage__eRTz9{height:20px;width:auto;filter:brightness(0) invert(1)}.Footer_footerDesc__sp5__{font-size:var(--font-caption);line-height:1.5;color:var(--color-text-disabled);max-width:320px}.Footer_footerLinks__txsgW{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:24px;gap:24px}.Footer_footerLinkGroup__Pyt_H h4{font-size:var(--font-caption-bold);font-weight:var(--weight-bold);color:var(--color-text-white);margin-bottom:12px}.Footer_footerLinkGroup__Pyt_H ul{display:flex;flex-direction:column;gap:8px}.Footer_footerLinkGroup__Pyt_H a{font-size:var(--font-caption);color:var(--color-text-disabled);text-decoration:none;transition:color var(--transition-fast)}.Footer_footerLinkGroup__Pyt_H a:hover{color:var(--color-text-white)}.Footer_footerBottom__KjW7F{padding-top:24px;display:flex;flex-direction:column;gap:8px;align-items:center}.Footer_footerCopyright__P7PXC{font-size:var(--font-caption);color:var(--color-text-disabled)}.BottomNav_bottomNav__pswOs{display:flex;position:fixed;bottom:24px;left:50%;transform:translateX(-50%);width:350px;height:70px;z-index:100;padding:0 16px;align-items:center;background:rgba(255,255,255,.5);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-section);border:1px solid rgba(255,255,255,.3);box-shadow:0 8px 32px rgba(0,0,0,.1),inset 0 1px 0 rgba(255,255,255,.5),inset 0 -1px 0 rgba(255,255,255,.1),inset 0 0 28px 14px rgba(255,255,255,1);overflow:hidden}.BottomNav_bottomNav__pswOs:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.8),transparent);z-index:0}.BottomNav_bottomNav__pswOs:after{content:"";position:absolute;top:0;left:0;width:1px;height:100%;background:linear-gradient(180deg,rgba(255,255,255,.8),transparent,rgba(255,255,255,.3));z-index:0}.BottomNav_navItem__0JCHT{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;height:42px;border-radius:var(--radius-button);text-decoration:none;color:var(--color-text-secondary);transition:all var(--transition-fast);margin:0 2px;position:relative;z-index:1}.BottomNav_navItem__0JCHT:hover{transform:translateY(-2px)}.BottomNav_navItemActive__YhJEb{background:color-mix(in srgb,var(--color-green) 90%,transparent);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.4);box-shadow:0 8px 32px rgba(0,0,0,.12),inset 0 1px 0 rgba(255,255,255,.6),inset 0 -1px 0 rgba(255,255,255,.1),inset 0 0 28px 14px color-mix(in srgb,var(--color-green) 20%,transparent)}.BottomNav_navIcon__y6d38{width:24px;height:24px;object-fit:contain}.BottomSheet_overlay___qYv0{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);z-index:1000;display:flex;flex-direction:column;justify-content:flex-end;animation:BottomSheet_fadeIn__xTEqN .3s ease-out}.BottomSheet_sheet__Xmpy1{background-color:var(--color-surface,#ffffff);border-radius:var(--radius-comfortable,30px) var(--radius-comfortable,30px) 0 0;padding:16px 20px 32px;width:100%;max-width:450px;margin:0 auto;box-shadow:0 -4px 20px rgba(0,0,0,.1);animation:BottomSheet_slideUp__xDIqm .3s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;max-height:90vh}.BottomSheet_handle__0DpGk{width:40px;height:4px;background-color:var(--color-border,#e0e0e0);border-radius:var(--radius-button,99px);margin:0 auto 16px}.BottomSheet_header__TsJsT{margin-bottom:16px;text-align:center}.BottomSheet_title__eWQ9_{font-size:18px;font-weight:700;margin:0;color:var(--color-text-primary,#111111)}.BottomSheet_content___YJmS{overflow-y:auto;flex:1 1}@keyframes BottomSheet_fadeIn__xTEqN{0%{opacity:0}to{opacity:1}}@keyframes BottomSheet_slideUp__xDIqm{0%{transform:translateY(100%)}to{transform:translateY(0)}}