/* Shared SIMUTU interface: readable type, predictable controls and responsive layouts. */
:root{--muted:#526176;--border:#dce4ee;--radius:14px}
body{font-size:15px;line-height:1.55}
:focus-visible{outline:3px solid #1d66c2;outline-offset:3px}
[hidden]{display:none!important}
button,input,select,textarea{font-family:inherit}
input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea{min-height:44px;font-size:15px;line-height:1.5}
textarea{resize:vertical}
input[type=checkbox],input[type=radio]{min-width:18px;min-height:18px;accent-color:#1d66c2}
.button,.icon-button,.crud-button,.table-action-button{min-height:44px;min-width:44px;font-size:14px;line-height:1.3;display:inline-flex;align-items:center;justify-content:center;gap:7px;text-align:center}
.button:disabled{opacity:.65;cursor:not-allowed}
.app-page .content{padding:28px 32px 40px;max-width:1600px;min-width:0}
.app-page .content :is(p,li,td,th,label){font-size:14px;line-height:1.6}
.app-page .content :is(small,.eyebrow,.status,.breadcrumbs,.quality-field-help,.regulation-note,.form-regulation-hint,.risk-hint){font-size:12px;line-height:1.5}
.app-page .content h1{font-size:clamp(24px,2.2vw,30px);line-height:1.25;letter-spacing:-.4px}
.app-page .content h2{font-size:20px;line-height:1.35}
.app-page .content h3{font-size:17px;line-height:1.4}
.app-page .content :is(.panel,.stat-card,.module-card){box-shadow:0 2px 8px #19345004}
.app-page .content .panel{padding:22px}
.app-page .page-title{align-items:flex-start;gap:16px;margin-bottom:24px}
.app-page .page-title p{margin-bottom:0;max-width:80ch}
.app-page .content :is(.form-grid,.form-layout,.dashboard-columns,.detail-layout,.admin-layout,.profile-layout){gap:20px}
.app-page .content :is(.form-main,.form-side,.detail-main,.detail-side){min-width:0}
.app-page .content :is(.form-section-heading,.panel-heading,.section-heading){gap:12px;flex-wrap:wrap}
.app-page .content :is(.form-grid label,.compact-form label,.form-side label){gap:7px}
.app-page .content :is(.table-wrap,.table-responsive){max-width:100%;overflow:auto;overscroll-behavior-x:contain}
.app-page .content table{width:100%;border-collapse:collapse}
.app-page .content :is(th,td){padding:13px 14px;text-align:left;vertical-align:top}
.app-page .content th{background:#f4f7fb;color:#37465b;font-weight:650}
.app-page .content td{border-bottom:1px solid #edf1f6}
.app-page .content tr:last-child td{border-bottom:0}
.app-page .content .toolbar{gap:12px;flex-wrap:wrap;align-items:flex-end}
.app-page .content .toolbar input{min-width:0}
.app-page .content .empty-table{padding:30px 18px;color:#526176}
.app-page .content :is(.form-actions,.button-row,.workflow-page-actions){gap:10px;flex-wrap:wrap}
.app-page .sidebar nav a,.app-page .nav-group-toggle{min-height:44px;font-size:14px;line-height:1.4}
.app-page .sidebar .nav-submenu a{font-size:13px;padding-top:10px;padding-bottom:10px}
.app-page .sidebar .nav-submenu a strong{white-space:normal;overflow-wrap:anywhere}
.app-page .content .quality-category-tabs a span{font-size:13px}
.app-page .sidebar nav{padding-top:12px}
.app-page .sidebar .nav-label{font-size:11px;color:#607087}
.app-page .sidebar .nav-badge{font-size:10px;flex:none}
.app-page .sidebar-user small,.app-page .topbar-title small{font-size:12px}
.app-page .topbar .icon-button{display:inline-flex}
.app-page .topbar .menu-toggle{display:none}
.app-page .workflow-step-nav .workflow-step-copy strong{font-size:14px}
.app-page .workflow-step-nav .workflow-step-copy small{font-size:12px}
.app-page .content :is(.activity-list strong,.action-list strong,.quality-indicator-list>a strong,.compact-history strong,.module-link,.crud-button,.workflow-progress small){font-size:13px}
.app-page .content :is(.activity-list strong,.action-list strong){white-space:normal}
.skip-link{position:fixed;top:8px;left:16px;z-index:1000;transform:translateY(-160%);background:#143d66;color:#fff;padding:12px 18px;border-radius:8px}
.skip-link:focus{transform:translateY(0)}
.module-guidance{border:1px solid #d8e3ef;border-radius:10px;background:#f8fafd;margin:0 0 22px}
.module-guidance summary{cursor:pointer;min-height:48px;padding:12px 16px;color:#344b68;font-size:14px}
.module-guidance summary span{margin-right:14px;color:#526176}
.module-guidance summary strong{font-weight:600}
.module-guidance>div{padding:0 18px 18px}
.module-guidance p{max-width:100ch;margin:12px 0}
.module-guidance a,.guide-source a{color:#155ba9;text-decoration:underline;text-underline-offset:3px}
.guide-intro{display:flex;gap:24px;justify-content:space-between;align-items:center;padding:20px 24px;border:1px solid #c6d9ed;border-left:4px solid #2469b4;background:#eef5fc;border-radius:12px;margin-bottom:24px}
.guide-intro p{margin:4px 0 0;max-width:90ch;color:#425a75}
.guide-intro>.button{flex:none}
.guide-jump-links{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.guide-jump-links a{padding:10px 14px;background:white;border:1px solid var(--border);border-radius:8px;color:#344b68;min-height:44px;font-size:13px}
.guide-jump-links a:hover{border-color:#2c6db7;background:#eef5fc}
.guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:24px}
.guide-card{display:flex;flex-direction:column;gap:14px;scroll-margin-top:100px}
.guide-card h2,.guide-card p{margin:0}
.guide-card>p{color:#526176;flex:1}
.guidance-steps{counter-reset:guide-step;list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:10px 18px}
.guidance-steps li{counter-increment:guide-step;display:flex;align-items:center;gap:9px;color:#344b68}
.guidance-steps li:before{content:counter(guide-step);display:inline-grid;place-items:center;min-width:25px;height:25px;background:#e8f0fa;color:#245c9b;border-radius:50%;font-size:12px;font-weight:700}
.guide-card .guidance-steps{display:grid;grid-template-columns:1fr 1fr}
.guide-source-links{display:flex;gap:6px 14px;flex-wrap:wrap}
.guide-source-links a{color:#155ba9;font-size:12px;text-decoration:underline;text-underline-offset:3px}
.guide-card>.button{align-self:flex-start}
.guide-source,.guide-governance,#regulatory-sources{scroll-margin-top:100px}
.guide-governance{margin:8px 0 28px}
.guide-source p{color:#526176}
.guide-source .eyebrow{color:#155ba9;letter-spacing:.5px}
.external-report-note{border-left:3px solid #2c6db7;background:#f2f7fd;padding:14px 18px;margin:14px 0}
.external-confirmation{display:flex!important;align-items:flex-start;gap:10px!important;padding:12px;background:#f4f7fb;border-radius:8px}
.external-confirmation input{margin-top:4px;flex:none}
.app-page .content .workflow-form label{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}
.app-page .content .alert{font-size:14px;line-height:1.6}
@media(max-width:1200px){.app-page .content{padding:24px}.app-page .detail-layout,.app-page .form-layout{grid-template-columns:minmax(0,1fr) 290px}}
@media(max-width:1024px){.app-page .topbar .menu-toggle{display:inline-flex}.app-page .topbar{padding:12px 20px;gap:12px}.app-page .content{padding:22px}.app-page .form-layout,.app-page .detail-layout{grid-template-columns:1fr}.app-page .form-side{position:static}.guide-card .guidance-steps{grid-template-columns:1fr}}
@media(max-width:700px){
 .app-page .content{padding:18px 14px 30px}.app-page .content .panel{padding:18px}.app-page .page-title,.guide-intro{flex-direction:column;align-items:stretch}.app-page .page-title>.button{align-self:flex-start}
 .guide-grid,.app-page .content :is(.form-grid,.dashboard-columns,.admin-layout,.profile-layout,.form-layout,.detail-layout,.module-grid,.stats-grid,.infection-two-column,.tkprs-patient-context){grid-template-columns:minmax(0,1fr)}
 .app-page .content .span-2{grid-column:auto}.app-page .content .toolbar>*{max-width:100%}.app-page .content .toolbar form{flex-wrap:wrap}
 .app-page .content .quality-category-tabs{display:grid;grid-template-columns:1fr;overflow:visible;width:100%}
 .app-page .content .quality-category-tabs>a{white-space:normal;min-height:48px}
 .app-page .content :is(.form-actions,.button-row){display:flex;flex-wrap:wrap}.app-page .content .form-actions>*{flex:1 1 180px}
 .app-page .topbar-title strong{font-size:13px}.app-page .topbar-actions{gap:8px}.app-page .topbar{padding:10px 14px}
 .app-page .content :is(.workflow-step-nav,.quality-category-tabs,.period-tabs){max-width:100%;overflow-x:auto}
 .module-guidance summary strong{display:block;margin:4px 0 0 18px}.guide-intro{padding:18px}.guide-card .guidance-steps{grid-template-columns:1fr}
 .guide-jump-links{flex-wrap:nowrap;overflow:auto;padding-bottom:8px}.guide-jump-links a{white-space:nowrap}.guidance-steps{display:grid;grid-template-columns:1fr}
 input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px}.app-page .app-footer{flex-wrap:wrap;gap:8px;padding:18px}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
