/* Rüya Ailem V2.0.7 — targeted mobile regression layer */
:root{--ruya-v207-mobile-nav:88px}

/* Parent pickup completed-today state */
.pickupCompletedToday{display:flex;align-items:flex-start;gap:12px;padding:16px;border:1px solid #d8e8df;border-radius:18px;background:#f0f8f4;color:#45695a}
.pickupCompletedToday>span{display:grid;flex:0 0 38px;width:38px;height:38px;place-items:center;border-radius:12px;background:#dceddf;font-weight:900}.pickupCompletedToday h3{margin:0 0 4px}.pickupCompletedToday p{margin:0 0 5px;line-height:1.5}.pickupCompletedToday small{color:#6e857b}

/* Teacher daily report primary action must never look disabled while active */
.teacherDailySaveButton:not(:disabled){opacity:1!important;filter:none!important;background:linear-gradient(135deg,#1f4a8f,#6f45cb)!important;color:#fff!important;border-color:transparent!important;box-shadow:0 12px 28px rgba(47,73,143,.22)!important}
.teacherDailySaveButton:disabled{opacity:.5!important;box-shadow:none!important}

/* Teacher Boy/Kilo responsive + no bottom-nav collision */
@media(max-width:780px){
 .role-teacher .v74CustomPage[data-type="growth"]{max-width:100%!important;overflow-x:hidden!important;padding-bottom:calc(var(--ruya-v207-mobile-nav) + env(safe-area-inset-bottom) + 22px)!important}
 .role-teacher .v74Growth{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important;width:100%!important;max-width:100%!important;min-width:0!important}
 .role-teacher .v74Growth form,.role-teacher .v74Growth section{min-width:0!important;max-width:100%!important;padding:14px!important;box-sizing:border-box!important}
 .role-teacher .v74Growth label,.role-teacher .v74Growth input,.role-teacher .v74Growth select{min-width:0!important;max-width:100%!important;width:100%!important;box-sizing:border-box!important}
 .role-teacher .v74FormRow{grid-template-columns:minmax(0,1fr)!important;gap:10px!important}
 .role-teacher .v74Growth form>button[type="submit"]{width:100%!important;max-width:100%!important;margin-top:10px!important}
 .role-teacher .v74History article{grid-template-columns:minmax(0,1fr) auto auto!important;gap:8px!important;min-width:0!important}
}

/* Shared photo/video uploader: the upload controls stay reachable above fixed mobile navigation. */
body.ruyaMediaUploadOpen{overflow:hidden!important;overscroll-behavior:none!important}
@media(max-width:780px){
 body.ruyaMediaUploadOpen #v741QuickNav,body.ruyaMediaUploadOpen .role-admin>.bottomNav,body.ruyaMediaUploadOpen .role-teacher>.bottomNav{display:none!important}
 .modalBack:has(.albumUploadModal){position:fixed!important;inset:0!important;z-index:2200!important;display:flex!important;align-items:flex-start!important;justify-content:center!important;overflow:hidden!important;padding:0!important;background:rgba(31,42,60,.42)!important}
 .albumUploadModal{width:100%!important;max-width:none!important;height:var(--ruya-media-vh,100dvh)!important;max-height:var(--ruya-media-vh,100dvh)!important;margin:0!important;padding:16px 14px calc(26px + env(safe-area-inset-bottom))!important;border-radius:0!important;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important;box-sizing:border-box!important}
 .albumUploadModal .sectionHead{position:sticky!important;top:-16px!important;z-index:4!important;margin:-16px -14px 16px!important;padding:14px!important;background:rgba(255,255,255,.97)!important;backdrop-filter:blur(14px)!important;-webkit-backdrop-filter:blur(14px)!important;border-bottom:1px solid #e4e9ef!important}
 .albumUploadModal .formGrid{grid-template-columns:minmax(0,1fr)!important}.albumUploadModal .field,.albumUploadModal input,.albumUploadModal select,.albumUploadModal textarea,.albumUploadModal .mediaDropField{width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important}
 .albumUploadModal .mediaDropField{min-height:132px!important;margin-top:10px!important}.albumUploadModal>button[type="submit"]{position:sticky!important;bottom:calc(8px + env(safe-area-inset-bottom))!important;z-index:5!important;width:100%!important;min-height:48px!important;margin-top:14px!important;box-shadow:0 10px 28px rgba(34,55,83,.22)!important}
}

/* Admin app: responsive shell and all subpages, intentionally scoped to admin only. */
@media(max-width:780px){
 html,body{max-width:100%;overflow-x:hidden}
 .role-admin{display:block!important;max-width:100vw!important;overflow-x:hidden!important}.role-admin .sidebar{display:none!important}.role-admin .main{width:100%!important;max-width:100vw!important;min-width:0!important;margin:0!important;padding:8px 10px calc(var(--ruya-v207-mobile-nav) + env(safe-area-inset-bottom) + 18px)!important;overflow-x:hidden!important;box-sizing:border-box!important}
 .role-admin .v6Topbar,.role-admin .topbar{width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important}.role-admin .v6Topbar{padding-left:55px!important}.role-admin #v74StaffMenuBtn{position:absolute!important;left:8px!important;top:50%!important;transform:translateY(-50%)!important;z-index:6!important}
 .role-admin .card,.role-admin .v5Page,.role-admin .v5ParentPage,.role-admin .hero,.role-admin .sectionHead,.role-admin .modal,.role-admin form,.role-admin fieldset{max-width:100%!important;min-width:0!important;box-sizing:border-box!important}
 .role-admin .cards,.role-admin .grid2,.role-admin .grid3,.role-admin .tiles,.role-admin .formGrid,.role-admin .v5ToggleGrid,.role-admin .v5PermGrid,.role-admin .adminQuickGrid,.role-admin .quickGrid{grid-template-columns:minmax(0,1fr)!important}
 .role-admin .sectionHead,.role-admin .v5Intro{flex-wrap:wrap!important;align-items:flex-start!important;gap:10px!important}.role-admin .sectionHead>.actions,.role-admin .v5Intro>.actions{max-width:100%!important;flex-wrap:wrap!important}
 .role-admin input,.role-admin select,.role-admin textarea,.role-admin button{max-width:100%;box-sizing:border-box}.role-admin input,.role-admin select,.role-admin textarea{min-width:0!important;width:100%}
 .role-admin table.adminResponsiveTable,.role-admin .adminDirectoryCard table,.role-admin .v5Page table{display:block!important;width:100%!important;max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;white-space:nowrap!important}
 .role-admin .actions{flex-wrap:wrap!important;max-width:100%!important}.role-admin .actions>button{min-height:40px}
 .role-admin .modalBack:not(.studentWizardBack):not(:has(.adminUserEditor)):not(:has(.albumUploadModal)){position:fixed!important;inset:0!important;z-index:2000!important;align-items:flex-start!important;padding:0!important;overflow:hidden!important}
 .role-admin .modalBack:not(.studentWizardBack):not(:has(.adminUserEditor)):not(:has(.albumUploadModal))>.modal{width:100%!important;max-width:none!important;height:var(--ruya-admin-vh,100dvh)!important;max-height:var(--ruya-admin-vh,100dvh)!important;margin:0!important;border-radius:0!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;padding-bottom:calc(24px + env(safe-area-inset-bottom))!important}
 .role-admin .v5AlbumGrid,.role-admin .v5ServiceGrid,.role-admin .dashboardApprovalList{grid-template-columns:minmax(0,1fr)!important}
 .role-admin .studentAdminTable .actions{min-width:210px}
}
@media(max-width:430px){.role-admin .profileName,.role-admin .profileRole{display:none!important}.role-admin .v6Topbar{min-height:58px!important}.role-admin .sectionHead>.actions>button,.role-admin .v5Intro>button{width:100%!important}}

/* New student wizard: real mobile viewport, only body scrolls, progress controls never disappear. */
body.ruyaStudentWizardOpen{overflow:hidden!important;overscroll-behavior:none!important}
@media(max-width:780px){
 body.ruyaStudentWizardOpen #v741QuickNav,body.ruyaStudentWizardOpen .role-admin>.bottomNav{display:none!important}
 .studentWizardBack{position:fixed!important;inset:0!important;z-index:2400!important;width:100vw!important;height:var(--ruya-student-vh,100dvh)!important;max-height:var(--ruya-student-vh,100dvh)!important;display:block!important;padding:0!important;overflow:hidden!important}
 .studentWizard{width:100%!important;max-width:none!important;height:100%!important;max-height:100%!important;margin:0!important;border-radius:0!important;grid-template-rows:auto auto minmax(0,1fr) auto!important;overflow:hidden!important}
 .studentWizardTop,.studentWizardProgress,.studentWizardFooter{position:relative!important;z-index:3!important;flex:0 0 auto!important}.studentWizardBody{min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important;padding-bottom:16px!important}
 .studentWizardFooter{display:grid!important;grid-template-columns:minmax(82px,.8fr) minmax(108px,1.15fr) minmax(82px,.8fr)!important;gap:7px!important;padding:9px 10px calc(9px + env(safe-area-inset-bottom))!important;background:#fff!important;border-top:1px solid #e1e7ed!important;box-shadow:0 -10px 24px rgba(36,54,76,.08)!important}
 .studentWizardFooter>button{display:flex!important;min-width:0!important;min-height:46px!important;padding:8px 7px!important;align-items:center!important;justify-content:center!important;gap:4px!important;font-size:11px!important;white-space:nowrap!important}.studentWizardFooter>button span{display:inline!important}.studentWizardFooter .wizardSaveButton b{display:none!important}.studentWizardFooterPlaceholder{display:block}
 .registrationGrid,.quickRegistrationGrid,.familyRegistrationGrid{grid-template-columns:minmax(0,1fr)!important}.registrationColumn{min-width:0!important}.registrationCard{min-width:0!important;max-width:100%!important}.registrationCard .formGrid{grid-template-columns:minmax(0,1fr)!important}.registrationPhone>div{min-width:0!important}.registrationPhone input{min-width:0!important}
}
@media(max-width:370px){.studentWizardFooter{grid-template-columns:1fr 1.15fr 1fr!important;gap:4px!important;padding-inline:6px!important}.studentWizardFooter>button{font-size:10px!important;padding-inline:4px!important}}

/* V2.0.7 final viewport hardening after 390x844 layout QA */
@media(max-width:780px){
 .studentWizardBack>.studentWizard{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-height:100%!important;margin:0!important}
 .modalBack:has(.albumUploadModal)>.albumUploadModal{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-height:100%!important;margin:0!important}
}
@media(max-width:780px){
 .studentWizardBack>.studentWizard{position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:100vw!important;height:var(--ruya-student-vh,100dvh)!important;max-height:var(--ruya-student-vh,100dvh)!important}
 .modalBack:has(.albumUploadModal)>.albumUploadModal{position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:100vw!important;height:var(--ruya-media-vh,100dvh)!important;max-height:var(--ruya-media-vh,100dvh)!important}
}
@media(max-width:780px){
 .studentWizardBack,.modalBack:has(.albumUploadModal){transform:none!important;animation:none!important}
}


/* =========================================================
   Rüya Ailem V2.0.7 — common viewport/upload + parent/admin UX
   ========================================================= */
:root{--ruya-v207-mobile-nav:92px}

/* All React upload dialogs share one viewport contract. */
body.ruyaUploadViewportOpen{overflow:hidden!important;overscroll-behavior:none!important;touch-action:none!important}
body.ruyaUploadViewportOpen #v741QuickNav,
body.ruyaUploadViewportOpen .role-teacher>.bottomNav,
body.ruyaUploadViewportOpen .role-teacher .bottomNav,
body.ruyaUploadViewportOpen .v743TeacherCompact,
body.ruyaUploadViewportOpen .mobileNevxupCredit{display:none!important}
body.ruyaUploadViewportOpen .role-teacher,
body.ruyaUploadViewportOpen .role-teacher .shell,
body.ruyaUploadViewportOpen .role-teacher .main{transform:none!important;filter:none!important;perspective:none!important;contain:none!important;overflow:visible!important}
.uploadViewportBack{position:fixed!important;inset:0!important;z-index:10050!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:18px!important;overflow:hidden!important;background:rgba(30,40,58,.48)!important;box-sizing:border-box!important}
.uploadViewportModal{display:grid!important;grid-template-rows:auto minmax(0,1fr) auto!important;width:min(760px,96vw)!important;max-width:760px!important;height:min(820px,var(--ruya-upload-vh,92dvh))!important;max-height:var(--ruya-upload-vh,92dvh)!important;margin:0!important;padding:0!important;overflow:hidden!important;border-radius:26px!important;background:#fff!important;box-sizing:border-box!important}
.uploadModalHeader{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:16px!important;padding:20px 22px 16px!important;border-bottom:1px solid #e4e9f0!important;background:rgba(255,255,255,.98)!important;z-index:3!important}
.uploadModalHeader h3{margin:0 0 6px!important;font-size:25px!important}.uploadModalHeader p{margin:0!important;color:#7a8799!important;line-height:1.45!important}.uploadModalHeader>button{flex:0 0 auto!important;min-height:44px!important;padding:9px 15px!important;border:1px solid #d8e0ea!important;border-radius:14px!important;background:#fff!important;color:#33465f!important;font-weight:800!important}
.uploadModalBody{min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important;padding:18px 22px 22px!important;box-sizing:border-box!important}
.uploadModalFooter{display:grid!important;grid-template-columns:minmax(110px,.75fr) minmax(180px,1.3fr)!important;gap:10px!important;padding:13px 22px calc(13px + env(safe-area-inset-bottom))!important;border-top:1px solid #e2e8ef!important;background:rgba(255,255,255,.99)!important;box-shadow:0 -10px 28px rgba(35,50,70,.07)!important;z-index:4!important}
.uploadModalFooter>button,.uploadModalFooter>.btn{width:100%!important;min-width:0!important;min-height:48px!important;margin:0!important}
.uploadModalBody .formGrid{align-items:start!important}.uploadModalBody .field,.uploadModalBody input,.uploadModalBody select,.uploadModalBody textarea,.uploadModalBody .mediaDropField{min-width:0!important;max-width:100%!important;box-sizing:border-box!important}.uploadModalBody input,.uploadModalBody select,.uploadModalBody textarea{width:100%!important}.uploadModalBody .mediaDropField{margin-top:8px!important;min-height:130px!important}
.selectedUploadFile{display:flex!important;gap:10px!important;align-items:center!important;margin-top:12px!important;padding:12px!important;border-radius:15px!important;background:#edf7f1!important;border:1px solid #d7eadf!important}.selectedUploadFile span{font-weight:900!important;color:#26855a!important}

/* Parent sub-pages: never exceed viewport and never become visually empty when lists are empty. */
.role-parent .v5Empty{min-width:0!important;max-width:100%!important;box-sizing:border-box!important}
@media(max-width:780px){
 .role-parent,.role-parent .shell,.role-parent .main.parentMain{width:100%!important;max-width:100vw!important;min-width:0!important;overflow-x:hidden!important;box-sizing:border-box!important}
 .role-parent .main.parentMain{padding-left:10px!important;padding-right:10px!important;padding-bottom:calc(var(--ruya-v207-mobile-nav) + env(safe-area-inset-bottom) + 22px)!important}
 .role-parent .v5ParentPage,.role-parent .parentAppHome,.role-parent .parentV53Home,.role-parent .parentDailyV53,.role-parent .parentAttendanceV53{width:100%!important;max-width:100%!important;min-width:0!important;margin-left:auto!important;margin-right:auto!important;overflow-x:hidden!important;box-sizing:border-box!important}
 .role-parent .v5ParentPage>*{min-width:0!important;max-width:100%!important;box-sizing:border-box!important}
 .role-parent .v5DocGrid,.role-parent .v5LearnGrid,.role-parent .v5AlbumGrid,.role-parent .v5SurveyGrid,.role-parent .v5Calendar,.role-parent .v5ServiceGrid,.role-parent .menuDays,.role-parent .grid2,.role-parent .grid3{grid-template-columns:minmax(0,1fr)!important;width:100%!important;max-width:100%!important}
 .role-parent .uploadedDocumentCard,.role-parent .learningUploadCard,.role-parent .realMediaAlbumCard,.role-parent .v5SurveyGrid>article,.role-parent .v5Calendar>article,.role-parent .v5ServiceGrid>article{min-width:0!important;max-width:100%!important;overflow:hidden!important;box-sizing:border-box!important}
 .role-parent .uploadedFileActions,.role-parent .learningFileActions,.role-parent .albumCardInfo{flex-wrap:wrap!important;min-width:0!important}.role-parent .uploadedFileActions>a,.role-parent .uploadedFileActions>button,.role-parent .learningFileActions>a,.role-parent .learningFileActions>button{max-width:100%!important;white-space:normal!important}
 .role-parent .v5ParentPage>.v5Empty{margin:12px 4px!important;width:calc(100% - 8px)!important}
 .role-parent .v746ParentCompact{max-width:100%!important;box-sizing:border-box!important}
}

/* Super Admin is protected: only password change is exposed. */
.adminUserGrid article footer .changePin{width:100%!important;min-height:46px!important;border:1px solid #cfd9e6!important;border-radius:14px!important;background:linear-gradient(135deg,#eef4fb,#f1ecf8)!important;color:#405476!important;font-weight:900!important}
.superAdminPinModal{width:min(500px,94vw)!important;max-height:min(720px,92dvh)!important;overflow:auto!important}.securityModalIcon{display:grid!important;place-items:center!important;width:54px!important;height:54px!important;border-radius:17px!important;background:#eee8f7!important;font-size:27px!important;margin-bottom:12px!important}.superAdminPinModal>footer{display:grid!important;grid-template-columns:1fr 1.35fr!important;gap:10px!important;margin-top:16px!important}.superAdminPinModal>footer>*{width:100%!important}

/* General Settings is grouped and calm on desktop, single-column on mobile. */
.generalSettingsOrganized{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;align-items:start!important}.settingsGroupCard{margin:0!important;min-width:0!important;padding:20px!important;border-radius:22px!important}.settingsGroupHead{display:flex!important;align-items:flex-start!important;gap:12px!important;padding-bottom:14px!important;margin-bottom:16px!important;border-bottom:1px solid #e7ebf1!important}.settingsGroupHead>span{display:grid!important;place-items:center!important;flex:0 0 38px!important;width:38px!important;height:38px!important;border-radius:12px!important;background:#eee9f7!important;color:#66528b!important;font-weight:900!important}.settingsGroupHead h3{margin:0 0 4px!important}.settingsGroupHead p{margin:0!important;color:#7c8799!important;line-height:1.4!important}.settingsColorGrid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}.settingsColorGrid label{display:grid!important;grid-template-columns:1fr auto!important;gap:6px 8px!important;align-items:center!important;padding:11px!important;border:1px solid #e1e6ed!important;border-radius:14px!important}.settingsColorGrid label>span{grid-column:1/-1!important;font-size:12px!important;color:#748096!important}.settingsColorGrid input[type=color]{width:42px!important;height:34px!important;border:0!important;background:transparent!important;padding:0!important}.settingsColorGrid b{font-size:12px!important;color:#556177!important;overflow-wrap:anywhere!important}.settingsRuleGrid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}.settingsRuleGrid article{display:grid!important;gap:5px!important;padding:15px!important;border-radius:16px!important;background:#f7f9fc!important;border:1px solid #e4e9f0!important}.settingsRuleGrid article b{font-size:12px!important;color:#7a8699!important}.settingsRuleGrid article strong{font-size:16px!important;color:#293a57!important}.settingsRuleGrid article small{line-height:1.45!important;color:#7b8798!important}.taxSettingsRow{display:grid!important;grid-template-columns:minmax(140px,.55fr) minmax(0,1.45fr)!important;gap:14px!important;align-items:stretch!important}.vatIncludedSwitch{display:flex!important;gap:12px!important;align-items:center!important;padding:13px!important;border:1px solid #e2e7ee!important;border-radius:16px!important;background:#fafbfd!important}.vatIncludedSwitch>input{position:absolute!important;opacity:0!important;pointer-events:none!important}.vatIncludedSwitch>i{position:relative!important;flex:0 0 46px!important;width:46px!important;height:26px!important;border-radius:99px!important;background:#cbd4df!important}.vatIncludedSwitch>i:after{content:""!important;position:absolute!important;left:3px!important;top:3px!important;width:20px!important;height:20px!important;border-radius:50%!important;background:#fff!important;transition:.18s!important}.vatIncludedSwitch>input:checked+i{background:#6d63c9!important}.vatIncludedSwitch>input:checked+i:after{transform:translateX(20px)!important}.vatIncludedSwitch b,.vatIncludedSwitch small{display:block!important}.vatIncludedSwitch small{margin-top:4px!important;color:#7b8798!important}.logoSettingPreview{display:flex!important;align-items:center!important;gap:12px!important;margin-top:12px!important;padding:12px!important;border-radius:16px!important;background:#fafbfd!important;border:1px solid #e4e9f0!important}.logoSettingPreview img{width:60px!important;height:60px!important;object-fit:contain!important;border-radius:12px!important;background:#fff!important}.logoSettingPreview>div{min-width:0!important;flex:1!important}.logoSettingPreview b,.logoSettingPreview small{display:block!important}.logoSettingPreview small{color:#7b8798!important;margin-top:3px!important}.logoSettingPreview button{border:0!important;background:#f8e9e9!important;color:#9e5050!important;border-radius:11px!important;padding:9px 11px!important;font-weight:800!important}.settingsSaveBar{grid-column:1/-1!important;position:sticky!important;bottom:12px!important;z-index:20!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;padding:14px 16px!important;border:1px solid #dae2ec!important;border-radius:18px!important;background:rgba(255,255,255,.96)!important;backdrop-filter:blur(16px)!important;-webkit-backdrop-filter:blur(16px)!important;box-shadow:0 15px 38px rgba(39,55,77,.13)!important}.settingsSaveBar b,.settingsSaveBar small{display:block!important}.settingsSaveBar small{margin-top:3px!important;color:#7b8798!important}.settingsSavedToast{display:flex!important;align-items:center!important;gap:10px!important;padding:12px 15px!important;border-radius:15px!important;background:#edf8f2!important;color:#39715a!important;border:1px solid #d5eadf!important}.settingsSavedToast span{font-weight:900!important}.settingsSavedToast b,.settingsSavedToast small{display:block!important}.settingsSavedToast small{margin-top:2px!important;color:#6f877b!important}

@media(max-width:780px){
 .uploadViewportBack{align-items:stretch!important;padding:0!important}.uploadViewportModal{width:100vw!important;max-width:none!important;height:var(--ruya-upload-vh,100dvh)!important;max-height:var(--ruya-upload-vh,100dvh)!important;border-radius:0!important}.uploadModalHeader{padding:calc(13px + env(safe-area-inset-top)) 14px 12px!important}.uploadModalHeader h3{font-size:23px!important}.uploadModalBody{padding:15px 14px 22px!important}.uploadModalBody .formGrid{grid-template-columns:minmax(0,1fr)!important}.uploadModalFooter{grid-template-columns:minmax(0,.8fr) minmax(0,1.35fr)!important;padding:10px 12px calc(10px + env(safe-area-inset-bottom))!important}.uploadModalFooter>button,.uploadModalFooter>.btn{min-height:46px!important;padding-left:8px!important;padding-right:8px!important;font-size:13px!important}
 .generalSettingsOrganized{grid-template-columns:minmax(0,1fr)!important;gap:12px!important}.settingsGroupCard{padding:15px!important}.settingsColorGrid,.settingsRuleGrid,.taxSettingsRow{grid-template-columns:minmax(0,1fr)!important}.settingsTextGrid{grid-template-columns:minmax(0,1fr)!important}.settingsSaveBar{bottom:calc(var(--ruya-v207-mobile-nav) + env(safe-area-inset-bottom) + 8px)!important;display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:10px!important}.settingsSaveBar>.btn{width:100%!important}.superAdminPinModal{width:100%!important;max-width:none!important;height:var(--ruya-admin-vh,100dvh)!important;max-height:var(--ruya-admin-vh,100dvh)!important;border-radius:0!important;padding:18px 14px calc(18px + env(safe-area-inset-bottom))!important}.superAdminPinModal>footer{position:sticky!important;bottom:0!important;background:#fff!important;padding-top:10px!important}
}


/* =====================================================================
   RÜYA AİLEM V2.0.8 — TESLİM ÖNCESİ MOBİL / RAPOR / FİNANS KATMANI
   ===================================================================== */
:root{--ruya-v208-mobile-nav:82px}

/* Öğretmende tek alt navigasyon: injected quick nav kullanılır, React alt bar gizlenir. */
@media(max-width:780px){
 .shell.role-teacher>.bottomNav,.role-teacher.shell>.bottomNav{display:none!important}
 #v741QuickNav{z-index:1500!important;box-shadow:0 12px 34px rgba(39,55,75,.16)!important}
 #v741QuickNav:before,#v741QuickNav:after{display:none!important;content:none!important}
}

/* Veli: eski legacy üst bar tamamen devreden çıkar; her sayfa aynı native header ile başlar. */
#v760ParentTopbar{display:none!important}
body.v760ParentSubPage .role-parent .v52ParentHeader{display:block!important}
body.v760ParentSubPage .role-parent .main,body.v760ParentSubPage .role-parent .main.parentMain{padding-top:0!important}
@media(max-width:780px){
 .role-parent .main,.role-parent .main.parentMain{width:100%!important;max-width:100vw!important;padding-top:0!important;overflow-x:hidden!important;overscroll-behavior-y:none!important}
 .role-parent .v52ParentHeader{box-sizing:border-box!important;width:calc(100% + 20px)!important;max-width:none!important;margin-left:-10px!important;margin-right:-10px!important;margin-top:0!important;padding-top:calc(14px + env(safe-area-inset-top))!important}
 .role-parent .v5ParentPage,.role-parent .parentTeacherHome,.role-parent .parentAppHome{margin-top:0!important;padding-top:0!important;transform:none!important}
 .role-parent .v52HeaderTop{min-height:52px!important;align-items:center!important}
 .role-parent .v52HeaderTitle{margin-top:10px!important}
 body.ruyaParentUnifiedHeader{overscroll-behavior-y:none!important}
}

/* Yeni Kullanıcı modalı: desktop/laptop/tablet/mobile gerçek viewport, yalnız gövde scroll. */
body.adminUserEditorOpen{overflow:hidden!important}
body.adminUserEditorOpen .modalBack:has(.adminUserEditor){position:fixed!important;inset:0!important;z-index:2600!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;padding:clamp(10px,2vh,22px)!important;box-sizing:border-box!important}
.adminUserEditor{position:relative!important;display:grid!important;grid-template-rows:minmax(0,1fr) auto!important;width:min(980px,calc(100vw - 32px))!important;max-width:980px!important;height:min(820px,calc(var(--ruya-admin-user-vh,100dvh) - 32px))!important;max-height:calc(var(--ruya-admin-user-vh,100dvh) - 32px)!important;margin:0!important;padding:0!important;overflow:hidden!important;border-radius:26px!important;background:#fff!important;box-sizing:border-box!important}
.adminUserEditor>.modalTopClose{position:absolute!important;right:16px!important;top:14px!important;z-index:8!important}
.adminUserEditorBody{min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important;padding:26px 26px 22px!important;padding-right:68px!important;box-sizing:border-box!important}
.adminUserEditorBody>.formGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:13px!important}
.adminUserEditor .adminPermissionPicker>section{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
.adminUserEditor>footer{position:relative!important;z-index:7!important;display:grid!important;grid-template-columns:minmax(120px,.75fr) minmax(180px,1.25fr)!important;justify-content:end!important;gap:10px!important;margin:0!important;padding:13px 22px calc(13px + env(safe-area-inset-bottom))!important;border-top:1px solid #e1e7ef!important;background:#fff!important;box-shadow:0 -8px 26px rgba(42,57,78,.08)!important}
.adminUserEditor>footer>*{width:100%!important;min-height:46px!important;margin:0!important}
@media(max-height:720px) and (min-width:781px){.adminUserEditor{height:calc(var(--ruya-admin-user-vh,100dvh) - 18px)!important;max-height:calc(var(--ruya-admin-user-vh,100dvh) - 18px)!important}.adminUserEditorBody{padding-top:20px!important;padding-bottom:16px!important}.adminUserEditorBody>.formGrid{gap:9px!important}.adminUserEditor .adminPermissionPicker>section{gap:6px!important}}
@media(max-width:780px){
 body.adminUserEditorOpen .modalBack:has(.adminUserEditor){padding:0!important;align-items:stretch!important}
 .adminUserEditor{width:100vw!important;max-width:none!important;height:var(--ruya-admin-user-vh,100dvh)!important;max-height:var(--ruya-admin-user-vh,100dvh)!important;border-radius:0!important}
 .adminUserEditorBody{padding:calc(18px + env(safe-area-inset-top)) 14px 18px!important;padding-right:56px!important}.adminUserEditorBody>.formGrid{grid-template-columns:minmax(0,1fr)!important}
 .adminUserEditor .adminPermissionPicker>section{grid-template-columns:minmax(0,1fr)!important}.adminUserEditor>footer{grid-template-columns:.8fr 1.3fr!important;padding-left:12px!important;padding-right:12px!important}
}

/* Genel Ayarlar: dağınık iki kolon yerine sakin, yatay bölüm mimarisi. */
.generalSettingsPage,.supportSettingsPage{width:min(1220px,100%)!important;margin-left:auto!important;margin-right:auto!important}
.generalSettingsOrganized{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important;align-items:stretch!important}
.settingsGroupCard{display:grid!important;grid-template-columns:245px minmax(0,1fr)!important;column-gap:24px!important;row-gap:12px!important;align-items:start!important;min-height:0!important;padding:20px 22px!important;border-radius:22px!important}
.settingsGroupHead{grid-column:1!important;grid-row:1/span 8!important;display:grid!important;grid-template-columns:42px minmax(0,1fr)!important;align-content:start!important;align-items:start!important;gap:10px!important;margin:0!important;padding:4px 22px 4px 0!important;border:0!important;border-right:1px solid #e5eaf0!important}
.settingsGroupCard>.formGrid,.settingsGroupCard>.settingsColorGrid,.settingsGroupCard>.settingsTextGrid,.settingsGroupCard>.settingsRuleGrid,.settingsGroupCard>.taxSettingsRow,.settingsGroupCard>.logoSettingPreview{grid-column:2!important;margin:0!important}
.settingsColorGrid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.settingsTextGrid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.settingsRuleGrid{grid-template-columns:1fr 1fr!important}.taxSettingsRow{grid-template-columns:minmax(180px,.55fr) minmax(0,1.45fr)!important;align-items:stretch!important}.vatIncludedSwitch{min-height:82px!important;align-items:center!important}.vatIncludedSwitch>div{min-width:0!important}.vatIncludedSwitch small{max-width:390px!important;line-height:1.5!important}
.settingsSaveBar{position:sticky!important;bottom:12px!important;margin-top:2px!important}
.supportSettingsPage{margin-top:12px!important}.supportSettingsCard{border-radius:22px!important}.supportSettingsCard .lockedSettingsGrid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
@media(max-width:980px){.settingsGroupCard{grid-template-columns:190px minmax(0,1fr)!important;column-gap:16px!important}.settingsColorGrid,.settingsTextGrid{grid-template-columns:1fr 1fr!important}.supportSettingsCard .lockedSettingsGrid{grid-template-columns:1fr 1fr!important}}
@media(max-width:780px){
 .generalSettingsPage,.supportSettingsPage{width:100%!important}.settingsGroupCard{display:block!important;padding:15px!important}.settingsGroupHead{display:flex!important;margin-bottom:15px!important;padding:0 0 13px!important;border-right:0!important;border-bottom:1px solid #e5eaf0!important}.settingsColorGrid,.settingsTextGrid,.settingsRuleGrid,.taxSettingsRow,.supportSettingsCard .lockedSettingsGrid{grid-template-columns:minmax(0,1fr)!important}.settingsSaveBar{bottom:calc(var(--ruya-v208-mobile-nav) + env(safe-area-inset-bottom) + 8px)!important}
}

/* Günlük takip raporu: izole print penceresi için net aksiyonlar. */
.dailyReportPrintActions{display:flex!important;gap:8px!important;flex-wrap:wrap!important}.dailyReportPrintActions button{min-height:42px!important;padding:9px 13px!important;border:1px solid #cfdae8!important;border-radius:12px!important;background:#fff!important;color:#405a78!important;font-weight:800!important;cursor:pointer!important}.dailyReportPrintActions button:last-child{background:linear-gradient(135deg,#6b54d8,#1f4f9a)!important;color:#fff!important;border-color:transparent!important}

/* Öğrenci Finans Özeti çıktı/paylaşım ve detay ödeme planı. */
.financePrintBrand{display:none;align-items:center;gap:10px;padding:14px 20px;border-bottom:1px solid #dfe6ee;background:#fff}.financePrintBrand img{width:48px;height:48px;object-fit:contain;border-radius:10px}.financePrintBrand div{display:grid;gap:2px}.financePrintBrand b{color:#30445c}.financePrintBrand span,.financePrintBrand small{color:#758497;font-size:10px}.financePrintBrand>small{margin-left:auto}
.financeProfileActionBar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 22px;border-bottom:1px solid #e0e7ef;background:rgba(255,255,255,.97)}.financeProfileActionBar>div:first-child{display:grid;gap:2px}.financeProfileActionBar>div:first-child b{color:#30445b}.financeProfileActionBar>div:first-child small{color:#7c899b}.financeProfileActionBar>div:last-child{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.financeProfileActionBar button{min-height:40px;padding:8px 12px;border:1px solid #d2ddea;border-radius:11px;background:#fff;color:#405873;font-weight:800;cursor:pointer}.financeProfileActionBar button:nth-child(2){background:#eef0fb;color:#574fa5}.financeProfileActionBar button.whatsapp{background:#eaf7ef;color:#26764d;border-color:#cee9da}
.financePaymentPlanDetail{margin:16px 22px 0;padding:18px;border:1px solid #dfe7ef;border-radius:20px;background:#fff}.financePaymentPlanTable{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.financePaymentPlanTable>.head,.financePaymentPlanTable>.row{display:grid;grid-template-columns:52px 94px 100px 100px 100px 105px minmax(125px,1fr) 120px 78px minmax(100px,1fr);gap:8px;align-items:center;min-width:980px;padding:10px 8px;border-bottom:1px solid #e8edf2}.financePaymentPlanTable>.head{position:sticky;top:0;z-index:1;background:#f5f8fb;color:#728197;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.financePaymentPlanTable>.row{font-size:9px;color:#52657c}.financePaymentPlanTable>.row b{color:#32475f}.financePaymentPlanTable>.row strong{color:#2e805a}.financePaymentPlanTable>.row em{color:#ad6b29;font-style:normal;font-weight:800}.financePaymentPlanTable .badge{font-size:7px!important;white-space:normal!important}.financePrintFooter{display:none;justify-content:space-between;gap:20px;margin:18px 22px 0;padding:13px 0 2px;border-top:1px solid #dfe6ee;color:#7d8998;font-size:8px}.financePrintFooter b{color:#314a72}
@media(max-width:760px){.financeProfileActionBar{display:grid!important;padding:12px 14px!important}.financeProfileActionBar>div:last-child{display:grid!important;grid-template-columns:1fr 1fr!important}.financeProfileActionBar button.whatsapp{grid-column:1/-1}.financePaymentPlanDetail{margin-left:12px!important;margin-right:12px!important;padding:13px!important}}
@media print{.financeProfileActionBar,.modalTopClose,.openCollectionButton{display:none!important}.financePrintBrand,.financePrintFooter{display:flex!important}.printableStudentPaymentProfile{max-height:none!important;overflow:visible!important}.financePaymentPlanDetail{margin:10px 0!important;padding:10px!important}.financePaymentPlanTable{overflow:visible!important}.financePaymentPlanTable>.head,.financePaymentPlanTable>.row{min-width:0!important;grid-template-columns:32px 58px 67px 67px 67px 68px 85px 75px 48px 65px!important;gap:3px!important;padding:5px 2px!important;font-size:5.8pt!important}.financePaymentPlanTable .badge{font-size:5.5pt!important;padding:3px!important}.studentPaymentProfileHero,.studentPaymentMetricGrid,.paymentHabitInfographics,.paymentBehaviorDetails,.paymentInstallmentJourney,.financePaymentPlanDetail{break-inside:avoid;page-break-inside:avoid}}


/* V2.0.8 FINAL DELIVERY HARDENING — viewport, print and clean settings */
:root{--ruya-v208-mobile-nav:88px}

/* Teacher: exactly one bottom navigation layer. */
@media(max-width:780px){
 body:not(.ruyaUploadViewportOpen) .shell.role-teacher>.bottomNav{display:none!important;visibility:hidden!important;pointer-events:none!important;height:0!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important;box-shadow:none!important}
 .role-teacher #v741QuickNav{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;z-index:1900!important}
}

/* Parent: native header is the only upper chrome; legacy injected header can never reserve space. */
body.ruyaParentUnifiedHeader #v760ParentTopbar,#v760ParentTopbar{display:none!important;visibility:hidden!important;height:0!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;overflow:hidden!important;pointer-events:none!important}
body.ruyaParentUnifiedHeader.v760ParentSubPage{padding-top:0!important}
body.ruyaParentUnifiedHeader .role-parent .main.parentMain{padding-top:0!important;margin-top:0!important;transform:none!important;max-width:100vw!important;overflow-x:hidden!important}
body.ruyaParentUnifiedHeader .role-parent .v52ParentHeader{position:relative!important;top:auto!important;margin-top:0!important;padding-top:max(12px,env(safe-area-inset-top))!important;transform:none!important}
@media(max-width:780px){
 html,body{overscroll-behavior-y:none}
 body.ruyaParentUnifiedHeader .role-parent{width:100%!important;max-width:100vw!important;overflow-x:hidden!important}
 body.ruyaParentUnifiedHeader .role-parent .v5ParentPage,body.ruyaParentUnifiedHeader .role-parent .v5Page{width:100%!important;max-width:100%!important;min-width:0!important;overflow-x:hidden!important;box-sizing:border-box!important}
 body.ruyaParentUnifiedHeader .role-parent .main.parentMain{padding-bottom:calc(var(--ruya-v208-mobile-nav) + env(safe-area-inset-bottom) + 22px)!important}
}

/* Admin user editor: viewport owns the modal; only the body scrolls. */
body.adminUserEditorOpen{overflow:hidden!important;overscroll-behavior:none!important}
body.adminUserEditorOpen .modalBack:has(.adminUserEditor){position:fixed!important;inset:0!important;z-index:4000!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:clamp(8px,2vh,18px)!important;overflow:hidden!important;transform:none!important;box-sizing:border-box!important}
body.adminUserEditorOpen .adminUserEditor{position:relative!important;inset:auto!important;transform:none!important;display:grid!important;grid-template-rows:minmax(0,1fr) auto!important;width:min(980px,calc(100vw - 28px))!important;max-width:980px!important;height:min(820px,calc(var(--ruya-admin-user-vh,100dvh) - 24px))!important;max-height:calc(var(--ruya-admin-user-vh,100dvh) - 24px)!important;min-height:0!important;margin:0!important;padding:0!important;overflow:hidden!important;border-radius:24px!important;background:#fff!important}
body.adminUserEditorOpen .adminUserEditorBody{display:block!important;min-height:0!important;height:auto!important;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important;padding:24px 66px 28px 24px!important;box-sizing:border-box!important}
body.adminUserEditorOpen .adminUserEditorBody>h3{margin-top:0!important;padding-top:0!important}
body.adminUserEditorOpen .adminUserEditor>.modalTopClose{position:absolute!important;top:13px!important;right:14px!important;z-index:20!important}
body.adminUserEditorOpen .adminUserEditor>footer{position:relative!important;inset:auto!important;display:grid!important;grid-template-columns:minmax(120px,.8fr) minmax(190px,1.3fr)!important;gap:10px!important;width:100%!important;margin:0!important;padding:12px 20px calc(12px + env(safe-area-inset-bottom))!important;border-top:1px solid #e2e8ef!important;background:#fff!important;box-shadow:0 -8px 24px rgba(40,56,76,.08)!important;box-sizing:border-box!important}
body.adminUserEditorOpen .adminUserEditor>footer>*{width:100%!important;min-height:44px!important;margin:0!important}
@media(max-height:700px) and (min-width:781px){body.adminUserEditorOpen .adminUserEditor{height:calc(var(--ruya-admin-user-vh,100dvh) - 12px)!important;max-height:calc(var(--ruya-admin-user-vh,100dvh) - 12px)!important}body.adminUserEditorOpen .adminUserEditorBody{padding-top:18px!important;padding-bottom:18px!important}.adminUserEditor .adminPermissionPicker>section{gap:6px!important}.adminUserEditor .adminPermissionPicker label{padding:7px 9px!important}}
@media(max-width:780px){body.adminUserEditorOpen .modalBack:has(.adminUserEditor){padding:0!important;align-items:stretch!important}body.adminUserEditorOpen .adminUserEditor{width:100vw!important;max-width:none!important;height:var(--ruya-admin-user-vh,100dvh)!important;max-height:var(--ruya-admin-user-vh,100dvh)!important;border-radius:0!important}body.adminUserEditorOpen .adminUserEditorBody{padding:calc(18px + env(safe-area-inset-top)) 56px 20px 14px!important}.adminUserEditorBody>.formGrid,.adminUserEditor .adminPermissionPicker>section{grid-template-columns:minmax(0,1fr)!important}.adminUserEditor>footer{grid-template-columns:.8fr 1.3fr!important;padding-left:12px!important;padding-right:12px!important}}

/* General Settings: full-width rows instead of a loose masonry grid. */
.generalSettingsPage{max-width:1180px!important;margin-inline:auto!important}
.generalSettingsOrganized{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:14px!important;align-items:start!important}
.generalSettingsOrganized>.settingsGroupCard{display:grid!important;grid-template-columns:230px minmax(0,1fr)!important;gap:22px!important;align-items:start!important;width:100%!important;margin:0!important;padding:20px!important;border-radius:20px!important;box-sizing:border-box!important}
.settingsGroupHead{height:100%!important;align-items:flex-start!important;padding:2px 20px 2px 0!important;border-right:1px solid #e4e9ef!important;border-bottom:0!important;box-sizing:border-box!important}
.settingsGroupCard>.formGrid,.settingsGroupCard>.settingsColorGrid,.settingsGroupCard>.settingsRuleGrid,.settingsGroupCard>.taxSettingsRow,.settingsGroupCard>.logoSettingPreview{grid-column:2!important;min-width:0!important}
.settingsColorGrid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.settingsTextGrid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.settingsRuleGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.taxSettingsRow{grid-template-columns:minmax(180px,.45fr) minmax(0,1.55fr)!important;gap:16px!important}.vatIncludedSwitch{display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;align-items:center!important;gap:12px!important;min-height:88px!important}.vatIncludedSwitch>div{min-width:0!important}.vatIncludedSwitch small{display:block!important;max-width:520px!important;white-space:normal!important;line-height:1.45!important}
.settingsSaveBar{grid-column:1/-1!important;position:sticky!important;bottom:12px!important;z-index:50!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;width:100%!important;margin:2px 0 0!important;padding:13px 16px!important;border:1px solid #dce4ec!important;border-radius:16px!important;background:rgba(255,255,255,.96)!important;backdrop-filter:blur(16px)!important;box-shadow:0 12px 34px rgba(38,55,77,.12)!important;box-sizing:border-box!important}
.supportSettingsPage{max-width:1180px!important;margin:14px auto 0!important}.supportSettingsCard{margin:0!important}
@media(max-width:900px){.generalSettingsOrganized>.settingsGroupCard{grid-template-columns:180px minmax(0,1fr)!important;gap:16px!important}.settingsTextGrid{grid-template-columns:1fr 1fr!important}}
@media(max-width:780px){.generalSettingsPage{width:100%!important}.generalSettingsOrganized>.settingsGroupCard{display:block!important;padding:15px!important}.settingsGroupHead{height:auto!important;display:flex!important;margin-bottom:14px!important;padding:0 0 13px!important;border-right:0!important;border-bottom:1px solid #e4e9ef!important}.settingsGroupCard>.formGrid,.settingsGroupCard>.settingsColorGrid,.settingsGroupCard>.settingsRuleGrid,.settingsGroupCard>.taxSettingsRow,.settingsGroupCard>.logoSettingPreview{grid-column:auto!important}.settingsColorGrid,.settingsTextGrid,.settingsRuleGrid,.taxSettingsRow{grid-template-columns:minmax(0,1fr)!important}.settingsSaveBar{bottom:calc(var(--ruya-v208-mobile-nav) + env(safe-area-inset-bottom) + 8px)!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important}.settingsSaveBar small{display:none!important}}

/* Isolated report popup: force report content visible, no legacy print iframe rules. */
#ruyaPrintDocument{display:block!important;visibility:visible!important;width:100%!important;max-width:none!important;background:#fff!important;color:#26384d!important}
#ruyaPrintDocument *{visibility:visible!important}
#ruyaPrintDocument .printableProgressReport{display:grid!important;width:100%!important;opacity:1!important;position:static!important;transform:none!important}

/* Finance profile report: actions + complete installment plan remain readable. */
.financeProfileActionBar{position:sticky!important;top:0!important;z-index:12!important}
.financePaymentPlanDetail{overflow:hidden!important}.financePaymentPlanTable{overflow-x:auto!important}
.financePrintFooter{color:#7d8998!important}
