.calendar-page{padding:var(--space-4)}.calendar-nav{gap:var(--space-4);margin-bottom:var(--space-4);align-items:center;display:flex}.calendar-nav button{padding:var(--space-1) var(--space-3);font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);background:var(--bento-tile-raised);color:var(--color-text-primary);border-radius:var(--radius-lg);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast)}.calendar-nav button:hover{background:var(--bento-tile-hover)}.calendar-nav button:focus-visible{outline:none}.calendar-nav-label{font-weight:var(--font-weight-semibold);color:var(--color-text-primary);font-variant-numeric:tabular-nums}.calendar-loading{gap:var(--space-1);padding:var(--space-1);background:var(--bento-tile);border-radius:var(--radius-tile);flex-direction:column;display:flex}.calendar-loading-header{gap:var(--space-1);padding-bottom:var(--space-2);grid-template-columns:repeat(7,1fr);display:grid}.calendar-loading-row{gap:var(--space-1);grid-template-columns:repeat(7,1fr);display:grid}.calendar-loading .skeleton-block{min-height:var(--calendar-day-min-height)}.calendar-loading-header .skeleton-block{min-height:var(--space-4)}.calendar-grid{border:var(--border-width) solid var(--color-border);border-radius:var(--radius-tile);flex-direction:column;gap:0;display:flex;overflow:hidden}.calendar-header-row{border-bottom:var(--border-width) solid var(--color-border);grid-template-columns:repeat(7,1fr);display:grid}.calendar-header-cell{padding:var(--space-2);text-align:center;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:var(--color-text-label);text-transform:uppercase;letter-spacing:var(--letter-spacing-label)}.calendar-week-row{grid-template-columns:repeat(7,1fr);display:grid}.calendar-week-row+.calendar-week-row{border-top:var(--border-width) solid var(--color-border)}.calendar-day{min-height:var(--calendar-day-min-height);padding:var(--space-1);min-width:0}.calendar-day+.calendar-day{border-left:var(--border-width) solid var(--color-border)}.calendar-day.today{background:var(--bento-tile-raised);box-shadow:inset 0 0 0 var(--border-width) var(--bento-border-strong)}.calendar-day.is-over{background:var(--bento-tile-hover);box-shadow:inset 0 0 0 var(--border-width) var(--bento-border-strong)}.calendar-day-number{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.calendar-slot{font-size:var(--font-size-sm);padding:var(--space-1);margin-top:var(--space-1);border-radius:var(--radius-md);background:var(--bento-tile-raised);cursor:grab;color:var(--color-text-secondary);min-width:0;text-decoration:none;display:block;overflow:hidden}.calendar-slot:hover{background:var(--bento-tile-hover)}.calendar-slot:focus-visible{outline:none}.calendar-slot.pinned{cursor:not-allowed;opacity:var(--opacity-disabled)}.calendar-toast{bottom:var(--space-6);right:var(--space-6);align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--bento-tile);border-radius:var(--radius-tile);box-shadow:var(--bento-shadow-raised);color:var(--color-text-primary);font-size:var(--font-size-sm);flex-direction:row;display:flex;position:fixed}.calendar-slot.status-converted{background:var(--color-success-bg)}.calendar-slot.status-rejected{background:var(--color-error-bg)}.calendar-slot-label{font-weight:var(--font-weight-medium);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.calendar-slot-platforms{font-size:var(--font-size-xs);color:var(--color-text-muted);display:block}.calendar-chip{margin-top:var(--space-1);font-size:var(--font-size-sm);border-radius:var(--radius-tile-sm);padding:0 var(--space-2);display:inline-block}.chip-draft{color:var(--color-text-muted)}.chip-inReview{color:var(--color-text-primary)}.chip-approved{color:var(--color-success-text)}.chip-rejected{color:var(--color-error-text)}.calendar-slot-publish{align-items:center;gap:var(--space-1);margin-top:var(--space-1);flex-wrap:wrap;display:flex}.calendar-slot-publish button{padding:0 var(--space-2);border-radius:var(--radius-xl);background:var(--bento-tile-raised);color:var(--color-text-primary);font-size:var(--font-size-sm);font-family:var(--font-family);cursor:pointer}.calendar-slot-publish button:focus-visible{outline:none}.calendar-slot-publish input{width:100%;padding:var(--space-1);border-radius:var(--radius-lg);background:var(--bento-tile-raised);color:var(--color-text-primary);font-family:var(--font-family);font-size:var(--font-size-xs)}.calendar-slot-publish input:focus-visible{outline:none}.calendar-conflict{margin-top:var(--space-1);font-size:var(--font-size-sm);color:var(--color-text-muted);display:block}.calendar-empty-hint{text-align:center;color:var(--color-text-muted);padding:var(--space-4)}.calendar-view-switcher{gap:var(--space-2);padding:var(--space-1);border-radius:var(--radius-full);background:var(--bento-tile);width:fit-content;margin-bottom:var(--space-4);display:flex}.calendar-view-switcher button{padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);color:var(--color-text-label);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;font-family:var(--font-family);background:0 0;border:none}.calendar-view-switcher button.is-active{background:var(--color-text-primary);color:var(--color-accent-text)}.calendar-view-switcher button:focus-visible{outline:none}.calendar-day-view .calendar-header-row{grid-template-columns:1fr}.calendar-week-view .calendar-week-row{border-top:none}.calendar-year-view{gap:var(--space-4);padding:var(--space-4);grid-template-columns:repeat(4,1fr);display:grid}.calendar-mini-month{background:var(--bento-tile-raised);border-radius:var(--radius-tile-sm);padding:var(--space-3)}.calendar-mini-month-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--space-2);display:block}.calendar-mini-grid{gap:var(--space-1);grid-template-columns:repeat(7,1fr);display:grid}.calendar-mini-day{font-size:var(--font-size-xs);color:var(--color-text-secondary);text-align:center;font-variant-numeric:tabular-nums}.calendar-mini-day.empty{color:#0000}
