/* 印刷専用スタイル */
@media print {
    * {
        -webkit-print-color-adjust: exact !important;
        color-adjust: exact !important;
    }
    
    body {
        font-family: "Noto Sans JP", Arial, sans-serif;
        font-size: 12pt;
        line-height: 1.4;
        color: #000;
        background: white !important;
    }
    
    .no-print {
        display: none !important;
    }
    
    .print-only {
        display: block !important;
    }
    
    /* ページ設定 */
    @page {
        size: A4;
        margin: 20mm;
    }
    
    /* ページブレーク制御 */
    .page-break-before {
        page-break-before: always;
    }
    
    .page-break-after {
        page-break-after: always;
    }
    
    .page-break-inside-avoid {
        page-break-inside: avoid;
    }
    
    /* カード要素の印刷調整 */
    .card, .dashboard-card {
        background: white !important;
        box-shadow: none !important;
        border: 1px solid #ccc !important;
        border-radius: 4px !important;
        margin-bottom: 10pt;
        page-break-inside: avoid;
    }
    
    /* ヘッダー印刷調整 */
    h1, h2, h3, h4, h5, h6 {
        color: #000 !important;
        page-break-after: avoid;
    }
    
    /* テーブル印刷調整 */
    table {
        border-collapse: collapse;
        width: 100%;
        font-size: 10pt;
    }
    
    table, th, td {
        border: 1px solid #000 !important;
    }
    
    th {
        background: #f5f5f5 !important;
        font-weight: bold;
        padding: 4pt;
    }
    
    td {
        padding: 4pt;
        vertical-align: top;
    }
    
    /* フォーム印刷調整 */
    .form-input {
        border: 1px solid #000 !important;
        background: white !important;
        padding: 2pt !important;
        font-size: 10pt;
    }
    
    /* ステータスバッジ印刷調整 */
    .status-badge {
        border: 1px solid #000 !important;
        padding: 2pt 4pt !important;
        font-size: 9pt !important;
        font-weight: bold !important;
        background: white !important;
        color: #000 !important;
    }
    
    /* チャート非表示（印刷時はテキスト要約に置換） */
    .chart-container {
        display: none !important;
    }
    
    /* 印刷用ヘッダー */
    .print-header {
        text-align: center;
        margin-bottom: 20pt;
        page-break-after: avoid;
    }
    
    .print-header h1 {
        font-size: 16pt;
        margin-bottom: 5pt;
    }
    
    .print-header p {
        font-size: 12pt;
        margin: 0;
    }
    
    /* 印刷用フッター */
    .print-footer {
        position: fixed;
        bottom: 10mm;
        left: 0;
        right: 0;
        text-align: center;
        font-size: 10pt;
        color: #666;
    }
    
    /* 印刷用日付 */
    .print-date {
        text-align: right;
        font-size: 10pt;
        margin-bottom: 10pt;
    }
    
    /* リンク印刷調整 */
    a {
        text-decoration: none;
        color: #000 !important;
    }
    
    /* 投稿詳細印刷レイアウト */
    .voice-detail-print {
        border: 2px solid #000;
        padding: 10pt;
        margin-bottom: 15pt;
        page-break-inside: avoid;
    }
    
    .voice-detail-print h3 {
        background: #f0f0f0;
        padding: 5pt;
        margin: -10pt -10pt 10pt -10pt;
        border-bottom: 1px solid #000;
    }
    
    /* グリッドレイアウト印刷調整 */
    .grid {
        display: table;
        width: 100%;
    }
    
    .grid-cols-2 > * {
        display: table-cell;
        width: 50%;
        padding-right: 10pt;
    }
    
    .grid-cols-3 > * {
        display: table-cell;
        width: 33.33%;
        padding-right: 10pt;
    }
    
    /* 統計数値印刷調整 */
    .metric-card {
        border: 1px solid #000 !important;
        background: #f9f9f9 !important;
        color: #000 !important;
        padding: 8pt !important;
        margin-bottom: 5pt;
    }
    
    .metric-card .text-3xl {
        font-size: 18pt !important;
        font-weight: bold;
    }
}

/* 印刷プレビュー用スタイル */
.print-preview {
    background: white;
    box-shadow: 0 0 20px rgba(0,0,0,0.1);
    margin: 20px auto;
    padding: 20mm;
    max-width: 210mm;
    min-height: 297mm;
}

/* 印刷用要約テキスト（チャート代替） */
.chart-summary {
    display: none;
    border: 1px solid #ccc;
    padding: 10pt;
    margin: 10pt 0;
    background: #f9f9f9;
}

@media print {
    .chart-summary {
        display: block !important;
    }
}

/* 投稿フォーム印刷時の特別レイアウト */
@media print {
    .submission-summary {
        border: 2px solid #000;
        padding: 15pt;
        margin: 20pt 0;
        background: #f0f8ff !important;
    }
    
    .submission-summary h2 {
        text-align: center;
        border-bottom: 1px solid #000;
        padding-bottom: 5pt;
        margin-bottom: 15pt;
    }
    
    .field-group {
        margin-bottom: 10pt;
        page-break-inside: avoid;
    }
    
    .field-label {
        font-weight: bold;
        display: inline-block;
        width: 30%;
        vertical-align: top;
    }
    
    .field-value {
        display: inline-block;
        width: 65%;
        border-bottom: 1px dotted #666;
        min-height: 12pt;
    }
    
    .content-area {
        border: 1px solid #000;
        padding: 8pt;
        margin-top: 5pt;
        min-height: 40pt;
        background: white;
    }
}