body {
    font-family: 'Inter', 'Noto Sans JP', sans-serif;
}
.modal-backdrop {
    background-color: rgba(0, 0, 0, 0.5);
}
input[type="radio"]:disabled + label {
    color: #9ca3af; /* text-gray-400 */
}
@media print {
    /* Hide elements not for printing */
    .no-print {
        display: none;
    }

    /* Reset body and layout for printing */
    html, body {
        margin: 0;
        padding: 0;
        font-size: 9pt; /* Smaller base font size */
        background-color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .container {
        padding: 1cm !important;
        margin: 0 !important;
        max-width: 100% !important;
    }
    main {
        display: block !important; /* Stack form and results */
        gap: 0 !important;
    }
    .lg\:col-span-3, #result-area-wrapper {
        width: 100%;
        padding: 0 !important;
        box-shadow: none !important;
        page-break-inside: avoid;
        margin-bottom: 1rem; /* Add a small gap between form and results */
    }
    #result-area-wrapper .sticky {
        position: static;
    }
    
    /* Reduce spacing and fonts to fit on one page */
    header {
        display: none; /* Hide header completely for space */
    }
    h1 { font-size: 16pt; }
    p, label, select, input { font-size: 9pt; }
    .p-8 { padding: 0.75rem !important; }
    .space-y-8 > :not([hidden]) ~ :not([hidden]) { margin-top: 0.75rem; }
    .space-y-4 > :not([hidden]) ~ :not([hidden]) { margin-top: 0.25rem; }
    .gap-6 { gap: 0.75rem; }
    .mb-4 { margin-bottom: 0.5rem; }
    .mt-10 { margin-top: 1rem; }

    /* Result section specific adjustments */
    h2 { font-size: 12pt; margin-bottom: 0.5rem; }
    #total-cost { font-size: 22pt; }
    .text-lg { font-size: 9pt; }
    .bg-gray-100 {
        background-color: #f3f4f6 !important;
        padding: 0.5rem !important;
    }
    .text-base.text-red-600 {
        font-size: 8pt !important; /* Make the note smaller */
        padding-top: 0.5rem !important;
    }
}