/* iPhone 상태 표시줄·홈 인디케이터·가로 화면의 안전 영역. */
:root{--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);}
.workspace .brand-bar{min-height:calc(60px + var(--safe-top));padding-top:calc(13px + var(--safe-top));padding-left:calc(24px + var(--safe-left));padding-right:calc(24px + var(--safe-right));}
.workspace-sidebar{top:calc(60px + var(--safe-top));padding-bottom:calc(20px + var(--safe-bottom));}
.auth-page{padding-top:var(--safe-top);padding-left:var(--safe-left);padding-right:var(--safe-right);}
.auth-foot{padding-bottom:calc(16px + var(--safe-bottom));}
.modal-overlay{padding:calc(20px + var(--safe-top)) calc(20px + var(--safe-right)) calc(20px + var(--safe-bottom)) calc(20px + var(--safe-left));}
.modal-box{max-height:min(88vh,calc(100dvh - 40px - var(--safe-top) - var(--safe-bottom)));}
.drawer{padding-top:var(--safe-top);padding-bottom:var(--safe-bottom);padding-right:var(--safe-right);}
.toast-stack{bottom:calc(28px + var(--safe-bottom));}
.customer-dialog,.pwa-install-dialog{max-height:calc(90dvh - var(--safe-top) - var(--safe-bottom));}
.workspace-install{margin-top:16px;}
.workspace-install:not([hidden]) + .workspace-logout{margin-top:0;}
.pwa-install-dialog{box-sizing:border-box;width:min(430px,calc(100% - 36px - var(--safe-left) - var(--safe-right)));padding:26px;border:1px solid var(--border);border-radius:12px;background:var(--card);color:var(--text);box-shadow:0 24px 80px rgba(0,0,0,.3);overflow-y:auto;}
.pwa-install-dialog::backdrop{background:rgba(10,15,26,.65);}
.pwa-install-heading{display:flex;align-items:center;gap:14px;}
.pwa-install-heading img{flex:none;border-radius:12px;}
.pwa-install-heading small{display:block;color:var(--muted);font:800 9px var(--font-display);letter-spacing:.12em;}
.pwa-install-dialog h2{margin:6px 0 0;font-size:1.125rem;}
.pwa-install-dialog p,.pwa-install-dialog li{font-size:.875rem;line-height:1.8;}
.pwa-install-dialog ol{padding-left:22px;margin:20px 0;}
.pwa-install-dialog li{padding-left:3px;margin:10px 0;}
.pwa-install-dialog li::marker{font-weight:800;color:var(--accent);}
.pwa-install-dialog .pwa-install-note{padding-top:16px;border-top:1px solid var(--border);color:var(--muted);font-size:.75rem;}
.pwa-install-dialog form{margin-top:22px;}
.pwa-install-dialog button{width:100%;min-height:44px;}
@media (max-width:900px){
  .workspace .brand-bar{padding-top:calc(12px + var(--safe-top));padding-left:calc(16px + var(--safe-left));padding-right:calc(16px + var(--safe-right));}
  .workspace .wrap{padding-left:calc(18px + var(--safe-left));padding-right:calc(18px + var(--safe-right));padding-bottom:calc(36px + var(--safe-bottom));}
  .workspace-sidebar{top:0;width:calc(250px + var(--safe-left));padding-top:calc(28px + var(--safe-top));padding-left:calc(16px + var(--safe-left));}
}
@media (max-width:860px){.auth-foot{padding-bottom:calc(14px + var(--safe-bottom));}}
@media (max-width:640px){.workspace .brand-bar{padding-left:calc(12px + var(--safe-left));padding-right:calc(12px + var(--safe-right));}}
@media (prefers-reduced-motion:no-preference){.pwa-install-dialog[open]{animation:pwa-appear .18s ease-out;}@keyframes pwa-appear{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}}
@media print{.pwa-install-dialog{display:none;}.workspace .wrap{padding:0;}}
