/* =============================================================================
   운영 관리센터(/ops-center) 전용 스타일 — 2026-11-18   js/modules/ops-center.js · ops-*-ui.js
   - 범위: .ops(운영 관리센터 화면) · .ops-* 부품 · 관리자 페이지의 운영 관리센터 바로가기(.adm-ops-entry). 다른 화면에는 영향 없음. 화면 전용(인쇄 대상 아님).
   - 관리자 페이지(admin.css · theme-apple-admin.css)와 같은 Apple 토큰(--ap-*)을 쓴다. PC = 좌측 내비 + 우측 상세, 모바일(≤900px) = 가로 탭 + 카드 한 줄 스택.
   - theme-apple*.css 보다 앞에서 읽는다(index.html). 장식보다 가독성.
   ========================================================================== */
@media screen {

/* ── 틀: 검색 · 좌측 내비 · 본문 ── */
.ops .ops-search{position:relative;margin:0 0 18px;}
.ops-search-ic{position:absolute;left:16px;top:15px;color:var(--ap-ink-60,#6e6e73);pointer-events:none;display:inline-flex;}
.ops .ops-search-in{display:block;width:100%;box-sizing:border-box;min-height:50px;padding:10px 16px 10px 46px;border:1px solid var(--ap-hair,#d2d2d7);border-radius:999px;background:#fff;font:inherit;font-size:16px;color:var(--ap-ink,#1d1d1f);-webkit-appearance:none;appearance:none;}
.ops .ops-search-in:focus{outline:none;border-color:var(--ap-blue-focus,#0071e3);box-shadow:0 0 0 3px rgba(0,113,227,.18);}
.ops-sr{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:30;max-height:min(62vh,440px);overflow-y:auto;background:#fff;border:1px solid var(--ap-hair,#d2d2d7);border-radius:var(--ap-r-lg,18px);box-shadow:0 12px 32px rgba(0,0,0,.14);padding:6px;}
.ops-sr-i{display:block;width:100%;text-align:left;background:none;border:0;border-radius:var(--ap-r-md,12px);padding:10px 12px;font:inherit;color:inherit;cursor:pointer;}
.ops-sr-i:hover,.ops-sr-i.is-active{background:var(--ap-parch,#f5f5f7);}
.ops-sr-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.ops-sr-top b{font-size:15px;font-weight:600;}
.ops-sr-d{display:block;margin-top:3px;font-size:13px;line-height:1.45;color:var(--ap-ink-60,#6e6e73);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
.ops-sr-msg{padding:12px;font-size:13.5px;color:var(--ap-ink-60,#6e6e73);}
.ops-layout{display:grid;grid-template-columns:236px minmax(0,1fr);gap:22px;align-items:start;}
.ops-nav{position:sticky;top:calc(var(--hdr-h,0px) + 12px);display:flex;flex-direction:column;gap:2px;padding:8px;background:#fff;border:1px solid var(--line,#e3e3e8);border-radius:var(--ap-r-lg,18px);}
.ops-nav-b{display:flex;align-items:center;gap:10px;width:100%;min-height:46px;padding:8px 12px;border:0;border-radius:var(--ap-r-md,12px);background:none;font:inherit;font-size:15px;text-align:left;color:var(--ap-ink,#1d1d1f);cursor:pointer;}
.ops-nav-b:hover{background:var(--ap-parch,#f5f5f7);}
.ops-nav-b.on{background:var(--mint-tint,#eef4fd);color:var(--ap-blue,#0066cc);font-weight:600;}
.ops-nav-b:focus-visible,.ops-sr-i:focus-visible,.ops-mcard:focus-visible,.ops-hbar:focus-visible{outline:2px solid var(--ap-blue-focus,#0071e3);outline-offset:2px;}
.ops-nav-t{flex:1 1 auto;min-width:0;}
.ops-nb{flex:0 0 auto;padding:2px 8px;border-radius:999px;font-size:11.5px;font-weight:700;background:#eef4fd;color:var(--ap-blue,#0066cc);}
.ops-nb.err{background:#fdecec;color:#b3261e;} .ops-nb.warn{background:#fff4e0;color:#8a5200;}
.ops-main{min-width:0;scroll-margin-top:calc(var(--hdr-h,0px) + 12px);outline:0;}
.ops-hero .adm-hero-btns{flex-wrap:wrap;}
.ops-hero a.adm-btn{text-decoration:none;}

/* ── 공통 부품 ── */
.ops-sec-head{margin:0 0 16px;}
.ops-sec-head h2{margin:0;font-size:22px;font-weight:600;letter-spacing:-.01em;}
.ops-sec-head p{margin:8px 0 0;font-size:14.5px;line-height:1.6;color:var(--ap-ink-60,#6e6e73);}
.ops-fac{font-size:14px;color:var(--ap-ink-80,#333);}
.ops-warn-t{color:#b3261e;font-weight:600;}
.ops-h3{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:24px 0 10px;font-size:17px;font-weight:600;}
.ops-h4{margin:0 0 8px;font-size:15.5px;font-weight:600;}
.ops-card{background:#fff;border:1px solid var(--line,#e3e3e8);border-radius:var(--ap-r-lg,18px);padding:18px;margin-bottom:14px;}
.ops-hint{margin:6px 0 0;font-size:13px;line-height:1.55;color:var(--ap-ink-60,#6e6e73);}
.ops-desc{margin:4px 0 0;font-size:14px;line-height:1.55;color:var(--ap-ink-80,#333);}
.ops-meta{margin:4px 0 0;font-size:13px;line-height:1.5;color:var(--ap-ink-60,#6e6e73);overflow-wrap:anywhere;}
.ops-none{font-size:13.5px;color:var(--ap-ink-60,#6e6e73);}
.ops-loading{margin:14px 0;font-size:14px;color:var(--ap-ink-60,#6e6e73);}
.ops-key{margin-left:8px;padding:1px 6px;border-radius:6px;background:var(--ap-parch,#f5f5f7);color:var(--ap-ink-60,#6e6e73);font-size:11.5px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere;}
.ops-req{margin-left:4px;font-size:12px;font-weight:700;color:#b3261e;}
.ops-chip{display:inline-block;padding:3px 10px;margin:2px 4px 2px 0;border-radius:999px;font-size:12.5px;font-weight:600;line-height:1.35;background:#eef4fd;color:var(--ap-blue,#0066cc);vertical-align:1px;}
.ops-chip.ok{background:#e6f6ec;color:#1a6b3a;} .ops-chip.warn{background:#fff4e0;color:#8a5200;} .ops-chip.err{background:#fdecec;color:#b3261e;}
.ops-chip.info{background:#eef4fd;color:var(--ap-blue,#0066cc);} .ops-chip.off{background:#f0f0f2;color:#555;}
.ops-in{display:block;width:100%;box-sizing:border-box;min-height:44px;padding:8px 12px;border:1px solid var(--ap-hair,#d2d2d7);border-radius:var(--ap-r-md,12px);background:#fff;font:inherit;font-size:15px;color:var(--ap-ink,#1d1d1f);}
.ops-in:focus,.ops-sel:focus{outline:none;border-color:var(--ap-blue-focus,#0071e3);box-shadow:0 0 0 3px rgba(0,113,227,.18);}
.ops-sel{min-height:40px;padding:0 30px 0 12px;border:1px solid var(--ap-hair,#d2d2d7);border-radius:999px;background-color:#fff;font:inherit;font-size:14px;color:var(--ap-ink,#1d1d1f);}
.ops-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 14px;}
.ops-toolbar .ops-in{flex:1 1 260px;max-width:420px;}
.ops-stat{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 14px;}
.ops-fchip{min-height:38px;padding:6px 14px;border:1px solid var(--ap-hair,#d2d2d7);border-radius:999px;background:#fff;font:inherit;font-size:14px;color:var(--ap-ink,#1d1d1f);cursor:pointer;}
.ops-fchip b{margin-left:4px;font-weight:700;}
.ops-fchip.on{border-color:var(--ap-blue,#0066cc);background:var(--mint-tint,#eef4fd);color:var(--ap-blue,#0066cc);font-weight:600;}
.ops-fchip.warn b{color:#8a5200;} .ops-fchip.err b{color:#b3261e;}
.ops-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 14px;}
.ops-dirty{font-size:13px;color:var(--ap-ink-60,#6e6e73);}
.ops-state-msg{margin:8px 0 0;font-size:13.5px;line-height:1.5;color:#8a5200;}
.ops-flash{animation:opsFlash 2.6s ease-out 1;}
@keyframes opsFlash{0%{box-shadow:0 0 0 0 rgba(0,113,227,0);background-color:#eef5ff;}25%{box-shadow:0 0 0 4px rgba(0,113,227,.35);}100%{box-shadow:0 0 0 0 rgba(0,113,227,0);}}
/* 팝업 */
.modal.ops-modal{max-width:560px;}
.modal.ops-modal.ops-modal-wide{max-width:720px;}
.ops-modal .modal-body{white-space:normal;}
.ops-modal textarea{width:100%;box-sizing:border-box;}
.ops-modal .staff-combo{max-width:100%;margin-top:6px;}
.ops-modal .staff-combo-input,.ops-card .staff-combo-input{display:block;width:100%;box-sizing:border-box;min-height:46px;padding:10px 14px;border:1px solid var(--ap-hair,#d2d2d7);border-radius:var(--ap-r-md,12px);background:#fff;font:inherit;font-size:16px;color:inherit;}
.ops-modal .staff-combo-input:focus,.ops-card .staff-combo-input:focus{outline:none;border-color:var(--ap-blue-focus,#0071e3);box-shadow:0 0 0 3px rgba(0,113,227,.2);}
.ops-card .staff-combo{max-width:520px;}
.ops-field-off,.field.is-off{opacity:.5;}
.ops-fixed{margin:0;padding:10px 12px;border-radius:var(--ap-r-md,12px);background:var(--ap-parch,#f5f5f7);font-size:14px;}
.ops-yn{display:flex;flex-wrap:wrap;gap:8px;}
.ops-yn-col{flex-direction:column;}
.ops-yn-o{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:8px 14px;border:1px solid var(--ap-hair,#d2d2d7);border-radius:var(--ap-r-md,12px);background:#fff;font-size:14.5px;cursor:pointer;}
.ops-yn-o:has(input:checked){border-color:var(--ap-blue-focus,#0071e3);background:#f5f9ff;}
.ops-numrow{display:flex;align-items:center;gap:8px;} .ops-numrow .ops-in{max-width:180px;} .ops-unit{font-size:14px;color:var(--ap-ink-60,#6e6e73);}
.ops-picklist{list-style:none;margin:0 0 10px;padding:0;}
.ops-pick{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;margin-top:6px;border:1px solid var(--ap-hair-soft,#e8e8ed);border-radius:var(--ap-r-md,12px);background:#fff;}
.ops-pick.is-rm{background:#fdf3f3;border-color:#f0c8c4;} .ops-pick.is-rm b{text-decoration:line-through;}
.ops-pick-n{min-width:0;flex:1 1 auto;} .ops-pick-n b{margin-right:6px;} .ops-pick-n small{display:block;margin-top:2px;font-size:12.5px;color:var(--ap-ink-60,#6e6e73);overflow-wrap:anywhere;}
.ops-sum{list-style:none;margin:0 0 10px;padding:0;} .ops-sum li{padding:6px 0;border-bottom:1px solid var(--ap-divider,#f0f0f0);font-size:14.5px;}

/* ── 개요 ── */
.ops-kpis{margin-bottom:16px;}
.ops-hbar{display:flex;align-items:center;gap:14px;width:100%;margin:0 0 6px;padding:14px 16px;border:1px solid var(--line,#e3e3e8);border-radius:var(--ap-r-lg,18px);background:#fff;font:inherit;text-align:left;color:inherit;cursor:pointer;}
.ops-hbar.ok{border-color:#bfe6cd;background:#f3fbf6;} .ops-hbar.warn{border-color:#f1d9a8;background:#fffaf0;} .ops-hbar.err{border-color:#f0c0bc;background:#fff5f4;}
.ops-hbar-ic{display:inline-flex;} .ops-hbar.ok .ops-hbar-ic{color:#1a6b3a;} .ops-hbar.warn .ops-hbar-ic{color:#8a5200;} .ops-hbar.err .ops-hbar-ic{color:#b3261e;}
.ops-hbar-t{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px;} .ops-hbar-t b{font-size:15.5px;font-weight:600;} .ops-hbar-t span{font-size:13.5px;color:var(--ap-ink-60,#6e6e73);}
.ops-hbar-go{color:var(--ap-ink-60,#6e6e73);display:inline-flex;}
.ops-guide{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.ops-guide button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:52px;padding:10px 14px;border:1px solid var(--line,#e3e3e8);border-radius:var(--ap-r-md,12px);background:#fff;font:inherit;font-size:14.5px;text-align:left;color:inherit;cursor:pointer;}
.ops-guide button:hover{background:var(--ap-parch,#f5f5f7);}
.ops-guide b{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto;font-size:13.5px;font-weight:600;color:var(--ap-blue,#0066cc);}
.ops-mgrid .adm-mcard{min-height:150px;}
.ops-mini{list-style:none;margin:0;padding:0;} .ops-mini li{display:flex;gap:12px;padding:8px 0;border-top:1px solid var(--ap-divider,#f0f0f0);font-size:14px;line-height:1.45;} .ops-mini li:first-child{border-top:0;padding-top:0;}
.ops-mini-t{flex:0 0 112px;color:var(--ap-ink-60,#6e6e73);font-variant-numeric:tabular-nums;} .ops-mini-b{min-width:0;overflow-wrap:anywhere;} .ops-mini-b small{color:var(--ap-ink-60,#6e6e73);}

/* ── 권한 ── */
.ops-seg{display:inline-flex;padding:4px;margin:0 0 16px;border-radius:999px;background:var(--ap-parch,#f5f5f7);}
.ops-seg button{min-height:40px;padding:0 18px;border:0;border-radius:999px;background:none;font:inherit;font-size:14.5px;color:var(--ap-ink-60,#6e6e73);cursor:pointer;}
.ops-seg button.on{background:#fff;color:var(--ap-ink,#1d1d1f);font-weight:600;box-shadow:0 1px 3px rgba(0,0,0,.12);}
.ops-rows{list-style:none;margin:0;padding:0;}
.ops-prow{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:14px 0;border-top:1px solid var(--ap-divider,#f0f0f0);border-radius:12px;}
.ops-prow:first-child{border-top:0;padding-top:2px;}
.ops-prow-main{min-width:0;flex:1 1 auto;} .ops-prow-t b{font-size:15.5px;font-weight:600;} .ops-prow-act{flex:0 0 auto;}
.ops-chips{display:flex;flex-wrap:wrap;gap:2px;margin-top:8px;}
.ops-emp{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:14px 0 10px;padding:12px 14px;border-radius:var(--ap-r-md,12px);background:var(--ap-parch,#f5f5f7);}
.ops-emp-n{font-size:17px;}
.ops-grp{margin:12px 0 0;padding:0;border:0;min-width:0;} .ops-grp legend{padding:0;margin-bottom:6px;font-size:15px;font-weight:600;}
.ops-sw{position:relative;display:flex;align-items:center;gap:12px;min-height:56px;margin-top:8px;padding:12px 14px;border:1px solid var(--ap-hair,#d2d2d7);border-radius:var(--ap-r-md,12px);background:#fff;cursor:pointer;}
.ops-sw.on{border-color:var(--ap-blue-focus,#0071e3);background:#f5f9ff;}
.ops-sw input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;} .ops-sw input:disabled{cursor:not-allowed;}
.ops-sw:focus-within{box-shadow:0 0 0 3px rgba(0,113,227,.25);}
.ops-sw-t{flex:1 1 auto;min-width:0;} .ops-sw-t b{display:block;font-size:15px;} .ops-sw-t small{display:block;margin-top:2px;font-size:12.5px;line-height:1.45;color:var(--ap-ink-60,#6e6e73);}
.ops-sw-t small.ops-def{color:var(--ap-ink-80,#333);font-weight:500;}
.ops-sw.inh{background:var(--ap-parch,#f5f5f7);border-color:var(--ap-hair-soft,#e8e8ed);cursor:default;} .ops-sw.inh.on .ops-knob{background:#9bb8e3;}
.ops-sw-s{flex:0 0 auto;min-width:58px;text-align:right;font-size:13px;font-weight:700;color:var(--ap-ink-60,#6e6e73);} .ops-sw.on .ops-sw-s{color:var(--ap-blue,#0066cc);}
.ops-knob{flex:0 0 auto;position:relative;width:44px;height:26px;border-radius:999px;background:#c7c7cc;transition:background .15s;}
.ops-knob::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.3);transition:transform .15s;}
.ops-sw.on .ops-knob{background:var(--ap-blue-focus,#0071e3);} .ops-sw.on .ops-knob::after{transform:translateX(18px);}

/* ── 담당자 ── */
.ops-found-h{margin:10px 0 6px;font-size:14.5px;} .ops-found-h small{color:var(--ap-ink-60,#6e6e73);}
.ops-found{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px;}
.ops-found button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-height:44px;padding:8px 14px;border:1px solid var(--ap-hair,#d2d2d7);border-radius:var(--ap-r-md,12px);background:#fff;font:inherit;text-align:left;cursor:pointer;} .ops-found small{color:var(--ap-ink-60,#6e6e73);}
.ops-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.ops-slot{display:flex;flex-direction:column;min-width:0;padding:16px;border:1px solid var(--line,#e3e3e8);border-radius:var(--ap-r-lg,18px);background:#fff;}
.ops-slot.s-unset{border-color:#f1d9a8;background:#fffcf5;} .ops-slot.s-inactive,.ops-slot.s-invalid{border-color:#f0c0bc;background:#fffafa;}
.ops-slot-h{display:flex;align-items:center;flex-wrap:wrap;gap:4px 6px;} .ops-slot-h b{margin-right:4px;font-size:15.5px;font-weight:600;}
.ops-slot-act{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:12px;}
.ops-people{list-style:none;margin:10px 0 0;padding:0;} .ops-people li{padding:6px 0;border-top:1px solid var(--ap-divider,#f0f0f0);} .ops-people li:first-child{border-top:0;}
.ops-people small{display:block;margin-top:2px;font-size:12.5px;color:var(--ap-ink-60,#6e6e73);}
.ops-sum-t{margin:8px 0 0;font-size:14px;line-height:1.5;color:var(--ap-ink-80,#333);}
.ops-miss{list-style:none;margin:8px 0 0;padding:0;} .ops-miss li{padding:3px 0;font-size:13px;line-height:1.45;color:#8a5200;overflow-wrap:anywhere;} .ops-miss li.ops-none{color:var(--ap-ink-60,#6e6e73);}

/* ── 운영 설정 ── */
.ops-gd{margin:0 0 12px;border:1px solid var(--line,#e3e3e8);border-radius:var(--ap-r-lg,18px);background:#fff;overflow:hidden;}
.ops-gd>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:52px;padding:10px 16px;font-size:15.5px;cursor:pointer;list-style:none;} .ops-gd>summary::-webkit-details-marker{display:none;}
.ops-gd>summary::after{content:"▾";color:var(--ap-ink-60,#6e6e73);} .ops-gd[open]>summary::after{content:"▴";}
.ops-gd-n{margin-left:auto;font-size:13px;color:var(--ap-ink-60,#6e6e73);}
.ops-sets{border-top:1px solid var(--ap-divider,#f0f0f0);}
.ops-set{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:14px 16px;border-top:1px solid var(--ap-divider,#f0f0f0);} .ops-set:first-child{border-top:0;}
.ops-set.is-set{background:#fbfdff;} .ops-set-main{min-width:0;flex:1 1 auto;} .ops-set-t b{font-size:15px;font-weight:600;}
.ops-set-val{display:flex;align-items:center;flex-wrap:wrap;gap:4px 6px;margin-top:8px;} .ops-val{margin-right:4px;font-size:17px;font-weight:600;overflow-wrap:anywhere;}
.ops-set-act{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;flex:0 0 auto;}

/* ── 알림 ── */
.ops-env{list-style:none;margin:0;padding:0;} .ops-env li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--ap-divider,#f0f0f0);font-size:14.5px;} .ops-env li:first-child{border-top:0;padding-top:0;}
.ops-evs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.ops-ev{display:flex;flex-direction:column;min-width:0;padding:16px;border:1px solid var(--line,#e3e3e8);border-radius:var(--ap-r-lg,18px);background:#fff;} .ops-ev.is-off{background:#fafafa;}
.ops-ev-h{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;} .ops-ev-h b{font-size:15.5px;font-weight:600;} .ops-ev-st{display:flex;flex-wrap:wrap;justify-content:flex-end;}
.ops-dl{display:grid;grid-template-columns:132px minmax(0,1fr);gap:6px 10px;margin:10px 0 0;font-size:13.5px;} .ops-dl dt{color:var(--ap-ink-60,#6e6e73);} .ops-dl dd{margin:0;overflow-wrap:anywhere;} .ops-dl code{font-size:12.5px;}

/* ── 기준정보 · 점검 · 이력 ── */
.ops-export{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;} .ops-export a.btn{text-decoration:none;}
.ops-mgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.ops-mcard{display:flex;flex-direction:column;gap:6px;min-width:0;padding:16px;border:1px solid var(--line,#e3e3e8);border-radius:var(--ap-r-lg,18px);background:#fff;font:inherit;text-align:left;color:inherit;cursor:pointer;}
.ops-mcard:disabled{cursor:default;opacity:.7;} @media (hover:hover){.ops-mcard:not(:disabled):hover{box-shadow:0 8px 24px rgba(0,0,0,.08);}}
.ops-mcard-t{font-size:15.5px;font-weight:600;} .ops-mcard-d{font-size:13.5px;line-height:1.5;color:var(--ap-ink-60,#6e6e73);} .ops-mcard-f{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:6px;} .ops-mcard-f small{color:var(--ap-ink-60,#6e6e73);}
.ops-go{margin-left:auto;font-size:13.5px;font-weight:600;color:var(--ap-blue,#0066cc);}
.ops-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 16px;}
.ops-tile{padding:14px;border-radius:var(--ap-r-md,12px);background:#f0f0f2;color:#555;} .ops-tile b{display:block;font-size:26px;font-weight:700;line-height:1.1;} .ops-tile span{font-size:13.5px;font-weight:600;}
.ops-tile.err{background:#fdecec;color:#b3261e;} .ops-tile.warn{background:#fff4e0;color:#8a5200;} .ops-tile.info{background:#eef4fd;color:var(--ap-blue,#0066cc);} .ops-tile.ok{background:#e6f6ec;color:#1a6b3a;}
.ops-hc{margin:0 0 10px;border:1px solid var(--line,#e3e3e8);border-left-width:4px;border-radius:var(--ap-r-md,12px);background:#fff;}
.ops-hc.sev-err{border-left-color:#d93025;} .ops-hc.sev-warn{border-left-color:#e8a317;} .ops-hc.sev-info{border-left-color:#0071e3;} .ops-hc.sev-ok{border-left-color:#34a853;}
.ops-hc>summary{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;min-height:50px;padding:10px 14px;cursor:pointer;list-style:none;} .ops-hc>summary::-webkit-details-marker{display:none;} .ops-hc>summary b{font-size:15px;font-weight:600;}
.ops-hc-n{margin-left:auto;font-size:13px;color:var(--ap-ink-60,#6e6e73);}
.ops-hc-b{padding:0 14px 14px;} .ops-hc-b p{margin:0 0 8px;font-size:14px;line-height:1.55;color:var(--ap-ink-80,#333);}
.ops-hlist{list-style:none;margin:0;padding:0;} .ops-hlist li{padding:7px 0;border-top:1px solid var(--ap-divider,#f0f0f0);font-size:14px;overflow-wrap:anywhere;}
.ops-hlink{padding:0;border:0;background:none;font:inherit;text-align:left;color:var(--ap-blue,#0066cc);cursor:pointer;}
.ops-hist{list-style:none;margin:0 0 12px;padding:0;}
.ops-h-item{padding:14px 0;border-top:1px solid var(--ap-divider,#f0f0f0);} .ops-h-item:first-child{border-top:0;padding-top:2px;}
.ops-h-top{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;} .ops-h-top b{font-size:15px;font-weight:600;} .ops-h-time{margin-left:auto;font-size:13px;color:var(--ap-ink-60,#6e6e73);font-variant-numeric:tabular-nums;}
.ops-h-target{margin-top:4px;font-size:14px;overflow-wrap:anywhere;}
.ops-h-diff{margin-top:6px;padding:8px 12px;border-radius:var(--ap-r-md,12px);background:var(--ap-parch,#f5f5f7);font-size:13.5px;line-height:1.55;overflow-wrap:anywhere;} .ops-h-b{color:#98989d;text-decoration:line-through;} .ops-h-a{color:var(--ap-ink,#1d1d1f);}
.ops-h-meta{margin-top:6px;font-size:13px;color:var(--ap-ink-60,#6e6e73);overflow-wrap:anywhere;}

/* ── 관리자 페이지: 운영 관리센터 바로가기 ── */
.adm .adm-ops-entry{margin:0 0 24px;padding:20px 24px;border:0;border-radius:var(--ap-r-lg,18px);background:var(--ap-ink,#1d1d1f);color:#fff;box-shadow:none;}
.adm .adm-ops-entry .hae-ic{border-radius:50%;background:rgba(255,255,255,.1);color:#fff;}
.adm .adm-ops-entry .hae-title{color:#fff;font-weight:600;} .adm .adm-ops-entry .hae-badge{background:rgba(255,255,255,.14);color:#e5e5ea;}
.adm .adm-ops-entry .hae-desc{color:#cccccc;} .adm .adm-ops-entry .hae-go{border-radius:999px;background:var(--ap-blue,#0066cc);color:#fff;font-weight:600;}
.adm-ops-entry .ops-entry-st{display:inline-block;margin-left:8px;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:700;background:rgba(255,255,255,.18);color:#fff;}
.adm-ops-entry .ops-entry-st.err{background:#d93025;} .adm-ops-entry .ops-entry-st.warn{background:#e8a317;color:#1d1d1f;}

/* ── 좁은 화면 ── */
@media (max-width:900px){
  .ops-layout{grid-template-columns:minmax(0,1fr);gap:14px;}
  .ops-nav{position:static;flex-direction:row;gap:6px;padding:6px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
  .ops-nav::-webkit-scrollbar{display:none;}
  .ops-nav-b{flex:0 0 auto;width:auto;min-height:44px;padding:6px 14px;border-radius:999px;white-space:nowrap;}
  .ops-nav-b .adm-ic{display:none;}
  .ops-slots,.ops-evs,.ops-mgrid,.ops-guide{grid-template-columns:minmax(0,1fr);}
}
@media (max-width:640px){
  .ops .ops-search-in{min-height:48px;font-size:16px;}
  /* 터치 대상 44px — 필터 칩 · 보기 전환 · 선택 상자 · 점검 버튼/항목 · 글 안의 이동 링크(여백으로 터치 영역만 넓힘, 줄 간격은 그대로) */
  .ops-fchip,.ops-sel,.ops-seg button{min-height:44px;} .ops-actions .btn{min-height:44px;}
  .ops-hlink{display:inline-flex;align-items:center;min-height:44px;}
  .ops .adm-link{display:inline-block;padding:12px 4px;margin-top:-12px;margin-bottom:-12px;}
  .ops-sec-head h2{font-size:20px;} .ops-card{padding:14px;border-radius:var(--ap-r-md,12px);}
  .ops-prow,.ops-set,.ops-emp{flex-direction:column;align-items:stretch;gap:10px;}
  .ops-prow-act,.ops-set-act{justify-content:flex-start;} .ops-prow-act .btn,.ops-set-act .btn,.ops-slot-act .btn,.ops-emp .btn{min-height:44px;}
  .ops-set{padding:14px;} .ops-sw{gap:10px;padding:12px;} .ops-sw-s{min-width:0;}
  .ops-tiles{grid-template-columns:repeat(2,minmax(0,1fr));}
  .ops-dl{grid-template-columns:minmax(0,1fr);gap:0;} .ops-dl dt{margin-top:8px;font-size:12.5px;} .ops-dl dd{font-size:14px;}
  .ops-mini li,.ops-h-top{flex-direction:column;gap:2px;align-items:flex-start;} .ops-mini-t{flex:none;} .ops-h-time{margin-left:0;}
  .ops-export{flex-direction:column;align-items:stretch;} .ops-export a.btn{width:100%;}
  .ops-pick{flex-wrap:wrap;} .ops-yn-o{flex:1 1 100%;}
  .adm .adm-ops-entry{padding:16px;}
}
@media (prefers-reduced-motion:reduce){ .ops-flash{animation:none;outline:3px solid rgba(0,113,227,.45);} .ops-knob,.ops-knob::after{transition:none;} }
}
