/* 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; } }

/* ================================================================ 1.11.0 · Ay kartları */
.sbd-planlar .sbdp-months{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;align-items:start}
.sbd-planlar .sbdp-month{padding:0;gap:0;background:var(--sbdp-card);border:1.5px solid var(--sbdp-line);border-radius:14px;overflow:hidden;transition:border-color .15s,box-shadow .15s}
.sbd-planlar .sbdp-month:hover{border-color:var(--sbdp-blue)}
.sbd-planlar .sbdp-month.bu-ay{border-color:var(--sbdp-red)}
.sbd-planlar .sbdp-month.acik{grid-column:1/-1;border-color:var(--sbdp-blue);box-shadow:0 6px 18px -8px rgba(15,111,163,.35)}
.sbd-planlar .sbdp-ay-bas{all:unset;box-sizing:border-box;width:100%;display:flex;align-items:center;gap:12px;padding:12px 12px 12px 14px;cursor:pointer;text-align:left;font:inherit;color:var(--sbdp-ink)}
.sbd-planlar .sbdp-ay-bas:focus-visible{outline:3px solid var(--sbdp-blue);outline-offset:-3px;border-radius:12px}
.sbd-planlar .sbdp-ay-yazi{flex:1;min-width:0;display:grid;gap:3px}
.sbd-planlar .sbdp-ay-ad{font-family:"Baloo 2","Nunito Sans",sans-serif;font-size:19px;line-height:1.1;color:var(--sbdp-blue-deep);display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px}
.sbd-planlar .sbdp-ay-ad b{font-weight:800;text-transform:uppercase;letter-spacing:.03em}
.sbd-planlar .sbdp-ay-ad .sbdp-badge{font-family:"Nunito Sans",sans-serif;font-style:normal}
.sbd-planlar .sbdp-ay-ozet{font-size:12.5px;font-weight:700;color:var(--sbdp-muted)}
.sbd-planlar .sbdp-ay-renk{display:flex;gap:4px;flex-wrap:wrap}
.sbd-planlar .sbdp-ay-renk i{width:22px;height:6px;border-radius:3px;display:block}
/* yanıp sönen + */
.sbd-planlar .sbdp-ay-arti{flex:none;width:42px;height:42px;border-radius:50%;background:var(--sbdp-blue);position:relative;box-shadow:0 0 0 0 rgba(27,154,217,.55);animation:sbdp-nabiz 1.5s ease-out infinite}
.sbd-planlar .sbdp-ay-arti::before,.sbd-planlar .sbdp-ay-arti::after{content:"";position:absolute;left:50%;top:50%;background:#fff;border-radius:2px;transform:translate(-50%,-50%);transition:transform .2s}
.sbd-planlar .sbdp-ay-arti::before{width:18px;height:3.5px}
.sbd-planlar .sbdp-ay-arti::after{width:3.5px;height:18px;animation:sbdp-yanip 1.5s ease-in-out infinite}
.sbd-planlar .sbdp-month.bu-ay .sbdp-ay-arti{background:var(--sbdp-red);box-shadow:0 0 0 0 rgba(225,33,63,.5);animation-name:sbdp-nabiz-k}
.sbd-planlar .sbdp-month.acik .sbdp-ay-arti{background:var(--sbdp-ink-2);animation:none;box-shadow:none}
.sbd-planlar .sbdp-month.acik .sbdp-ay-arti::after{transform:translate(-50%,-50%) scaleY(0);animation:none}
@keyframes sbdp-nabiz{0%{box-shadow:0 0 0 0 rgba(27,154,217,.55)}70%{box-shadow:0 0 0 12px rgba(27,154,217,0)}100%{box-shadow:0 0 0 0 rgba(27,154,217,0)}}
@keyframes sbdp-nabiz-k{0%{box-shadow:0 0 0 0 rgba(225,33,63,.5)}70%{box-shadow:0 0 0 12px rgba(225,33,63,0)}100%{box-shadow:0 0 0 0 rgba(225,33,63,0)}}
@keyframes sbdp-yanip{0%,100%{opacity:1}50%{opacity:.25}}
.sbd-planlar .sbdp-ay-ic{display:none;padding:4px 12px 12px;gap:8px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.sbd-planlar .sbdp-month.acik .sbdp-ay-ic{display:grid;border-top:1px solid var(--sbdp-line-2);padding-top:12px;background:var(--sbdp-card-2)}
.sbd-planlar .sbdp-gizli{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.sbd-planlar .sbdp-month.acik .sbdp-wk .k{-webkit-line-clamp:3}

/* ================================================================ 1.11.0 · telefonda Bilgilerim kartı */
.sbd-planlar .sbdp-bilgi{margin:12px 0 4px;border:2px solid var(--sbdp-blue);border-radius:14px;background:#E9F6FD;overflow:hidden}
.sbd-planlar .sbdp-bilgi.tamam{border-color:var(--sbdp-line);background:var(--sbdp-card-2)}
.sbd-planlar .sbdp-bilgi-bas{all:unset;box-sizing:border-box;width:100%;display:flex;align-items:center;gap:10px;padding:12px 14px;cursor:pointer;font:inherit;color:var(--sbdp-ink)}
.sbd-planlar .sbdp-bilgi-bas:focus-visible{outline:3px solid var(--sbdp-blue);outline-offset:-3px}
.sbd-planlar .sbdp-bilgi-ik{flex:none;width:38px;height:38px;border-radius:50%;background:var(--sbdp-blue);color:#fff;display:grid;place-items:center}
.sbd-planlar .sbdp-bilgi.tamam .sbdp-bilgi-ik{background:var(--sbdp-green)}
.sbd-planlar .sbdp-bilgi-ik svg{width:22px;height:22px}
.sbd-planlar .sbdp-bilgi-yazi{flex:1;min-width:0;display:grid;gap:1px}
.sbd-planlar .sbdp-bilgi-yazi b{font-size:16px;font-weight:800}
.sbd-planlar .sbdp-bilgi-yazi small{font-size:12.5px;font-weight:700;color:var(--sbdp-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sbd-planlar .sbdp-bilgi-dg{flex:none;font-size:13px;font-weight:800;color:var(--sbdp-blue-deep);border:1.5px solid var(--sbdp-line);background:#fff;border-radius:999px;padding:6px 12px}
.sbd-planlar .sbdp-bilgi-ic{display:none;padding:0 14px 14px}
.sbd-planlar .sbdp-bilgi.acik .sbdp-bilgi-ic{display:block}
.sbd-planlar .sbdp-bilgi-not{margin:0 0 4px;font-size:12.5px;color:var(--sbdp-ink-2)}
.sbd-planlar .sbdp-bilgi .sbdp-ident{margin:6px 0 10px}
.sbd-planlar .sbdp-bilgi .sbdp-ident input{font-size:16px;padding:10px 12px;background:#fff}
.sbd-planlar .sbdp-bilgi-tamam{width:100%;justify-content:center;padding:12px 14px;font-size:15px}
.sbd-planlar .sbdp-geri-sat{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:2px 0 10px}
.sbd-planlar .sbdp-geri-not{font-size:12.5px;color:var(--sbdp-ink-2)}
@media (max-width:560px){
  .sbd-planlar .sbdp-ay-ad{font-size:18px}
  .sbd-planlar .sbdp-ay-ic{grid-template-columns:minmax(0,1fr);padding:10px}
}

/* ================================================================ 1.11.1 · geçiş efektleri */
/* Günlük / Yıllık anahtarı: telefondaki aç-kapat düğmeleri gibi yaylanarak kayar, kayarken hafifçe uzar */
.sbd-planlar .sbdp-thumb{transition:transform .46s cubic-bezier(.34,1.45,.55,1),box-shadow .3s;overflow:hidden;background:linear-gradient(135deg,var(--sbdp-red),#a8102a)}
.sbd-planlar .sbdp-thumb::after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(135deg,#1f6feb,#0b4aa2);opacity:0;transition:opacity .35s ease}
.sbd-planlar .sbdp-mod[data-tur="yillik"] .sbdp-thumb{background:linear-gradient(135deg,var(--sbdp-red),#a8102a)}
.sbd-planlar .sbdp-mod[data-tur="yillik"] .sbdp-thumb::after{opacity:1}
.sbd-planlar .sbdp-switch.kayiyor .sbdp-thumb{animation:sbdp-uzan .46s cubic-bezier(.34,1.2,.55,1)}
@keyframes sbdp-uzan{0%{scale:1 1}35%{scale:1.1 .9}70%{scale:.97 1.03}100%{scale:1 1}}
.sbd-planlar .sbdp-switch button{transition:color .25s,transform .15s}
.sbd-planlar .sbdp-switch button:active{transform:scale(.96)}
.sbd-planlar .sbdp-switch button .ik{transition:transform .35s cubic-bezier(.34,1.6,.55,1)}
.sbd-planlar .sbdp-switch button[aria-checked="true"] .ik{transform:scale(1.18) rotate(-6deg)}
.sbd-planlar .sbdp-switch.kayiyor button[aria-checked="true"] .ik{animation:sbdp-zipla .5s cubic-bezier(.34,1.6,.55,1)}
@keyframes sbdp-zipla{0%{transform:scale(.7)}60%{transform:scale(1.3) rotate(-8deg)}100%{transform:scale(1.18) rotate(-6deg)}}
/* İçerik yandan süzülerek gelir: yıllığa geçince sağdan, günlüğe dönünce soldan */
.sbd-planlar .sbdp-stage.gir-sag>*{animation:sbdp-gir-sag .5s cubic-bezier(.2,.8,.2,1) both}
.sbd-planlar .sbdp-stage.gir-sol>*{animation:sbdp-gir-sol .5s cubic-bezier(.2,.8,.2,1) both}
.sbd-planlar .sbdp-stage.gir-sol>*:nth-child(2){animation-delay:.06s}
@keyframes sbdp-gir-sag{from{opacity:0;transform:translateX(40px)}to{opacity:1;transform:none}}
@keyframes sbdp-gir-sol{from{opacity:0;transform:translateX(-40px)}to{opacity:1;transform:none}}
/* Ay kartı açılınca haftalar sırayla süzülür; + işareti döner */
.sbd-planlar .sbdp-ay-arti::before,.sbd-planlar .sbdp-ay-arti::after{transition:transform .3s cubic-bezier(.34,1.45,.55,1)}
.sbd-planlar .sbdp-ay-arti{transition:background .25s,transform .3s cubic-bezier(.34,1.45,.55,1)}
.sbd-planlar .sbdp-month.acik .sbdp-ay-arti{transform:rotate(180deg)}
.sbd-planlar .sbdp-ay-bas:active .sbdp-ay-arti{transform:scale(.9)}
.sbd-planlar .sbdp-month.acik .sbdp-ay-ic{animation:sbdp-ac .35s ease both}
.sbd-planlar .sbdp-month.acik .sbdp-ay-ic>*{animation:sbdp-kay .4s cubic-bezier(.2,.8,.2,1) both}
.sbd-planlar .sbdp-month.acik .sbdp-ay-ic>*:nth-child(2){animation-delay:.05s}
.sbd-planlar .sbdp-month.acik .sbdp-ay-ic>*:nth-child(3){animation-delay:.1s}
.sbd-planlar .sbdp-month.acik .sbdp-ay-ic>*:nth-child(4){animation-delay:.15s}
.sbd-planlar .sbdp-month.acik .sbdp-ay-ic>*:nth-child(5){animation-delay:.2s}
.sbd-planlar .sbdp-month.acik .sbdp-ay-ic>*:nth-child(n+6){animation-delay:.25s}
@keyframes sbdp-ac{from{opacity:0}to{opacity:1}}
@keyframes sbdp-kay{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
/* Bilgilerim kartı açılırken */
.sbd-planlar .sbdp-bilgi.acik .sbdp-bilgi-ic{animation:sbdp-kay .35s cubic-bezier(.2,.8,.2,1) both}
/* Hata kutusundaki düğmeler ve uygulama içi uyarısı */
.sbd-planlar .sbdp-hata-dg{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.sbd-planlar .sbdp-msg.uyari{background:#FFF6E0;border-color:#F3D9A4;color:#6B4600}
.sbd-planlar .sbdp-msg.uyari>b:first-child{display:block;margin-bottom:2px}
.sbd-planlar .sbdp-msg.uyari b:not(:first-child){display:inline;margin:0}
.sbd-planlar .sbdp-uygulama .sbdp-btn{display:flex;width:max-content}
.sbd-planlar .sbdp-uygulama .sbdp-btn{margin-top:8px}
/* 1.11.3: hata kodu ve "biraz uzun sürdü" notu */
.sbd-planlar .sbdp-msg .sbdp-hata-kod{display:block;margin-top:8px;font-size:11.5px;color:#8a94a6;font-weight:600;letter-spacing:.01em;word-break:break-word}
.sbd-planlar .sbdp-yavas{margin-top:10px}
.sbd-planlar .sbdp-yavas .sbdp-btn{margin-left:6px}
.sbd-planlar .sbdp-msg.err .sbdp-hata-dg .sbdp-btn{color:#fff}

/* ============================================================
   1.11.6: Ay kutuları — eşit boy, simetrik ızgara, çok açık renkler
   Kutular 5 sütun × 2 satır (dar ekranda 2 sütun). Açılan ayın haftaları kutuların altındaki panelde.
   --ay: çok açık zemin · --ay-c: pastel çizgi · --ay-k: koyu yazı · --ay-a: neredeyse beyaz
   ============================================================ */
.sbd-planlar .ay-8{--ay:#FFF1E3;--ay-c:#F7C79A;--ay-k:#A34E0C;--ay-a:#FFFAF5}   /* Eylül   */
.sbd-planlar .ay-9{--ay:#FFEDF0;--ay-c:#F4B3BE;--ay-k:#A3263A;--ay-a:#FFF8F9}   /* Ekim    */
.sbd-planlar .ay-10{--ay:#F5EEFA;--ay-c:#D5BDE8;--ay-k:#663A84;--ay-a:#FCF9FE}  /* Kasım   */
.sbd-planlar .ay-11{--ay:#EAF5FC;--ay-c:#A9D5F0;--ay-k:#1B6593;--ay-a:#F7FBFE}  /* Aralık  */
.sbd-planlar .ay-0{--ay:#EEF0FB;--ay-c:#B9C1EC;--ay-k:#34438C;--ay-a:#F8F9FE}   /* Ocak    */
.sbd-planlar .ay-1{--ay:#FDEFF5;--ay-c:#F2BCD5;--ay-k:#993163;--ay-a:#FEF9FB}   /* Şubat   */
.sbd-planlar .ay-2{--ay:#ECF8F0;--ay-c:#AEDFBC;--ay-k:#276E3B;--ay-a:#F7FCF8}   /* Mart    */
.sbd-planlar .ay-3{--ay:#E9F8F8;--ay-c:#A6DDDE;--ay-k:#146B6D;--ay-a:#F5FCFC}   /* Nisan   */
.sbd-planlar .ay-4{--ay:#FFF7E3;--ay-c:#F3D58A;--ay-k:#855800;--ay-a:#FFFCF3}   /* Mayıs   */
.sbd-planlar .ay-5{--ay:#F2F9EA;--ay-c:#C7E3A6;--ay-k:#4C7323;--ay-a:#FAFDF6}   /* Haziran */
.sbd-planlar .ay-6{--ay:#FDEFE7;--ay-c:#EFBF9F;--ay-k:#8E3F10;--ay-a:#FEF9F5}   /* Temmuz  */
.sbd-planlar .ay-7{--ay:#EAF7F3;--ay-c:#A8DBCF;--ay-k:#166856;--ay-a:#F6FCFA}   /* Ağustos */

/* ızgara: eşit sütun, eşit satır */
.sbd-planlar .sbdp-ay-kap{container-type:inline-size;container-name:sbdpay;margin-top:12px}
.sbd-planlar .sbdp-months{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:10px;align-items:stretch;margin:0}
@container sbdpay (min-width:700px){.sbd-planlar .sbdp-months{grid-template-columns:repeat(5,minmax(0,1fr))}}

/* kutu */
.sbd-planlar .sbdp-month,.sbd-planlar .sbdp-month.acik,.sbd-planlar .sbdp-month.bu-ay{grid-column:auto;display:flex;padding:0;gap:0;background:#fff;border:1.5px solid var(--sbdp-line);border-radius:14px;overflow:hidden;position:relative;box-shadow:0 1px 2px rgba(16,40,70,.05);transition:transform .15s,box-shadow .15s,border-color .15s,background .15s}
.sbd-planlar .sbdp-month::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:var(--ay-c)}
.sbd-planlar .sbdp-month:hover{transform:translateY(-2px);border-color:var(--ay-c);box-shadow:0 8px 16px -12px rgba(16,40,70,.35)}
.sbd-planlar .sbdp-ay-bas{all:unset;box-sizing:border-box;width:100%;display:flex;flex-direction:column;align-items:stretch;gap:3px;padding:14px 12px 10px;cursor:pointer;text-align:left;font:inherit;color:var(--sbdp-ink);background:none}
.sbd-planlar .sbdp-ay-bas::before,.sbd-planlar .sbdp-ay-bas::after{content:none}
.sbd-planlar .sbdp-ay-bas:focus-visible{outline:3px solid var(--ay-c);outline-offset:-3px;border-radius:12px}
.sbd-planlar .sbdp-ay-ust{display:flex;align-items:center;justify-content:space-between;gap:6px}
.sbd-planlar .sbdp-ay-isim{font-family:"Baloo 2","Nunito Sans",sans-serif;font-size:16px;line-height:1.1;font-weight:800;text-transform:uppercase;letter-spacing:.02em;color:var(--ay-k);white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis}
.sbd-planlar .sbdp-ay-yil{font-size:12px;font-weight:700;color:var(--sbdp-muted);line-height:1.2}
.sbd-planlar .sbdp-ay-ozet{font-size:12.5px;font-weight:700;color:var(--sbdp-ink-2);opacity:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sbd-planlar .sbdp-ay-etler{display:flex;gap:4px;flex-wrap:nowrap;overflow:hidden;min-height:19px;margin-top:2px}
.sbd-planlar .sbdp-ay-et{font-style:normal;font-size:10.5px;font-weight:800;line-height:1;padding:4px 7px;border-radius:999px;white-space:nowrap;background:var(--sbdp-line-2);color:var(--sbdp-ink-2)}
.sbd-planlar .sbdp-ay-et.bu{background:var(--ay);color:var(--ay-k);box-shadow:inset 0 0 0 1px var(--ay-c)}
.sbd-planlar .sbdp-ay-et.tatil{background:var(--sbdp-holiday);color:var(--sbdp-holiday-ink)}
.sbd-planlar .sbdp-ay-et.sinav{background:var(--sbdp-exam);color:var(--sbdp-exam-ink)}
.sbd-planlar .sbdp-ay-renk{display:flex;gap:3px;margin-top:auto;padding-top:6px;background:none;width:auto;max-width:none}
.sbd-planlar .sbdp-ay-renk i{flex:1;height:4px;border-radius:2px;width:auto}
.sbd-planlar .sbdp-ay-renk:empty{display:flex;visibility:hidden}
.sbd-planlar .sbdp-ay-renk:empty::before{content:"";height:4px}
/* + düğmesi: küçük, açık zeminli; yavaşça nabız atar */
.sbd-planlar .sbdp-ay-arti,.sbd-planlar .sbdp-month.bu-ay .sbdp-ay-arti{flex:none;width:28px;height:28px;border-radius:50%;background:var(--ay);border:1.5px solid var(--ay-c);box-sizing:border-box;position:relative;z-index:1;box-shadow:0 0 0 0 rgba(0,0,0,0);animation:sbdp-nabiz-acik 1.8s ease-out infinite}
.sbd-planlar .sbdp-ay-arti::before,.sbd-planlar .sbdp-ay-arti::after{background:var(--ay-k)}
.sbd-planlar .sbdp-ay-arti::before{width:12px;height:2.5px}
.sbd-planlar .sbdp-ay-arti::after{width:2.5px;height:12px}
@keyframes sbdp-nabiz-acik{0%{transform:scale(1)}50%{transform:scale(1.08)}100%{transform:scale(1)}}
/* bu ay: ince koyu çerçeve */
.sbd-planlar .sbdp-month.bu-ay{border-color:var(--ay-c);box-shadow:0 0 0 1.5px var(--ay-c)}
/* açık kutu: zemini ayın açık tonu, + → − */
.sbd-planlar .sbdp-month.acik{background:var(--ay);border-color:var(--ay-c);box-shadow:0 0 0 1.5px var(--ay-c),0 8px 16px -12px rgba(16,40,70,.35)}
.sbd-planlar .sbdp-month.acik .sbdp-ay-arti{background:#fff;animation:none;transform:rotate(180deg)}
.sbd-planlar .sbdp-month.acik .sbdp-ay-arti::after{transform:translate(-50%,-50%) scaleY(0);animation:none}

/* haftalar paneli (kutuların altında) */
.sbd-planlar .sbdp-ay-panel{margin-top:12px}
.sbd-planlar .sbdp-ay-ic{display:none;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;padding:12px;border:1.5px solid var(--ay-c);border-top-width:5px;border-radius:14px;background:var(--ay-a)}
.sbd-planlar .sbdp-ay-ic.acik{display:grid;animation:sbdp-ac .35s ease both}
.sbd-planlar .sbdp-ay-ic.acik>*{animation:sbdp-kay .4s cubic-bezier(.2,.8,.2,1) both}
.sbd-planlar .sbdp-ay-ic.acik>*:nth-child(2){animation-delay:.04s}
.sbd-planlar .sbdp-ay-ic.acik>*:nth-child(3){animation-delay:.08s}
.sbd-planlar .sbdp-ay-ic.acik>*:nth-child(4){animation-delay:.12s}
.sbd-planlar .sbdp-ay-ic.acik>*:nth-child(5){animation-delay:.16s}
.sbd-planlar .sbdp-ay-ic.acik>*:nth-child(n+6){animation-delay:.2s}
.sbd-planlar .sbdp-ay-ic-bas{grid-column:1/-1;display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;padding:0 2px 2px}
.sbd-planlar .sbdp-ay-ic-bas b{font-family:"Baloo 2","Nunito Sans",sans-serif;font-size:18px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;color:var(--ay-k)}
.sbd-planlar .sbdp-ay-ic-bas span{font-size:12.5px;font-weight:700;color:var(--sbdp-muted)}
.sbd-planlar .sbdp-ay-ic-bas .sbdp-ay-kapat{margin-left:auto;font:inherit;font-size:12.5px;font-weight:800;color:var(--ay-k);background:#fff;border:1.5px solid var(--ay-c);border-radius:999px;padding:4px 12px;cursor:pointer}
.sbd-planlar .sbdp-ay-ic .sbdp-wk:not(.lock){background:#fff}
.sbd-planlar .sbdp-ay-ic .sbdp-wk.on{box-shadow:0 0 0 2px var(--ay-k)}
.sbd-planlar .sbdp-ay-ic .sbdp-wk .k{-webkit-line-clamp:3}
@media (max-width:560px){.sbd-planlar .sbdp-ay-ic{grid-template-columns:minmax(0,1fr);padding:10px}}
@media (prefers-reduced-motion:reduce){.sbd-planlar .sbdp-month:hover{transform:none}.sbd-planlar .sbdp-ay-arti{animation:none}}
@container sbdpay (max-width:699px){.sbd-planlar .sbdp-ay-isim{font-size:18px}.sbd-planlar .sbdp-ay-arti,.sbd-planlar .sbdp-month.bu-ay .sbdp-ay-arti{width:32px;height:32px}}
