[hidden] { display: none !important; }
.runtime-form { display: grid; gap: .65rem; max-width: 42rem; }
.runtime-form label { font-size: .875rem; font-weight: 600; }
.runtime-form button { justify-self: start; margin-top: .6rem; }
.runtime-password { margin-top: 1.5rem; }
.runtime-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-bottom: 1.5rem; }
.runtime-calendar-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 2rem; }
.runtime-backdrop { position: fixed; inset: 0; z-index: 2000; align-items: center; justify-content: center; padding: 1rem; background: var(--overlay-bg, rgba(0,0,0,.5)); display: none; }
.runtime-modal { flex-direction: column; width: min(100%, 36rem); max-height: 90dvh; overflow: auto; padding: 1.5rem; border-radius: var(--radius-lg, 1rem); background: var(--dash-surface); color: var(--dash-text-primary); }
.runtime-modal h2 { font-size: 1.25rem; margin: 0; }
.cal-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: .4rem; }
.cal-cell { min-height: 3rem; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 1px solid var(--dash-border); border-radius: var(--radius-sm, .4rem); }
.cal-cell--empty, .cal-cell--header { border: none; }
.cal-cell--today { background: var(--innomis-subtle); color: var(--innomis-primary); font-weight: 700; }
.cal-dots { display: flex; gap: .15rem; }
.cal-dot { width: .3rem; height: .3rem; border-radius: 50%; background: var(--innomis-primary); }
.deadline-item { display: flex; align-items: center; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid var(--dash-border); }
.deadline-item__date-box, .deadline-item__info { display: flex; flex-direction: column; }
.deadline-item__info { flex: 1; min-width: 0; }
.deadline-item__title { margin: 0 0 .35rem; overflow-wrap: anywhere; }
.deadline-item__right { display: flex; align-items: center; gap: .5rem; }
.deadline-item__month, .deadline-item__full-date, .deadline-days { font-size: .8rem; color: var(--dash-text-muted); }
button:disabled { opacity: .65; cursor: wait; }
@media (max-width: 760px) { .runtime-calendar-layout { grid-template-columns: 1fr; } .runtime-toolbar { align-items: flex-start; } }
