/* スマホモード：残す画面・操作だけを見せる。docs/mobile-scope.md の方針に対応。 */

/* 担当者・管理者の狭い幅：PC専用の入口と、日別・月間の高度な操作を出さない */
body.mobile-mode #nav a[href="#/routes"],
body.mobile-mode #nav a[href="#/patterns"],
body.mobile-mode #nav a[href="#/transfer"],
body.mobile-mode #nav a[href="#/masters"],
body.mobile-mode #saved-trial,
body.mobile-mode #day-timeline-toggle,
body.mobile-mode .reserved-time-toolbar,
body.mobile-mode .month-overview-actions,
body.mobile-mode .day-layout-choice,
body.mobile-mode #day-timeline-range,
body.mobile-mode #client-condition-checks,
body.mobile-mode .day-tools-menu summary small,
body.mobile-mode #jobbar { display: none !important; }

.pc-only-notice { max-width: 560px; margin: 24px auto; padding: 0 4px; }
.pc-only-notice h1 { margin-bottom: 8px; }
.pc-only-notice p { line-height: 1.7; }

/* 訪問職員：上部メニューを消し、下部タブ3つにする */
body.field-mode #nav, body.field-mode #brand-menu-trigger, body.field-mode .brand-menu-chevron, body.field-mode #jobbar { display: none !important; }
body.field-mode #main { padding-bottom: calc(24px + env(safe-area-inset-bottom)); }
/* スマホの職員メニューは電話・マニュアル・ログアウトだけ */
body.field-mode #account-overview { display: none !important; }
/* 今日／明日 */
.myday { max-width: 640px; margin: 0 auto; }
.myday .page-head { display: flex; align-items: start; justify-content: space-between; gap: 12px; }
.myday .page-head h1 { margin: 0 0 4px; font-size: var(--text-title); }
.myday .page-head h1 small { margin-left: 8px; font-size: var(--text-small); font-weight: var(--weight-medium); color: var(--muted); }
.myday .page-head p { margin: 0; color: var(--muted); font-size: var(--text-small); }
.myday .page-head button { min-width: 44px; min-height: 44px; }
.myday-tabs { display: flex; align-items: center; gap: 8px; margin: 4px 0 10px; }
.myday-tab { display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; border: 1px solid var(--line); border-radius: 999px; color: var(--ink); background: var(--surface); font-weight: var(--weight-strong); text-decoration: none; }
.myday-tab.active { border-color: var(--brand); color: #fff; background: var(--brand); }
.myday-date { display: inline-flex; align-items: center; gap: 6px; margin-left: auto; font-size: var(--text-dense); color: var(--muted); }
.myday-date input { min-height: var(--control-height); padding: 4px 8px; border: 1px solid var(--line); border-radius: 8px; font: inherit; font-size: var(--text-body); }
.myday-hint { margin: 0 0 10px; padding: 8px 12px; border-radius: 8px; background: #fff7e6; color: #7a4b00; font-size: var(--text-small); }
.myday-error { margin: 0 0 10px; padding: 8px 12px; border-radius: 8px; background: #fdecec; color: #9b1c1c; font-size: var(--text-small); }
.myday-empty { padding: 24px 0; text-align: center; color: var(--muted); }
.myday-list { display: flex; flex-direction: column; gap: 12px; }
.myday-card { padding: 14px 14px 12px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); }
.myday-card.is-proposed { border-style: dashed; }
.myday-travel { display: block; margin-bottom: 6px; color: var(--muted); font-size: var(--text-dense); }
.myday-travel .lucide { width: 14px; height: 14px; vertical-align: -2px; margin-right: 4px; }
.myday-card-head { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.myday-time { font-size: var(--text-title); font-weight: var(--weight-strong); letter-spacing: .01em; }
.myday-time small { margin-left: 6px; font-size: var(--text-small); font-weight: var(--weight-medium); color: var(--muted); }
.myday-status { padding: 2px 10px; border-radius: 999px; font-size: var(--text-dense); font-weight: var(--weight-strong); color: var(--brand-dark); background: var(--brand-soft); }
.myday-card.is-proposed .myday-status { color: #7a4b00; background: #fff1d6; }
.myday-card h2 { margin: 6px 0 4px; font-size: var(--text-heading); }
.myday-card h2 small { margin-left: 2px; font-size: var(--text-small); font-weight: var(--weight-medium); color: var(--muted); }
.myday-address { margin: 0; font-size: var(--text-small); line-height: 1.6; }
.myday-address a { color: var(--brand-dark); text-decoration: none; overflow-wrap: anywhere; }
.myday-address a .lucide { width: 14px; height: 14px; vertical-align: -2px; margin-right: 4px; }
.myday-address small { display: block; color: var(--muted); font-size: var(--text-dense); }
.myday-note { margin: 8px 0 0; padding: 8px 10px; border-radius: 8px; background: var(--surface-subtle); font-size: var(--text-small); line-height: 1.6; white-space: pre-wrap; }
.myday-card-actions { display: flex; gap: 8px; margin-top: 12px; }
.myday-card-actions > * { flex: 1 1 0; min-height: 44px; justify-content: center; }
.myday-locate-button { margin-left: auto; min-width: 44px; min-height: var(--control-height); border-radius: 999px; }
.myday-locate-button.is-on { border-color: var(--brand); color: var(--brand-dark); background: var(--brand-soft); }
.myday-summary { margin: 0 0 10px; color: var(--muted); font-size: var(--text-small); }
.myday-error-inline { color: #9b1c1c; }
.myday-navi small { margin-left: 4px; font-size: var(--text-dense); font-weight: var(--weight-medium); opacity: .85; }
.myday-card-actions { align-items: center; }
.myday-card-actions .myday-navi { flex: 1 1 auto; border-color: var(--brand); color: var(--brand-dark); }
.myday-card-actions .myday-doc { flex: 0 0 auto; }
.account-phone-link { display: flex; align-items: center; gap: 8px; min-height: 44px; color: var(--brand-dark); text-decoration: none; font-weight: var(--weight-strong); }
.account-phone-link small { margin-left: auto; color: var(--muted); font-weight: var(--weight-regular); }
.myday-staff { display: block; margin: 4px 0 8px; }
.myday-staff select { width: 100%; min-height: 44px; padding: 6px 10px; border: 1px solid var(--line); border-radius: 10px; font: inherit; font-size: var(--text-body); font-weight: var(--weight-strong); color: var(--ink); background: var(--surface); }
/* 終わったスイッチ */
.myday-card-head { align-items: center; }
.myday-done { display: inline-flex; align-items: center; gap: 8px; margin-left: auto; cursor: pointer; user-select: none; }
.myday-done input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.myday-done-track { position: relative; width: 52px; height: 30px; border-radius: 999px; background: #d8ddd9; transition: background .15s ease; }
.myday-done-knob { position: absolute; top: 3px; left: 3px; width: 24px; height: 24px; border-radius: 50%; background: #fff; box-shadow: 0 1px 2px rgba(0,0,0,.25); transition: transform .15s ease; }
.myday-done input:checked + .myday-done-track { background: var(--brand); }
.myday-done input:checked + .myday-done-track .myday-done-knob { transform: translateX(22px); }
.myday-done input:focus-visible + .myday-done-track { outline: 2px solid var(--brand); outline-offset: 2px; }
.myday-done-text { min-width: 3.5em; font-size: var(--text-small); font-weight: var(--weight-strong); color: var(--muted); }
.myday-done input:checked ~ .myday-done-text { color: var(--brand-dark); }
.myday-card.is-done { background: var(--surface-subtle); }
.myday-card.is-done .myday-time, .myday-card.is-done h2 { color: var(--muted); }
.myday-card.is-done .myday-navi { display: none; }
/* ヘッダーの時計（スマホモードだけ） */
#field-clock { display: none; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); color: var(--ink); font-size: var(--text-heading); font-weight: var(--weight-strong); font-variant-numeric: tabular-nums; letter-spacing: .03em; pointer-events: none; }
body.field-mode #field-clock:not([hidden]) { display: block; }

/* 報告書は予定を残したまま開く。閉じる操作は常に上端に置く。 */
.document-popup { width: min(920px, calc(100vw - 32px)); max-height: 92dvh; padding: 0; border: 0; border-radius: 20px; color: var(--ink); background: var(--surface); overflow: auto; overscroll-behavior: contain; }
.document-popup::backdrop { background: rgb(15 35 25 / .48); }
.document-popup-header { position: sticky; top: 0; z-index: 20; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px; background: var(--surface); border-bottom: 1px solid var(--line); }
.document-popup-header h2 { margin: 0; font-size: var(--text-heading); }
.document-popup-header button { min-height: 48px; padding: 10px 16px; font-size: var(--text-body); font-weight: var(--weight-medium); }
.document-popup-content { padding: 12px 16px max(24px, env(safe-area-inset-bottom)); }
.document-popup-status:not(:empty) { margin: 12px 16px; color: #9b1c1c; }
.document-popup-discard { margin: 0 16px 12px; min-height: 48px; }
.document-popup .doc-fab { position: static; padding: 12px 0; }
@media (max-width: 760px), (pointer: coarse) {
  body.field-mode button, body.field-mode .button-link, body.field-mode select, .document-popup button, .document-popup .button-link, .document-popup select, .document-popup .doc-back, .document-popup .doc-row { min-height: 48px; touch-action: manipulation; }
  body.field-mode button:active, body.field-mode .button-link:active, .document-popup button:active, .document-popup .button-link:active { filter: brightness(.92); }
  body.field-mode input:not([type=checkbox]):not([type=radio]), body.field-mode select, body.field-mode textarea, .document-popup input:not([type=checkbox]):not([type=radio]), .document-popup select, .document-popup textarea { font-size: var(--text-label); }
  .myday-tab, .myday-locate-button, .myday-date input { min-height: 48px; }
  .myday-done { min-width: 104px; min-height: 48px; padding: 4px; }
  .myday-card-actions { gap: 12px; align-items: stretch; }
  .myday-card-actions .myday-doc, .myday-card-actions .myday-navi { flex: 1 1 0; min-height: 52px; }
  .myday-address a { display: inline-flex; align-items: center; min-height: 44px; }
  .document-popup .doc-chips, .document-popup .doc-actions { gap: 10px; }
  .document-popup a, .document-popup button { -webkit-tap-highlight-color: rgb(40 100 71 / .18); }
}
@media (max-width: 760px) {
  .document-popup { width: 100%; max-width: 100%; height: 96dvh; max-height: 96dvh; margin: auto 0 0; border-radius: 18px 18px 0 0; }
  .document-popup-content { padding: 12px 12px max(24px, env(safe-area-inset-bottom)); }
}
@media (max-width: 760px), (pointer: coarse) {
  body.field-mode button, .document-popup button { min-width: 48px; }
  .document-popup .doc-bar { position: sticky; bottom: 0; z-index: 10; border-radius: 12px; }
}
