.question-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.question-card{border:1px solid #dce5ed;border-radius:8px;padding:18px}.question-card h3{font-size:14px;min-height:42px;margin:0 0 14px;color:#527088}.question-card strong{font-size:30px}.question-card p{font-size:13px;color:#627c91}.question-card button{font-size:13px}.line-chart circle[data-extra-start]{cursor:pointer}.line-chart circle[data-extra-start]:focus{outline:3px solid #087f78}#nav{overflow-y:auto;min-height:0}#nav button{flex-shrink:0}@media(max-width:900px){#nav{overflow-x:auto;overflow-y:hidden}.question-grid{grid-template-columns:1fr}.question-card h3{min-height:0}}

.monthly-result-chart{height:280px;display:flex;gap:16px;align-items:flex-end;padding:30px 16px 38px;border-bottom:1px solid #e1e8ef;background:repeating-linear-gradient(to top,transparent 0,transparent 49px,#f0f4f8 50px)}
.result-month{position:relative;display:flex;align-items:flex-end;gap:5px;height:100%;flex:1;min-width:58px}
.result-bar{position:relative;flex:1;min-height:2px!important;padding:0;border:0;border-radius:4px 4px 0 0}
.result-bar>span{position:absolute;bottom:calc(100% + 4px);left:50%;transform:translateX(-50%);font-size:12px;line-height:1.2;font-weight:650;color:#24425c}
.result-bar:disabled{opacity:1;cursor:default}
.result-bar:hover:not(:disabled){filter:brightness(.85)}
.result-month-label{position:absolute;left:50%;transform:translateX(-50%);bottom:-27px;white-space:nowrap;font-size:12px;color:#647b90}

.fkm-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.fkm-rate-chart{min-height:0}.fkm-rate-chart .rate-value{fill:#28465f;font-weight:650;font-size:12px}@media(max-width:700px){.fkm-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}

.ptd-heading{font-size:19px;margin:12px 0}.fkm-kpis .kpi{background:#f0f6fc;border-color:#ceddeb}.fkm-kpis .kpi strong{font-size:34px;color:#1f517d}.fkm-kpis .kpi:nth-child(2){background:#fff4ed}.fkm-kpis .kpi:nth-child(3){background:#eff8f4}.fkm-kpis .kpi:nth-child(4){background:#f4f0fa}

.assurance-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px;padding:12px;background:#fff;border:1px solid #dce6ed;border-radius:10px}
.assurance-tabs button{min-height:44px;white-space:normal;flex:1 1 130px}
.assurance-tabs button.active{background:#087f7c;color:#fff;border-color:#087f7c;font-weight:650}
.assurance-tabs button:focus-visible{outline:3px solid #d38b22;outline-offset:2px}
@media(max-width:600px){.assurance-tabs{gap:8px;padding:10px}.assurance-tabs button{flex:1 1 120px}}
