*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--sage: #6B8F71;--sage-light: #E8F0E9;--sage-dark: #3D5E42;--font: "Noto Sans KR", -apple-system, BlinkMacSystemFont, sans-serif;--sidebar-w: 215px;--sidebar-col: 52px;--border: rgba(0,0,0,.08)}html,body,#root{height:100%;font-family:var(--font);background:#f4f1ec;color:#2c2c2a;-webkit-font-smoothing:antialiased}button{cursor:pointer;font-family:var(--font)}input,select{font-family:var(--font)}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#00000026;border-radius:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}.animate-in{animation:fadeIn .2s ease-out}.spin{animation:spin .7s linear infinite;display:inline-block}.app-shell{display:flex;height:100vh;overflow:hidden}.sidebar{width:var(--sidebar-w);background:#3d5e42;display:flex;flex-direction:column;flex-shrink:0;overflow:hidden;transition:width .22s ease}.sidebar.collapsed{width:var(--sidebar-col)}.main-area{flex:1;display:flex;overflow:hidden;min-width:0}.center-col{flex:1;overflow-y:auto;padding:18px 16px;display:flex;flex-direction:column;gap:14px;min-width:0}.right-panel{width:228px;flex-shrink:0;overflow-y:auto;padding:18px 14px;border-left:.5px solid var(--border);display:flex;flex-direction:column;gap:14px}.mobile-nav{display:none;position:fixed;bottom:0;left:0;right:0;z-index:200;background:#fff;border-top:.5px solid rgba(0,0,0,.1);padding-bottom:env(safe-area-inset-bottom)}@media (max-width:900px){.right-panel{display:none}.sidebar{width:var(--sidebar-col)}.sidebar.expanded-mobile{width:var(--sidebar-w);position:fixed;top:0;left:0;bottom:0;z-index:300}.sidebar .lbl{display:none}.sidebar.expanded-mobile .lbl{display:inline}.sidebar .logo-full{display:none}.sidebar.expanded-mobile .logo-full{display:block}.center-col{padding:14px 12px}}@media (max-width:600px){.sidebar{display:none!important}.mobile-nav{display:flex}.center-col{padding:12px 10px 76px}}
