/* SBD Planlar – arayüz (Ay Şeridi) */
.sbd-planlar{width:100%;max-width:100%;overflow-x:hidden;--sbdp-blue:#1B9AD9;--sbdp-blue-deep:#0F6FA3;--sbdp-red:#E1213F;--sbdp-green:#7BB933;--sbdp-ink:#1E2B3A;--sbdp-ink-2:#3C4C5E;--sbdp-muted:#66788A;--sbdp-line:#DCE5EE;--sbdp-line-2:#EDF2F7;--sbdp-paper:#F4F8FB;--sbdp-card:#FFFFFF;--sbdp-card-2:#F9FBFD;--sbdp-holiday:#FFF1D6;--sbdp-holiday-ink:#8A5A00;--sbdp-holiday-line:#F3D9A4;--sbdp-exam:#FDE7EB;--sbdp-exam-ink:#A5162D;--sbdp-lock:#EEF2F6;--sbdp-u1:#1B9AD9;--sbdp-u2:#0F6FA3;--sbdp-u3:#E1213F;--sbdp-u4:#A5162D;--sbdp-u5:#5BB8E8;--sbdp-u6:#F0546C;--sbdp-u7:#1B9AD9;
  color:var(--sbdp-ink);font-family:"Nunito Sans","Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;font-size:15px;line-height:1.5;box-sizing:border-box;margin:0 auto}
.sbd-planlar *,.sbd-planlar *::before,.sbd-planlar *::after{box-sizing:inherit}
.sbd-planlar button{font:inherit;color:inherit;cursor:pointer;line-height:1.3}
.sbd-planlar button:focus-visible,.sbd-planlar input:focus-visible,.sbd-planlar select:focus-visible{outline:3px solid var(--sbdp-blue);outline-offset:2px}
.sbd-planlar h2,.sbd-planlar h3{margin:0;font-family:"Baloo 2","Nunito Sans","Segoe UI",sans-serif;line-height:1.15;color:var(--sbdp-ink)}
.sbdp-loading{padding:34px 20px;text-align:center;color:var(--sbdp-muted);display:grid;justify-items:center;gap:12px;font-weight:700}
.sbdp-loading.sm{padding:18px 10px;gap:8px;font-size:13px}
.sbdp-loading.sm .sbdp-spin{width:36px;height:36px}
.sbdp-spin{width:72px;height:72px;border-radius:50%;background:transparent;padding:0;animation:sbdp-turn 8s linear infinite;filter:drop-shadow(0 6px 12px rgba(27,154,217,.35))}
.sbdp-loading-text{color:var(--sbdp-ink-2)}
.sbdp-dots i{display:inline-block;font-style:normal;animation:sbdp-blink 1.2s infinite}
.sbdp-dots i:nth-child(2){animation-delay:.2s}.sbdp-dots i:nth-child(3){animation-delay:.4s}
.sbdp-bar{width:180px;max-width:70%;height:6px;border-radius:999px;background:var(--sbdp-line-2);overflow:hidden;position:relative}
.sbdp-bar i{position:absolute;left:-40%;top:0;bottom:0;width:40%;border-radius:999px;background:linear-gradient(90deg,var(--sbdp-blue),var(--sbdp-red));animation:sbdp-slide 1.4s ease-in-out infinite}
@keyframes sbdp-turn{to{transform:rotate(360deg)}}
@keyframes sbdp-blink{0%,80%,100%{opacity:.2}40%{opacity:1}}
@keyframes sbdp-slide{0%{left:-40%}100%{left:100%}}
.sbdp-lisans{padding:16px;border:1px solid #f3d9a4;background:#fff1d6;border-radius:10px}

.sbdp-top{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:12px 16px;background:var(--sbdp-card);border:1px solid var(--sbdp-line);border-radius:14px;margin-bottom:16px}
.sbdp-top img{height:38px;width:auto;max-width:100%;display:block;object-fit:contain}
.sbdp-ctl{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.sbdp-chip{border:1.5px solid var(--sbdp-line);background:var(--sbdp-card);border-radius:999px;padding:6px 14px;font-weight:700;color:var(--sbdp-ink-2);transition:background .12s,border-color .12s}
.sbdp-chip:hover{border-color:var(--sbdp-blue)}
.sbdp-chip.on{background:var(--sbdp-blue);border-color:var(--sbdp-blue);color:#fff}
.sbdp-chip.red.on{background:var(--sbdp-red);border-color:var(--sbdp-red)}
.sbdp-sel{border:1.5px solid var(--sbdp-line);background:var(--sbdp-card);border-radius:10px;padding:6px 10px;font-weight:700;color:var(--sbdp-ink);font:inherit}
.sbdp-sep{width:6px}

/* --- araç çubuğu: etiketli gruplar --- */
.sbdp-top{align-items:flex-end}
.sbdp-ctl{gap:18px;align-items:flex-end}
.sbdp-grp{display:flex;flex-direction:column;gap:5px;min-width:0}
.sbdp-lbl{font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
	color:var(--sbdp-muted);padding-left:2px;white-space:nowrap}
.sbdp-grp-ic{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.sbdp-ayrac{width:1px;align-self:stretch;background:var(--sbdp-line);margin:0 2px}
.sbdp-chip.num{padding:7px 15px;min-width:40px;text-align:center;font-weight:900;font-size:15px}
/* Sınıf düğmeleri renkli: seçili olan dolu, diğerleri açık zeminde aynı renk.
   Renksiz çerçeve seçili olanı belli etmiyordu. */
.sbdp-chip.num.s5{--sc:#1B9AD9;--scs:#E4F3FC}
.sbdp-chip.num.s6{--sc:#12A48A;--scs:#E1F6F1}
.sbdp-chip.num.s7{--sc:#F08A24;--scs:#FDEEDD}
.sbdp-chip.num.s8{--sc:#7B5BC7;--scs:#EEE9F9}
.sbdp-chip.num{background:var(--scs,var(--sbdp-card));border-color:var(--sc,var(--sbdp-line));color:var(--sc,var(--sbdp-ink-2))}
.sbdp-chip.num:hover{background:#fff;box-shadow:0 0 0 3px var(--scs,transparent)}
.sbdp-chip.num.on{background:var(--sc,var(--sbdp-blue));border-color:var(--sc,var(--sbdp-blue));color:#fff;transform:scale(1.06);box-shadow:0 3px 10px -2px var(--sc,rgba(27,154,217,.38))}
.sbdp-chip.on{box-shadow:0 2px 8px rgba(27,154,217,.38)}

/* --- plan türü: sınıf haplarına benzemesin diye segment düğme --- */
.sbdp-seg{display:inline-flex;background:var(--sbdp-line-2);border:1.5px solid var(--sbdp-line);
	border-radius:999px;padding:3px;gap:3px;max-width:100%}
.sbd-planlar .sbdp-seg button{border:0;background:transparent;border-radius:999px;padding:7px 18px;
	font-weight:800;font-size:14px;color:var(--sbdp-ink-2);cursor:pointer;white-space:nowrap;
	font-family:inherit;letter-spacing:0;text-transform:none;box-shadow:none}
.sbd-planlar .sbdp-seg button:hover{color:var(--sbdp-ink)}
.sbd-planlar .sbdp-seg button.on{background:var(--sbdp-red);color:#fff;box-shadow:0 2px 6px rgba(225,33,63,.35)}

@media (max-width:560px){
	.sbdp-ctl{gap:12px}
	.sbdp-ayrac{display:none}
	.sbdp-grp:last-child{width:100%}
	.sbdp-seg{width:100%}
	.sbd-planlar .sbdp-seg button{flex:1 1 0;min-width:0;padding:8px 6px;font-size:13px;white-space:normal;line-height:1.15}
	.sbdp-chip.num{padding:6px 11px;min-width:34px}
}

.sbdp-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:18px;align-items:start;width:100%}
@media (max-width:980px){.sbdp-stage{grid-template-columns:minmax(0,1fr)}}
.sbdp-panel{background:var(--sbdp-card);border:1px solid var(--sbdp-line);border-radius:16px;padding:16px;min-width:0;max-width:100%}
.sbdp-panel h2{font-size:21px;font-weight:800;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.sbdp-panel h2 small{font-family:"Nunito Sans",sans-serif;font-size:12.5px;font-weight:700;color:var(--sbdp-muted);letter-spacing:.04em}
.sbdp-notice{margin:10px 0 0;padding:9px 12px;border-radius:10px;font-size:13px;background:var(--sbdp-holiday);color:var(--sbdp-holiday-ink);border:1px solid var(--sbdp-holiday-line)}
.sbdp-notice.info{background:#E6F4FB;color:var(--sbdp-blue-deep);border-color:#BFE3F5}
.sbdp-legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin:10px 0 4px;font-size:12.5px;color:var(--sbdp-muted)}
.sbdp-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}

.sbdp-months{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;margin-top:12px;min-width:0}
.sbdp-month{background:var(--sbdp-card-2);border:1px solid var(--sbdp-line-2);border-radius:12px;padding:8px;display:grid;gap:6px;align-content:start;min-width:0}
.sbdp-month h3{font-size:13.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--sbdp-blue-deep);padding:2px 4px 4px}
.sbdp-wk{width:100%;min-width:0;text-align:left;border:1.5px solid var(--sbdp-line);background:var(--sbdp-card);border-radius:9px;padding:7px 8px 7px 11px;position:relative;display:grid;gap:1px;transition:transform .12s,border-color .12s;margin:0}
.sbdp-wk::before{content:"";position:absolute;left:0;top:7px;bottom:7px;width:4px;border-radius:0 3px 3px 0;background:var(--uc,var(--sbdp-blue))}
.sbdp-wk:hover{border-color:var(--sbdp-blue);transform:translateY(-1px)}
.sbdp-wk.on{border-color:var(--sbdp-blue);box-shadow:0 0 0 3px rgba(27,154,217,.22)}
.sbdp-wk.now{border-color:var(--sbdp-red)}
.sbdp-wk .h{font-family:"Baloo 2","Nunito Sans",sans-serif;font-weight:800;font-size:14px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:0 6px;white-space:nowrap}
.sbdp-wk .h small{font-family:"Nunito Sans",sans-serif;font-weight:700;font-size:11.5px;color:var(--sbdp-muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.sbdp-wk .k{font-size:11.5px;color:var(--sbdp-ink-2);line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sbdp-wk .b{display:flex;gap:4px;flex-wrap:wrap;margin-top:3px}
.sbdp-wk.lock{background:var(--sbdp-lock);color:var(--sbdp-muted)}
.sbdp-wk.lock::before{background:var(--sbdp-line)}
.sbdp-wk.lock .k{color:var(--sbdp-muted)}
.sbdp-badge{font-size:10px;font-weight:800;letter-spacing:.03em;padding:1px 6px;border-radius:999px;background:var(--sbdp-line-2);color:var(--sbdp-ink-2)}
.sbdp-badge.exam{background:var(--sbdp-exam);color:var(--sbdp-exam-ink)}
.sbdp-badge.otp{background:#e9f6ee;color:#1f7a4c;border-color:#bfe3cd;font-weight:700}
.sbdp-badge.day{background:#E6F4FB;color:#0F6FA3}
.sbdp-badge.lock{background:#E2E8EF;color:#4B5A6B}
.sbdp-badge.now{background:#FDE7EB;color:#A5162D}
.sbdp-badge.dl{background:#EAF7DF;color:#3F7A12;font-variant-numeric:tabular-nums}
.sbdp-dlcount{align-self:center;font-size:12.5px;color:var(--sbdp-muted);font-variant-numeric:tabular-nums}
.sbdp-dlcount b{color:var(--sbdp-ink);font-weight:800}
#sbdp-cal h2 small .dltot{white-space:nowrap}
.sbdp-hol{border:1.5px dashed var(--sbdp-holiday-line);background:var(--sbdp-holiday);color:var(--sbdp-holiday-ink);border-radius:9px;padding:6px 9px;font-size:11.5px;font-weight:700;line-height:1.3}
.sbdp-hol small{display:block;font-weight:600;opacity:.85;font-variant-numeric:tabular-nums}
.sbdp-hol.sosyal{background:var(--sbdp-line-2);border-color:var(--sbdp-line);color:var(--sbdp-muted)}

/* Çekmece */
.sbdp-drawer{position:sticky;top:90px;min-width:0}
@media (max-width:980px){.sbdp-drawer{position:static}}
.sbdp-drawer .head{display:flex;gap:12px;align-items:center;margin-bottom:10px}
.sbdp-drawer .head img{width:46px;height:46px;border-radius:50%;background:transparent;padding:0;flex:none}
.sbdp-drawer .head h2{font-size:18px}
.sbdp-drawer .meta{font-size:12.5px;color:var(--sbdp-muted);font-weight:700}
.sbdp-ident{display:grid;gap:6px;margin:10px 0}
.sbdp-ident label{font-size:11.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--sbdp-muted);display:grid;gap:3px}
.sbdp-ident input{font:inherit;font-size:13.5px;padding:7px 10px;border:1.5px solid var(--sbdp-line);border-radius:8px;background:var(--sbdp-card-2);color:var(--sbdp-ink);width:100%;text-transform:none;font-weight:600;letter-spacing:0}
.sbdp-ident input::placeholder{color:var(--sbdp-muted);font-weight:400}
.sbdp-btns{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 12px}
.sbdp-btn{border:0;border-radius:10px;padding:9px 14px;font-weight:800;background:var(--sbdp-blue);color:#fff;display:inline-flex;gap:8px;align-items:center;text-decoration:none}
.sbdp-btn:hover{background:var(--sbdp-blue-deep);color:#fff}
.sbdp-btn.ghost{background:transparent;border:1.5px solid var(--sbdp-line);color:var(--sbdp-ink)}
.sbdp-btn.ghost:hover{background:var(--sbdp-card-2)}
.sbdp-btn.red{background:var(--sbdp-red)}
.sbdp-btn[disabled]{opacity:.55;cursor:not-allowed}
.sbdp-msg{border-radius:10px;padding:12px 14px;font-size:13.5px;margin:8px 0;border:1px solid var(--sbdp-line);background:var(--sbdp-card-2)}
.sbdp-msg.lock{background:var(--sbdp-lock)}
.sbdp-msg.err{background:var(--sbdp-exam);color:var(--sbdp-exam-ink);border-color:#F5C2CB}
.sbdp-msg b{display:block;margin-bottom:4px}
.sbdp-msg a{color:var(--sbdp-blue-deep);font-weight:700}

/* Önizleme tablosu */
.sbdp-prev{border:1px solid var(--sbdp-line);border-radius:10px;overflow:hidden;font-size:12px;max-height:60vh;overflow-y:auto}
.sbdp-prev .ph{padding:8px 10px;background:var(--sbdp-card-2);border-bottom:1px solid var(--sbdp-line);text-align:center;font-family:"Baloo 2","Nunito Sans",sans-serif;font-weight:800;font-size:13px;line-height:1.3}
.sbdp-prev table{width:100%;border-collapse:collapse;margin:0;font-size:12px;table-layout:fixed}
.sbdp-prev td{word-break:break-word;overflow-wrap:anywhere}
.sbdp-prev td{padding:5px 8px;border-top:1px solid var(--sbdp-line-2);vertical-align:top;line-height:1.35}
.sbdp-prev td:first-child{width:34%;font-weight:800;color:var(--sbdp-ink-2);background:var(--sbdp-card-2)}
.sbdp-prev td.sec{background:#D6ECF8;font-weight:800;color:#0F6FA3;letter-spacing:.04em;font-size:11.5px}
.sbdp-prev td.sec:first-child{width:auto}
.sbdp-prev ul{margin:0;padding-left:16px}
.sbdp-prev li{margin:2px 0}
.sbdp-prev p{margin:0 0 3px}
.sbdp-prev .sig{display:grid;grid-template-columns:1fr 1fr;text-align:center;padding:10px;gap:4px;font-size:12px}

/* Yazdırma: yalnızca önizleme */
@media print{
  body *{visibility:hidden}
  .sbdp-print-area,.sbdp-print-area *{visibility:visible}
  .sbdp-print-area{position:absolute;left:0;top:0;width:100%}
  .sbdp-prev{max-height:none;overflow:visible;border:0}
}
@media (prefers-reduced-motion:reduce){.sbd-planlar *{transition:none!important;animation:none!important}}

/* Instagram kilidi */
.sbdp-locker{max-width:560px;margin:10px auto;background:var(--sbdp-card);border:1px solid var(--sbdp-line);border-radius:18px;padding:30px 26px;text-align:center;display:grid;justify-items:center;gap:12px}
.sbdp-locker img{width:96px;height:96px;filter:drop-shadow(0 8px 16px rgba(27,154,217,.3))}
.sbdp-locker img.avatar{border-radius:50%;object-fit:cover;padding:3px;background:linear-gradient(135deg,var(--sbdp-blue),var(--sbdp-red));filter:none;box-shadow:0 8px 18px rgba(27,154,217,.25)}
.sbdp-locker h2{font-size:24px;font-weight:800}
.sbdp-locker p{margin:0;color:var(--sbdp-ink-2);max-width:46ch}
.sbdp-locker-btns{display:grid;gap:10px;width:100%;max-width:360px;margin-top:6px}
.sbdp-locker-btns .sbdp-btn{justify-content:center;padding:12px 16px;font-size:15px}
.sbdp-btn.insta{background:linear-gradient(90deg,var(--sbdp-blue),var(--sbdp-red));color:#fff}
.sbdp-btn.insta:hover{filter:brightness(1.06);color:#fff}
.sbdp-locker-note{font-size:12.5px;color:var(--sbdp-muted)}
.sbdp-locker-note.uyari{font-size:17px;font-weight:800;line-height:1.35;color:var(--sbdp-red);max-width:40ch;animation:sbdp-uyari 1s steps(1,end) infinite}
.sbdp-locker-note.hata{font-size:13.5px;font-weight:700;color:var(--sbdp-red)}
@keyframes sbdp-uyari{0%,49%{opacity:1}50%,100%{opacity:.35}}
.sbdp-credit{font-size:12.5px;color:var(--sbdp-muted);margin-top:6px;padding-top:10px;border-top:1px solid var(--sbdp-line-2);width:100%}
.sbdp-credit b{color:var(--sbdp-blue-deep);font-weight:800}
.sbdp-credit.foot{text-align:right;border-top:0;margin-top:12px;padding:0 6px}

/* Tema sıfırlamaları */
.sbd-planlar button.sbdp-chip,.sbd-planlar button.sbdp-wk,.sbd-planlar button.sbdp-btn{text-transform:none;letter-spacing:0;box-shadow:none;border-radius:inherit;font-family:inherit}
.sbd-planlar button.sbdp-chip{border-radius:999px}.sbd-planlar button.sbdp-wk{border-radius:9px}.sbd-planlar button.sbdp-btn{border-radius:10px}
.sbd-planlar .sbdp-ident input{box-shadow:none;height:auto;margin:0}
.sbd-planlar img{box-shadow:none;border:0}
.sbd-planlar ul{list-style:disc}

/* ---------- Okul temelli planlama adımı ---------- */
.sbd-planlar .sbdp-otp { border: 2px solid var(--sbdp-accent, #4f46e5); border-radius: 14px; overflow: hidden; margin: 14px 0 16px; max-width: 100%; min-width: 0; }
.sbd-planlar .sbdp-otp.tam { border-color: #10b981; }
.sbd-planlar .sbdp-otp.eksik { border-color: #f59e0b; }
.sbd-planlar .sbdp-otp.fazla { border-color: #ef4444; }
.sbd-planlar .otp-bas { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 11px 14px; background: var(--sbdp-accent, #4f46e5); color: #fff; }
.sbd-planlar .sbdp-otp.tam .otp-bas { background: #0e9f6e; }
.sbd-planlar .sbdp-otp.eksik .otp-bas { background: #b45309; }
.sbd-planlar .sbdp-otp.fazla .otp-bas { background: #b91c1c; }
.sbd-planlar .otp-bas .ik { font-size: 19px; flex: none; }
.sbd-planlar .otp-bas .bl { font-weight: 800; font-size: 14.5px; line-height: 1.3; }
.sbd-planlar .otp-bas .bl small { display: block; font-weight: 500; font-size: 11.5px; opacity: .88; }
.sbd-planlar .otp-bas .bl { min-width: 0; flex: 1 1 150px; }
.sbd-planlar .otp-bas .rz { margin-left: auto; font-size: 12px; font-weight: 800; background: rgba(255,255,255,.22); padding: 5px 11px; border-radius: 999px; white-space: nowrap; }
.sbd-planlar .otp-ic { padding: 12px 14px 14px; background: #fbfcff; display: grid; gap: 10px; min-width: 0; }
.sbd-planlar .otp-toplam { display: flex; align-items: center; gap: 8px; font-weight: 700; font-size: 13px; color: #334155; flex-wrap: wrap; }
.sbd-planlar .otp-toplam input { width: 72px; height: 36px; padding: 0 10px; border: 2px solid #cbd5e1; border-radius: 8px; font-weight: 800; font-size: 15px; text-align: center; background: #fff; }
.sbd-planlar .otp-satirlar { display: grid; gap: 6px; min-width: 0; }
.sbd-planlar .otp-sr { display: grid; grid-template-columns: minmax(0, 1fr) 28px; gap: 6px; padding: 7px 9px; border: 1.5px solid #e2e8f0; border-radius: 10px; background: #fff; min-width: 0; align-items: center; }
.sbd-planlar .otp-sr .ust { grid-column: 1; display: grid; grid-template-columns: minmax(0,1fr) 96px; gap: 6px; align-items: center; min-width: 0; }
.sbd-planlar .otp-sr .alt { grid-column: 1; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.5fr); gap: 6px; min-width: 0; }
.sbd-planlar .otp-sr .otp-sil { grid-row: 1; grid-column: 2; }
.sbd-planlar .otp-sr.cerceve { border-left: 4px solid #10b981; }
.sbd-planlar .otp-sr select, .sbd-planlar .otp-sr input { height: 36px; width: 100%; min-width: 0; max-width: 100%; padding: 0 8px; border: 1.5px solid #cbd5e1; border-radius: 8px; background: #fff; font-size: 13px; color: #1e293b; }
.sbd-planlar .otp-sil { width: 28px; height: 28px; border: 0; border-radius: 50%; background: none; color: #94a3b8; font-size: 15px; cursor: pointer; line-height: 1; }
.sbd-planlar .otp-sil:hover { background: #fee2e2; color: #dc2626; }
.sbd-planlar .otp-araclar { display: flex; gap: 8px; flex-wrap: wrap; }
.sbd-planlar .sbdp-btn.small { padding: 7px 13px; font-size: 12.5px; }
.sbd-planlar .sbdp-btn.alt { background: #b45309; }
.sbd-planlar .otp-kaynak { margin: -4px 0 0; padding: 8px 11px; border-left: 3px solid #94a3b8; background: #f1f5f9; border-radius: 0 8px 8px 0; font-size: 12px; line-height: 1.5; color: #475569; }
.sbd-planlar .otp-not { margin: 0; font-size: 12px; line-height: 1.5; color: #64748b; }
.sbd-planlar .otp-not .cr { color: #0e9f6e; }
/* Satırlar her zaman iki katlı: çekmece dar bir sütun olduğu için ekran
   genişliğine bakan bir kural burada yanıltıcı oluyordu. */
@media (max-width: 420px) {
  .sbd-planlar .otp-sr .alt { grid-template-columns: minmax(0,1fr); }
}

/* ---------- Günlük / Yıllık kaydırmalı seçici ---------- */
.sbd-planlar .sbdp-mod { margin: 0 0 18px; display: flex; justify-content: center; }
.sbd-planlar .sbdp-switch { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 0;
  width: min(560px, 100%); padding: 6px; border-radius: 999px; background: var(--sbdp-line-2);
  border: 1.5px solid var(--sbdp-line); box-shadow: inset 0 1px 3px rgba(15,23,42,.08); }
.sbd-planlar .sbdp-switch:focus-visible { outline: 3px solid var(--sbdp-blue); outline-offset: 3px; }
/* Kayan kısım: iki yarımın biri kadar geniş, seçime göre sağa kayıyor. */
.sbd-planlar .sbdp-thumb { position: absolute; z-index: 0; top: 6px; bottom: 6px; left: 6px; width: calc(50% - 6px);
  border-radius: 999px; background: linear-gradient(135deg, var(--sbdp-red), #a8102a); box-shadow: 0 4px 14px -4px rgba(225,33,63,.55);
  transition: transform .26s cubic-bezier(.4,.9,.3,1); }
.sbd-planlar .sbdp-mod[data-tur="yillik"] .sbdp-thumb { transform: translateX(100%); background: linear-gradient(135deg, #1f6feb, #0b4aa2); box-shadow: 0 4px 14px -4px rgba(31,111,235,.55); }
.sbd-planlar .sbdp-switch button { position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; gap: 9px;
  border: 0; background: transparent; border-radius: 999px; padding: 11px 12px; cursor: pointer;
  color: var(--sbdp-muted); font-family: inherit; transition: color .2s; min-width: 0; }
.sbd-planlar .sbdp-switch button .ik { font-size: 20px; line-height: 1; flex: none; }
.sbd-planlar .sbdp-switch button .tx { min-width: 0; text-align: left; }
.sbd-planlar .sbdp-switch button b { display: block; font-size: 15px; font-weight: 800; line-height: 1.2; }
.sbd-planlar .sbdp-switch button small { display: block; font-size: 11.5px; font-weight: 600; opacity: .8; line-height: 1.3; }
.sbd-planlar .sbdp-switch button[aria-checked="true"] { color: #fff; }
.sbd-planlar .sbdp-switch button[aria-checked="false"]:hover { color: var(--sbdp-ink); }
@media (prefers-reduced-motion: reduce) { .sbd-planlar .sbdp-thumb { transition: none; } }
@media (max-width: 520px) {
  .sbd-planlar .sbdp-switch button { flex-direction: column; gap: 3px; padding: 9px 6px; }
  .sbd-planlar .sbdp-switch button .tx { text-align: center; }
  .sbd-planlar .sbdp-switch button b { font-size: 13.5px; }
  .sbd-planlar .sbdp-switch button small { display: none; }
}

/* ---------- Seçime göre sahne ----------
   Yıllıkta takvim gizlenir; yıllık paneli dar bir çekmece olmaktan çıkıp
   ekranın tamamına yayılır. Okul temelli planlama satırları da sıkışmaz. */
.sbd-planlar .sbdp-stage[data-tur="yillik"] { grid-template-columns: minmax(0, 1fr); }
.sbd-planlar .sbdp-stage[data-tur="yillik"] #sbdp-cal { display: none; }
.sbd-planlar .sbdp-stage[data-tur="yillik"] .sbdp-drawer { position: static; max-width: 980px; margin: 0 auto; width: 100%; }
.sbd-planlar .sbdp-stage[data-tur="yillik"] .otp-sr { grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr) 28px; }
.sbd-planlar .sbdp-stage[data-tur="yillik"] .otp-sr .alt { grid-column: 2; }
.sbd-planlar .sbdp-stage[data-tur="yillik"] .otp-sr .otp-sil { grid-column: 3; }
.sbd-planlar .sbdp-stage[data-tur="yillik"] .otp-ic { padding: 14px 18px 16px; }
@media (max-width: 700px) {
  .sbd-planlar .sbdp-stage[data-tur="yillik"] .otp-sr { grid-template-columns: minmax(0, 1fr) 28px; }
  .sbd-planlar .sbdp-stage[data-tur="yillik"] .otp-sr .alt { grid-column: 1; }
  .sbd-planlar .sbdp-stage[data-tur="yillik"] .otp-sr .otp-sil { grid-row: 1; grid-column: 2; }
}

/* ---------- Üst şerit: yıl ve sınıf seçimi ortada ----------
   Logo solda marka işareti olarak kalıyor; yıl/sınıf seçimi sayfanın tam
   ortasına, hemen altındaki günlük/yıllık anahtarıyla aynı eksene oturuyor.
   Üç sütunlu ızgara: logo | seçimler | logoyla eşit boş sütun. */
.sbd-planlar .sbdp-top { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; justify-content: initial; }
.sbd-planlar .sbdp-top img { grid-column: 1; justify-self: start; }
.sbd-planlar .sbdp-ctl { grid-column: 2; justify-self: center; justify-content: center; align-items: flex-end; }
.sbd-planlar .sbdp-top::after { content: ""; grid-column: 3; }

/* Dar ekranda üç sütun sıkışıyor: logo üstte, seçimler altında ortalanır. */
@media (max-width: 860px) {
  .sbd-planlar .sbdp-top { grid-template-columns: minmax(0, 1fr); justify-items: center; gap: 12px; }
  .sbd-planlar .sbdp-top img { grid-column: 1; justify-self: center; }
  .sbd-planlar .sbdp-ctl { grid-column: 1; }
  .sbd-planlar .sbdp-top::after { display: none; }
}
@media (max-width: 560px) {
  .sbd-planlar .sbdp-grp:last-child { width: auto; }
  .sbd-planlar .sbdp-grp { align-items: center; }
  .sbd-planlar .sbdp-grp-ic { justify-content: center; }
}

/* ==========================================================
   TELEFON DÜZENİ
   Daha önce "yatay taşma yok" ile yetinilmişti; taşmamak yeterli değil.
   Telefonda ay şeridi iki sütuna sıkışıyor, hafta kartlarının konusu
   "Gruplar ve Rollerimiz ·…" diye kırpılıyor ve dokunma hedefleri
   34-36 piksele düşüyordu.
   ========================================================== */
@media (max-width: 620px) {
  /* Aylar tek sütun: hafta kartı ekran genişliğinde, konu okunur. */
  .sbd-planlar .sbdp-months { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .sbd-planlar .sbdp-wk { padding: 10px 12px 10px 14px; }
  .sbd-planlar .sbdp-wk .h { font-size: 15px; }
  .sbd-planlar .sbdp-wk .k { font-size: 12.5px; -webkit-line-clamp: 3; }
  .sbd-planlar .sbdp-wk .b { margin-top: 5px; }
  .sbd-planlar .sbdp-badge { font-size: 10.5px; padding: 2px 7px; }

  /* Parmakla basılabilir hedefler: en az 44 piksel. */
  .sbd-planlar .sbdp-sel { min-height: 44px; padding: 8px 12px; font-size: 16px; }
  .sbd-planlar .sbdp-chip.num { min-height: 44px; min-width: 44px; padding: 8px 14px; font-size: 16px; }
  .sbd-planlar .sbdp-drawer input,
  .sbd-planlar .otp-sr select,
  .sbd-planlar .otp-sr input,
  .sbd-planlar .otp-toplam input { min-height: 44px; font-size: 16px; }
  .sbd-planlar .otp-sil { width: 40px; height: 40px; font-size: 18px; }
  .sbd-planlar .sbdp-btn { min-height: 46px; }
  .sbd-planlar .sbdp-btn.small { min-height: 40px; }
  .sbd-planlar .sbdp-switch button { min-height: 52px; }

  /* iOS Safari, 16px altı yazı tipinde alana dokununca sayfayı yakınlaştırır. */
  .sbd-planlar select, .sbd-planlar input, .sbd-planlar textarea { font-size: 16px; }
}

/* Dokunmatik cihazlarda hedef boyutu ekran genişliğine değil, giriş türüne
   bağlı olmalı: 768px'lik bir tablet de parmakla kullanılıyor. */
@media (pointer: coarse) {
  .sbd-planlar .sbdp-sel { min-height: 44px; padding: 8px 12px; font-size: 16px; }
  .sbd-planlar .sbdp-chip.num { min-height: 44px; min-width: 44px; font-size: 16px; }
  /* 16px'i burada da tek tek yazmak gerekiyor: aşağıdaki genel kuralın
     özgüllüğü bu seçicilerin (ör. .sbdp-drawer input) altında kalıyor ve
     alan 13-15px'te kalırsa iOS Safari dokununca sayfayı yakınlaştırıyor. */
  .sbd-planlar .sbdp-drawer input,
  .sbd-planlar .otp-sr select,
  .sbd-planlar .otp-sr input,
  .sbd-planlar .otp-toplam input { min-height: 44px; font-size: 16px; }
  .sbd-planlar .otp-sil { width: 40px; height: 40px; }
  .sbd-planlar .sbdp-btn { min-height: 46px; }
  .sbd-planlar .sbdp-btn.small { min-height: 40px; }
  .sbd-planlar .sbdp-switch button { min-height: 52px; }
  .sbd-planlar select, .sbd-planlar input, .sbd-planlar textarea { font-size: 16px; }
}

/* ---------- Zümre öğretmeni sayısı ve adları ---------- */
.sbd-planlar .ogr-blok { display: grid; gap: 8px; padding: 11px 12px; background: var(--sbdp-card-2);
  border: 1.5px solid var(--sbdp-line-2); border-radius: 12px; }
.sbd-planlar .ogr-bas { display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
  font-size: 12.5px; font-weight: 800; color: var(--sbdp-ink-2); }
.sbd-planlar .ogr-sayac { margin-left: auto; display: inline-flex; align-items: center; gap: 4px;
  background: var(--sbdp-card); border: 1.5px solid var(--sbdp-line); border-radius: 999px; padding: 3px; }
.sbd-planlar .ogr-sayac button { width: 32px; height: 32px; border: 0; border-radius: 50%; background: transparent;
  font-size: 19px; font-weight: 800; line-height: 1; color: var(--sbdp-blue); cursor: pointer; }
.sbd-planlar .ogr-sayac button:hover { background: var(--sbdp-line-2); }
.sbd-planlar .ogr-sayac .ogr-n { min-width: 26px; text-align: center; font-size: 15px; font-weight: 900; color: var(--sbdp-ink); }
.sbd-planlar .ogr-adlar { display: grid; gap: 7px; }
.sbd-planlar .ogr-not { margin: 0; font-size: 11.5px; line-height: 1.45; color: var(--sbdp-muted); }

/* Yıllık plandaki imza şeridinin küçük önizlemesi */
.sbd-planlar .ogr-on { margin-top: 2px; padding: 9px 10px 11px; background: var(--sbdp-card);
  border: 1.5px dashed var(--sbdp-line); border-radius: 10px; }
.sbd-planlar .ogr-on .bas { display: block; font-size: 10.5px; font-weight: 800; letter-spacing: .05em;
  text-transform: uppercase; color: var(--sbdp-muted); margin-bottom: 7px; }
.sbd-planlar .ogr-sira { display: flex; flex-wrap: wrap; justify-content: space-around; gap: 9px 14px; text-align: center; }
.sbd-planlar .ogr-sira span { display: grid; gap: 1px; }
.sbd-planlar .ogr-sira b { font-size: 12px; }
.sbd-planlar .ogr-sira small { font-size: 10px; color: var(--sbdp-muted); }
.sbd-planlar .ogr-on .mudur { display: grid; gap: 1px; justify-items: center; width: 140px;
  margin: 12px 0 0 auto; text-align: center; font-size: 12px; }
.sbd-planlar .ogr-on .mudur small { font-size: 10px; color: var(--sbdp-muted); }
@media (pointer: coarse) { .sbd-planlar .ogr-sayac button { width: 40px; height: 40px; } }
