/* SIAPIYA v3.70.178 — Teacher Mobile Experience Refinement.
   Visual read-only layer. Existing academic validation, RPC, status D, and save buttons stay canonical. */
#mainContent :is(.siapiya-session-picker) {
  border:1px solid var(--bs-border-color); border-radius:.75rem; background:var(--bs-body-bg);
  box-shadow:0 2px 9px rgba(15,23,42,.035);overflow:visible;
}
#mainContent .siapiya-session-picker > summary {
  min-height:48px;display:flex;align-items:center;justify-content:space-between;
  gap:.65rem;padding:.6rem .8rem;cursor:pointer;list-style:none;
  font-weight:650;border-radius:.75rem;
}
#mainContent .siapiya-session-picker > summary::-webkit-details-marker{display:none}
#mainContent .siapiya-session-picker > summary > span:first-child{
  min-width:0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;flex:1 1 auto;
}
#mainContent .siapiya-session-picker .siapiya-picker-edit{
  flex:none;font-size:.82rem;color:var(--bs-primary);font-weight:650;
}
#mainContent .siapiya-session-picker[open] > summary{
  border-bottom:1px solid var(--bs-border-color);border-radius:.75rem .75rem 0 0;
}
#mainContent .siapiya-session-picker > .card{margin:0;border-radius:0 0 .75rem .75rem;box-shadow:none!important}
#mainContent .siapiya-session-picker :is(.form-control,.form-select){min-width:0}
#mainContent .siapiya-session-picker > summary:focus-visible{
  outline:3px solid var(--bs-primary);outline-offset:3px;
}
#mainContent[data-siapiya-ux-route="jurnal"] #ketJurnal{resize:vertical;min-height:3.5rem;line-height:1.4}
@media(max-width:767.98px){
  /* Solid mobile navigation: prevents underlying data from showing through. */
  #dashboardApp #bottomNav.bottom-nav{
    height:calc(62px + env(safe-area-inset-bottom));
    background:var(--bs-body-bg)!important;backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;opacity:1!important;
    padding-bottom:env(safe-area-inset-bottom);box-sizing:border-box;
    border-top:1px solid var(--bs-border-color);box-shadow:0 -2px 9px rgba(15,23,42,.05);
  }
  #dashboardApp #bottomNav .bottom-nav-item{font-size:.68rem;line-height:1.12;min-height:44px}
  #dashboardApp #bottomNav .bottom-nav-item i{font-size:1.28rem}
  #dashboardApp #mainContent{
    padding-bottom:calc(8.6rem + env(safe-area-inset-bottom))!important;
    min-height:0;
  }
  #mainContent:is([data-siapiya-ux-route="dashboard"],[data-siapiya-ux-route="absen"],
  [data-siapiya-ux-route="jurnal"],[data-siapiya-ux-route="nilai"]){
    --bs-gutter-x:1rem;
  }
  /* A single compact, non-transparent action row above the fixed mobile nav. */
  #mainContent:is([data-siapiya-ux-route="absen"],[data-siapiya-ux-route="nilai"]) .sticky-simpan-bar{
    position:fixed!important;bottom:calc(62px + env(safe-area-inset-bottom))!important;
    left:0!important;right:0!important;z-index:1020!important;
    border:0!important;border-top:1px solid var(--bs-border-color)!important;
    border-radius:0!important;margin:0!important;
    padding:.35rem .65rem!important;background:var(--bs-body-bg)!important;
    -webkit-backdrop-filter:none!important;backdrop-filter:none!important;
    box-shadow:0 -2px 9px rgba(15,23,42,.06)!important;
  }
  #mainContent[data-siapiya-ux-route="absen"] .sticky-simpan-bar{
    display:flex;flex-direction:column;gap:.15rem;
  }
  #mainContent[data-siapiya-ux-route="absen"] .sticky-simpan-bar .d-grid{
    display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);
    gap:.35rem!important;max-width:none!important;
  }
  #mainContent[data-siapiya-ux-route="absen"] .sticky-simpan-bar .btn,
  #mainContent[data-siapiya-ux-route="nilai"] .sticky-simpan-bar .btn{
    width:100%!important;max-width:100%!important;min-width:0;
    min-height:44px!important;line-height:1.2;font-size:.83rem!important;
    padding:.5rem .35rem!important;white-space:normal;box-shadow:none!important;
    border-radius:.6rem!important;
  }
  #mainContent[data-siapiya-ux-route="absen"] .sticky-simpan-bar .btn i,
  #mainContent[data-siapiya-ux-route="nilai"] .sticky-simpan-bar .btn i{
    font-size:.9rem!important;margin-right:.12rem!important;
  }
  #mainContent[data-siapiya-ux-route="absen"] .siapiya-attendance-draft-hint{
    text-align:center;font-size:.72rem;color:var(--bs-secondary-color);min-height:.9rem;
  }
  #mainContent[data-siapiya-ux-route="absen"] .siapiya-attendance-draft-hint[data-draft="1"]{
    color:var(--bs-warning-text-emphasis);font-weight:650;
  }
  /* Compact attendance rows; keep NIS, all H/I/S/A, and locked-D explanations visible. */
  #mainContent[data-siapiya-ux-route="absen"] #tabelAbsenSiswa{
    --bs-gutter-x:.5rem;--bs-gutter-y:.35rem;
  }
  #mainContent[data-siapiya-ux-route="absen"] #tabelAbsenSiswa>.col-md-6{
    margin-top:.35rem;
  }
  #mainContent[data-siapiya-ux-route="absen"] #tabelAbsenSiswa .absen-card{
    margin-bottom:.2rem!important;padding:.7rem .75rem!important;border-radius:.75rem!important;
    box-shadow:none!important;transform:none!important;
  }
  #mainContent[data-siapiya-ux-route="absen"] #tabelAbsenSiswa .absen-card .mb-3{margin-bottom:.6rem!important}
  #mainContent[data-siapiya-ux-route="absen"] #tabelAbsenSiswa .absen-card h6{
    font-size:.9rem;line-height:1.26;overflow-wrap:anywhere;
  }
  #mainContent[data-siapiya-ux-route="absen"] #tabelAbsenSiswa .absen-card small{font-size:.74rem}
  #mainContent[data-siapiya-ux-route="absen"] #tabelAbsenSiswa .absen-btn{
    display:flex;align-items:center;justify-content:center;min-width:0;min-height:44px;
    margin:0 .15rem!important;padding:.36rem!important;font-size:.9rem!important;
    border-radius:.65rem!important;box-shadow:none!important;transform:none!important;
  }
  #mainContent[data-siapiya-ux-route="absen"] .live-counter-bar{
    position:static!important;top:auto!important;z-index:auto!important;
    display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:start;
    gap:.1rem;margin:0 0 .55rem!important;padding:.45rem .2rem!important;
    border-radius:.7rem;font-size:.73rem!important;box-shadow:none!important;
  }
  #mainContent[data-siapiya-ux-route="absen"] .live-counter-bar>div{
    min-width:0;padding:0!important;line-height:1.25;
  }
  #mainContent[data-siapiya-ux-route="absen"] .live-counter-bar i{
    display:inline!important;margin:0 .15rem 0 0!important;font-size:.73rem;
  }
  #mainContent[data-siapiya-ux-route="absen"] .live-counter-bar .fs-4{
    font-size:1rem!important;line-height:1.25;
  }
  #mainContent[data-siapiya-ux-route="absen"] .subject-d-toolbar{
    margin-block:.4rem!important;padding:.5rem!important;gap:.4rem;
  }
  /* Journal: primary work visible immediately, session choice stays accessible. */
  #mainContent[data-siapiya-ux-route="jurnal"] .siapiya-journal-task-card .card-body{padding:.7rem!important}
  #mainContent[data-siapiya-ux-route="jurnal"] .siapiya-journal-task-card .row{
    --bs-gutter-y:.6rem;
  }
  #mainContent[data-siapiya-ux-route="jurnal"] :is(#materiJurnal,#catatanJurnal){min-height:3.2rem}
  #mainContent[data-siapiya-ux-route="jurnal"] .siapiya-journal-save-bar{
    position:sticky;bottom:calc(62px + env(safe-area-inset-bottom));padding:.4rem!important;
    border-radius:.7rem;background:var(--bs-body-bg)!important;
    backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  }
  #mainContent[data-siapiya-ux-route="jurnal"] #btnSimpanJurnal{
    min-height:44px!important;font-size:.87rem!important;padding:.55rem .75rem!important;
    line-height:1.25;border-radius:.6rem;box-shadow:none!important;
  }
  /* Grade: native table stays a table, grade zero stays valid, locked scores still visible. */
  #mainContent[data-siapiya-ux-route="nilai"] #gradeInputWorkspace .siapiya-grade-focusbar{
    display:flex;align-items:center;justify-content:space-between;gap:.4rem;
    padding:.5rem .65rem!important;margin-bottom:.55rem!important;min-height:48px;
  }
  #mainContent[data-siapiya-ux-route="nilai"] #gradeFocusNext{
    min-height:44px;flex:none;padding:.4rem .5rem!important;font-size:.78rem;
  }
  #mainContent[data-siapiya-ux-route="nilai"] .siapiya-grade-entry-table{
    padding:.3rem!important;margin-bottom:.7rem!important;box-shadow:none!important;
  }
  #mainContent[data-siapiya-ux-route="nilai"] #tabelNilaiSiswa td{
    padding:.35rem .45rem!important;vertical-align:middle;
  }
  #mainContent[data-siapiya-ux-route="nilai"] #tabelNilaiSiswa td:first-child{
    width:72%;font-size:.82rem!important;line-height:1.3;overflow-wrap:anywhere;
  }
  #mainContent[data-siapiya-ux-route="nilai"] #tabelNilaiSiswa td:first-child small{
    font-size:.7rem;
  }
  #mainContent[data-siapiya-ux-route="nilai"] #tabelNilaiSiswa td:nth-child(2){width:28%;min-width:92px}
  #mainContent[data-siapiya-ux-route="nilai"] #tabelNilaiSiswa input[type="number"]{
    min-width:0;width:100%;min-height:44px;padding:.4rem .25rem!important;
    font-size:1rem!important;border-radius:.6rem;
  }
  #mainContent[data-siapiya-ux-route="nilai"] #tabelNilaiSiswa input[type="number"]::placeholder{
    color:var(--bs-secondary-color);font-size:.8rem;opacity:1;
  }
  #mainContent[data-siapiya-ux-route="nilai"] .table-responsive{scrollbar-gutter:auto}
  /* Adaptive Workspace decorates #dashContainer asynchronously and prepends its cards.
     Restore the teacher's task-first hierarchy without changing the legacy JS. */
  #mainContent[data-siapiya-ux-route="dashboard"] #dashContainer:has(> .siapiya-dashboard-personal-agenda){
    display:flex;flex-direction:column;
  }
  #mainContent[data-siapiya-ux-route="dashboard"] #dashContainer:has(> .siapiya-dashboard-personal-agenda)
    > .siapiya-dashboard-personal-agenda{order:-10;}
  #mainContent[data-siapiya-ux-route="dashboard"] #dashContainer:has(> .siapiya-dashboard-personal-agenda)
    > .siapiya-workspace-summary{order:1;}
  #mainContent[data-siapiya-ux-route="dashboard"] #dashContainer:has(> .siapiya-dashboard-personal-agenda)
    > .siapiya-dashboard-personal-summary{order:2;}
  #mainContent[data-siapiya-ux-route="dashboard"] #dashContainer:has(> .siapiya-dashboard-personal-agenda)
    > .siapiya-dashboard-details{order:3;}
  /* Four shortcuts can fit on two short rows instead of a tall sideways carousel. */
  #mainContent[data-siapiya-ux-route="dashboard"] #dashContainer > .siapiya-workspace-summary .siapiya-module-grid{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.45rem;overflow:visible;scroll-snap-type:none;padding-bottom:0;
  }
  #mainContent[data-siapiya-ux-route="dashboard"] #dashContainer > .siapiya-workspace-summary .siapiya-module-card{
    display:flex;align-items:center;gap:.55rem;min-width:0!important;min-height:54px!important;
    padding:.55rem .65rem!important;border-radius:.7rem;
    font-size:.84rem;box-shadow:none!important;
  }
  #mainContent[data-siapiya-ux-route="dashboard"] #dashContainer > .siapiya-workspace-summary .siapiya-module-icon{
    flex:none;width:28px;height:28px;margin:0!important;border-radius:.55rem;font-size:.93rem;
  }
  #mainContent[data-siapiya-ux-route="dashboard"] #dashContainer > .siapiya-workspace-summary .siapiya-module-title{
    min-width:0;line-height:1.25;margin:0;overflow-wrap:anywhere;
  }
  #mainContent[data-siapiya-ux-route="dashboard"] #dashContainer > .siapiya-workspace-summary > .d-flex{
    margin-bottom:.4rem!important;
  }
  #mainContent[data-siapiya-ux-route="dashboard"] #dashContainer > .siapiya-workspace-summary h5{
    font-size:.93rem;
  }
  /* Personal dashboard: agenda first in DOM; compact secondary semester/shortcuts. */
  #mainContent[data-siapiya-ux-route="dashboard"] .siapiya-dashboard-personal-agenda .card-body{
    padding:.7rem!important;
  }
  #mainContent[data-siapiya-ux-route="dashboard"] .siapiya-dashboard-personal-agenda [data-siapiya-calendar-today-actions]{gap:.35rem!important}
  #mainContent[data-siapiya-ux-route="dashboard"] .siapiya-dashboard-personal-summary .card-body{
    padding:.7rem!important;
  }
  #mainContent[data-siapiya-ux-route="dashboard"] .siapiya-dashboard-personal-summary .siapiya-semester-kpis{
    gap:.4rem;
  }
  #mainContent[data-siapiya-ux-route="dashboard"] .siapiya-dashboard-personal-summary .siapiya-semester-kpis button{
    padding:.55rem!important;min-height:70px!important;border-radius:.65rem!important;
  }
  #mainContent[data-siapiya-ux-route="dashboard"] .siapiya-insight-ok[data-dashboard-backlog-first="1"]{
    padding:.5rem .75rem!important;margin-bottom:.6rem!important;border-radius:.7rem!important;font-size:.8rem;
  }
  #mainContent[data-siapiya-ux-route="dashboard"] .siapiya-insight-ok[data-dashboard-backlog-first="1"] i{
    font-size:.95rem!important;
  }
  #mainContent[data-siapiya-ux-route="dashboard"] .siapiya-dashboard-details{margin-bottom:.7rem!important}
  #mainContent[data-siapiya-ux-route="dashboard"] .siapiya-dashboard-details > summary{
    padding:.65rem .8rem!important;
  }
  #mainContent:is([data-siapiya-ux-route="absen"],[data-siapiya-ux-route="jurnal"],[data-siapiya-ux-route="nilai"])
    .siapiya-session-picker > summary{font-size:.82rem}
  #mainContent:is([data-siapiya-ux-route="absen"],[data-siapiya-ux-route="jurnal"],[data-siapiya-ux-route="nilai"])
    .siapiya-session-picker > .card .card-body{padding:.7rem!important}
  #mainContent:is([data-siapiya-ux-route="absen"],[data-siapiya-ux-route="jurnal"],[data-siapiya-ux-route="nilai"])
    .siapiya-session-picker .row{--bs-gutter-y:.55rem}
  #mainContent :is(.siapiya-session-picker > summary, #gradeFocusNext, #btnSimpanJurnal):focus-visible{
    outline:3px solid var(--bs-primary);outline-offset:2px;
  }
  /* Do not position save action over iOS keyboard, even in browsers with reduced visual viewport. */
  body.siapiya-teacher-keyboard-open #mainContent:is([data-siapiya-ux-route="absen"],[data-siapiya-ux-route="nilai"]) .sticky-simpan-bar{
    position:static!important;box-shadow:none!important;border-radius:.7rem!important;
  }
  body.siapiya-teacher-keyboard-open #mainContent[data-siapiya-ux-route="jurnal"] .siapiya-journal-save-bar{
    position:static!important;box-shadow:none!important;
  }
}
@media(forced-colors:active){
  #mainContent .siapiya-session-picker,#mainContent .siapiya-session-picker > summary,
  #dashboardApp #bottomNav.bottom-nav{border-color:CanvasText}
  #mainContent .siapiya-session-picker > summary:focus-visible{outline-color:Highlight}
}
@media(prefers-reduced-motion:reduce){
  #mainContent[data-siapiya-ux-route="absen"] .absen-card,
  #mainContent[data-siapiya-ux-route="absen"] .absen-btn{transition:none!important;animation:none!important}
}

