/* Kalender memakai tanggal sebenarnya; warna disertai label agar tetap jelas. */
#dataWarningModal .modal-dialog { max-width: 740px; }
#dataWarningList { padding-left: 0 !important; list-style: none; }
#dataWarningList > li { padding: .85rem 0; border-bottom: 1px solid #e2e8f0; }
#dataWarningList > li:first-child { padding-top: 0; }
#dataWarningList > li:last-child { padding-bottom: 0; border-bottom: 0; }
.aw-context { color: #64748b; font-size: .8rem; margin-bottom: .3rem; overflow-wrap: anywhere; }
.aw-title { color: #422006; font-weight: 700; margin-bottom: .75rem; }
.aw-comparison { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; margin: 0 0 .75rem; }
.aw-comparison > div { padding: .7rem; border-radius: .65rem; border: 1px solid; }
.aw-written { background: #fffbeb; border-color: #fcd34d !important; }
.aw-actual { background: #eff6ff; border-color: #bfdbfe !important; }
.aw-comparison dt { font-size: .75rem; color: #475569; font-weight: 400; }
.aw-comparison dd { margin: .3rem 0 0; color: #0f172a; }
.aw-comparison strong, .aw-comparison dd span { display: block; }
.aw-comparison strong { font-size: 1.1rem; }
.aw-comparison dd span { margin-top: .15rem; font-size: .83rem; }
.aw-reason { color: #475569; line-height: 1.65; margin-bottom: .75rem; }
.aw-explanation { border: 1px solid #dbe4f0; border-radius: .7rem; overflow: hidden; background: #fff; }
.aw-explanation > summary { color: #1d4ed8; font-weight: 600; padding: .8rem; cursor: pointer; background: #f8fafc; }
.aw-explanation-body { padding: .85rem; }
.aw-calendar-hint { color: #64748b; font-size: .8rem; margin-bottom: .5rem; }
.aw-calendars { display: flex; flex-wrap: wrap; gap: .75rem; }
.aw-calendar { flex: 1 1 240px; width: 100%; table-layout: fixed; border-collapse: separate; border-spacing: 2px 4px; text-align: center; }
.aw-calendar caption { caption-side: top; text-align: center; color: #0f172a; font-size: 1rem; font-weight: 700; padding: .3rem 0 .6rem; }
.aw-calendar th { color: #64748b; font-size: .75rem; font-weight: 600; padding-bottom: .25rem; }
.aw-calendar abbr { text-decoration: none; cursor: default; }
.aw-calendar td { height: 34px; padding: 0; color: #334155; }
.aw-calendar-day { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: .5rem; border: 2px solid transparent; font-size: .83rem; }
.aw-calendar-input { background: #fef3c7; border: 2px solid #d97706; color: #78350f; font-weight: 700; }
.aw-calendar-candidate { background: #dbeafe; border: 2px dashed #2563eb; color: #1e40af; font-weight: 700; }
.aw-legend { display: grid; gap: .45rem; font-size: .75rem; color: #475569; margin: .6rem 0 1rem; }
.aw-legend > div { display: flex; align-items: center; gap: .5rem; }
.aw-legend-mark { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: .4rem; flex-shrink: 0; }
.aw-impact { padding: .8rem; background: #f1f5f9; border-radius: .6rem; color: #334155; margin-bottom: 1rem; line-height: 1.65; }
.aw-impact strong { display: block; margin-bottom: .25rem; }
.aw-impact p { margin: 0; }
.aw-choices legend { float: none; font-size: .9rem; font-weight: 700; color: #0f172a; margin-bottom: .6rem; }
.aw-choice { display: flex; align-items: flex-start; gap: .65rem; padding: .7rem; border: 1px solid #cbd5e1; border-radius: .6rem; cursor: pointer; margin-bottom: .5rem; color: #334155; }
.aw-choice input { flex-shrink: 0; width: 18px; height: 18px; margin-top: .15rem; accent-color: #2563eb; }
.aw-choice strong, .aw-choice small { display: block; }
.aw-choice strong { font-size: .85rem; }
.aw-choice small { color: #64748b; margin-top: .15rem; font-size: .78rem; }
.aw-choice.is-chosen { border-color: #2563eb; background: #eff6ff; }
.aw-choice:focus-within { outline: 2px solid #2563eb; outline-offset: 2px; }
.aw-guide { padding: .8rem; background: #f8fafc; border-radius: .6rem; border: 1px solid #e2e8f0; color: #334155; line-height: 1.65; margin-top: .3rem; }
.aw-guide h6 { font-size: .9rem; font-weight: 700; color: #1e40af; margin: 0 0 .5rem; }
.aw-guide p { margin: 0 0 .65rem; }
.aw-guide p:last-child { margin-bottom: 0; }
.aw-guide ol { padding-left: 1.2rem; }
#dataWarningModal .aw-guide li { color: #334155; }
.aw-change-example { padding: .65rem; background: #fff; border-left: 3px solid #2563eb; margin: .7rem 0; overflow-wrap: anywhere; }
.aw-change-example span, .aw-change-example strong { display: block; }
.aw-next-step { margin: .85rem 0 .35rem; color: #334155; font-weight: 600; line-height: 1.6; }
.aw-no-change { margin: 0; color: #64748b; font-size: .78rem; }
@media (max-width: 575.98px) {
    #dataWarningModal .modal-title { font-size: 1.05rem; }
    .aw-explanation-body { padding: .7rem; }
    .aw-calendar-day { width: 28px; height: 28px; }
    .aw-calendar td { height: 30px; }
}
@media (max-width: 359.98px) {
    .aw-comparison { grid-template-columns: 1fr; }
    .aw-calendar { flex-basis: 100%; }
    .aw-calendar-day { width: 25px; height: 25px; font-size: .78rem; }
}
