/* SATRIA R14.25 — Visual UAT hardening + readable typography.
   Final-loaded layer. Keeps workflow semantics unchanged while enforcing
   readable type, resilient desktop/mobile layout, extreme-state handling,
   clear action affordances and browser/PWA update presentation. */

:root{
  --r1425-font-body:15px;
  --r1425-font-ui:14px;
  --r1425-font-label:13px;
  --r1425-font-caption:12px;
  --r1425-font-micro:11px;
  --r1425-line:1.52;
  --r1425-tap:40px;
  --r1425-tap-mobile:44px;
  --r1425-content-measure:82ch;
  --r1425-toast-bg:#10294b;
  --r1425-toast-fg:#fff;
  --r1425-soft:#f7f9fc;
}

/* 1) DESKTOP VISUAL HARDENING + TYPOGRAPHY FLOOR */
body.stoda-v2{font-size:var(--r1425-font-body);line-height:var(--r1425-line);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
body.stoda-v2 .sv2-content{min-width:0}
body.stoda-v2 :is(.sv2-page-title,.s-page-title,.page-title){font-size:clamp(24px,2vw,30px)!important;line-height:1.16!important;letter-spacing:-.025em}
body.stoda-v2 :is(.sv2-page-subtitle,.page-copy){font-size:14px!important;line-height:1.55!important;max-width:var(--r1425-content-measure)}
body.stoda-v2 :is(.sv2-card-title,.s-section-title,.sv2-section-title,.card-title){font-size:16px!important;line-height:1.3!important}
body.stoda-v2 :is(.sv2-card-caption,.sv2-section-caption,.card-caption){font-size:12.5px!important;line-height:1.55!important}
body.stoda-v2 small{font-size:var(--r1425-font-caption)!important;line-height:1.45}
body.stoda-v2 label{font-size:var(--r1425-font-label)}
body.stoda-v2 :is(input,select,textarea){font-size:14px!important;line-height:1.35}
body.stoda-v2 :is(button,.sv2-btn,.s-btn,.r4-btn,.r720-btn,.ma721-btn,.ma722-btn,.ccr-btn,.rc7-filter-btn){font-size:13px!important;min-height:var(--r1425-tap)}
body.stoda-v2 :is(.sv2-nav a,.sv2-subnav a){font-size:13px!important;line-height:1.35}
body.stoda-v2 :is(.sv2-nav-title,.sv2-nav-section-label){font-size:11px!important;line-height:1.35!important;letter-spacing:.09em!important}
body.stoda-v2 table th{font-size:12px!important;line-height:1.4}
body.stoda-v2 table td{font-size:13px!important;line-height:1.48}
body.stoda-v2 :is(.sv2-chip,.badge,.mini-badge,[class*="-badge"],[class*="-chip"],[class*="-pill"],[class*="-tag"]){font-size:11px!important;line-height:1.25}
body.stoda-v2 :is(.meta,[class$="-meta"],[class*="-meta "]){font-size:12px}

/* legacy utility sizes are retained by name but no longer render as unreadable microtext */
body.stoda-v2 :is(.s-u-fs9,.s-u-fs10,.s-u-fs11,.s-u-muted-9,.s-u-muted-10,.s-u-muted-11,.s-u-file-input-compact){font-size:12px!important}
body.stoda-v2 .s-u-fs12{font-size:13px!important}
body.stoda-v2 .s-u-fs17{font-size:18px!important}
body.stoda-v2 .s-u-fs18{font-size:19px!important}
body.stoda-v2 .s-u-fs20{font-size:21px!important}

/* legacy R7.20/Profile/Site surfaces contained 6–10px text; raise the operational floor */
body.stoda-v2 :is(.r720-search-pane-head p,.r720-search-filters label>span,.r720-result-head,.r720-result-card .copy>small,.r720-result-card .side small,.r720-breadcrumb,.r720-address,.r720-coordinate,.r720-section-head p,.r720-stat-grid small,.r720-mini-panel small,.r720-stat-grid span,.r720-mini-panel span,.r720-tenant-card>header p,.r720-tenant-details small,.r720-document-card p,.r720-stepper>div>b,.r720-timeline-list small,.r720-timeline-list em,.r720-dt-domain header p,.r720-dt-domain li,.r720-health-list li,.r720-list-row small){font-size:11.5px!important;line-height:1.45!important}
body.stoda-v2 :is(.r720-search-filters select,.r720-search-box input,.r720-result-card .copy>b,.r720-result-card .copy>strong,.r720-list-row strong,.r720-health-list li b,.r720-tenant-details b,.r720-document-card h3,.r720-timeline-list b,.r720-dt-domain h3){font-size:12.5px!important;line-height:1.42!important}
body.stoda-v2 .r720-result-card .copy>em span{font-size:11px!important;padding:4px 7px!important}
body.stoda-v2 .r720-stepper>div>span{font-size:11px!important;width:28px!important;height:28px!important}
body.stoda-v2 .r720-profile-tabs button{font-size:12px!important;min-height:40px!important}
body.stoda-v2 .r720-profile-actions .r720-btn{font-size:12px!important;min-height:40px!important}
body.stoda-v2 .r720-operator{font-size:11px!important}

/* Manager Asset generations also carried sub-10px labels. */
body.stoda-v2 :is(.ma721-card small,.ma721-card p,.ma722-card small,.ma722-card p,.ma722-kpi-grid small,.ma722-kpi-grid span,.ma722-detail-grid small,.ma722-tenant-card header p,.ma722-section-title p){font-size:11.5px!important;line-height:1.45!important}
body.stoda-v2 :is(.ma721-btn,.ma722-btn){font-size:12.5px!important;min-height:40px!important}
body.stoda-v2 :is(.ma722-detail-grid b,.ma722-tenant-card h3){font-size:12.5px!important}
body[data-role="MANAGER_ASSET"].stoda-v2 .sv2-sidebar .sv2-nav a{font-size:13px!important;min-height:44px!important}

/* R14.23 workflow surfaces: keep action hierarchy readable. */
body.stoda-v2 .r1423-action-summary small,
body.stoda-v2 .r1423-manager-decision-grid small{font-size:11.5px!important}
body.stoda-v2 .r1423-action-summary em,
body.stoda-v2 .r1423-manager-decision-grid em{font-size:12px!important}
body.stoda-v2 .r1423-work-copy>strong{font-size:14px!important}
body.stoda-v2 .r1423-work-copy>small{font-size:12px!important}
body.stoda-v2 .r1423-work-tags :is(b,em){font-size:10.5px!important;padding:5px 7px!important}
body.stoda-v2 .r1423-work-due small{font-size:10.5px!important}
body.stoda-v2 .r1423-work-due b{font-size:13px!important}
body.stoda-v2 .r1423-work-due em{font-size:11.5px!important}
body.stoda-v2 .r1423-guide-list b{font-size:13px!important}
body.stoda-v2 .r1423-guide-list small{font-size:11.5px!important}

/* Contract/operational form readability. */
body.stoda-v2 .cq-field label{font-size:13px!important}
body.stoda-v2 .cq-help{font-size:12px!important}
body.stoda-v2 .cq-table th{font-size:11.5px!important}
body.stoda-v2 .cq-log-time{font-size:12px!important}
body.stoda-v2 .s-field-error{font-size:12px!important}

/* Desktop cards and headers must gracefully wrap instead of shrinking typography. */
body.stoda-v2 :is(.sv2-card-head,.r720-card-head,.ma721-section-head,.ma722-section-title,.ccr-card>header){min-width:0;flex-wrap:wrap}
body.stoda-v2 :is(.sv2-card-head,.r720-card-head,.ma721-section-head,.ma722-section-title,.ccr-card>header)>*{min-width:0}
body.stoda-v2 :is(.sv2-toolbar,.r4-actions,.r1424-actions,.ccr-hero-actions){flex-wrap:wrap}
body.stoda-v2 :is(.sv2-toolbar,.r4-actions,.r1424-actions,.ccr-hero-actions)>*{max-width:100%}

/* 2) MOBILE HARDENING */
@media(max-width:760px){
  body.stoda-v2{font-size:15.5px;line-height:1.55}
  body.stoda-v2 :is(input,select,textarea){font-size:16px!important;min-height:44px}
  body.stoda-v2 :is(button,.sv2-btn,.s-btn,.r4-btn,.r720-btn,.ma721-btn,.ma722-btn,.ccr-btn,.rc7-filter-btn){min-height:var(--r1425-tap-mobile);font-size:13.5px!important}
  body.stoda-v2 :is(.sv2-page-title,.s-page-title,.page-title){font-size:23px!important}
  body.stoda-v2 .sv2-page-subtitle{font-size:13.5px!important}
  body.stoda-v2 .sv2-content{padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right));padding-bottom:calc(82px + env(safe-area-inset-bottom))}
  body.stoda-v2 .sv2-mobile-nav,
  body.stoda-v2 .sv2-mobile-bottom{padding-bottom:env(safe-area-inset-bottom)}
  body.stoda-v2 :is(.r424-edit-dialog,.r14233-edit-dialog,.rc7-more-sheet,.rc71421-more-sheet,.rc6-site-tab-sheet){max-height:calc(100dvh - 20px);overflow:auto;overscroll-behavior:contain}
  body.stoda-v2 .r1423-work-row{grid-template-columns:38px minmax(0,1fr);align-items:start}
  body.stoda-v2 .r1423-work-due{grid-column:2;justify-self:stretch;text-align:left;min-width:0;grid-template-columns:auto auto 1fr}
  body.stoda-v2 .r1423-row-actions{grid-column:1/-1;justify-content:stretch}
  body.stoda-v2 .r1423-row-actions>*{flex:1 1 140px}
  body.stoda-v2 .r1423-row-actions .sv2-btn{width:100%}
  body.stoda-v2 .r720-search-pane-head p{font-size:12px!important}
  body.stoda-v2 .r720-profile-workspace.embedded .r720-title-row h1,
  body.stoda-v2 .r720-title-row h1{font-size:18px!important}
  body.stoda-v2 .r720-address,body.stoda-v2 .r720-coordinate{font-size:12px!important}
  body.stoda-v2 .r720-profile-actions{gap:8px}
}
@media(max-width:430px){
  body.stoda-v2 .sv2-content{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}
  body.stoda-v2 :is(.sv2-card-head,.sv2-card-body){padding-left:14px;padding-right:14px}
  body.stoda-v2 :is(.sv2-toolbar,.r1424-actions,.ccr-close-actions){display:grid;grid-template-columns:1fr;width:100%}
  body.stoda-v2 :is(.sv2-toolbar,.r1424-actions,.ccr-close-actions)>*{width:100%;min-width:0}
  body.stoda-v2 .r1423-action-summary{grid-template-columns:1fr 1fr}
  body.stoda-v2 .r1423-action-summary>a{padding:13px}
  body.stoda-v2 .r1423-action-summary strong{font-size:22px!important}
}