/* SIAPIYA v3.70.189 — dated schedule quick choices; visual-only scoped to two teacher workflows. */
#mainContent:is([data-siapiya-ux-route="absen"],[data-siapiya-ux-route="jurnal"]) .siapiya-academic-session-shortcuts[hidden]{display:none!important}
#mainContent .siapiya-academic-session-shortcuts{min-width:0;padding-top:.25rem}
#mainContent .siapiya-academic-session-caption{display:block;font-size:.75rem;color:var(--bs-secondary-color);font-weight:600;margin-bottom:.4rem}
#mainContent .siapiya-academic-session-rail{display:flex;gap:.5rem;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;padding:.1rem .1rem .5rem;-webkit-overflow-scrolling:touch}
#mainContent .siapiya-academic-session-chip{flex:0 0 auto;max-width:min(78vw,19rem);min-height:44px;border:1px solid var(--bs-border-color);background:var(--bs-body-bg);color:var(--bs-body-color);border-radius:999px;padding:.45rem .85rem;font-weight:600;font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#mainContent .siapiya-academic-session-chip:focus-visible{outline:3px solid var(--bs-primary);outline-offset:2px}
#mainContent .siapiya-academic-session-chip:active{background:var(--bs-tertiary-bg)}

/* SIAPIYA v3.70.190 — compact, canonical journal progress and in-context attendance action. */
#mainContent[data-siapiya-ux-route="jurnal"] .siapiya-journal-workflow-status{display:flex;align-items:center;justify-content:space-between;gap:.55rem;flex-wrap:wrap;padding:.65rem .85rem;border-radius:.8rem;background:var(--bs-tertiary-bg);border:1px solid var(--bs-border-color);font-weight:600;font-size:.85rem}
#mainContent[data-siapiya-ux-route="jurnal"] .siapiya-journal-workflow-status.d-none{display:none!important}
#mainContent[data-siapiya-ux-route="jurnal"] .siapiya-journal-workflow-status[data-workflow-tone="success"]{border-color:var(--bs-success-border-subtle);color:var(--bs-success-text-emphasis);background:var(--bs-success-bg-subtle)}
#mainContent[data-siapiya-ux-route="jurnal"] .siapiya-journal-workflow-status[data-workflow-tone="warning"]{border-color:var(--bs-warning-border-subtle);color:var(--bs-warning-text-emphasis);background:var(--bs-warning-bg-subtle)}
#mainContent[data-siapiya-ux-route="jurnal"] .siapiya-journal-workflow-status[data-workflow-tone="danger"]{border-color:var(--bs-danger-border-subtle);color:var(--bs-danger-text-emphasis);background:var(--bs-danger-bg-subtle)}
#mainContent[data-siapiya-ux-route="jurnal"] .siapiya-journal-workflow-status #journalOpenAttendance{min-height:44px;white-space:nowrap}

