/* Mijn dossier — website voor de computer (CM 08-11-2026: "werkt zoals Clearfacts, niet gebouwd als app") */
:root{
  --em:#52B788; --em-d:#2F8F63; --em-l:#EEFBF4; --em-z:#A6DCC2; --sel:#2563EB; --ink:#111827; --mut:#6B7280; --line:#E5E7EB; --bg:#F8FAFC;
  --amb-l:#FFFBEB; --amb-t:#92400E; --red:#DC2626; --red-l:#FEF2F2; --blue:#2563EB; --blue-l:#EFF6FF; --r:12px; --zij:248px;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--bg);height:100%}
body{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;color:var(--ink);font-size:14px;-webkit-font-smoothing:antialiased}
[hidden]{display:none!important}
button{font:inherit;color:inherit}
a{color:inherit}
.ico{width:1em;height:1em;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.logo{font-weight:700;letter-spacing:.5px;font-size:15px;white-space:nowrap}
.logo span{color:var(--em)} .logo small{font-weight:500;color:var(--mut);letter-spacing:0;margin-left:4px;font-size:12px}
.sub{color:var(--mut);font-size:13px;margin-top:2px}

/* aanmelden */
.aanmelden{min-height:100%;display:grid;place-items:center;padding:24px}
.aanmeld-kaart{background:#fff;border:1px solid var(--line);border-radius:16px;padding:36px;width:100%;max-width:420px}
.logo.groot{font-size:22px;margin-bottom:24px}
.aanmeld-kaart h1{font-size:22px;margin-bottom:4px}
.aanmeld-kaart .sub{margin-bottom:20px}
label{display:block;font-size:13px;font-weight:600;margin:12px 0 6px}
input,select,textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font:inherit;background:#fff;color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:2px solid var(--em);outline-offset:1px;border-color:var(--em)}
.hint{font-size:12px;color:var(--mut);margin-top:14px;line-height:1.5}

/* knoppen */
.knop{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 14px;font-weight:600;cursor:pointer;white-space:nowrap;text-decoration:none;transition:background .15s,border-color .15s,transform .1s}
.knop:hover{border-color:#CBD5E1;background:#F9FAFB}
.knop:active{transform:scale(.98)}
.knop.hoofd{background:var(--em);border-color:var(--em);color:#fff}
.knop.hoofd:hover{background:var(--em-d);border-color:var(--em-d)}
.knop.hoofd:disabled{background:var(--em-z);border-color:var(--em-z);cursor:default}
.knop.breed{width:100%;padding:11px}
.knop .ico{font-size:17px}
.melding{border-radius:10px;padding:11px 13px;font-size:13px;line-height:1.5;margin:12px 0}
.melding.ok{background:var(--em-l);color:#065F46;border:1px solid #A7F3D0}
.melding.info{background:var(--blue-l);color:#1E3A8A;border:1px solid #BFDBFE}
.melding.waarschuw{background:var(--amb-l);color:var(--amb-t);border:1px solid #FCD34D}
.melding.fout{background:var(--red-l);color:#991B1B;border:1px solid #FECACA}

/* indeling: zijbalk, werkvlak, zijpaneel */
.werk{display:grid;grid-template-columns:var(--zij) 1fr auto;height:100vh}
.zij{background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:18px 14px;gap:14px;overflow-y:auto}
.onderneming{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;border:1px solid var(--line);background:var(--bg);border-radius:10px;padding:9px 12px;cursor:pointer}
.onderneming span{font-weight:600}
.onderneming small{color:var(--mut);font-size:12px}
.onderneming:hover{border-color:#CBD5E1}
#nav{display:flex;flex-direction:column;gap:2px}
#nav a,.zijlink{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:9px;text-decoration:none;color:#374151;font-weight:500;border:0;background:none;cursor:pointer;width:100%;text-align:left}
#nav a .ico,.zijlink .ico{font-size:18px;color:var(--mut)}
#nav a:hover,.zijlink:hover{background:#F3F4F6}
#nav a.aan{background:var(--em-l);color:var(--em-d);font-weight:600}
#nav a.aan .ico{color:var(--em-d)}
.tel{margin-left:auto;font-size:11px;font-weight:600;background:#F3F4F6;color:var(--mut);border-radius:999px;padding:1px 8px}
.tel:empty{display:none}
.tel.rood{background:var(--red-l);color:var(--red)}
.zij-onder{margin-top:auto;display:flex;flex-direction:column;gap:4px;border-top:1px solid var(--line);padding-top:12px}
.zij-onder .wie{font-size:12px;color:var(--mut);padding:4px 12px;word-break:break-all}
.zijlink.klein{font-size:13px;color:var(--mut)}

.hoofd{overflow-y:auto;padding:24px 32px 48px;min-width:0}
.balk{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px}
.balk h1{font-size:24px;letter-spacing:-.3px}
.balk-rechts{display:flex;gap:8px;align-items:center}
.paneel{animation:in .2s ease-out}
@keyframes in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

.zijpaneel{width:440px;background:#fff;border-left:1px solid var(--line);overflow-y:auto;padding:22px 24px 32px;position:relative;animation:schuif .22s cubic-bezier(.2,.8,.2,1)}
.zijpaneel.breed{width:min(760px,55vw)}
@keyframes schuif{from{transform:translateX(30px);opacity:0}to{transform:none;opacity:1}}
.sluit{position:absolute;top:14px;right:14px;border:1px solid var(--line);background:#fff;border-radius:8px;width:32px;height:32px;cursor:pointer;color:var(--mut)}
.sluit:hover{background:#F3F4F6}
.zijpaneel h2{font-size:18px;margin:4px 40px 2px 0}
.zijpaneel .soortlabel{font-size:12px;color:var(--mut);text-transform:uppercase;letter-spacing:.5px;font-weight:600}
.zijpaneel .groot{font-size:28px;font-weight:700;margin:12px 0 4px;font-variant-numeric:tabular-nums;letter-spacing:-.4px}
dl.velden{display:grid;grid-template-columns:130px 1fr;gap:8px 12px;margin:16px 0;font-size:13px}
dl.velden dt{color:var(--mut)} dl.velden dd{font-weight:500;word-break:break-word}
.voorbeeld{width:100%;height:calc(100vh - 170px);border:1px solid var(--line);border-radius:10px;margin-top:14px;background:#F3F4F6}

/* kaarten en kerncijfers */
.kaart{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px}
.kaart h3{font-size:15px;margin-bottom:12px;display:flex;justify-content:space-between;align-items:center;gap:8px}
.kaart h3 a,.kaart h3 button{font-size:13px;font-weight:600;color:var(--em-d);text-decoration:none;border:0;background:none;cursor:pointer}
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}
.kpi{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s}
.kpi:hover{border-color:#CBD5E1;box-shadow:0 4px 14px rgba(17,24,39,.06)}
.kpi small{display:block;color:var(--mut);font-size:12px;font-weight:500}
.kpi b{display:block;font-size:24px;margin:6px 0 4px;letter-spacing:-.4px;font-variant-numeric:tabular-nums}
.kpi span{font-size:12px;color:var(--mut)} .kpi span.slecht{color:var(--red)} .kpi span.goed{color:var(--em-d)}
.raster{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:16px;margin-bottom:16px}
.res{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:6px}
.res div{font-size:12px;color:var(--mut)} .res b{display:block;font-size:18px;color:var(--ink);margin-top:2px;font-variant-numeric:tabular-nums}
.vergelijk{font-size:12px;color:var(--mut);line-height:1.5;margin-top:8px}
.grafiek{display:flex;align-items:flex-end;gap:6px;height:150px;margin-top:16px;border-bottom:1px solid var(--line)}
.grafiek .m{flex:1;display:flex;align-items:flex-end;gap:2px;height:100%;cursor:pointer;border-radius:4px;position:relative}
.grafiek .m:hover,.grafiek .m.aan{background:var(--em-l)}
.grafiek .b{flex:1;border-radius:3px 3px 0 0;min-height:1px;transform-origin:bottom;animation:groei .6s cubic-bezier(.2,.8,.2,1) both}
.grafiek .b.o{background:var(--em)} .grafiek .b.k{background:#CBD5E1} .grafiek .b.neg{background:#FCA5A5}
@keyframes groei{from{transform:scaleY(0)}to{transform:none}}
.maanden{display:flex;gap:6px;font-size:11px;color:var(--mut);margin-top:6px}
.maanden span{flex:1;text-align:center}
.grafiek-info{font-size:13px;color:var(--mut);margin-top:10px;min-height:20px}
.grafiek-info b{color:var(--ink);margin-right:8px}
.legende{display:flex;gap:16px;font-size:12px;color:var(--mut);margin-top:8px}
.legende i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;vertical-align:-1px}
.raming small{color:var(--em-d);font-weight:600;font-size:12px}
.raming b{display:block;font-size:24px;margin:6px 0;font-variant-numeric:tabular-nums}
.raming p{font-size:12px;color:var(--mut);line-height:1.5}
.taken{display:flex;flex-direction:column}
.taak{display:flex;align-items:center;gap:12px;padding:11px 4px;border:0;border-bottom:1px solid var(--line);background:none;text-align:left;cursor:pointer;width:100%}
.taak:last-child{border-bottom:0}
.taak:hover{background:#F9FAFB}
.taak .ic{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;flex:none;font-size:18px}
.ic.a{background:var(--amb-l);color:var(--amb-t)} .ic.r{background:var(--red-l);color:var(--red)} .ic.b{background:var(--blue-l);color:var(--blue)} .ic.g{background:var(--em-l);color:var(--em-d)}
.taak b{display:block;font-size:13px} .taak small{color:var(--mut);font-size:12px}
.taak .verder{margin-left:auto;color:var(--mut);font-size:16px}
.leeg{color:var(--mut);font-size:13px;padding:14px 0}

/* werkbalk en tabellen */
.werkbalk{display:flex;gap:10px;align-items:center;margin-bottom:12px;flex-wrap:wrap}
.tabjes{display:flex;gap:2px;background:#F3F4F6;border-radius:10px;padding:3px}
.tabjes button{border:0;background:none;padding:7px 12px;border-radius:8px;font-weight:600;font-size:13px;color:var(--mut);cursor:pointer;display:flex;gap:6px;align-items:center}
.tabjes button.aan{background:#fff;color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.08)}
.tabjes button i{font-style:normal;font-size:11px;background:#E5E7EB;border-radius:999px;padding:0 7px;color:var(--mut)}
.tabjes button.aan i{background:var(--em-l);color:var(--em-d)}
.zoek{width:280px;padding:8px 12px 8px 34px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat 11px center/15px}
.werkbalk .rechts{margin-left:auto;display:flex;gap:8px;align-items:center;color:var(--mut);font-size:13px}
.tabel-kaart{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
table{width:100%;border-collapse:collapse;font-size:13px}
thead th{text-align:left;font-weight:600;color:var(--mut);font-size:12px;padding:10px 14px;background:#F9FAFB;border-bottom:1px solid var(--line);white-space:nowrap;user-select:none}
thead th[data-sort]{cursor:pointer}
thead th[data-sort]:hover{color:var(--ink)}
thead th.op::after{content:" ↑"} thead th.neer::after{content:" ↓"}
tbody td{padding:11px 14px;border-bottom:1px solid #F3F4F6;vertical-align:middle}
tbody tr{cursor:pointer;transition:background .1s}
tbody tr:hover{background:#F9FAFB}
tbody tr.aan{background:var(--em-l)}
tbody tr:last-child td{border-bottom:0}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
td .naam{font-weight:600}
td small{color:var(--mut);display:block;font-size:12px;margin-top:1px}
.plus{color:var(--em-d)}
.pil{display:inline-block;border-radius:999px;padding:2px 9px;font-size:12px;font-weight:600;white-space:nowrap}
.t-open,.p-work{background:var(--blue-l);color:#1E40AF} .t-vervallen{background:var(--red-l);color:var(--red)}
.t-concept,.p-planned{background:#F3F4F6;color:#4B5563} .t-betaald,.p-done{background:var(--em-l);color:#065F46}
.p-wait{background:var(--amb-l);color:var(--amb-t)} .t-credit{background:#F5F3FF;color:#6D28D9}
.meer{display:block;width:100%;border:0;border-top:1px solid var(--line);background:#fff;padding:11px;font-weight:600;color:var(--em-d);cursor:pointer}
.meer:hover{background:#F9FAFB}
.voet{font-size:12px;color:var(--mut);margin-top:10px}

/* bank */
.rekeningen{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin-bottom:18px}
.rekening small{color:var(--mut);font-size:12px;display:block}
.rekening b{display:block;font-size:26px;margin:6px 0 2px;font-variant-numeric:tabular-nums}
.rekening span{font-size:12px;color:var(--mut);letter-spacing:.4px}

/* opladen */
.oplaad{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:16px;align-items:start}
.soorten{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}
.soort{border:1.5px solid var(--line);background:#fff;border-radius:12px;padding:13px;text-align:left;cursor:pointer;transition:border-color .15s,background .15s}
.soort:hover{border-color:#CBD5E1}
.soort b{display:block;font-size:14px;margin-bottom:2px} .soort span{font-size:12px;color:var(--mut);line-height:1.35;display:block}
.soort.aan{border:2px solid var(--sel);padding:12.5px;background:var(--em-l)}
.drop{border:2px dashed #D1D5DB;border-radius:14px;padding:40px 20px;text-align:center;background:#fff;transition:border-color .15s,background .15s}
.drop.over{border-color:var(--em);background:var(--em-l)}
.drop .ico{font-size:40px;color:var(--em-d);stroke-width:1.5}
.drop p{color:var(--mut);margin:10px 0 16px;line-height:1.5}
.drop .twee{display:flex;gap:8px;justify-content:center}
.bestand{display:flex;align-items:center;gap:12px;padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;margin-top:8px}
.bestand .duim{width:34px;height:42px;border-radius:5px;background:#F3F4F6;display:grid;place-items:center;font-size:10px;font-weight:700;color:var(--mut);overflow:hidden;flex:none}
.bestand .duim img{width:100%;height:100%;object-fit:cover}
.bestand b{font-size:13px;word-break:break-all;display:block} .bestand small{color:var(--mut);font-size:12px}
.bestand button{margin-left:auto;border:0;background:none;color:var(--mut);cursor:pointer;font-size:16px;padding:4px 8px}

/* volledig scherm slepen */
.sleep{position:fixed;inset:0;background:rgba(82,183,136,.14);backdrop-filter:blur(2px);z-index:50;display:grid;place-items:center;pointer-events:none}
.sleep div{background:#fff;border:2px dashed var(--em);border-radius:18px;padding:36px 48px;text-align:center;box-shadow:0 20px 50px rgba(0,0,0,.12)}
.sleep b{display:block;font-size:18px;margin-bottom:4px} .sleep span{color:var(--mut)}

/* keuzevenster (onderneming kiezen) */
.keuze{position:fixed;inset:0;background:rgba(17,24,39,.35);z-index:40;display:grid;place-items:center;animation:in .15s}
.keuze-in{background:#fff;border-radius:16px;padding:22px;width:420px;max-width:92vw}
.keuze-in h3{font-size:16px;margin-bottom:12px}
.opt{display:flex;justify-content:space-between;align-items:center;width:100%;text-align:left;border:1px solid var(--line);background:#fff;border-radius:10px;padding:11px 13px;margin-bottom:8px;cursor:pointer}
.opt:hover{border-color:#CBD5E1}
.opt.aan{border:2px solid var(--sel);background:var(--em-l)}
.opt small{display:block;color:var(--mut);font-size:12px}

/* assistent */
.antw{border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-top:10px;font-size:13px;line-height:1.55;animation:in .2s}
.antw .q{font-weight:600;margin-bottom:4px}
.antw ul{margin:6px 0 0 18px;color:#374151}
.antw .knop{margin-top:10px}
.suggesties{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}
.chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 11px;font-size:12px;cursor:pointer}
.chip:hover{border-color:var(--em);color:var(--em-d)}
.vraagrij{display:flex;gap:8px;margin-top:6px}
.typt{display:flex;gap:4px;padding:4px 0}
.typt i{width:6px;height:6px;border-radius:50%;background:var(--mut);animation:stip 1s infinite}
.typt i:nth-child(2){animation-delay:.15s} .typt i:nth-child(3){animation-delay:.3s}
@keyframes stip{0%,80%,100%{opacity:.25}40%{opacity:1}}
.sectiekop{font-size:12px;font-weight:600;color:var(--mut);text-transform:uppercase;letter-spacing:.5px;margin:22px 0 8px}

/* factuurformulier */
.lijn{border:1px solid var(--line);border-radius:10px;padding:12px;margin-top:10px}
.lijn-raster{display:grid;grid-template-columns:2fr 1fr;gap:8px}
.totaal{display:flex;justify-content:space-between;font-size:13px;padding:5px 0;color:var(--mut)}
.totaal.eind{color:var(--ink);font-weight:700;font-size:15px;border-top:1px solid var(--line);margin-top:4px;padding-top:9px}
.betaal{background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:14px;margin-top:14px}
.betaal .qr{display:flex;gap:14px;align-items:center;margin:10px 0}
.betaal .qr img{width:130px;height:130px;background:#fff;border-radius:8px;padding:6px;border:1px solid var(--line)}
.betaal .qr p{font-size:12px;color:var(--mut);line-height:1.5}
.betaal .r{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:7px 0;border-top:1px solid var(--line);font-size:13px}
.betaal .r span{color:var(--mut);display:block;font-size:12px}
.betaal .r b{word-break:break-all}

.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,12px);background:var(--ink);color:#fff;border-radius:10px;padding:11px 16px;font-size:13px;opacity:0;pointer-events:none;transition:.22s;z-index:60}
.toast.aan{opacity:1;transform:translate(-50%,0)}

@media (max-width:1180px){ .kpis{grid-template-columns:repeat(2,1fr)} .raster,.oplaad{grid-template-columns:1fr} .zijpaneel{position:fixed;right:0;top:0;bottom:0;box-shadow:-10px 0 30px rgba(0,0,0,.08);z-index:30} .soorten{grid-template-columns:repeat(2,1fr)} }
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* nazicht 08-11: tabellen naast het zijpaneel */
.tabel-kaart{overflow-x:auto}
tbody td{white-space:nowrap}
tbody td:first-child{white-space:normal;min-width:160px}
td small{max-width:260px;overflow:hidden;text-overflow:ellipsis}
.zijpaneel{width:400px}
.zijpaneel.breed{width:min(680px,50vw)}
.raster{align-items:start}
.balk>div:first-child{min-width:0}
.balk-rechts{flex:none}
.drop .twee{align-items:center}
.drop .twee .knop{height:40px;padding:0 16px}
.werk.paneel-open .kol-opt{display:none}
.vraagrij{align-items:center}
.vraagrij input{height:40px}
.vraagrij .knop{height:40px}
.werk.paneel-open .soorten{grid-template-columns:repeat(2,1fr)}

/* analyse (08-11-2026) */
.analyse{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:16px}
.svg-grafiek{width:100%;height:auto;display:block;margin-top:4px}
.svg-grafiek .as{font-size:11px;fill:#9CA3AF}
.svg-grafiek .staaf{transform-box:fill-box;transform-origin:center;animation:in .5s ease-out both;cursor:pointer}
.svg-grafiek .staaf:hover{opacity:.8}
.svg-grafiek .punt{cursor:pointer} .svg-grafiek .punt:hover{r:6}
.svg-grafiek .lijn{stroke-dasharray:2000;stroke-dashoffset:2000;animation:teken 1.2s ease-out forwards}
@keyframes teken{to{stroke-dashoffset:0}}
.donut-rij{display:flex;gap:16px;align-items:center}
.donut{width:150px;height:150px;flex:none}
.donut circle{transition:stroke-width .15s}
.donut-k{font-size:11px;fill:#6B7280} .donut-w{font-size:14px;font-weight:700;fill:#111827}
.legende-lijst{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px;font-size:12px}
.legende-lijst div{display:grid;grid-template-columns:10px 1fr auto 34px;gap:8px;align-items:center}
.legende-lijst i{width:10px;height:10px;border-radius:2px}
.legende-lijst span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#374151}
.legende-lijst b{font-variant-numeric:tabular-nums;font-weight:600}
.legende-lijst small{color:var(--mut);text-align:right}
@media (max-width:1400px){.analyse{grid-template-columns:1fr 1fr}}
@media (max-width:1180px){.analyse{grid-template-columns:1fr}}
.donut-rij{flex-direction:column;align-items:stretch}
.donut{width:140px;height:140px;align-self:center}
.legende-lijst{width:100%}
.svg-grafiek .as{font-size:15px}

/* analysepagina (08-11-2026, naar het voorbeeld van CM) */
.kerncijfers{display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border:1px solid var(--line);border-radius:var(--r);margin-bottom:16px}
.kc{padding:20px 24px;text-align:center;border-right:1px solid var(--line)}
.kc:last-child{border-right:0}
.kc small{color:var(--mut);font-size:13px}
.kc>b{display:block;font-size:32px;letter-spacing:-.5px;margin:4px 0;font-variant-numeric:tabular-nums}
.kc>b.pos{color:var(--ink)} .kc>b.neg{color:var(--red)}
.kc-versch{font-size:12px;color:var(--mut);min-height:18px}
.kc-versch.goed b{color:#16A34A} .kc-versch.slecht b{color:var(--red)}
.kc-sub{display:grid;grid-template-columns:1fr 1fr;margin-top:12px;font-size:12px}
.kc-sub span{display:block;color:var(--mut)} .kc-sub em{font-style:normal;font-weight:600;font-variant-numeric:tabular-nums}
.analyse-raster{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:8px}
.grafiekkaart{padding:18px 20px}
.gk-kop{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.gk-kop h3{margin:0;font-size:16px;font-weight:600;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.gk-kop h3 small{color:#9CA3AF;font-weight:400;font-size:12px}
.jaarkeuze{width:auto;padding:4px 8px;font-size:13px;border-radius:8px;font-weight:600}
.ikoonknop{border:1px solid var(--line);background:#fff;border-radius:8px;width:30px;height:30px;cursor:pointer;color:var(--mut);font-size:15px}
.ikoonknop:hover,.ikoonknop.aan{color:var(--em-d);border-color:var(--em)}
.tabel-kaart.klein{max-height:320px;overflow-y:auto}
.svg-grafiek .as{font-size:11px;fill:#9CA3AF}
.grafiek-info .leg{margin-right:14px} .grafiek-info .leg i{display:inline-block;width:18px;height:9px;border-radius:2px;margin-right:6px;vertical-align:0}
.donut.groot{width:220px;height:220px}
.donut-rij.breed{flex-direction:row;align-items:center;gap:24px;padding:10px 0}
.donut-rij.breed .legende-lijst div{grid-template-columns:12px 1fr auto}
.donut-rij.breed .legende-lijst{gap:9px;font-size:13px}
.donut circle{transition:stroke-width .15s;cursor:pointer}
@media (max-width:1280px){.analyse-raster{grid-template-columns:1fr}}
.kc-versch.goed b{color:var(--em-d)} .kc-versch.slecht b{color:#C2410C}
.kc>b.neg{color:#C2410C}

/* eigen schikking analyse (08-11-2026) */
.verhaal{padding:22px 24px;margin-bottom:16px}
.verhaal-kop{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}
.verhaal-kop small{display:block;color:var(--mut);font-size:13px}
.verhaal-kop b{display:inline-block;font-size:36px;letter-spacing:-.6px;margin:2px 12px 0 0;font-variant-numeric:tabular-nums}
.verhaal-kop b.pos{color:var(--em-d)} .verhaal-kop b.neg{color:#C2410C}
.verhaal>p{margin-top:10px;color:#374151;line-height:1.5}
.verhaal-sub{color:var(--mut)!important;font-size:13px;margin-top:6px!important}
.euro{display:flex;height:34px;border-radius:10px;overflow:hidden;background:#F3F4F6;margin-top:14px}
.euro div{display:flex;align-items:center;padding:0 12px;font-size:12px;font-weight:600;white-space:nowrap;animation:groeiB .7s cubic-bezier(.2,.8,.2,1) both;transform-origin:left}
.euro-k{background:#B7C4BE;color:#1F2937} .euro-r{background:#52B788;color:#fff}
@keyframes groeiB{from{transform:scaleX(0)}to{transform:none}}
.an-raster{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:16px;margin-bottom:16px}
.kolom{cursor:pointer} .kolom:hover{fill:rgba(82,183,136,.08)}
.grafiek-info .leg i.lijntje{height:2px;background:#111827;vertical-align:3px}
.kop-klein{font-size:13px;color:var(--mut);font-weight:600}
.rang{display:flex;flex-direction:column;gap:12px}
.rang-kop{display:flex;justify-content:space-between;gap:10px;font-size:13px}
.rang-kop span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#374151}
.rang-kop b{font-variant-numeric:tabular-nums;white-space:nowrap}
.rang-balk{height:8px;background:#F3F4F6;border-radius:99px;margin:5px 0 2px;overflow:hidden}
.rang-balk div{height:100%;border-radius:99px;animation:groeiB .7s cubic-bezier(.2,.8,.2,1) both;transform-origin:left}
.rang-rij small{color:var(--mut);font-size:11px}
.liq-cijfers{display:flex;gap:18px;font-size:13px;color:var(--mut)} .liq-cijfers b{color:var(--ink);font-variant-numeric:tabular-nums}
.markering{font-size:12px;font-weight:600;fill:#1F6F50}
.kaart+.kaart{margin-top:0}
#v-analyse>.kaart{margin-bottom:16px}
table.vast td:first-child{font-weight:600;min-width:120px}
table.vast tbody tr{cursor:default}
th.gekozen{color:var(--em-d)}
td.plus{color:var(--em-d);font-weight:600} td.min{color:#C2410C;font-weight:600}
@media (max-width:1280px){.an-raster{grid-template-columns:1fr}}
.an-raster{align-items:start}

/* facturen aangenamer (08-11-2026) */
.werk{grid-template-columns:var(--zij) minmax(0,1fr) auto}
.tegels{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
.tegel{background:#fff;border:1px solid var(--line);border-left:4px solid #D1D5DB;border-radius:12px;padding:12px 14px;text-align:left;cursor:pointer;transition:box-shadow .15s,transform .1s}
.tegel:hover{box-shadow:0 6px 18px rgba(17,24,39,.07)} .tegel:active{transform:scale(.99)}
.tegel small{display:block;color:var(--mut);font-size:12px} .tegel b{display:block;font-size:20px;margin:3px 0 1px;font-variant-numeric:tabular-nums} .tegel span{font-size:12px;color:var(--mut)}
.tegel.rood{border-left-color:#E76F51} .tegel.geel{border-left-color:#E9C46A} .tegel.groen{border-left-color:#52B788}
.avatar{width:34px;height:34px;border-radius:50%;color:#fff;font-size:12px;font-weight:700;display:grid;place-items:center;flex:none;letter-spacing:.3px}
.wie{display:flex;align-items:center;gap:12px;min-width:0}
.wie>div{min-width:0} .wie .naam{display:block;overflow:hidden;text-overflow:ellipsis}
.tabel-kaart.facturen tbody td{padding:10px 14px}
.tabel-kaart.facturen td small{display:block}
tr.groep td{background:#F8FAFC;font-size:12px;font-weight:700;color:#374151;text-transform:capitalize;padding:8px 14px!important;cursor:default}
tr.groep td span{float:right;font-weight:500;color:var(--mut);text-transform:none}
tr.groep:hover{background:none}
.bedrag{font-weight:600}
small.te-laat{color:#C2410C;font-weight:600} small.bijna{color:#B45309;font-weight:600}
td.acties{white-space:nowrap;text-align:right;width:90px}
.pdfknop{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;color:var(--em-d);text-decoration:none;border:1px solid #CFE9DB;background:var(--em-l);border-radius:7px;padding:3px 8px;margin-right:6px}
.pdfknop:hover{background:#DDF3E7} .pdfknop .ico{font-size:14px}
.pdfknop.leeg{background:none;border-color:transparent;color:#D1D5DB}
td.acties .verder{color:#D1D5DB;font-size:16px;vertical-align:middle}
tbody tr:hover td.acties .verder{color:var(--em-d)}
.leeg-groot{display:flex;flex-direction:column;align-items:center;gap:4px;padding:40px 16px;color:var(--mut)}
.leeg-groot .ico{font-size:34px;color:#D1D5DB} .leeg-groot b{color:var(--ink)}
.detail-kop{display:flex;align-items:center;gap:12px;margin-right:40px}
.detail-kop .avatar{width:42px;height:42px;font-size:14px}
.detail-kop h2{margin:0}
.detail-bedrag{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:10px 0 4px}
.detail-bedrag .groot{margin:0}
.detail-knoppen{display:flex;gap:8px;margin:10px 0 4px}
.detail-raster{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:16px;align-items:start}
.voorbeeld.factuur{height:calc(100vh - 230px);margin-top:10px}
@media (max-width:1500px){.detail-raster{grid-template-columns:1fr}.voorbeeld.factuur{height:60vh}}
@media (max-width:1180px){.tegels{grid-template-columns:repeat(2,1fr)}}
.zijpaneel.breed{width:min(860px,58vw)}
/* lijst naast een open factuur: compact */
.werk.paneel-open .tegels,.werk.paneel-open .balk .sub{display:none}
.werk.paneel-open .tabel-kaart.facturen tr:not(.groep)>:nth-child(2),.werk.paneel-open .tabel-kaart.facturen tr:not(.groep)>:nth-child(3){display:none}
.werk.paneel-open .tabjes button i{display:none}
.tabel-kaart.facturen .wie small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:340px}
.werk.paneel-open .tabel-kaart.facturen .wie small{max-width:180px}
.werk.paneel-open .tabel-kaart.facturen tr:not(.groep)>:nth-child(5),.werk.paneel-open .tabel-kaart.facturen tr:not(.groep)>:nth-child(6){display:none}

/* maandgrafiek met bedragen (08-11-2026) */
.maandgrafiek .as{font-size:12px;fill:#6B7280}
.maandgrafiek .as.maand{font-size:12px;fill:#374151}
.maandgrafiek .waarde{font-size:11px;font-weight:600;fill:#374151;font-variant-numeric:tabular-nums}
.maandgrafiek .waarde.o{fill:#1F6F50}
.maandgrafiek .kolom.aan,.maandgrafiek .kolom:hover{fill:rgba(82,183,136,.08)}
.legende .rechts{margin-left:auto;color:#9CA3AF}

.maandgrafiek{overflow:visible}
.balk-rechts .knop{height:38px;padding:0 14px}
.balk{align-items:center}

/* verbeteringen naar voorbeelden (08-11-2026) */
.vraagteken{display:inline-grid;place-items:center;width:15px;height:15px;border-radius:50%;background:#EEF2F7;color:#6B7280;font-size:10px;font-style:normal;font-weight:700;margin-left:6px;vertical-align:1px}
.kpis{grid-template-columns:repeat(5,minmax(0,1fr))}
@media (max-width:1400px){.kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
.ouderdom{padding:14px 18px;margin-bottom:16px}
.oud-kop{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}
.oud-kop span{font-size:12px;color:#9CA3AF}
.oud-balk{display:flex;height:14px;border-radius:99px;overflow:hidden;background:#F3F4F6;gap:2px}
.oud-balk button{border:0;cursor:pointer;min-width:6px;transition:filter .15s}
.oud-balk button:hover{filter:brightness(.92)}
.oud-leg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px}
.oud-leg button{display:grid;grid-template-columns:10px 1fr;gap:2px 8px;align-items:center;text-align:left;border:1px solid transparent;background:none;border-radius:8px;padding:6px 8px;cursor:pointer}
.oud-leg button:hover,.oud-leg button.aan{border-color:var(--line);background:#F9FAFB}
.oud-leg i{width:10px;height:10px;border-radius:3px;grid-row:span 3}
.oud-leg span{font-size:12px;color:var(--mut)} .oud-leg b{font-size:15px;font-variant-numeric:tabular-nums} .oud-leg small{font-size:11px;color:#9CA3AF}
.knopje{border:0;cursor:pointer;font:inherit;font-size:12px;font-weight:600}
.knopje:hover{filter:brightness(.95)}
.stappen{display:flex;gap:4px;align-items:center}
.stappen span{display:flex;align-items:center;gap:4px;font-size:11px;color:#9CA3AF;white-space:nowrap}
.stappen span+span::before{content:"";width:14px;height:1px;background:#D1D5DB;margin-right:2px}
.stappen i{width:8px;height:8px;border-radius:50%;background:#E5E7EB;display:inline-block}
.stappen span.af{color:#6B7280} .stappen span.af i{background:#52B788}
.stappen span.nu{color:var(--ink);font-weight:600} .stappen span.nu i{background:#2563EB;box-shadow:0 0 0 3px #DBEAFE}
.stappen span.nu.wacht i{background:#E9C46A;box-shadow:0 0 0 3px #FEF3C7}
.zoek-overal{position:relative}
.zoek-overal .zoek{width:100%}
.zoek-uit{position:absolute;left:0;top:calc(100% + 6px);width:420px;max-height:70vh;overflow-y:auto;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 40px rgba(17,24,39,.14);z-index:45;padding:6px}
.zoek-groep small{display:block;font-size:11px;font-weight:700;color:#9CA3AF;text-transform:uppercase;letter-spacing:.5px;padding:8px 10px 4px}
.zoek-groep button{display:flex;justify-content:space-between;gap:12px;width:100%;border:0;background:none;text-align:left;padding:8px 10px;border-radius:8px;cursor:pointer;font-size:13px}
.zoek-groep button:hover{background:var(--em-l)}
.zoek-groep button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap} .zoek-groep button em{font-style:normal;color:var(--mut);white-space:nowrap;font-variant-numeric:tabular-nums}
.zoek-uit{position:fixed;left:14px;top:162px;width:440px}

/* aangiften met stukken, mijn onderneming (08-11-2026) */
.stappen span:empty{gap:0}
.stappen.groot span{font-size:13px} .stappen.groot i{width:11px;height:11px}
.stappen.groot span+span::before{width:28px}
.stuklijst{display:flex;flex-direction:column;gap:6px}
.stuk{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px 12px;cursor:pointer}
.stuk:hover,.stuk.aan{border-color:var(--em);background:var(--em-l)}
.stuk .ico{font-size:18px;color:var(--em-d)} .stuk b{display:block;font-size:13px} .stuk small{color:var(--mut);font-size:12px}
.stuk .verder{margin-left:auto;color:#9CA3AF}
.ond-kop{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.ond-kop .avatar{width:52px;height:52px;font-size:18px} .ond-kop h2{font-size:20px;margin:0} .ond-kop .pil{margin-left:auto}
.ond-raster{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:16px}
.ond-raster .kaart dl.velden{margin:0}
a.taak{text-decoration:none;color:inherit}
.links{display:flex;flex-wrap:wrap;gap:10px}
.extern{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--line);border-radius:10px;padding:8px 12px;text-decoration:none;font-weight:600;font-size:13px;color:var(--em-d)}
.extern:hover{background:var(--em-l);border-color:var(--em)}
@media (max-width:1280px){.ond-raster{grid-template-columns:1fr 1fr}}
.werk.paneel-open #v-aangiften tr>:nth-child(2),.werk.paneel-open #v-aangiften tr>:nth-child(3){display:none}

/* stand van de gegevens (08-11-2026) */
.stand{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:6px}
.stand-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:4px 10px;font-size:12px;color:#374151;cursor:help}
.stand-chip i{width:8px;height:8px;border-radius:50%;background:#9CA3AF}
.stand-chip.groen i{background:#52B788} .stand-chip.geel i{background:#E9C46A} .stand-chip.rood i{background:#E76F51}
.stand-chip.geel{border-color:#F3DE9C;background:#FFFBEB} .stand-chip.rood{border-color:#F5B8A6;background:#FEF2F2}
.stand-noot{font-size:12px;color:#9CA3AF}
.kantoorlink{display:block;margin:16px auto 0;border:0;background:none;color:var(--mut);font-size:12px;text-decoration:underline;cursor:pointer}
.camvideo{width:100%;border-radius:10px;background:#111;aspect-ratio:16/9;object-fit:cover}
#keuze .keuze-in:has(.camvideo){width:640px}
