/* The batch absence route uses a single-column LIFF layout. */
.batch-page { min-height:100dvh; background:#f4f8f5; color:#203532; font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif; }
.batch-page *, .batch-page *::before, .batch-page *::after { box-sizing:border-box; }
.batch-wrap { max-width:560px; min-height:100dvh; margin:0 auto; background:#fff; box-shadow:0 0 36px rgba(26,66,56,.08); }
.batch-header { display:flex; align-items:center; gap:.6rem; padding:16px 20px; color:#164f4a; border-bottom:1px solid #e5eeea; font-weight:750; letter-spacing:.025em; }
.batch-mark { display:grid; place-items:center; width:29px; height:29px; border-radius:9px; background:#e1f1e8; }
.batch-content { padding:22px 20px 40px; }
.batch-kicker { margin:0 0 6px; color:#24735f; font-size:.83rem; font-weight:750; }
.batch-content h1 { margin:0 0 17px; color:#173e36; font-size:1.55rem; line-height:1.35; }
.batch-content p { line-height:1.65; }
.batch-context { margin:0 0 14px; color:#52645f; font-weight:650; }
.batch-count { display:flex; align-items:baseline; gap:.35rem; margin:22px 0 10px; padding:12px 15px; border-radius:12px; background:#e9f5ee; color:#174f3e; font-weight:650; }
.batch-count strong { font-size:1.55rem; }
.batch-list { display:grid; gap:9px; }
.batch-row { min-height:68px; padding:12px 14px; border:2px solid #dbe6df; border-radius:14px; background:#fff; }
.batch-row.is-selected { border-color:#168163; background:#f0faf3; }
.batch-row:focus-within { outline:3px solid #79c8ad; outline-offset:1px; }
.batch-row-main { display:grid; grid-template-columns:30px minmax(0,1fr) auto; align-items:center; gap:11px; cursor:pointer; }
.batch-row input { width:25px; height:25px; margin:0; accent-color:#187656; }
.batch-date { font-size:1.07rem; font-weight:750; }
.batch-source { color:#667c72; font-size:.76rem; white-space:nowrap; }
.batch-activity { display:block; margin:8px 0 0 41px; color:#355e50; font-size:.9rem; line-height:1.45; }
.batch-day-reason { display:grid; gap:7px; margin:14px 0 0 41px; font-size:.88rem; font-weight:750; color:#245a48; }
.batch-day-reason[hidden] { display:none; }
.batch-day-reason select { width:100%; min-height:48px; padding:9px 12px; border:1.5px solid #9eb8a9; border-radius:10px; background:#fff; color:#203532; font:inherit; font-weight:500; }
.batch-day-reason select:focus { outline:3px solid #79c8ad; outline-offset:1px; }
.batch-field { display:grid; gap:9px; margin:25px 0 18px; font-weight:750; }
.batch-field span { color:#64766e; font-size:.81rem; font-weight:400; }
.batch-field input, .batch-field select { width:100%; min-height:51px; padding:10px 13px; border:1.5px solid #9eb8a9; border-radius:10px; background:#fff; color:#203532; font:inherit; font-weight:500; }
.batch-field input:focus, .batch-field select:focus { outline:3px solid #79c8ad; outline-offset:1px; }
.batch-actions { display:grid; gap:11px; margin-top:23px; }
.batch-primary, .batch-secondary { min-height:53px; width:100%; border-radius:11px; font:inherit; font-weight:750; cursor:pointer; }
.batch-primary { border:1px solid #11634c; background:#11634c; color:#fff; }
.batch-primary:hover:not(:disabled) { background:#0c523e; }
.batch-secondary { border:1.5px solid #8cb3a2; background:#fff; color:#155842; }
.batch-primary:disabled, .batch-secondary:disabled { opacity:.53; cursor:not-allowed; }
.batch-link { display:block; margin:12px auto 0; padding:9px; border:0; background:transparent; color:#286657; text-decoration:underline; font:inherit; cursor:pointer; }
.batch-summary { padding:14px 17px; margin:20px 0; border:1px solid #dbe9df; border-radius:12px; background:#f6faf7; }
.batch-summary ul, .batch-dates { margin:10px 0; padding-left:1.4rem; line-height:2; }
.batch-summary p { margin:12px 0 0; }
.batch-empty { margin:14px 0; padding:20px; border-radius:12px; background:#f2f6f3; line-height:1.6; }
.batch-alert, .batch-note { margin:13px 0 18px; padding:13px 14px; border-radius:10px; line-height:1.6; }
.batch-alert { color:#743622; background:#fff1e9; border:1px solid #e8bfa9; }
.batch-note { color:#165c47; background:#e9f6ec; border:1px solid #b8ddc6; }
.batch-help { color:#67766f; font-size:.87rem; }
@media (max-width:400px) { .batch-content { padding:19px 15px 34px; } .batch-row { padding:10px 11px; } .batch-row-main { gap:8px; } .batch-source { font-size:.69rem; } .batch-day-reason { margin-left:38px; } }
