/* V2.14 · substitutions and management refinement */
.v2147-sub-page{display:grid;gap:13px}
.v2147-sub-filters{align-items:end}
.v2147-sub-filters input[type=number]{width:130px}
.v2147-sub-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.v2147-sub-kpis>div{padding:13px 14px;border:1px solid #e1e1de;border-radius:15px;background:#fff}
.v2147-sub-kpis strong{display:block;font-size:22px}
.v2147-sub-kpis span{font-size:9px;color:#747b80}
.v2147-sub-graph-card{display:grid;grid-template-columns:220px 1fr;gap:18px;align-items:start;padding:16px;border:1px solid #dededb;border-radius:18px;background:#fff}
.v2147-sub-graph-card h3{margin:4px 0 4px}
.v2147-sub-graph-card p{margin:0;font-size:9px;color:#7d8488}
.v2147-sub-chart{display:grid;gap:9px}
.v2147-sub-bar{display:grid;grid-template-columns:165px 1fr;gap:10px;align-items:center}
.v2147-sub-bar>div{display:grid}
.v2147-sub-bar strong{font-size:9px}
.v2147-sub-bar span{font-size:8px;color:#858b8f}
.v2147-sub-bar>i{height:10px;border-radius:999px;background:#f0f0ed;overflow:hidden}
.v2147-sub-bar>i b{display:block;height:100%;border-radius:inherit;background:#ffe500}
.v2147-empty-chart{padding:18px;border:1px dashed #d8d8d5;border-radius:12px;color:#848a8e;font-size:9px}
.v2147-row-actions{display:flex;gap:5px;justify-content:flex-end}
.v2147-event-toggle{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;margin-bottom:13px;border-radius:13px;background:#efefec}
.v2147-event-toggle button{min-height:40px;border:0;border-radius:10px;background:transparent;font-weight:900}
.v2147-event-toggle button.active{background:#111;color:#ffe500;box-shadow:0 5px 14px rgba(0,0,0,.12)}
.v2147-field-help{display:block;margin-top:5px;font-size:8px;color:#7b8286}
.v2147-sub-modal [hidden]{display:none!important}
.v2147-roster-delete{margin-left:5px}
.v2149-rate-card{display:grid;grid-template-columns:minmax(220px,1fr) minmax(300px,auto) auto;align-items:center;gap:14px;padding:15px 16px;border:1px solid #dededb;border-radius:18px;background:linear-gradient(145deg,#fff,#f8f8f4)}
.v2149-rate-card h3{margin:4px 0}
.v2149-rate-card p{max-width:560px;margin:0;font-size:9px;line-height:1.45;color:#747b80}
.v2149-rate-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.v2149-rate-fields label{display:grid;gap:5px}
.v2149-rate-fields span{font-size:8px;font-weight:900;color:#676e72}
.v2149-rate-fields input{width:140px;min-height:40px;border:1px solid #d4d4cf;border-radius:11px;background:#fff;padding:0 10px;font-size:14px;font-weight:900}
.v2149-sub-table{min-width:1120px}
.v2149-finance-rates{display:flex;gap:9px;flex-wrap:wrap;margin:10px 0 14px}
.v2149-finance-rates span{display:grid;gap:2px;min-width:145px;padding:12px;border:1px solid #e1e1dd;border-radius:13px;background:#fafaf7;font-size:9px;color:#6f767a}
.v2149-finance-rates b{font-size:19px;color:#111}
.estel-role-treasurer .bottom-nav{grid-template-columns:repeat(2,minmax(90px,1fr))}
.att-notify-physical{display:flex;align-items:flex-start;gap:11px;margin:14px 0 0;padding:13px 14px;border:1px solid #d9d9d3;border-radius:14px;background:#fff;cursor:pointer}
.att-notify-physical input{width:20px;height:20px;margin:1px 0 0;accent-color:#111;flex:0 0 auto}
.att-notify-physical span{display:grid;gap:3px}
.att-notify-physical strong{font-size:13px;color:#111}
.att-notify-physical small{font-size:11px;line-height:1.35;color:#686e72}
@media(max-width:760px){.v2147-sub-kpis{grid-template-columns:1fr 1fr}
.v2147-sub-graph-card{grid-template-columns:1fr}
.v2147-sub-bar{grid-template-columns:120px 1fr}
.v2147-sub-table{min-width:980px}
.v2147-row-actions{flex-direction:column}
.v2147-sub-filters label{min-width:140px}
.v2147-event-toggle button{min-height:48px;font-size:11px}
.v2147-sub-modal .sheet-actions{position:sticky;bottom:0;z-index:5;margin:16px -13px -13px;padding:10px 13px calc(10px + env(safe-area-inset-bottom));background:rgba(246,245,239,.96);border-top:1px solid #deded8;backdrop-filter:blur(10px)}
.v2147-sub-modal .sheet-actions .btn{flex:1;min-height:46px}
.modal input,.modal select,.modal textarea{font-size:16px!important}
.v2149-rate-card{grid-template-columns:1fr;align-items:stretch;padding:13px}
.v2149-rate-fields{grid-template-columns:1fr 1fr}
.v2149-rate-fields input{width:100%}
.v2149-rate-card>.pill{justify-self:start}
.v2149-sub-table{min-width:1080px}
}
@media(max-width:440px){.v2149-rate-fields{grid-template-columns:1fr}
}

/* Same boundary as semantic management cards: portrait, tablets and landscape. */
@media(max-width:1050px){
  .v2147-sub-page,.v2147-sub-page>*,.v2147-sub-kpis>div,.v2147-sub-chart,.v2147-sub-bar>div{min-width:0;max-width:100%}
  .v2147-sub-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v2147-sub-kpis strong,.v2147-sub-kpis span,.v2147-sub-bar strong,.v2147-sub-bar span{overflow-wrap:anywhere}
  .v2147-sub-graph-card{grid-template-columns:minmax(0,1fr)}
  .v2147-sub-bar{grid-template-columns:minmax(0,1fr);gap:5px}
  .v2149-rate-card{grid-template-columns:minmax(0,1fr);align-items:stretch}
  .v2149-rate-card>*,.v2149-rate-fields label{min-width:0;max-width:100%}
  .v2149-rate-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v2149-rate-fields input{width:100%;min-width:0}
  .v2149-rate-card>.pill{justify-self:start;white-space:normal}
  .v2147-sub-filters{overflow:visible;flex-wrap:wrap}
  .v2147-sub-filters>*{min-width:0;max-width:100%}
  .v2147-sub-filters .btn{white-space:normal;min-height:44px}
  .v2147-sub-modal .field{min-width:0}
  .v2147-sub-modal select{width:100%;min-width:0;max-width:100%}
  .v2147-event-toggle{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v2147-event-toggle button{min-width:0;overflow-wrap:anywhere;white-space:normal}
}
@media(max-width:440px){.v2149-rate-fields{grid-template-columns:minmax(0,1fr)}}
