.schedule-page{padding:var(--section-gap) 0;background:var(--mn-bg)}

.filter-panel{background:rgba(42,42,46,0.5);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,0.06);border-radius:var(--mn-r-20);padding:24px 28px;margin-bottom:32px}
.filter-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.filter-group{display:flex;flex-direction:column;gap:6px;flex:1;min-width:160px}
.filter-group label{font-size:.75rem;font-weight:600;color:var(--mn-text-060);letter-spacing:.04em;text-transform:uppercase}
.filter-group select,.filter-group input{width:100%;padding:10px 14px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:var(--mn-r-12);color:var(--mn-text);font-family:var(--font-body);font-size:.875rem;transition:border-color .2s;appearance:none}
.filter-group select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}
.filter-group select:focus,.filter-group input:focus{outline:none;border-color:var(--mn-primary)}
.filter-group select option{background:var(--mn-card);color:var(--mn-text)}
.filter-count{font-size:.8125rem;color:var(--mn-muted);padding:0 4px}
.filter-reset{display:none;align-items:center;gap:6px;font-size:.8125rem;color:var(--mn-primary);background:none;border:none;cursor:pointer;padding:8px 16px;border-radius:var(--mn-r-full);border:1px solid rgba(205,149,245,0.2);transition:all .2s}
.filter-reset:hover{background:rgba(205,149,245,0.1);border-color:var(--mn-primary)}
.filter-reset.visible{display:inline-flex}

.schedule-table-wrap{overflow-x:auto;border-radius:var(--mn-r-16);border:1px solid rgba(255,255,255,0.06);margin-bottom:var(--section-gap)}
.schedule-table{width:100%;border-collapse:collapse;font-size:.875rem}
.schedule-table thead{background:rgba(42,42,46,0.8)}
.schedule-table th{padding:14px 20px;text-align:left;font-weight:600;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--mn-text-060);border-bottom:1px solid rgba(255,255,255,0.06);white-space:nowrap}
.schedule-table td{padding:14px 20px;border-bottom:1px solid rgba(255,255,255,0.04);color:var(--mn-text);vertical-align:middle}
.schedule-table tbody tr{transition:background .2s}
.schedule-table tbody tr:hover{background:rgba(205,149,245,0.04)}
.schedule-table .disc-name{font-weight:600;color:var(--mn-text)}
.schedule-table .disc-tag{display:inline-block;font-size:.6875rem;font-weight:600;letter-spacing:.04em;padding:3px 10px;border-radius:var(--mn-r-full);background:rgba(205,149,245,0.12);color:var(--mn-primary);margin-top:4px}
.schedule-table .age-badge{font-size:.75rem;color:var(--mn-text-060)}
.schedule-table .time-cell{font-variant-numeric:tabular-nums;font-weight:500}
.schedule-empty{text-align:center;padding:48px 24px;color:var(--mn-muted)}
.schedule-empty i{font-size:2rem;display:block;margin-bottom:12px;color:var(--mn-text-040)}

.cta{padding:var(--section-gap) 0;background:var(--mn-bg)}
.cta-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.cta-text h2{font-family:var(--font-display);font-size:clamp(1.75rem,3.5vw,2.75rem);font-weight:700;line-height:1.2;letter-spacing:-.02em;margin-bottom:16px}
.cta-text p{color:var(--mn-text-060);margin-bottom:28px;line-height:1.7}
.cta-perks{list-style:none;display:grid;gap:12px}
.cta-perks li{display:flex;align-items:center;gap:10px;font-size:.9375rem;color:var(--mn-text-060)}
.cta-perks li i{color:var(--mn-primary);font-size:1.125rem}
.cta-form{background:rgba(42,42,46,0.6);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,0.06);border-radius:var(--mn-r-24);padding:40px}
.cta-form h3{font-family:var(--font-display);font-size:1.25rem;font-weight:700;margin-bottom:24px}
.form-group{margin-bottom:16px}
.form-group label{display:block;font-size:.8125rem;font-weight:600;color:var(--mn-text-060);margin-bottom:6px}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px 16px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:var(--mn-r-12);color:var(--mn-text);font-family:var(--font-body);font-size:.9375rem;transition:border-color .2s}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--mn-primary)}
.form-group input::placeholder,.form-group textarea::placeholder{color:var(--mn-muted)}
.form-group select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}
.form-group select option{background:var(--mn-card);color:var(--mn-text)}

