/* SIMAKSI v0.9.37 — Final UI/UX Consistency & Mobile Polish
 * Presentation-only final pass. No business workflow, API, or schema changes.
 */

/* Consistent focus and overflow safety across the application. */
body.ui-v0937{--ui-touch:44px;--ui-focus:color-mix(in srgb,var(--blue) 72%,#fff)}
body.ui-v0937 .content,body.ui-v0937 .card,body.ui-v0937 .page-intro,body.ui-v0937 .table-wrap{min-width:0}
body.ui-v0937 a:focus-visible,body.ui-v0937 button:focus-visible,body.ui-v0937 summary:focus-visible,
body.ui-v0937 input:focus-visible,body.ui-v0937 select:focus-visible,body.ui-v0937 textarea:focus-visible,
body.ui-v0937 [tabindex="0"]:focus-visible{outline:3px solid color-mix(in srgb,var(--ui-focus) 38%,transparent);outline-offset:2px}
body.ui-v0937 .button,body.ui-v0937 .icon-button,body.ui-v0937 summary{touch-action:manipulation}
body.ui-v0937 .table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
body.ui-v0937 .table-wrap[data-ui-scrollable="true"]{scroll-padding-inline:12px}
body.ui-v0937 .alert{padding-block:10px;line-height:1.4}
body.ui-v0937 .ui-flash-v0816{gap:10px}
body.ui-v0937 .ui-flash-close-v0816{flex:0 0 auto}
body.ui-v0937 .app-footer{font-size:.66rem;line-height:1.35}

/* Keep task navigation compact and predictable. */
body.ui-v0937 .ui-status-tabs-v0814,
body.ui-v0937 .activity-tabs-v099,
body.ui-v0937 .organization-tabs-v0910,
body.ui-v0937 .permit-tabs-v097,
body.ui-v0937 .guardian-tabs-v0914,
body.ui-v0937 .attendance-tabs-v0915,
body.ui-v0937 .document-tabs-v098,
body.ui-v0937 .letter-tabs-v0912,
body.ui-v0937 .analytics-tabs-v0911,
body.ui-v0937 .recruitment-tabs-v0932{scroll-snap-type:x proximity}
body.ui-v0937 .ui-status-tabs-v0814>a,
body.ui-v0937 .activity-tabs-v099>a,
body.ui-v0937 .organization-tabs-v0910>a,
body.ui-v0937 .permit-tabs-v097>a,
body.ui-v0937 .guardian-tabs-v0914>a,
body.ui-v0937 .attendance-tabs-v0915>a,
body.ui-v0937 .document-tabs-v098>a,
body.ui-v0937 .letter-tabs-v0912>a,
body.ui-v0937 .analytics-tabs-v0911>a,
body.ui-v0937 .recruitment-tabs-v0932>a{scroll-snap-align:start}

/* Form consistency: labels are primary, helper copy stays secondary. */
body.ui-v0937 label>small,body.ui-v0937 .field-help,body.ui-v0937 .form-help{line-height:1.35}
body.ui-v0937 textarea{resize:vertical}
body.ui-v0937 .form-actions{align-items:center}
body.ui-v0937 .form-actions .button{white-space:nowrap}

/* Action Center: align the final presentation with the rest of the system. */
body.ui-v0937 .ui-action-center-v0935{border-left:1px solid var(--line)}
body.ui-v0937 .ui-action-center-foot-v0935{min-height:54px}
body.ui-v0937 .ui-action-item-v0935:last-child{margin-bottom:0}

/* Avoid oversized empty space on short task pages while retaining the footer. */
body.ui-v0937 .content>section:last-of-type,body.ui-v0937 .content>.card:last-of-type{margin-bottom:0}
body.ui-v0937 .app-footer{margin-top:28px;padding-top:12px}

@media(max-width:900px){
  body.ui-v0937 .page-intro>.form-actions,body.ui-v0937 .page-intro>.row{flex-wrap:wrap}
  body.ui-v0937 .page-intro>.form-actions .button,body.ui-v0937 .page-intro>.row .button{min-width:0}
}

@media(max-width:760px){
  /* Topbar: one line of context plus compact controls, no clipping. */
  body.ui-v0937 .topbar{gap:7px}
  body.ui-v0937 .topbar-start{min-width:0;flex:1}
  body.ui-v0937 .topbar-context-v095{min-width:0;flex:1}
  body.ui-v0937 .topbar-title-v095{max-width:38vw}
  body.ui-v0937 .top-actions-v095{flex:0 0 auto;gap:5px}
  body.ui-v0937 .topbar-search-v095{width:40px;min-width:40px;height:40px;padding:0;display:grid;place-items:center}
  body.ui-v0937 .topbar-account-v095>summary{width:40px;min-width:40px;height:40px;padding:0;display:grid;place-items:center}
  body.ui-v0937 .topbar-account-copy-v095,body.ui-v0937 .topbar-chevron-v095{display:none!important}
  body.ui-v0937 .topbar-avatar-v095{margin:0}
  body.ui-v0937 .topbar-theme-v095,body.ui-v0937 .ui-action-trigger-v0935{width:40px;min-width:40px;height:40px}

  /* Touch targets and iOS-safe form sizing. */
  body.ui-v0937 .button{min-height:var(--ui-touch)}
  body.ui-v0937 .button.small{min-height:40px}
  body.ui-v0937 input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
  body.ui-v0937 select,body.ui-v0937 textarea{font-size:16px!important}
  body.ui-v0937 details>summary{min-height:var(--ui-touch)}
  body.ui-v0937 .ui-status-tabs-v0814>a,
  body.ui-v0937 .activity-tabs-v099>a,
  body.ui-v0937 .organization-tabs-v0910>a,
  body.ui-v0937 .permit-tabs-v097>a,
  body.ui-v0937 .guardian-tabs-v0914>a,
  body.ui-v0937 .attendance-tabs-v0915>a,
  body.ui-v0937 .document-tabs-v098>a,
  body.ui-v0937 .letter-tabs-v0912>a,
  body.ui-v0937 .analytics-tabs-v0911>a,
  body.ui-v0937 .recruitment-tabs-v0932>a{min-height:var(--ui-touch);display:flex;align-items:center}

  /* Keep action rows usable with one thumb. */
  body.ui-v0937 .form-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:8px}
  body.ui-v0937 .form-actions>.button,body.ui-v0937 .form-actions>form,body.ui-v0937 .form-actions>form>.button{width:100%;min-width:0}
  body.ui-v0937 .form-actions>:only-child{grid-column:1/-1}

  /* Horizontal task bars should never wrap into a second visual row. */
  body.ui-v0937 .ui-status-tabs-v0814,
  body.ui-v0937 .activity-tabs-v099,
  body.ui-v0937 .organization-tabs-v0910,
  body.ui-v0937 .permit-tabs-v097,
  body.ui-v0937 .guardian-tabs-v0914,
  body.ui-v0937 .attendance-tabs-v0915,
  body.ui-v0937 .document-tabs-v098,
  body.ui-v0937 .letter-tabs-v0912,
  body.ui-v0937 .analytics-tabs-v0911,
  body.ui-v0937 .recruitment-tabs-v0932{overflow-x:auto;overflow-y:hidden;flex-wrap:nowrap;scrollbar-width:none}
  body.ui-v0937 .permit-tabs-v097::-webkit-scrollbar{display:none}

  /* Dense cards and tables keep breathing room without wasting the viewport. */
  body.ui-v0937 .card{scroll-margin-top:calc(var(--topbar-height) + 10px)}
  body.ui-v0937 .table-wrap{margin-inline:0}
  body.ui-v0937 .table-wrap table th,body.ui-v0937 .table-wrap table td{line-height:1.35}
  body.ui-v0937 .app-footer{margin-top:18px;padding:10px 4px calc(4px + env(safe-area-inset-bottom));text-align:center}

  /* Action Center stays full-screen but gains safe-area spacing. */
  body.ui-v0937 .ui-action-center-head-v0935{padding-top:calc(16px + env(safe-area-inset-top))}
  body.ui-v0937 .ui-action-center-foot-v0935{padding-bottom:calc(12px + env(safe-area-inset-bottom))}
}

@media(max-width:430px){
  body.ui-v0937 .topbar-title-v095{max-width:31vw}
  body.ui-v0937 .content{padding-inline:10px}
  body.ui-v0937 .form-actions{grid-template-columns:1fr}
  body.ui-v0937 .form-actions>*{grid-column:1!important}
  body.ui-v0937 .page-intro>.form-actions,body.ui-v0937 .page-intro>.row{display:grid;grid-template-columns:1fr;align-items:stretch}
  body.ui-v0937 .page-intro>.form-actions .button,body.ui-v0937 .page-intro>.row .button{width:100%}
}

@media(prefers-reduced-motion:reduce){
  body.ui-v0937 *,body.ui-v0937 *::before,body.ui-v0937 *::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}
