/* 홈페이지와 회원몰의 설치형 웹앱 공통 UI. 관리자 화면에는 적용하지 않습니다. */
.ng-app-install{max-width:1184px;margin:24px auto;padding:24px;display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid #d4e1d3;border-radius:14px;background:#edf4e9;color:#173f32;font:15px/1.7 "Malgun Gothic",sans-serif;box-sizing:border-box}
.ng-app-install p{margin:5px 0}.ng-app-install button,#ng-app-dialog button{border:0;border-radius:8px;padding:12px 18px;background:#173f32;color:#fff;font:inherit;min-height:44px;cursor:pointer}
.ng-app-install[hidden],[hidden]#ng-network-state,[hidden]#ng-app-prompt{display:none!important}
#ng-app-dialog{box-sizing:border-box;width:min(560px,calc(100% - 32px));max-height:85vh;max-height:85dvh;padding:26px;border:1px solid #d4e1d3;border-radius:18px;color:#173f32;background:#fff;font:16px/1.8 system-ui,sans-serif;overflow:auto}
#ng-app-dialog::backdrop{background:#10291f99}.ng-app-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:16px}#ng-app-dialog h2{font-size:24px;margin:0;border:0;padding:0}#ng-app-dialog h3{font-size:18px;margin:24px 0 8px}#ng-app-dialog ol{padding-left:24px}.ng-app-small{font-size:13px;color:#5d6e60}
.ng-app-nav{display:none}#ng-network-state{position:fixed;left:16px;right:16px;top:16px;z-index:1000;padding:14px;background:#173f32;color:white;border-radius:10px;font:14px/1.6 system-ui,sans-serif;pointer-events:none}
@media(max-width:750px){
 body.ng-public,body.shop,body.ng-member-auth{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px));min-width:0}
 .ng-app-nav{box-sizing:border-box;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;left:0;right:0;bottom:0;z-index:100;background:#fff;border-top:1px solid #d8e3d3;padding:5px max(6px,env(safe-area-inset-right)) calc(5px + env(safe-area-inset-bottom));box-shadow:0 -3px 15px #173f320b}
 .ng-app-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:54px;color:#627565;text-decoration:none;font:11px/1.4 system-ui,sans-serif;white-space:nowrap}
 .ng-app-nav a span{font-size:25px;line-height:1.1}.ng-app-nav a[aria-current=page]{color:#173f32;background:#edf4e9;border-radius:9px;font-weight:700}
 .ng-app-install{margin:20px 16px;padding:20px;flex-direction:column;align-items:stretch}.ng-app-install button{width:100%}
 body.shop header{padding:16px;gap:12px;flex-wrap:wrap;align-items:center}body.shop header .brand{font-size:24px;flex:1}body.shop header form{margin:0}body.shop header form button{padding:10px 14px;margin:0;min-height:44px}
 body.shop header nav{flex:1 1 100%;width:100%;order:3;overflow-x:auto;flex-wrap:nowrap;gap:8px;padding:5px 0;scrollbar-width:thin}body.shop header nav a{flex:0 0 auto;padding:10px 12px;min-height:44px;box-sizing:border-box;background:#f2f6ed;border-radius:8px;font-size:13px}
 body.shop main{margin:24px auto;padding:0 16px;width:100%;box-sizing:border-box}body.shop h1{font-size:27px;overflow-wrap:anywhere}body.shop h2{overflow-wrap:anywhere}
 body.shop .panel{padding:20px}body.shop .member-choices,body.shop .product-detail,body.shop .office-metrics{gap:16px}body.shop .choice-card{padding:26px}body.shop .choice-card span{margin-top:20px}
 body.shop input,body.shop select,body.shop textarea,body.ng-member-auth input{font-size:16px;min-height:44px}body.shop input[type=radio],body.shop input[type=checkbox]{min-height:auto}
 body.shop .catalog-keyword{min-width:0}body.shop .purchase-panel .primary-purchase{width:100%}body.shop .order-summary{padding:20px}body.shop .order-summary strong{display:block;margin:6px 0;font-size:24px}
 body.shop .product-sections{flex-wrap:wrap}.shop .product-grid{gap:18px}.shop .product-info{padding:20px}
 body.shop .ng-mobile-table{min-width:0;width:100%}body.shop .ng-mobile-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 body.shop .ng-mobile-table tbody{display:block}body.shop .ng-mobile-table tr{display:block;padding:14px;border:1px solid #d8e3d3;border-radius:12px;background:#fff;margin-bottom:14px}
 body.shop .ng-mobile-table td{display:grid;grid-template-columns:92px minmax(0,1fr);align-items:start;gap:10px;padding:10px 0;white-space:normal;overflow-wrap:anywhere;border:0;font-size:14px;text-align:left}
 body.shop .ng-mobile-table td::before{content:attr(data-mobile-label);font-weight:700;color:#607562}body.shop .ng-mobile-table td[colspan]{display:block}body.shop .ng-mobile-table td[colspan]::before{content:none}
 body.shop .ng-mobile-table td>form{min-width:0;margin:0}body.shop .ng-mobile-table td button{margin:0;min-height:44px}body.shop .ng-mobile-table td .quantity{width:74px}
 body.ng-member-auth{box-sizing:border-box;padding-top:20px;display:block}body.ng-member-auth .auth-card{max-width:460px;width:calc(100% - 32px);padding:24px;margin:0 auto;box-sizing:border-box}
 .ng-app-nav a:focus-visible,.ng-app-install button:focus-visible{outline:3px solid #76995d;outline-offset:2px}
}
@media(display-mode:standalone){body{overscroll-behavior-y:contain}.ng-app-install{display:none}}

@media(max-width:750px){body.shop .member-welcome h1{font-size:25px;letter-spacing:0;word-break:keep-all}body.shop .actions{flex-wrap:wrap}body.shop .actions>a{word-break:keep-all}}
