/* LamiCie — mobiel (BU en CBU), v0.36
 * Onder de 820 pixels breed: het menu wordt een knop, blokken komen onder
 * elkaar, tabellen scrollen met een vaste eerste kolom en getallen blijven
 * leesbaar. Op een groot scherm doet dit bestand niets, behalve de knop
 * "Wacht op u" opmaken.
 */

/* ── Wacht op u (ook op de computer) ── */
.wacht-kop{display:flex;flex-direction:column;gap:4px;margin:0 0 14px}
.wacht-kop h2{font-size:22px;font-weight:700;letter-spacing:-.3px;margin:0}
.wacht-kop .sub{font-size:13px;color:#6b7280}
.wacht-leeg{background:#e7f5ef;border:1px solid rgba(10,122,80,.25);color:#0a5a3c;border-radius:12px;padding:16px 18px;font-size:15px;margin:0 0 14px}
.wacht-blok{margin:0 0 18px}
.wacht-blok h3{font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#6b7280;margin:0 0 8px}
.wacht-kaart{background:#fff;border:1px solid #e1e4ec;border-radius:12px;padding:14px 16px;margin:0 0 10px;display:flex;flex-direction:column;gap:10px}
.wacht-kaart .titel{font-size:16px;font-weight:700;color:#14172b}
.wacht-kaart .meta{font-size:13px;color:#6b7280;line-height:1.5}
.wacht-kaart .cijfers{display:flex;gap:18px;flex-wrap:wrap}
.wacht-kaart .cijfer{display:flex;flex-direction:column}
.wacht-kaart .cijfer b{font-family:var(--mono,monospace);font-size:17px;color:#14172b}
.wacht-kaart .cijfer span{font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:#868bb2}
.wacht-kaart .let-op{font-size:13px;color:#b42318;background:#fdf0f0;border-radius:8px;padding:8px 10px}
.wacht-knoppen{display:flex;gap:8px;flex-wrap:wrap}
.wacht-knop{font:inherit;font-size:15px;font-weight:600;min-height:44px;padding:10px 18px;border-radius:10px;border:1px solid #d5d8e0;background:#fff;color:#14172b;cursor:pointer;flex:1}
.wacht-knop.ja{background:#0a7a50;border-color:#0a7a50;color:#fff}
.wacht-knop.nee{color:#b42318;border-color:rgba(180,35,24,.4)}
.wacht-knop.hoofd{background:#2952d9;border-color:#2952d9;color:#fff}
.wacht-knop:disabled{opacity:.55}
.wacht-status{font-size:14px;border-radius:10px;padding:12px 14px;margin:0 0 14px;background:#edf1fd;color:#1a3baa}
#mob-menu{display:none}

/* Zacht lampje bij "Wacht op U" als er iets op u wacht: valt op, maar knippert niet. */
.nav-item.wacht-licht .ico{color:#f5b942 !important;text-shadow:0 0 6px rgba(245,185,66,.9),0 0 12px rgba(245,185,66,.45);
  animation:lcGloei 2.8s ease-in-out infinite}
.nav-item.wacht-licht .nav-badge{background:#f5b942 !important;color:#14172b !important}
@keyframes lcGloei{0%,100%{opacity:.6}50%{opacity:1}}
@media (prefers-reduced-motion:reduce){.nav-item.wacht-licht .ico{animation:none}}

/* Stand van de begroting op Wacht op U: wie is aan zet */
.wacht-stand{gap:8px !important}
.stand-rij{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;font-size:13.5px;padding:4px 0;border-bottom:1px dashed #eceef4}
.stand-rij:last-child{border-bottom:none}
.stand-lbl{min-width:230px;color:#14172b;font-weight:600}
.stand-teams{display:flex;gap:5px;flex-wrap:wrap}
.stand-team{font-family:var(--mono,monospace);font-size:12px;background:#f1f3f9;border:1px solid #e1e4ec;border-radius:6px;padding:1px 7px;color:#3d4263}

/* Mijn team / cluster / portefeuille (bereik) */
.mijn-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0 0 10px}
.mijn-kpi{background:#fff;border:1px solid #e1e4ec;border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:2px}
.mijn-kpi b{font-family:var(--mono,monospace);font-size:19px;color:#14172b}
.mijn-kpi span{font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:#868bb2}
.mijn-noot{font-size:12.5px;color:#6b7280;margin:0 0 14px;line-height:1.5}
.mijn-cluster{margin:0 0 14px;padding:14px 16px !important}
.mijn-cluster-kop{display:flex;align-items:baseline;gap:8px;margin:0 0 10px}
.mijn-cluster-kop b{font-size:16px;color:#14172b}
.mijn-cluster-kop span{font-size:12px;color:#868bb2}
.mijn-tbl{width:100%;border-collapse:collapse;font-size:13px;table-layout:fixed}
.mijn-tbl col.k-team{width:auto}
.mijn-tbl col.k-bedrag{width:126px}
.mijn-tbl col.k-afw{width:118px}
.mijn-tbl col.k-pct{width:72px}
.mijn-tbl col.k-fte{width:90px}
.mijn-tbl col.k-stand{width:128px}
.mijn-tbl th{text-align:left;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:#868bb2;
  padding:8px 12px;border-bottom:1px solid #e1e4ec;white-space:nowrap}
.mijn-tbl td{padding:9px 12px;border-bottom:1px solid #f0f1f6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mijn-tbl .r{text-align:right}
.mijn-tbl .c{text-align:center}
.mijn-tbl td.mono{font-family:var(--mono,monospace);font-size:13px;font-variant-numeric:tabular-nums}
.mijn-tbl tfoot td{font-weight:700;color:#14172b;border-top:2px solid #e1e4ec;border-bottom:none;background:#fafbfd}
.mijn-team{cursor:pointer}
.mijn-team:hover td{background:#f7f8fc}
.mijn-pijl{display:inline-block;width:16px;color:#868bb2}
.mijn-regels>td{background:#fafbfd;padding:6px 8px 12px 26px}
.mijn-regels table{width:100%;border-collapse:collapse;font-size:12.5px;table-layout:fixed}
.mijn-regels th{text-align:left;font-size:10.5px;color:#868bb2;text-transform:uppercase;letter-spacing:.05em;padding:4px 6px}
.mijn-regels td{padding:4px 6px;border-top:1px solid #eef0f5;white-space:normal}
.mijn-regels td.mono{font-family:var(--mono,monospace);font-variant-numeric:tabular-nums}
.mijn-regels .r{text-align:right}
.mijn-stand{font-size:11.5px;font-weight:600;border-radius:999px;padding:2px 9px;background:#f1f3f9;color:#3d4263;white-space:nowrap}
.mijn-stand.n1,.mijn-stand.n2{background:#fff4dc;color:#8a5a00}
.mijn-stand.n3{background:#e7f5ef;color:#0a5a3c}
.mijn-stand.leeg{color:#868bb2}
@media (max-width:820px){.mijn-kpis{grid-template-columns:1fr 1fr}.mijn-tbl{table-layout:auto;min-width:640px}}

/* Realisatie (deel B) */
.mijn-kpi b.afw,.mijn-tbl td.afw,.mijn-regels td.afw,.wacht-kaart .cijfer b.afw{color:#b35000}
.ri-tm{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:13.5px;color:#3d4263;flex-wrap:wrap}
.ri-tm select{font:inherit;padding:5px 8px;border:1px solid #d5d8e0;border-radius:8px;background:#fff}
.ri-vlag{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;
  background:#b35000;color:#fff;font-size:11px;font-weight:700;margin-left:6px;vertical-align:1px}
.ri-vlag.ok{background:#0a7a50}
.ri-toel>td{background:#fffaf0 !important;border-top:none !important;padding:6px 8px 10px !important}
.ri-toel-invoer{display:flex;gap:8px;align-items:flex-start}
.ri-toel-invoer textarea,.wacht-toel{flex:1;font:inherit;font-size:13px;padding:7px 9px;border:1px solid #e1c9a0;border-radius:8px;
  resize:vertical;background:#fff;width:100%;box-sizing:border-box}
.ri-toel-tekst{font-size:13px;color:#14172b}
.ri-toel-wie{font-size:11px;color:#868bb2;margin-top:3px}
.ri-stap{padding:16px 18px !important;margin:0 0 14px}
.ri-stap>b{font-size:15px;color:#14172b;display:block;margin-bottom:6px}
.ri-stap p{font-size:13px;color:#3d4263;line-height:1.6;margin:0 0 10px}
.ri-knoppen{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.ri-fouten{background:#fdf0f0;color:#b42318;border-radius:8px;padding:10px 14px;margin-top:10px;font-size:13px}
.ri-fouten ul{margin:6px 0 0 18px;padding:0}
.ri-voorbeeld{margin-top:6px}

/* Kengetallen (v0.38) */
.kg-tabs{display:flex;gap:4px;margin:0 0 14px;border-bottom:1px solid #e1e4ec}
.kg-tabs button{font:inherit;font-size:14px;font-weight:600;padding:9px 16px;border:none;background:none;color:#6b7280;
  border-bottom:3px solid transparent;margin-bottom:-1px;cursor:pointer;display:inline-flex;align-items:center;gap:4px}
.kg-tabs button.aan{color:#14172b;border-bottom-color:var(--stroom,#2952d9)}
.kg-thema{margin:0 0 14px}
.kg-thema h4{font-size:11.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#6b7280;margin:0 0 8px}
.kg-tegels{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.kg-tegel{background:#fff;border:1px solid #e1e4ec;border-left:4px solid #d5d8e0;border-radius:10px;padding:10px 12px;
  display:flex;flex-direction:column;gap:4px;min-height:88px}
.kg-tegel.groen{border-left-color:#0a7a50}.kg-tegel.oranje{border-left-color:#d88a00}.kg-tegel.rood{border-left-color:#c0392b}
.kg-naam{font-size:12px;color:#3d4263;font-weight:600}
.kg-waarde{font-family:var(--mono,monospace);font-size:20px;font-weight:700;color:#14172b;font-variant-numeric:tabular-nums}
.kg-tegel.rood .kg-waarde{color:#c0392b}.kg-tegel.oranje .kg-waarde{color:#9a6200}
.kg-voet{display:flex;justify-content:space-between;align-items:flex-end;gap:8px;font-size:11px;color:#868bb2}
.kg-klein{font-size:12px;color:#868bb2;line-height:1.4}
.kg-trend{flex:none}
.kg-lijn{fill:none;stroke:#3d4263;stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}
.kg-normlijn{stroke:#9aa0bf;stroke-width:1;stroke-dasharray:3 3}
.kg-punt{fill:#3d4263}
.kg-tegel.rood .kg-lijn{stroke:#c0392b}.kg-tegel.rood .kg-punt{fill:#c0392b}
.kg-tegel.groen .kg-lijn{stroke:#0a7a50}.kg-tegel.groen .kg-punt{fill:#0a7a50}
.kg-totaal{padding:14px 16px !important;margin:0 0 14px}
details.kg-totaal>summary{cursor:pointer;list-style:none;margin:0}
details.kg-totaal>summary::-webkit-details-marker{display:none}
details.kg-totaal>summary b::before{content:"\25B8";display:inline-block;width:16px;color:#868bb2;transition:transform .15s}
details.kg-totaal[open]>summary b::before{transform:rotate(90deg)}
details.kg-totaal[open]>summary{margin-bottom:12px}
.mijn-tbl col.k-kg{width:104px}
.kg-cel{display:inline-block;padding:2px 7px;border-radius:6px;white-space:nowrap}
.kg-cel.groen{background:#e7f5ef;color:#0a5a3c}.kg-cel.oranje{background:#fff4dc;color:#8a5a00}.kg-cel.rood{background:#fdecea;color:#b42318}
.kg-tbl th{white-space:normal !important;line-height:1.25}
.kg-normen{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px 16px}
.kg-normen label{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:13px;color:#3d4263}
.kg-normen i{font-style:normal;color:#868bb2}
.kg-normen input{width:90px;font:inherit;padding:5px 8px;border:1px solid #d5d8e0;border-radius:8px;text-align:right}
@media (max-width:820px){.kg-tegels{grid-template-columns:1fr 1fr}.kg-tabs button{padding:9px 10px;font-size:13px}}

/* Verzuim in drie klassen (v0.38.1) */
.kg-tegel.kg-breed{grid-column:span 2}
.kg-vzbalk{position:relative;display:flex;height:8px;border-radius:4px;background:#eef0f5;overflow:visible;margin-top:4px;width:100%;min-width:70px}
.kg-vzbalk.groot{height:14px;margin:6px 0 2px}
.kg-vzbalk span{height:100%}
.kg-vzbalk span:first-child{border-radius:4px 0 0 4px}
.kg-vzbalk i{position:absolute;top:-3px;bottom:-3px;width:2px;background:#14172b;border-radius:1px}
.vz-kort{background:#9bb4f0}.vz-midden{background:#4c73de}.vz-lang{background:#1a3baa}
.kg-vzlegenda{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:11.5px;color:#3d4263}
.kg-vzlegenda b{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px;vertical-align:-1px}
.kg-vzlegenda em{font-style:normal;color:#868bb2}
.kg-vzlegenda em.rood{color:#b42318}.kg-vzlegenda em.oranje{color:#8a5a00}
@media (max-width:820px){.kg-tegel.kg-breed{grid-column:span 2}}

/* Prognose (v0.39) */
.ri-pct{display:block;font-size:10.5px;color:#868bb2;font-weight:400}
td.afw .ri-pct{color:#b35000}
.prog-inv{width:120px;font:inherit;font-size:12.5px;text-align:right;padding:4px 7px;border:1px solid #cdd3e6;border-radius:6px;background:#fff}
.prog-inv:focus{outline:2px solid #2952d9;border-color:#2952d9}
.prog-toel>td{background:#f3f6ff !important}
.prog-toel-inv{display:block;width:100%;box-sizing:border-box;margin-top:6px;font:inherit;font-size:13px;padding:7px 9px;border:1px solid #c9d3f0;border-radius:8px;resize:vertical}
.prog-knop>td{padding:8px 6px !important;border-top:1px solid #eef0f5}
.prog-peilen{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.prog-peil{border:1px solid #e1e4ec;border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.prog-peil .titel{font-weight:700;font-size:15px;color:#14172b}
.prog-peil .meta{font-size:12.5px;color:#6b7280}
.mijn-kpis{grid-template-columns:repeat(auto-fit,minmax(180px,1fr)) !important}
@media (max-width:820px){.prog-peilen{grid-template-columns:1fr}}

/* Keten (v0.40) */
.kt-lijn{list-style:none;display:flex;gap:0;margin:6px 0 10px;padding:0;overflow-x:auto}
.kt-lijn li{flex:1 1 0;min-width:112px;position:relative;padding:26px 6px 0;font-size:12px;color:#3d4263;text-align:center}
.kt-lijn li::before{content:"";position:absolute;top:10px;left:0;right:0;height:2px;background:#e1e4ec}
.kt-lijn li:first-child::before{left:50%}.kt-lijn li:last-child::before{right:50%}
.kt-lijn li.klaar::before{background:#0a7a50}
.kt-bol{position:absolute;top:0;left:50%;transform:translateX(-50%);width:22px;height:22px;border-radius:50%;background:#fff;
  border:2px solid #cdd3e6;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;z-index:1}
.kt-lijn li.klaar .kt-bol{background:#0a7a50;border-color:#0a7a50}
.kt-lijn li.nu .kt-bol{border-color:#d88a00;box-shadow:0 0 0 4px rgba(216,138,0,.18)}
.kt-lijn li.fout .kt-bol{background:#c0392b;border-color:#c0392b}
.kt-lijn b{display:block;font-size:12px;color:#14172b;line-height:1.3}
.kt-lijn em{display:inline-block;font-style:normal;font-size:10.5px;font-weight:700;color:#8a5a00;background:#fff4dc;border-radius:999px;padding:1px 7px;margin-top:3px}
.kt-lijn li.fout b{color:#b42318}
.kt-lijn small{display:block;font-size:11px;color:#6b7280;margin-top:2px;line-height:1.35}
.kt-teams{margin-top:6px}.kt-teams summary{cursor:pointer;font-size:13px;color:#2952d9;font-weight:600}
.kt-ok{color:#0a5a3c;font-size:12px}.kt-hier{color:#8a5a00;font-weight:600;font-size:12px}
.kt-indienen{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;border-top:1px dashed #e1e4ec;margin-top:10px;padding-top:10px;font-size:13px}
.kt-indienen b{color:#14172b}
.vs-regel{font-size:13px;border-radius:8px;padding:8px 10px;line-height:1.5}
.vs-regel.ja{background:#e7f5ef;color:#0a5a3c}.vs-regel.nee{background:#fdf0f0;color:#b42318}
.kt-cor .let-op{font-size:13.5px}
@media (max-width:820px){
  /* Op de telefoon staat de keten verticaal: dan is elke stap volledig leesbaar. */
  .kt-lijn{flex-direction:column;overflow:visible}
  .kt-lijn li{min-width:0;text-align:left;padding:0 0 12px 34px}
  .kt-lijn li::before{top:22px;bottom:-2px;left:10px;right:auto;width:2px;height:auto}
  .kt-lijn li:first-child::before{left:10px}.kt-lijn li:last-child::before{display:none}
  .kt-bol{left:0;transform:none}
  .kt-lijn b{display:inline;margin-right:6px}
  .prog-peil .mijn-stand{white-space:normal}
  .prog-peil{min-width:0}
}

/* Een jaar zonder opgeslagen begroting: geen voorbeeldgetallen op dashboard en staat */
.leeg-melding{display:none}
body.lc-geen-begroting .leeg-melding{display:block}
body.lc-geen-begroting #page-mgmt>:not(.leeg-melding),
body.lc-geen-begroting #page-baten-lasten>:not(.leeg-melding){display:none !important}

@media (max-width:820px){
  html,body{font-size:15px}
  body{flex-direction:column !important;display:block !important}

  /* Het menu: een knop linksboven, uitklappen over de pagina heen. */
  #mob-menu{display:flex;align-items:center;justify-content:center;position:fixed;top:8px;left:8px;z-index:99991;
    width:44px;height:44px;border-radius:10px;border:none;background:#14172b;color:#fff;font-size:22px;cursor:pointer;
    box-shadow:0 2px 10px rgba(20,23,43,.2)}
  nav{position:fixed !important;top:0;left:0;bottom:0;width:280px !important;max-width:86vw;height:100vh !important;
    min-height:0 !important;z-index:99990;transform:translateX(-105%);transition:transform .2s ease;overflow-y:auto !important;
    flex-direction:column !important;flex-wrap:nowrap !important;padding-top:56px !important}
  body.menu-open nav{transform:none;box-shadow:4px 0 24px rgba(0,0,0,.3)}
  body.menu-open::after{content:"";position:fixed;inset:0;background:rgba(20,23,43,.45);z-index:99989}
  nav .nav-sec{display:block !important}
  nav .nav-item{width:100% !important;min-height:42px;font-size:14px !important}

  /* Bovenaan ruimte voor de menu- en uitlogknop. */
  main{padding:62px 12px 40px !important;max-width:none !important}
  .content{padding:12px 0 60px !important}

  /* Bovenbalk: alles mag omlopen. De paginatitel staat al op de pagina zelf,
     en opslaan en indienen gaan op de telefoon via Wacht op u. */
  .topbar,.topbalk{position:static !important;flex-wrap:wrap;gap:8px;padding:10px 0 !important;margin:0 !important;
    background:transparent !important;border-bottom:none !important}
  .topbar-title{display:none !important}
  .topbar-right>.btn:not(.uitlog-knop){display:none !important}
  .topbar-right{flex-wrap:wrap !important;padding-right:0 !important;gap:6px !important}
  .topbar-title{font-size:17px !important}
  .stroom-keuze{width:100%}
  .stroom-knop{font-size:13px !important;padding:7px 12px !important}
  .year-pill{font-size:12px !important}
  .uitlog-knop{top:8px !important;right:8px !important;padding:10px 14px !important}
  #rol-balk>div,#slot-balk>div,.stroom-balk{font-size:13px !important}

  /* Blokken onder elkaar. */
  .g2,.g3,.g4,.drieluik,.kpis{grid-template-columns:1fr !important}
  .mgmt-header{flex-wrap:wrap;gap:8px}
  .card{padding:14px !important}
  .drieluik-val,.kpi-val{font-size:24px !important}
  .drieluik-lbl,.drieluik-sub,.kpi-lbl,.kpi-sub{font-size:12px !important}

  /* Tabellen: scrollen, eerste kolom blijft staan, cijfers leesbaar. */
  .tbl-wrap,.card{overflow-x:auto;-webkit-overflow-scrolling:touch}
  table{font-size:14px !important}
  /* Vaste eerste kolom met een dichte achtergrond: bij schuiven loopt de rest er niet doorheen. */
  .tbl-wrap th:first-child,.tbl-wrap td:first-child,.card>table th:first-child,.card>table td:first-child{
    position:sticky;left:0;z-index:2;background:#fff;box-shadow:2px 0 4px -2px rgba(20,23,43,.18)}
  .tbl-wrap thead th:first-child,.card>table thead th:first-child{background:#f4f5f9;z-index:3}
  .tbl-wrap tfoot td:first-child{background:#fafbfd}
  .tbl-wrap tr:nth-child(even)>td:first-child{background:#fafbfd}
  .mijn-regels>td,.kt-teams td:first-child{position:static !important;box-shadow:none !important}
  .mijn-regels td:first-child{background:#fafbfd}
  td,th{white-space:nowrap}

  /* Vensters vullen het scherm. */
  .modal-box,#beoordeel-modal>div{width:100% !important;max-width:100% !important;max-height:92vh !important;
    border-radius:14px !important}
  .modal-overlay,#beoordeel-modal{padding:10px !important;align-items:flex-end !important}
  .finp,.mut-inp,select,input,textarea{font-size:16px !important}   /* voorkomt inzoomen op iOS */
  .btn{min-height:40px}
  .mut-filters{flex-direction:column;align-items:stretch}
}

/* ── Een jaar zonder gegevens (alleen inzien): geen demobedragen tonen ── */
body.lc-leeg .content .page:not(#page-wacht):not(#page-planning):not(#page-verloop):not(#page-mutaties){display:none !important}

/* v0.41 — statuslabel klikbaar, correctie ter info */
.year-pill.pill-klik{cursor:pointer;white-space:normal}
.year-pill.pill-klik::after{content:" \24D8";opacity:.7}
.year-pill.pill-klik:hover{filter:brightness(.96);text-decoration:underline}
.sp-box{width:780px;max-width:94vw}
.sp-box .kt-lijn li{min-width:92px}
.sp-box .kt-lijn{margin-top:12px}
.sp-reden{margin:10px 0;font-size:13.5px}
.sp-aanzet{margin:10px 0 4px;font-size:14px}
.wacht-info h3{color:#6b7085}
.wacht-info .wacht-kaart{background:#fafafb;border-color:#e3e5ea}
.wacht-info .meta+.meta{margin-top:6px}

/* v0.42 — fix price bijdragen van de CBU */
.fix-kaart{padding:14px 18px;margin:0 0 14px}
.fix-kop{display:flex;flex-direction:column;gap:2px;margin-bottom:8px}
.fix-kop span{font-size:12px;color:var(--ink-3,#6b7085)}
.fix-tbl{width:100%;border-collapse:collapse;font-size:13px}
.fix-tbl td{padding:6px 8px;border-top:1px solid #eceef3}
.fix-tbl .fix-tot td{font-weight:700}
.fix-melding{font-size:12.5px;background:#edf1fd;color:#1a3baa;border-radius:8px;padding:9px 12px;margin:0 0 12px}
.fix-inp{width:108px;text-align:right;font-family:var(--mono,monospace);padding:4px 6px;border:1px solid #d6d9e2;border-radius:6px}
.fix-tbl .fix-kopr td{font-size:11px;color:var(--ink-3,#6b7085);text-transform:uppercase;letter-spacing:.03em;border-top:0}

/* v0.44 — pagina Inlezen */
.inl-kaart{padding:0;margin:0 0 16px;overflow:hidden}
.inl-kaart.inl-uitgelicht{box-shadow:0 0 0 2px #2952d9}
.inl-kop{padding:14px 18px;border-bottom:1px solid #eceef3;background:#fafbfd}
.inl-titel{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.inl-titel b{font-size:16px}
.inl-freq{font-size:11px;color:#6b7085;border:1px solid #d6d9e2;border-radius:99px;padding:1px 8px}
.inl-status{margin-left:auto;font-size:12px;font-weight:600;border-radius:99px;padding:3px 10px}
.inl-status.ok{background:#e7f5ef;color:#0a7a50}
.inl-status.open{background:#fff3e8;color:#b35000}
.inl-status.laat{background:#fdecec;color:#b42318}
.inl-status.nvt{background:#f1f2f4;color:#4b5065}
.inl-info{font-size:13px;color:#3d4263;margin-top:6px;line-height:1.5}
.inl-info span{color:#6b7085;font-size:12px}
.inl-laatst{font-size:12px;color:#6b7085;margin-top:4px}
.inl-body{padding:10px 14px}
.inl-body .ri-stap{box-shadow:none;border:1px solid #eceef3}
@media (max-width:820px){.inl-status{margin-left:0}}
/* v0.46: vier tabs op het Dashboard — op de telefoon zijwaarts scrollen, niet de pagina */
.kg-tabs{overflow-x:auto;scrollbar-width:none}
.kg-tabs button{white-space:nowrap;flex:0 0 auto}
.ri-team{cursor:pointer}
.ri-sub td{font-size:12.5px;color:#4b5065;background:#fafbfd}

/* v0.48 — stafteam en overhead */
.staf-vink{font-size:10.5px;color:#6b7085;display:flex;align-items:center;gap:3px;cursor:pointer;white-space:nowrap}
.dek-tbl td.pos{color:#0a7a50;font-weight:700}
.dek-tbl td.neg{color:#b42318;font-weight:700}
.expl-toel{width:100%;min-height:34px;font:inherit;font-size:12px;border:1px solid #d6d9e2;border-radius:6px;padding:4px 6px}
.mijn-tbl tr.expl-rij td{position:static !important;white-space:normal;overflow:visible}
.expl-rij .expl-toel{display:block}
.expl-rij .btn{margin-top:4px}
/* v0.49 Staat van baten en lasten */
.bl-tbl td:first-child{white-space:normal}
.bl-tbl tr.bl-kop td{background:#f4f5fa;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#4b5065;padding-top:12px}
.bl-tbl tr.bl-sub td{font-weight:700;border-top:1px solid #e1e4ec;background:#fafbfd}
.bl-tbl tr.bl-leeg td{color:#9aa0b8}
.bl-tbl td.bl-bron{font-size:11.5px;color:#6b7190;white-space:normal}
.bl-tbl .bl-achter{color:#b35000}
.bl-tbl col,.bl-tbl{table-layout:auto}
@media (max-width:820px){.bl-tbl{min-width:900px}}
.tar-tbl input.tar-inv{width:120px;text-align:right}
/* v0.53 werk voor derden */
.dw-velden{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin:10px 0}
.dw-velden label{display:flex;flex-direction:column;font-size:12px;color:#4b5065;gap:4px}
.dw-velden input,.dw-velden select{padding:7px 8px;border:1px solid #d9dce8;border-radius:6px;font-size:13px}
@media (max-width:820px){.dw-tbl{min-width:900px}}
.mijn-tbl.dw-tbl{table-layout:auto}
.dw-tbl td{white-space:nowrap}
.dw-tbl td:last-child{overflow:visible}
.dw-tbl td:nth-child(2),.dw-tbl td:nth-child(3){white-space:normal}
.prog-eerder{margin-top:10px;font-size:13px}.prog-eerder summary{cursor:pointer;color:#4b5065}.prog-eerder .prog-peilen{margin-top:8px}
/* v0.56: in het menu alleen wat bij de fase van het gekozen jaar hoort */
body[data-fase="VOORBEREIDEN"] nav [data-niet~="VOORBEREIDEN"],body[data-fase="UITVOEREN"] nav [data-niet~="UITVOEREN"],
body[data-fase="VERANTWOORDEN"] nav [data-niet~="VERANTWOORDEN"],body[data-fase="GESLOTEN"] nav [data-niet~="GESLOTEN"]{display:none!important}
