
#sngLoginMain{box-sizing:border-box;width:100%;max-width:720px;min-height:70vh;margin:0 auto;padding:64px 24px 72px;background:#f8fafc;border-radius:12px;font-family:inherit;color:#0f172a;}
#sngLoginMain[hidden],#sngPortalApp[hidden]{display:none!important;}
.sng-login-wrap{width:100%;max-width:448px;margin:0 auto;}
#sngLoginLogo{display:block;width:min(100%,340px);height:auto;margin:0 auto 38px;mix-blend-mode:multiply;}
#sngLoginMain h1{font-size:19px;text-align:center;margin:0 0 10px;font-weight:700;}
#sngLoginIntro{text-align:center;font-size:14px;color:#64748b;margin:0 0 28px;line-height:1.6;}
#sngLoginMain .sng-login-inputs{border:1px solid #cbd5e1;border-radius:8px;background:#fff;overflow:hidden;box-shadow:0 1px 2px #0f172a08;}
#sngLoginMain .sng-login-inputs input{display:block;box-sizing:border-box;width:100%;min-width:0;height:52px;margin:0;border:0;padding:12px 14px;background:#fff;color:#0f172a;font:inherit;font-size:16px;border-radius:0;}
#sngLoginMain .sng-login-inputs input+input{border-top:1px solid #cbd5e1;}
#sngLoginMain .sng-login-inputs input:focus{outline:2px solid #22a447;outline-offset:-2px;}
#sngLoginMain .sng-login-remember{display:flex;align-items:center;gap:9px;margin:20px 0 0;font-size:14px;cursor:pointer;}
#sngLoginMain .sng-login-remember input{width:18px;height:18px;margin:0;accent-color:#169b3d;}
#sngLoginMessage{font-size:13px;min-height:22px;margin:16px 0;color:#64748b;line-height:1.6;overflow-wrap:anywhere;}
#sngLoginMessage[data-error=true]{color:#b91c1c;}
#sngLoginMain .sng-login-submit{display:block;width:100%;min-height:48px;border:0;border-radius:8px;background:#159b3c;color:#fff;font:inherit;font-size:16px;font-weight:800;cursor:pointer;}
#sngLoginMain .sng-login-submit:hover{background:#117c30;}
#sngLoginMain button:disabled{opacity:.6;cursor:wait;}
#sngLoginMain .sng-login-links{display:flex;justify-content:center;flex-wrap:wrap;gap:16px;margin-top:20px;}
#sngLoginMain .sng-login-links button{font:inherit;font-size:13px;background:none;border:0;padding:6px;color:#475569;cursor:pointer;}
body.sng-login-required #sngPortalQuickNav,body.sng-login-required #floatingCartBar{display:none!important;}
@media(max-width:540px){#sngLoginMain{padding:42px 20px 48px;min-height:65vh;}#sngLoginLogo{width:min(100%,290px);margin-bottom:30px;}}
@media print{#sngLoginMain{display:none!important;}}

#usermgmtMainSection .sng-user-search{margin:0 0 14px;padding:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;}
#usermgmtMainSection .sng-user-search label{display:block;margin-bottom:7px;font-size:13px;font-weight:700;color:#334155;}
#usermgmtMainSection .sng-user-search-row{display:flex;align-items:center;gap:8px;min-width:0;}
#userSearchInput{flex:1;min-width:0;width:100%;box-sizing:border-box;height:44px;padding:10px 12px;font-size:16px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#0f172a;}
#userSearchInput:focus{outline:2px solid #2563eb;outline-offset:1px;}
#usermgmtMainSection .sng-user-search-clear{flex:0 0 auto;min-height:44px;padding:8px 12px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#334155;font-size:14px;font-weight:700;cursor:pointer;}
#userSearchStatus{margin-top:8px;color:#64748b;font-size:12px;overflow-wrap:anywhere;}


#mediaStage{position:relative;width:100%;min-height:0;}
#mediaViewport{height:360px;max-height:55dvh;width:100%;background:#000;overflow:auto;border-radius:8px;}
#mediaStage .media-nav-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:3;background:rgba(0,0,0,.65);color:white;border:0;border-radius:6px;min-width:36px;min-height:44px;cursor:pointer;}
#mediaPrevBtn{left:8px;}#mediaNextBtn{right:8px;}
#mediaCounter{position:absolute;top:8px;right:8px;z-index:3;background:rgba(0,0,0,.7);color:#fde047;font-size:11px;padding:2px 6px;border-radius:8px;pointer-events:none;}
#mediaOrderFooter{margin-top:10px;padding:10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;align-items:center;}
#mediaQtyControls{display:flex;align-items:center;gap:5px;}
#mediaModalQty{width:52px;font-size:16px;appearance:textfield;-moz-appearance:textfield;}
#mediaModalQty::-webkit-inner-spin-button,#mediaModalQty::-webkit-outer-spin-button{-webkit-appearance:none;margin:0;}
#mediaQtyControls .qty-btn{min-width:32px;min-height:36px;}
#mediaExpandBtn{display:block;width:100%;margin-top:10px;padding:11px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#0f172a;font-weight:800;cursor:pointer;}
#mediaViewerModal.media-expanded{padding:0!important;}
#mediaViewerModal.media-expanded .modal-content,#mediaViewerModal .modal-content:fullscreen{position:fixed;inset:0;width:100%;max-width:none!important;height:100dvh;max-height:none!important;margin:0;border-radius:0;display:flex;flex-direction:column;box-sizing:border-box;background:white;overflow:hidden;}
#mediaViewerModal.media-expanded .modal-header,#mediaViewerModal .modal-content:fullscreen .modal-header{flex:none;}
#mediaViewerModal.media-expanded .modal-body,#mediaViewerModal .modal-content:fullscreen .modal-body{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;box-sizing:border-box;padding-bottom:max(10px,env(safe-area-inset-bottom))!important;}
#mediaViewerModal.media-expanded #mediaStage,#mediaViewerModal .modal-content:fullscreen #mediaStage{flex:1;min-height:0;}
#mediaViewerModal.media-expanded #mediaViewport,#mediaViewerModal .modal-content:fullscreen #mediaViewport{height:100%;max-height:none;}
#mediaViewerModal.media-expanded #mediaOrderFooter,#mediaViewerModal.media-expanded #mediaExpandBtn,#mediaViewerModal .modal-content:fullscreen #mediaOrderFooter,#mediaViewerModal .modal-content:fullscreen #mediaExpandBtn{flex:none;}
#mediaModalTitle{min-width:0;overflow-wrap:anywhere;}

#productEditModal.admin-media-only .modal-body > :not(#editProdMediaWrap):not(#editProdSaveBtn){display:none!important;}

  /* ================= 기본 리셋 & 모달 최상단 절대고정 ================= */
  .shop-wrap, .shop-wrap *,
  .modal-overlay, .modal-overlay * {
    box-sizing: border-box !important;
    -webkit-tap-highlight-color: transparent;
  }
  .shop-wrap {
    width: 100% !important;
    max-width: 720px;
    margin: 0 auto 110px auto;
    padding: 8px 6px;
    font-family: -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Pretendard", Roboto, sans-serif;
    color: #1e293b;
    background: #f8fafc;
    overflow-x: hidden;
  }
  
  /* 상단 인증 바 */
  .auth-bar {
    background: #0f172a;
    color: #fff;
    padding: 10px 12px;
    border-radius: 10px;
    margin-bottom: 10px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 13px;
  }
  .grade-badge {
    font-size: 11px;
    font-weight: 700;
    padding: 2px 7px;
    border-radius: 4px;
    margin-left: 4px;
    display: inline-block;
  }
  .grade-6 { background: #dc2626; color: #fff; }
  .grade-5 { background: #ea580c; color: #fff; }
  .grade-4 { background: #2563eb; color: #fff; }
  .grade-3 { background:#7c3aed; color:#fff; }
  .grade-2 { background: #059669; color: #fff; }
  .grade-1 { background: #64748b; color: #fff; }

  .auth-btn {
    background: #334155;
    color: #fff;
    border: 1px solid #475569;
    padding: 5px 10px;
    border-radius: 6px;
    font-size: 12px;
    cursor: pointer;
    font-weight: 600;
  }

  /* v61: 우측 하단 공통 이동 메뉴 */
  #sngPortalQuickNav { position:fixed; right:16px; bottom:calc(16px + env(safe-area-inset-bottom, 0px) + var(--sng-nav-cart-offset, 0px)); z-index:10000; font-family:inherit; }
  #sngPortalQuickNav * { box-sizing:border-box; }
  #sngPortalNavToggle { width:54px; height:54px; display:flex; align-items:center; justify-content:center; padding:0; border:0; border-radius:50%; background:#0f172a; color:#fff; box-shadow:0 4px 18px rgba(15,23,42,.28); font-size:32px; line-height:1; cursor:pointer; }
  #sngPortalNavToggle:hover, #sngPortalNavToggle[aria-expanded="true"] { background:#2563eb; }
  #sngPortalNavToggle:focus-visible, #sngPortalNavPanel button:focus-visible { outline:3px solid #38bdf8; outline-offset:3px; }
  #sngPortalNavPanel { position:absolute; right:0; bottom:66px; width:250px; max-width:calc(100vw - 32px); max-height:min(65vh, 420px); overflow:auto; display:flex; flex-direction:column; gap:6px; padding:12px; border:1px solid #cbd5e1; border-radius:14px; background:#fff; color:#334155; box-shadow:0 8px 30px rgba(15,23,42,.22); }
  #sngPortalNavPanel[hidden] { display:none !important; }
  #sngPortalNavPanel .board-tab-btn { flex:none; width:100%; min-height:42px; padding:10px 12px; text-align:left; white-space:normal; }
  #sngPortalNavPanel .board-tab-btn.active { background:#0f172a; color:#fff; border-color:#0f172a; }
  .board-tab-btn {
    flex: 1 1 calc(33.333% - 6px);
    min-width: 95px;
    background: #fff;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    padding: 8px 6px;
    font-size: 12.5px;
    cursor: pointer;
    color: #475569;
    font-weight: 700;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: all 0.15s ease;
  }
  @media (max-width: 480px) {
    .board-tab-btn {
      flex: 1 1 calc(50% - 6px);
      padding: 9px 4px;
      font-size: 12px;
    }
  }
  .board-tab-btn.active {
    background: #0f172a;
    color: #fff;
    border-color: #0f172a;
  }
  .tab-home-btn { background: #f1f5f9; }
  .tab-price-btn { background: #eff6ff; border-color: #bfdbfe; color: #1d4ed8; }
  .tab-history-btn { background: #fdf4ff; border-color: #f5d0fe; color: #a21caf; }
  .tab-saenong-btn { display: none; background: #f0fdf4; border-color: #bbf7d0; color: #166534; }
  .tab-admin-board-btn { display: none; background: #fff1f2; border-color: #fecdd3; color: #e11d48; }
  .tab-usermgmt-btn { display: none; background: #fef2f2; border-color: #fca5a5; color: #b91c1c; }

  /* 홈 섹션 */
  #homeMainSection { display: flex; flex-direction: column; gap: 12px; }
  .cafe-banner-cover {
    background: linear-gradient(135deg, #091224 0%, #1e3a8a 100%);
    border-radius: 12px;
    padding: 22px 16px;
    box-shadow: 0 4px 15px rgba(15, 23, 42, 0.2);
  }
  .cafe-title { font-size: 20px !important; font-weight: 900 !important; margin: 0 0 6px 0 !important; color: #ffffff !important; }
  .cafe-desc { font-size: 12.5px !important; color: #e2e8f0 !important; line-height: 1.5; margin: 0; }
  .welcome-banner {
    background: linear-gradient(135deg, #eff6ff 0%, #f0fdf4 100%);
    border: 1px solid #bfdbfe;
    border-radius: 10px;
    padding: 10px 12px;
    font-size: 12.5px;
    line-height: 1.45;
  }
  .welcome-txt strong { color: #1d4ed8; }

  .main-notice-container { background: #fff; border: 1px solid #e2e8f0; border-radius: 12px; padding: 14px; }
  .main-notice-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; padding-bottom: 6px; border-bottom: 1.5px solid #0f172a; }
  .main-notice-head h4 { margin: 0; font-size: 14px; color: #0f172a; font-weight: 800; }
  .notice-list-box { display: flex; flex-direction: column; gap: 8px; }
  .notice-item-row { display: flex; justify-content: space-between; align-items: center; font-size: 13px; cursor: pointer; padding: 4px 0; border-bottom: 1px dashed #f1f5f9; }
  .notice-title { font-weight: 600; color: #334155; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 75%; }
  .notice-date { font-size: 11px; color: #94a3b8; }

  .cafe-menu-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .cafe-card { background: #fff; border: 1px solid #e2e8f0; border-radius: 12px; padding: 16px 14px; display: flex; flex-direction: column; gap: 6px; cursor: pointer; transition: all 0.15s ease; }
  .cafe-card:active { transform: scale(0.98); }
  .cafe-card-icon { font-size: 26px; }
  .cafe-card-title { font-size: 15px; font-weight: 800; color: #0f172a; margin-top: 4px; }
  .cafe-card-desc { font-size: 12px; color: #64748b; line-height: 1.4; }
  .cafe-card-tag { align-self: flex-start; font-size: 10.5px; font-weight: 700; padding: 2px 6px; border-radius: 4px; margin-top: 4px; }
  .tag-green { background: #dcfce7; color: #15803d; }
  .tag-purple { background: #f3e8ff; color: #7e22ce; }
  .tag-blue { background: #dbeafe; color: #1d4ed8; }

  /* 단가표 섹션 */
  #priceMainSection { display: none; }
  .price-ctrl-box { background: #fff; border: 1px solid #e2e8f0; border-radius: 10px; padding: 12px; margin-bottom: 10px; display: flex; flex-direction: column; gap: 10px; }
  
  .price-btn-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    width: 100%;
  }
  .grid-action-item {
    flex: 1 1 calc(33.333% - 6px);
    min-width: 130px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
    box-sizing: border-box;
    text-align: center;
    white-space: nowrap;
    border: 1px solid #cbd5e1;
    background: #fff;
    color: #334155;
    transition: all 0.15s ease;
  }
  @media (max-width: 540px) {
    .grid-action-item {
      flex: 1 1 calc(50% - 6px);
    }
  }

  .btn-reset-inputs { background: #f8fafc; border-color: #cbd5e1; color: #475569; }
  .btn-reset-inputs:hover { background: #e2e8f0; }
  .btn-company-modal-open { background: #eff6ff; border-color: #93c5fd; color: #1d4ed8; }
  .btn-company-modal-open:hover { background: #dbeafe; }
  
  .btn-blocked-toggle { background: #f8fafc; border-color: #cbd5e1; color: #64748b; }
  .btn-blocked-toggle.active { background: #fef2f2; border-color: #f87171; color: #dc2626; font-weight: 800; }
  
  .btn-direct-order-toggle { background: #2563eb; border-color: #2563eb; color: #fff; }
  .btn-item-manage { background: #7c3aed; border-color: #7c3aed; color: #fff; display: none; }

  .admin-grade-select {
    width: 100%;
    height: 100%;
    border: none;
    background: transparent;
    font-size: 12px;
    font-weight: 700;
    color: #1e293b;
    outline: none;
    padding: 0 4px;
    cursor: pointer;
  }

  /* 현장 직접 발주 */
  .direct-order-panel { display: none; background: #f0f7ff; border: 1.5px solid #93c5fd; border-radius: 8px; padding: 12px; margin-top: 4px; width: 100%; }
  .direct-order-panel.active { display: block; }
  .direct-region-group { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px 12px; margin: 8px 0 10px 0; padding-bottom: 8px; border-bottom: 1px dashed #bfdbfe; }
  .direct-region-label { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; font-weight: 700; color: #1e40af; cursor: pointer; white-space: nowrap; }
  .direct-grid-inputs { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; width: 100%; }
  @media (max-width: 480px) {
    .direct-grid-inputs { grid-template-columns: 1fr; }
    .direct-grid-inputs input[style*="span 2"] { grid-column: span 1 !important; }
  }
  .direct-grid-inputs input { width: 100%; padding: 8px; border: 1px solid #cbd5e1; border-radius: 6px; font-size: 12.5px; outline: none; background: #fff; }

  .search-input { width: 100%; padding: 9px 12px; border: 1.5px solid #cbd5e1; border-radius: 8px; font-size: 13.5px; outline: none; }
  .batch-action-bar { display: flex; justify-content: space-between; align-items: center; padding-top: 6px; border-top: 1px dashed #e2e8f0; font-size: 12.5px; font-weight: 700; }
  .btn-batch-clear { background: #fee2e2; color: #b91c1c; border: 1px solid #fca5a5; padding: 3px 8px; border-radius: 5px; font-size: 11.5px; font-weight: 700; cursor: pointer; }

  /* 상품 카드 스타일 */
  .product-list { display: flex; flex-direction: column; gap: 8px; width: 100%; }
  .prod-card { background: #fff; border: 1.5px solid #e2e8f0; border-radius: 10px; padding: 12px; display: flex; flex-direction: column; gap: 8px; width: 100%; }
  .prod-card.checked-card { border-color: #03c75a; background: #f7fdf9; }
  .prod-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 6px; }
  .prod-info-left { flex: 1; min-width: 0; }
  .board-reactions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:9px; }
  .board-reaction-btn { padding:5px 10px; border:1px solid #cbd5e1; border-radius:8px; background:#fff; cursor:pointer; }
  .board-reaction-btn:hover, .board-reaction-btn:focus-visible { background:#e0f2fe; outline:2px solid #0284c7; }
  .board-reaction-btn.selected { background:#dbeafe; border-color:#2563eb; color:#1d4ed8; font-weight:700; }
  .board-reaction-btn:disabled { opacity:.6; cursor:default; }
  .board-pinned-card { border:2px solid #6366f1 !important; background:#eef2ff !important; }
  .board-hot-card { border:2px solid #fb923c !important; background:#fff7ed !important; }
  .prod-code-badge:hover, .prod-code-badge:focus-visible { background:#bae6fd; outline:2px solid #0284c7; outline-offset:2px; }
  .prod-code-badge { border:0; cursor:pointer; font-family:inherit; font-size: 11px; font-weight: 700; color: #0284c7; background: #e0f2fe; padding: 2px 6px; border-radius: 4px; display: inline-block; margin-bottom: 3px; }
  
  .custom-price-badge { font-size: 10.5px; font-weight: 800; color: #b45309; background: #fef3c7; border: 1px solid #fde68a; padding: 1px 5px; border-radius: 4px; display: inline-block; margin-left: 3px; }
  .tax-indicator-badge { font-size: 10.5px; font-weight: 800; padding: 1px 5px; border-radius: 3px; margin-left: 3px; display: inline-block; }
  .tax-zero { background: #dcfce7; color: #166534; border: 1px solid #bbf7d0; }
  .tax-tax { background: #fee2e2; color: #991b1b; border: 1px solid #fecdd3; }
  .blocked-indicator-badge { font-size: 10.5px; font-weight: 800; padding: 1px 5px; border-radius: 3px; margin-left: 3px; display: inline-block; background: #475569; color: #fff; }

  .prod-name { font-size: 14px; font-weight: 700; color: #0f172a; word-break: keep-all; line-height: 1.35; }
  .prod-unit { font-size: 12px; color: #64748b; margin-top: 2px; }

  .prod-action-right { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; flex-shrink: 0; }
  .prod-action-top-row { display: flex; align-items: center; gap: 6px; }
  .btn-sample { padding: 3px 6px; border: 1px solid #c4b5fd; border-radius: 5px; background: #f5f3ff; color: #6d28d9; font-size: 11px; font-weight: 800; cursor: pointer; white-space: nowrap; }
  .btn-sample.active { background: #7c3aed; color: #fff; }
  .prod-checkbox { width: 20px; height: 20px; accent-color: #03c75a; cursor: pointer; margin: 0; }
  
  .prod-action-bottom-row { display: inline-flex; align-items: center; gap: 4px; flex-wrap: nowrap !important; white-space: nowrap !important; }
  .btn-media-open { padding: 3px 6px; border: 1px solid #bae6fd; border-radius: 5px; background: #f0f9ff; color: #0369a1; font-size: 11px; font-weight: 700; cursor: pointer; white-space: nowrap !important; flex-shrink: 0; }
  .btn-prod-edit { padding: 3px 6px; border: 1px solid #cbd5e1; border-radius: 5px; background: #f8fafc; color: #475569; font-size: 11px; font-weight: 700; cursor: pointer; white-space: nowrap !important; flex-shrink: 0; display: none; }

  .prod-footer { display: flex; justify-content: space-between; align-items: flex-end; padding-top: 8px; border-top: 1px dashed #cbd5e1; }
  .subtotal-price-text { font-size: 15px; font-weight: 800; color: #03c75a; }

  .qty-box { display: inline-flex; align-items: center; border: 1.5px solid #cbd5e1; border-radius: 6px; background: #fff; overflow: hidden; }
  .qty-box.disabled { opacity: 0.45; pointer-events: none; background: #f1f5f9; }
  .qty-btn { width: 30px; height: 32px; border: none; background: #f8fafc; font-size: 15px; font-weight: 800; color: #334155; cursor: pointer; }
  .qty-input {
    width: 48px; height: 32px; border: none; border-left: 1px solid #cbd5e1; border-right: 1px solid #cbd5e1;
    text-align: center; font-size: 13.5px; font-weight: 800; outline: none;
    -moz-appearance: textfield !important; appearance: textfield !important;
  }
  .qty-input::-webkit-outer-spin-button, .qty-input::-webkit-inner-spin-button { -webkit-appearance: none !important; margin: 0 !important; }

  .pagination-wrap { display: flex; justify-content: center; align-items: center; gap: 4px; margin: 16px 0 8px 0; flex-wrap: wrap; }
  .page-nav-btn { min-width: 30px; height: 32px; padding: 0 6px; border: 1px solid #cbd5e1; background: #fff; border-radius: 6px; font-size: 12px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; }
  .page-nav-btn.active { background: #03c75a; color: #fff; border-color: #03c75a; }
  .page-nav-btn:disabled { opacity: 0.35; cursor: not-allowed; background: #f8fafc; }

  /* 하단 고정 장바구니 바 */
  .floating-cart-bar { position: fixed; bottom: 0; left: 0; right: 0; background: #0f172a; color: #fff; padding: 9px 12px; box-shadow: 0 -4px 16px rgba(0,0,0,0.15); z-index: 9999; display: none; justify-content: space-between; align-items: center; max-width: 720px; margin: 0 auto; }
  .cart-counts strong { color: #fde047; }
  .cart-total-price { font-size: 16.5px; font-weight: 800; color: #38bdf8; }
  .btn-cart-view { background: #1e293b; color: #38bdf8; border: 1px solid #38bdf8; padding: 8px 10px; border-radius: 8px; font-size: 12px; font-weight: 700; cursor: pointer; }
  .btn-cart-order { background: #03c75a; color: #fff; border: none; padding: 9px 15px; border-radius: 8px; font-size: 13.5px; font-weight: 800; cursor: pointer; }

  /* 새농길 업무프로그램 (깔끔한 리스트 구조) */
  #saenongMainSection { display: none; }
  .saenong-header-box { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
  .saenong-header-icon { width: 44px; height: 44px; background: #1b5e20; border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 24px; }
  .saenong-header-text h2 { margin: 0; font-size: 19px; font-weight: 900; color: #0f172a; }
  .saenong-header-text p { margin: 2px 0 0 0; font-size: 12.5px; color: #64748b; }
  .saenong-menu-list { display: flex; flex-direction: column; gap: 10px; }
  .saenong-menu-item {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 14px 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-shadow: 0 2px 5px rgba(0,0,0,0.03);
    cursor: pointer;
    transition: all 0.15s ease;
    user-select: none;
  }
  .saenong-menu-item:hover {
    border-color: #94a3b8;
    box-shadow: 0 4px 10px rgba(0,0,0,0.06);
  }
  .saenong-item-left { display: flex; align-items: center; gap: 12px; flex: 1; min-width: 0; }
  .saenong-item-icon-box { width: 42px; height: 42px; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 20px; flex-shrink: 0; }
  .saenong-item-title { font-size: 14.5px; font-weight: 800; color: #0f172a; display: block; margin-bottom: 2px; }
  .saenong-item-desc { font-size: 11.5px; color: #64748b; }

  /* 발주 내역 섹션 */
  #historyMainSection { display: none; }
  .order-history-card { background: #fff; border: 1px solid #e2e8f0; border-radius: 10px; padding: 12px 14px; margin-bottom: 10px; }
  .order-history-header { display: flex; justify-content: space-between; align-items: center; padding-bottom: 8px; border-bottom: 1px dashed #cbd5e1; margin-bottom: 8px; }
  .badge-status { font-size: 11px; font-weight: 800; padding: 3px 7px; border-radius: 4px; display: inline-flex; align-items: center; gap: 3px; pointer-events: none; user-select: none; }
  .badge-unread { background: #fee2e2; color: #dc2626; border: 1px solid #fca5a5; }
  .badge-read { background: #dcfce7; color: #15803d; border: 1px solid #86efac; }
  .order-ctrl-bar { display: flex; justify-content: space-between; align-items: center; margin-top: 6px; padding-top: 6px; border-top: 1px dashed #e2e8f0; }
  .btn-order-delete { background: #fee2e2; color: #b91c1c; border: 1px solid #fca5a5; padding: 3px 8px; border-radius: 4px; font-size: 11px; font-weight: 700; cursor: pointer; }

  /* 회원 관리 섹션 */
  #usermgmtMainSection { display: none; }
  .user-card-item { background: #fff; border: 1px solid #e2e8f0; border-radius: 10px; padding: 12px; margin-bottom: 8px; display: flex; flex-direction: column; gap: 6px; }
  .user-card-row { display: flex; justify-content: space-between; align-items: center; font-size: 12.5px; }
  .user-card-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 6px; margin-top: 4px; padding-top: 6px; border-top: 1px dashed #e2e8f0; }

  /* 게시판 */
  #boardMainSection { display: none; }
  .board-header-bar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }
  .btn-open-write { background: #03c75a; color: #fff; border: none; padding: 7px 12px; border-radius: 6px; font-size: 12.5px; font-weight: 700; cursor: pointer; }
  .board-form { display: none; background: #fff; border: 1.5px solid #03c75a; border-radius: 10px; padding: 14px; margin-bottom: 14px; }
  .board-form select, .board-form input, .board-form textarea { width: 100%; padding: 9px; margin-bottom: 8px; border: 1px solid #cbd5e1; border-radius: 6px; font-size: 13px; }
  .post-card-item { background: #fff; border: 1px solid #e2e8f0; border-radius: 10px; padding: 12px 14px; cursor: pointer; margin-bottom: 8px; }

  /* 모달 오버레이 */
  .modal-overlay {
    display: none;
    position: fixed !important;
    top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important;
    width: 100% !important; height: 100dvh !important; box-sizing:border-box !important;
    background: rgba(0, 0, 0, 0.78) !important;
    z-index: 999999 !important;
    align-items: center !important; justify-content: center !important;
    padding: 10px !important; margin: 0 !important;
  }
  .modal-overlay.active { display: flex !important; }
  .modal-content {
    background: #fff;
    border-radius: 12px;
    max-width: 480px; width: 100%;
    max-height: 85dvh;
    display: flex; flex-direction: column;
    overflow: hidden; margin: 0 auto !important; position: relative;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.5);
  }
  .modal-header { padding: 12px 14px; border-bottom: 1px solid #e2e8f0; display: flex; justify-content: space-between; align-items: center; background: #f8fafc; font-weight: 700; flex-shrink: 0; }
  .modal-body { padding: 14px; overflow-y: auto; -webkit-overflow-scrolling: touch; flex: 1; }
  .auth-form-group { display: flex; flex-direction: column; gap: 4px; margin-bottom: 10px; }
  .auth-form-group label { font-size: 12px; font-weight: 700; color: #475569; }
  .auth-form-group input, .auth-form-group select { width: 100%; padding: 8px 10px; border: 1px solid #cbd5e1; border-radius: 6px; font-size: 13px; outline: none; }

  /* 미디어 입력 동적 row */
  .media-input-row { display: flex; align-items: center; gap: 6px; margin-bottom: 6px; }
  .media-input-row input { flex: 1; padding: 7px 9px; border: 1px solid #cbd5e1; border-radius: 6px; font-size: 12.5px; }
  .btn-media-circle { width: 28px; height: 28px; border-radius: 6px; border: none; font-size: 14px; font-weight: 800; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; }
  .btn-media-add { background: #059669; color: #fff; }
  .btn-media-del { background: #ef4444; color: #fff; }

  /* 장바구니 모달 내 수량 증감 버튼 */
  .cart-qty-ctrl-box { display: inline-flex; align-items: center; border: 1px solid #cbd5e1; border-radius: 6px; overflow: hidden; background: #fff; }
  .cart-qty-btn { width: 26px; height: 28px; border: none; background: #f1f5f9; font-size: 14px; font-weight: 800; color: #334155; cursor: pointer; }
  .cart-qty-input { width: 64px; height: 32px; border: none; border-left: 1px solid #cbd5e1; border-right: 1px solid #cbd5e1; text-align: center; font-size: 16px; font-weight: 800; outline: none; }

  .shop-toast { position: fixed; bottom: 74px; left: 50%; transform: translateX(-50%); background: rgba(15, 23, 42, 0.92); color: #fff; padding: 8px 16px; border-radius: 20px; font-size: 12.5px; opacity: 0; pointer-events: none; transition: opacity 0.2s ease; z-index: 1000001; }
  .shop-toast.show { opacity: 1; }
/* 관리자 코멘트 및 발송방식 v68 · 2026-10-10 */
#sngCartSummaryRow{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;margin-top:14px;padding-top:10px;border-top:1.5px solid #cbd5e1}
#sngCartSummaryActions{display:flex;align-items:center;flex-wrap:wrap;gap:6px}
#sngOrderOptionsBtn{display:none;align-items:center;justify-content:center;gap:4px;background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe;padding:7px 9px;border-radius:7px;font-size:12px;font-weight:700;cursor:pointer}
#sngOrderOptionsSummary{margin:10px 0 0;padding:10px;border:1px solid #bfdbfe;border-radius:8px;background:#eff6ff;color:#334155;white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.5}
#sngOrderOptionsSummary[hidden]{display:none!important}
#sngOrderOptionsDialog,#sngOrderOptionsDialog *{box-sizing:border-box!important;font-family:Arial,'Malgun Gothic',sans-serif}
#sngOrderOptionsDialog{position:fixed!important;inset:0!important;margin:auto!important;padding:0!important;width:min(560px,calc(100vw - 24px))!important;max-width:none!important;height:min(680px,90vh)!important;height:min(680px,90dvh)!important;max-height:none!important;border:1px solid #e2e8f0!important;border-radius:14px!important;background:#fff!important;color:#334155!important;overflow:hidden!important;box-shadow:0 24px 80px #0005;z-index:1000005}
#sngOrderOptionsDialog::backdrop{background:#0f172a9c}
#sngOrderOptionsDialog[hidden],#sngOrderOptionsDialog:not([open]),#sngOrderOptionsDialog [hidden]{display:none!important}
#sngOrderOptionsDialog .sng-order-options-shell{height:100%;display:flex;flex-direction:column;min-height:0}
#sngOrderOptionsDialog header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px;background:#f1f5f9;border-bottom:1px solid #e2e8f0;flex:none}
#sngOrderOptionsDialog h2{margin:0!important;font-size:16px!important;line-height:1.4!important;color:#0f172a!important;font-weight:700!important;word-break:keep-all}
#sngOrderOptionsDialog button{cursor:pointer;min-height:36px;max-width:100%;border:1px solid #cbd5e1;border-radius:7px;padding:7px 10px;background:#fff;color:#334155;font-size:13px;line-height:1.4;white-space:nowrap}
#sngOrderOptionsDialog button:focus-visible,#sngOrderOptionsDialog input:focus-visible,#sngOrderOptionsDialog textarea:focus-visible{outline:3px solid #38bdf8;outline-offset:2px}
#sngOrderOptionsDialog header button{border:0;background:transparent;font-size:18px;min-width:40px;min-height:40px;padding:0}
#sngOrderOptionsDialog .sng-order-options-body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:18px 16px}
#sngOrderOptionsDialog .sng-order-memo-label{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:12px;font-size:13px;font-weight:700}
#sngOrderOptionsDialog .sng-order-quick{display:flex;align-items:center;gap:5px;color:#2563eb;font-size:12px}
#sngOrderOptionsDialog input[type=checkbox]{width:16px;height:16px;margin:0}
#sngOrderOptionsDialog textarea{display:block;width:100%;min-height:90px;padding:10px;border:1px solid #cbd5e1;border-radius:7px;font-size:16px;line-height:1.5;background:#fff;color:#334155;resize:vertical}
#sngOrderOptionsDialog .sng-order-carriers{margin-top:14px;padding-top:14px;border-top:1px solid #e2e8f0}
#sngOrderOptionsDialog h3{margin:0 0 4px!important;font-size:14px!important;font-weight:700!important;color:#334155!important}
#sngOrderOptionsDialog .sng-order-carriers p{margin:0 0 10px;font-size:12px;color:#64748b}
#sngOrderOptionsDialog .sng-order-carrier-row{display:grid;grid-template-columns:46px 46px 46px minmax(0,1fr);align-items:center;gap:6px;padding:8px;margin-bottom:6px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc}
#sngOrderOptionsDialog .sng-order-carrier-row.selected{border-color:#0284c7;background:#f0f9ff}
#sngOrderOptionsDialog .sng-order-carrier-row button{padding:6px 4px}
#sngOrderOptionsDialog .sng-order-carrier-name{font-weight:700;border-color:transparent;background:transparent}
#sngOrderOptionsDialog .sng-order-carrier-row button[aria-pressed=true]:not(.sng-order-carrier-name){background:#0284c7;border-color:#0284c7;color:white}
#sngOrderOptionsDialog input[type=date]{box-sizing:border-box;min-width:0;width:100%;max-width:190px;min-height:38px;padding:6px;border:1px solid #cbd5e1;border-radius:6px;font-size:16px;background:#fff;color:#334155}
#sngOrderOptionsDialog #sngOrderCarrierToggle{width:100%;margin-top:6px;background:#0284c7;color:white;border-color:#0284c7}
#sngOrderOptionsDialog #sngOrderOptionsStatus{font-size:12px;line-height:1.5;margin:12px 0 0;color:#64748b}
#sngOrderOptionsDialog footer{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:8px;flex:none;padding:12px 16px;padding-bottom:max(12px,env(safe-area-inset-bottom));background:#f1f5f9;border-top:1px solid #e2e8f0}
#sngOrderOptionsDialog .sng-order-apply{background:#2563eb;border-color:#2563eb;color:white;font-weight:700}
#sngOrderOptionsDialog .sng-order-reset{color:#ea580c;border-color:#fdba74}
@media(max-width:480px){#sngOrderOptionsDialog{width:calc(100vw - 16px)!important;height:calc(100vh - 24px)!important;height:calc(100dvh - 24px)!important}#sngOrderOptionsDialog header,#sngOrderOptionsDialog .sng-order-options-body{padding:12px}#sngOrderOptionsDialog .sng-order-carrier-row{grid-template-columns:42px 42px 42px minmax(0,1fr);gap:4px;padding:6px}#sngCartSummaryRow>div:last-child{margin-left:auto}}
@media(max-width:360px){#sngOrderOptionsDialog .sng-order-carrier-row{grid-template-columns:42px 1fr 1fr}#sngOrderOptionsDialog input[type=date]{grid-column:1/-1;max-width:none}}
@media print{#sngOrderOptionsDialog{display:none!important}}


/* v70 · 내역 확인 수량의 브라우저 기본 상하 증감 버튼 숨김 */
#cartViewModal input[type="number"]{-moz-appearance:textfield;appearance:textfield}
#cartViewModal input[type="number"]::-webkit-inner-spin-button,
#cartViewModal input[type="number"]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}

/* v77 · 포털 화면 안에서만 적용하는 반응형 정리 */
@media screen{
#sngPortalApp{width:100%!important;max-width:720px!important;margin:0 auto 120px!important;padding:12px!important;border-radius:12px;line-height:1.5;overflow-x:visible;}
#sngPortalApp>div{min-width:0;}
#sngPortalApp button,#sngPortalApp input,#sngPortalApp select,#sngPortalApp textarea{font-family:inherit;box-sizing:border-box!important;}
#authBar{gap:12px;flex-wrap:wrap;line-height:1.5;}
#authStatusText{flex:1 1 200px;min-width:0;overflow-wrap:anywhere;}
#authBtnGroup{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px;flex:0 0 auto;}
#authBtnGroup:empty{display:none;}
#authBtnGroup button{min-height:36px;white-space:nowrap;}
#sngPortalApp .sng-price-toolbar{flex-wrap:wrap;gap:8px;}
#sngPortalApp .sng-price-toolbar>div{min-width:0;}
#sngPortalApp .sng-price-toolbar>div:last-child{flex-wrap:wrap;gap:6px!important;}
#sngPortalApp .grid-action-item{min-width:0;min-height:38px;white-space:normal;overflow-wrap:anywhere;line-height:1.4;}
#sngPortalApp .prod-name{overflow-wrap:anywhere;}
#sngPortalApp .prod-code-badge{max-width:100%;overflow-wrap:anywhere;}
#sngPortalApp .prod-footer,#sngPortalApp .batch-action-bar,#sngPortalApp .board-header-bar,#sngPortalApp .order-history-header,#sngPortalApp .user-card-row{flex-wrap:wrap;gap:8px;}
#sngPortalApp .saenong-item-title,#sngPortalApp .saenong-item-desc,#sngPortalApp .user-card-row{overflow-wrap:anywhere;}
#sngPortalApp .direct-grid-inputs{grid-template-columns:repeat(2,minmax(0,1fr));}
#sngPortalApp .direct-grid-inputs input{min-width:0;}
.modal-overlay .modal-content{min-width:0;}
.modal-overlay .modal-body{min-height:0;overscroll-behavior:contain;}
.modal-overlay .modal-header{gap:10px;}
.modal-overlay .modal-header>strong,.modal-overlay .modal-header>span,.modal-overlay .modal-header>div{min-width:0;overflow-wrap:anywhere;}
.modal-overlay .modal-header>button{flex-shrink:0;min-width:32px;min-height:32px;}
#mediaModalTitle{line-height:1.4;}
#floatingCartBar{gap:10px;flex-wrap:wrap;padding-bottom:max(10px,env(safe-area-inset-bottom));box-sizing:border-box;}
}
@media screen and (max-width:540px){
#sngPortalApp{padding:8px!important;border-radius:8px;}
#authBar{padding:10px;gap:8px;}
#authStatusText{flex-basis:100%;}
#authBtnGroup{margin-left:auto;}
#sngPortalApp .cafe-title{font-size:22px;line-height:1.4;overflow-wrap:anywhere;}
#sngPortalApp .cafe-desc{font-size:13px;line-height:1.6;}
#sngPortalApp .prod-card{padding:10px;}
#sngPortalApp .prod-action-bottom-row{flex-direction:column;align-items:flex-end;gap:5px;}
#sngPortalApp .prod-action-right button{min-height:32px;}
#sngPortalApp .direct-grid-inputs{grid-template-columns:minmax(0,1fr);}
#sngPortalApp .direct-grid-inputs input[style*="span 2"]{grid-column:1!important;}
#sngPortalApp input:not([type=checkbox]):not([type=radio]),#sngPortalApp textarea,.modal-overlay .auth-form-group input,.modal-overlay .auth-form-group select{font-size:16px;}
#sngPortalApp .saenong-item-left{gap:10px;}
#sngPortalApp .saenong-menu-item{padding:12px;}
#sngPortalApp .saenong-item-icon-box{width:36px;height:36px;flex-shrink:0;}
#mediaQtyControls{gap:4px;}
#mediaOrderFooter{padding:8px;}
#mediaModalQty{width:46px;}
#mediaModalAddBtn{padding:8px!important;}
}
@media screen and (max-width:360px){
#sngPortalApp .sng-price-toolbar>div:last-child{width:100%;justify-content:space-between;}
#sngPortalApp .direct-region-group{grid-template-columns:minmax(0,1fr);}
#mediaQtyControls{width:100%;justify-content:flex-end;}
#floatingCartBar>div:last-child{margin-left:auto;}
}


/* v78 · 표시 중인 플로팅 메뉴를 두 열로 정리 */
#sngPortalNavPanel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:300px;gap:7px;}
#sngPortalNavPanel>strong{grid-column:1/-1;}
#sngPortalNavPanel .board-tab-btn{min-width:0;width:100%;min-height:44px;text-align:center;padding:10px 6px;line-height:1.4;word-break:keep-all;overflow-wrap:anywhere;}
#sngPortalNavPanel .sng-nav-last-wide{grid-column:1/-1;}
#sngPortalNavPanel #sngResetAllBtn{background:#fff1f2;color:#be123c;border-color:#fecdd3;}


/* v79 · 회원 관리 카드: 입력 한 줄 / 저장·탈퇴는 아래 우측 */
@media screen{
#userManagementContainer .sng-user-identity{display:flex;flex-wrap:wrap;align-items:center;gap:5px;min-width:0;}
#userManagementContainer .sng-user-name{font-size:18px;font-weight:800;line-height:1.4;overflow-wrap:anywhere;}
#userManagementContainer .sng-user-id{font-size:12px;color:#64748b;overflow-wrap:anywhere;}
#userManagementContainer .user-card-actions{display:flex;flex-direction:column;align-items:stretch;gap:8px;}
#userManagementContainer .sng-user-edit-scroll{width:100%;min-width:0;overflow:visible;}
#userManagementContainer .sng-user-edit-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.5fr);gap:6px;width:100%;min-width:0;align-items:center;}
#userManagementContainer .sng-user-edit-fields.has-manager{grid-template-columns:minmax(0,.8fr) minmax(0,.8fr) minmax(0,1.6fr) minmax(0,1.1fr);min-width:0;}
#userManagementContainer .sng-user-edit-fields input,#userManagementContainer .sng-user-edit-fields select{width:100%!important;max-width:none!important;min-width:0;min-height:38px;padding:6px!important;border:1px solid #cbd5e1;border-radius:6px;box-sizing:border-box;}
#userManagementContainer .sng-user-save-actions{display:flex;justify-content:flex-end;align-items:center;gap:6px;width:100%;}
#userManagementContainer .sng-user-save-actions button{min-height:34px;padding:6px 12px!important;}
}
@media screen and (max-width:768px){
#userManagementContainer .sng-user-name{font-size:20px;}
#userManagementContainer .user-card-row{align-items:flex-start;}
#userManagementContainer .sng-user-identity{flex:1 1 100%;}
}


/* v80 · 고정 최소폭 없이 실제 카드 너비에 입력 줄 맞춤 */
@media screen{
#userManagementContainer .sng-user-edit-label{display:flex;flex-direction:column;gap:4px;min-width:0;margin:0;}
#userManagementContainer .sng-user-edit-label>span{font-size:11px;font-weight:700;color:#64748b;white-space:nowrap;}
#userManagementContainer .sng-user-edit-fields input{font-size:16px!important;padding:6px 4px!important;min-height:40px;}
#userManagementContainer .sng-user-edit-fields select{font-size:14px;padding:6px 3px!important;min-height:40px;}
#userManagementContainer .sng-user-save-actions{gap:8px;padding-top:2px;}
#userManagementContainer .sng-user-save-actions button{min-height:38px;min-width:60px;font-size:13px;padding:7px 14px!important;}
}
@media screen and (max-width:540px){
#userManagementContainer .user-card-item{padding:10px;}
#userManagementContainer .sng-user-edit-fields{gap:4px;}
}
@media screen and (max-width:360px){
#userManagementContainer .sng-user-edit-fields select{font-size:13px;padding-left:2px!important;padding-right:1px!important;}
#userManagementContainer .sng-user-edit-label>span{font-size:10px;}
}


/* v116 · 상단 수정 선택 / 선택한 회원만 수정 버튼 표시 */
.sng-user-top-actions116{display:flex;flex-wrap:wrap;gap:6px;align-items:center;}
.sng-user-top-actions116 button{min-height:38px;}
#sngUserEditHint116{margin:0 0 10px;color:#475569;font-size:12px;line-height:1.5;word-break:keep-all;}
#sngUserEditHint116[hidden]{display:none!important;}
#userManagementContainer .sng-user-name-select116{display:inline-flex;align-items:center;gap:7px;min-width:0;}
#userManagementContainer .sng-user-select116{flex:0 0 auto;width:20px;height:20px;margin:0;accent-color:#2563eb;cursor:pointer;}
#userManagementContainer .sng-user-select116:disabled{cursor:not-allowed;}

/* v81 · 회원 카드에서는 수정 버튼, 실제 편집은 모달에서 표시 */
.sng-user-edit-source[hidden]{display:none!important;}
#userManagementContainer .sng-user-edit-button-row{display:flex;justify-content:flex-end;padding-top:8px;margin-top:4px;border-top:1px dashed #e2e8f0;}
#userManagementContainer .sng-user-edit-button-row button{min-height:38px;padding:7px 16px;}
#userEditModal .sng-user-edit-source{display:flex;flex-direction:column;gap:16px;border:0;padding:0;margin:0;}
#userEditModal .sng-user-edit-scroll{overflow:visible;min-width:0;}
#userEditModal .sng-user-edit-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0;}
#userEditModal .sng-user-edit-fields:not(.has-manager)>label:last-child{grid-column:1/-1;}
#userEditModal .sng-user-edit-label{display:flex;flex-direction:column;gap:6px;min-width:0;}
#userEditModal .sng-user-edit-label>span{font-size:13px;font-weight:700;color:#475569;}
#userEditModal .sng-user-edit-fields input,#userEditModal .sng-user-edit-fields select{width:100%!important;max-width:none!important;min-width:0;min-height:44px;font-size:16px;padding:9px 8px!important;border:1px solid #cbd5e1;border-radius:7px;background:#fff;}
#userEditModal .sng-user-save-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:14px;border-top:1px solid #e2e8f0;}
#userEditModal .sng-user-save-actions button{min-height:40px;min-width:64px;padding:8px 14px!important;font-size:14px;}


#userEditModal .sng-user-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
#userEditModal .sng-user-profile-wide{grid-column:1/-1;}
#userEditModal .sng-user-profile-grid input{width:100%;min-width:0;min-height:44px;padding:9px 8px;border:1px solid #cbd5e1;border-radius:7px;font-size:16px;}


/* v89 사업장 전용 가입: 기존 모달 하나에서 필수 정보를 수집 */
.sng-signup-help89{margin:6px 0 10px;font-size:12px;line-height:1.55;color:#64748b;word-break:keep-all;overflow-wrap:anywhere;}
.sng-privacy-heading89{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;}
.sng-privacy-heading89 strong{font-size:13px;line-height:1.5;}
.sng-privacy-heading89 label{display:inline-flex!important;align-items:center;gap:5px;margin:0!important;font-size:12px;white-space:nowrap;cursor:pointer;}
.sng-privacy-heading89 input{width:16px!important;height:16px;flex:0 0 16px;margin:0;}
@media(max-width:380px){.sng-privacy-heading89{gap:5px;}.sng-privacy-heading89 strong{font-size:12px;}.sng-privacy-heading89 label{font-size:11px;}}

/* v92 로그인 비밀번호 눈 아이콘 */
#sngLoginMain .sng-login-password92,#authModal .sng-login-password92{position:relative!important;display:block!important;width:100%!important;min-width:0!important;}
#sngLoginMain .sng-login-password92{border-top:1px solid #cbd5e1;}
#sngLoginMain .sng-login-password92 input,#authModal .sng-eye-enabled92 input{box-sizing:border-box!important;padding-right:50px!important;}
#sngLoginMain .sng-login-eye92,#authModal .sng-login-eye92{position:absolute!important;right:2px!important;left:auto!important;top:50%!important;transform:translateY(-50%)!important;display:flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;width:44px!important;min-width:44px!important;height:40px!important;padding:0!important;margin:0!important;border:0!important;border-radius:5px;background:transparent!important;color:rgba(71,85,105,.68)!important;opacity:1!important;visibility:visible!important;z-index:2;cursor:pointer;touch-action:manipulation;}
#sngLoginMain .sng-login-eye92[hidden],#authModal .sng-login-eye92[hidden]{display:none!important;}
#sngLoginMain .sng-login-eye92:focus-visible,#authModal .sng-login-eye92:focus-visible{outline:2px solid #059669;outline-offset:-2px;}
#sngLoginMain .sng-password-eye91,#authModal .sng-password-eye91{display:block!important;position:relative!important;box-sizing:border-box!important;width:22px!important;height:14px!important;border:2px solid currentColor!important;border-radius:70% / 95%!important;background:transparent!important;overflow:visible!important;pointer-events:none!important;}
#sngLoginMain .sng-password-pupil91,#authModal .sng-password-pupil91{display:block!important;position:absolute!important;box-sizing:border-box!important;width:7px!important;height:7px!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;border-radius:50%!important;background:currentColor!important;pointer-events:none!important;}
#sngLoginMain .sng-password-slash91,#authModal .sng-password-slash91{position:absolute!important;box-sizing:border-box!important;width:27px!important;height:2px!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%) rotate(45deg)!important;background:currentColor!important;border-radius:2px!important;pointer-events:none!important;}

/* v93 회원게시판 목록 */
.sng-board-pin-toolbar93{display:flex;align-items:center;gap:6px 10px;flex-wrap:wrap;margin:0 0 10px;font-size:11px;color:#64748b;}
.sng-board-pin-toolbar93[hidden]{display:none!important;}
.sng-board-pin-toolbar93 button{padding:5px 10px!important;font-size:12px;}
.sng-post-head93{display:flex;align-items:flex-start;gap:8px;color:#64748b;font-size:11.5px;line-height:1.45;margin-bottom:4px;}
.sng-post-meta93{flex:1;min-width:0;overflow-wrap:anywhere;}.sng-post-date93{flex:none;font-size:11px;}
.sng-post-check93{flex:none!important;width:16px!important;height:16px!important;margin:0!important;accent-color:#6366f1;cursor:pointer;}
.sng-pin-handle93{display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:#6366f1;min-width:28px;height:26px;padding:0;font-size:20px;cursor:grab;touch-action:none;user-select:none;}
.post-card-item.sng-drop-target93{outline:2px dashed #6366f1;outline-offset:2px;}.post-card-item.sng-drag-source93{opacity:.65;}
.board-reactions{justify-content:flex-end;}
#postList .board-reactions{justify-content:flex-end;gap:6px;margin-top:5px;}#postList .board-reaction-btn{padding:3px 8px;font-size:12px;}
.sng-comment-preview93{margin:6px 0 0 18px;padding:0 0 0 10px;border-left:2px solid #e2e8f0;font-size:12px;color:#475569;}
.sng-comment-preview93>div{padding:3px 0;line-height:1.45;}.sng-comment-preview93 .sng-comment-text93{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;white-space:pre-wrap;}
.sng-comment-more93{display:block;margin:3px 0 0 auto;padding:3px 6px;border:0;background:transparent;color:#2563eb;font-size:12px;cursor:pointer;}
@media(max-width:480px){.sng-post-head93{flex-wrap:wrap;gap:4px 7px;}.sng-post-date93{margin-left:auto;}.sng-comment-preview93{margin-left:12px;}}

/* v94 게시글 관리·검색 및 상세 반응 */
.sng-board-search94{display:flex;gap:6px;align-items:center;margin:0 0 12px;}.sng-board-search94 select{width:90px;flex:none;}.sng-board-search94 input{flex:1;min-width:0;}.sng-board-search94 input,.sng-board-search94 select,.sng-board-search94 button{box-sizing:border-box;min-height:38px;padding:7px 9px;border:1px solid #cbd5e1;border-radius:6px;font-size:13px;background:#fff;}.sng-board-search94 button{flex:none;cursor:pointer;}
.sng-board-manage-actions94{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}.sng-board-manage-actions94[hidden]{display:none!important;}.sng-board-manage-actions94 button{flex:1;min-width:120px;padding:9px!important;}.sng-board-manage-help94{font-size:12px;color:#64748b;line-height:1.6;}.sng-board-manage-title94{font-size:13px;padding:5px 0;overflow-wrap:anywhere;}#sngBoardManageTitles94{max-height:160px;overflow:auto;}
.sng-board-content-box94{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:12px;margin-bottom:14px;}.sng-board-content-box94 #modalContent{white-space:pre-wrap;font-size:13.5px;line-height:1.65;overflow-wrap:anywhere;}.sng-board-content-box94 #detailReactionArea{display:flex;justify-content:flex-end;margin-top:10px;}.sng-board-content-box94 .board-reactions{justify-content:flex-end;margin-top:0;}.sng-board-content-box94 .board-reactions>span{flex-basis:100%;text-align:right;}
.sng-board-notice94{padding:12px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;color:#64748b;font-size:13px;line-height:1.6;margin-bottom:8px;}
@media(max-width:380px){.sng-board-search94{gap:4px;}.sng-board-search94 select{width:75px;}.sng-board-search94 button{padding:7px;}.sng-board-search94 input{font-size:16px;}}
