/* PM-inspired structural polish for Secure24.
   This stylesheet intentionally preserves Secure24's existing brand and semantic colors. */
:root{--pm-radius-sm:10px;--pm-radius-md:14px;--pm-radius-lg:18px;--pm-shadow-sm:0 4px 16px rgba(15,23,42,.06);--pm-shadow-md:0 10px 30px rgba(15,23,42,.08);--pm-control-h:42px}
html,body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
#app>aside{box-shadow:8px 0 26px rgba(15,23,42,.08)!important}
.side-brand{padding-top:18px!important;padding-bottom:18px!important}
#nav button{border-radius:var(--pm-radius-sm)!important;min-height:40px!important;margin-block:2px!important;transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease!important}
#nav button:active{transform:translateY(1px)}
main>header{box-shadow:var(--pm-shadow-sm)!important;padding-top:14px!important;padding-bottom:14px!important}
#viewTitle{font-size:clamp(1.3rem,2.2vw,1.75rem)!important;letter-spacing:-.02em!important}
#viewSubtitle{line-height:1.45!important}
.card,.panel,.kpi,.stat-card,.summary-card,.table-card,.dashboard-card,.finance-card,.employee-card,.request-card,.report-card{border-radius:var(--pm-radius-md)!important;box-shadow:var(--pm-shadow-sm)!important}
.card,.panel,.table-card,.dashboard-card,.finance-card,.employee-card,.request-card,.report-card{transition:box-shadow .18s ease,transform .18s ease!important}
.card:hover,.panel:hover,.table-card:hover,.dashboard-card:hover,.finance-card:hover,.employee-card:hover,.request-card:hover,.report-card:hover{box-shadow:var(--pm-shadow-md)!important}
.kpi,.stat-card,.summary-card{min-height:104px!important;padding:17px!important}
.kpi strong,.stat-card strong,.summary-card strong{font-size:clamp(1.4rem,2.5vw,1.95rem)!important;line-height:1.05!important;letter-spacing:-.03em!important}
.section-head,.section-title{margin-bottom:14px!important;gap:12px!important}
.section-head h2,.section-head h3,.section-title h2,.section-title h3,.card h3,.panel h3{letter-spacing:-.015em!important}
button,.btn,.action-button,.primary-button{border-radius:var(--pm-radius-sm)!important}
button:not(.menu-toggle):not(.drawer-overlay):not(.drawer-close),.btn,.action-button,.primary-button{min-height:var(--pm-control-h)!important;padding-top:9px!important;padding-bottom:9px!important;font-weight:650!important}
.pill,.badge,.status{border-radius:999px!important;padding-inline:9px!important}
.table-wrap{border-radius:var(--pm-radius-md)!important}
table th{padding:11px 13px!important;font-size:11px!important;letter-spacing:.06em!important;text-transform:uppercase!important;white-space:nowrap!important}
table td{padding:12px 13px!important;vertical-align:middle!important}
.form-grid,.form{gap:14px!important}
label{line-height:1.35!important}
input,select,textarea{border-radius:var(--pm-radius-sm)!important;min-height:var(--pm-control-h)!important;padding:10px 12px!important}
textarea{min-height:104px!important;resize:vertical!important}
.modal-card{border-radius:var(--pm-radius-lg)!important;box-shadow:0 26px 72px rgba(15,23,42,.18)!important}
.modal-head{padding:16px 18px!important}
.record-card{border-radius:var(--pm-radius-md)!important;box-shadow:var(--pm-shadow-sm)!important}
.login-panel,.login-capability{border-radius:var(--pm-radius-md)!important}
.login-panel{box-shadow:0 22px 68px rgba(15,23,42,.16)!important}
.login-heading h2{letter-spacing:-.025em!important}
/* Academy navigation must never squeeze labels into overlapping text. */
.academy-tabs{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(132px,1fr))!important;gap:8px!important;overflow:visible!important;padding:8px!important;align-items:stretch!important}
.academy-tabs button{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-width:0!important;min-height:48px!important;padding:10px 12px!important;white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important;text-align:center!important;line-height:1.2!important}
*:focus-visible{outline-width:3px!important;outline-offset:2px!important}
@media(max-width:900px){main>header{padding:12px 14px!important}.card,.panel,.kpi,.stat-card,.summary-card,.table-card,.dashboard-card,.finance-card,.employee-card,.request-card,.report-card,.record-card{border-radius:12px!important}.kpi,.stat-card,.summary-card{min-height:96px!important;padding:15px!important}#nav button,button:not(.menu-toggle):not(.drawer-overlay):not(.drawer-close),.btn,.action-button,.primary-button{min-height:44px!important}input,select,textarea{min-height:44px!important}table th,table td{padding:10px!important}}
@media(max-width:760px){.academy-tabs{grid-template-columns:repeat(2,minmax(0,1fr))!important;margin:14px 0!important}.academy-tabs button{font-size:13px!important;min-height:52px!important;padding:9px 8px!important}}
@media(max-width:340px){.academy-tabs{grid-template-columns:1fr!important}}