@media(max-width:1024px){
  .cta-grid{grid-template-columns:1fr;gap:40px}
  .filter-row{flex-direction:column}
  .filter-group{min-width:100%}
}
.schedule-detail-panel{padding:0 0 var(--section-gap);display:none}
.detail-card{background:rgba(42,42,46,0.6);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,0.06);border-radius:var(--mn-r-24);padding:40px;position:relative;overflow:hidden}
.detail-close{position:absolute;top:16px;right:16px;width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,0.08);background:rgba(255,255,255,0.04);color:var(--mn-muted);cursor:pointer;display:grid;place-items:center;font-size:1.125rem;transition:all .2s;z-index:2}
.detail-close:hover{background:rgba(255,255,255,0.1);color:var(--mn-text)}
.detail-grid{display:grid;grid-template-columns:1fr 280px;gap:40px;align-items:start}
.detail-info .section-label{margin-bottom:8px}
.detail-info h2{font-family:var(--font-display);font-size:clamp(1.5rem,3vw,2.25rem);font-weight:700;line-height:1.2;letter-spacing:-.02em;margin-bottom:20px}
.detail-meta{display:flex;gap:12px;margin-bottom:24px;flex-wrap:wrap}
.detail-tag{display:inline-block;font-size:.75rem;font-weight:600;padding:5px 14px;border-radius:var(--mn-r-full);background:rgba(255,255,255,0.06);color:var(--mn-text-060);letter-spacing:.04em}
.detail-tag--accent{background:rgba(205,149,245,0.12);color:var(--mn-primary)}
.detail-row{display:flex;align-items:center;gap:12px;font-size:.9375rem;color:var(--mn-text-060);margin-bottom:14px;line-height:1.5}
.detail-row i{color:var(--mn-primary);font-size:1.125rem;flex-shrink:0}
.detail-desc{margin:24px 0;padding:20px 0;border-top:1px solid rgba(255,255,255,0.06);border-bottom:1px solid rgba(255,255,255,0.06)}
.detail-desc p{color:var(--mn-text-060);line-height:1.7;font-size:.9375rem}
.detail-info .btn-cta{margin-top:8px}
.detail-teacher-card{background:rgba(255,255,255,0.03);border-radius:var(--mn-r-16);padding:24px;text-align:center;border:1px solid rgba(255,255,255,0.04)}
.detail-teacher-photo{width:80px;height:80px;border-radius:50%;margin:0 auto 16px;background:rgba(205,149,245,0.08);display:grid;place-items:center;overflow:hidden}
.detail-teacher-card h3{font-family:var(--font-display);font-size:1.125rem;font-weight:700;margin-bottom:8px}
.detail-teacher-bio{font-size:.8125rem;color:var(--mn-muted);line-height:1.6}

.schedule-row{cursor:pointer;transition:background .2s}
.schedule-row:hover{background:rgba(205,149,245,0.06)!important}

