:root{font-family:Inter,system-ui,-apple-system,sans-serif;color:#172b3a;background:#eef3f6}*{box-sizing:border-box}body{margin:0}.login{min-height:100vh;max-width:460px;margin:auto;padding:56px 24px;display:flex;flex-direction:column;justify-content:center}.login img{width:96px;border-radius:24px}.login h1{margin:22px 0 4px;font-size:30px}.login p{margin:0 0 24px;color:#687987}label{display:grid;gap:7px;font-weight:750;margin:14px 0}input,select,textarea{width:100%;border:1px solid #cdd7de;border-radius:14px;padding:15px;font:inherit;background:white}button{border:0;border-radius:14px;padding:15px 16px;font:inherit;font-weight:800;background:#294458;color:#fff;cursor:pointer}.login button{width:100%;margin-top:8px}.login small{display:block;color:#b42318;margin-top:12px}.login footer{margin-top:28px;color:#8a98a3;font-size:12px}.top{position:sticky;top:0;z-index:4;background:#294458;color:#fff;padding:calc(12px + env(safe-area-inset-top)) 16px 14px;display:flex;justify-content:space-between;align-items:center}.top strong{font-size:18px}.top small{display:block;opacity:.75;margin-top:2px}.top button{background:#ffffff1a;padding:9px 11px}.content{max-width:760px;margin:auto;padding:16px 14px 90px}.title{margin:4px 2px 14px}.title h2{margin:0;font-size:22px}.title p{margin:5px 0;color:#697b88}.service{background:#fff;border:1px solid #dde5ea;border-radius:18px;padding:16px;margin:12px 0;box-shadow:0 4px 18px #2944580d}.service h3{margin:0 0 5px}.service p{margin:4px 0;color:#6b7c88}.service button{width:100%;margin-top:12px}.periods{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.periods button:last-child{background:#466174}.summary{position:sticky;top:72px;z-index:3;background:#fff;border:1px solid #dce5ea;border-radius:16px;padding:12px;margin-bottom:12px}.summary strong{display:block}.chips{display:flex;gap:6px;overflow:auto;margin-top:8px}.chip{white-space:nowrap;background:#eef3f6;padding:6px 8px;border-radius:999px;font-size:11px;font-weight:800}.student{background:#fff;border:1px solid #dce5ea;border-radius:18px;padding:14px;margin:10px 0}.student-head{display:grid;grid-template-columns:50px 1fr auto;gap:10px;align-items:center}.avatar{width:50px;height:50px;border-radius:50%;background:#e9eff3;display:grid;place-items:center;font-weight:900;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.student h3{margin:0;font-size:17px}.student small{color:#748590}.contact{display:flex;gap:6px}.contact a{padding:9px;text-decoration:none;border-radius:11px;background:#edf2f5;color:#294458;font-weight:800}.statuses{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-top:12px}.statuses button{padding:12px 7px;background:#edf2f5;color:#294458;font-size:13px}.statuses button.active{background:#294458;color:white}.close{position:fixed;bottom:0;left:0;right:0;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:#eef3f6eF;backdrop-filter:blur(8px)}.close button{display:block;width:min(732px,100%);margin:auto}.back{background:transparent!important;padding:8px!important}.notice{padding:12px;border-radius:13px;background:#fff4e5;color:#8a4b00;margin:10px 0}.empty{text-align:center;padding:48px 20px;color:#71818c}.modal{position:fixed;inset:0;background:#0008;z-index:10;display:grid;place-items:end center}.modal>div{width:min(760px,100%);background:#fff;border-radius:22px 22px 0 0;padding:20px}.modal h3{margin-top:0}.modal .actions{display:grid;gap:8px}.modal .secondary{background:#edf2f5;color:#294458}
/* v3.5.7 · mobil yoklama ergonomisi */
button,a{touch-action:manipulation}button:disabled{opacity:.62;cursor:wait}.compact-notice{font-size:13px;line-height:1.45}.student{scroll-margin-top:155px;transition:border-color .18s ease,box-shadow .18s ease}.student-done{border-color:#c7d8cf}.student-head small{display:block;line-height:1.35}.statuses button{min-height:48px}.statuses button[aria-busy="true"]{grid-column:1/-1}.contact a{min-width:44px;min-height:44px;display:grid;place-items:center}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.choice-grid button{min-height:54px;background:#edf2f5;color:#294458}.choice-grid .primary-choice{grid-column:1/-1;background:#294458;color:#fff}.modal p{color:#596d7b;line-height:1.5}.modal .danger-text{color:#8b1e1e}.bk-hostes-saving{pointer-events:none}
@media(max-width:430px){.content{padding-left:10px;padding-right:10px}.summary{top:69px}.student{padding:12px}.student-head{grid-template-columns:46px 1fr auto}.avatar{width:46px;height:46px}.statuses{gap:6px}.statuses button{font-size:12px;padding:11px 6px}.choice-grid{grid-template-columns:1fr}.choice-grid .primary-choice{grid-column:auto}}
.yoklama-live-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.yoklama-live-head h3{margin:0}.yoklama-live-head small{color:#71818c}.yoklama-live-head button{padding:10px 12px}.attendance-live-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;margin-top:14px}.attendance-live-card{border:1px solid #dce5ea;border-radius:15px;padding:13px;background:#fff}.attendance-live-card header{display:flex;justify-content:space-between;gap:10px}.attendance-live-card header small,.attendance-live-card header strong{display:block}.attendance-live-card header small{font-size:10px;color:#748590}.attendance-live-card header b{font-size:19px}.attendance-live-card p{margin:7px 0;color:#687987;font-size:13px}.attendance-live-card>span{display:block;margin-top:7px;font-size:12px;font-weight:800}.attendance-progress{height:7px;border-radius:99px;background:#e8eef2;overflow:hidden}.attendance-progress i{display:block;height:100%;background:#294458}.attendance-live-card.complete{border-color:#c8ddd1}.attendance-live-card.has-pending{border-color:#ead9bd}@media(max-width:520px){.yoklama-live-head{align-items:flex-start}.attendance-live-grid{grid-template-columns:1fr}.admin-grid{grid-template-columns:1fr!important}}
/* v3.5.7 · yoklama geçmişi ve daha güvenli mobil kapanış */
.contact{flex-wrap:wrap;justify-content:flex-end}.contact .history-btn{background:#edf2f5;color:#294458;padding:9px 10px;min-height:44px;min-width:64px}.history-sheet{max-height:82vh;overflow:auto}.history-list{display:grid;gap:8px;margin:12px 0 18px}.history-list article{border:1px solid #dce5ea;border-radius:13px;padding:11px;background:#f9fbfc}.history-list strong,.history-list small{display:block}.history-list small{color:#6f818e;margin-top:4px}.history-list p{margin:7px 0 0!important;font-size:12px}.modal button:disabled{cursor:not-allowed;opacity:.48}

/* REV27: attendance search and task actions at mobile widths. */
.attendance-search{padding:14px;margin:12px 0;background:#fff;border:1px solid #d6e0e6;border-radius:14px}
.attendance-search label{display:block;font-weight:750;margin:0 0 7px}.attendance-search input{width:100%;min-height:48px;font-size:16px}
.attendance-filter-row{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}.attendance-filter-row button{width:auto;flex:1 1 auto;min-height:46px;padding:10px 12px;background:#edf2f5;color:#294458;border:1px solid #cbd6df;font-size:14px}
.attendance-filter-row button[aria-pressed="true"]{background:#294458;color:#fff}.attendance-search small{color:#526675;line-height:1.5}.attendance-search p{margin-bottom:0}
.other-statuses{margin-top:10px;border-top:1px solid #dce5ea}.other-statuses summary{display:flex;align-items:center;min-height:48px;cursor:pointer;font-weight:700;color:#294458}.other-statuses summary::before{content:'＋';margin-right:8px}.other-statuses[open] summary::before{content:'−'}
.student-head>div{min-width:0}.student h3{overflow-wrap:anywhere}.student .contact{flex-wrap:wrap}.student .statuses button{min-height:48px;font-size:14px;line-height:1.35}.student .contact a,.student .contact button{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.attendance-search button:focus-visible,.student button:focus-visible,.other-statuses summary:focus-visible{outline:3px solid #b26912;outline-offset:3px}
@media(max-width:420px){.student-head{grid-template-columns:42px minmax(0,1fr)}.student-head .contact{grid-column:1/-1;justify-content:flex-start}.attendance-filter-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-filter-row button{width:100%}.student .contact a,.student .contact button{flex:1}}

/* REV32: Bay-Kar hostes giriş kimliği; kısa/klavyeli ekranda kaydırılabilir. */
.login{min-height:100svh;padding: max(28px,env(safe-area-inset-top)) 24px max(28px,env(safe-area-inset-bottom));text-align:center}
.login img{display:block;align-self:center;width:136px;height:136px;object-fit:contain;border-radius:0}
.login form{width:100%;text-align:left}
.login h1{font-size:clamp(24px,6vw,30px);line-height:1.2}
.login p{margin:8px 0 18px;line-height:1.5}
.login input{font-size:16px;min-height:50px}
.login button{min-height:50px}
.login footer{text-align:center;line-height:1.5}
.login #login-error:empty{display:none}
@media(max-height:560px){.login{justify-content:flex-start}.login img{width:88px;height:88px}.login h1{margin-top:12px}}
#login[hidden],#app[hidden]{display:none!important}
.login .install-button{background:transparent;color:#294458;border:1px solid #b9c8d3;font-size:14px;margin-top:18px}
.login [data-yoklama-install-message]{color:#526b7b;line-height:1.5}
.tracking-panel{border:1px solid #cdd7de;border-radius:18px;padding:14px;margin:20px 0;background:#f8fafb}
.tracking-panel>p{font-size:13px;color:#526b7b;line-height:1.5}
#refresh-services{min-height:48px;width:100%}

/* REV33: distinguish attendance decisions without relying on color alone. */
.statuses .status-PickedUp,.statuses .status-Boarded{background:#18733d;color:#fff;border:2px solid #125a2f}
.statuses .status-Absent{background:#b4232c;color:#fff;border:2px solid #911923}
.statuses .status-NotUsing{background:#ffe082;color:#342900;border:2px solid #b88b00}
.statuses .status-Delivered{background:#155e75;color:#fff}
.statuses button.active{outline:3px solid #182b3c;outline-offset:2px;box-shadow:inset 0 0 0 2px #fff}
.statuses button.active::before{content:'✓ ';font-weight:900}
.statuses button{min-height:48px;flex:1 1 100px}.student{padding:14px}.student-head{gap:10px}.student-head h3{margin:0;font-size:1.05rem}.contact{display:flex;flex-wrap:wrap;gap:6px}.contact a,.contact button{min-height:44px;display:inline-flex;align-items:center;padding:8px 12px}.compact-report{padding:10px 0;border-bottom:1px solid #dce3e8}.compact-report strong{display:flex;justify-content:space-between;gap:8px}.compact-report small{display:block;margin-top:4px}.status-label{font-size:.85rem}.status-label.status-Absent{color:#a51c26}.status-label.status-PickedUp,.status-label.status-Boarded{color:#126934}.status-label.status-NotUsing{color:#785600}

.day-context{margin:10px 0;padding:10px;border-radius:12px;background:#f2f5f8}.morning-status,.plan-summary{padding:8px;border-radius:8px;margin-bottom:5px;font-size:1rem}.morning-status.status-Absent{background:#fde8e8;color:#901d26}.morning-status.status-PickedUp{background:#ddf5e4;color:#175c32}.plan-summary.status-PlanWillCome{background:#dbeafe;color:#17448a}.plan-summary.status-PlanParentWillPickUp{background:#ffe5b4;color:#623d00}.plan-summary.status-PlanParentPickedUp{background:#ede0fa;color:#532080}.plan-summary.status-PlanNotUsing{background:#ffe082;color:#342900}.plan-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px}.plan-buttons button{min-height:56px;font-size:1rem}.plan-buttons .status-PlanWillCome{background:#1e50a2;color:#fff}.plan-buttons .status-PlanParentWillPickUp{background:#ffe0a2;color:#402900}.plan-buttons .status-PlanParentPickedUp,.statuses .status-ParentPickedUp{background:#703a91;color:#fff}.plan-buttons .status-PlanNotUsing{background:#ffe082;color:#342900}.plan-buttons [aria-pressed=true]{outline:3px solid #142c42;outline-offset:2px}.plan-buttons [aria-pressed=true]::before{content:'✓ '}.evening-plan summary{padding:12px 0;font-weight:800;min-height:44px;cursor:pointer}.expected-pupil{padding:10px;background:#dbeafe;border-left:4px solid #1e50a2;font-weight:700}.statuses{gap:10px}.statuses button{min-height:56px;font-size:1rem}
.student .statuses button{min-height:56px;font-size:16px}.student .statuses .status-PickedUp,.student .statuses .status-Boarded{background:#18733d;color:white}.student .statuses .status-Absent{background:#b4232c;color:white}.student .statuses .status-NotUsing{background:#ffe082;color:#342900}.student .statuses .status-ParentPickedUp{background:#703a91;color:white}.student .statuses .status-Delivered{background:#155e75;color:white}@media(max-width:640px){.student-head{grid-template-columns:42px minmax(0,1fr)}.student-head .contact{grid-column:1/-1;justify-content:flex-start}.student-head .contact a,.student-head .contact button{flex:1}}
/* REV34: hostes için sade, tek görevli mobil ekran */
.simple-attendance{max-width:720px;margin:auto;padding:10px 10px 100px}.simple-toolbar{display:grid;grid-template-columns:1fr 1fr;gap:8px}.simple-toolbar button{min-height:48px}.simple-summary{position:sticky;top:69px;z-index:3;display:grid;grid-template-columns:1fr auto;gap:4px 10px;margin:10px 0;padding:12px;background:#fff;border:2px solid #142c42;border-radius:12px}.simple-summary strong{font-size:18px}.simple-summary b{grid-column:1/-1}.simple-summary small{grid-column:1/-1;color:#536875}.simple-student{margin:10px 0;background:#fff;border:2px solid #172b3a;border-radius:13px;overflow:hidden}.simple-student header{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:8px;padding:12px;background:#f7f9fa}.simple-student h3{margin:0;font-size:19px;line-height:1.15}.simple-student header em{font-style:normal;font-size:12px;font-weight:800}.order-number{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#142c42;color:#fff;font-size:18px;font-weight:900}.simple-body{display:grid;grid-template-columns:110px 1fr;border-top:2px solid #172b3a}.contact-stack{padding:9px;display:grid;gap:8px;align-content:start}.contact-stack a,.contact-stack span{min-height:52px;border-radius:10px;display:grid;place-items:center;text-align:center;text-decoration:none;font-weight:900}.contact-stack .call{background:#18733d;color:#fff}.contact-stack .location{background:#294458;color:#fff}.contact-stack span{background:#e9eef1;color:#6b7c88;font-size:12px}.simple-actions{padding:9px;display:grid;grid-template-columns:1fr 1fr;gap:8px;background:#eef2f4;border-left:2px solid #172b3a}.simple-status{min-height:62px;padding:8px;font-size:16px;border:2px solid #172b3a;border-radius:10px}.simple-status.green{background:#209111;color:#fff}.simple-status.red{background:#ce0000;color:#fff}.simple-status.yellow{background:#ffe000;color:#191400}.simple-status.blue{background:#263fe0;color:#fff}.simple-status.purple{background:#703a91;color:#fff}.simple-status.amber{background:#ffb224;color:#2e2100}.simple-status.teal{background:#087f8c;color:#fff;grid-column:1/-1}.simple-status.active{outline:4px solid #111;outline-offset:2px}.simple-status.active::before{content:'✓ ';font-weight:900}.morning-line{padding:8px 12px;background:#e8f1f5;border-top:1px solid #d2dce2}.morning-line.danger{background:#fee8e8;color:#8e1720}.student-order-list{list-style:none;padding:0;display:grid;gap:6px}.student-order-list li{display:grid;grid-template-columns:36px 1fr 48px 48px;align-items:center;gap:7px;border:1px solid #d7e0e5;border-radius:11px;padding:7px}.student-order-list li>b{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#294458;color:#fff}.student-order-list li>button{width:48px;min-height:44px;padding:6px;font-size:20px}.student-order-list li>span{font-weight:800}@media(max-width:390px){.simple-body{grid-template-columns:92px 1fr}.simple-status{font-size:14px;min-height:60px}.simple-student h3{font-size:17px}}
