#zm-form [hidden] { display: none !important; }
.zm-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.zm-columns > *, .zm-person, .zm-ymd > *, .zm-hm > * { min-width: 0; }
.zm-person { border: 1px solid var(--line); border-radius: 8px; padding: 12px; }
.zm-person legend { font-weight: 700; }
.zm-ymd { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 8px; }
.zm-hm { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
#zm-form { overflow-wrap: anywhere; }
.zm-summary { background: var(--soft); padding: 12px; border-radius: 8px; }
.zm-chart { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--fg); margin-top: 14px; }
.zm-cell { min-width: 0; border: 1px solid var(--line); padding: 5px; min-height: 100px; font-size: .85rem; }
.zm-cell p { margin: 3px 0; }
.zm-cell strong { color: var(--brand-dark); }
.zm-soul { background: #eff4ff; }
.zm-center { background: var(--soft); padding: 10px; align-content: center; text-align: center; font-size: .9rem; }
.zm-mut-list { padding-left: 1.3em; }
.zm-mut-list li { margin-bottom: 16px; }
.zm-mut-list p { margin: 4px 0; }
.zm-focus-row { border: 1px solid var(--line); border-radius: 8px; padding: 10px 12px; margin: 10px 0; }
.zm-focus-row h3 { margin: 0 0 8px; }
.zm-reminder { padding: 12px; border-left: 4px solid var(--brand-dark); background: var(--soft); }
@media (max-width: 760px) { .zm-columns { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 420px) { .zm-cell { padding: 3px; font-size: .75rem; min-height: 105px; } .zm-center { padding: 5px; font-size: .8rem; } }
