/* Safira.id V17.2.0 — Stable Production Baseline
   Visual direction remains the approved V16.0.4 system. This file only normalizes
   contrast, density, responsive behavior and legacy-page consistency. */
:root{
 --sf1720-bg:#f5f7fb;--sf1720-surface:#fff;--sf1720-surface-soft:#f8fafc;
 --sf1720-text:#172033;--sf1720-muted:#667085;--sf1720-border:#e4e9f1;
 --sf1720-primary:#176b9a;--sf1720-primary-dark:#104c70;--sf1720-success:#147d64;
 --sf1720-warning:#b86b16;--sf1720-danger:#ba3a48;--sf1720-sidebar:#14233d;
 --sf1720-radius:14px;--sf1720-shadow:0 8px 24px rgba(24,39,75,.06);
 --sf1720-focus:0 0 0 3px rgba(23,107,154,.2)
}
html{font-size:15px;scroll-behavior:smooth}body.stable-v1720,body[data-safira-surface]{color:var(--sf1720-text);background:var(--sf1720-bg);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
body[data-safira-surface="public"]{background:#fff}.container{--bs-gutter-x:1.5rem}.public-header-inner,.public-footer .container,.main-panel>.container,.main-panel>.container-fluid{max-width:1240px}
h1,.h1{font-size:clamp(1.85rem,3vw,2.75rem);line-height:1.12;letter-spacing:-.025em}h2,.h2{font-size:clamp(1.35rem,2vw,1.9rem);line-height:1.22;letter-spacing:-.018em}h3,.h3{font-size:clamp(1.08rem,1.5vw,1.4rem)}h4,.h4{font-size:1.08rem}p,li,td,th,input,select,textarea,button{font-size:.94rem}small,.small{font-size:.8rem}
a{ text-underline-offset:3px }.text-secondary,.text-muted{color:var(--sf1720-muted)!important}
.card,.sf-card,.panel-card,[class*="-card"]{border-color:var(--sf1720-border);box-shadow:none}.card,.sf-card,.panel-card{border-radius:var(--sf1720-radius);background:var(--sf1720-surface)}
.btn,button,input,select,textarea{border-radius:10px}.btn{min-height:40px;padding:.55rem .9rem;font-weight:650}.btn-sm{min-height:34px;padding:.38rem .68rem}.btn-primary,.btn-primary-soft{background:var(--sf1720-primary);border-color:var(--sf1720-primary);color:#fff}.btn-primary:hover,.btn-primary-soft:hover{background:var(--sf1720-primary-dark);border-color:var(--sf1720-primary-dark);color:#fff}.btn-outline-primary{color:var(--sf1720-primary);border-color:#9fc4d9}.btn-outline-primary:hover{background:var(--sf1720-primary);border-color:var(--sf1720-primary);color:#fff}
.form-control,.form-select,input:not([type=checkbox]):not([type=radio]),select,textarea{min-height:42px;border:1px solid #d7deea;background:#fff;color:var(--sf1720-text);padding:.62rem .76rem}.form-control:focus,.form-select:focus,input:focus,select:focus,textarea:focus{border-color:#72aac9;box-shadow:var(--sf1720-focus);outline:0}label{font-weight:620;color:#344054;margin-bottom:.35rem}
.table{--bs-table-bg:transparent;margin-bottom:0}.table>:not(caption)>*>*{padding:.72rem .78rem;border-bottom-color:#e8edf4;vertical-align:middle}.table thead th{font-size:.76rem;text-transform:uppercase;letter-spacing:.035em;color:#667085;background:#f8fafc;white-space:nowrap}.table-responsive{border:1px solid var(--sf1720-border);border-radius:12px;background:#fff;overflow:auto}
.badge,[class*="status-"]{font-weight:700;letter-spacing:.01em}.alert{border-radius:12px;border-width:1px}.modal-content,.dropdown-menu{border:1px solid var(--sf1720-border);border-radius:14px;box-shadow:0 18px 50px rgba(16,24,40,.14)}
.public-header{background:rgba(255,255,255,.96);border-bottom:1px solid #e9edf3;box-shadow:0 2px 12px rgba(24,39,75,.035)}.public-header-inner{min-height:68px}.public-nav{gap:1.15rem}.public-nav a{font-size:.88rem;font-weight:650;color:#344054}.public-nav a:hover,.public-nav a.active{color:var(--sf1720-primary)}.public-primary-cta,.public-login-link{font-size:.86rem;min-height:38px}.public-footer{background:#13233d;color:#d9e3ef}.public-footer h6{color:#fff;font-size:.84rem;letter-spacing:.04em}.public-footer a{color:#cbd6e4;font-size:.86rem}.public-footer a:hover{color:#fff}
.public-maintenance{font-size:.85rem}.v8-page-hero,.public-page-hero,[class*="page-hero"]{padding-top:clamp(2.4rem,5vw,4.8rem);padding-bottom:clamp(2.2rem,4vw,4rem)}
.panel-sidebar{background:var(--sf1720-sidebar)}.panel-sidebar .brand-subtitle,.panel-sidebar-label{color:#9fb0c7}.panel-nav-group-button,.panel-submenu a,.panel-sidebar-footer a{font-size:.86rem}.panel-nav-group-button{min-height:42px}.panel-submenu a{min-height:36px}.panel-nav-group.active>.panel-nav-group-button,.panel-nav-group-button:hover,.panel-submenu-row.active>a,.panel-submenu a:hover{background:rgba(255,255,255,.08);color:#fff}.main-panel{background:var(--sf1720-bg);min-width:0}.panel-topbar{border-bottom:1px solid #e6ebf2;box-shadow:none}.panel-topbar h1,.main-panel>header h1{font-size:1.35rem}.panel-sidebar-search input{font-size:.84rem}
.stable-v1720 .sa1420-card,.stable-v1720 .m16-card,.stable-v1720 .experience-card{box-shadow:var(--sf1720-shadow);border:1px solid var(--sf1720-border)}
.v1720-health-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.v1720-health-card{background:#fff;border:1px solid var(--sf1720-border);border-radius:14px;padding:18px;box-shadow:var(--sf1720-shadow)}.v1720-health-card small{display:block;color:var(--sf1720-muted);margin-bottom:6px}.v1720-health-card strong{font-size:1.45rem}.v1720-health-card.ok{border-left:4px solid var(--sf1720-success)}.v1720-health-card.warn{border-left:4px solid var(--sf1720-warning)}.v1720-check-list{display:grid;gap:10px}.v1720-check{display:flex;gap:16px;justify-content:space-between;align-items:center;padding:12px 14px;border:1px solid var(--sf1720-border);border-radius:11px;background:#fff}.v1720-check div{min-width:0}.v1720-check strong,.v1720-check small{display:block}.v1720-check small{color:var(--sf1720-muted)}.v1720-pill{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:.74rem;font-weight:750;background:#edf2f7;color:#475467;white-space:nowrap}.v1720-pill.ok{background:#e9f7f1;color:#126b56}.v1720-pill.warn{background:#fff2df;color:#93530c}.v1720-toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin-bottom:18px}.v1720-section{margin-top:20px}.v1720-section h2{font-size:1.08rem;margin:0}.v1720-section-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}
.v1720-mobile-label{display:none}
:focus-visible{outline:2px solid var(--sf1720-primary);outline-offset:2px;box-shadow:var(--sf1720-focus)}
@media(max-width:1199.98px){.public-header-inner{min-height:64px}.v1720-health-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:991.98px){.main-panel{padding-left:0!important}.panel-sidebar{width:min(86vw,300px)}.public-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.table-responsive{max-width:100%}}
@media(max-width:767.98px){html{font-size:14.5px}.container{--bs-gutter-x:1.1rem}h1,.h1{font-size:1.82rem}.main-panel{padding:14px!important}.panel-topbar{min-height:58px}.v1720-health-grid{grid-template-columns:1fr}.public-footer-grid{grid-template-columns:1fr!important}.public-footer-bottom{align-items:flex-start!important;gap:8px;flex-direction:column}.btn{min-height:42px}.table[data-v1720-mobile-cards] thead{display:none}.table[data-v1720-mobile-cards] tbody,.table[data-v1720-mobile-cards] tr,.table[data-v1720-mobile-cards] td{display:block;width:100%}.table[data-v1720-mobile-cards] tr{padding:10px 12px;border-bottom:1px solid var(--sf1720-border)}.table[data-v1720-mobile-cards] td{border:0;padding:5px 0;display:grid;grid-template-columns:minmax(105px,38%) 1fr;gap:10px;text-align:left}.table[data-v1720-mobile-cards] td:before{content:attr(data-label);font-weight:700;color:#667085;font-size:.75rem}.v1720-check{align-items:flex-start}.v1720-pill{flex:none}}
@media(max-width:430px){.public-header-inner{min-height:60px}.public-brand-logo img{max-height:34px}.main-panel{padding:10px!important}.card-body{padding:14px}.v1720-check{flex-direction:column;gap:8px}.v1720-toolbar{align-items:stretch;flex-direction:column}.v1720-toolbar .btn{width:100%}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
@media print{.public-header,.public-footer,.panel-sidebar,.panel-topbar,.panel-sidebar-backdrop,.btn,.no-print{display:none!important}.main-panel{padding:0!important;margin:0!important}.card,.table-responsive{box-shadow:none!important;border-color:#bbb!important}body{background:#fff!important;color:#000!important}}
