/* Demo controls share the existing Compass header. */
#demo-toolbar{display:flex;align-items:center;gap:12px;margin-left:24px;color:white;font-size:13px;min-width:0}
#demo-toolbar label{display:flex;align-items:center;gap:6px;white-space:nowrap;margin:0}
#demo-toolbar select{width:auto;min-height:36px;color:#20313b;background:white;margin:0;padding:6px;font-size:13px}
#demo-toolbar button{min-height:36px;background:#5a7d7d;color:white;border:0;border-radius:8px;padding:6px 12px;font-size:13px}
#demo-toolbar strong,#demo-toolbar>span{display:none}
#logoutBtn,[data-pwa-install],#shellNotifications,#shellSettings,.notifications-setup,#shellContext,.ekos-import-history{display:none!important}
@media(max-width:767px){
.ekos .topbar{flex-wrap:wrap;height:calc(100px + env(safe-area-inset-top));padding-bottom:4px}
#demo-toolbar{order:3;flex:1 0 100%;margin:0;gap:8px;justify-content:space-between}
#demo-toolbar label{font-size:12px;gap:4px}
#demo-toolbar select{max-width:135px;font-size:12px;padding:5px}
#demo-toolbar button{padding:6px 8px;font-size:12px}
.ekos-sidebar{top:calc(100px + env(safe-area-inset-top))}
.ekos-nav-backdrop{top:calc(100px + env(safe-area-inset-top))}
}
@media(max-width:767px){#demo-toolbar{gap:5px}#demo-toolbar select{max-width:122px}#demo-toolbar button{padding:6px;font-size:11px}}
/* User forms: stable columns and a checkbox that never collapses. */
.ekos #createUserForm{max-width:1000px;padding:24px}
.ekos #createUserForm h3{margin:0 0 20px;padding:0;border:0}
.ekos #createUserForm .inline-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;align-items:end}
.ekos #createUserForm .inline-form>label:not(.check-row){display:flex;flex-direction:column;gap:6px;margin:0;min-width:0}
.ekos #createUserForm input:not([type=checkbox]),.ekos #createUserForm select{width:100%;height:44px;min-height:44px;margin:0}
.ekos #createUserForm .check-row,.ekos #content .account-row.roster-row-edit .check-row{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:8px;white-space:nowrap;min-width:140px;min-height:44px;margin:0;word-break:normal;overflow-wrap:normal}
.ekos #createUserForm .check-row input,.ekos #content .account-row.roster-row-edit .check-row input{width:18px;height:18px;min-height:18px;flex:0 0 18px;margin:0;accent-color:#5a7d7d}
.ekos #createUserForm .inline-form>button{justify-self:start;margin-top:4px}
.ekos #createUserForm>p{margin:16px 0 0;font-size:13px}
.ekos #content .account-row.roster-row-edit{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:16px;align-items:center}
.ekos #content .account-row.roster-row-edit>input,.ekos #content .account-row.roster-row-edit>select{width:100%;min-width:0;height:44px;margin:0}
.ekos #content .account-row.roster-row-edit>button{justify-self:start;margin:0}
@media(max-width:767px){.ekos #createUserForm{padding:16px}.ekos #createUserForm .inline-form,.ekos #content .account-row.roster-row-edit{grid-template-columns:minmax(0,1fr);gap:14px}}
/* Separate labels, amounts and progress so they remain readable on mobile. */
.sg-kpi-plan{margin-block:20px 16px}
.sg-kpi-plan-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:16px;align-items:end;margin-bottom:12px}
.sg-kpi-plan-row>span:not(.sg-kpi-plan-pct){display:flex;flex-direction:column;gap:6px;min-width:0}
.sg-kpi-plan-label{font-size:13px;color:#667984;line-height:1.4}
.sg-kpi-plan-row b{font-size:24px;line-height:1.25;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.sg-kpi-plan-pct{padding:6px 10px;border-radius:8px;background:#edf2e6;color:#526b3e;font-size:15px;font-weight:600;white-space:nowrap}
.sg-kpi-plan-why{margin:12px 0 0;font-size:13px;line-height:1.5;color:#667984}
.sg-otzyvy-card{margin-top:20px}
.sg-otzyvy-card .sg-otzyv{padding:18px 0;border-top:1px solid #e1e7ea}
.sg-otzyvy-card .sg-otzyv-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:6px}
.sg-otzyvy-card .sg-otzyv-kto{font-weight:600}
.sg-otzyvy-card .sg-otzyv-data{font-size:12px;color:#667984;white-space:nowrap}
.sg-otzyvy-card .sg-otzyv-zvyozdy{display:block;color:#879e62;letter-spacing:2px;margin-bottom:8px}
.sg-otzyvy-card .sg-otzyv-tekst{margin:8px 0 0;line-height:1.6;max-width:75ch}
.sg-otzyvy-card .sg-otzyv-bez-ocenki,.sg-otzyvy-card .sg-otzyv-schetchik{font-size:13px;color:#667984}
@media(max-width:600px){.sg-kpi-plan-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.sg-kpi-plan-row b{font-size:21px}.sg-kpi-plan-pct{grid-column:1/-1;justify-self:start}.sg-kpi-head{gap:12px;align-items:start;flex-wrap:wrap}}
