/* Admin presentation only; actions and permissions stay in admin.html. */
.admin-mobile-head,.admin-menu-close,.admin-nav-backdrop{display:none}
.admin-os-details>summary{cursor:pointer;font-weight:750;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:#fff;margin-bottom:12px;color:var(--navy)}
.admin-os-details>summary span{font-size:12px;font-weight:500;color:var(--sub);margin-left:8px}
.admin-table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
.admin-table-scroll:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid #2563eb;outline-offset:3px}
@media(max-width:720px){
  :root{--sub:#526174;--muted:#526174;--faint:#617086}
  body{font-size:15px;line-height:1.6}
  .shell{display:block;min-height:100dvh}
  .admin-mobile-head{display:flex;position:sticky;top:0;z-index:20;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;padding-top:max(12px,env(safe-area-inset-top));background:#0b1526;color:#fff;border-bottom:1px solid #26354c}
  .admin-mobile-head>div{min-width:0}
  .admin-mobile-head span{display:block;font-size:11px;color:#bcc9dc;letter-spacing:.04em}
  .admin-mobile-head strong{display:block;font-size:18px;line-height:1.4;overflow-wrap:normal;min-width:0;overflow-x:auto}
  .admin-mobile-head button,.admin-menu-close{flex-shrink:0;min-height:44px;padding:10px 14px;border:1px solid #53657d;border-radius:10px;background:#203149;color:#fff;font-size:14px;font-weight:700}
  #adminNavigation{position:fixed;inset:0 auto 0 0;z-index:42;width:min(320px,90vw);height:100dvh;padding:14px 14px max(14px,env(safe-area-inset-bottom));visibility:hidden;transform:translateX(-100%);transition:transform .2s,visibility .2s}
  body.admin-menu-open{overflow:hidden}
  body.admin-menu-open #adminNavigation{visibility:visible;transform:none}
  .admin-nav-backdrop:not([hidden]){display:block;position:fixed;inset:0;z-index:41;background:rgba(11,21,38,.6)}
  .admin-menu-close{display:block;align-self:flex-end;margin-bottom:8px}
  #adminNavigation .logo span,#adminNavigation nav button .lb,#adminNavigation .me b,#adminNavigation .me span{display:block}
  #adminNavigation .logo{padding-bottom:8px}
  #adminNavigation .logo span{display:inline}
  #adminNavigation nav .navgrp{display:block;font-size:12px!important;color:#aabbd2!important;letter-spacing:.03em;padding:12px 12px 6px;margin-top:4px}
  #adminNavigation nav button{min-height:48px;padding:12px;font-size:15px;color:#d4dfef!important;gap:8px}
  #adminNavigation nav button .ic{display:none}
  #adminNavigation nav button.on{background:#25483e;box-shadow:inset 3px 0 #89dc69}
  #adminNavigation .nb{position:static;margin-left:auto;font-size:12px}
  #adminNavigation .me{padding:12px 10px 0;overflow-wrap:normal;min-width:0;color:#bdc9dc}
  #adminNavigation .me button{min-height:44px;font-size:14px}
  #adminMain{padding:20px 16px max(40px,env(safe-area-inset-bottom));width:100%}
  #p-dash.on{display:flex;flex-direction:column}
  #p-dash>.h1{order:0}#todoCard{order:1}#statCards{order:2;margin-top:0}.admin-os-details{order:3}#p-dash>.row{order:4}
  .admin-os-details>summary span{display:block;margin:4px 0 0}
  .pane,.card,.stat,.row>*,.ucols>*{min-width:0;overflow-wrap:normal}
  /* 긴 코드 토큰(URL·키 파일 경로)은 쪼개지 않고 요소 안 가로 스크롤로 보존한다(V03). 공백이 있는 코드는 공백에서 줄을 바꾼다. */
  .pane :not(pre)>code{display:inline-block;max-width:100%;overflow-x:auto;overflow-y:hidden;vertical-align:bottom}
  /* 코드 표기 없이 문단 안에 적힌 긴 환경변수 이름(광고 맡김 관리 안내)도 쪼개지 않고 문단 안 가로 스크롤로 보존한다. */
  #adDelegationAdmin p{overflow-x:auto;overflow-y:hidden}
  .h1{font-size:23px;line-height:1.4;margin-bottom:16px}
  .h1 small{display:block;margin:6px 0 0;font-size:13px;line-height:1.6;color:var(--sub)}
  .card{padding:16px;border-radius:16px;margin-bottom:16px}
  .card h2{font-size:16px;line-height:1.5}
  .card h2 small{font-size:12px}
  .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}
  .stat{padding:14px 12px;border-radius:14px}
  .stat .n{font-size:25px;line-height:1.3;overflow-wrap:normal;min-width:0}
  .stat .l{font-size:13px;margin-top:6px}
  .row{gap:12px}.row>.card{flex-basis:100%;min-width:0!important}
  .opsgrid,.ucols,.gdGrid,.g2{grid-template-columns:minmax(0,1fr)!important}
  .toolbar{gap:8px;align-items:stretch}
  .toolbar input{max-width:none;flex-basis:100%}
  .btn,.btn.sm,.chip,.utab-b{min-height:44px;font-size:14px;padding:10px 13px;line-height:1.4}
  .btn:not(.ghost):not(.blue):not(.red):not(.amber){background:#187344;color:#fff;box-shadow:none}
  .btn.amber{background:#fcd369;color:#4c3205}
  input,select,textarea,.ll input{font-size:16px!important;min-height:44px;max-width:100%}
  input[type=checkbox],input[type=radio]{min-height:22px;min-width:22px;width:22px;vertical-align:middle}
  label,.ll{font-size:13px}.tag{font-size:12px}
  .tag.g{color:#286815}.tag.amber{color:#945000}
  #todoCard .td a{min-height:44px;padding:9px 12px}
  #todoCard .td a.zero{opacity:1;color:#526174;background:#f8fafc}
  .admin-table-scroll{border:1px solid var(--line);border-radius:12px;background:#fff;margin-top:8px}
  .admin-table-scroll::before{content:'표를 좌우로 밀어서 확인해 보세요';display:block;position:sticky;left:0;width:fit-content;max-width:100%;padding:9px 12px;color:var(--sub);font-size:12px;background:#f8fafc}
  .admin-table-scroll table{min-width:640px;font-size:14px!important;line-height:1.6}
  .admin-table-scroll th{font-size:12px;white-space:nowrap;color:#526174}
  .admin-table-scroll th,.admin-table-scroll td{padding:13px 12px;vertical-align:top}
  .admin-table-scroll td{min-width:92px;max-width:340px;overflow-wrap:normal}
  .admin-table-scroll td .btn{white-space:nowrap;margin:2px}
  .admin-lead-list{border:0;background:transparent;overflow:visible}
  .admin-lead-list::before{display:none}
  .admin-lead-list table{display:block;min-width:0;width:100%}
  .admin-lead-list thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .admin-lead-list tbody{display:grid;gap:14px}
  .admin-lead-list tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:14px;border:1px solid #d4dde7;border-radius:14px;background:#f8fafc;gap:12px}
  .admin-lead-list tbody tr:focus-visible{outline:3px solid #2563eb;outline-offset:2px}
  .admin-lead-list td{display:block;min-width:0;max-width:none!important;padding:0;border:0;font-size:14px!important;white-space:normal!important;color:var(--ink)}
  .admin-lead-list td::before{content:attr(data-label);display:block;font-size:12px;color:var(--sub);font-weight:600;margin-bottom:3px}
  .admin-lead-list td:nth-child(2){grid-column:1/-1;grid-row:1;font-size:18px!important}
  .admin-lead-list td:nth-child(3),.admin-lead-list td:nth-child(4){grid-column:1/-1}
  .admin-lead-list td:nth-child(4){padding-bottom:12px;border-bottom:1px solid var(--line);white-space:pre-wrap!important}
  .admin-lead-list td[colspan]{grid-column:1/-1}
  .drawer{width:100%;max-height:100dvh;height:100dvh;border-radius:0}
  .drawer .mhead{padding:20px 16px 0;border-radius:0}
  .drawer .mbody{padding:12px 16px max(28px,env(safe-area-inset-bottom))}
  .drawer h3{padding-right:48px;font-size:20px}
  .drawer .x{width:44px;height:44px;top:12px;right:12px}
  .utabs{gap:8px;padding:4px 0 12px}
  .bizpop{width:calc(100% - 24px);padding:18px;max-height:90dvh}
  #leadPopOv,#cardsOverlay{padding:12px!important}
  #leadPopOv>div,#cardsOverlay>div{max-width:100%;overflow-wrap:normal;min-width:0}
  #leadPopOv .btn{margin:3px 2px}
  .toast{width:max-content;max-width:calc(100% - 32px);text-align:center;bottom:max(20px,env(safe-area-inset-bottom))}
  #login .box{padding:28px 16px;max-width:100%}
}
/* 줄바꿈 규칙(V03): overflow-wrap:anywhere 를 걷어낸 뒤에도 긴 토큰(키 이름 등)이 화면 밖으로 밀지 않게 한다. 글자를 쪼개지 않고 줄을 바꾸거나 가로 스크롤로 보존한다. */
.pane [style*="justify-content:space-between"]{flex-wrap:wrap}
.pane [style*="justify-content:space-between"]>*{min-width:0;max-width:100%}
.pane pre{max-width:100%;overflow-x:auto}
@media(prefers-reduced-motion:reduce){#adminNavigation,.pane,.drawer{transition:none!important;animation:none!important}}

/* Customer response first; secondary tools remain available with native keyboard disclosure. */
.admin-nav-group{border-top:1px solid #344158;margin-top:8px;padding-top:4px}
#adminNavigation .admin-nav-group>summary{cursor:pointer;color:#cdd6e6;font-size:13px;font-weight:700;padding:12px;min-height:44px;border-radius:8px}
#adminNavigation .admin-nav-group>summary:focus-visible{outline:3px solid #72a5ff;outline-offset:-3px}
#adminNavigation .admin-nav-group[open]>summary{background:#203149;color:#fff}