/* 3) EXTREME-STATE HANDLING */
body.stoda-v2 .r1425-long-table{max-height:min(72vh,760px);overflow:auto!important;overscroll-behavior:contain;border-bottom:1px solid var(--r1424-border,#e3e9f1)}
body.stoda-v2 .r1425-long-table table thead th{position:sticky;top:0;z-index:3;background:#f8fafc;box-shadow:0 1px 0 rgba(17,44,79,.08)}
body.stoda-v2 .r1425-long-value{overflow-wrap:anywhere;word-break:break-word;white-space:normal!important}
body.stoda-v2 .r1425-empty{padding:28px 18px;text-align:center;border:1px dashed #d8e2ed;border-radius:14px;background:#fbfcfe;color:#6d7d91}
body.stoda-v2 .r1425-error-summary{padding:12px 14px;border:1px solid #fecaca;border-left:4px solid #c83b4b;border-radius:12px;background:#fff7f7;color:#842a36}
body.stoda-v2 :target{scroll-margin-top:88px}
body.stoda-v2 .r1425-overflow-guard{min-width:0;max-width:100%;overflow-wrap:anywhere}

/* 4) WORKFLOW JOURNEY CONSISTENCY */
body.stoda-v2 [aria-current="step"]{position:relative}
body.stoda-v2 [aria-current="step"]:after{content:"Tahap aktif";display:block;margin-top:4px;font-size:10.5px;font-weight:800;color:#1769e0;letter-spacing:.03em}
body.stoda-v2 form[aria-busy="true"]{opacity:.78}
body.stoda-v2 form[aria-busy="true"] :is(button[type="submit"],input[type="submit"]){cursor:progress}
body.stoda-v2 .r1425-action-emphasis{box-shadow:0 0 0 3px rgba(23,105,224,.09);border-color:#b9d5fb!important}
body.stoda-v2 .r1425-next-action{font-weight:800}

/* 5) SUPER ADMIN ACTION VISIBILITY */
body[data-role="SUPER_ADMIN"].stoda-v2 .r1425-superadmin-note{display:flex;gap:8px;align-items:flex-start;padding:10px 12px;border:1px solid #d9cdfd;border-radius:12px;background:#f7f3ff;color:#4f388b;font-size:12.5px;line-height:1.5}
body[data-role="SUPER_ADMIN"].stoda-v2 .r1425-superadmin-note strong{color:#402d79}
body[data-role="SUPER_ADMIN"].stoda-v2 :is(.ccr-super-authority,.r14231-super-authority){font-size:12.5px!important;line-height:1.5}

/* 6) PWA/BROWSER UPDATE & DEVICE FEEDBACK */
.r1425-update-toast{position:fixed;right:18px;bottom:18px;z-index:10020;display:flex;align-items:center;gap:12px;max-width:min(430px,calc(100vw - 28px));padding:13px 14px;border-radius:14px;background:var(--r1425-toast-bg);color:var(--r1425-toast-fg);box-shadow:0 18px 48px rgba(5,24,48,.28);font-size:13px;line-height:1.45}
.r1425-update-toast[hidden]{display:none}
.r1425-update-toast strong{display:block;font-size:13.5px}
.r1425-update-toast span{display:block;opacity:.82;font-size:12px}
.r1425-update-toast button{flex:0 0 auto;min-height:36px;padding:0 12px;border:0;border-radius:9px;background:#fff;color:#173653;font:inherit;font-weight:800;cursor:pointer}
@media(max-width:560px){.r1425-update-toast{left:12px;right:12px;bottom:calc(78px + env(safe-area-inset-bottom));max-width:none}.r1425-update-toast button{min-height:40px}}

/* Auth readability */
body.stoda-v2 .sv2-login-copy p{font-size:14px!important;line-height:1.6!important}
body.stoda-v2 .sv2-login-foot{font-size:12px!important;line-height:1.55!important}
body.stoda-v2 .ua-login-methods small,
body.stoda-v2 .ua-register-cta span,
body.stoda-v2 .ua-optional-password p,
body.stoda-v2 .ua-link-telegram p,
body.stoda-v2 .ua-next-steps ol{font-size:12.5px!important}
body.stoda-v2 .ua-account-summary span{font-size:11.5px!important}
body.stoda-v2 .ua-account-summary strong{font-size:14px!important}

@media(prefers-reduced-motion:reduce){
  .r1425-update-toast{scroll-behavior:auto}
}

/* Cross-generation semantic microcopy floor. */
body.stoda-v2 :is([class*="eyebrow"],[class*="kicker"],[class*="breadcrumb"],[class*="caption"],[class*="-help"],[class*="-note"],[class*="-hint"],[class*="-meta"]){font-size:12px!important;line-height:1.48!important}

/* Canonical Profile Site / editor readability. */
body.stoda-v2 :is(.r424-passport-eyebrow,.r424-coordinate-summary small,.r424-action small,.r424-profile-overview small,.r424-panel-label,.r424-kicker,.r424-panel-title p,.r424-coordinate-form label span,.r424-full span,.r424-history small,.r424-history em,.r424-field-meta small,.r424-tenant-edit>summary small){font-size:11.5px!important;line-height:1.45!important}
body.stoda-v2 :is(.r424-coordinate-summary strong,.r424-action b,.r424-profile-overview strong,.r424-edit-nav button,.r424-coordinate-form input,.r424-coordinate-form select,.r424-coordinate-form textarea,.r424-field-row input,.r424-field-row select,.r424-history strong,.r424-field-meta strong,.r424-tenant-edit>summary strong){font-size:13px!important;line-height:1.42!important}
body.stoda-v2 :is(.r424-approval,.r424-direct){font-size:10.5px!important;padding:4px 7px!important}
body.stoda-v2 .r424-tabs .sv2-tab{font-size:12.5px!important;min-height:42px!important}
body.stoda-v2 .r424-tabs .sv2-tab em{font-size:10.5px!important}
body.stoda-v2 .r424-edit-head p{font-size:12.5px!important}
body.stoda-v2 .r424-edit-head h2{font-size:24px!important}

/* COMCASE room: chat, workflow and evidence should be readable for field use. */
body.stoda-v2 :is(.ccr-card>header small,.ccr-flow-step strong,.ccr-message-head span,.ccr-message-head em,.ccr-message-head time,.ccr-message-actions button,.ccr-reply-quote strong,.ccr-reply-quote span,.ccr-system-head strong,.ccr-system-head time,.ccr-mini-state,.ccr-tool,.ccr-file-summary,.ccr-composer-note,.ccr-detail-list dt,.ccr-copy-block strong,.ccr-people-list span,.ccr-participant-history>small,.ccr-participant-history span,.ccr-evidence-card small){font-size:11.5px!important;line-height:1.45!important}
body.stoda-v2 :is(.ccr-flow-step small,.ccr-file-chip small){font-size:11px!important}
body.stoda-v2 :is(.ccr-message-head strong,.ccr-file-chip strong,.ccr-detail-list dd,.ccr-people-list strong,.ccr-evidence-card strong){font-size:13px!important}
body.stoda-v2 .ccr-flow-dot{font-size:11px!important}
body.stoda-v2 .ccr-readonly{font-size:12.5px!important;line-height:1.5!important}
body.stoda-v2 .ccr-tab{font-size:13px!important;min-height:44px!important}
body.stoda-v2 .ccr-tab>span{font-size:10.5px!important}
body.stoda-v2 .ccr-composer textarea{font-size:14px!important}

/* BAPT review/acceptance surfaces. */
body.stoda-v2 :is(.bapt-map-item small,.bapt-recon-value small,.bapt-detail-label,.bapt-recon-foot,.bapt-oac-card p,.bapt-oac-dates,.bapt-source-facts small,.bapt-identity-main small,.bapt-confidence small,.bapt-queue-item small,.bapt-decision-tile small,.bapt-bulk-toolbar label,.bapt-bulk-row a small,.bapt-r13-identity-grid small,.bapt-r13-project-meta,.bapt-r13-compare-card>span:not(.bapt-r13-recon-pill),.bapt-r13-continuity,.bapt-r13-what-changed){font-size:11.5px!important;line-height:1.45!important}
body.stoda-v2 :is(.bapt-compare-badge,.bapt-identity-chip,.bapt-r13-chip-row span,.bapt-r13-current-badge,.bapt-r13-change){font-size:10.5px!important}
body.stoda-v2 .bapt-detail-row.header{font-size:11px!important}
body.stoda-v2 .bapt-detail-row>div:not(:first-child){font-size:12.5px!important}
body.stoda-v2 :is(.bapt-source-facts b,.bapt-queue-item b,.bapt-decision-tile b,.bapt-r13-identity-grid b){font-size:12.5px!important}
body.stoda-v2 :is(.bapt-blocking,.bapt-info,.bapt-identity-stage,.bapt-map-frozen){font-size:12px!important}
@media(max-width:760px){body.stoda-v2 .bapt-review-stack .s-table{font-size:13px!important}body.stoda-v2 .bapt-detail-row>div:nth-child(2)::before,body.stoda-v2 .bapt-detail-row>div:nth-child(3)::before,body.stoda-v2 .bapt-detail-row>div:nth-child(4)::before{font-size:10.5px!important}}

/* CAF mapper/report readability. */
body.stoda-v2 :is(.caf14-meta,.caf14-soft,.caf14-status,.caf14-lineage span,.caf15-output-preview summary,.caf15-output-preview dt,.caf15-output-preview dd){font-size:11.5px!important;line-height:1.45!important}
body.stoda-v2 .caf14-table th{font-size:12px!important}
body.stoda-v2 .caf15-output-preview dt{font-size:11px!important}
body.stoda-v2 .caf15-output-preview dd{font-size:12.5px!important}
