.page-head-actions{flex-wrap:wrap;gap:10px;display:flex}.calendar-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:24px;animation:.5s cubic-bezier(.2,.8,.2,1) both rise-in;display:grid}.month-card,.upcoming-card{border:1px solid var(--primary-200);border-radius:var(--radius-lg);background:var(--white);box-shadow:var(--shadow-card);padding:22px}.month-card{position:relative}.month-head{justify-content:center;align-items:center;gap:16px;margin-bottom:14px;display:flex}.month-head h2{text-align:center;min-width:260px;font-size:2.4rem}.month-head h2:first-letter{text-transform:uppercase}.month-head .icon-button{font-size:1.6rem;line-height:1}.today-button{border:1.5px solid var(--primary-200);background:var(--white);color:var(--ink-soft);border-radius:999px;padding:5px 14px;font-size:.82rem;position:absolute;top:26px;right:22px}.today-button:hover{border-color:var(--primary-300);color:var(--primary-700)}.weekdays{letter-spacing:.1em;text-transform:uppercase;text-align:center;color:var(--ink-soft);grid-template-columns:repeat(7,1fr);margin-bottom:6px;font-size:.75rem;font-weight:600;display:grid}.month-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.day-cell{background:var(--primary-50);cursor:pointer;min-width:0;min-height:96px;transition:background var(--transition), box-shadow var(--transition);border-radius:12px;flex-direction:column;gap:3px;padding:4px;display:flex}.day-cell:hover{background:var(--primary-100)}.day-cell.is-other-month{opacity:.45;background:0 0}.day-cell.is-past .day-number{color:var(--ink-faint)}.day-number{width:28px;height:28px;color:var(--ink);background:0 0;border:none;border-radius:50%;align-self:flex-start;place-items:center;padding:0;font-size:.85rem;font-weight:500;display:grid}.day-number:hover{background:var(--white)}.day-cell.is-today .day-number{background:var(--primary);color:var(--on-primary)}.day-cell.is-wedding{background:var(--accent-100);box-shadow:inset 0 0 0 2px var(--accent);position:relative}.day-cell.is-wedding:after{content:"💍";font-size:.9rem;position:absolute;top:5px;right:6px}.day-events{gap:3px;min-width:0;display:grid}.event-pill{border:none;border-left:3px solid var(--primary);background:var(--white);width:100%;color:var(--ink);text-align:left;white-space:nowrap;text-overflow:ellipsis;transition:transform var(--transition);border-radius:6px;padding:2px 6px;font-size:.72rem;display:block;overflow:hidden}.event-pill:hover{transform:translate(2px)}.event-pill.type-payment{border-left-color:#d9a441}.event-pill.type-wedding{border-left-color:var(--accent);font-weight:600}.event-pill.type-formalities{border-left-color:var(--primary-700)}.event-pill.type-fitting,.event-pill.type-tasting{border-left-color:var(--accent)}.event-pill.is-auto{background:0 0;border-left-style:dashed}.more-events{color:var(--ink-soft);padding-left:6px;font-size:.7rem}.upcoming-card h2{margin-bottom:12px}.upcoming-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.upcoming-item{border-bottom:1px dashed var(--primary-200);grid-template-columns:52px 1fr;gap:12px;padding-bottom:12px;animation:.4s both rise-in;display:grid}.upcoming-item:last-child{border-bottom:none;padding-bottom:0}.upcoming-date{background:var(--primary-100);height:56px;color:var(--primary-700);border-radius:14px;align-content:center;place-items:center;display:grid}.upcoming-date strong{font-size:1.3rem;line-height:1}.upcoming-date span{text-transform:uppercase;font-size:.72rem}.upcoming-item.type-wedding .upcoming-date{background:var(--accent-100);color:var(--accent-700)}.upcoming-item.type-payment .upcoming-date{color:#9a6a12;background:#fff4e0}.upcoming-title{color:var(--ink);text-align:left;background:0 0;border:none;padding:0;font-weight:600}.upcoming-title:hover{color:var(--primary-700)}.upcoming-meta{color:var(--ink-soft);font-size:.82rem}.upcoming-meta:first-letter{text-transform:uppercase}.upcoming-links{flex-wrap:wrap;align-items:center;gap:4px 12px;margin-top:4px;font-size:.8rem;display:flex}.upcoming-links a,.upcoming-links button{color:var(--accent-700);font-size:inherit;text-underline-offset:3px;background:0 0;border:none;padding:0;text-decoration:underline}.auto-tag{background:var(--primary-100);color:var(--ink-soft);border-radius:999px;padding:0 8px;font-size:.7rem}.upcoming-empty{color:var(--ink-soft);font-style:italic}#event-dialog .form-error{margin-top:16px}.dialog-actions-spacer{flex:1}.btn-danger-text{color:var(--primary-700)}@media (width<=960px){.calendar-layout{grid-template-columns:1fr}}@media (width<=760px){.month-card{padding:14px 10px}.month-head h2{min-width:0;font-size:1.9rem}.today-button{margin:-6px auto 10px;display:block;position:static}.day-cell{min-height:58px;padding:2px}.day-events{flex-wrap:wrap;gap:3px;padding-left:4px;display:flex}.event-pill{background:var(--primary);border:none;border-radius:50%;width:8px;height:8px;padding:0;font-size:0}.event-pill.type-payment{background:#d9a441}.event-pill.type-wedding{background:var(--accent)}.more-events{display:none}}