/* SIAPIYA v3.70.191: compact existing teacher agenda, no additional UI controls. */
#mainContent[data-siapiya-ux-route="dashboard"] .siapiya-dashboard-personal-agenda .siapiya-dashboard-agenda-card{padding:.52rem .7rem!important;}
#mainContent[data-siapiya-ux-route="dashboard"] .siapiya-dashboard-personal-agenda .siapiya-dashboard-agenda-time{gap:0;}
#mainContent[data-siapiya-ux-route="dashboard"] .siapiya-dashboard-personal-agenda .siapiya-dashboard-agenda-card-head h6{margin-bottom:.22rem!important;line-height:1.3;}
#mainContent[data-siapiya-ux-route="dashboard"] .siapiya-dashboard-personal-agenda .siapiya-dashboard-agenda-meta{margin:.05rem 0 .35rem;}
#mainContent[data-siapiya-ux-route="dashboard"] .siapiya-dashboard-personal-agenda .siapiya-dashboard-agenda-actions .dashboard-task-badge{box-shadow:none!important;border-radius:999px;min-height:44px;padding:.35rem .58rem;font-size:.73rem;line-height:1.2;white-space:normal;}
@media(max-width:767.98px){
 #mainContent[data-siapiya-ux-route="dashboard"] .siapiya-dashboard-personal-agenda .siapiya-dashboard-agenda-item{gap:.12rem;}
 #mainContent[data-siapiya-ux-route="dashboard"] .siapiya-dashboard-personal-agenda .siapiya-dashboard-agenda-time{padding:0 .2rem;}
 #mainContent[data-siapiya-ux-route="dashboard"] .siapiya-dashboard-personal-agenda .siapiya-dashboard-agenda-timeline{margin-top:.45rem!important;}
}
