@charset "utf-8";
/* 메가X 허브 센터 — 관리 화면 전용 스타일
   색: 네이비 #17243f / 배경 #f5f6f9 / 선 #e7e9ef
   EN 파랑 #2b5cc4 / TH 자주 #c0395a / 대기 주황 #c9821a / 완료 초록 #1f9d6b */

@font-face{font-family:"Pretendard";font-weight:400;font-display:swap;
  src:local("Pretendard Regular"),url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/woff2/Pretendard-Regular.woff2") format("woff2");}
@font-face{font-family:"Pretendard";font-weight:600;font-display:swap;
  src:local("Pretendard SemiBold"),url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/woff2/Pretendard-SemiBold.woff2") format("woff2");}
@font-face{font-family:"Pretendard";font-weight:700;font-display:swap;
  src:local("Pretendard Bold"),url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/woff2/Pretendard-Bold.woff2") format("woff2");}

*{box-sizing:border-box;margin:0;padding:0;}
body.hub-body,body.hub-gate{
  font-family:"Pretendard","Noto Sans Thai","Apple SD Gothic Neo",sans-serif;
  background:#f5f6f9;color:#1a2540;-webkit-font-smoothing:antialiased;font-size:16px;}
a{text-decoration:none;color:inherit;}
button{font-family:inherit;cursor:pointer;border:0;background:none;}
input,select,textarea{font-family:inherit;}
.th{font-family:"Noto Sans Thai","Pretendard",sans-serif;}
code{font-family:ui-monospace,Menlo,Consolas,monospace;}

/* ══════════ 로그인 게이트 ══════════ */
body.hub-gate{background:#17243f;display:flex;align-items:center;
  justify-content:center;min-height:100vh;}
.gate{width:437px;padding:28px 0;text-align:center;}
.gate .brand img{width:172px;}
.gate .brand .kr{margin-top:18px;font-size:19px;font-weight:600;color:#fff;letter-spacing:.6px;}
.gate .brand .en{margin-top:6px;font-size:12px;letter-spacing:4.5px;color:#8ea0c8;}
.gate-box{background:#fff;border-radius:16px;padding:37px 32px 28px;text-align:left;
  margin-top:32px;box-shadow:0 21px 57px rgba(0,0,0,.28);}
.gate-box h1{font-size:17px;font-weight:600;color:#17243f;margin-bottom:6px;}
.gate-box .sub{font-size:14px;color:#8a8d96;margin-bottom:25px;}
.gate-msg{font-size:13px;color:#c0392b;background:#fdecea;border-radius:9px;
  padding:10px 13px;margin-bottom:18px;line-height:1.5;}
.gate .f{display:flex;align-items:center;height:53px;border:1px solid #dfe2ea;border-radius:10px;
  background:#fbfbfd;padding:0 15px;margin-bottom:15px;}
.gate .f:focus-within{border-color:#17243f;background:#fff;box-shadow:0 0 0 3px rgba(23,36,63,.10);}
.gate .f svg{flex:0 0 auto;margin-right:13px;}
.gate .f input{flex:1;border:0;background:none;outline:none;font-size:15.5px;color:#222;}
.gate .go{display:block;width:100%;height:54px;border-radius:10px;background:#17243f;color:#fff;
  font-size:16.5px;font-weight:600;letter-spacing:1px;margin-top:6px;}
.gate .go:hover{background:#111b32;}
.gate .row{display:flex;align-items:center;justify-content:space-between;
  margin-top:17px;font-size:13px;color:#8a8d96;}
.gate .row label{display:flex;align-items:center;}
.gate .row input{margin-right:6px;vertical-align:-1px;}
.gate .foot{margin-top:23px;font-size:12.5px;color:#8ea0c8;display:flex;
  align-items:center;justify-content:center;gap:7px;}

/* ══════════ 뼈대 ══════════ */
.hub-wrap{display:flex;min-height:100vh;}
.hub-sb{width:271px;flex:0 0 271px;background:#17243f;color:#c7d0e2;
  display:flex;flex-direction:column;position:sticky;top:0;height:100vh;}
.hub-main{flex:1;min-width:0;}
.hub-content{padding:25px 28px 30px;}

/* 사이드바 */
.sb-brand{padding:25px 23px 21px;border-bottom:1px solid #2b3d63;display:flex;align-items:center;}
.sb-brand img{width:41px;margin-right:13px;}
.sb-brand .nm{font-size:15.5px;font-weight:600;color:#fff;line-height:1.35;}
.sb-brand .nm span{display:block;font-size:11px;letter-spacing:2px;color:#7e8db0;
  font-weight:400;margin-top:2px;}
.sb-sec{padding:18px 17px 7px;font-size:13.5px;font-weight:600;letter-spacing:.6px;color:#94a2c2;}
.sb-nav a{display:flex;align-items:center;gap:12px;padding:10px 17px;margin:1px 9px;
  border-radius:9px;font-size:15px;color:#b9c2d6;}
.sb-nav a:hover{background:#1f3054;color:#fff;}
.sb-nav a.on{background:#fff;color:#17243f;font-weight:600;}
.sb-foot{margin-top:auto;padding:16px 18px;border-top:1px solid #2b3d63;display:flex;align-items:center;}
.sb-foot .ava{width:37px;height:37px;border-radius:18px;background:#33456e;color:#fff;
  font-size:14.5px;font-weight:600;text-align:center;line-height:37px;margin-right:12px;}
.sb-foot .who b{display:block;font-size:14px;color:#e4e9f2;font-weight:500;}
.sb-foot .who i{display:block;font-size:12px;color:#7e8db0;font-style:normal;}
.sb-foot .out{margin-left:auto;}

/* 상단바 */
.hub-top{height:69px;background:#fff;border-bottom:1px solid #e7e9ef;
  display:flex;align-items:center;gap:10px;padding:0 28px;position:sticky;top:0;z-index:5;}
.hub-top h1{font-size:19px;font-weight:600;}
.hub-top .crumb{font-size:15px;color:#8a8d96;}
.hub-top .crumb b{color:#1a2540;font-weight:600;}
.hub-top .sp{flex:1;}
.srch{display:flex;align-items:center;gap:9px;width:368px;height:43px;border:1px solid #e7e9ef;
  border-radius:10px;background:#f5f6f9;margin-left:18px;padding:0 14px;}
.srch input{flex:1;border:0;background:none;outline:none;font-size:14.5px;}

/* 버튼 */
.btn{display:inline-block;height:41px;line-height:39px;padding:0 17px;border-radius:10px;
  font-size:14.5px;font-weight:600;white-space:nowrap;vertical-align:middle;}
.btn svg{vertical-align:-3px;margin-right:7px;}
.btn-p{background:#17243f;color:#fff;}
.btn-p:hover{background:#111b32;}
.btn-g{background:#fff;color:#8a8d96;border:1px solid #e7e9ef;font-weight:500;}
.btn-g:hover{background:#f5f6f9;}
.btn-ok{background:#1f9d6b;color:#fff;}
.btn-no{background:#fff;color:#d0533c;border:1px solid #f0c4bb;}
.btn:disabled{opacity:.45;cursor:default;}

/* 카드 */
.card{background:#fff;border:1px solid #e7e9ef;border-radius:14px;}
.phead{display:flex;align-items:center;padding:16px 20px;border-bottom:1px solid #eef0f5;}
.phead h2{font-size:16px;font-weight:600;}
.phead .more{margin-left:auto;display:flex;align-items:center;gap:3px;white-space:nowrap;
  font-size:13px;color:#2b5cc4;font-weight:500;}
.pb{padding:17px 20px;}

/* 레이아웃 표 */
.lay{width:100%;border-collapse:collapse;table-layout:fixed;}
.lay>tbody>tr>td{vertical-align:top;}
.gap{height:21px;}

/* 지표 */
.mrow td{padding-right:16px;}
.mrow td.last{padding-right:0;}
.metric{background:#fff;border:1px solid #e7e9ef;border-radius:14px;padding:17px 20px;}
.metric .top{display:flex;align-items:center;margin-bottom:13px;}
.metric .lbl{font-size:14px;color:#8a8d96;}
.metric .icb{margin-left:auto;width:34px;height:34px;border-radius:9px;text-align:center;padding-top:7px;}
.i-blue{background:#e8effb;}.i-amber{background:#fbf1e0;}
.i-green{background:#e6f6ef;}.i-slate{background:#eef1f7;}
.metric .val{font-size:30px;font-weight:700;line-height:1;}
.metric .val small{font-size:14.5px;font-weight:500;color:#a9adb8;margin-left:3px;}
.metric .sub{font-size:13px;color:#a9adb8;margin-top:9px;}

/* 빈 상태 */
.empty{padding:39px 21px 41px;text-align:center;}
.empty .ico{width:48px;height:48px;border-radius:24px;background:#f2f4f8;margin:0 auto 13px;padding-top:13px;}
.empty .t1{font-size:15px;font-weight:600;color:#54607e;}
.empty .t2{font-size:13px;color:#a9adb8;margin-top:6px;line-height:1.55;}
.empty .btn{display:inline-flex;}

/* 사이트 목록 */
.site{display:flex;align-items:center;padding:14px 20px;border-bottom:1px solid #eef0f5;}
.site.last{border-bottom:none;}
.site .sd{width:9px;height:9px;border-radius:5px;background:#1f9d6b;margin-right:13px;}
.site .sd.off{background:#c3c9d6;}
.site .sd.bad{background:#d24334;}
.site .snm{font-size:14.5px;font-weight:600;}
.site .surl{font-size:12px;color:#a9adb8;margin-top:2px;}
.site .cnt{margin-left:auto;font-size:12px;color:#8a8d96;background:#f2f4f8;
  padding:3px 10px;border-radius:7px;text-decoration:none;}
.site a.cnt:hover{background:#e8ebf2;}
.site .cnt.ok{color:#15754e;background:#e9f7f1;}
.site .cnt.bad{color:#a5372a;background:#fdecea;}
.maph{padding:13px 20px 7px;font-size:12px;color:#a9adb8;background:#fafbfc;border-top:1px solid #eef0f5;}
.map{padding:0 20px 14px;background:#fafbfc;border-radius:0 0 13px 13px;}
.map table{width:100%;border-collapse:collapse;}
.map td{padding:7px 0;border-bottom:1px solid #eef0f5;font-size:13px;}
.map tr.last td{border-bottom:none;}
.mono{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px;color:#8a8d96;}

/* 배지 */
.bd{display:inline-block;font-size:12px;font-weight:700;padding:3px 9px;border-radius:7px;}
.b-en{background:#e8effb;color:#2b5cc4;}
.b-th{background:#fdeef0;color:#c0395a;}
.b-wait{background:#fdf6e9;color:#c9821a;border:1px dashed #e2b775;padding:2px 8px;}
.tag{display:inline-block;font-size:12.5px;font-weight:500;padding:3px 10px;border-radius:7px;}
.t-case{background:#eaf1fd;color:#2b5cc4;}
.t-press{background:#f0ecfb;color:#6a4bc0;}
.t-qna{background:#fdf0e8;color:#c9601a;}
.t-mem,.t-member{background:#eaf6ef;color:#1f9d6b;}

/* 배포 상태 */
.st{display:inline-block;font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:6px;}
.st-wait{background:#f2f4f8;color:#7b8398;}
.st-ready{background:#fbf1e0;color:#b0741a;}
.st-appr{background:#e8effb;color:#2b5cc4;}
.st-pub{background:#e6f6ef;color:#1a8259;}
.st-rej{background:#fdecea;color:#c0392b;}

/* 저장 알림 띠 */
.flash{display:flex;align-items:center;gap:9px;background:#e9f7f1;border:1px solid #bfe6d6;
  color:#1a7a56;font-size:14px;border-radius:11px;padding:13px 17px;margin-bottom:16px;}

/* ══════════ 작성 폼 ══════════ */
.editor{background:#fff;border:1px solid #e7e9ef;border-radius:14px;padding:23px 25px;}
.editbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;background:#f4f7fd;
  border:1px solid #d7e2f6;border-radius:10px;padding:12px 15px;margin-bottom:20px;}
.editbar b{font-size:14px;color:#17243f;}
.editbar span{flex:1 1 340px;font-size:12.5px;color:#4a5a80;line-height:1.6;}
.editbar b b{color:#a5372a;}

/* 삭제 확인 */
.delitem{border:1px solid #eef0f5;border-radius:10px;padding:15px 17px;margin-bottom:16px;}
.delitem .dt{font-size:16px;font-weight:600;color:#1a2540;margin-top:9px;}
.delitem .dm{font-size:12.5px;color:#a9adb8;margin-top:5px;}
.delsites{margin-bottom:18px;}
.delsites .dsttl{font-size:12px;color:#a9adb8;margin-bottom:9px;letter-spacing:1px;}
.dsrow{display:flex;align-items:center;gap:9px;padding:9px 0;border-bottom:1px solid #f4f5f8;}
.dsrow:last-child{border-bottom:none;}
.dsrow .nm{font-size:13.5px;font-weight:500;color:#1a2540;}
.dsrow .st{font-size:11.5px;font-weight:600;border-radius:6px;padding:2px 8px;}
.dsrow .live{font-size:12px;color:#8a5d0f;background:#fdf6e9;border-radius:6px;padding:2px 9px;margin-left:auto;}
.delopt{display:flex;gap:10px;align-items:flex-start;background:#fafbfc;border:1px solid #eef0f5;
  border-radius:10px;padding:13px 15px;margin-bottom:14px;cursor:pointer;}
.delopt input{margin-top:3px;}
.delopt b{font-size:13.5px;color:#1a2540;}
.delopt i{display:block;font-style:normal;font-size:12px;color:#8a8d96;margin-top:3px;line-height:1.6;}
.delwarn{display:flex;align-items:center;gap:8px;font-size:13px;color:#a5372a;
  background:#fdecea;border-radius:9px;padding:11px 14px;margin-bottom:16px;}
.delact{display:flex;justify-content:flex-end;gap:9px;}

/* 번역 규칙 — 용어 추가 줄 */
.termadd{display:flex;gap:8px;align-items:center;}
.termadd .inp{flex:1;min-width:0;}
.termadd .btn{white-space:nowrap;}

/* 관련 변호사 선택기 */
.attpick-sel{margin-bottom:4px;}
.attpick-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px;}
.attpick-tag{display:inline-flex;align-items:center;gap:7px;font-size:13px;
  background:#eaf1fd;color:#1a3a72;border:1px solid #c9dcf7;border-radius:8px;padding:5px 6px 5px 11px;}
.attpick-tag b{cursor:pointer;color:#5a7bb5;font-weight:700;font-size:15px;line-height:1;
  padding:0 5px;border-radius:5px;}
.attpick-tag b:hover{background:#d4e2f8;color:#a5372a;}
.grp{margin-bottom:21px;}
.grp.last{margin-bottom:0;}
.lbl{display:block;font-size:14.5px;font-weight:600;margin-bottom:9px;}
.lbl .req{color:#d0533c;margin-left:2px;}
.lbl .fld,.slbl .f{font-size:11px;color:#b6bcc9;font-weight:400;margin-left:8px;
  font-family:ui-monospace,Menlo,Consolas,monospace;}
.lbl .hint{font-size:12.5px;color:#a9adb8;font-weight:400;margin-left:8px;}
.secttl{font-size:14.5px;font-weight:700;color:#17243f;margin:0 0 12px;
  padding-bottom:9px;border-bottom:1px solid #eef0f5;}
.slbl{display:block;font-size:12.5px;font-weight:600;color:#54607e;margin-bottom:7px;}

/* 유형 탭 */
.types{width:100%;border-collapse:collapse;table-layout:fixed;}
.types td{padding-right:10px;}
.types td.last{padding-right:0;}
.tbox{display:block;border:1px solid #e7e9ef;border-radius:12px;padding:13px 9px 12px;text-align:center;}
.tbox:hover{border-color:#c7cede;}
.tbox.on{border-color:#17243f;background:#f4f7fd;box-shadow:0 0 0 1px #17243f;}
.tbox .t{display:block;font-size:14.5px;font-weight:500;margin-top:6px;}
.tbox .tb{display:block;font-size:11px;color:#a9adb8;margin-top:3px;
  font-family:ui-monospace,Menlo,Consolas,monospace;}
.tbox.on .t{color:#17243f;font-weight:600;}

/* 입력 */
.inp{width:100%;border:1px solid #e7e9ef;border-radius:10px;padding:12px 15px;
  font-size:15px;color:#1a2540;background:#fff;outline:none;}
.inp:focus{border-color:#2b5cc4;box-shadow:0 0 0 3px rgba(43,92,196,.10);}
.inp::placeholder,.rtebody::placeholder,.srch input::placeholder,
.lnkrow input::placeholder,.gate .f input::placeholder{color:#b0b3bb;opacity:1;}
select.inp{appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%238a8d96' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;padding-right:39px;}
.chkline{display:block;font-size:13px;color:#8a8d96;margin-bottom:10px;}
.chkline input{margin-right:7px;vertical-align:-1px;}
.two,.mrow{width:100%;border-collapse:collapse;table-layout:fixed;}
.two td,.mrow td{padding-right:14px;vertical-align:top;}
.two td.last,.mrow td.last{padding-right:0;}
.four td{padding-right:12px;}

/* 분류 칩 */
.chips{margin-top:2px;}
.chip{display:inline-block;font-size:14px;border-radius:9px;background:#f2f4f8;color:#54607e;
  margin:0 7px 7px 0;position:relative;}
.chip input{position:absolute;opacity:0;width:0;height:0;}
.chip span,.chip.add{display:inline-block;padding:8px 15px;border-radius:9px;}
.chip input:checked+span{background:#17243f;color:#fff;font-weight:600;}
.chip.add{background:#fff;border:1px dashed #c9cfdb;color:#8a8d96;font-size:14px;}

/* 자체뉴스 / 외부매체 그룹 */
.catgrp{border:1px solid #e7e9ef;border-radius:12px;background:#fafbfc;padding:5px 16px;}
.cg{padding:13px 0;border-bottom:1px solid #eef0f5;}
.cg.last{border-bottom:none;}
.cgl{display:inline-block;width:85px;font-size:12.5px;font-weight:700;color:#54607e;vertical-align:middle;}
.cgn{font-size:12px;color:#a9adb8;margin-left:5px;}
.catgrp .chip{background:#fff;vertical-align:middle;margin:0 6px 0 0;}
.catgrp .chip span{border:1px solid #e7e9ef;}
.catgrp .chip input:checked+span{border-color:#17243f;}

/* 에디터 */
.rte{border:1px solid #e7e9ef;border-radius:10px;background:#fff;overflow:hidden;}
.rte:focus-within{border-color:#2b5cc4;}
.rtebar{background:#f7f8fb;border-bottom:1px solid #eef0f5;padding:7px 9px;}
.rb{display:inline-block;font-size:12px;color:#54607e;background:#fff;border:1px solid #e2e6ee;
  border-radius:6px;padding:3px 8px;margin-right:5px;}
.rb:hover{background:#eef1f7;}
.rtebody{display:block;width:100%;border:0;outline:none;resize:vertical;
  padding:13px 15px;font-size:14.5px;line-height:1.75;color:#41485a;}

/* 태그 선택 */
.tagbox{border:1px solid #e7e9ef;border-radius:10px;background:#fff;padding:13px;}
.tag-empty{font-size:13px;color:#b6bcc9;}

/* 사이트별 첨부 */
.att{width:100%;border-collapse:collapse;table-layout:fixed;}
.att td{vertical-align:top;}
.att td.l{padding-right:14px;}
.acol{border:1px solid #e7e9ef;border-radius:12px;background:#fafbfc;padding:14px 15px 15px;}
.ahd{display:flex;align-items:center;gap:9px;margin-bottom:12px;}
.ahd .nm{font-size:14px;font-weight:600;}
.ahd .n{margin-left:auto;font-size:11.5px;color:#a9adb8;}
.asub{font-size:11.5px;font-weight:600;color:#a9adb8;margin:0 0 8px;}
.asub code{font-size:11px;color:#8a8d96;}
.thumbs{display:flex;gap:9px;margin-bottom:13px;}
.addbox{display:flex;flex-direction:column;align-items:center;justify-content:center;
  width:85px;height:60px;border:1px dashed #c9cfdb;border-radius:8px;background:#fff;cursor:pointer;}
.addbox input{display:none;}
.addbox .t{font-size:10.5px;color:#8a8d96;margin-top:2px;}
.lnkrow{display:flex;align-items:center;gap:8px;border:1px solid #e7e9ef;border-radius:9px;
  background:#fff;padding:8px 12px;margin-bottom:7px;}
.lnkrow:last-child{margin-bottom:0;}
.lnkrow input{flex:1;border:0;outline:none;font-size:13px;color:#41485a;}
.mnote,.mnote2{font-size:12px;color:#a9adb8;line-height:1.6;margin-top:9px;}
.mnote2 b,.mnote b{color:#54607e;}

/* 우측 레일 */
.rail .card{margin-bottom:17px;}
.rail .card.last{margin-bottom:0;}
.note{font-size:13px;color:#8a8d96;background:#f5f6f9;border-radius:9px;
  padding:10px 13px;line-height:1.55;margin-bottom:14px;}
.note b{color:#17243f;}
.dgt{font-size:11.5px;font-weight:600;color:#a9adb8;margin-bottom:9px;}
.tsite{display:flex;align-items:center;gap:10px;background:#f8f9fb;border-radius:10px;
  padding:10px 13px;margin-bottom:7px;}
.tsite.last{margin-bottom:0;}
.tsite .ck{width:20px;height:20px;border-radius:6px;background:#c9821a;text-align:center;padding-top:2px;}
.tsite .snm{font-size:14.5px;font-weight:500;}
.tsite .tb{font-size:11.5px;color:#a9adb8;font-family:ui-monospace,Menlo,Consolas,monospace;}
.tsite .tg2{margin-left:auto;font-size:12px;font-weight:600;padding:2px 9px;
  border-radius:6px;background:#fbf1e0;color:#c9821a;}
.sum{display:flex;align-items:center;font-size:14.5px;padding:13px 0 0;
  border-top:1px solid #eef0f5;margin-top:10px;color:#8a8d96;}
.sum .n{margin-left:auto;font-weight:700;color:#17243f;font-size:16.5px;}
.trt{width:100%;border-collapse:collapse;}
.trt th{font-size:11.5px;color:#a9adb8;font-weight:600;text-align:left;padding:0 0 8px;}
.trt td{padding:8px 7px 8px 0;border-top:1px solid #eef0f5;font-size:12.5px;
  vertical-align:top;line-height:1.45;word-break:break-word;}
.trt .en{color:#2b5cc4;font-weight:500;}
.trt .th{color:#c0395a;font-weight:500;}
.fmt{width:100%;border-collapse:collapse;}
.fmt td{padding:7px 0;border-bottom:1px solid #eef0f5;font-size:13px;}
.fmt tr:last-child td{border-bottom:none;}
.opt{display:flex;align-items:center;gap:10px;font-size:14.5px;padding:8px 0;}
.opt .d{margin-left:auto;font-size:12px;color:#a9adb8;}

/* ══════════ 검수 ══════════ */
/* 왼쪽 검수 큐는 스크롤을 따라다닌다.
   오른쪽 대조표가 길어져도 왼쪽에 빈 흰 칸이 길게 남지 않게 한다. */
.rvlay > tbody > tr > td{vertical-align:top;}
.qcard{min-height:483px;position:sticky;top:76px;}
/* 빈 상태에서는 좌우 카드 아래선을 맞춘다. */
.rvcard.blank{min-height:483px;}
.qhead{padding:16px 18px 14px;border-bottom:1px solid #eef0f5;}
.qhead .t{font-size:15.5px;font-weight:600;}
.qhead .t b{color:#c9821a;}
.qhead .d{font-size:12.5px;color:#a9adb8;margin-top:5px;}
.qtabs{padding:12px 18px;border-bottom:1px solid #eef0f5;background:#fafbfc;}
.qtab{display:inline-block;font-size:13px;padding:6px 13px;border-radius:18px;color:#8a8d96;
  background:#fff;border:1px solid #e7e9ef;margin-right:6px;}
.qtab.on{background:#17243f;color:#fff;border-color:#17243f;font-weight:600;}
.qi{display:block;padding:15px 18px;border-bottom:1px solid #eef0f5;cursor:pointer;}
.qi:hover{background:#fafbff;}
.qi.sel{background:#f4f7fd;border-left:3px solid #17243f;padding-left:15px;}
.qi .top{display:flex;align-items:center;gap:7px;}
.qi .ttl{font-size:14.5px;font-weight:500;line-height:1.45;margin-top:8px;}
.qi .meta{font-size:12px;color:#a9adb8;margin-top:6px;}

/* 검수 큐 — 같은 글끼리 하나의 카드로 확실히 분리 */
.qwrap{background:#eef1f6;padding:12px;}                 /* 카드들이 뜨도록 옅은 바탕 */
.qgrp{background:#fff;border:1px solid #d7deea;border-radius:13px;
  padding:14px 15px 12px;box-shadow:0 1px 3px rgba(20,30,60,.06);}
.qgrp + .qgrp{margin-top:14px;}                          /* 카드 사이 간격 */
.qg-head{display:flex;align-items:center;gap:7px;flex-wrap:wrap;
  padding-bottom:11px;margin-bottom:4px;border-bottom:1px dashed #e2e7f0;}
.qg-head .tag{font-size:11px;}
.qg-ttl{flex:1 1 100%;font-size:14.5px;font-weight:700;color:#17243f;line-height:1.4;margin-top:8px;}
.qg-meta{flex:1 1 100%;font-size:12px;color:#a9adb8;margin-top:5px;}
.qln{display:flex;align-items:center;gap:9px;padding:10px 11px;margin-top:8px;
  border:1px solid #eef0f5;border-radius:9px;background:#fafbfd;cursor:pointer;}
.qln:hover{background:#f2f6fe;border-color:#dce6f8;}
.qln.sel{background:#eaf1fd;border-color:#9dbdf0;box-shadow:inset 4px 0 0 #2b5cc4;font-weight:600;}
.qln .ln-nm{font-size:13px;font-weight:600;color:#1a2540;}
.qln .st{margin-left:auto;}
.rvhead{display:flex;align-items:center;padding:16px 21px;border-bottom:1px solid #eef0f5;}
.rvhead .t{font-size:16px;font-weight:600;}
.rvhead .r{margin-left:auto;display:flex;gap:7px;align-items:center;}
.chead{padding:12px 21px;background:#fafbfc;border-bottom:1px solid #eef0f5;}
.chead .cl{font-size:13px;font-weight:600;color:#54607e;}
.chead .b{margin-left:9px;font-size:11.5px;font-weight:600;padding:2px 8px;border-radius:6px;}
.b-src{background:#eef1f7;color:#54607e;}
.b-auto{background:#fbf1e0;color:#c9821a;}
.chead .e{float:right;font-size:12px;color:#a9adb8;}
.dif{width:100%;border-collapse:collapse;table-layout:fixed;}
.dif td{vertical-align:top;border-bottom:1px solid #eef0f5;padding:14px 21px;}
.dif td.l{border-right:1px solid #eef0f5;}
.dif tr.last td{border-bottom:none;}
.fk{font-size:11.5px;font-weight:700;color:#a9adb8;margin-bottom:7px;}
.fk .f{font-family:ui-monospace,Menlo,Consolas,monospace;font-weight:400;color:#c2c7d2;margin-left:7px;}
.fv{font-size:14.5px;line-height:1.75;color:#41485a;}
.fv.h{font-size:15.5px;font-weight:700;color:#1a2540;line-height:1.5;}
.fv.thai{font-family:"Noto Sans Thai","Pretendard",sans-serif;font-size:15px;line-height:2;}
.rv-empty{padding:64px 0;text-align:center;font-size:14px;color:#b6bcc9;}
.fk .notr{margin-left:7px;font-weight:500;color:#c2c7d2;background:#f4f5f8;
  border-radius:5px;padding:1px 6px;}
.fv .none{color:#c2c7d2;font-style:normal;}

/* 번역 입력칸 */
.tin{width:100%;border:1px solid #e2e5ec;border-radius:9px;background:#fff;
  padding:9px 12px;font-size:14.5px;line-height:1.7;color:#1a2540;outline:none;}
.tin:focus{border-color:#2b5cc4;box-shadow:0 0 0 3px rgba(43,92,196,.10);}
.tin.ta{resize:vertical;min-height:82px;display:block;}
.tin.th{font-family:"Noto Sans Thai","Pretendard",sans-serif;line-height:1.95;}

/* 첨부 목록 */
.none2{font-size:13.5px;color:#b6bcc9;padding:6px 0;}
.filelist{width:100%;border-collapse:collapse;}
.filelist td{padding:9px 0;border-bottom:1px solid #f1f3f7;vertical-align:middle;}
.filelist tr:last-child td{border-bottom:none;}
.filelist td.th{width:76px;}
.filelist img{width:64px;height:48px;object-fit:cover;border-radius:7px;
  border:1px solid #e7e9ef;display:block;}
.filelist b{display:block;font-size:13.5px;font-weight:500;color:#41485a;}
.filelist .d{display:block;font-size:12px;color:#a9adb8;margin-top:3px;}
.actbar{display:flex;align-items:center;padding:15px 21px;border-top:1px solid #eef0f5;
  background:#fafbfc;border-radius:0 0 13px 13px;}
.actbar .info{font-size:13px;color:#8a8d96;max-width:620px;line-height:1.5;}
.actbar .info b{color:#17243f;}
.actbar .r{margin-left:auto;display:flex;gap:9px;}
.actbar .r.updown{align-items:center;gap:5px;font-size:12.5px;color:#a9adb8;white-space:nowrap;}
.actbar .r.updown svg{transform:rotate(-90deg);}

/* 상단바 버튼 묶음 사이 구분선 */
.tbsep{width:1px;height:22px;flex:0 0 1px;background:#d7dbe4;margin:0 6px;
  display:inline-block;vertical-align:middle;}

/* ══════════ 목록 ══════════ */
.ftabs{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:16px;}
.ftab{display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 15px;
  border-radius:10px;background:#fff;border:1px solid #e7e9ef;
  font-size:13.5px;font-weight:500;color:#54607e;}
.ftab:hover{background:#f7f8fb;}
.ftab.on{background:#17243f;border-color:#17243f;color:#fff;font-weight:600;}
.ftab .n{font-size:12px;font-weight:600;color:#8a8d96;background:#f2f4f8;
  border-radius:11px;padding:1px 8px;}
.ftab.on .n{background:rgba(255,255,255,.18);color:#fff;}

.rows{width:100%;border-collapse:collapse;table-layout:fixed;}
.rows td{padding:14px 17px;border-bottom:1px solid #f1f3f7;vertical-align:middle;}
.rows tr:last-child td{border-bottom:none;}
.rows tr.hd td{padding:11px 17px;background:#fafbfc;border-bottom:1px solid #eef0f5;
  font-size:12px;font-weight:600;color:#8a8d96;}
.rows .c1{width:110px;}
.rows .c3{width:230px;text-align:right;white-space:nowrap;}
.rows .c4{width:118px;text-align:right;white-space:nowrap;}
.rows tr.hd .c4{text-align:right;}
.rows .s{font-size:14.5px;font-weight:500;color:#1a2540;line-height:1.45;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.rows a.slink{display:block;text-decoration:none;}
.rows a.slink:hover{color:#2b5cc4;text-decoration:underline;}
.rows .mini.del{color:#a5372a;background:#fdecea;}
.rows .mini.del:hover{background:#f9dcd8;}
.rows .m{font-size:12px;color:#a9adb8;margin-top:5px;}
.rows .pair{display:inline-flex;align-items:center;gap:5px;margin-left:9px;}
.rows tr.hd .c3{text-align:right;}

.rows .mini{display:inline-block;margin-left:6px;font-size:11.5px;font-weight:600;
  color:#2b5cc4;background:#eaf1fd;border-radius:6px;padding:3px 8px;}
.rows .mini:hover{background:#dbe7fa;}
.rows .mini.g{color:#8a8d96;background:#f2f4f8;font-weight:500;}
.rows .mini.g:hover{background:#e9ecf3;}

/* ══════════ 사이트 관리 ══════════ */
.warn{display:flex;gap:11px;align-items:flex-start;background:#fdf6e9;
  border:1px solid #f0dcb4;border-radius:12px;padding:15px 17px;margin-bottom:16px;}
.warn b{display:block;font-size:14px;color:#8a5d0f;margin-bottom:4px;}
.warn div div{font-size:13px;color:#96703a;line-height:1.6;}
.warn code{background:#f6ecd6;border-radius:5px;padding:1px 6px;font-size:12.5px;}
.paths{margin-top:9px;border-collapse:collapse;}
.paths td{padding:4px 0;font-size:12.5px;vertical-align:top;}
.paths td.lab{width:86px;color:#8a5d0f;font-weight:600;}
.paths td.p{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11.5px;
  color:#7a5f2c;word-break:break-all;}
.paths td.st{width:96px;padding-left:12px;font-size:11.5px;color:#96703a;white-space:nowrap;}
.obd{margin-top:11px;padding-top:9px;border-top:1px solid #f0dcb4;font-size:12.5px;color:#96703a;}
.obd b{display:inline;color:#8a5d0f;margin-right:7px;}
.obd .bad{color:#c0392b;font-weight:600;}
.obd .v{margin-top:5px;font-family:ui-monospace,Menlo,Consolas,monospace;
  font-size:11px;color:#a08454;word-break:break-all;line-height:1.6;}

.okbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;background:#e9f7f1;
  border:1px solid #bfe6d6;border-radius:12px;padding:13px 17px;margin-bottom:16px;
  font-size:13.5px;color:#1a7a56;}
.okbar b{font-weight:600;}
.okbar .d{font-size:12.5px;color:#4f9b7d;}
.okbar code{background:#d8efe5;border-radius:5px;padding:1px 6px;font-size:12.5px;}

.cfgst{margin-left:10px;font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:6px;}
.cfgst.ok{background:#e6f6ef;color:#1a8259;}
.cfgst.no{background:#fdecea;color:#c0392b;}

.kv{width:100%;border-collapse:collapse;}
.kv td{padding:9px 0;border-bottom:1px solid #f1f3f7;vertical-align:top;}
.kv tr:last-child td{border-bottom:none;}
.kv .k{width:130px;font-size:13px;color:#8a8d96;}
.kv .v{font-size:13.5px;color:#41485a;word-break:break-all;}
.kv .v .d{font-size:12px;color:#a9adb8;}
.kv .none{color:#c2c7d2;font-style:normal;}

.pingbox{margin-top:13px;border-radius:10px;padding:12px 15px;font-size:13.5px;
  display:flex;flex-wrap:wrap;align-items:center;gap:9px;}
.pingbox.ok{background:#e9f7f1;border:1px solid #bfe6d6;color:#1a7a56;}
.pingbox.no{background:#fdecea;border:1px solid #f3c9c2;color:#a5372a;}
.pingbox .d{font-size:12.5px;opacity:.8;}
.pingbox .raw{flex:0 0 100%;font-size:12px;opacity:.9;word-break:break-all;line-height:1.6;}

/* 열쇠 지문 대조표 */
.fp{flex:0 0 100%;width:100%;border-collapse:collapse;background:#fff;
  border:1px solid #f0cfc9;border-radius:9px;margin:4px 0 2px;overflow:hidden;}
.fp td{padding:7px 11px;border-bottom:1px solid #f6e6e3;font-size:12.5px;color:#41485a;}
.fp tr.last td{border-bottom:none;}
.fp td.k{width:96px;color:#a5372a;font-weight:600;background:#fdf4f2;}
.fp td.v{width:calc((100% - 96px)/2);}
.fp tr:first-child td.v{font-weight:600;color:#8a8d96;font-size:11.5px;}
.fp td.mono{font-family:ui-monospace,Menlo,Consolas,monospace;letter-spacing:.5px;}
.fp td.bad{color:#c0392b;font-weight:700;background:#fdf0ee;}

.steps{margin:0;padding-left:20px;}
.steps li{font-size:13.5px;color:#41485a;margin-bottom:13px;line-height:1.6;}
.steps li:last-child{margin-bottom:0;}
.steps li b{color:#1a2540;}
.steps li div{font-size:12.5px;color:#8a8d96;margin-top:4px;line-height:1.65;}
.steps code{background:#f2f4f8;border-radius:5px;padding:1px 6px;font-size:12px;}

.plain{margin:0;padding-left:18px;}
.plain li{font-size:13.5px;color:#41485a;line-height:1.7;margin-bottom:7px;}
.plain li:last-child{margin-bottom:0;}

/* 좁은 화면 */
@media (max-width:1564px){
  .hub-content{padding:21px 18px 25px;}
  .lay,.lay>tbody>tr>td{display:block;width:auto !important;padding-right:0 !important;}
  .rail .card{margin-top:17px;}
  .mrow td,.two td,.types td{display:table-cell;}
}
