/* 치움 — 기사(파트너) 화면 틀: 위 헤더(PC 는 메뉴 탭) + 모바일 아래 탭바, 기사 로그인·기사 홈. 휴대폰이 먼저.
   공유 파일: pt 담당은 pt.css 에 .pt- 접두어로. 목록 모양(.p-table · .p-cards · .p-job · .p-counts · .chips)은 오늘 작업·지난 작업이 그대로 쓴다. */
.partner-page { background: var(--bg); }
.p-wrap { width: 100%; max-width: calc(1040px + var(--gutter) * 2); margin: 0 auto; padding: 0 var(--gutter); }
.hide-s { }
@media (max-width: 560px) { .hide-s { display: none !important; } }
.p-header { position: sticky; top: 0; z-index: 40; background: var(--surface); border-bottom: 1px solid var(--line); }
.p-header .p-wrap { min-height: var(--header-h); display: flex; align-items: center; gap: var(--sp-4); }
.p-nav { display: flex; gap: 2px; margin-left: var(--sp-3); }
.p-nav a { display: inline-flex; align-items: center; gap: 6px; min-height: var(--tap); padding: 0 .8rem; border-radius: var(--r-sm); font-weight: 650; color: var(--ink-2); }
.p-nav a:hover { background: var(--surface-2); color: var(--ink); }
.p-nav a[aria-current="page"] { background: var(--accent-soft); color: var(--accent-ink); }
.p-who { margin-left: auto; display: flex; align-items: center; gap: var(--sp-2); }
.p-header > .p-wrap > .btn { margin-left: auto; }
.p-bell { position: relative; display: inline-grid; place-items: center; width: var(--tap); height: var(--tap); color: var(--ink-2); }
.p-cnt { position: absolute; top: 4px; right: 2px; min-width: 1.15rem; height: 1.15rem; padding: 0 4px; border-radius: var(--r-pill); background: var(--warm); color: var(--on-accent); font-size: .6875rem; font-weight: 800; line-height: 1.15rem; text-align: center; }
.p-name { font-weight: 700; }
.p-main { min-height: 70vh; padding: var(--sp-4) 0 var(--sp-7); }
.p-main > .p-wrap > .notice:first-child { margin-bottom: var(--sp-3); }
.p-foot { padding: var(--sp-4) 0; font-size: var(--fs-xs); color: var(--ink-3); border-top: 1px solid var(--line); }
/* 모바일 아래 탭바 */
.tabbar { display: none; }
@media (max-width: 760px) {
  .p-nav { display: none; }
  body.has-tabbar { --mcta-h: 4rem; padding-bottom: calc(var(--mcta-h) + env(safe-area-inset-bottom)); }
  .tabbar { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); position: fixed; left: 0; right: 0; bottom: 0; z-index: 45; background: var(--surface); border-top: 1px solid var(--line-strong); box-shadow: var(--shadow-lg); padding-bottom: env(safe-area-inset-bottom); }
  .tabbar a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; min-height: var(--mcta-h); font-size: var(--fs-xs); font-weight: 650; color: var(--ink-3); }
  .tabbar a .ic { width: 1.375rem; height: 1.375rem; }
  .tabbar a[aria-current="page"] { color: var(--accent-ink); }
  .tabbar a[aria-current="page"] .ic { stroke-width: 2.25; }
}

/* 기사 로그인 */
.p-auth { display: grid; grid-template-columns: minmax(0, 27rem) minmax(0, 1fr); gap: var(--sp-7); align-items: start; padding-top: var(--sp-5); }
.p-auth-card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-lg); padding: var(--sp-6); box-shadow: var(--shadow); }
.p-auth-card h1 { font-size: var(--fs-h2); }
.p-auth-card .lead { font-size: var(--fs-md); color: var(--ink-3); margin: 6px 0 var(--sp-3); }
.p-auth-side img { width: 100%; border-radius: var(--r-lg); aspect-ratio: 3 / 2; object-fit: cover; }
.auth-links { display: flex; justify-content: center; gap: var(--sp-2); flex-wrap: wrap; margin-top: var(--sp-4); font-size: var(--fs-sm); }
.auth-links a { min-height: 2.75rem; display: inline-flex; align-items: center; padding: 0 .3rem; color: var(--ink-2); text-decoration: underline; text-underline-offset: 3px; }
.auth-links span { display: inline-flex; align-items: center; color: var(--line-strong); }
.auth-points { display: grid; gap: var(--sp-3); margin: var(--sp-5) 0 var(--sp-4); }
.auth-points li { display: flex; gap: 10px; align-items: center; font-weight: 650; }
.auth-points .ic { color: var(--accent); }
.demo-box { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin-top: var(--sp-4); padding: .8rem 1rem; border-radius: var(--r-sm); background: var(--surface-2); font-size: var(--fs-sm); color: var(--ink-2); }
@media (max-width: 860px) { .p-auth { grid-template-columns: 1fr; gap: var(--sp-5); padding-top: 0; } .p-auth-card { padding: var(--sp-5) var(--sp-4); } }

/* 기사 홈·작업 목록(오늘 작업·지난 작업 공용) */
.p-hello { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--sp-3); flex-wrap: wrap; padding: var(--sp-3) 0 var(--sp-4); }
.p-hello h1 { font-size: var(--fs-h3); font-weight: 800; letter-spacing: -0.03em; }
.p-rating { display: flex; align-items: center; gap: var(--sp-2); }
.p-counts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-3); }
.p-counts > div { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r); padding: .9rem 1rem; }
.p-counts dt { display: flex; align-items: center; gap: 6px; font-size: var(--fs-sm); font-weight: 650; color: var(--ink-2); }
.p-counts dd { font-size: 1.75rem; font-weight: 850; line-height: 1.2; margin-top: 4px; }
.p-counts dd small { font-size: var(--fs-sm); font-weight: 600; color: var(--ink-3); margin-left: 2px; }
.p-counts .is-assigned dt .ic { color: var(--warm); }
.p-counts .is-working dt .ic { color: var(--warn); }
.p-counts .is-done dt .ic { color: var(--ok); }
.p-cards { display: none; }
.p-job { display: flex; flex-direction: column; gap: 6px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--r); padding: 1rem; }
.p-job:hover { border-color: var(--line-input); }
.p-job-code { font-size: var(--fs-sm); font-weight: 700; color: var(--ink-3); }
.p-job-title { display: flex; align-items: center; gap: 6px; font-size: var(--fs-lg); }
.p-job-title .ic { color: var(--accent); }
.p-job-line { display: flex; align-items: flex-start; gap: 6px; color: var(--ink-2); font-size: var(--fs-sm); }
.p-job-line .ic { margin-top: 3px; color: var(--ink-3); }
.p-job-more { display: inline-flex; align-items: center; gap: 2px; align-self: flex-end; color: var(--accent-ink); font-weight: 700; font-size: var(--fs-sm); }
.p-table .table td small { font-size: var(--fs-xs); }
@media (max-width: 760px) {
  .p-table { display: none; }
  .p-cards { display: grid; gap: var(--sp-3); }
  .p-counts dd { font-size: 1.4rem; }
  .p-counts > div { padding: .75rem; }
}
