.week-navigation{background-color:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);padding:var(--spacing-md)0;margin-bottom:var(--spacing-xl)}.week-navigation-content{max-width:1200px;padding:0 var(--spacing-md);justify-content:space-between;align-items:center;gap:var(--spacing-lg);margin:0 auto;display:flex}.week-nav-button{background-color:var(--color-bg-cta);color:var(--color-text-on-cta);padding:var(--spacing-sm)var(--spacing-md);font-family:var(--font-body);font-size:var(--font-size-body);cursor:pointer;border:none;border-radius:4px;min-width:120px;font-weight:600;transition:background-color .2s,transform .1s}.week-nav-button:hover{background-color:var(--color-bg-cta-hover);transform:translateY(-1px)}.week-nav-button:active{transform:translateY(0)}.week-nav-button:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.week-info{align-items:center;gap:var(--spacing-xs);text-align:center;flex-direction:column;flex:1;display:flex}.week-range{font-family:var(--font-accent);font-size:var(--font-size-h3);color:var(--color-text-primary);font-weight:600}.current-week-badge{background-color:var(--color-bg-cta);color:var(--color-text-on-cta);padding:var(--spacing-xs)var(--spacing-sm);font-size:var(--font-size-small);font-weight:600;font-family:var(--font-body);border-radius:12px;display:inline-block}.week-nav-today{margin:var(--spacing-md)auto 0;color:var(--color-text-secondary);font-family:var(--font-body);font-size:var(--font-size-small);cursor:pointer;max-width:1200px;padding:0 var(--spacing-md);background:0 0;border:none;text-decoration:underline;transition:color .2s;display:block}.week-nav-today:hover{color:var(--color-link-hover)}.week-nav-today:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px;border-radius:2px}@media (max-width:767px){.week-navigation-content{gap:var(--spacing-md);flex-direction:column}.week-nav-button{width:100%;min-width:auto}.week-range{font-size:var(--font-size-body)}.week-nav-today{text-align:center;width:100%}}@media (prefers-reduced-motion:reduce){.week-nav-button{transition:none}}
.planning-weekly-view{width:100%;overflow:hidden}.planning-grid-container{border:1px solid var(--color-border);background-color:var(--color-bg-secondary);border-radius:8px;min-height:520px;max-height:calc(100vh - 220px);overflow-x:auto}.planning-grid{gap:var(--spacing-md);min-width:700px;padding:var(--spacing-md);grid-template-columns:repeat(7,1fr);display:grid}.planning-header{background-color:var(--color-bg-cta);color:var(--color-text-on-cta);padding:var(--spacing-sm);text-align:center;z-index:10;font-weight:600;font-family:var(--font-accent);border-radius:4px;position:sticky;top:0}.day-label{font-size:var(--font-size-body)}.day-date{font-size:var(--font-size-small);opacity:.9}.planning-day-column{gap:var(--spacing-sm);flex-direction:column;min-height:200px;display:flex}.planning-day-empty{padding:var(--spacing-lg);text-align:center;color:var(--color-text-tertiary);background-color:var(--color-bg-light);border-radius:4px;font-style:italic}.planning-course{color:var(--color-text-primary,#1a1a1a);padding:var(--spacing-sm)var(--spacing-md);font-size:var(--font-size-small);gap:var(--spacing-sm);border:1px solid var(--color-border,#e0e0e0);background:#fff;border-radius:8px;flex-direction:column;min-height:0;transition:box-shadow .2s,transform .15s,border-color .2s;display:flex;box-shadow:0 1px 3px #00000014}.planning-course:hover{border-color:var(--color-bg-cta,#2d5a3d);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.planning-course:active{transform:translateY(0)}.planning-course--petit-comite{background:#f0f7f2;border-color:#2d5a3d40}.planning-course--petit-comite:hover{border-color:var(--color-bg-cta,#2d5a3d)}.planning-course:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.course-header{padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--color-border,#e8e8e8);flex-direction:column;gap:2px;display:flex}.course-time-range{letter-spacing:.02em;color:var(--color-text-primary,#1a1a1a);font-size:.95rem;font-weight:700}.course-title{color:var(--color-text-primary,#1a1a1a);margin:0;font-size:1rem;font-weight:600;line-height:1.25}.course-details{gap:var(--spacing-xs);flex-direction:column;flex:1;min-height:0;font-size:.8125rem;display:flex}.course-detail-item{flex-direction:column;align-items:flex-start;gap:2px;line-height:1.35;display:flex}.course-detail-item.course-detail-studio{gap:2px}.course-detail-label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-forest-green,#1e3d2d);font-size:.7rem;font-weight:700}.course-studio-name{color:var(--color-text-primary,#1a1a1a);font-weight:600}.course-studio-address{word-break:break-word;color:var(--color-text-secondary,#444);font-size:.75rem;line-height:1.4}.course-type{color:var(--color-text-primary,#1a1a1a);font-weight:500}.course-type-tags{flex-wrap:wrap;gap:6px;display:inline-flex}.course-type-tag{background:var(--color-bg-secondary,#f0f0f0);color:var(--color-text-primary,#1a1a1a);border-radius:4px;padding:2px 8px;font-size:.8125rem;font-weight:500;display:inline-block}.planning-course-cta{background:var(--color-bg-cta,#2d5a3d);color:var(--color-text-on-cta,#fff);font-family:var(--font-body);text-transform:none;text-align:center;cursor:pointer;white-space:nowrap;border:none;border-radius:6px;margin-top:auto;padding:8px 14px;font-size:.8125rem;font-weight:600;text-decoration:none;transition:background .2s,filter .2s;display:inline-block}.planning-course-cta:hover{filter:brightness(1.08);color:var(--color-text-on-cta,#fff)!important}.planning-loading,.planning-empty{padding:var(--spacing-2xl);text-align:center;color:var(--color-text-secondary);background-color:var(--color-bg-secondary);border-radius:8px}.planning-loading p,.planning-empty p{font-size:var(--font-size-body);margin-bottom:var(--spacing-sm)}.planning-empty-hint{font-size:var(--font-size-small);color:var(--color-text-tertiary);font-style:italic}.planning-empty-cta{margin-top:var(--spacing-md);font-size:var(--font-size-small);font-weight:600;font-family:var(--font-body);color:var(--color-off-white,#faf7f4);background-color:var(--color-forest-green,#2e4d3d);cursor:pointer;border:none;border-radius:9999px;padding:.5rem 1rem;transition:background-color .2s,transform .15s;display:inline-block}.planning-empty-cta:hover{background-color:var(--color-bg-cta-hover,#1e3d2d);transform:translateY(-1px)}@media (max-width:767px){.planning-grid-container{min-height:420px;max-height:calc(100vh - 200px)}.planning-grid{min-width:700px}.planning-header{padding:var(--spacing-sm);font-size:var(--font-size-small)}.day-label{font-size:var(--font-size-small)}.day-date{font-size:calc(var(--font-size-small) - 1px)}.planning-course{padding:var(--spacing-xs);min-height:40px}.course-time-range,.course-title{font-size:calc(var(--font-size-small) - 1px)}.course-details{font-size:calc(var(--font-size-small) - 2px)}}@supports (-webkit-overflow-scrolling:touch){.planning-grid-container{-webkit-overflow-scrolling:touch}}@media (prefers-reduced-motion:reduce){.planning-course{transition:none}}
.planning-filters{background-color:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);padding:var(--spacing-md)0;margin-bottom:var(--spacing-lg)}.filters-content{max-width:1200px;padding:0 var(--spacing-md);gap:var(--spacing-md);flex-direction:column;margin:0 auto;display:flex}.filter-group{gap:var(--spacing-sm);flex-direction:column;display:flex}.filter-label{font-family:var(--font-accent);font-size:var(--font-size-h3);color:var(--color-text-primary);margin-bottom:var(--spacing-xs);font-weight:600}.filter-buttons{gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.filter-button{background-color:var(--color-bg-primary);color:var(--color-text-primary);border:2px solid var(--color-border);padding:var(--spacing-sm)var(--spacing-md);font-family:var(--font-body);font-size:var(--font-size-body);cursor:pointer;border-radius:4px;font-weight:500;transition:all .2s}.filter-button:hover{background-color:var(--color-bg-light);border-color:var(--color-border-focus);transform:translateY(-1px)}.filter-button:active{transform:translateY(0)}.filter-button:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.filter-button-active{background-color:var(--color-bg-cta);color:var(--color-text-on-cta);border-color:var(--color-bg-cta);font-weight:600}.filter-button-active:hover{background-color:var(--color-bg-cta-hover);border-color:var(--color-bg-cta-hover)}.filter-clear{color:var(--color-text-secondary);padding:var(--spacing-sm)var(--spacing-md);font-family:var(--font-body);font-size:var(--font-size-small);cursor:pointer;margin-top:var(--spacing-xs);background-color:#0000;border:none;align-self:flex-start;font-weight:500;text-decoration:underline;transition:color .2s}.filter-clear:hover{color:var(--color-link-hover)}.filter-clear:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px;border-radius:2px}@media (max-width:767px){.filters-content{gap:var(--spacing-sm)}.filter-label{font-size:var(--font-size-body)}.filter-buttons{gap:var(--spacing-xs)}.filter-button{padding:var(--spacing-xs)var(--spacing-sm);font-size:var(--font-size-small)}}@media (prefers-reduced-motion:reduce){.filter-button{transition:none}}
.planning-page{background-color:var(--color-bg-primary);min-height:calc(100vh - 80px);padding:var(--spacing-xl)var(--spacing-md)}.planning-container{max-width:1200px;margin:0 auto}.planning-page h1{text-align:center;margin-bottom:var(--spacing-xl)}.planning-content{background-color:var(--color-bg-secondary);padding:var(--spacing-2xl);border-radius:8px;min-height:400px}.planning-error{padding:var(--spacing-md);margin-bottom:var(--spacing-lg);background-color:var(--color-error);color:var(--color-text-on-cta);text-align:center;border-radius:4px}.planning-error p{margin:0;font-weight:600}.planning-cta{margin-top:var(--spacing-2xl);padding:var(--spacing-xl);background-color:var(--color-bg-secondary);text-align:center;border-radius:8px}.planning-cta p{margin:0 0 var(--spacing-md);color:var(--color-text-primary);font-size:1.125rem}.planning-cta-button{background-color:var(--color-forest-green);color:var(--color-off-white);font-family:var(--font-body);text-transform:none;border-radius:8px;padding:.75rem 1.5rem;font-weight:600;text-decoration:none;transition:background-color .2s,transform .2s;display:inline-block}.planning-cta-button:hover{background-color:var(--color-bg-cta-hover);color:var(--color-off-white);text-decoration:none;transform:translateY(-2px)}
