/* 受付・案件・病院専用画面。既存カードと入力部品に合わせる。 */
.intakeform label { display:block; margin-bottom:.4rem; font-weight:600; }
.intakeform .btn--primary { appearance:none; border:0; box-shadow:none; }
.intakeform .intake__actions { display:flex; flex-wrap:wrap; gap:1rem; margin:1rem 0; }
.intakeform .intake__password-title { font-size:1.25rem; line-height:1.5; }
.intakeform .intake__password-error { margin:0; color:var(--rose-ink); font-size:var(--fs-label); }
.intake__message { margin:1rem 0; padding:1rem 1.25rem; border-radius:var(--r-14); background:var(--bg); }
.intake__message h3 { margin:0 0 .5rem; font-size:var(--fs-label); }
.intake__message p { margin:0 0 .5rem; white-space:pre-wrap; }
.intake__message small { color:var(--text-2); }
.intake__files { list-style:none; margin:0 0 1rem; padding:0; display:grid; gap:.75rem; }
.intake__files form { margin:0; }
.intake__files button.btn { appearance:none; font-family:inherit; cursor:pointer; min-height:var(--h-base); }
.intake__facts { display:grid; grid-template-columns:minmax(5rem,9rem) 1fr; gap:.5rem 1rem; }
.intake__facts dt { font-weight:600; }
.intake__facts dd { margin:0; white-space:pre-wrap; }
.intake__danger { border:2px solid #ac4c40; }
.intake__diff { overflow:auto; }
.intake__diff table { border-collapse:collapse; width:100%; }
.intake__diff th, .intake__diff td { padding:.6rem; border:1px solid #ccc; text-align:left; white-space:pre-wrap; }

.intake__account-clinic { margin:0 0 1rem; font-weight:600; }
.intake__account-menu { display:grid; gap:1rem; }
.intake__account-menu > a { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:1.25rem 1.5rem; border-radius:var(--r-22); background:var(--surface); box-shadow:var(--shadow-card); color:var(--ink); text-decoration:none; font-weight:600; }
.intake__account-menu > a:hover { text-decoration:underline; }
.intake__account-menu > a > span { font-size:1.5em; }
.intake__account-logout { margin-top:1.5rem; }
.intake__account button.btn { appearance:none; box-shadow:none; font-family:inherit; cursor:pointer; }
.intake__account button.btn[hidden] { display:none; }
.intake__account-cases { list-style:none; padding:0; display:grid; gap:.75rem; }
.intake__information-group, .intake__choices { min-width:0; margin:0 0 1.5rem; padding:0; border:0; }
.intake__information-group { display:flex; flex-direction:column; gap:1.25rem; }
.intake__information-group > legend, .intake__choices > legend { margin-bottom:.75rem; font-weight:600; }
.intake__repeat-row { margin-bottom:1rem; padding:1rem; border:1px solid var(--line); border-radius:var(--r-14); }
.intake__repeat-row > .intake__information-group { margin-bottom:.5rem; }
.intake__information-form input[type="time"], .intake__information-form input[type="date"] { max-width:100%; min-width:0; }
.intake__information-form input[type="time"] { box-sizing:border-box; width:100%; min-height:48px; padding:0 14px; border:0; border-radius:var(--r-pill); background:var(--bg); color:var(--ink); font:inherit; }
.intake__information-form > .card > .h { font-size:1.125rem; }

/* 病院担当者の作業画面だけに限定。公開サイトの固定ナビは操作に重ねない。 */
body:has(.intake__account) .tabbar { display:none; }
.site-main > .intake__account { box-sizing:border-box; gap:.75rem; }
.intake__account > .intake__back { margin:0 0 .5rem; font-size:var(--fs-label); }
.site-main .intake__account .intake__information-form { gap:1rem; }
.intake__account-secondary { display:flex; flex-wrap:wrap; gap:.75rem 1.5rem; margin:1.5rem 0; font-size:var(--fs-label); }
.intake__account .intake__listing-status .h { margin-top:0; }
.intake__account .intake__listing-status p { margin:1rem 0; }
.intake__information-form [hidden] { display:none !important; }
.intake__steps { display:flex; gap:.5rem; margin:0 0 .5rem; padding:0; }
.intake__steps button { flex:1; min-width:0; display:flex; align-items:center; justify-content:center; gap:.4rem; padding:.8rem .35rem; border:0; border-bottom:3px solid var(--line); background:transparent; color:var(--ink); font:inherit; font-size:.85rem; white-space:nowrap; cursor:pointer; }
.intake__steps button[aria-current] { border-color:var(--rose); color:var(--rose-ink); font-weight:700; }
.intake__steps button span { font-weight:700; }
.intake__form-step { display:grid; gap:1rem; }
.intake__account .intake__form-step > .card { margin:0; padding:1.5rem; }
.intake__account .intake__form-step .h { margin:0 0 1.25rem; font-size:1.2rem; }
.intake__fields-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; align-items:start; }
.intake__fields-grid--single { grid-template-columns:1fr; }
.site-main .intake__account .intake__fields-grid > .intake__field { margin:0; gap:.5rem; }
.intake__fields-grid > :is(.intake__information-group, .intake__field--textarea, .intake__field--checkboxes) { grid-column:1/-1; }
.intake__account .intake__optional-section > summary, .intake__account .intake__history > summary { cursor:pointer; font-size:1.1rem; font-weight:600; }
.intake__optional-fields { padding-top:1.25rem; }
.intake__information-form .intake__information-group { margin:0; gap:1rem; }
.intake__information-form .intake__repeat-row { padding:1rem; margin:0 0 1rem; background:var(--bg); border:0; }
.intake__information-form .intake__repeat-row input:not([type=checkbox]), .intake__information-form .intake__repeat-row textarea, .intake__information-form .intake__repeat-row select { background:var(--surface); }
/* 自由記入欄は条件や注意点を書ける高さにする。 */
.intake__account .intake__information-form textarea { min-height:9.5rem; line-height:1.7; }
.intake__account .intake__information-form .intake__repeat-row textarea { min-height:6.5rem; }
/* 診療内容・設備の小見出し。 */
.intake__account .intake__subhead { margin:1.75rem 0 .75rem; padding-bottom:.5rem; border-bottom:1px solid var(--line); font-size:1.05rem; }
.intake__account .intake__optional-fields > .intake__subhead:first-child { margin-top:0; }
.intake__account .intake__subhead-note { margin:-.25rem 0 .75rem; }
/* 追加した行は白い枠と「医療設備 1」の見出しで区切り、中の入力欄は色と枠線で見分ける。 */
.intake__information-form .intake__repeat-rows { counter-reset:usagi-row; }
.intake__account .intake__information-form .intake__repeat-row[data-row-label] { counter-increment:usagi-row; position:relative; padding:3.75rem 1rem 1rem; background:var(--surface); border:1.5px solid #d6c4b6; border-radius:var(--r-14); overflow:hidden; }
.intake__information-form .intake__repeat-row[data-row-label]::before { content:attr(data-row-label) " " counter(usagi-row); position:absolute; inset:0 0 auto; padding:.8rem 6rem .8rem 1rem; background:#f4e9e0; font-weight:700; line-height:1.4; }
.intake__account .intake__information-form .intake__repeat-row[data-row-label] :is(input:not([type=checkbox]):not([type=hidden]), textarea, select) { background-color:var(--bg); border:1px solid #d6c4b6; }
.intake__account .intake__information-form .intake__repeat-row[data-row-label] > .intake__repeat-remove { position:absolute; top:.3rem; right:.5rem; min-height:40px; padding:0 1rem; background:transparent; border:0; box-shadow:none; color:var(--rose-ink); font-size:var(--fs-label); }
.intake__information-form .intake__repeat-add { border:2px dashed #c9a79e; background:var(--surface); color:var(--rose-ink); font-weight:700; }
.intake__step-actions, .intake__submit-actions { display:flex; flex-wrap:wrap; align-items:center; gap:.75rem; padding:.5rem 0; }
.intake__step-actions [data-save-draft] { margin-left:auto; }
.intake__step-actions > :only-child { margin-left:auto; }
.intake__information-form [data-save-draft] { background:var(--surface); border:2px solid var(--rose-ink); color:var(--rose-ink); box-shadow:0 2px 4px rgb(0 0 0 / .08); }
.intake__information-form [data-save-draft]:hover { background:var(--rose-ink); color:#fff; }
.intake__draft-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem 1rem; position:sticky; top:8px; z-index:10; padding:.5rem; border-radius:var(--r-14); background:var(--bg); }
.intake__draft-status { margin:0; font-size:var(--fs-label); }
.intake__draft-status:empty { display:none; }
.intake__postal-status:empty { display:none; }
@media (max-width:600px) {
 .intake__steps { gap:.25rem; }
 .intake__steps button { flex-direction:column; gap:.2rem; font-size:.8rem; }
 .intake__fields-grid { grid-template-columns:1fr; }
 .intake__account .intake__form-step > .card { padding:1.25rem; }
 .intake__step-actions { flex-wrap:wrap; }
}
