/* GTA 공용 베이스 — 타이포·포커스·모션·스켈레톤 (2026-07-07 시각 감사 1~3차 반영).
   원칙: 규제 산업 B2B 도구 — 신뢰·가독 우선, 절제된 모션. EY 브랜드(옐로·다크) 고정.
   각 페이지 인라인 <style> 뒤에 로드되어 공통 규칙을 덮는다. */

/* ── 타이포: Pretendard Variable 셀프호스팅 (SIL OFL, orioncactus/pretendard v1.3.9)
      CSP default-src 'self' 준수 — 동일 출처 서빙, 외부 요청 없음. */
@font-face{
  font-family:'Pretendard Variable';
  src:url('/static/PretendardVariable.woff2?v=139') format('woff2-variations');
  font-weight:45 920;font-style:normal;font-display:swap;
}
body{
  font-family:'Pretendard Variable',-apple-system,BlinkMacSystemFont,
    'Malgun Gothic','Apple SD Gothic Neo',sans-serif;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
h1,h2,h3{letter-spacing:-.015em;text-wrap:balance}
p{text-wrap:pretty}

/* ── 포커스 링(키보드 내비게이션) — 접근성 필수. 마우스 클릭에는 안 뜬다(:focus-visible). */
:focus-visible{outline:2px solid #FFE600;outline-offset:2px;border-radius:4px}
input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:1px}
.whyey-h .x{background:none;border:0;padding:0}

/* ── 폼 요소 기본 폭(2026-07-13) — 붙여넣기·서술형 입력창(textarea)은 패널 전폭 사용.
   일부 페이지가 인라인으로 width:100%를 주지만 누락된 창(예: 취득세 항목 일괄 판정
   #acqRaw)이 브라우저 기본 ~20칸 폭으로 좁게 렌더되던 문제를 전역 보정. gta-base는
   페이지 인라인 뒤에 로드되므로 이 규칙이 최종 적용된다. 좁은 수치 input(폭 지정된
   것)은 대상 아님 — textarea만 전폭. 표 안(table.itbl) 입력은 셀 규칙이 우선한다. */
textarea{width:100%}
table.itbl textarea{width:100%}

/* ── 인터랙션 물리 — 스프링형 이징, 프레스 피드백. transform/opacity만 사용(GPU). */
/* 모노 라인 아이콘(스프라이트 /static/icons.svg — Lucide, currentColor 상속) */
svg.lic{width:1em;height:1em;vertical-align:-.125em;flex:none;display:inline-block}
button,.btn,a.nav-item,a.subnav-item,a.agent-link,.qtab,.mcard,.otab,.pill,
.src-tab,.btn-dl,.sb-back,.newbtn,.hchip{
  transition:background-color .2s cubic-bezier(.32,.72,0,1),
             border-color .2s cubic-bezier(.32,.72,0,1),
             color .18s ease-out,
             transform .18s cubic-bezier(.32,.72,0,1),
             box-shadow .25s cubic-bezier(.32,.72,0,1);
}
button:active,.btn:active,.qtab:active,.otab:active,.src-tab:active{transform:scale(.98)}
button:disabled{transform:none}
.pill-action{cursor:pointer}

/* ── 보고서 본문(.md) 타이포 통일(2026-07-17 파트너: "클로드에 맞춰 — 크고 작고 안어울림")
   챗 본문과 동일 스케일: 본문 15.5/1.75, h1 20 > h2 18 > h3 16.5 > h4 15.5(위계 복원),
   표 14 · 코드 13.5. 이 파일은 페이지 인라인 <style> 뒤에 로드되므로 동일 선택자는
   여기가 최종이다 — 페이지별로 제각각이던 크기를 한 곳에서 결정. */
.md{font-size:15.5px;line-height:1.75}
.md h1{font-size:20px;font-weight:700}
.md h2{font-size:18px;font-weight:700}
.md h3{font-size:16.5px;font-weight:700}
.md h4{font-size:15.5px;font-weight:700}
.md table{font-size:14px}
.md code{font-size:13.5px}

/* ── 날짜 셀 채우기 핸들(2026-07-17) — 라이트·다크 공용 반투명 하이라이트 */
table.itbl td.dcell{position:relative}
table.itbl td.dcell input{padding-right:15px}
table.itbl .fillh{position:absolute;right:1px;bottom:1px;cursor:crosshair;font-size:10px;
  line-height:1;color:#9a9aa4;padding:2px 3px;user-select:none;opacity:.55}
table.itbl td.dcell:hover .fillh,table.itbl .fillh:hover{opacity:1;color:#155CB4}
table.itbl tr.fill-tgt td{background:rgba(21,92,180,.13)}

/* ── 스켈레톤 로더 — 원형 스피너 대체(보고서 형태 암시) */
.gta-skel{padding:6px 0}
.gta-skel .ln{height:13px;border-radius:6px;margin:11px 0;
  background:linear-gradient(90deg,rgba(0,0,0,.055) 25%,rgba(0,0,0,.10) 45%,rgba(0,0,0,.055) 65%);
  background-size:220% 100%;animation:gtaShimmer 1.4s cubic-bezier(.4,0,.6,1) infinite}
.gta-skel .ln.w60{width:60%}.gta-skel .ln.w80{width:80%}.gta-skel .ln.w40{width:40%}
.gta-skel .ln.h{height:19px;width:45%;margin-top:20px}
@keyframes gtaShimmer{0%{background-position:200% 0}100%{background-position:-20% 0}}
@media (prefers-reduced-motion:reduce){
  .gta-skel .ln{animation:none}
  button,.btn{transition:none}
}

/* ── 히어로 텍스처(에이전트 페이지 다크 히어로 한정) — CSP 안전: 그라데이션만.
      은은한 옐로 글로우 + 극저대비 사선 결. index 챗 히어로(.content 밖)는 비적용. */
.content .hero{position:relative;overflow:hidden}
.content .hero::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(820px 300px at 8% -12%, rgba(255,230,0,.075), transparent 58%),
    radial-gradient(600px 260px at 96% 115%, rgba(255,255,255,.045), transparent 60%),
    repeating-linear-gradient(115deg, rgba(255,255,255,.012) 0 2px, transparent 2px 7px);
}
.content .hero>*{position:relative;z-index:1}

/* ── 그림자 정돈 — 배경 색조를 머금은 확산 그림자(순검정 저감) */
.mcard:hover{box-shadow:0 10px 30px rgba(46,46,56,.10),0 2px 8px rgba(46,46,56,.06)}

/* ── 다크 통일 (2026-07-07 사용자 지시 — 챗↔에이전트 이질감 제거)
      에이전트 7페이지 <body class="agent-dark"> 한정, 챗(index)과 동일 팔레트:
      bg #15151d · 패널 #1f1f2b · 라인 #2f2f3d · 사이드 #1a1a23. admin/login 비적용. */
body.agent-dark{
  --ey-light:#232330; --ey-border:#2f2f3d; --ey-gray:#9a9aa8; --panel:#1f1f2b;
  --ey-blue:#6FA5F6; --ey-green:#3DB584; --ey-amber:#D9A02B; --ey-red:#E2604F;
  --shadow:0 1px 3px rgba(0,0,0,.35),0 8px 28px rgba(0,0,0,.28);
  background:#15151d;color:#E6E6EC;
}
body.agent-dark .content{background:#15151d}
body.agent-dark .topbar{background:#2E2E38;border-bottom:1px solid #4a4a57}
body.agent-dark .topbar h1{color:#ECECF1}
body.agent-dark .pill{background:#1f1f2b;color:#a8a8b6;border-color:#2f2f3d}
body.agent-dark .pill.live{color:#4fc08d;border-color:#2c4a3c;background:#182620}
/* 표면(패널·카드) — 하드코딩 #fff 일괄 패널색으로 */
body.agent-dark .mpane,body.agent-dark .opane,body.agent-dark .mcard,
body.agent-dark .diary-item,body.agent-dark .msteps,
body.agent-dark .ph,body.agent-dark .drawer,body.agent-dark .law-tag{background:#1f1f2b}
body.agent-dark .otab:hover{color:#ECECF1}
body.agent-dark .otab.on{color:#ECECF1;background:#1f1f2b}
/* 폼 컨트롤 */
body.agent-dark input[type=text],body.agent-dark input[type=number],
body.agent-dark input[type=date],body.agent-dark input:not([type]),
body.agent-dark select,body.agent-dark textarea{
  background:#15151d;color:#E6E6EC}
body.agent-dark table.itbl input:focus,body.agent-dark table.itbl select:focus{background:#15151d}
body.agent-dark .btn-ghost{background:#1f1f2b;color:#E6E6EC}
body.agent-dark .btn-ghost:hover{border-color:#8a8a96}
/* 보고서 본문 */
body.agent-dark .md strong{color:#fff}
body.agent-dark table.ctbl tr.tot th,body.agent-dark table.ctbl tr.tot td{background:#2e2a14}
body.agent-dark .chk-inline.ok{background:#182620}
/* 스켈레톤 — 다크용 시머 */
body.agent-dark .gta-skel .ln{
  background:linear-gradient(90deg,rgba(255,255,255,.055) 25%,rgba(255,255,255,.11) 45%,rgba(255,255,255,.055) 65%);
  background-size:220% 100%}
/* 카드 그림자 — 다크에서 과한 검정 저감 */
body.agent-dark .mcard:hover{box-shadow:0 10px 30px rgba(0,0,0,.4),0 2px 8px rgba(0,0,0,.3)}
/* rnd 전용 잔여 — 고특이성 규칙·패널 헤더·스텝 도트·소스 탭 */
body.agent-dark textarea#raw{background:#15151d;color:#E6E6EC}
body.agent-dark .panel-h{background:#232330}
body.agent-dark .pstep .dot{background:#1f1f2b;border-color:#5A5A6E;color:#C9C9D6}
body.agent-dark .pstep.done .dot{background:var(--ey-green);border-color:var(--ey-green);color:#fff}
body.agent-dark .pstep.on .dot{background:var(--ey-yellow);border-color:var(--ey-yellow);color:#2E2E38}
body.agent-dark .pstep.on{color:#F2F2F5}
body.agent-dark .btn-dl,body.agent-dark .src-tab{background:#1f1f2b;color:#E6E6EC}
body.agent-dark .src-tab:hover{border-color:#8a8a96}
body.agent-dark .btn-dl:hover{color:#2E2E38}
/* rnd 다크 가독성 잔여(2026-07-17 전수점검): 서랍 본문·첨부 태그가 하드코딩 #3a3a45
   잉크라 다크 표면에서 소실, 보완 콜아웃은 크림 배경에 밝은 본문이 얹혀 소실 */
body.agent-dark .drawer-b{color:#C9C9D6}
body.agent-dark .att-row .tag{color:#C9C9D6}
body.agent-dark .gap-callout{background:#33301a;border-color:#6b5b26}
/* 문서형 산출물(공문·연구노트) = 종이 카드 — 페인 단위로 라이트 변수 복원 */
body.agent-dark #pane-report,body.agent-dark #pane-note{
  --ey-light:#F6F6FA; --ey-border:#E1E1E6; --ey-gray:#62626e;
  --ey-blue:#155CB4; --ey-green:#1F9D6B; --ey-amber:#C8860A; --ey-red:#C0392B;
  background:#fcfcf9;color:#16161a}

/* 형광펜 강조(2026-07-17) — 에이전트 화면: 라이트 기본 + agent-dark 오버라이드.
   화면=음영, 산출물(DOCX/PDF)=밑줄 원칙의 화면측. */
.md mark{background:#FFF1A8;color:#2E2E38;border-radius:3px;padding:0 2px}
body.agent-dark .md mark{background:#EFE482;color:#1F1D08}

/* 사전생성 예시 아이콘(zap) — 라이트 골드/다크 옐로(인라인 #8a7400 대체, 2026-07-17) */
.gold-ic{color:#8A7400}
body.agent-dark .gold-ic{color:#FFE600}

/* 사전생성 예시 pill(zap) — 라이트 크림/다크 딥옐로(인라인 #FFFCEB 대체) */
.qtab-ex{border-color:var(--ey-yellow);background:#FFFCEB}
body.agent-dark .qtab-ex{background:#33301a;border-color:#8a7f1e}

/* 질문 예시 탭 — 인라인 #fff 하드코딩의 다크 잔여 + hover가 var(--ey-dark)(다크 미재정의
   잉크색)라 다크 칩 위에서 사라지는 문제(2026-07-17 파트너 지적 다크 가독성 전수점검) */
body.agent-dark .qtab{background:#1f1f2b}
body.agent-dark .qtab:hover{color:#ECECF1;border-color:#8a8a96}
/* 토글형 qtab(secondop 문서유형)의 선택 상태 — 종전엔 .on 스타일이 아예 없어 어느
   쪽이 선택됐는지 안 보였다(2026-07-17 파트너 지적). 계정 메뉴 seg .on과 같은 옐로. */
.qtab.on{background:var(--ey-yellow);border-color:var(--ey-yellow);color:#2E2E38;font-weight:700}
body.agent-dark .qtab.on{background:#FFE600;border-color:#FFE600;color:#2E2E38}
.qtab.on:hover{color:#2E2E38;border-color:#2E2E38}
body.agent-dark .qtab.on:hover{color:#2E2E38;border-color:#2E2E38}

/* 상단바 — 좌측 셸처럼 테마 무관 다크 고정(2026-07-17 파트너 지시), 색은 EY 차콜
   (#2E2E38 — 히어로 박스 톤과 통일, 파트너 재지시). 이 파일이 페이지 인라인
   CSS(.topbar{background:#fff})보다 나중에 로드되어 이긴다. */
.topbar{background:#2E2E38;border-bottom:1px solid #4a4a57}
.topbar h1{color:#ECECF1}
.topbar .crumb{color:#9a9aa8}
.topbar .pill{background:#3a3a48;color:#b8b8c4;border:1px solid #4a4a57}
.topbar .pill.live{color:#4fc08d;border-color:#2c4a3c;background:#20302a}

/* 계약검토 복원 배너 — 지난 건 결과가 복원됐음을 명시(2026-07-17) */
.ct-restore{margin:0 0 12px;padding:9px 13px;border:1px solid var(--ey-border);border-radius:10px;
  background:var(--ey-light);color:var(--ey-gray);font-size:12px;line-height:1.55}
body.agent-dark .ct-restore{background:#26262f;border-color:#3a3a46;color:#B9B9C4}

/* Engagement 컨텍스트 라인 — 워크스페이스형 에이전트 공용(2026-07-17) */
.gta-casenote{margin:0 0 12px;padding:8px 13px;border:1px solid var(--ey-border);border-radius:10px;
  background:var(--ey-light);color:var(--ey-gray);font-size:12px;line-height:1.55}
body.agent-dark .gta-casenote{background:#26262f;border-color:#3a3a46;color:#B9B9C4}
