body { font-family: 'Inter', 'Noto Sans JP', sans-serif; -webkit-font-smoothing: antialiased; }
[v-cloak] { display: none; }

/* ヘッダー内の小ボタン */
.hbtn {
    background: rgba(255, 255, 255, .12);
    border: 1px solid rgba(255, 255, 255, .25);
    border-radius: 8px;
    padding: 4px 10px;
    font-weight: 700;
    transition: background .15s;
}
.hbtn:hover:not(:disabled) { background: rgba(255, 255, 255, .22); }

/* iOSで入力欄フォーカス時に画面がズームされるのを防ぐ（16px未満だとズームされる） */
.date-input, .search-input { font-size: 16px; }
@media (min-width: 768px) {
    .date-input { font-size: 14px; }
    .search-input { font-size: 14px; }
}

/* ===== 印刷（A4縦・一覧のみ） ===== */
.print-only { display: none; }
@media print {
    @page { size: A4 portrait; margin: 10mm; }
    html, body { background: #fff !important; }
    .no-print, .screen-list { display: none !important; }
    #app { max-width: 100% !important; padding: 0 !important; }
    #print-sheet { display: block !important; color: #000; }
    #print-sheet .ps-head { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 6px; border-bottom: 2px solid #000; padding-bottom: 4px; }
    #print-sheet .ps-title { font-size: 15px; font-weight: 800; }
    #print-sheet .ps-meta { font-size: 9px; text-align: right; line-height: 1.4; }
    #print-sheet table { width: 100%; border-collapse: collapse; font-size: 9.5px; table-layout: fixed; }
    #print-sheet th, #print-sheet td { border: 1px solid #444; padding: 3px 4px; vertical-align: top; word-break: break-all; overflow-wrap: anywhere; }
    #print-sheet th { background: #e5e7eb !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; font-weight: 700; }
    #print-sheet thead { display: table-header-group; }
    #print-sheet tr { page-break-inside: avoid; }
}
