/* 업무 포털 공통(11-10). 색 토큰은 도움말과 같다. 강조색은 브랜드 하나 */
:root{--bg:#f7f9fc;--card:#fff;--ink:#1f2a3d;--ink2:#4a5568;--ink3:#718096;--line:#e2e8f0;
  --brand:#1c58d9;--brand-ink:#1646ad;--brand-soft:#eaf1ff;--ok:#1f8a5b;--ok-soft:#e7f6ee}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.6 Pretendard,-apple-system,"Apple SD Gothic Neo",sans-serif;
  word-break:keep-all;overflow-wrap:anywhere}
a{color:var(--brand)}
img{max-width:100%;display:block}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.top{background:#fff;border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:16px;height:60px}
.logo{display:flex;align-items:center;gap:10px;font-weight:700;font-size:17px;letter-spacing:-.02em;color:var(--ink);text-decoration:none}
.logo i{width:28px;height:28px;border-radius:8px;background:var(--brand);display:grid;place-items:center;color:#fff;font-style:normal;font-size:13px;font-weight:700}
.top nav{margin-left:auto;display:flex;gap:6px;align-items:center}
.top nav a{color:var(--ink2);text-decoration:none;font-size:15px;padding:8px 10px;border-radius:8px}
.top nav a:hover{background:var(--brand-soft);color:var(--ink)}
.btn{display:inline-flex;align-items:center;gap:8px;justify-content:center;font:inherit;font-size:16px;font-weight:600;
  padding:12px 20px;border-radius:12px;border:1px solid transparent;text-decoration:none;cursor:pointer;white-space:nowrap}
.btn.main{background:var(--brand);color:#fff}
.btn.main:hover{background:var(--brand-ink)}
.btn.soft{background:var(--brand-soft);color:var(--brand-ink)}
.btn.line{background:#fff;border-color:#cbd5e1;color:var(--ink)}
.btn.small{font-size:14px;padding:8px 14px;border-radius:10px}
h1,h2,h3{letter-spacing:-.03em;line-height:1.25;margin:0}
.muted{color:var(--ink2)}
.card{background:var(--card);border:1px solid var(--line);border-radius:18px}
footer.foot{color:var(--ink3);font-size:14px;padding:32px 0 40px}
footer.foot a{color:var(--ink2)}

/* 메신저 대화 모형(첫 화면·소개 공용). 실제 메신저 화면을 본뜬 그림이다 */
.chatmock{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 20px 50px -24px rgba(28,88,217,.35);overflow:hidden}
.chatmock .bar{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--line);font-weight:650;font-size:15px}
.chatmock .bar .bot{width:30px;height:30px;border-radius:50%;background:#1f2a3d;color:#fff;display:grid;place-items:center;font-size:13px}
.chatmock .bar small{font-size:11px;font-weight:700;color:var(--ink2);background:#edf2f7;border-radius:4px;padding:1px 5px}
.chatmock .body{padding:18px;display:flex;flex-direction:column;gap:12px;background:#fbfcfe}
.msg{max-width:88%;padding:11px 14px;border-radius:14px;font-size:15px;line-height:1.55}
.msg.me{align-self:flex-end;background:var(--brand);color:#fff;border-bottom-right-radius:4px}
.msg.ai{align-self:flex-start;background:#fff;border:1px solid var(--line);border-bottom-left-radius:4px}
.msg .file{display:flex;align-items:center;gap:8px;margin-top:8px;background:rgba(255,255,255,.18);border-radius:8px;padding:6px 10px;font-size:13px}
.msg.ai .file{background:var(--brand-soft);color:var(--brand-ink)}
.msg ol{margin:6px 0 0;padding-left:20px}

/* 서비스 칸(첫 화면 「바로 가기」와 /home/ 이 함께 씀, 11-13 사람 「portal 홈 처럼 동일한 색상으로」).
   서비스마다 색(상태가 아니라 어느 서비스인지 가리키는 색, ui_ux_style 1.4 예외). 사업 소개 쪽 영역 색과 같은 넷에 규정 분홍.
   첫 화면에 없는 칸(사업 소개·내 계정·문서 작업판)은 회색 */
.appgrid{display:grid;gap:14px}
.appc{display:flex;flex-direction:column;gap:8px;padding:22px;background:var(--tint);border:2.5px solid var(--edge);border-radius:18px;text-decoration:none;color:var(--ink);
  box-shadow:0 12px 30px -24px rgba(31,42,61,.35);transition:transform .2s ease,box-shadow .2s ease}
.appc.chat{--tint:#eef3ff;--edge:#a9c1f7;--tone:#3f6fe8}
.appc.files{--tint:#e9f7f5;--edge:#8fd2c9;--tone:#16928c;margin-top:0;gap:8px}   /* 첫 화면 대화 모형의 .files(첨부 줄) 규칙이 이 칸에도 걸려 8px 내려가 있었다 */
.appc.edu{--tint:#f3effe;--edge:#c3b3f5;--tone:#7a5be6}
.appc.help{--tint:#fdf5e8;--edge:#ecc98e;--tone:#c9861d}
.appc.regs{--tint:#fdeff2;--edge:#efb1bf;--tone:#cf4766}
.appc.skills{--tint:#f1f8e8;--edge:#b9dc94;--tone:#4e9a1f}   /* 에이전트 스킬(11-14) */
.appc.etc{--tint:#f3f5f8;--edge:#d3dae3;--tone:#5b6576}
.appc .ah{display:flex;align-items:center;gap:12px;margin-bottom:4px}
.appc i{width:44px;height:44px;border-radius:13px;background:#fff;color:var(--tone);display:grid;place-items:center;flex:none;box-shadow:0 1px 0 var(--edge)}
.appc b{font-size:20px;letter-spacing:-.02em;white-space:nowrap}
.appc span:not(.ah){color:var(--ink2);font-size:15px}
.appc em{font-style:normal;font-size:13px;color:var(--ink3);margin-top:auto;padding-top:6px}
.appc:hover{border-color:var(--tone);transform:translateY(-3px);box-shadow:0 18px 36px -22px rgba(31,42,61,.45)}
.appc:hover em{color:var(--tone)}
/* 좁은 칸(/home/ 옆 단)용: 같은 칸을 작게 */
.appgrid.tight{gap:10px}
.tight .appc{padding:14px;gap:4px;border-radius:14px}
.tight .appc .ah{gap:9px;margin-bottom:2px}
.tight .appc i{width:34px;height:34px;border-radius:10px}
.tight .appc i svg{width:20px;height:20px}
.tight .appc b{font-size:16px}
.tight .appc span:not(.ah){font-size:13px}
.tight .appc em{font-size:12px;padding-top:2px}
@media (max-width:480px){ .appc{padding:16px} .appc .ah{gap:9px} .appc i{width:38px;height:38px;border-radius:11px} .appc b{font-size:18px}
  .tight .appc{padding:14px} .tight .appc i{width:34px;height:34px} .tight .appc b{font-size:16px} }
/* 좁은 휴대폰(360px)에서는 칸 폭에 이름이 안 들어가 쪽이 옆으로 넘쳤다(11-13 layout_check). 이름만 줄을 바꾼다 */
@media (max-width:420px){ .appc b{white-space:normal} }
@media (prefers-reduced-motion:reduce){ .appc{transition:none} }
