/* GXJ System 1.0.0 | laag app | laden na een themabundel | https://system.gxj.world */
:where(:root){--gx-app-side:232px}
.gx-app{display:grid;grid-template-columns:var(--gx-app-side) minmax(0,1fr);min-height:100vh;background:var(--gx-bg);color:var(--gx-fg)}
.gx-app__side{position:sticky;top:0;height:100vh;box-sizing:border-box;display:flex;flex-direction:column;gap:var(--gx-space-5);padding:22px 16px;border-right:1px solid var(--gx-line);background:color-mix(in srgb,var(--gx-bg-2) 70%,var(--gx-bg))}
.gx-app__brand{--h:9px;display:flex;align-items:center;gap:calc(var(--h)*.9);padding:0 8px;color:var(--gx-fg);text-decoration:none}
.gx-app__brand svg{height:var(--h);width:auto;display:block}
.gx-app__brand .gx-app__mark{width:calc(var(--h)*2.6);height:calc(var(--h)*2.6);background:currentColor;-webkit-mask:var(--mark) center/contain no-repeat;mask:var(--mark) center/contain no-repeat}
.gx-app__brand span:last-child{font-family:var(--gx-font-title);font-size:calc(var(--h)*2);letter-spacing:.2em;text-transform:uppercase;line-height:calc(var(--h)*1.3);padding:0 0 .18em calc(var(--h)*.9);border-left:1px solid currentColor}
.gx-app__nav{display:flex;flex-direction:column;gap:2px}
.gx-app__nav a{display:flex;align-items:center;gap:10px;min-height:38px;padding:0 10px;border-radius:10px;font-size:var(--gx-size-sm);color:var(--gx-fg-3);text-decoration:none}
.gx-app__nav a .gx-icon{width:17px;height:17px}
.gx-app__nav a:hover{color:var(--gx-fg);background:color-mix(in srgb,var(--gx-fg) 5%,transparent)}
.gx-app__nav a[aria-current]{color:var(--gx-fg);background:color-mix(in srgb,var(--gx-fg) 9%,transparent)}
.gx-app__nav small{margin-left:auto;font-family:var(--gx-font-mono);font-size:10px;color:var(--gx-fg-4)}
.gx-app__foot{margin-top:auto;display:flex;flex-direction:column;gap:10px;padding:0 8px;font-size:var(--gx-size-xs);color:var(--gx-fg-4)}
.gx-app__main{min-width:0;padding:clamp(20px,3vw,40px) clamp(18px,3.4vw,48px) 80px}
@media (max-width:860px){.gx-app{grid-template-columns:1fr}.gx-app__side{position:sticky;z-index:20;height:auto;flex-direction:row;align-items:center;padding:10px 14px;border-right:0;border-bottom:1px solid var(--gx-line);overflow-x:auto}.gx-app__nav{flex-direction:row}.gx-app__nav a span{display:none}.gx-app__foot{display:none}}
.gx-app-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:var(--gx-space-6)}
.gx-app-head__t{display:flex;flex-direction:column;gap:6px;min-width:0}
.gx-app-head__eyebrow{margin:0;font-family:var(--gx-font-mono);font-size:var(--gx-size-2xs);letter-spacing:var(--gx-tracking-label);text-transform:uppercase;color:var(--gx-fg-4)}
.gx-app-head h1{margin:0;font-family:var(--gx-font-display);font-weight:400;font-size:var(--gx-size-2xl);line-height:1.1;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.gx-app-head__actions{display:flex;gap:8px;flex-wrap:wrap}
.gx-app-status{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;font-family:var(--gx-font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--gx-line-2);color:var(--gx-fg-3)}
.gx-app-status::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.gx-app-status[data-s=actief],.gx-app-status[data-s=getekend],.gx-app-status[data-s=betaald]{color:var(--gx-success)}
.gx-app-status[data-s=voorstel],.gx-app-status[data-s=verzonden],.gx-app-status[data-s=verstuurd],.gx-app-status[data-s=getekend_partner]{color:var(--gx-info)}
.gx-app-status[data-s=te-laat],.gx-app-status[data-s=beeindigd],.gx-app-status[data-s=vervallen]{color:var(--gx-danger)}
.gx-app-status[data-s=gepauzeerd],.gx-app-status[data-s=gecrediteerd]{color:var(--gx-warning)}
.gx-app-card{border-radius:var(--gx-radius-inner);border:1px solid var(--gx-line);background:color-mix(in srgb,var(--gx-surface) 70%,transparent);overflow:hidden}
.gx-app-card+.gx-app-card,.gx-app-card+.gx-app-section,.gx-app-section+.gx-app-section{margin-top:var(--gx-space-5)}
.gx-app-card__h{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--gx-line)}
.gx-app-card__h h2{margin:0;font-family:var(--gx-font-display);font-weight:400;font-size:var(--gx-size-lg)}
.gx-app-card__b{padding:18px}
.gx-app-table{width:100%;border-collapse:collapse;font-size:var(--gx-size-sm);font-variant-numeric:tabular-nums}
.gx-app-table th,.gx-app-table td{padding:11px 18px;text-align:left;border-bottom:1px solid var(--gx-line);font-weight:400;vertical-align:middle}
.gx-app-table thead th{font-family:var(--gx-font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--gx-fg-4)}
.gx-app-table tbody tr:last-child>*{border-bottom:0}
.gx-app-table tbody tr[data-href]{cursor:pointer}
.gx-app-table tbody tr[data-href]:hover{background:color-mix(in srgb,var(--gx-fg) 4%,transparent)}
.gx-app-table .num{text-align:right;white-space:nowrap}
.gx-app-table small{display:block;color:var(--gx-fg-4);font-size:var(--gx-size-xs)}
.gx-app-empty{padding:28px 18px;text-align:center;color:var(--gx-fg-4);font-size:var(--gx-size-sm)}
@media (max-width:700px){.gx-app-table .hide-s{display:none}}
.gx-app-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:var(--gx-space-4);margin-bottom:var(--gx-space-5)}
.gx-app-stat{display:flex;flex-direction:column;gap:6px;padding:18px 20px;border-radius:var(--gx-radius-inner);border:1px solid var(--gx-line);background:color-mix(in srgb,var(--gx-surface) 70%,transparent);color:inherit;text-decoration:none}
.gx-app-stat dl{display:contents}
.gx-app-stat dt{order:2;font-size:var(--gx-size-xs);color:var(--gx-fg-3)}
.gx-app-stat dd{margin:0;font-family:var(--gx-font-display);font-size:var(--gx-size-2xl);line-height:1;font-variant-numeric:tabular-nums}
.gx-app-stat[data-tone=warn] dd{color:var(--gx-danger)}
.gx-app-tabs{display:flex;gap:4px;margin-bottom:var(--gx-space-5);border-bottom:1px solid var(--gx-line);overflow-x:auto}
.gx-app-tabs a{padding:10px 14px;font-size:var(--gx-size-sm);color:var(--gx-fg-3);text-decoration:none;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}
.gx-app-tabs a[aria-current]{color:var(--gx-fg);border-bottom-color:var(--gx-accent)}
.gx-app-timeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.gx-app-timeline li{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:12px;padding:14px 18px;border-bottom:1px solid var(--gx-line)}
.gx-app-timeline li:last-child{border-bottom:0}
.gx-app-timeline__k{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:color-mix(in srgb,var(--gx-fg) 8%,transparent);color:var(--gx-fg-2)}
.gx-app-timeline__k .gx-icon{width:15px;height:15px}
.gx-app-timeline strong{font-weight:400;color:var(--gx-fg)}
.gx-app-timeline p{margin:4px 0 0;font-size:var(--gx-size-sm);color:var(--gx-fg-3);white-space:pre-wrap;overflow-wrap:anywhere}
.gx-app-timeline time,.gx-app-timeline small{font-size:var(--gx-size-xs);color:var(--gx-fg-4);white-space:nowrap}
.gx-app-timeline li.is-done strong{text-decoration:line-through;color:var(--gx-fg-3)}
.gx-app-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:14px 16px}
.gx-app-form .wide{grid-column:1/-1}
.gx-app-form label{display:flex;flex-direction:column;gap:6px;font-size:var(--gx-size-xs);color:var(--gx-fg-3)}
.gx-app-form :is(input,select,textarea),.gx-app-input{box-sizing:border-box;width:100%;min-height:38px;padding:8px 12px;border:1px solid var(--gx-line-2);border-radius:10px;background:color-mix(in srgb,var(--gx-bg) 60%,transparent);color:var(--gx-fg);font:inherit;font-size:var(--gx-size-sm)}
.gx-app-form textarea{min-height:96px;resize:vertical;line-height:1.5}
.gx-app-form :is(input,select,textarea):focus-visible,.gx-app-input:focus-visible{outline:2px solid var(--gx-focus);outline-offset:1px}
.gx-app-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:16px}
.gx-app-note{margin:0;font-size:var(--gx-size-xs);color:var(--gx-fg-4)}
.gx-app-toast{position:fixed;z-index:90;right:20px;bottom:20px;max-width:360px;padding:12px 16px;border-radius:12px;border:1px solid var(--gx-line-2);background:var(--gx-surface-2);color:var(--gx-fg);font-size:var(--gx-size-sm);box-shadow:var(--gx-shadow-2)}
.gx-app-toast[data-tone=error]{border-color:var(--gx-danger)}
