
:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;--navy:#172d64;--navy2:#0f2355;--red:#df3238;--bg:#f7f9fc;--text:#18213b;--muted:#778199;--line:#e8ebf2;--green:#20a45b;--softgreen:#e9f8ef;--yellow:#ffbf3c;--softyellow:#fff7df;--blue:#4389ff;--softblue:#eaf3ff;--purple:#7858d8;--softpurple:#f2edff}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}.login{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;background:#fff}.loginArt{position:relative;overflow:hidden;background:linear-gradient(160deg,#f9fbff,#eef3ff);display:flex;align-items:center;justify-content:center;padding:60px}.loginArt:before,.loginArt:after{content:"";position:absolute;border-radius:50%;background:#dfe8ff}.loginArt:before{width:420px;height:420px;left:-180px;bottom:-120px}.loginArt:after{width:300px;height:300px;right:-100px;top:-80px}.loginBrand{position:relative;z-index:2;text-align:center;max-width:560px}.loginBrand img{width:320px;mix-blend-mode:multiply}.loginBrand h1{font-size:48px;margin:28px 0 8px;color:var(--navy)}.loginBrand p{font-size:22px;color:var(--muted)}.schoolScene{height:260px;margin-top:25px;border-radius:36px;background:linear-gradient(#eef4ff,#fff);display:grid;place-items:center;font-size:120px;box-shadow:0 22px 70px rgba(23,45,100,.12)}.loginPanel{display:grid;place-items:center;padding:48px}.loginBox{width:min(460px,100%)}.loginBox h2{font-size:40px;margin:0 0 8px}.loginBox>p{color:var(--muted);font-size:19px}.field{margin-top:20px}.field label{display:block;font-weight:800;margin-bottom:8px;color:#59627a}.field input,.field select,.field textarea{width:100%;padding:17px 18px;border:1px solid var(--line);border-radius:17px;background:#fff;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:#8298d7;box-shadow:0 0 0 4px #eaf0ff}.btn{border:0;border-radius:15px;padding:12px 16px;font-weight:800;cursor:pointer}.primary{background:var(--navy);color:#fff}.danger{background:#e64c52;color:#fff}.secondary{background:#fff;border:1px solid var(--line);color:var(--text)}.loginButton{width:100%;padding:17px;margin-top:24px;font-size:19px;background:linear-gradient(135deg,var(--navy),#294b99);color:#fff;border:0;border-radius:18px;font-weight:900}.loginHint{margin-top:22px;padding:14px;border-radius:15px;background:#f6f8fd;color:var(--muted);line-height:1.7}
.shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,var(--navy),var(--navy2));color:#fff;padding:22px 14px;overflow:auto}.sidebar img{width:130px;display:block;margin:4px auto 18px;background:#fff;border-radius:20px;padding:12px}.sidebar h3{text-align:center;margin:0 0 24px}.navBtn{display:flex;align-items:center;gap:11px;width:100%;padding:12px 14px;border:0;background:transparent;color:#dce4ff;border-radius:13px;font-weight:800;text-align:left;cursor:pointer;margin-bottom:4px}.navBtn:hover,.navBtn.active{background:#ffffff18;color:#fff}.navIcon{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:#ffffff14}.main{padding:24px 28px 50px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:19px}.topbar h1{font-size:30px;margin:0}.topbar p{margin:5px 0 0;color:var(--muted)}.profileDot{width:52px;height:52px;border-radius:18px;background:var(--softpurple);display:grid;place-items:center;font-size:23px}.hero{background:linear-gradient(135deg,var(--navy),#2a4b98);color:#fff;border-radius:27px;padding:26px;box-shadow:0 18px 45px rgba(23,45,100,.18);margin-bottom:16px}.hero h2{font-size:32px;margin:0 0 7px}.hero p{margin:0;color:#e8edff}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px;margin-bottom:15px;box-shadow:0 9px 28px rgba(33,46,84,.055)}.stat{position:relative;overflow:hidden}.stat:after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;right:-25px;top:-25px;background:#f1f4fc}.stat b{display:block;font-size:32px;margin-top:9px;position:relative;z-index:1}.muted{color:var(--muted)}.sectionHead{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.sectionHead h3{margin:0;font-size:22px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:15px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.quickGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.quick{border-radius:20px;padding:17px;background:#fff;border:1px solid var(--line)}.quickIcon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;font-size:23px;margin-bottom:12px}.softBlue{background:var(--softblue);color:var(--blue)}.softGreen{background:var(--softgreen);color:var(--green)}.softYellow{background:var(--softyellow);color:#c78400}.softPurple{background:var(--softpurple);color:var(--purple)}.softRed{background:#fff0f0;color:var(--red)}
table{width:100%;border-collapse:collapse}th,td{padding:12px 9px;border-bottom:1px solid var(--line);text-align:left;font-size:14px}th{color:#6b748c}.search{width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:14px;margin-bottom:12px}.actions{display:flex;gap:6px;flex-wrap:wrap}.badge{display:inline-flex;align-items:center;padding:6px 9px;border-radius:999px;background:var(--softblue);color:var(--blue);font-weight:800;font-size:12px}.success{background:var(--softgreen);color:var(--green)}.warning{background:var(--softyellow);color:#a66b00}.avatar{width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,var(--navy),var(--red));color:#fff;display:grid;place-items:center;font-weight:900;object-fit:cover}.avatar.big{width:125px;height:125px;border-radius:28px;font-size:30px}.modalBack{position:fixed;inset:0;background:#10172b99;z-index:100;display:grid;place-items:center;padding:18px}.modal{width:min(900px,96vw);max-height:92vh;overflow:auto;background:#fff;border-radius:26px;padding:22px;box-shadow:0 25px 80px #0d153250}.formGrid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.checks{display:flex;gap:13px;flex-wrap:wrap;margin:8px 0 16px}.checks label{display:flex;gap:6px;align-items:center}.detail{display:grid;grid-template-columns:160px 1fr;gap:22px}.detailGrid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.detailItem{padding:11px;border-bottom:1px solid var(--line)}.detailItem b{display:block;font-size:12px;color:#737d94;margin-bottom:4px}.statusBox{display:flex;align-items:center;gap:12px;border-radius:19px;padding:16px;margin-bottom:15px}.schoolIn{background:var(--softgreen);color:#167444}.schoolOut{background:var(--softyellow);color:#9d6800}.parentHero{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,var(--navy),#3256ad);color:#fff;border-radius:28px;padding:25px;margin-bottom:15px}.parentHero h2{font-size:32px;margin:0}.parentHero p{color:#e3eaff}.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.tile{text-align:center;background:#fff;border:1px solid var(--line);border-radius:20px;padding:16px}.tile span{display:block;font-size:28px}.tile b{display:block;margin:7px 0 4px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.photoCard{border-radius:20px;overflow:hidden;background:#fff;border:1px solid var(--line)}.photoCard img{width:100%;height:190px;object-fit:cover}.photoCard b{display:block;padding:11px}.menuDays{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.menuDay{background:#fff;border:1px solid var(--line);border-radius:22px;padding:16px}.meal{background:#f8f9fd;border-radius:14px;padding:12px;margin-top:8px}.meal small{color:var(--muted)}.message{display:grid;grid-template-columns:50px 1fr;gap:11px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:15px;margin-bottom:9px}.message small{display:block;color:var(--muted);margin-top:3px}.timeline{display:grid;gap:9px}.timelineItem{display:grid;grid-template-columns:70px 1fr auto;gap:10px;align-items:center;padding:12px;background:#fafbfe;border-radius:14px}.bottomNav{display:none}
@media(max-width:1000px){.cards,.tiles{grid-template-columns:repeat(2,1fr)}.quickGrid{grid-template-columns:repeat(2,1fr)}.grid2{grid-template-columns:1fr}.gallery{grid-template-columns:repeat(2,1fr)}}
@media(max-width:780px){.login{grid-template-columns:1fr}.loginArt{display:none}.shell{display:block}.sidebar{display:none}.main{padding:15px 15px 84px}.topbar h1{font-size:23px}.cards,.tiles{grid-template-columns:repeat(2,1fr)}.menuDays{grid-template-columns:1fr}.gallery{grid-template-columns:repeat(2,1fr)}.formGrid,.detail,.detailGrid{grid-template-columns:1fr}.bottomNav{position:fixed;display:flex;left:0;right:0;bottom:0;background:#fff;border-top:1px solid var(--line);z-index:80;overflow-x:auto}.bottomNav button{min-width:95px;flex:1;border:0;background:#fff;padding:12px 8px;font-size:11px;color:var(--muted);font-weight:800}.bottomNav button.active{color:var(--red)}}
@media(max-width:520px){.cards,.tiles,.quickGrid{grid-template-columns:1fr 1fr}.gallery{grid-template-columns:1fr}.parentHero h2{font-size:25px}}

.quickButton{position:relative;text-align:left;cursor:pointer;font:inherit;color:inherit;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.quickButton:hover{transform:translateY(-3px);box-shadow:0 15px 35px rgba(23,45,100,.12);border-color:#cfd8ed}.quickArrow{position:absolute;right:18px;top:50%;transform:translateY(-50%);font-size:28px;color:#9aa5bd}.studentQuick{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:10px;text-align:left;border:1px solid var(--line);cursor:pointer;color:inherit;font:inherit}.studentQuick:hover{border-color:#cfd8ed;background:#fbfcff}.uploadPreview{display:grid;gap:10px;margin:14px 0}.uploadPreview img{width:100%;max-height:330px;object-fit:contain;border-radius:18px;border:1px solid var(--line);background:#f6f8fc;padding:8px}.btn:disabled{opacity:.55;cursor:not-allowed}

.photoCardButton{position:relative;width:100%;padding:0;text-align:left;color:inherit;font:inherit;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.photoCardButton:hover{transform:translateY(-3px);box-shadow:0 16px 38px rgba(23,45,100,.14);border-color:#cdd7ec}
.photoCardButton:focus-visible{outline:3px solid #9bb4ef;outline-offset:3px}
.photoOpenHint{position:absolute;right:10px;top:10px;padding:7px 10px;border-radius:999px;background:#172d64dd;color:#fff;font-size:12px;font-weight:900;box-shadow:0 6px 16px rgba(23,45,100,.2)}
.photoLightbox{position:fixed;inset:0;z-index:300;background:rgba(7,13,30,.92);display:grid;place-items:center;padding:20px;animation:photoFade .18s ease}
.photoLightboxPanel{width:min(1180px,98vw);height:min(900px,94vh);display:grid;grid-template-rows:auto 1fr auto;background:#0d1630;border:1px solid #ffffff1f;border-radius:26px;overflow:hidden;box-shadow:0 30px 100px #0009}
.photoLightboxTop,.photoLightboxBottom{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 18px;color:#fff;background:#101b38}
.photoLightboxTop div{display:grid;gap:3px}.photoLightboxTop span,.photoLightboxBottom span{color:#bbc6de;font-size:13px}
.photoClose{width:44px;height:44px;border:0;border-radius:14px;background:#ffffff16;color:#fff;font-size:30px;line-height:1;cursor:pointer}
.photoClose:hover{background:#ffffff2b}
.photoStage{position:relative;display:grid;place-items:center;min-height:0;background:#080f22;padding:18px}
.photoStage img{display:block;max-width:100%;max-height:100%;object-fit:contain;border-radius:14px;box-shadow:0 15px 50px #0007}
.photoNav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:54px;height:70px;border:0;border-radius:18px;background:#ffffff1f;color:#fff;font-size:48px;line-height:1;cursor:pointer;backdrop-filter:blur(10px)}
.photoNav:hover{background:#ffffff36}.photoPrev{left:18px}.photoNext{right:18px}
@keyframes photoFade{from{opacity:0}to{opacity:1}}
@media(max-width:780px){
  .photoLightbox{padding:0}
  .photoLightboxPanel{width:100vw;height:100vh;border-radius:0;border:0}
  .photoStage{padding:8px}
  .photoNav{width:44px;height:58px;font-size:40px;border-radius:15px}
  .photoPrev{left:8px}.photoNext{right:8px}
  .photoLightboxBottom span{display:none}
}

.choiceField{margin-top:18px}.choiceButtons{display:flex;gap:10px;flex-wrap:wrap}.choiceButton{min-width:120px;padding:13px 18px;border:1px solid var(--line);border-radius:15px;background:#fff;color:var(--text);font-weight:900;cursor:pointer}.choiceButton:hover{border-color:#9badd8}.choiceButton.selected{background:var(--navy);border-color:var(--navy);color:#fff;box-shadow:0 8px 20px rgba(23,45,100,.18)}
.requestCard,.medicationCard{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:16px;border:1px solid var(--line);border-radius:18px;background:#fff;margin-bottom:10px}.requestCard p,.medicationCard p{margin:6px 0}.requestCard select,.medicationCard select{display:block;margin-top:10px;padding:9px;border:1px solid var(--line);border-radius:11px}
.medicalWarning{padding:13px 15px;border-radius:14px;background:#fff7df;color:#815800;border:1px solid #f0dca0;margin-bottom:14px;line-height:1.5}.timeRow{display:flex;gap:8px;align-items:center;margin-bottom:8px}.timeRow input{flex:1}.consentRow{display:flex;gap:9px;align-items:flex-start;padding:13px;border-radius:14px;background:#f5f7fc;margin:15px 0;line-height:1.5}
@media(max-width:780px){.requestCard,.medicationCard{display:grid}.choiceButtons{display:grid;grid-template-columns:repeat(3,1fr)}.choiceButton{min-width:0;padding:12px 8px}.timeRow{align-items:stretch}}

.pickupHomeCard{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 22px;margin-bottom:15px;border-radius:22px;background:linear-gradient(135deg,#fff7df,#fff);border:1px solid #f2d889;box-shadow:0 10px 28px rgba(160,105,0,.08)}
.pickupHomeCard>div:first-child{display:grid;grid-template-columns:50px 1fr;column-gap:12px;align-items:center}.pickupHomeCard b{font-size:19px}.pickupHomeCard p{grid-column:2;margin:4px 0;color:#86631b}.pickupHomeIcon{grid-row:1/3;width:50px;height:50px;display:grid;place-items:center;border-radius:16px;background:#ffca4b;font-size:25px}
.pickupMiniOptions{display:flex;gap:8px}.pickupMiniOptions button{border:0;border-radius:13px;padding:12px 16px;background:var(--navy);color:#fff;font-weight:900;cursor:pointer}
.pickupActionCard{text-align:center}.pickupHeroIcon{width:92px;height:92px;margin:0 auto 13px;display:grid;place-items:center;border-radius:30px;background:var(--softyellow);font-size:45px}
.pickupTimeOptions{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}.pickupTimeOptions button{padding:18px 10px;border:2px solid var(--line);border-radius:20px;background:#fff;color:var(--text);cursor:pointer}.pickupTimeOptions button b,.pickupTimeOptions button span{display:block}.pickupTimeOptions button b{font-size:30px}.pickupTimeOptions button span{color:var(--muted)}.pickupTimeOptions button.selected{border-color:var(--red);background:#fff1f1;color:var(--red);box-shadow:0 10px 25px rgba(223,50,56,.12)}
.pickupSendButton{width:100%;border:0;border-radius:18px;padding:17px;background:linear-gradient(135deg,var(--red),#ef555a);color:#fff;font-size:18px;font-weight:900;cursor:pointer;box-shadow:0 12px 28px rgba(223,50,56,.22)}
.activePickup{padding:18px;border-radius:20px;background:#f8f9fd;margin-top:18px}.deskReady{padding:13px;margin:13px 0;border-radius:14px;background:var(--softgreen);color:var(--green);font-weight:900}
.pickupHistory{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px;border-bottom:1px solid var(--line)}.pickupHistory p{margin:4px 0;color:var(--muted)}
.pickupQueueCard{display:grid;grid-template-columns:78px 1fr auto;gap:16px;align-items:center;padding:18px;border:1px solid var(--line);border-radius:21px;margin-bottom:12px;background:#fff;box-shadow:0 8px 24px rgba(33,46,84,.05)}
.pickupCountdown{width:72px;height:72px;border-radius:22px;background:var(--softyellow);color:#9b6800;display:grid;place-items:center;align-content:center}.pickupCountdown b{font-size:27px;line-height:1}.pickupCountdown span{font-size:12px;font-weight:900}
.pickupQueueInfo h3{margin:0 0 5px}.pickupQueueInfo p{margin:4px 0}.pickupStatusButtons{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.pickupStatusButtons button{border:1px solid var(--line);background:#fff;padding:9px 11px;border-radius:11px;font-weight:800;cursor:pointer}.pickupStatusButtons .deskButton{background:var(--navy);color:#fff;border-color:var(--navy)}.pickupStatusButtons .completeButton{background:var(--green);color:#fff;border-color:var(--green)}
.emptyPickup{text-align:center;padding:35px;border-radius:18px;background:#f7fbf8;color:var(--green);font-weight:800}
.pickupAdminRow{display:grid;grid-template-columns:minmax(280px,1fr) auto minmax(360px,auto);align-items:center;gap:16px;padding:15px;border-bottom:1px solid var(--line)}.pickupAdminMain{display:flex;align-items:center;gap:12px}.pickupAdminMain p,.pickupAdminMain small{display:block;margin:3px 0;color:var(--muted)}
.readyBadge{background:#e8f3ff;color:#2877cc}.dangerBadge{background:#fff0f0;color:#d43d43}
@media(max-width:900px){.pickupHomeCard{display:grid}.pickupMiniOptions{justify-content:stretch}.pickupMiniOptions button{flex:1}.pickupQueueCard{grid-template-columns:64px 1fr}.pickupStatusButtons{grid-column:1/3;justify-content:stretch}.pickupStatusButtons button{flex:1}.pickupAdminRow{grid-template-columns:1fr}.pickupStatusButtons.admin{justify-content:stretch}.pickupStatusButtons.admin button{flex:1}}
@media(max-width:520px){.pickupTimeOptions{gap:7px}.pickupTimeOptions button b{font-size:25px}.pickupMiniOptions button{padding:11px 8px}}

.hero{display:flex;align-items:center;justify-content:space-between;gap:20px}.heroCritical{min-width:155px;padding:14px 18px;border-radius:20px;background:#ffffff18;text-align:center}.heroCritical b,.heroCritical span{display:block}.heroCritical b{font-size:34px}.heroCritical span{font-size:12px;color:#eef2ff}
.criticalCenter{border:2px solid #f1d47b;background:linear-gradient(180deg,#fffdf7,#fff)}.criticalAlert{display:grid;grid-template-columns:54px 1fr auto;align-items:center;gap:13px;padding:14px;border-radius:17px;margin-bottom:9px;border:1px solid}.criticalAlert p{margin:4px 0;color:#626c82}.criticalAlert button{border:0;border-radius:12px;padding:10px 13px;color:#fff;font-weight:900;cursor:pointer}.criticalIcon{width:50px;height:50px;border-radius:15px;display:grid;place-items:center;font-size:25px}.pickupTone{background:#fff8e7;border-color:#f1d47b}.pickupTone .criticalIcon{background:#ffdf83}.pickupTone button{background:#b87800}.medicineTone{background:#fff0f0;border-color:#f1b4b6}.medicineTone .criticalIcon{background:#ffd1d2}.medicineTone button{background:var(--red)}.absenceTone{background:#f3efff;border-color:#d4c8f3}.absenceTone .criticalIcon{background:#dfd6f8}.absenceTone button{background:var(--purple)}
.approvalRow{display:flex;gap:7px;flex-wrap:wrap;margin-top:11px}.approvalPill{padding:7px 10px;border-radius:999px;font-size:12px;font-weight:900}.approvalPill.approved{background:var(--softgreen);color:var(--green)}.approvalPill.pending{background:var(--softyellow);color:#916100}.approvalPill.rejected{background:#fff0f0;color:var(--red)}
.importantMedication{border-left:5px solid var(--red);box-shadow:0 10px 28px rgba(223,50,56,.08)}.medicationActions{display:grid;gap:8px;min-width:175px}.medicationActions .btn{width:100%}
@media(max-width:780px){.hero{display:grid}.heroCritical{min-width:0}.criticalAlert{grid-template-columns:48px 1fr}.criticalAlert button{grid-column:1/3}.medicationActions{min-width:0;width:100%}}

/* V3.6 Modern Mobile UI */
body{background:#f4f7fb}
.parentMain{background:linear-gradient(180deg,#f6f9ff 0%,#f7f9fc 100%)}
.parentTopbar,.parentMobileShell{max-width:1180px;margin-left:auto;margin-right:auto}
.parentAppHome{display:grid;gap:16px}
.parentWelcome{display:flex;align-items:center;justify-content:space-between;padding:28px 30px;border-radius:30px;background:linear-gradient(135deg,#172d64 0%,#294f9d 65%,#df3238 140%);color:#fff;box-shadow:0 18px 48px rgba(23,45,100,.22);overflow:hidden;position:relative}
.parentWelcome:after{content:"";position:absolute;right:-70px;bottom:-100px;width:260px;height:260px;border-radius:50%;background:#ffffff12}
.parentWelcome h2{margin:6px 0 4px;font-size:34px}.parentWelcome p{margin:0;color:#e8edff}.welcomeEyebrow{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#cfd8ff;font-weight:900}
.modernSchoolStatus{display:flex;align-items:center;gap:16px;padding:17px 20px;border-radius:22px;border:1px solid}.modernSchoolStatus.isSchool{background:#edfaf2;border-color:#bfe8cf;color:#166f43}.modernSchoolStatus.isHome{background:#fff7e8;border-color:#f2d49a;color:#8d5d00}
.statusOrb{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;background:#fff;font-size:27px;box-shadow:0 8px 20px rgba(0,0,0,.06)}.statusCopy{display:grid}.statusCopy span{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.statusCopy b{font-size:20px;margin:2px 0}.statusCopy small{opacity:.8}.liveDot{margin-left:auto;width:12px;height:12px;border-radius:50%;box-shadow:0 0 0 8px #ffffff88}.liveDot.green{background:#20a45b}.liveDot.orange{background:#e29a1e}
.parentPickupFeature{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px;border-radius:24px;background:linear-gradient(135deg,#fff4e0,#fff);border:1px solid #f1d390;box-shadow:0 10px 30px rgba(170,111,0,.08)}.pickupFeatureText{display:flex;gap:14px;align-items:center}.pickupFeatureIcon{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;background:#ffcc57;font-size:29px}.pickupFeatureText b{font-size:19px}.pickupFeatureText p{margin:5px 0 0;color:#7d6533}.pickupFeatureActions{display:flex;gap:9px}.pickupFeatureActions button{width:68px;height:68px;border:0;border-radius:20px;background:#172d64;color:#fff;cursor:pointer;box-shadow:0 10px 22px rgba(23,45,100,.18)}.pickupFeatureActions strong,.pickupFeatureActions span{display:block}.pickupFeatureActions strong{font-size:22px}.pickupFeatureActions span{font-size:11px;opacity:.8}
.parentSummaryGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.summaryCard{border-radius:22px;padding:18px;display:grid;gap:5px;min-height:145px;align-content:start;border:1px solid #e8ebf2;background:#fff;box-shadow:0 8px 24px rgba(28,44,83,.055)}.summaryCard span{font-size:30px}.summaryCard small{color:#7a8499}.summaryCard b{font-size:17px}.summaryCard.mood{background:#fff8e9}.summaryCard.breakfast{background:#f2f9ff}.summaryCard.lunch{background:#f0fbf5}.summaryCard.sleep{background:#f6f1ff}
.parentSectionCard,.parentMessageComposer{background:#fff;border:1px solid #e8ebf2;border-radius:25px;padding:20px;box-shadow:0 8px 28px rgba(33,46,84,.05)}.parentSectionTitle{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.parentSectionTitle span{display:block;font-size:21px;font-weight:900}.parentSectionTitle small{display:block;color:#7b8498;margin-top:3px}.miniBadge{padding:7px 11px;border-radius:999px;background:#eef3ff;color:#315baf;font-size:12px;font-weight:900}
.dailyStoryList{display:grid;gap:10px}.dailyStoryItem{display:grid;grid-template-columns:50px 1fr;gap:13px;align-items:center;padding:13px;border-radius:17px;background:#f9fbfe}.dailyStoryItem b{display:block}.dailyStoryItem p{margin:4px 0 0;color:#6e788e}.storyIcon{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;font-size:23px}.storyIcon.yellow{background:#fff4d4}.storyIcon.blue{background:#eaf3ff}.storyIcon.purple{background:#f1ebff}
.parentPhotoStrip{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.parentPhotoStrip button{position:relative;border:0;padding:0;border-radius:18px;overflow:hidden;background:#eef2f8;cursor:pointer;min-height:175px}.parentPhotoStrip img{width:100%;height:175px;object-fit:cover;display:block}.parentPhotoStrip span{position:absolute;left:0;right:0;bottom:0;padding:28px 12px 11px;color:#fff;text-align:left;font-weight:900;background:linear-gradient(transparent,#10182dcc)}
.composerHeader{display:flex;align-items:center;gap:12px;margin-bottom:14px}.composerIcon{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:#eef3ff;font-size:23px}.composerHeader b,.composerHeader span{display:block}.composerHeader span{color:#7a8499;font-size:13px;margin-top:3px}.composerControls{display:grid;grid-template-columns:190px 1fr auto;gap:10px}.composerControls select,.composerControls textarea{border:1px solid #e5e9f1;border-radius:15px;padding:13px;background:#fbfcfe}.composerControls textarea{min-height:52px;resize:vertical}.composerControls button{border:0;border-radius:15px;padding:0 22px;background:#df3238;color:#fff;font-weight:900;cursor:pointer}
.modernEmpty{padding:28px;text-align:center;border-radius:17px;background:#f8fafc;color:#7d879a}.parentLoading{display:grid;place-items:center;padding:80px}.loadingPulse{width:54px;height:54px;border-radius:50%;background:#172d64;animation:pulse 1.1s infinite}.parentLoading p{color:#7a8499}@keyframes pulse{0%,100%{transform:scale(.8);opacity:.45}50%{transform:scale(1);opacity:1}}
@media(max-width:900px){.parentTopbar{display:none}.parentMain{padding-top:15px}.parentWelcome{padding:22px}.parentPickupFeature{display:grid}.pickupFeatureActions{display:grid;grid-template-columns:repeat(3,1fr)}.pickupFeatureActions button{width:100%}.parentSummaryGrid{grid-template-columns:repeat(2,1fr)}.parentPhotoStrip{grid-template-columns:repeat(2,1fr)}.composerControls{grid-template-columns:1fr}.composerControls button{padding:14px}}
@media(max-width:540px){.main.parentMain{padding:12px 12px 86px}.parentAppHome{gap:12px}.parentWelcome{border-radius:24px;padding:19px}.parentWelcome h2{font-size:28px}.parentWelcome .avatar.big{width:82px;height:82px;border-radius:22px}.modernSchoolStatus{border-radius:19px;padding:14px}.statusOrb{width:48px;height:48px}.statusCopy b{font-size:18px}.parentPickupFeature{padding:16px;border-radius:20px}.pickupFeatureText b{font-size:17px}.pickupFeatureText p{font-size:13px}.parentSummaryGrid{gap:9px}.summaryCard{padding:15px;min-height:130px;border-radius:19px}.summaryCard b{font-size:15px}.parentSectionCard,.parentMessageComposer{padding:16px;border-radius:21px}.parentPhotoStrip{grid-template-columns:1fr 1fr}.parentPhotoStrip img,.parentPhotoStrip button{height:145px;min-height:145px}}

.approvalCard,.reportRow,.reportEntry{display:flex;justify-content:space-between;gap:12px;padding:14px;border:1px solid var(--line);border-radius:16px;margin-bottom:9px}.reportFilters{display:grid;grid-template-columns:1fr 220px auto;gap:12px}.reportFilters select{padding:12px;border:1px solid var(--line);border-radius:14px}@media(max-width:780px){.reportFilters{grid-template-columns:1fr}}
.loginTabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:5px;background:#f1f4fa;border-radius:16px;margin-bottom:25px}.loginTabs button{border:0;border-radius:12px;padding:12px;background:transparent;font-weight:900}.loginTabs button.active{background:#fff;color:var(--navy);box-shadow:0 5px 16px #172d641a}.authLinks{display:flex;justify-content:space-between;margin-top:14px}.authLinks button{border:0;background:transparent;color:#315cbd;font-weight:800;cursor:pointer}.demoSms{display:grid;text-align:center;padding:16px;background:#fff7df;border-radius:16px}.demoSms span{font-size:32px;font-weight:900;letter-spacing:.2em}.parentAccountCard{display:flex;justify-content:space-between;gap:15px;padding:15px;border:1px solid var(--line);border-radius:18px;margin-bottom:10px}.parentAccountCard p,.parentAccountCard small{display:block;margin:5px 0;color:var(--muted)}.parentAccountActions{display:grid;gap:7px;min-width:170px}.parentAccountActions select{padding:9px;border:1px solid var(--line);border-radius:10px}@media(max-width:780px){.parentAccountCard{display:grid}.parentAccountActions{min-width:0}}
.privacyLink{display:block;padding:14px 16px;border-radius:15px;background:#eef3ff;color:#244f9f;font-weight:900;text-decoration:none;margin:14px 0}.consentList{display:grid;gap:10px}.consentItem{display:flex;align-items:flex-start;gap:11px;padding:14px;border:1px solid var(--line);border-radius:16px;background:#fff}.consentItem.required{border-color:#b8c9ef;background:#f8faff}.consentItem input{margin-top:4px;transform:scale(1.18)}.consentItem b,.consentItem small{display:block}.consentItem small{color:var(--muted);margin-top:5px}.loginButton:disabled{opacity:.5;cursor:not-allowed}
.adminMenuDays{grid-template-columns:1fr}.adminMenuDay{padding:20px}.mealEditor{margin-top:15px;padding:17px}.mealEditor .field{margin-top:12px}.allergenChecks{display:flex;flex-wrap:wrap;gap:7px}.allergenChecks label{display:flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:12px;cursor:pointer}.allergenChecks label.selected{background:#fff0f0;border-color:#efadb0;color:#b51f25}.parentMenuDays{grid-template-columns:repeat(2,1fr)}.parentMeal{padding:15px}.mealMeta{display:flex;gap:8px;margin:10px 0}.mealMeta span{padding:7px 9px;border-radius:999px;background:#fff4dc;color:#8a5b00;font-weight:800;font-size:12px}.allergenBadges{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}.allergenBadges span{padding:6px 8px;border-radius:999px;background:#fff0f0;color:#b52e33;font-size:11px;font-weight:800}.allergenBadges .noAllergen{background:#eaf8ef;color:#167044}.parentMeal>small{display:block;color:var(--muted);margin-top:8px}.consentSummary{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.consentSummary span,.consentSummary.pending{padding:5px 7px;border-radius:8px;background:#f4f6fa;color:#606a80;font-size:11px}.consentSummary .ok{background:#eaf8ef;color:#167044}.consentSummary.pending{background:#fff7df;color:#8b6000}.consentSummary small{width:100%}
@media(max-width:780px){.parentMenuDays{grid-template-columns:1fr}.adminMenuDay{padding:14px}.mealEditor{padding:13px}}

.recipientPreview{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:#f8faff;margin:12px 0 16px}.recipientPreview>span{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:#eaf0ff;font-size:22px}.recipientPreview b,.recipientPreview small{display:block}.recipientPreview small{color:var(--muted);margin-top:3px}
.trackingBlock{padding:18px;border:1px solid var(--line);border-radius:20px;background:#f9fbff;margin:18px 0}.trackingBlock h4{margin:0 0 12px}.assessmentGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.assessmentCard{display:grid;grid-template-columns:42px 1fr;gap:10px;padding:15px;border-radius:18px;border:1px solid}.assessmentCard>span{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;font-size:21px;background:#fff}.assessmentCard .field{margin:0}.assessmentCard small{display:block;color:var(--muted);margin:4px 0 8px;line-height:1.4}.assessmentCard.activities{background:#fff8e9;border-color:#f0dcaa}.assessmentCard.daily{background:#eef6ff;border-color:#cddff3}.assessmentCard.weekly{background:#f4f0ff;border-color:#d9cff1}
.reportHeader{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding-bottom:18px;border-bottom:1px solid var(--line)}.reportEyebrow{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--purple);font-weight:900}.reportHeader h2{margin:6px 0}.reportStats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.reportStats>div{padding:17px;border-radius:17px;background:#f7f9fd;text-align:center}.reportStats b,.reportStats span{display:block}.reportStats b{font-size:26px;color:var(--navy)}.reportStats span{font-size:12px;color:var(--muted);margin-top:4px}.reportSection{margin-top:24px}.reportNoteCard{display:grid;grid-template-columns:105px 1fr;gap:15px;padding:16px;border:1px solid var(--line);border-radius:17px;margin-bottom:10px}.reportNoteCard>div:not(.reportDate){margin-bottom:9px}.reportNoteCard p{margin:5px 0;color:#576178;line-height:1.5}.reportDate{font-weight:900;color:var(--navy)}.reportNoteCard.guidance{border-left:5px solid var(--purple)}
.legalButtons{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:14px 0}.legalButtons button{padding:13px;border:1px solid #dfe5f0;border-radius:14px;background:#f8faff;color:var(--navy);font-weight:900;cursor:pointer}.legalModal{position:fixed;inset:0;z-index:500;background:rgba(8,15,34,.72);display:grid;place-items:center;padding:18px}.legalModalPanel{width:min(780px,96vw);max-height:92vh;display:grid;grid-template-rows:auto 1fr auto;background:#fff;border-radius:25px;overflow:hidden;box-shadow:0 30px 90px rgba(0,0,0,.35)}.legalModalHeader{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--line)}.legalModalHeader span{font-size:12px;color:var(--red);font-weight:900;text-transform:uppercase}.legalModalHeader h2{margin:4px 0 0}.legalModalHeader button{width:42px;height:42px;border:0;border-radius:13px;background:#f2f4f8;font-size:26px;cursor:pointer}.legalModalBody{overflow:auto;padding:22px;line-height:1.7;color:#414b61}.legalModalBody h4{margin:20px 0 5px;color:var(--navy)}.legalModalBody a{display:inline-block;margin-top:10px;color:#315cbd;font-weight:900}.legalModalFooter{padding:15px 22px;border-top:1px solid var(--line)}.legalModalFooter .loginButton{margin:0}
@media(max-width:900px){.assessmentGrid{grid-template-columns:1fr}.reportHeader{display:grid}.reportStats{grid-template-columns:1fr 1fr 1fr}.reportNoteCard{grid-template-columns:1fr}.legalButtons{grid-template-columns:1fr}}
@media(max-width:540px){.reportStats{grid-template-columns:1fr}.legalModal{padding:0}.legalModalPanel{width:100vw;height:100vh;max-height:none;border-radius:0}}

.messagePageTabs{display:flex;gap:8px;margin-bottom:14px;padding:5px;border-radius:16px;background:#edf1f8;width:max-content}.messagePageTabs button{border:0;border-radius:12px;padding:11px 16px;background:transparent;color:#69758d;font-weight:900;cursor:pointer}.messagePageTabs button.active{background:#fff;color:var(--navy);box-shadow:0 7px 20px rgba(23,45,100,.1)}
.messagingLayout{display:grid;grid-template-columns:360px minmax(0,1fr);gap:14px;min-height:640px}.conversationList,.conversationThread{padding:0;overflow:hidden}.conversationList .sectionHead{padding:18px}.conversationItem{width:100%;display:grid;grid-template-columns:48px 1fr auto;gap:11px;align-items:center;padding:13px 15px;border:0;border-top:1px solid var(--line);background:#fff;text-align:left;cursor:pointer}.conversationItem:hover,.conversationItem.active{background:#f2f6ff}.conversationAvatar{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;font-size:22px;background:#edf2ff}.conversationMeta{min-width:0}.conversationMeta b,.conversationMeta small,.conversationMeta p{display:block}.conversationMeta small{color:var(--muted)}.conversationMeta p{margin:5px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#657086}.unreadBubble{min-width:23px;height:23px;padding:0 6px;border-radius:999px;display:grid;place-items:center;background:var(--red);color:#fff;font-size:11px;font-weight:900}
.conversationThread{display:grid;grid-template-rows:auto minmax(0,1fr) auto}.threadHeader{padding:15px 18px;border-bottom:1px solid var(--line)}.messageThread{padding:18px;overflow:auto;background:#f7f9fd;min-height:440px;max-height:600px}.chatBubbleRow{display:flex;margin-bottom:10px}.chatBubbleRow.mine{justify-content:flex-end}.chatBubble{max-width:72%;padding:11px 13px;border-radius:17px 17px 17px 5px;background:#fff;border:1px solid #e4e8f0}.chatBubbleRow.mine .chatBubble{border-radius:17px 17px 5px 17px;background:#172d64;color:#fff}.chatBubble.pending{background:#fff7df;color:#6f5317}.chatBubble p{margin:0}.chatMeta{display:flex;justify-content:flex-end;gap:7px;margin-top:7px;font-size:10px;opacity:.75}.readTicks.read{color:#5bc3ff}.replyComposer{display:grid;grid-template-columns:1fr auto;gap:9px;padding:13px;border-top:1px solid var(--line)}.replyComposer textarea{min-height:50px;padding:12px;border:1px solid var(--line);border-radius:14px}.replyComposer button{border:0;border-radius:14px;padding:0 20px;background:var(--red);color:#fff;font-weight:900}.conversationPlaceholder{display:grid;place-items:center;min-height:500px;color:var(--muted)}.approvalNotice{padding:0 15px 12px}.messageTone{background:#edf6ff;border-color:#bfdcf4}.messageTone .criticalIcon{background:#d6ebff}.messageTone button{background:#276db5}
@media(max-width:900px){.messagingLayout{grid-template-columns:1fr;min-height:0}.conversationList{max-height:340px;overflow:auto}.messagePageTabs{width:100%;display:grid;grid-template-columns:1fr 1fr}.conversationThread{min-height:520px}}@media(max-width:540px){.chatBubble{max-width:88%}.replyComposer{grid-template-columns:1fr}.replyComposer button{padding:13px}}

/* V3.12 Toplu Yoklama */
.bulkAttendanceBar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:14px 16px;margin:15px 0;border:1px solid #dce4f2;border-radius:18px;background:#f7f9fd}
.selectAllAttendance{display:flex;align-items:center;gap:8px;font-weight:900}.selectAllAttendance input,.attendanceSelect input{width:18px;height:18px;accent-color:var(--navy)}
.selectedCount{padding:7px 11px;border-radius:999px;background:#eaf0ff;color:#315db5;font-size:12px;font-weight:900}.bulkAttendanceActions{display:flex;gap:8px;margin-left:auto}.bulkAttendanceActions button{border:0;border-radius:13px;padding:11px 14px;color:#fff;font-weight:900;cursor:pointer}.bulkAttendanceActions button:disabled{opacity:.45;cursor:not-allowed}.bulkIn{background:#20a45b}.bulkOut{background:#df3238}
.attendanceList{display:grid;gap:9px}.attendanceRow{display:grid;grid-template-columns:30px 48px minmax(180px,1fr) auto auto;align-items:center;gap:12px;padding:13px;border:1px solid var(--line);border-radius:17px;background:#fff;transition:.15s}.attendanceRow.selected{border-color:#9eb6e8;background:#f2f6ff;box-shadow:0 6px 18px rgba(23,45,100,.06)}.attendanceStudent b,.attendanceStudent small{display:block}.attendanceStudent small{margin-top:4px;color:var(--muted)}.attendanceStatus{padding:7px 10px;border-radius:999px;font-size:12px;font-weight:900}.attendanceStatus.present{background:#eaf8f0;color:#16854b}.attendanceStatus.left{background:#eef2f8;color:#5c6881}.attendanceStatus.absent{background:#fff0f0;color:#c53c42}.attendanceActions{display:flex;gap:7px}.attendanceActions button{border:1px solid var(--line);border-radius:11px;padding:9px 10px;background:#fff;font-weight:800;cursor:pointer}.attendanceActions .singleIn{color:#16854b}.attendanceActions .singleOut{color:#c53c42}
.attendanceDate{display:grid;gap:4px}.attendanceDate label{font-size:12px;color:var(--muted);font-weight:800}.attendanceDate input{padding:9px;border:1px solid var(--line);border-radius:11px}
@media(max-width:900px){.bulkAttendanceActions{width:100%;margin-left:0}.bulkAttendanceActions button{flex:1}.attendanceRow{grid-template-columns:28px 44px 1fr auto}.attendanceStatus{grid-column:3}.attendanceActions{grid-column:1/5}.attendanceActions button{flex:1}}
@media(max-width:540px){.bulkAttendanceActions{display:grid;grid-template-columns:1fr}.attendanceRow{grid-template-columns:26px 42px 1fr}.attendanceStatus{grid-column:3}.attendanceActions{grid-column:1/4}.attendanceActions button{padding:10px 7px;font-size:12px}}

/* V3.13 Personel hesap yönetimi */
.staffUsername{display:inline-block;padding:7px 10px;border-radius:999px;background:#eef3ff;color:#315db5;font-size:12px;font-weight:900}
.staffPhotoField{display:grid;grid-template-columns:105px 1fr;gap:18px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:18px;background:#f8faff;margin-bottom:16px}
.staffAccountBox{padding:16px;border-radius:18px;background:#fff7e6;border:1px solid #efd48b;margin-bottom:16px}
.staffAccountBox h4{margin:0 0 12px;color:#805900}
.staffAccountModal{max-width:920px}
.wideField{grid-column:1/-1}
.wideField textarea{min-height:90px}
@media(max-width:700px){.staffPhotoField{grid-template-columns:1fr;text-align:center}.staffPhotoField .avatar{margin:auto}.staffAccountModal{max-width:calc(100vw - 22px)}}

/* V4 Final - güvenli hata ekranı ve gelişim raporu */
.fatalError{min-height:100vh;display:grid;place-items:center;padding:25px;background:linear-gradient(145deg,#eef3ff,#fff4f4)}
.fatalErrorCard{max-width:560px;padding:30px;border-radius:26px;background:#fff;text-align:center;box-shadow:0 25px 80px rgba(23,45,100,.18)}
.fatalErrorCard img{width:110px;border-radius:20px}.fatalErrorCard h2{color:#172d64}.fatalErrorCard p{padding:13px;border-radius:14px;background:#fff1f1;color:#9c2b31;word-break:break-word}
.fatalErrorCard button{border:0;border-radius:14px;padding:13px 18px;background:#172d64;color:#fff;font-weight:900;cursor:pointer}.fatalErrorCard small{display:block;margin-top:14px;color:#7c869a}
.studentProgressPage{display:grid;gap:14px}.progressToolbar{display:grid;grid-template-columns:minmax(220px,1fr) minmax(240px,1fr) auto auto;gap:12px;align-items:end}.progressToolbar .field,.progressSearch{margin:0}.progressSearch label{display:block;margin-bottom:6px;font-size:12px;font-weight:900;color:var(--muted)}
.periodSwitch{display:flex;gap:6px;padding:5px;border-radius:15px;background:#edf1f8}.periodSwitch button{border:0;border-radius:11px;padding:11px 14px;background:transparent;font-weight:900;color:#67738b;cursor:pointer}.periodSwitch button.active{background:var(--navy);color:#fff}
.printableProgressReport{display:grid;gap:15px}.progressHero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 26px;border-radius:26px;background:linear-gradient(135deg,#172d64,#294f9d 70%,#df3238 150%);color:#fff}.progressStudent{display:flex;align-items:center;gap:17px}.progressStudent h2{margin:5px 0;font-size:30px}.progressStudent p{margin:0;color:#dce5ff}.progressEyebrow{text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:900;color:#cbd8ff}.progressSchoolBrand{display:flex;align-items:center;gap:10px;font-weight:900}.progressSchoolBrand img{width:62px;height:62px;object-fit:contain;border-radius:16px;background:#fff;padding:5px}
.dailyReportGrid{display:grid;grid-template-columns:repeat(5,1fr);gap:11px}.dailyReportCard{min-height:155px;padding:18px;border-radius:22px;display:grid;align-content:start;gap:6px;border:1px solid #e6eaf1}.dailyReportCard small{color:#6f7890}.dailyReportCard b{font-size:18px}.dailyReportCard em{font-style:normal;font-size:12px;color:#6f7890}.dailyReportIcon{font-size:31px}.moodCard{background:#fff8df}.breakfastCard{background:#fff6e8}.lunchCard{background:#eff9ff}.snackCard{background:#eefaf3}.sleepCard{background:#f5efff}
.progressDetailGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.progressContentCard{display:grid;grid-template-columns:55px 1fr;gap:14px;padding:19px;border-radius:22px;background:#fff;border:1px solid var(--line)}.progressContentCard h3{margin:0 0 8px}.progressContentCard p{margin:0;color:#5f6a81;line-height:1.55}.weeklyNoteCard{grid-column:1/-1}.progressContentIcon{width:52px;height:52px;border-radius:17px;display:grid;place-items:center;font-size:25px}.progressContentIcon.activity{background:#fff2ce}.progressContentIcon.note{background:#e9f3ff}.progressContentIcon.weekly{background:#f1eaff}
.progressMetrics{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.progressMetric{padding:18px;border:1px solid var(--line);border-radius:21px;background:#fff}.progressMetricHead{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:10px}.progressMetricHead>span{font-size:27px}.progressMetricHead b,.progressMetricHead small{display:block}.progressMetricHead small{color:var(--muted)}.progressMetricHead strong{font-size:21px;color:var(--navy)}.progressTrack{height:10px;border-radius:999px;background:#edf1f7;overflow:hidden;margin-top:14px}.progressTrack div{height:100%;border-radius:999px;background:linear-gradient(90deg,#315db5,#df3238)}
.reportTimeline{background:#fff;border:1px solid var(--line);border-radius:24px;padding:20px}.reportTimelineHeader{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:15px}.reportTimelineHeader h3,.reportTimelineHeader p{margin:0}.reportTimelineHeader p{margin-top:4px;color:var(--muted)}.reportTimelineHeader>span{padding:8px 12px;border-radius:999px;background:#edf3ff;color:#315db5;font-weight:900;font-size:12px}.progressTimelineItem{display:grid;grid-template-columns:145px 1fr;gap:16px;padding:16px 0;border-top:1px solid var(--line)}.timelineDate b,.timelineDate small{display:block}.timelineDate small{margin-top:5px;color:var(--muted)}.timelineBody{display:grid;gap:12px}.timelineBody span{font-size:12px;font-weight:900;text-transform:uppercase;color:#315db5}.timelineBody p{margin:5px 0 0;line-height:1.55;color:#555f73}.weeklyEvaluation{padding:13px;border-radius:15px;background:#f6f1ff}
@media(max-width:1100px){.progressToolbar{grid-template-columns:1fr 1fr}.dailyReportGrid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.progressToolbar{grid-template-columns:1fr}.periodSwitch{display:grid;grid-template-columns:repeat(3,1fr)}.progressHero{display:grid}.progressSchoolBrand{display:none}.dailyReportGrid{grid-template-columns:repeat(2,1fr)}.progressDetailGrid,.progressMetrics{grid-template-columns:1fr}.progressTimelineItem{grid-template-columns:1fr}.weeklyNoteCard{grid-column:auto}}
@media(max-width:480px){.dailyReportGrid{grid-template-columns:1fr}}
@media print{.sidebar,.bottomNav,.topbar,.progressToolbar{display:none!important}.shell{display:block}.main{padding:0}.progressMetric,.progressContentCard,.reportTimeline,.dailyReportCard,.progressTimelineItem{break-inside:avoid}}

/* V4.2 */
.announcementAdminList{display:grid;gap:12px}.announcementAdminCard{margin:0}.announcementAdminHead{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.announcementAdminHead h3{margin:9px 0 0}.announcementAdminHead small{color:var(--muted);white-space:nowrap}.announcementAdminCard>p{line-height:1.6;color:#566176}

.compactField{margin:0;min-width:170px}.compactField label{font-size:11px}.compactField input{padding:10px 12px}


/* V4.4 etkileşim ve durum düzeltmeleri */
.parentRegisterStep{position:relative;padding-top:6px}
.registerClose{position:absolute;right:-4px;top:-14px;width:42px;height:42px;border:0;border-radius:50%;background:#eef2fb;color:var(--navy);font-size:28px;line-height:1;cursor:pointer;display:grid;place-items:center;box-shadow:0 7px 18px rgba(23,45,100,.1)}
.registerClose:hover{background:#dfe7fa}
.profileBell{border:0;cursor:pointer;color:inherit}.profileBell:focus-visible{outline:3px solid #9db0e6;outline-offset:2px}
.notificationLink{width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer;transition:.18s ease}
.notificationLink:hover{transform:translateY(-1px);border-color:#aebee8;box-shadow:0 10px 24px rgba(23,45,100,.08)}
.notificationLink.unread{border-left:5px solid var(--red)}.notificationLink.read{opacity:.78}
.notificationOpenHint{display:block;margin-top:7px;color:#315db5;font-size:12px;font-weight:900}
.pickupLiveState,.pickupDeskDone{padding:11px 13px;border-radius:13px;background:#eef8f2;color:#217a4a;font-weight:900}
.pickupStatusButtons button:disabled{opacity:.55;cursor:wait}


/* V4.5 Yönetici onay bildirimleri */
.profileBell{position:relative}.notificationCount{position:absolute;right:-5px;top:-6px;min-width:22px;height:22px;padding:0 5px;border-radius:999px;display:grid;place-items:center;background:#df3238;color:#fff;border:3px solid #f4f6fb;font-size:10px;line-height:1;box-sizing:content-box}
.approvalTone{background:#eef4ff;border-color:#adc3f3}.approvalTone .criticalIcon{background:#d8e5ff}.approvalTone button{background:#244891}
.dashboardApprovalCard{margin-top:15px}.dashboardApprovalList{display:grid;gap:9px}.dashboardApprovalItem{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:12px;width:100%;padding:13px;border:1px solid var(--line);border-radius:17px;background:#fff;text-align:left;cursor:pointer}.dashboardApprovalItem:hover{border-color:#adc3f3;background:#f8faff}.dashboardApprovalItem p{margin:4px 0;color:#4f5c74;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:920px}.dashboardApprovalItem small{color:var(--muted)}.approvalFeedIcon{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;font-size:22px}.approvalFeedIcon.pending{background:#fff3cc}.approvalFeedIcon.approved{background:#e8f8ef}.approvalFeedIcon.rejected{background:#ffeded}.approvalStatusBadge{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;padding:7px 10px;border-radius:999px;font-size:11px;font-weight:900}.approvalStatusBadge.pending{background:#fff1c2;color:#9a6600}.approvalStatusBadge.approved{background:#e4f7ec;color:#157443}.approvalStatusBadge.rejected{background:#ffe7e7;color:#b02931}.adminQuickGrid{grid-template-columns:repeat(5,minmax(0,1fr))}
.approvalCenterPage{padding:22px}.approvalCenterHeader{display:flex;justify-content:space-between;align-items:center;gap:14px}.approvalCenterHeader h3{font-size:25px;margin:0}.approvalCenterHeader p{margin:6px 0 0}.approvalTabs{display:flex;gap:7px;margin:18px 0;padding:5px;border-radius:16px;background:#eef2f8;width:max-content}.approvalTabs button{border:0;background:transparent;padding:11px 15px;border-radius:12px;color:#62708b;font-weight:900;cursor:pointer}.approvalTabs button.active{background:#fff;color:var(--navy);box-shadow:0 6px 18px rgba(24,43,88,.1)}.approvalTabs span{display:inline-grid;place-items:center;min-width:23px;height:23px;padding:0 5px;margin-left:6px;border-radius:999px;background:#e6ecf8;font-size:10px}.approvalTabs button.active span{background:#dbe6ff;color:#244891}.approvalList{display:grid;gap:11px}.approvalRecord{display:grid;grid-template-columns:54px 1fr auto;gap:14px;align-items:start;padding:16px;border:1px solid var(--line);border-left-width:5px;border-radius:19px;background:#fff}.approvalRecord.pending{border-left-color:#e1a719}.approvalRecord.approved{border-left-color:#2d9b62}.approvalRecord.rejected{border-left-color:#d8474e}.approvalRecordIcon{width:50px;height:50px;border-radius:16px;background:#eef3ff;display:grid;place-items:center;font-size:24px}.approvalRecordTitle{display:flex;justify-content:space-between;gap:12px;align-items:center}.approvalRecordTitle b,.approvalRecordTitle span{display:block}.approvalRecordTitle>div>span{margin-top:3px;color:var(--muted);font-size:12px}.approvalMessagePreview{font-size:16px;line-height:1.55;margin:11px 0;color:#26334c}.approvalMeta{display:flex;flex-wrap:wrap;gap:8px 15px;color:#748097;font-size:12px}.approvalActions{display:flex;gap:7px;align-self:center}
@media(max-width:1200px){.adminQuickGrid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:780px){.dashboardApprovalItem{grid-template-columns:44px 1fr}.dashboardApprovalItem>.approvalStatusBadge{grid-column:2}.approvalCenterHeader{align-items:flex-start}.approvalTabs{width:100%;display:grid;grid-template-columns:1fr 1fr}.approvalRecord{grid-template-columns:46px 1fr}.approvalActions{grid-column:1/-1;width:100%}.approvalActions .btn{flex:1}.approvalRecordTitle{align-items:flex-start}.approvalRecordTitle>.approvalStatusBadge{margin-left:auto}.adminQuickGrid{grid-template-columns:repeat(2,1fr)}}

/* V4.6 veli deneyimi */
.summarySubtext{display:block;margin-top:5px;font-size:12px;font-style:normal;font-weight:800;color:#6f7890}
.parentUnreadMessage{width:100%;border:0;text-align:left;font:inherit;cursor:pointer;transition:transform .18s ease,background .18s ease}
.parentUnreadMessage:hover{transform:translateY(-1px);background:#eef4ff}
.messageOpenText{display:inline-block;margin-top:5px;font-size:12px;font-weight:900;color:#244a9a}
.notificationOpenHint{font-size:12px;font-weight:900;color:#244a9a}

/* V4.7 zorunlu rıza ve canlı teslim durumu */
.loginButton:disabled{cursor:not-allowed;opacity:.48;filter:grayscale(.18)}
.parentPickupFeature.hasActivePickup{background:linear-gradient(135deg,#ecfff3,#eef5ff);border-color:#7dd8a2}
.parentPickupFeature.hasActivePickup .pickupFeatureIcon{background:#d9f8e5}
.pickupDetailButton{border:0;border-radius:14px;padding:13px 18px;background:#173574;color:#fff;font-weight:900;cursor:pointer;white-space:nowrap}
.consentItem.required small{color:#a76b00}

/* V4.8 çoklu fotoğraf yükleme */
.multiUploadArea{margin:14px 0;padding:14px;border:1px solid var(--line);border-radius:18px;background:#f8faff}
.multiUploadHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.multiUploadHeader button{border:0;background:transparent;color:#d64045;font-weight:900;cursor:pointer}
.multiUploadGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.multiUploadPreview{position:relative;overflow:hidden;border-radius:14px;background:#fff;border:1px solid var(--line)}
.multiUploadPreview img{display:block;width:100%;height:115px;object-fit:cover}
.multiUploadPreview span{display:block;padding:8px 10px;font-size:11px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.multiUploadPreview button{position:absolute;top:7px;right:7px;width:28px;height:28px;border:0;border-radius:50%;background:rgba(17,37,82,.88);color:#fff;font-size:19px;line-height:1;cursor:pointer}
@media(max-width:760px){.multiUploadGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* V4.9 mobil yönetim ekranları ve günlük takip araması */
.dailyNoData{display:flex;align-items:center;gap:16px;padding:22px;border:1px dashed #cbd5ea;background:#fbfcff}
.dailyNoData>span{width:54px;height:54px;flex:0 0 54px;border-radius:17px;display:grid;place-items:center;background:#edf3ff;font-size:26px}
.dailyNoData h3,.dailyNoData p{margin:0}.dailyNoData p{margin-top:5px;color:var(--muted);line-height:1.5}

.adminResponsiveTable td .muted{line-height:1.45}
.adminResponsiveTable td:nth-last-child(1){min-width:210px}
.adminResponsiveTable .actions{justify-content:flex-end}

.adminMenuCard{min-width:0}
.adminMenuCard .adminMenuDays,.adminMenuCard .adminMenuDay,.adminMenuCard .mealEditor{min-width:0;max-width:100%}
.adminMenuCard .mealEditor{overflow:hidden}
.adminMenuCard .allergenChecks label{min-width:0;overflow:hidden}
.adminMenuCard .allergenChecks input[type="checkbox"]{width:20px;height:20px;flex:0 0 20px;padding:0;margin:0;accent-color:#1976d2}

@media(max-width:780px){
  .main{width:100%;max-width:100vw;overflow-x:hidden;padding:15px 14px 94px}
  .topbar{gap:10px;align-items:flex-start}
  .topbar h1{font-size:31px;line-height:1.08}
  .topbar p{font-size:16px;line-height:1.35}
  .profileBell{flex:0 0 auto}

  .adminDirectoryCard{padding:18px 14px;overflow:hidden}
  .adminDirectoryCard .sectionHead{align-items:flex-start;gap:12px}
  .adminDirectoryCard .sectionHead>div{min-width:0}
  .adminDirectoryCard .sectionHead h3{font-size:25px;line-height:1.15}
  .adminDirectoryCard .sectionHead p{font-size:14px;line-height:1.45}
  .adminDirectoryCard .sectionHead>.btn{flex:0 0 auto;max-width:168px;padding:13px 15px;line-height:1.2}
  .adminDirectoryCard .search{font-size:16px;margin-top:8px}

  .adminResponsiveTable,.adminResponsiveTable tbody{display:block;width:100%;min-width:0}
  .adminResponsiveTable thead{display:none}
  .adminResponsiveTable tr{display:grid;width:100%;min-width:0;margin:0 0 13px;padding:15px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 7px 20px rgba(25,43,82,.045)}
  .adminResponsiveTable td{display:block;min-width:0;padding:5px 6px;border:0;overflow-wrap:anywhere}
  .adminResponsiveTable td::before{display:block;margin-bottom:3px;color:#7b8499;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
  .adminResponsiveTable td:last-child{min-width:0;padding-top:11px;border-top:1px solid #edf0f6;margin-top:7px}
  .adminResponsiveTable .actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;justify-content:stretch}
  .adminResponsiveTable .actions .btn{width:100%;min-width:0;padding:12px 8px;font-size:13px}

  .studentAdminTable tr{grid-template-columns:repeat(3,minmax(0,1fr))}
  .studentAdminTable td:first-child{grid-column:1/-1;padding-bottom:12px}
  .studentAdminTable td:first-child>div{gap:12px!important}
  .studentAdminTable td:nth-child(2)::before{content:"Sınıf"}
  .studentAdminTable td:nth-child(3)::before{content:"Eğitim"}
  .studentAdminTable td:nth-child(4)::before{content:"Durum"}
  .studentAdminTable td:last-child{grid-column:1/-1}

  .teacherAdminTable tr,.counselorAdminTable tr{grid-template-columns:58px minmax(0,1fr)}
  .teacherAdminTable td:first-child,.counselorAdminTable td:first-child{grid-column:1;grid-row:1/4;padding-top:7px}
  .teacherAdminTable td:nth-child(2),.counselorAdminTable td:nth-child(2){grid-column:2;font-size:16px}
  .teacherAdminTable td:nth-child(3),.counselorAdminTable td:nth-child(3){grid-column:2;white-space:normal;word-break:normal;overflow-wrap:normal}
  .teacherAdminTable td:nth-child(3)::before{content:"Telefon"}
  .teacherAdminTable td:nth-child(4){grid-column:2}
  .teacherAdminTable td:nth-child(4)::before{content:"Deneyim"}
  .teacherAdminTable td:nth-child(5),.counselorAdminTable td:nth-child(5){grid-column:1/-1}
  .counselorAdminTable td:nth-child(3)::before{content:"Kullanıcı Adı"}
  .counselorAdminTable td:nth-child(4){grid-column:2;white-space:normal;word-break:normal;overflow-wrap:normal}
  .counselorAdminTable td:nth-child(4)::before{content:"Telefon"}

  .adminMenuCard{padding:16px 12px;overflow:hidden}
  .adminMenuHeader{display:grid;grid-template-columns:1fr;gap:12px}
  .adminMenuHeader .actions{display:grid;grid-template-columns:1fr;gap:10px;width:100%}
  .adminMenuHeader .compactField{min-width:0;width:100%}
  .adminMenuHeader .btn{width:100%}
  .adminMenuDay{padding:12px;border-radius:18px}
  .adminMenuDay>h3{position:sticky;top:0;z-index:2;margin:-12px -12px 10px;padding:14px 15px;background:#fff;border-bottom:1px solid var(--line);border-radius:18px 18px 0 0}
  .mealEditor{padding:13px 11px;margin-top:12px;border:1px solid #edf0f5}
  .mealEditor>b{display:block;font-size:18px;margin-bottom:2px}
  .mealEditor .field{margin-top:13px}
  .mealEditor .field label{font-size:14px;line-height:1.35}
  .mealEditor .field input,.mealEditor .field textarea{padding:13px 12px;font-size:16px}
  .allergenChecks{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important}
  .allergenChecks label{display:grid!important;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:8px!important;width:100%;min-height:52px;padding:9px 10px!important;border-radius:14px!important;font-size:12px!important;line-height:1.2;overflow-wrap:anywhere}
  .allergenChecks input[type="checkbox"]{width:22px!important;height:22px!important;min-width:22px!important;padding:0!important}

  .progressToolbar{gap:10px}
  .progressToolbar .btn{width:100%}
  .dailyNoData{align-items:flex-start;padding:18px}
}

@media(max-width:420px){
  .adminDirectoryCard .sectionHead{display:grid;grid-template-columns:minmax(0,1fr) auto}
  .adminDirectoryCard .sectionHead>.btn{max-width:145px;font-size:14px}
  .adminResponsiveTable .actions{grid-template-columns:1fr}
  .allergenChecks{grid-template-columns:1fr!important}
  .studentAdminTable tr{grid-template-columns:1fr 1fr}
  .studentAdminTable td:nth-child(4){grid-column:1/-1}
}
