/* SIAPIYA_ACADEMIC_FINAL_VISUAL_A11Y_V37031
   Academic Workspace Consistency Wave 5 — Final Visual Polish & Accessibility.
   Route-scoped visual/accessibility layer only. */

#mainContent[data-siapiya-task-first="1"]{
  --siapiya-a11y-focus-ring:color-mix(in srgb,var(--bs-primary) 54%,transparent);
  --siapiya-a11y-muted:color-mix(in srgb,var(--bs-body-color) 68%,transparent);
  --siapiya-a11y-divider:color-mix(in srgb,var(--bs-border-color) 84%,transparent);
  text-rendering:optimizeLegibility;
}

/* Typography rhythm */
#mainContent[data-siapiya-task-first="1"] :is(h1,h2,h3,h4,h5,h6){
  text-wrap:balance;
  letter-spacing:-.012em;
}

#mainContent[data-siapiya-task-first="1"] :is(p,.form-text,.small){
  text-wrap:pretty;
}

#mainContent[data-siapiya-task-first="1"] .form-label{
  color:var(--bs-body-color);
  font-weight:650;
}

#mainContent[data-siapiya-task-first="1"] :is(.form-text,.text-muted,.small.text-muted){
  color:var(--siapiya-a11y-muted)!important;
}

/* Focus treatment */
#mainContent[data-siapiya-task-first="1"] :is(
  a,
  button,
  summary,
  input,
  select,
  textarea,
  [tabindex]:not([tabindex="-1"])
):focus-visible{
  outline:3px solid var(--siapiya-a11y-focus-ring);
  outline-offset:3px;
  box-shadow:none!important;
}

#mainContent[data-siapiya-task-first="1"] :is(
  .form-control,
  .form-select
):focus{
  border-color:color-mix(in srgb,var(--bs-primary) 68%,var(--bs-border-color));
}

/* Touch targets */
#mainContent[data-siapiya-task-first="1"] :is(
  button,
  .btn,
  summary,
  .nav-link,
  [role="tab"]
){
  min-block-size:2.75rem;
}

#mainContent[data-siapiya-task-first="1"] :is(
  input[type="checkbox"],
  input[type="radio"]
){
  min-inline-size:1.15rem;
  min-block-size:1.15rem;
}

/* Better separation without visual noise */
#mainContent[data-siapiya-task-first="1"] .card{
  border-color:var(--siapiya-a11y-divider);
}

#mainContent[data-siapiya-task-first="1"] .table > :not(caption) > * > *{
  border-color:var(--siapiya-a11y-divider);
}

#mainContent[data-siapiya-task-first="1"] .table thead th{
  font-weight:700;
}

/* Preserve readable row identity even without hover. */
#mainContent[data-siapiya-task-first="1"] .table tbody tr:focus-within > *{
  background:color-mix(in srgb,var(--bs-primary-bg-subtle) 42%,transparent);
}

/* Inputs and disabled states */
#mainContent[data-siapiya-task-first="1"] :is(.form-control,.form-select)::placeholder{
  color:color-mix(in srgb,var(--bs-body-color) 48%,transparent);
  opacity:1;
}

#mainContent[data-siapiya-task-first="1"] :is(.form-control,.form-select):disabled{
  opacity:.76;
  cursor:not-allowed;
}

/* Alerts and empty state final polish */
#mainContent[data-siapiya-task-first="1"] .alert{
  border-inline-start-width:.3rem;
}

#mainContent[data-siapiya-task-first="1"] [data-siapiya-feedback-state="empty"]{
  color:var(--siapiya-a11y-muted);
}

#mainContent[data-siapiya-task-first="1"] [data-siapiya-feedback-state="empty"] :is(.btn,a){
  color:var(--bs-primary);
}

/* Details / progressive disclosure */
#mainContent[data-siapiya-task-first="1"] details > summary{
  border-radius:.6rem;
}

#mainContent[data-siapiya-task-first="1"] details > summary:hover{
  background:color-mix(in srgb,var(--bs-tertiary-bg) 74%,transparent);
}

#mainContent[data-siapiya-task-first="1"] details[open] > summary{
  margin-bottom:.45rem;
}

/* Scroll targets avoid hidden content behind sticky headers/actions */
#mainContent[data-siapiya-task-first="1"] :is(
  [id],
  .card,
  details,
  .alert,
  .sticky-simpan-bar
){
  scroll-margin-top:5.25rem;
}

/* Dark mode support without custom palette drift */
[data-bs-theme="dark"] #mainContent[data-siapiya-task-first="1"]{
  --siapiya-a11y-muted:color-mix(in srgb,var(--bs-body-color) 74%,transparent);
  --siapiya-a11y-divider:color-mix(in srgb,var(--bs-border-color) 92%,transparent);
}

/* Mobile final polish */
@media (max-width:767.98px){
  #mainContent[data-siapiya-task-first="1"]{
    font-size:.95rem;
  }

  #mainContent[data-siapiya-task-first="1"] :is(h4,h5){
    line-height:1.28;
  }

  #mainContent[data-siapiya-task-first="1"] :is(
    button,
    .btn,
    summary,
    .nav-link,
    [role="tab"]
  ){
    min-block-size:2.85rem;
  }

  #mainContent[data-siapiya-task-first="1"] .table-responsive{
    border-inline:1px solid var(--siapiya-a11y-divider);
  }

  #mainContent[data-siapiya-task-first="1"] .table{
    line-height:1.35;
  }

  #mainContent[data-siapiya-task-first="1"] details > summary{
    padding-inline:.1rem;
  }
}

/* High contrast / forced colors */
@media (forced-colors:active){
  #mainContent[data-siapiya-task-first="1"] :is(
    a,
    button,
    summary,
    input,
    select,
    textarea,
    [tabindex]:not([tabindex="-1"])
  ):focus-visible{
    outline:3px solid Highlight;
  }

  #mainContent[data-siapiya-task-first="1"] :is(.card,.alert,.table-responsive){
    border-color:CanvasText;
  }

  #mainContent[data-siapiya-task-first="1"] :is(.btn-primary,.btn-success,.btn-danger){
    forced-color-adjust:auto;
  }
}

/* Motion accessibility */
@media (prefers-reduced-motion:reduce){
  #mainContent[data-siapiya-task-first="1"] *,
  #mainContent[data-siapiya-task-first="1"] *::before,
  #mainContent[data-siapiya-task-first="1"] *::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
    scroll-behavior:auto!important;
  }
}