.popup-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.6);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:9998;opacity:0;pointer-events:none;transition:opacity .3s}
.popup-overlay.visible{opacity:1;pointer-events:auto}
.popup-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.92);z-index:9999;width:min(720px,calc(100vw - 32px));max-height:calc(100vh - 40px);overflow-y:auto;background:var(--mn-card);border:1px solid rgba(255,255,255,0.08);border-radius:var(--mn-r-24);padding:0;opacity:0;pointer-events:none;transition:all .3s cubic-bezier(.22,1,.36,1);box-shadow:0 24px 64px rgba(0,0,0,.45)}
.popup-modal.visible{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1);box-shadow:0 24px 64px rgba(0,0,0,.45)}
.popup-close{position:absolute;top:16px;right:16px;width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,0.08);background:rgba(255,255,255,0.04);color:var(--mn-muted);cursor:pointer;display:grid;place-items:center;font-size:1.125rem;transition:all .2s;z-index:2}
.popup-close:hover{background:rgba(255,255,255,0.1);color:var(--mn-text)}
.popup-body{display:grid;grid-template-columns:1fr 240px;gap:0}
.popup-main{padding:36px 32px}
.popup-label{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--mn-primary);margin-bottom:8px}
.popup-title{font-family:var(--font-display);font-size:clamp(1.25rem,2.5vw,1.75rem);font-weight:700;line-height:1.2;letter-spacing:-.02em;margin-bottom:20px;color:var(--mn-text)}
.popup-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.popup-tag{display:inline-flex;align-items:center;gap:6px;font-size:.8125rem;font-weight:500;padding:6px 14px;border-radius:var(--mn-r-full);background:rgba(255,255,255,0.05);color:var(--mn-text-060);letter-spacing:.02em}
.popup-tag i{font-size:1rem;color:var(--mn-primary)}
.popup-tag--price{background:rgba(205,149,245,0.1);color:var(--mn-primary);font-weight:700}
.popup-desc{padding:20px 0;border-top:1px solid rgba(255,255,255,0.06);margin-bottom:20px}
.popup-desc p{color:var(--mn-text-060);line-height:1.7;font-size:.9375rem;margin:0}
.popup-main .btn-cta{width:100%}
.popup-teacher{padding:36px 28px;text-align:center;background:rgba(255,255,255,0.02);border-left:1px solid rgba(255,255,255,0.06)}
.popup-teacher-photo{width:100px;height:100px;border-radius:50%;margin:0 auto 16px;overflow:hidden;background:rgba(205,149,245,0.08);display:grid;place-items:center}
.popup-teacher-photo img{width:100%;height:100%;object-fit:cover}
.popup-teacher-photo i{font-size:2rem;color:var(--mn-text-030)}
.popup-teacher h3{font-family:var(--font-display);font-size:1.125rem;font-weight:700;margin-bottom:4px;color:var(--mn-text)}
.popup-teacher-pos{font-size:.8125rem;color:var(--mn-primary);margin-bottom:12px;font-weight:500}
.popup-teacher-bio{font-size:.8125rem;color:var(--mn-muted);line-height:1.6}

@media(max-width:768px){
  .filter-row{flex-direction:column}
  .filter-group{min-width:100%}
  .schedule-table{font-size:.8125rem}
  .schedule-table th,.schedule-table td{padding:10px 12px;white-space:nowrap}
  .popup-modal{width:calc(100vw - 16px);max-height:calc(100vh - 16px);border-radius:20px;overflow:hidden}
  .popup-body{display:flex;flex-direction:column;overflow:hidden}
  .popup-main{padding:20px 16px 16px;overflow:hidden}
  .popup-teacher{display:flex;align-items:center;gap:12px;padding:12px 16px;border-left:none;border-top:1px solid rgba(255,255,255,0.06);background:rgba(255,255,255,0.02);order:-1}
  .popup-teacher-photo{width:40px;height:40px;margin:0;flex-shrink:0;border-radius:50%}
  .popup-teacher h3{font-size:.875rem;margin:0}
  .popup-teacher-pos{font-size:.75rem}
  .popup-teacher-bio{display:none}
  .popup-title{font-size:1.125rem;line-height:1.3;margin-bottom:12px}
  .popup-meta{gap:6px;margin-bottom:16px}
  .popup-tag{font-size:.75rem;padding:4px 10px}
  .popup-desc{padding:12px 0;margin-bottom:12px}
  .popup-desc p{font-size:.8125rem}
  .popup-close{top:8px;right:8px;width:32px;height:32px;font-size:1rem}
  .detail-grid{grid-template-columns:1fr;gap:16px}
  .detail-card{padding:16px;margin:0 -8px;border-radius:var(--mn-r-16)}
  .detail-teacher-card{order:-1}
}