:root{--bg:#f6f7fb;--card:#fff;--text:#1f2937;--muted:#6b7280;--line:#e5e7eb;--accent:#2563eb;--individual:#2563eb;--group:#7c3aed}
*{box-sizing:border-box} body{margin:0;background:var(--bg);font-family:Arial,Helvetica,sans-serif;color:var(--text)}
header{background:#111827;color:white;padding:18px 16px;display:flex;justify-content:space-between;gap:12px;align-items:center} header h1{margin:0;font-size:22px} header p{margin:5px 0 0;color:#cbd5e1}
main{max-width:1320px;margin:20px auto;padding:0 14px}.navTabs{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}
.grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:14px}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.stat b{font-size:24px;display:block}.stat span,.hint{color:var(--muted);font-size:12px}.layout{display:grid;grid-template-columns:400px 1fr;gap:14px}.calendarLayout,.accountingGrid{display:grid;grid-template-columns:360px 1fr;gap:14px;margin-bottom:14px}
label{display:block;font-size:13px;color:#374151;margin:10px 0 5px} input,select,textarea{width:100%;padding:10px;border:1px solid #d1d5db;border-radius:10px;background:white;font-size:14px}
button{border:0;border-radius:10px;padding:10px 12px;cursor:pointer;font-weight:700}.primary{background:var(--accent);color:white}.ghost{background:#eef2ff;color:#1d4ed8}.danger{background:#fee2e2;color:#991b1b}.full{width:100%;margin-top:14px}
.row{display:flex;gap:8px}.row>*{flex:1}.buttons{margin-top:12px}.toolbar{display:flex;gap:8px;align-items:center;justify-content:space-between;margin-bottom:10px;flex-wrap:wrap}.search{max-width:360px}
.tableWrap{overflow:auto;max-height:660px} table{width:100%;border-collapse:collapse;background:white;border-radius:14px;overflow:hidden} th,td{padding:10px;border-bottom:1px solid var(--line);text-align:left;font-size:13px;vertical-align:top} th{background:#f9fafb;color:#374151}
.badge{display:inline-block;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:700}.activeBadge{background:#dcfce7;color:#166534}.soonBadge{background:#fef3c7;color:#92400e}.expiredBadge{background:#fee2e2;color:#991b1b}
.packageBadge{display:inline-block;padding:5px 9px;border-radius:999px;color:white;font-size:12px;font-weight:800}.packageIndividual{background:var(--individual)}.packageGroup{background:var(--group)}
.actions button{margin:2px;padding:7px 8px;font-size:12px}
.loginBody{min-height:100vh;display:grid;place-items:center;padding:16px;background:linear-gradient(135deg,#111827,#1d4ed8)}.loginCard{width:min(440px,100%);background:white;border-radius:18px;padding:24px;box-shadow:0 20px 60px rgba(0,0,0,.25)}.loginCard h1{margin:0 0 8px}.loginCard p{color:var(--muted);margin-top:0}.tabs{display:flex;background:#f3f4f6;border-radius:12px;padding:4px;margin:18px 0}.tab{flex:1;background:transparent}.tab.active{background:white;box-shadow:0 1px 4px rgba(0,0,0,.12)}.message{margin-top:12px;color:#991b1b;font-weight:700;font-size:13px;min-height:18px}
.scheduleBox{border:1px solid #dbeafe;background:#eff6ff;border-radius:14px;padding:12px;margin-top:12px}.teacherBox{border:1px solid #ddd6fe;background:#f5f3ff;border-radius:14px;padding:12px;margin-top:12px}.checkLine{display:flex;gap:8px;align-items:center;font-weight:700}.checkLine input{width:auto}.dayChecks{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin-top:6px}.dayChecks label{display:flex;gap:8px;align-items:center;margin:0;background:white;border:1px solid #d1d5db;border-radius:10px;padding:8px}.dayChecks input{width:auto}
.calendarGrid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.dayName{text-align:center;font-weight:700;color:#374151;padding:8px}.dayBox{height:145px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px;overflow:hidden;cursor:pointer}.dayBox:hover{box-shadow:0 6px 18px rgba(0,0,0,.08)}.dayBox.other{opacity:.42;background:#f9fafb}.dayBox.today{border:2px solid var(--accent)}.dayNum{font-weight:800;margin-bottom:6px}
.lesson{border:1px solid #dbeafe;background:#eff6ff;border-radius:10px;padding:6px;margin:5px 0;font-size:12px;cursor:pointer;border-left:5px solid var(--individual)}.lesson.group{border-left-color:var(--group);background:#f5f3ff;border-color:#ddd6fe}.lesson b{display:block}.lesson small{color:#475569}.lesson.done{background:#dcfce7;border-color:#bbf7d0}.lesson.cancel{background:#f3f4f6;border-color:#e5e7eb;text-decoration:line-through}.moreLessons{font-size:12px;font-weight:800;color:#1d4ed8;margin-top:6px}
.dayDrawer{margin-top:14px;background:white;border:1px solid var(--line);border-radius:14px;padding:14px;box-shadow:0 6px 20px rgba(0,0,0,.08)}.dayDrawerHeader{display:flex;justify-content:space-between;gap:10px;align-items:center}.dayDrawerHeader h2{margin:0}.drawerLesson{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;border-bottom:1px solid var(--line);padding:10px 0}.drawerLesson:last-child{border-bottom:0}
.miniGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}.miniStat{background:#f9fafb;border:1px solid var(--line);border-radius:12px;padding:12px}.miniStat b{display:block;font-size:20px}.miniStat span{font-size:12px;color:var(--muted)}
.teacherRateCard{border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:10px;background:#fafafa}
@media(max-width:900px){.grid{grid-template-columns:repeat(2,1fr)}.layout,.calendarLayout,.accountingGrid{grid-template-columns:1fr}.calendarGrid{grid-template-columns:1fr}.dayBox{height:auto;min-height:95px}.dayName{display:none}header{align-items:flex-start}.row{flex-direction:column}.dayChecks{grid-template-columns:1fr}.miniGrid{grid-template-columns:1fr}}.payBadge{display:inline-block;padding:3px 8px;border-radius:999px;font-size:12px;font-weight:800;margin-top:3px}.paidPay{background:#dcfce7;color:#166534}.partialPay{background:#ffedd5;color:#9a3412}.unpaidPay{background:#fee2e2;color:#991b1b}.moneyDisplay{font-weight:800;margin-bottom:6px;color:#111827}

.modalOverlay{position:fixed;inset:0;background:rgba(17,24,39,.55);display:flex;align-items:center;justify-content:center;z-index:9999;padding:16px}.modalCard{width:min(440px,100%);background:white;border-radius:18px;padding:18px;box-shadow:0 20px 70px rgba(0,0,0,.25)}.lesson.absent{background:#ffedd5;border-color:#fed7aa;text-decoration:line-through}

.actionStat b{font-size:20px}.actionName{color:#dc2626;font-weight:900;font-size:13px;margin-top:5px}.actionName small{display:block;color:#991b1b;font-weight:700;font-size:11px}.actionLink{display:block;width:100%;background:transparent;border:0;padding:4px 0;text-align:left;cursor:pointer;border-radius:10px}.actionLink:hover{background:#fee2e2;padding-left:6px}
.monthPicker{display:flex;gap:8px;align-items:center}
.monthPicker select{min-width:110px}

.autoExpenseRow{background:#fff7ed}.autoExpenseRow td{border-bottom:1px solid #fed7aa}.autoExpenseRow .moneyDisplay{color:#9a3412;font-size:15px}.autoExpenseRow b{color:#9a3412}

.photoBox{border:1px dashed #cbd5e1;background:#f8fafc;border-radius:14px;padding:10px;margin-top:6px}.memberPhotoPreview{display:none;width:86px;height:86px;border-radius:999px;object-fit:cover;border:3px solid white;box-shadow:0 2px 10px rgba(0,0,0,.15);margin-bottom:8px}.photoActions{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:center}.photoActions input{padding:8px;font-size:12px}.memberAvatar{width:48px;height:48px;border-radius:999px;object-fit:cover;display:inline-grid;place-items:center;border:2px solid #e5e7eb;background:#f1f5f9;font-weight:900;color:#475569}.avatarCell{text-align:center;vertical-align:middle}.memberAvatar.placeholder{font-size:15px}
@media(max-width:900px){.photoActions{grid-template-columns:1fr}.memberAvatar{width:42px;height:42px}}

.photoMenuWrap{position:relative}.photoMenu{position:absolute;left:0;right:0;top:46px;background:white;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 30px rgba(0,0,0,.12);padding:6px;z-index:20}.photoMenu button{display:block;width:100%;background:white;text-align:left;color:#111827}.photoMenu button:hover{background:#f3f4f6}.clickableAvatar{cursor:pointer;transition:.15s transform}.clickableAvatar:hover{transform:scale(1.06)}.photoModalCard{width:min(620px,100%)}.photoPreviewLarge{width:100%;max-height:70vh;object-fit:contain;border-radius:16px;background:#f3f4f6}.navBadge{background:#dc2626;color:white;border-radius:999px;font-size:11px;font-weight:900;padding:2px 7px;margin-left:4px}.memberAvatar{cursor:default}

.teacherWeekGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-top:14px}
.teacherWeekCard{border:1px solid #e5e7eb;border-radius:18px;padding:14px;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.06)}
.teacherWeekHead{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}
.teacherWeekHead span{background:#eef2ff;color:#3730a3;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700}
.teacherWeekDate{font-weight:700;margin-bottom:10px;color:#111827}
.teacherWeekMembers{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0}
.memberChip{display:inline-block;background:#f3f4f6;border-radius:999px;padding:6px 10px;font-size:13px;font-weight:600}
.cameraVideo{width:100%;max-height:68vh;border-radius:16px;background:#111827;object-fit:cover}.feedbackMini{font-size:12px;margin-top:5px}.feedbackMini b{font-size:14px;color:#92400e}

/* v25 polish */
.dashboardGrid{grid-template-columns:repeat(6,1fr)}
.actionStat{min-width:220px}.actionStat #actionMembers{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.actionStat b{margin-bottom:4px}.actionLink{width:auto;display:inline-flex;gap:6px;align-items:center;padding:5px 8px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412}.actionLink small{display:inline;color:#9a3412}.actionLink.neutral{background:#eef2ff;border-color:#c7d2fe;color:#3730a3}.actionLink.neutral small{color:#3730a3}.actionLink:hover{padding-left:8px;transform:translateY(-1px)}
.userTools{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.userTools .search{max-width:220px}.userTools select{max-width:150px}
.capacityBadge{background:#eef2ff;color:#3730a3;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:800;white-space:nowrap}.capacityBadge.full{background:#fee2e2;color:#991b1b}.capacityBadge.single{background:#f3f4f6;color:#475569}.teacherWeekCard.groupCard{border-left:5px solid var(--group)}.teacherWeekCard.individualCard{border-left:5px solid var(--individual)}
.memberPortalPremium{background:radial-gradient(circle at top left,#f7efe7 0,#fff 34%,#f6f7fb 100%);border-radius:24px;padding:14px}.portalHero{border-radius:24px;padding:22px;background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(255,247,237,.94));border:1px solid #fed7aa;box-shadow:0 18px 45px rgba(120,53,15,.08);margin-bottom:14px}.portalProfile{display:flex;gap:18px;align-items:center}.portalAvatarWrap{width:112px;height:112px;border-radius:999px;display:grid;place-items:center;background:white;border:4px solid #fff;box-shadow:0 12px 30px rgba(0,0,0,.14);cursor:pointer;overflow:hidden;flex:0 0 auto}.portalAvatar{width:100%;height:100%;object-fit:cover;border-radius:999px;display:grid;place-items:center;font-size:34px;font-weight:900;color:#92400e;background:#ffedd5}.portalAvatar.placeholder{display:grid}.portalProfile h2{margin:0 0 6px;font-size:28px}.portalActions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.portalGrid{display:grid;grid-template-columns:1.4fr .8fr;gap:14px}.portalCard{border-radius:22px;box-shadow:0 12px 28px rgba(15,23,42,.06)}
@media(max-width:1100px){.dashboardGrid{grid-template-columns:repeat(3,1fr)}.portalGrid{grid-template-columns:1fr}}
@media(max-width:700px){.dashboardGrid{grid-template-columns:repeat(2,1fr)}.portalProfile{align-items:flex-start}.portalAvatarWrap{width:82px;height:82px}.portalProfile h2{font-size:22px}.portalActions{flex-direction:column}.portalActions button{width:100%}}


.offerBox{margin-top:8px;padding:8px 10px;border:1px solid #e5e7eb;border-radius:12px;background:#f8fafc;line-height:1.35}.compactButtons{gap:6px;margin-top:8px}.compactButtons button{padding:7px 10px;font-size:12px}

/* v27 version history */
.versionTimeline{display:grid;gap:12px;margin-top:12px}.versionItem{border:1px solid var(--line);border-radius:16px;padding:14px;background:linear-gradient(180deg,#fff,#f9fafb)}.versionHead{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.versionHead b{background:#111827;color:white;border-radius:999px;padding:5px 10px;font-size:13px}.versionHead span{font-weight:900;color:#111827}.versionItem ul{margin:10px 0 0 18px;padding:0;color:#374151}.versionItem li{margin:4px 0;font-size:13px;line-height:1.35}


/* v28 duplicate/group/member-form polish */
.formHeader{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.formHeader h2{margin:0}.memberFormCard{transition:.2s ease}.layout.formCollapsed{grid-template-columns:minmax(0,1fr)}.layout.formCollapsed .memberFormCard{max-width:760px;margin:0 auto;width:100%;text-align:center;background:#f9fafb}.layout.formCollapsed .membersListCard{max-width:1180px;margin:0 auto;width:100%}.layout.formCollapsed .toolbar{justify-content:center}.layout.formCollapsed table{text-align:left}.groupInfoCell{min-width:130px}.groupMini{display:inline-block;border:1px solid var(--group-border);background:var(--group-bg);color:var(--group-text);border-radius:999px;padding:4px 8px;font-size:11px;font-weight:900;margin:2px 0;white-space:nowrap}.lesson.group{border-left-color:var(--group-border);background:var(--group-bg);border-color:var(--group-border)}.lessonGroupBadge{display:inline-block;border:1px solid var(--group-border);background:white;color:var(--group-text);border-radius:999px;padding:1px 6px;font-size:10px;margin-left:4px}.drawerLesson[style*="group-bg"]{border-left:5px solid var(--group-border);padding-left:10px}.teacherWeekCard.groupCard{border-left-color:var(--group-border);background:linear-gradient(180deg,var(--group-bg),#fff)}.groupLabel{border:1px solid var(--group-border);background:var(--group-bg);color:var(--group-text);border-radius:999px;padding:3px 8px;font-size:11px;font-weight:900;margin-left:6px}.memberChip.groupCircle{width:54px;height:54px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;text-align:center;line-height:1.05;padding:6px;border:2px solid var(--group-border);background:var(--group-bg);color:var(--group-text);font-size:11px;box-shadow:0 6px 14px rgba(15,23,42,.08)}
@media(max-width:900px){.formHeader{flex-direction:column;align-items:stretch}.layout.formCollapsed .toolbar{justify-content:flex-start}}

/* v28 member portal header cleanup */
body.memberMode{background:radial-gradient(circle at top left,#f7efe7 0,#fff 36%,#f6f7fb 100%)}
body.memberMode #appHeader, body.memberMode .navTabs{display:none!important}
body.memberMode main{padding-top:18px}
.portalAvatarColumn{display:flex;flex-direction:column;align-items:center;gap:10px;flex:0 0 auto}
.portalLogoutBtn{width:112px;padding:9px 10px;border-radius:999px}
@media(max-width:700px){.portalAvatarColumn{align-items:center}.portalLogoutBtn{width:92px;font-size:12px;padding:8px}}

/* v29 member portal accordion + alignment */
.portalProfile{align-items:center}
.portalProfileText{padding-top:18px;min-width:0}
.portalAvatarColumn{justify-content:center}
.portalCardHeader{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.portalCardHeader h3{margin:0}
.portalRequestsCard.collapsed{background:rgba(255,255,255,.78)}
.portalCollapsibleBody{animation:portalOpen .16s ease}
@keyframes portalOpen{from{opacity:.2;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
.layout.formCollapsed .memberFormCard{align-self:start}
.layout.formCollapsed .memberFormCard .formHeader{justify-content:center}
.layout.formCollapsed .membersListCard{justify-self:center}
@media(max-width:700px){.portalProfile{align-items:center}.portalProfileText{padding-top:6px}.portalCardHeader{align-items:stretch;flex-direction:column}.portalCardHeader button{width:100%}}


/* v30 member portal mac-like calendar */
.portalCalendarCard{overflow:hidden}
.portalCalendarNav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.portalMonthTitle{min-width:180px;text-align:center;font-weight:800;color:#111827}
.portalCalendarMac{margin-top:10px;border-radius:24px;overflow:hidden;background:#1f1f1d;color:#f8fafc;border:1px solid rgba(15,23,42,.12);box-shadow:0 18px 40px rgba(15,23,42,.12)}
.portalCalendarGrid{display:grid;grid-template-columns:repeat(7,1fr)}
.portalCalHead{padding:14px 8px;text-align:center;font-size:15px;color:rgba(255,255,255,.88);border-bottom:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.02)}
.portalCalCell{min-height:120px;padding:10px;border-right:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);position:relative;background:rgba(255,255,255,.01);cursor:pointer}
.portalCalCell:nth-child(7n){border-right:0}
.portalCalCell.other{color:rgba(255,255,255,.35)}
.portalCalCell.today{box-shadow:inset 0 0 0 2px #60a5fa}
.portalCalCell.selected{background:rgba(96,165,250,.14)}
.portalCalDate{font-size:18px;font-weight:700;margin-bottom:8px;color:rgba(255,255,255,.95)}
.portalCalCell.other .portalCalDate{color:rgba(255,255,255,.45)}
.portalLessonPill{display:block;max-width:100%;margin-bottom:6px;padding:6px 10px;border-radius:999px;background:#294f73;color:#eaf3ff;font-size:12px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.portalLessonPill.done{background:#245b44;color:#e7fff4}.portalLessonPill.absent{background:#5a2b2b;color:#ffe8e8}.portalLessonPill.cancel{background:#4b5563;color:#f3f4f6}
.portalCalMore{font-size:12px;color:rgba(255,255,255,.7)}
.portalDayDetail{margin-top:14px;border-radius:18px;background:#fff;border:1px solid #e5e7eb;padding:16px;box-shadow:0 10px 28px rgba(15,23,42,.06)}
.portalDayHeader{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap;margin-bottom:12px}
.portalDayHeader h4{margin:0;font-size:24px}
.portalDayHeader .hint{margin:4px 0 0}
.portalAgendaList{display:flex;flex-direction:column;gap:10px}
.portalAgendaItem{border:1px solid #e5e7eb;border-radius:16px;padding:14px;background:linear-gradient(180deg,#fff,#fafaf9)}
.portalAgendaTop{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:8px}
.portalAgendaTime{font-size:18px;font-weight:800;color:#111827}.portalAgendaMeta{font-size:14px;color:#6b7280}
.portalAgendaActions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.portalAgendaEmpty{padding:10px 0;color:#6b7280}
.portalCalendarLegend{display:flex;gap:8px;flex-wrap:wrap}
.portalLegendDot{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#6b7280}
.portalLegendSwatch{width:10px;height:10px;border-radius:999px;display:inline-block}
.groupedDrawerLesson{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}
.groupedDrawerLesson:last-child{border-bottom:0}
.groupedDrawerMembers{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.groupedDrawerLesson details{margin-top:10px}
.groupedDrawerLesson summary{cursor:pointer;color:#4b5563;font-weight:700}
.groupedDrawerMiniRow{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:8px 0;border-top:1px dashed #e5e7eb}
.groupedDrawerMiniRow:first-child{border-top:0}
.groupedDrawerMiniRow .actions{display:flex;gap:6px;flex-wrap:wrap}
@media(max-width:900px){.portalCalCell{min-height:92px;padding:8px}.portalCalDate{font-size:16px}.portalLessonPill{font-size:11px;padding:5px 8px}.portalMonthTitle{min-width:0}.portalDayHeader h4{font-size:20px}}
@media(max-width:700px){.portalCalendarMac{border-radius:18px}.portalCalendarGrid{grid-template-columns:repeat(7,minmax(0,1fr))}.portalCalHead{font-size:12px;padding:10px 2px}.portalCalCell{min-height:78px;padding:6px}.portalCalDate{font-size:15px}.portalLessonPill{font-size:10px;margin-bottom:4px;padding:4px 6px}.portalDayDetail{padding:12px}.groupedDrawerLesson,.portalAgendaTop,.portalDayHeader{flex-direction:column;align-items:flex-start}}


/* v33 - Üye portalı gündüz/beyaz takvim teması */
.portalCalendarMac{background:#ffffff!important;color:#111827!important;border:1px solid #e5e7eb!important;box-shadow:0 18px 42px rgba(15,23,42,.08)!important}
.portalCalHead{color:#4b5563!important;background:#f8fafc!important;border-bottom:1px solid #e5e7eb!important}
.portalCalCell{background:#ffffff!important;border-right:1px solid #e5e7eb!important;border-bottom:1px solid #e5e7eb!important;color:#111827!important}
.portalCalCell:hover{background:#f9fafb!important}
.portalCalCell.other{background:#fafafa!important;color:#9ca3af!important}
.portalCalCell.today{box-shadow:inset 0 0 0 2px #2563eb!important;background:#eff6ff!important}
.portalCalCell.selected{background:#eef2ff!important}
.portalCalDate{color:#111827!important}
.portalCalCell.other .portalCalDate{color:#9ca3af!important}
.portalCalMore{color:#6b7280!important}
.portalLessonPill{background:#dbeafe!important;color:#1d4ed8!important;border:1px solid #bfdbfe!important}
.portalLessonPill.done{background:#dcfce7!important;color:#166534!important;border-color:#bbf7d0!important}
.portalLessonPill.absent{background:#fee2e2!important;color:#991b1b!important;border-color:#fecaca!important}
.portalLessonPill.cancel{background:#f3f4f6!important;color:#374151!important;border-color:#e5e7eb!important}

/* v33 - İsteklerim kapalıyken tamamen kompakt görünüm */
.portalRequestsCard.collapsed{padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
.portalRequestsCard.collapsed .portalCardHeader{margin:0;padding:0!important}
.portalRequestsCard.collapsed .portalCardHeader h3{display:none!important}
.portalRequestsCard.collapsed #portalRequestsToggleBtn{width:100%;border-radius:18px;padding:14px 18px;background:#ffffff;border:1px solid #e5e7eb;box-shadow:0 10px 26px rgba(15,23,42,.06);font-weight:800;text-align:left}
.portalRequestsCard.collapsed #portalRequestsToggleBtn::before{content:'İsteklerim ';color:#111827}

/* v35 yetkili hoca role */
.teacherMode #memberFormCard{display:block!important}
#membersSection.teacherMembersOnly{grid-template-columns:380px minmax(0,1fr)}

/* v36 PWA notifications */
.headerActions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.notificationTools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.notificationStatus{font-size:12px;color:#cbd5e1;font-weight:700}.portalNotificationStatus{display:block;margin-top:10px;color:#6b7280}.notificationTools button{padding:8px 10px}.memberMode .portalNotificationStatus{color:#6b7280}
@media(max-width:800px){.headerActions{justify-content:flex-start;width:100%}.notificationTools{width:100%}.notificationTools button{flex:1}.notificationStatus{width:100%}}

.headerActions>.ghost{white-space:nowrap}
#passwordModal .modalCard{max-width:460px}


/* v46 settings dropdown, teacher filter, backup controls */
.settingsMenuWrap{position:relative}.settingsToggle{white-space:nowrap}.settingsMenu{position:absolute;right:0;top:44px;z-index:50;min-width:230px;background:white;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 45px rgba(15,23,42,.18);padding:8px;color:#111827}.settingsMenu button{display:block;width:100%;background:white;color:#111827;text-align:left;border-radius:10px;margin-top:4px}.settingsMenu button:hover{background:#f3f4f6}.settingsMenu .notificationStatus{display:block;color:#475569;background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;padding:8px;margin-bottom:6px}.teacherWeekFilter{max-width:220px;min-width:170px}.backupSettingsBox{background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px;padding:12px;margin:10px 0 14px}.moneyInput{font-variant-numeric:tabular-nums;text-align:right;font-weight:700}
@media(max-width:800px){.settingsMenu{left:0;right:auto}.teacherWeekFilter{max-width:100%;width:100%}}

/* v47 company documents */
.companyDocsGrid{grid-template-columns:380px 1fr}
.companyDocStats{grid-template-columns:repeat(3,1fr)}
.docStatus{display:inline-block;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:900;background:#eef2ff;color:#3730a3;white-space:nowrap}
.docStatus.active{background:#dcfce7;color:#166534}
.docStatus.soon{background:#fef3c7;color:#92400e}
.docStatus.expired{background:#fee2e2;color:#991b1b}
.docStatus.neutral{background:#f3f4f6;color:#475569}
.buttonLink{display:inline-block;text-decoration:none;border-radius:10px;padding:7px 8px;font-size:12px;font-weight:800;margin:2px}
@media(max-width:900px){.companyDocsGrid{grid-template-columns:1fr}.companyDocStats{grid-template-columns:1fr}}

/* v48 multi photo document PDF */
.docPhotoList{border:1px dashed rgba(148,163,184,.55);border-radius:14px;padding:10px;background:rgba(248,250,252,.75);margin:8px 0 12px}
.docPhotoItem{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 0;border-top:1px solid rgba(148,163,184,.35)}
.docPhotoItem:first-of-type{margin-top:8px}
.docPhotoItem small{opacity:.75;margin-left:6px}
.smallBtn{padding:6px 10px;font-size:12px;white-space:nowrap}
.checkline{display:flex;align-items:flex-start;gap:8px;font-weight:600;margin:10px 0}
.checkline input{width:auto;margin-top:2px}

.portalReminderBox{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;padding:10px;border:1px solid rgba(15,23,42,.10);border-radius:12px;background:rgba(255,255,255,.72)}
.portalReminderBox label{margin:0;font-weight:700}
.portalReminderBox select{max-width:160px}
.portalReminderBox .hint{flex:1;min-width:180px}


/* v55 action scroll and package-outside polish */
.actionStat{max-height:220px;overflow:hidden;display:flex;flex-direction:column}
.actionStat #actionMembers{overflow-y:auto;max-height:160px;padding-right:4px;align-content:flex-start}
.actionStat #actionMembers::-webkit-scrollbar{width:8px}.actionStat #actionMembers::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}
.checkLine .hint{margin-left:4px;font-weight:500}

/* v57 */
body.appBooting > *{visibility:hidden}
.dayBox{display:flex;flex-direction:column;overflow:hidden}
.dayLessonsScroll{overflow-y:auto;overscroll-behavior:contain;min-height:0;flex:1;padding-right:3px}
.dayLessonsScroll::-webkit-scrollbar{width:6px}.dayLessonsScroll::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}
@media(max-width:900px){.dayBox{height:180px;min-height:180px}.dayLessonsScroll{max-height:135px}}


/* v58 - Neofit For Woman brand theme: login + member portal */
:root{
  --neo-wine:#7b2948;--neo-wine-dark:#522037;--neo-rose:#bd6f86;--neo-blush:#f7e9ed;
  --neo-cream:#fffaf6;--neo-sand:#ead9cd;--neo-ink:#2d2026;--neo-gold:#b99469;
}
.loginBody{min-height:100vh;display:grid;place-items:center;padding:28px;background:
  radial-gradient(circle at 14% 18%,rgba(255,255,255,.92) 0 7%,transparent 8%),
  radial-gradient(circle at 82% 15%,rgba(189,111,134,.20),transparent 28%),
  linear-gradient(135deg,#f8ecef 0%,#fffaf6 47%,#ead9cd 100%);font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}
.loginShell{width:min(1040px,100%);min-height:620px;display:grid;grid-template-columns:1.08fr .92fr;background:rgba(255,255,255,.82);border:1px solid rgba(123,41,72,.12);border-radius:34px;box-shadow:0 34px 90px rgba(82,32,55,.17);overflow:hidden;backdrop-filter:blur(16px)}
.loginBrandPanel{position:relative;overflow:hidden;padding:62px 54px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(145deg,var(--neo-wine-dark),var(--neo-wine) 60%,#9d5068);color:#fff}
.brandMark{width:62px;height:62px;border-radius:20px;display:inline-grid;place-items:center;background:rgba(255,255,255,.96);color:var(--neo-wine);font-family:Georgia,serif;font-size:38px;font-weight:800;box-shadow:0 12px 30px rgba(0,0,0,.15)}
.brandMark.small{width:38px;height:38px;border-radius:13px;font-size:23px;box-shadow:none}
.brandEyebrow{margin-top:26px;font-size:12px;letter-spacing:.3em;font-weight:800;color:#f3dce3}
.loginBrandPanel h2{position:relative;z-index:2;margin:22px 0 16px;font-family:Georgia,'Times New Roman',serif;font-size:48px;line-height:1.07;font-weight:500;letter-spacing:-.025em}
.loginBrandPanel p{position:relative;z-index:2;max-width:390px;margin:0;color:rgba(255,255,255,.8);font-size:17px;line-height:1.7}
.brandDecor{position:absolute;border:1px solid rgba(255,255,255,.18);border-radius:999px;transform:rotate(-24deg)}
.brandDecorOne{width:360px;height:180px;right:-135px;top:64px}.brandDecorTwo{width:450px;height:230px;left:-200px;bottom:-100px}
.loginCard{width:auto;background:transparent;border-radius:0;padding:64px 56px;box-shadow:none;display:flex;flex-direction:column;justify-content:center}
.loginMobileBrand{display:none}.loginKicker{font-size:11px;letter-spacing:.22em;color:var(--neo-rose);font-weight:900;margin-bottom:15px}
.loginCard h1{margin:0 0 14px;color:var(--neo-ink);font-family:Georgia,'Times New Roman',serif;font-size:38px;line-height:1.13;font-weight:500;letter-spacing:-.025em}
.loginIntro{color:#79656e!important;line-height:1.6;margin:0 0 26px!important}
.loginCard label{font-weight:800;color:#503b44;margin-top:15px}.loginCard input{padding:14px 15px;border:1px solid #ddcbd1;border-radius:14px;background:rgba(255,255,255,.82);outline:none;transition:.2s}
.loginCard input:focus{border-color:var(--neo-rose);box-shadow:0 0 0 4px rgba(189,111,134,.13);background:#fff}
.loginCard .primary{margin-top:20px;padding:14px;border-radius:14px;background:linear-gradient(135deg,var(--neo-wine),#9f5069);box-shadow:0 12px 25px rgba(123,41,72,.24);transition:transform .2s,box-shadow .2s}
.loginCard .primary:hover{transform:translateY(-1px);box-shadow:0 15px 28px rgba(123,41,72,.29)}
.loginFooterNote{margin-top:26px;padding-top:20px;border-top:1px solid #eadde1;color:#ad929c;font-size:10px;font-weight:900;letter-spacing:.22em;text-align:center}
.loginCard .message{color:#a2254c}

body.memberMode{background:linear-gradient(145deg,#f8ecef 0,#fffaf6 40%,#f4eee9 100%);color:var(--neo-ink)}
body.memberMode main{max-width:1250px;padding:22px 16px 40px}
.memberPortalPremium{position:relative;background:transparent;border-radius:0;padding:0}
.portalBrandBar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;padding:12px 18px;border:1px solid rgba(123,41,72,.11);border-radius:20px;background:rgba(255,255,255,.78);box-shadow:0 10px 30px rgba(82,32,55,.07);backdrop-filter:blur(12px)}
.portalBrandIdentity{display:flex;align-items:center;gap:12px}.portalBrandIdentity b{display:block;font-size:13px;letter-spacing:.17em;color:var(--neo-wine)}.portalBrandIdentity small{display:block;margin-top:4px;font-size:9px;letter-spacing:.2em;color:#ad8a96}
.portalBrandMark{width:42px;height:42px;border-radius:14px;font-size:25px;background:linear-gradient(145deg,var(--neo-wine),#a45169);color:white;box-shadow:0 8px 18px rgba(123,41,72,.2)}
.portalBrandLocation{font-size:10px;letter-spacing:.18em;color:#9a7b86;font-weight:900}
.portalHero{position:relative;overflow:hidden;border-radius:30px;padding:28px;background:linear-gradient(135deg,#fff 0%,#fff8f8 56%,#f5e2e8 100%);border:1px solid rgba(123,41,72,.13);box-shadow:0 22px 55px rgba(82,32,55,.10);margin-bottom:16px}
.portalHeroGlow{position:absolute;width:330px;height:330px;border-radius:50%;right:-120px;top:-170px;background:radial-gradient(circle,rgba(189,111,134,.25),transparent 68%);pointer-events:none}
.portalProfile{position:relative;z-index:1}.portalAvatarWrap{border:5px solid #fff;box-shadow:0 16px 38px rgba(82,32,55,.19)}
.portalAvatar{color:var(--neo-wine);background:linear-gradient(145deg,#f6dfe6,#fff7f9)}
.portalProfile h2{font-family:Georgia,'Times New Roman',serif;color:var(--neo-wine-dark);font-size:32px;font-weight:500;letter-spacing:-.02em}
.portalProfileText>.hint{color:#79656e}.portalActions .ghost{background:#fff;color:var(--neo-wine);border:1px solid #e5ccd4}.portalActions .ghost:hover{background:var(--neo-blush)}
.portalLogoutBtn{background:var(--neo-wine);box-shadow:0 8px 18px rgba(123,41,72,.18)}
.portalReminderBox{border-color:#e5ccd4;background:rgba(255,255,255,.7)}.portalReminderBox label{color:var(--neo-wine-dark)}
.portalCard{border:1px solid rgba(123,41,72,.10);box-shadow:0 14px 38px rgba(82,32,55,.07);background:rgba(255,255,255,.88)}
.portalCardHeader h3{font-family:Georgia,'Times New Roman',serif;color:var(--neo-wine-dark);font-size:24px;font-weight:500}.portalCalendarNav .ghost{background:var(--neo-blush);color:var(--neo-wine)}
.portalCalendarMac{border-color:#ead7dd!important;box-shadow:0 18px 42px rgba(82,32,55,.07)!important}.portalCalHead{background:#fbf4f6!important;color:#785866!important}.portalCalCell.today{box-shadow:inset 0 0 0 2px var(--neo-rose)!important;background:#fff1f5!important}.portalCalCell.selected{background:#f9e9ee!important}.portalLessonPill{background:#f3dce4!important;color:#7b2948!important;border-color:#e7c3cf!important}.portalLessonPill.done{background:#e3f3e8!important;color:#245c38!important;border-color:#c8e8d2!important}
.portalDayDetail{border-color:#ead7dd;background:rgba(255,255,255,.92);box-shadow:0 12px 30px rgba(82,32,55,.06)}.portalDayHeader h4{font-family:Georgia,'Times New Roman',serif;color:var(--neo-wine-dark)}
.portalAgendaItem{border-color:#eadde1;background:linear-gradient(180deg,#fff,#fff9fa)}.portalAgendaTime{color:var(--neo-wine)}
.portalRequestsCard.collapsed #portalRequestsToggleBtn{color:var(--neo-wine);border-color:#ead7dd;background:rgba(255,255,255,.9)}
@media(max-width:800px){.loginBody{padding:14px}.loginShell{display:block;min-height:auto;border-radius:25px}.loginBrandPanel{display:none}.loginCard{padding:36px 24px 28px}.loginMobileBrand{display:flex;align-items:center;gap:10px;margin-bottom:28px;color:var(--neo-wine);font-size:11px;font-weight:900;letter-spacing:.17em}.loginCard h1{font-size:32px}.portalBrandBar{padding:10px 12px}.portalBrandLocation{display:none}.portalHero{padding:20px}.portalProfile h2{font-size:27px}.portalProfile{align-items:flex-start}.portalAvatarWrap{width:92px;height:92px}.portalActions .ghost{flex:1 1 145px}.portalReminderBox{align-items:stretch}.portalReminderBox select{max-width:none}.portalGrid{grid-template-columns:1fr}}
@media(max-width:540px){.portalProfile{flex-direction:column}.portalAvatarColumn{width:100%;display:flex;align-items:center;gap:12px}.portalLogoutBtn{width:auto}.portalProfileText{width:100%}.portalBrandIdentity b{font-size:11px}.portalBrandIdentity small{font-size:8px}}

:root[data-theme="pink"]{--bg:#fbf3f6;--card:#fffafb;--text:#4b2534;--muted:#8d6875;--accent:#a83d68;--accent2:#d997af;--border:#ead2dc}
:root[data-theme="night"]{--bg:#15131b;--card:#211d2a;--text:#f4edf3;--muted:#b9aebb;--accent:#d36b9c;--accent2:#7f5a92;--border:#3b3343}
:root[data-theme="night"] body,:root[data-theme="night"] main{background:var(--bg)!important;color:var(--text)!important}:root[data-theme="night"] .card,:root[data-theme="night"] header,:root[data-theme="night"] .settingsMenu,:root[data-theme="night"] input,:root[data-theme="night"] select,:root[data-theme="night"] textarea{background:var(--card)!important;color:var(--text)!important;border-color:var(--border)!important}
:root[data-theme="pink"] body{background:linear-gradient(180deg,#fff8fa,#f7edf2)!important}.settingsThemeLabel{padding:7px 10px 2px;font-size:12px;color:var(--muted)}.groupsEditor{display:grid;gap:14px}.groupEditCard{border:1px solid var(--border);border-radius:16px;padding:16px;background:var(--card)}.groupMemberChecks{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:6px;max-height:220px;overflow:auto;padding:10px;border:1px solid var(--border);border-radius:12px;margin-bottom:12px}.loginTextButton{background:none;border:0;color:#8f3659;text-decoration:underline;cursor:pointer;margin-top:12px}.forgotBox{margin-top:12px;padding-top:12px;border-top:1px solid #ead2dc}.resetCard{max-width:440px;margin:auto}.card.stat small{display:block;margin-top:5px}
