/* Ninisin design system for the relay pages. Tokens come from the Ninisin design system artifact (tokens.json). */
@font-face{font-family:'Overpass';src:url(/static/fonts/Overpass.woff2) format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:'Overpass Mono';src:url(/static/fonts/OverpassMono.woff2) format('woff2');font-weight:300 700;font-display:swap}
:root,[data-theme="light"]{--geel:#F5C400;--on-geel:#0B2A6F;--nacht:#0B2A6F;--on-nacht:#FFFFFF;--bord:#232A35;--bord-lijn:#38404D;--bord-zacht:#A3ACBA;--grond:#F3F4F6;--vlak:#FFFFFF;--vlak-2:#E9EBEF;--lijn:#E0E3E8;--rand:#878F9C;--inkt:#1B2029;--inkt-zacht:#596171;--spoor:#2D5BA8;--goed:#17784A;--goed-vlak:#E3F3EA;--let-op:#AD4F00;--let-op-vlak:#FDEBDC;--fout:#C02535;--fout-vlak:#FCE4E6;--stijgt:var(--goed);--daalt:var(--fout);--schaduw-paneel:0 1px 2px rgba(27,32,41,0.06), 0 4px 12px rgba(27,32,41,0.05);color-scheme:light}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--geel:#F5C400;--on-geel:#0B2A6F;--nacht:#0B2A6F;--on-nacht:#FFFFFF;--bord:#0F1216;--bord-lijn:#262C35;--bord-zacht:#9AA3B0;--grond:#14171C;--vlak:#1B1F26;--vlak-2:#252A33;--lijn:#2E343D;--rand:#6E7685;--inkt:#E7EAEF;--inkt-zacht:#A2A9B5;--spoor:#8FAEE6;--goed:#5CC58F;--goed-vlak:#15302A;--let-op:#FFA552;--let-op-vlak:#3A2919;--fout:#FF7D88;--fout-vlak:#3D1D24;--stijgt:var(--goed);--daalt:var(--fout);--schaduw-paneel:0 1px 2px rgba(0,0,0,0.35), 0 4px 12px rgba(0,0,0,0.2);color-scheme:dark}}
[data-theme="dark"]{--geel:#F5C400;--on-geel:#0B2A6F;--nacht:#0B2A6F;--on-nacht:#FFFFFF;--bord:#0F1216;--bord-lijn:#262C35;--bord-zacht:#9AA3B0;--grond:#14171C;--vlak:#1B1F26;--vlak-2:#252A33;--lijn:#2E343D;--rand:#6E7685;--inkt:#E7EAEF;--inkt-zacht:#A2A9B5;--spoor:#8FAEE6;--goed:#5CC58F;--goed-vlak:#15302A;--let-op:#FFA552;--let-op-vlak:#3A2919;--fout:#FF7D88;--fout-vlak:#3D1D24;--stijgt:var(--goed);--daalt:var(--fout);--schaduw-paneel:0 1px 2px rgba(0,0,0,0.35), 0 4px 12px rgba(0,0,0,0.2);color-scheme:dark}
:root{--ruimte-1:4px;--ruimte-2:8px;--ruimte-3:12px;--ruimte-4:16px;--ruimte-5:24px;--ruimte-6:32px;--ruimte-7:48px;--hoek-s:4px;--hoek-m:8px;--hoek-l:14px;--hoek-rond:999px;--font-sans:"Overpass", "Segoe UI", system-ui, sans-serif;--font-mono:"Overpass Mono", ui-monospace, Menlo, Consolas, monospace}
/* Ninisin components. Every colour, length and face comes from tokens.css. */
.nn-root,.nn-root *{box-sizing:border-box}
body{font-family:var(--font-sans);color:var(--inkt);background:var(--grond);font-size:15px;line-height:22px}
::selection{background:color-mix(in srgb,var(--spoor) 25%,transparent);color:inherit}
:focus-visible{outline:2px solid var(--spoor);outline-offset:2px}

/* Demo strip */
.nn-demo{display:flex;align-items:center;justify-content:center;gap:var(--ruimte-2);background:var(--vlak-2);color:var(--inkt-zacht);
  font:700 12px/16px var(--font-sans);letter-spacing:.08em;text-transform:uppercase;padding:6px var(--ruimte-4)}
.nn-demo svg{flex:none}.nn-demo svg g{fill:currentColor}
.nn-demo .nn-sep{opacity:.55;margin:0 2px}

/* Top bar */
.nn-top{background:var(--vlak);color:var(--inkt);border-bottom:1px solid var(--lijn);display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"brand nav end";align-items:center;column-gap:var(--ruimte-5);padding:0 var(--ruimte-5);min-height:60px;container-type:inline-size}
.nn-brand{grid-area:brand}.nn-nav{grid-area:nav}.nn-top-end{grid-area:end}
.nn-brand{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none;font:800 21px/1 var(--font-sans);letter-spacing:-.01em}
.nn-brand img{width:32px;height:32px;display:block}
.nn-nav{display:flex;gap:var(--ruimte-1);overflow-x:auto;scrollbar-width:none}
.nn-nav a{color:var(--inkt-zacht);text-decoration:none;font:600 14px/20px var(--font-sans);padding:20px 10px 17px;border-bottom:3px solid transparent;white-space:nowrap}
.nn-nav a:hover{color:var(--inkt)}
.nn-nav a[aria-current="page"]{color:var(--inkt);border-bottom-color:var(--inkt)}
.nn-top-end{display:flex;align-items:center;gap:var(--ruimte-3)}
@media (max-width:640px){.nn-top{grid-template-columns:1fr auto;grid-template-areas:"brand end" "nav nav";padding:0 var(--ruimte-4)}.nn-brand{padding:12px 0}.nn-nav{margin:0 calc(var(--ruimte-2) * -1);border-top:1px solid var(--lijn)}.nn-nav a{flex:1;text-align:center;padding:12px 8px 9px}}
.nn-agent{display:inline-flex;align-items:center;gap:8px;font:700 13px/18px var(--font-sans)}
.nn-agent span{font-weight:400;color:var(--inkt-zacht)}
.nn-agent i{width:8px;height:8px;border-radius:50%;background:var(--goed)}
.nn-agent[data-state="stil"] i{background:var(--let-op)}
.nn-agent[data-state="gestopt"] i{background:var(--fout)}

/* Buttons */
.nn-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--ruimte-2);min-height:44px;padding:0 18px;border-radius:var(--hoek-m);
  font:700 14px/1 var(--font-sans);border:1px solid transparent;cursor:pointer;text-decoration:none;transition:background-color .15s,border-color .15s}
.nn-btn-primair{background:var(--inkt);color:var(--vlak)}
.nn-btn-primair:hover{background:color-mix(in srgb,var(--inkt) 85%,var(--vlak))}
.nn-btn-secundair{background:transparent;color:var(--inkt);border-color:var(--rand)}
.nn-btn-secundair:hover{background:var(--vlak-2)}
.nn-btn-gevaar{background:var(--fout);color:var(--vlak)}
.nn-btn[disabled]{opacity:.45;cursor:not-allowed}

/* Status label */
.nn-status{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--hoek-rond);font:700 12px/16px var(--font-sans);white-space:nowrap;background:var(--vlak-2);color:var(--inkt-zacht)}
.nn-status::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.nn-status-goed{background:var(--goed-vlak);color:var(--goed)}
.nn-status-let-op{background:var(--let-op-vlak);color:var(--let-op)}
.nn-status-fout{background:var(--fout-vlak);color:var(--fout)}
.nn-status-info{background:var(--vlak-2);color:var(--spoor)}

/* Notice */
.nn-notice{display:grid;grid-template-columns:auto 1fr;gap:2px var(--ruimte-3);padding:var(--ruimte-3) var(--ruimte-4);border-radius:var(--hoek-m);background:var(--vlak-2);color:var(--inkt);font-size:14px;line-height:20px}
.nn-notice svg{grid-row:span 2;margin-top:2px}
.nn-notice strong{font-weight:700}
.nn-notice-goed{background:var(--goed-vlak)}.nn-notice-goed svg{color:var(--goed)}
.nn-notice-let-op{background:var(--let-op-vlak);box-shadow:inset 4px 0 0 var(--let-op)}.nn-notice-let-op svg{color:var(--let-op)}
.nn-notice-fout{background:var(--fout-vlak);box-shadow:inset 4px 0 0 var(--fout)}.nn-notice-fout svg{color:var(--fout)}
.nn-notice-info svg{color:var(--spoor)}

/* Field */
.nn-field{display:grid;gap:6px}
.nn-field label{font:700 14px/20px var(--font-sans)}
.nn-field .nn-hint{font:400 13px/18px var(--font-sans);color:var(--inkt-zacht)}
.nn-field input{box-sizing:border-box;font:400 15px/22px var(--font-sans);color:var(--inkt);background:var(--vlak);border:1px solid var(--rand);border-radius:var(--hoek-m);min-height:44px;padding:10px 12px;width:100%}
.nn-field input:focus{outline:2px solid var(--spoor);outline-offset:1px;border-color:var(--spoor)}
.nn-field[data-error] input{border-color:var(--fout)}
.nn-field .nn-error{font:700 13px/18px var(--font-sans);color:var(--fout)}

/* Panel */
.nn-panel{background:var(--vlak);border:1px solid var(--lijn);border-radius:var(--hoek-l);box-shadow:var(--schaduw-paneel);padding:var(--ruimte-5)}
.nn-panel-head{display:flex;align-items:center;justify-content:space-between;gap:var(--ruimte-3);margin-bottom:var(--ruimte-4)}
.nn-panel-head h2{font:700 20px/26px var(--font-sans);margin:0}

/* Tile */
.nn-tile{display:grid;gap:var(--ruimte-2);background:var(--vlak);border:1px solid var(--lijn);border-radius:var(--hoek-l);padding:var(--ruimte-4)}
.nn-tile-label{font:700 12px/16px var(--font-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--inkt-zacht)}
.nn-tile-value{font:700 28px/32px var(--font-mono);font-variant-numeric:tabular-nums}
.nn-tile-value small{font:500 15px/20px var(--font-mono);color:var(--inkt-zacht);margin-left:4px}
.nn-tile-sub{font:400 13px/18px var(--font-sans);color:var(--inkt-zacht)}
.nn-tile-sub.nn-up{color:var(--stijgt)}.nn-tile-sub.nn-down{color:var(--daalt)}
.nn-rails{display:grid;grid-auto-flow:column;gap:2px;height:8px}
.nn-rails span{background:var(--vlak-2);border-radius:1px}
.nn-rails span[data-on]{background:var(--inkt-zacht)}
.nn-rails[data-tone="let-op"] span[data-on]{background:var(--let-op)}
.nn-rails[data-tone="fout"] span[data-on]{background:var(--fout)}

/* Departure board */
.nn-board{background:var(--bord);color:var(--on-nacht);border-radius:var(--hoek-l);overflow:hidden;container-type:inline-size}
.nn-board-head{display:flex;align-items:center;justify-content:space-between;gap:var(--ruimte-3);padding:var(--ruimte-3) var(--ruimte-4);border-bottom:1px solid var(--bord-lijn)}
.nn-board-head h2{margin:0;font:800 17px/22px var(--font-sans);display:flex;align-items:center;gap:10px}
.nn-board-head h2 img{width:22px;height:22px}
.nn-board-clock{font:700 15px/20px var(--font-mono);color:var(--bord-zacht);font-variant-numeric:tabular-nums}
.nn-board-scroll{overflow-x:auto}
.nn-board table{width:100%;border-collapse:collapse;font:700 15px/20px var(--font-mono);font-variant-numeric:tabular-nums}
.nn-board th{font:700 11px/16px var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--bord-zacht);text-align:left;padding:var(--ruimte-2) var(--ruimte-4);white-space:nowrap}
.nn-board td{padding:var(--ruimte-3) var(--ruimte-4);border-top:1px solid var(--bord-lijn);white-space:nowrap}
.nn-board td.nn-num,.nn-board th.nn-num{text-align:right}
.nn-board td.nn-why{font:400 13px/18px var(--font-sans);white-space:normal;min-width:180px;color:var(--bord-zacht)}
.nn-board .nn-act{display:inline-block;min-width:4.5em}
.nn-board .nn-act-koop{color:var(--on-nacht)}
.nn-board .nn-act-skip{opacity:.6}
.nn-flag{display:inline-block;font:800 11px/16px var(--font-sans);letter-spacing:.06em;text-transform:uppercase;padding:2px 8px;border-radius:var(--hoek-s);background:transparent;color:var(--on-nacht);box-shadow:inset 0 0 0 1px var(--bord-lijn)}
.nn-flag-fout{background:var(--fout-vlak);color:var(--fout);box-shadow:none}
.nn-board tr:has(.nn-flag-fout){box-shadow:inset 4px 0 0 var(--fout)}
.nn-flag-let-op{background:var(--let-op-vlak);color:var(--let-op);box-shadow:none}
.nn-board tr:has(.nn-flag-let-op){box-shadow:inset 4px 0 0 var(--let-op)}
.nn-flag-stil{color:var(--bord-zacht)}
.nn-board-empty{padding:var(--ruimte-6) var(--ruimte-4);text-align:center;font:400 14px/20px var(--font-sans);opacity:.85}

/* Data table */
.nn-table-wrap{overflow-x:auto;border:1px solid var(--lijn);border-radius:var(--hoek-l);background:var(--vlak)}
.nn-table{width:100%;border-collapse:collapse;font-size:14px;line-height:20px}
.nn-table th{background:var(--vlak-2);font:700 12px/16px var(--font-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--inkt-zacht);text-align:left;padding:10px var(--ruimte-3);white-space:nowrap}
.nn-table td{padding:10px var(--ruimte-3);border-top:1px solid var(--lijn);white-space:nowrap}
.nn-table .nn-num{text-align:right;font:500 13px/18px var(--font-mono);font-variant-numeric:tabular-nums}
.nn-table .nn-up{color:var(--stijgt)}.nn-table .nn-down{color:var(--daalt)}
.nn-table tbody tr:hover{background:color-mix(in srgb,var(--vlak-2) 50%,transparent)}

/* Key list */
.nn-keys{display:grid;margin:0;padding:0;list-style:none}
.nn-keys li{display:flex;align-items:center;gap:var(--ruimte-3);padding:var(--ruimte-3) 0;border-top:1px solid var(--lijn)}
.nn-keys li:first-child{border-top:0}
.nn-keys .nn-key-name{font-weight:700}
.nn-keys .nn-key-note{color:var(--inkt-zacht);font-size:13px;line-height:18px}
.nn-keys .nn-key-end{margin-left:auto;display:flex;gap:var(--ruimte-3);align-items:center}
.nn-keys a{color:var(--spoor);font-weight:700;font-size:14px;text-underline-offset:3px}

/* Secret shown once */
.nn-secret{display:grid;gap:var(--ruimte-3);border:2px dashed var(--rand);border-radius:var(--hoek-m);padding:var(--ruimte-4);background:var(--vlak)}
.nn-secret code{font:500 14px/20px var(--font-mono);word-break:break-all;user-select:all;color:var(--inkt)}
.nn-secret-foot{display:flex;align-items:center;gap:var(--ruimte-3);flex-wrap:wrap;font-size:13px;line-height:18px;color:var(--inkt-zacht)}
@media (prefers-reduced-motion:reduce){.nn-btn{transition:none}}

/* Departure board on a narrow screen: each row becomes a two-line entry, status and reason stay visible */
@container (max-width:560px){
  .nn-board thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .nn-board table,.nn-board tbody{display:block}
  .nn-board tr{display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"time coin flag" "act act usdt" "why why why";column-gap:var(--ruimte-3);row-gap:4px;padding:var(--ruimte-3) var(--ruimte-4);border-top:1px solid var(--bord-lijn)}
  .nn-board td{padding:0;border:0}
  .nn-board td:nth-child(1){grid-area:time}
  .nn-board td:nth-child(2){grid-area:coin}
  .nn-board td:nth-child(3){grid-area:act;font-size:13px;line-height:18px}
  .nn-board td:nth-child(4){display:none}
  .nn-board td:nth-child(5){grid-area:usdt;font-size:13px;line-height:18px}
  .nn-board td:nth-child(6){grid-area:flag;justify-self:end}
  .nn-board td.nn-why{grid-area:why;min-width:0}
}
@media (max-width:520px){.nn-panel{padding:var(--ruimte-4)}.nn-tile{padding:var(--ruimte-3) var(--ruimte-4)}}

/* Page layout */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0}
a{color:var(--spoor);text-underline-offset:3px}
a:hover{color:var(--inkt)}
h1,h2,h3,p{margin:0}
.nn-main{max-width:1200px;margin:0 auto;padding:var(--ruimte-6) var(--ruimte-5) var(--ruimte-7);display:flex;flex-direction:column;gap:var(--ruimte-5)}
.nn-main.nn-narrow{max-width:680px}
.nn-head{display:flex;flex-wrap:wrap;gap:var(--ruimte-4);align-items:flex-end;justify-content:space-between}
.nn-head>div{display:flex;flex-direction:column;gap:6px;max-width:680px}
.nn-head h1{font:800 28px/34px var(--font-sans)}
.nn-lead{font-size:15px;line-height:22px;color:var(--inkt-zacht)}
.nn-actions{display:flex;gap:var(--ruimte-3);flex-wrap:wrap;align-items:center}
.nn-cols{display:flex;flex-wrap:wrap;gap:var(--ruimte-5);align-items:flex-start}
.nn-col-main{flex:999 1 640px;min-width:0;display:flex;flex-direction:column;gap:var(--ruimte-5)}
.nn-col-side{flex:1 1 320px;min-width:0;display:flex;flex-direction:column;gap:var(--ruimte-5)}
.nn-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--ruimte-3)}
.nn-stack{display:flex;flex-direction:column;gap:var(--ruimte-3)}
.nn-form{display:flex;flex-direction:column;gap:var(--ruimte-4)}
.nn-section-head{display:flex;justify-content:space-between;align-items:center;gap:var(--ruimte-3)}
.nn-section-head h2{font:700 20px/26px var(--font-sans)}
.nn-small{font-size:13px;line-height:18px;color:var(--inkt-zacht)}
.nn-kv{display:grid;grid-template-columns:max-content 1fr;gap:6px var(--ruimte-4);margin:0;font-size:14px;line-height:20px}
.nn-kv dt{color:var(--inkt-zacht)}
.nn-kv dd{margin:0;font-family:var(--font-mono);font-weight:500;font-variant-numeric:tabular-nums}
.nn-notice ul{margin:4px 0 0;padding-left:18px}
.nn-top-end form{margin:0}
.nn-linkbtn{background:none;border:0;padding:0;font:600 13px/18px var(--font-sans);color:var(--inkt-zacht);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.nn-linkbtn:hover{color:var(--inkt)}
.nn-login{min-height:100vh;display:flex;flex-direction:column}
.nn-login main{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--ruimte-7) var(--ruimte-4)}
.nn-login-box{width:100%;max-width:420px;display:flex;flex-direction:column;gap:var(--ruimte-5)}
.nn-login-brand{display:flex;align-items:center;gap:12px;font:800 28px/1 var(--font-sans)}
.nn-foot{max-width:1200px;margin:0 auto;padding:0 var(--ruimte-5) var(--ruimte-6);font-size:13px;line-height:18px;color:var(--inkt-zacht)}
.nn-swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--ruimte-3)}
.nn-swatch{height:48px;border-radius:var(--hoek-m);border:1px solid var(--lijn)}
@media (max-width:520px){.nn-main{padding:var(--ruimte-5) var(--ruimte-4) var(--ruimte-6)}.nn-head h1{font-size:24px;line-height:30px}.nn-foot{padding:0 var(--ruimte-4) var(--ruimte-5)}}
/* security pages: login title, QR code, checkboxes, select, empty states */
.nn-login-title{margin:0;font:800 24px/30px var(--font-sans)}
.nn-empty{color:var(--inkt-zacht)}
.nn-secret code{white-space:pre-wrap}
.nn-qr{display:block;width:220px;height:220px;border-radius:var(--hoek-m);border:1px solid var(--lijn);background:#FFFFFF}
.nn-code{display:inline-block;font:500 15px/22px var(--font-mono);letter-spacing:.04em;padding:8px 10px;background:var(--vlak-2);border-radius:var(--hoek-m);word-break:break-all}
.nn-checks{border:0;margin:0;padding:0;min-width:0}
.nn-checks legend{font:700 14px/20px var(--font-sans);padding:0;margin-bottom:6px}
.nn-check{display:flex;gap:10px;align-items:flex-start;padding:6px 0;font:400 15px/22px var(--font-sans);cursor:pointer}
.nn-check input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--inkt);flex:none}
.nn-check input:disabled+span{color:var(--inkt-zacht)}
.nn-field select{box-sizing:border-box;font:400 15px/22px var(--font-sans);color:var(--inkt);background:var(--vlak);border:1px solid var(--rand);border-radius:var(--hoek-m);min-height:44px;padding:10px 12px;width:100%}
.nn-field select:focus{outline:2px solid var(--spoor);outline-offset:1px;border-color:var(--spoor)}
.nn-linkbtn-gevaar{color:var(--fout)}
.nn-linkbtn-gevaar:hover{color:var(--fout)}
.nn-table form{margin:0}
.nn-checks .nn-check{font:400 15px/22px var(--font-sans)}
.nn-checks .nn-check input{width:18px;height:18px;min-height:0;padding:0;border:0}
.nn-kv dd{overflow-wrap:anywhere}
.nn-chips{display:flex;flex-wrap:wrap;gap:var(--ruimte-2);margin:0}
.nn-chips + .nn-chips{margin-top:calc(var(--ruimte-3) * -1)}
.nn-chips a{display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border-radius:var(--hoek-rond);border:1px solid var(--lijn);background:var(--vlak);color:var(--inkt-zacht);font:700 13px/1 var(--font-sans);text-decoration:none}
.nn-chips a:hover{color:var(--inkt);border-color:var(--rand)}
.nn-chips a[aria-current]{background:var(--inkt);border-color:var(--inkt);color:var(--vlak)}
.nn-chart{position:relative;height:440px;margin:0 0 var(--ruimte-3)}
.nn-chart-status{position:absolute;inset:0;display:grid;place-items:center;margin:0;color:var(--inkt-zacht);font-size:14px}
@media (max-width:640px){.nn-chart{height:320px}}
.nn-field textarea{box-sizing:border-box;font:400 13px/20px var(--font-mono);color:var(--inkt);background:var(--vlak);border:1px solid var(--rand);border-radius:var(--hoek-m);padding:10px 12px;width:100%;resize:vertical;min-height:120px}
.nn-field textarea:focus{outline:2px solid var(--spoor);outline-offset:1px;border-color:var(--spoor)}

/* Dashboard: OpenSea-style look (Ali, 26 Oct 2026). Always dark; only the dashboard uses .os. */
body:has(.os){background:#0A0A0A}
.os{--os-grond:#0A0A0A;--os-vlak:#121212;--os-vlak-2:#1A1A1A;--os-lijn:#1F1F1F;--os-lijn-2:#2A2A2A;--os-inkt:#FFFFFF;--os-zacht:#B3B3B3;--os-muted:#8A8A8A;
  --os-blauw:#2081E2;--os-blauw-tekst:#4DA2F5;--os-paars:#9B8CFF;--os-goed:#34C77B;--os-goed-vlak:#12291D;--os-let-op:#F0A33A;--os-let-op-vlak:#1E1608;--os-fout:#FF6B76;--os-fout-vlak:#2A1115;
  display:flex;min-height:100vh;background:var(--os-grond);color:var(--os-inkt);font-family:var(--font-sans);font-size:15px;line-height:1.45;color-scheme:dark}
.os *{box-sizing:border-box}
.os a{color:var(--os-blauw-tekst)}.os a:hover{color:#7DBBF8}
.os :focus-visible{outline:2px solid var(--os-blauw);outline-offset:2px}
.os .mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}
.os .lbl{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;color:var(--os-muted);font-weight:600;margin:0}
.os h1,.os h2,.os h3{margin:0}
.os-muted{color:var(--os-muted)}
.os-strong{font-weight:700;font-size:13px}
.os-tone-goed{color:var(--os-goed)}.os-tone-let-op{color:var(--os-let-op)}.os-tone-fout{color:var(--os-fout)}
.os-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 12px}
.os-mt{margin-top:10px}

/* Icon sidebar */
.os-side{flex:0 0 76px;border-right:1px solid var(--os-lijn);padding:14px 8px;display:flex;flex-direction:column;align-items:center;gap:4px;position:sticky;top:0;height:100vh;overflow-y:auto;scrollbar-width:none}
.os-side-brand{margin-bottom:10px;display:block;line-height:0}
.os-side a:not(.os-side-brand),.os-side button{width:60px;min-height:48px;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  color:var(--os-muted);text-decoration:none;font:600 10px/1.1 var(--font-sans);background:none;border:0;cursor:pointer}
.os-side a:not(.os-side-brand):hover,.os-side button:hover{background:var(--os-vlak-2);color:var(--os-inkt)}
.os-side a[aria-current=page]{background:#1F1F1F;color:var(--os-inkt)}
.os-side form{margin-top:auto}

.os-body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}
.os-split{flex:1;display:flex;flex-wrap:wrap;align-content:flex-start}
.os-main{flex:999 1 620px;min-width:0;display:flex;flex-direction:column}
.os-content{padding:22px 28px 32px;display:flex;flex-direction:column;gap:24px}

/* Hero */
.os-hero{padding:28px 28px 22px;background:radial-gradient(120% 140% at 85% 0%,#10345C 0%,#0D1B2E 38%,#0A0A0A 75%);border-bottom:1px solid var(--os-lijn);display:flex;flex-direction:column;gap:22px}
.os-hero-top{display:flex;flex-wrap:wrap;align-items:center;gap:16px}
.os-hero h1{font-size:30px;font-weight:800}
.os-hero p{margin:2px 0 0;color:var(--os-zacht)}
.os-avatar{width:72px;height:72px;border-radius:16px;background:var(--geel);color:var(--on-geel);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:34px;border:3px solid var(--os-grond)}
.os-pill{margin-left:auto;display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.08);border-radius:10px;padding:8px 12px;font-size:14px}
.os-pill i,.os-live i{width:8px;height:8px;border-radius:50%;background:var(--os-goed)}
.os-pill[data-state=stil] i{background:var(--os-let-op)}
.os-stats{margin:0;display:flex;flex-wrap:wrap;gap:14px 34px}
.os-stats dd{margin:2px 0 0;font-size:20px;font-weight:700}

/* Banner */
.os-banner{border-radius:10px;padding:10px 14px;display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:14px;border:1px solid;border-left-width:4px}
.os-banner span{flex:1 1 300px}.os-banner a{font-weight:700}
.os-banner-let-op{background:var(--os-let-op-vlak);border-color:#4A3512;border-left-color:var(--os-let-op)}
.os-banner-fout{background:var(--os-fout-vlak);border-color:#4A1C22;border-left-color:var(--os-fout)}

.os-block{display:flex;flex-direction:column;gap:10px}
.os-block h2:not(.lbl){font-size:18px;font-weight:700}
.os-note{margin:0;font-size:13px;color:var(--os-muted)}
.os-axis{display:flex;justify-content:space-between;font-size:11px;color:var(--os-muted)}

/* Curve */
.os-curve{width:100%;height:140px;display:block}
.os-curve .os-grid{stroke:var(--os-lijn-2);stroke-dasharray:5 5;vector-effect:non-scaling-stroke}
.os-curve .os-area{fill:var(--os-blauw);fill-opacity:.12}
.os-curve .os-line{fill:none;stroke:var(--os-blauw);stroke-width:2.5;vector-effect:non-scaling-stroke}

/* Cards */
.os-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.os-card{background:var(--os-vlak);border:1px solid var(--os-lijn);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:4px}
.os-big{font-size:20px;font-weight:700}
.os-chip{border-radius:999px;padding:1px 8px;font-size:12px;font-weight:700}
.os-chip-goed{background:var(--os-goed-vlak);color:var(--os-goed)}.os-chip-let-op{background:var(--os-let-op-vlak);color:var(--os-let-op)}.os-chip-fout{background:var(--os-fout-vlak);color:var(--os-fout)}
.os-donut{flex-direction:row;align-items:center;gap:14px}
.os-donut-track{stroke:var(--os-lijn)}.os-donut-a{stroke:var(--os-blauw)}.os-donut-b{stroke:var(--os-paars)}
.os-legend{display:flex;flex-direction:column;gap:4px;font-size:13px}
.os-legend span:not(.lbl),.os-keys-legend span{display:flex;align-items:center;gap:6px}
.os-legend i,.os-keys-legend i{width:10px;height:10px;border-radius:3px;display:inline-block}
.os-sw-a{background:var(--os-blauw)}.os-sw-b{background:var(--os-paars)}

/* Activity strip and hourly bars */
.os-scroll{overflow-x:auto}
.os-strip-wrap{min-width:580px}
.os-strip{width:100%;height:56px;display:block;background:var(--os-vlak);border:1px solid var(--os-lijn);border-radius:10px}
.os-pause{fill:#3A2A10;stroke:var(--os-let-op);stroke-width:1;vector-effect:non-scaling-stroke}
.os-now{fill:var(--os-inkt)}
.os-tick-niets,.os-sw-niets{fill:#4A4A4A;background:#4A4A4A}
.os-tick-afgewezen,.os-sw-afgewezen{fill:var(--os-blauw);background:var(--os-blauw)}
.os-tick-volgen,.os-sw-volgen{fill:var(--os-paars);background:var(--os-paars)}
.os-tick-handel,.os-sw-handel{fill:var(--os-goed);background:var(--os-goed)}
.os-sw-pause{background:#3A2A10;border:1px solid var(--os-let-op)}
.os-hours{display:flex;justify-content:space-between;font-size:11px;color:var(--os-muted);padding-top:4px}
.os-keys-legend{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13px;color:var(--os-muted)}
.os-hourly{width:100%;height:90px;display:block}
.os-hbar{fill:var(--os-blauw)}.os-hbar-empty{fill:var(--os-lijn)}

/* For you */
.os-tip{flex-direction:row;gap:12px}
.os-tip p{margin:2px 0 0;font-size:14px;color:var(--os-muted)}
.os-sign{width:32px;height:32px;flex:0 0 auto;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-family:var(--font-mono)}
.os-sign-goed{background:var(--os-goed-vlak);color:var(--os-goed)}.os-sign-let-op{background:#2A1E0C;color:var(--os-let-op)}
.os-sign-fout{background:var(--os-fout-vlak);color:var(--os-fout)}.os-sign-info{background:#0D2440;color:var(--os-blauw-tekst)}

/* Tabs and activity */
.os-tabs{display:flex;flex-wrap:wrap;gap:8px}
.os-tabs button{border:1px solid var(--os-lijn-2);cursor:pointer;border-radius:10px;padding:8px 14px;min-height:40px;font:600 14px/1 var(--font-sans);background:transparent;color:var(--os-inkt)}
.os-tabs button[aria-selected=true]{background:var(--os-inkt);color:var(--os-grond);border-color:var(--os-inkt)}
.os-frame{border:1px solid var(--os-lijn);border-radius:12px;overflow:hidden}
.os-frame.os-js .os-pane[hidden]{display:none}
.os-frame:not(.os-js) .os-pane+.os-pane{border-top:4px solid var(--os-lijn)}
.os-thead{display:grid;grid-template-columns:140px 1fr 110px;gap:14px;padding:10px 16px;border-bottom:1px solid var(--os-lijn)}
.os-thead span:last-child{text-align:right}
.os-groups,.os-items,.os-list,.os-keys ul{list-style:none;margin:0;padding:0}
.os-groups>li{border-bottom:1px solid var(--os-lijn)}
.os-groups summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:140px 1fr 110px;gap:6px 14px;align-items:center;padding:12px 16px;min-height:52px}
.os-groups summary::-webkit-details-marker{display:none}
.os-groups summary:hover{background:var(--os-vlak)}
.os-event{display:flex;align-items:center;gap:8px;font-weight:600}
.os-event svg{color:var(--os-muted)}.os-event-handel svg{color:var(--os-goed)}.os-event-volgen svg{color:var(--os-paars)}.os-event-let-op svg{color:var(--os-let-op)}
.os-when{text-align:right;font-size:13px}
.os-items{padding:0 16px 12px 170px;display:flex;flex-direction:column;gap:6px}
.os-items li{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:14px}
.os-coin{font-weight:700;min-width:64px}
.os-act{font:700 11px/1 var(--font-mono);letter-spacing:.06em;padding:4px 6px;border-radius:4px;border:1px solid var(--os-lijn-2);color:var(--os-zacht);align-self:center}
.os-act-handel{border-color:var(--os-goed);color:var(--os-goed)}.os-act-volgen{border-color:var(--os-paars);color:var(--os-paars)}.os-act-let-op{border-color:var(--os-let-op);color:var(--os-let-op)}
.os-why{flex:1 1 260px;min-width:0;color:var(--os-zacht)}
.os-list li{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;padding:11px 16px;border-bottom:1px solid var(--os-lijn)}
.os-list li strong{flex:1}
.os-dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto;display:inline-block}
.os-empty{margin:0;padding:16px;color:var(--os-muted)}

/* Drawer */
.os-drawer{flex:1 1 300px;min-width:0;border-left:1px solid var(--os-lijn);padding:22px 20px;display:flex;flex-direction:column;gap:16px;background:#0F0F0F}
.os-drawer-title{font-weight:700;font-size:17px}
.os-quick{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.os-quick a{background:var(--os-vlak-2);border-radius:12px;padding:14px 10px;color:var(--os-inkt);text-decoration:none;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:13px;font-weight:600}
.os-quick a:hover{background:#242424;color:var(--os-inkt)}
.os-drawer .os-card{background:var(--os-vlak-2);border:0}
.os-drawer .os-card a{font-size:13px;font-weight:600}
.os-meters{display:flex;flex-direction:column;gap:12px}
.os-meter{display:flex;flex-direction:column;gap:5px}
.os-meter svg{width:100%;height:4px;display:block}
.os-meter-v{font-size:14px;font-weight:700}.os-meter-v small{color:var(--os-muted);font-weight:400;font-size:13px}
.os-meter-note{font-size:13px;color:var(--os-muted)}
.os-track{fill:var(--os-lijn)}.os-fill{fill:var(--os-blauw)}.os-fill-let-op{fill:var(--os-let-op)}.os-fill-fout{fill:var(--os-fout)}
.os-keys summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;min-height:28px}
.os-keys summary::-webkit-details-marker{display:none}
.os-keys li{display:grid;grid-template-columns:auto 1fr auto;gap:2px 10px;align-items:center;padding:8px 0;border-top:1px solid #262626;font-size:13px}
.os-keys li .os-muted{grid-column:2}
.os-keys li a{grid-row:1;grid-column:3}
.os-key-ingesteld{background:var(--os-goed)}.os-key-bijna-op{background:var(--os-let-op)}.os-key-ontbreekt{background:var(--os-fout)}

/* Status bar */
.os-bar{border-top:1px solid var(--os-lijn);padding:8px 20px;display:flex;flex-wrap:wrap;gap:6px 22px;font-size:12px;color:var(--os-muted);position:sticky;bottom:0;background:var(--os-grond)}
.os-live{display:flex;align-items:center;gap:6px;color:var(--os-goed)}
.os-pnl{font-weight:700}

@media (max-width:720px){
  .os{flex-direction:column}
  .os-side{position:sticky;top:0;z-index:2;height:auto;flex:none;flex-direction:row;border-right:0;border-bottom:1px solid var(--os-lijn);padding:6px 8px;overflow-x:auto;background:var(--os-grond)}
  .os-side-brand{margin:0 6px 0 0}.os-side form{margin:0 0 0 auto}
  .os-side a:not(.os-side-brand),.os-side button{flex:0 0 56px;width:56px}
  .os-hero,.os-content{padding-left:16px;padding-right:16px}
  .os-pill{margin-left:0}
  .os-drawer{border-left:0;border-top:1px solid var(--os-lijn);padding:20px 16px}
  .os-thead{display:none}
  .os-groups summary{grid-template-columns:1fr auto}
  .os-groups summary .os-what{grid-column:1/-1;grid-row:2}
  .os-items{padding:0 16px 12px}
  .os-bar{position:static}
}
@media (prefers-reduced-motion:no-preference){.os-groups summary,.os-quick a,.os-side a{transition:background-color .15s}}

/* Every page in the OpenSea-style shell (Ali, 26 Oct 2026): the Ninisin tokens take the dashboard's dark palette,
   on the root too so grafiek.js reads the same colours. */
:root:has(.os){--grond:#0A0A0A;--vlak:#121212;--vlak-2:#1A1A1A;--lijn:#1F1F1F;--rand:#3A3A3A;--inkt:#FFFFFF;--inkt-zacht:#B3B3B3;
  --spoor:#4DA2F5;--bord:#121212;--bord-lijn:#1F1F1F;--bord-zacht:#8A8A8A;--on-nacht:#FFFFFF;--goed:#34C77B;--goed-vlak:#12291D;
  --let-op:#F0A33A;--let-op-vlak:#1E1608;--fout:#FF6B76;--fout-vlak:#2A1115;--stijgt:var(--goed);--daalt:var(--fout);
  --schaduw-paneel:none;--hoek-l:12px;color-scheme:dark}
.os-page{flex:1 0 auto;width:100%;max-width:1240px;margin:0;padding:28px 28px 40px}
.os-page.nn-narrow{max-width:720px}
.os .nn-head h1{font-size:30px;line-height:36px}
.os .nn-btn{border-radius:10px}
.os .nn-btn-primair{background:#2081E2;color:#FFFFFF}
.os .nn-btn-primair:hover{background:#1868B7}
.os .nn-btn-secundair{border-color:var(--rand)}
.os .nn-btn-secundair:hover{background:var(--vlak-2)}
.os .nn-tile-label,.os .nn-table th,.os .nn-board th{font-family:var(--font-mono);letter-spacing:.08em;font-weight:600}
.os .nn-table th{background:transparent;border-bottom:1px solid var(--lijn)}
.os .nn-table-wrap{background:var(--vlak)}
.os .nn-panel-head h2,.os .nn-section-head h2{font-size:18px;line-height:24px}
.os .nn-chips a{border-radius:10px;border-color:#2A2A2A;background:transparent;color:var(--inkt)}
.os .nn-chips a[aria-current]{background:#FFFFFF;border-color:#FFFFFF;color:#0A0A0A}
.os .nn-field input,.os .nn-field select,.os .nn-field textarea{background:var(--vlak-2);border-color:#2A2A2A;border-radius:10px}
.os .nn-status{border-radius:999px}
.os .nn-rails span[data-on]{background:#2081E2}
.os .nn-check input{accent-color:#2081E2}
.os-login{min-height:100vh;align-items:center;justify-content:center;background:radial-gradient(120% 90% at 80% 0%,#10345C 0%,#0D1B2E 35%,#0A0A0A 70%)}
.os-login main{width:100%;display:flex;justify-content:center;padding:48px 16px}
.os-login .nn-panel{background:rgba(18,18,18,.92)}
@media (max-width:720px){.os-page{padding:20px 16px 32px}}

/* New layout (Ali, 27 Oct 2026): one rail with the three bots and the settings, one header per bot with the same tabs,
   content centred and full width, a fixed side column, and text that wraps instead of being cut off. */
.os{--nx-arlo:#F5C400;--nx-kwik:#FF8A3D;--nx-tulp:#E87BB0}
.nx-rail{flex:0 0 212px;border-right:1px solid var(--os-lijn);padding:18px 12px;display:flex;flex-direction:column;gap:2px;background:#0D0D0D;
  position:sticky;top:0;height:100vh;overflow-y:auto;scrollbar-width:none}
.nx-brand{display:flex;align-items:center;gap:10px;padding:4px 8px 18px;font:800 19px/1 var(--font-sans);color:var(--os-inkt);text-decoration:none}
.os a.nx-brand{color:var(--os-inkt)}
.nx-rail-h{font:600 11px/1 var(--font-mono);letter-spacing:.08em;color:var(--os-muted);padding:14px 10px 8px;text-transform:uppercase;margin:0}
.nx-rail a.nx-r,.nx-rail button.nx-r{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 10px;border-radius:10px;color:var(--os-zacht);
  text-decoration:none;font:600 14px/1 var(--font-sans);background:none;border:0;cursor:pointer;width:100%;text-align:left}
.nx-rail a.nx-r:hover,.nx-rail button.nx-r:hover{background:var(--os-vlak-2);color:var(--os-inkt)}
.nx-rail a.nx-r[aria-current]{background:#222;color:var(--os-inkt)}
.nx-rail .nx-r svg{flex:none;color:var(--os-muted)}
.nx-rail .nx-dot{margin-left:auto}
.nx-rail>form{margin:auto 0 0}
.nx-set{display:flex;flex-direction:column;gap:2px}
.nx-more{display:none}
.nx-av{flex:none;width:26px;height:26px;border-radius:7px;display:grid;place-items:center;font:800 13px/1 var(--font-sans);color:#0A0A0A}
.nx-av-arlo{background:var(--nx-arlo)}.nx-av-kwik{background:var(--nx-kwik)}.nx-av-tulp{background:var(--nx-tulp)}.nx-av-alles{background:#222;color:var(--os-inkt)}
.nx-av-l{width:56px;height:56px;border-radius:14px;font-size:26px}
.nx-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex:none;background:#555}
.nx-dot-actief{background:var(--os-goed)}.nx-dot-stil{background:var(--os-let-op)}.nx-dot-fout{background:var(--os-fout)}.nx-dot-geen{background:#555}

.nx-wrap{width:100%;max-width:1360px;margin:0 auto;padding-left:32px;padding-right:32px}
.os-page{max-width:1360px;margin:0 auto;padding:26px 32px 40px}
.os-page.nn-narrow{max-width:760px}
.nx-head{border-bottom:1px solid var(--os-lijn);background:linear-gradient(180deg,#0F1A27 0%,var(--os-grond) 100%)}
.nx-head-top{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding-top:26px;padding-bottom:18px}
.nx-head h1{font:800 30px/1.1 var(--font-sans)}
.nx-head-sub{color:var(--os-zacht);margin:4px 0 0}
.nx-pill{margin-left:auto;display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.07);border-radius:999px;padding:7px 12px;font-size:13px;font-weight:600}
.nx-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:0;padding:4px 0 20px}
.nx-stat{display:flex;flex-direction:column;gap:3px;min-width:0}
.nx-stat dd{margin:0;font:700 22px/1.2 var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nx-stat dd.nx-stat-sub{font:400 13px/1.3 var(--font-sans);color:var(--os-muted);white-space:normal}
.nx-tabs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;margin-bottom:-1px}
.os .nx-tabs a{flex:none;display:flex;align-items:center;gap:6px;min-height:46px;padding:0 14px;color:var(--os-zacht);text-decoration:none;font:600 14px/1 var(--font-sans);border-bottom:2px solid transparent}
.os .nx-tabs a:hover{color:var(--os-inkt)}
.os .nx-tabs a[aria-current]{color:var(--os-inkt);border-bottom-color:var(--os-inkt)}
.nx-n{font:600 12px/1 var(--font-mono);color:var(--os-muted);background:var(--os-vlak-2);border-radius:999px;padding:3px 7px}

/* Columns: the side column has a fixed width, so nothing gets squeezed or runs underneath */
.nn-cols{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:22px;align-items:start}
.nn-col-main,.nn-col-side{min-width:0}
@media (max-width:1100px){.nn-cols{grid-template-columns:minmax(0,1fr)}}

/* Tables: text wraps; only numbers, times and labels stay on one line */
.nn-table td{white-space:normal;overflow-wrap:anywhere}
.nn-table td.nn-num,.nn-table td:first-child{white-space:nowrap;overflow-wrap:normal}
.nn-table td .nn-status{white-space:nowrap}
.nn-panel .nn-table-wrap{border-radius:10px}
.nn-kv{grid-template-columns:minmax(0,max-content) minmax(0,1fr)}

/* Cards in the new layout */
.nx-card{background:var(--os-vlak);border:1px solid var(--os-lijn);border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:12px;min-width:0}
.nx-card-h{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.nx-card-h h2{font:700 17px/1.3 var(--font-sans)}
.nx-flat{padding:0;overflow:hidden;gap:0}
.nx-flat>.nx-card-h{padding:16px 18px 10px}
.nx-flat>.os-empty,.nx-flat>.nx-pad{padding:4px 18px 18px;margin:0}
.nx-more-link{font-weight:700;font-size:14px;text-decoration:none}
details.nx-card>summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:10px;font:700 17px/1.3 var(--font-sans)}
details.nx-card>summary::-webkit-details-marker{display:none}
details.nx-card>summary::after{content:"tonen";font:400 13px/1 var(--font-sans);color:var(--os-muted)}
details.nx-card[open]>summary::after{content:"verbergen"}
.nx-meter{display:flex;flex-direction:column;gap:6px}
.nx-meter-top{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:14px;color:var(--os-zacht)}
.nx-meter-top b{font-family:var(--font-mono);color:var(--os-inkt)}
.nx-meter-top b small{color:var(--os-muted);font-weight:400}
.nx-meter svg{width:100%;height:6px;display:block}
.nx-track{fill:var(--os-lijn-2)}.nx-fill{fill:var(--os-blauw)}.nx-fill-let-op{fill:var(--os-let-op)}.nx-fill-fout{fill:var(--os-fout)}
.nx-meter-note{font-size:13px;color:var(--os-muted)}
.nx-lat{width:100%;height:8px;display:block}
.nx-lat .on{fill:var(--os-goed)}.nx-lat .off{fill:var(--os-lijn-2)}

/* Decisions feed */
.nx-feed{list-style:none;margin:0;padding:0}
.nx-feed>li{display:grid;grid-template-columns:64px 112px minmax(0,1fr);gap:4px 16px;padding:14px 18px;border-top:1px solid var(--os-lijn);align-items:start}
.nx-feed>li:first-child{border-top:0}
.nx-when{font:500 13px/22px var(--font-mono);color:var(--os-muted)}
.nx-what{display:flex;flex-direction:column;gap:6px;min-width:0}
.nx-what>div>b{font-weight:700}
.nx-src{color:var(--os-muted)}
.nx-rep{font:600 12px/1 var(--font-mono);color:var(--os-muted);background:var(--os-vlak-2);border-radius:999px;padding:3px 8px;margin-left:6px;white-space:nowrap}
.nx-coins{display:flex;flex-direction:column;gap:6px;margin:4px 0 0;padding:0;list-style:none;font-size:14px}
.nx-coins li{display:grid;grid-template-columns:80px minmax(0,1fr);gap:12px}
.nx-coins li>span:first-child{font:700 13px/20px var(--font-mono);overflow-wrap:anywhere}
.nx-coins li>span:last-child{color:var(--os-zacht)}
.nx-tag{font:700 11px/1 var(--font-mono);letter-spacing:.06em;padding:5px 7px;border-radius:5px;border:1px solid var(--os-lijn-2);color:var(--os-muted);white-space:nowrap;text-transform:uppercase;display:inline-block}
.nx-tag-handel{border-color:var(--os-goed);color:var(--os-goed)}.nx-tag-volgen{border-color:var(--os-paars);color:var(--os-paars)}.nx-tag-let-op{border-color:var(--os-let-op);color:var(--os-let-op)}
.nx-filters{display:flex;flex-wrap:wrap;gap:8px}
.os .nx-filters a{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 14px;border-radius:10px;border:1px solid var(--os-lijn-2);color:var(--os-inkt);text-decoration:none;font:600 13px/1 var(--font-sans)}
.os .nx-filters a[aria-current]{background:var(--os-inkt);color:var(--os-grond);border-color:var(--os-inkt)}
.nx-filters .nx-n{background:transparent;padding:0;opacity:.75;color:inherit}
.nx-bar-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px}

/* Overview of the three bots */
.nx-bots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.os a.nx-bot{background:var(--os-vlak);border:1px solid var(--os-lijn);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:16px;text-decoration:none;color:var(--os-inkt)}
.os a.nx-bot:hover{border-color:#3A3A3A;color:var(--os-inkt)}
.nx-bot-top{display:flex;align-items:center;gap:12px}
.nx-bot-top h2{font:800 20px/1.1 var(--font-sans)}
.nx-bot-top p{font-size:13px;color:var(--os-muted);margin:2px 0 0}
.nx-bot-top .nn-status{margin-left:auto}
.nx-bot-num{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0}
.nx-bot-num dd{margin:0;font:700 22px/1.2 var(--font-mono);font-variant-numeric:tabular-nums}
.nx-bot-num small{display:block;font-size:13px;color:var(--os-muted);font-family:var(--font-sans);font-weight:400}
.nx-bot-foot{display:flex;justify-content:space-between;gap:8px;font-size:13px;color:var(--os-muted);border-top:1px solid var(--os-lijn);padding-top:12px}
.nx-sys{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.nx-sys .nn-tile-value{font:700 15px/1.3 var(--font-sans)}
.nx-log{font:500 12px/20px var(--font-mono);color:var(--os-zacht);background:#0D0D0D;border:1px solid var(--os-lijn);border-radius:10px;padding:12px 14px;
  white-space:pre-wrap;overflow-wrap:anywhere;max-height:320px;overflow:auto;margin:0}

@media (max-width:1100px){.nx-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.nx-sys{grid-template-columns:repeat(3,minmax(0,1fr))}.nx-bots{grid-template-columns:1fr}}
@media (max-width:720px){
  .nx-rail{position:sticky;top:0;z-index:3;height:auto;flex:none;flex-direction:row;align-items:center;border-right:0;border-bottom:1px solid var(--os-lijn);
    padding:8px 12px;gap:6px;overflow-x:auto;background:var(--os-grond)}
  .nx-brand{padding:0 6px 0 0}.nx-brand span{display:none}
  .nx-rail-h,.nx-set,.nx-rail>form{display:none}
  .nx-rail a.nx-r{flex:none;width:auto;min-height:40px;padding:0 12px 0 8px;border:1px solid var(--os-lijn-2);border-radius:12px;color:var(--os-inkt)}
  .nx-rail a.nx-r[aria-current]{background:#222;border-color:#3A3A3A}
  .nx-rail .nx-dot{margin-left:0}
  .nx-more{display:block;margin-left:auto;flex:none;position:sticky;right:0;background:var(--os-grond);padding-left:6px}
  .nx-more summary{list-style:none;width:44px;height:44px;border-radius:10px;border:1px solid var(--os-lijn-2);display:grid;place-items:center;cursor:pointer;color:var(--os-inkt)}
  .nx-more summary::-webkit-details-marker{display:none}
  .nx-more[open]>div{position:fixed;right:12px;top:60px;background:var(--os-vlak);border:1px solid var(--os-lijn-2);border-radius:12px;padding:8px;
    display:flex;flex-direction:column;min-width:220px;z-index:4}
  .nx-more[open]>div a,.nx-more[open]>div button{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 10px;border-radius:8px;color:var(--os-inkt);
    text-decoration:none;font:600 14px/1 var(--font-sans);background:none;border:0;width:100%;cursor:pointer}
  .nx-more[open]>div form{margin:0}
  .nx-wrap{padding-left:16px;padding-right:16px}
  .os-page{padding:18px 16px 32px}
  .nx-head-top{padding-top:16px;gap:12px}
  .nx-head h1{font-size:24px}
  .nx-av-l{width:44px;height:44px;font-size:20px;border-radius:12px}
  .nx-pill{margin-left:0;font-size:12px}
  .nx-stats{grid-template-columns:1fr 1fr;gap:14px}
  .nx-stat dd{font-size:18px}
  .nx-sys{grid-template-columns:1fr 1fr}
  .nx-feed>li{grid-template-columns:52px minmax(0,1fr);padding:12px 14px}
  .nx-feed .nx-what{grid-column:1/-1}
  .nx-coins li{grid-template-columns:64px minmax(0,1fr)}
}

.nx-head-compact .nx-head-top{padding-bottom:14px}
.nx-head-compact h1{font-size:24px}.nx-head-compact .nx-av-l{width:44px;height:44px;font-size:20px;border-radius:12px}
.nn-head-sub h2{font:800 22px/1.2 var(--font-sans);margin:0}
.nx-side{display:flex;flex-direction:column;gap:16px;min-width:0}
.nx-main{display:flex;flex-direction:column;gap:20px;min-width:0}
.nx-main .os-block{margin:0}
.nx-bots+.nx-sys,.nx-sys{margin-top:4px}
.nx-card .nn-empty,.nn-panel .nn-empty{padding:14px 0;text-align:left}
.nx-flat>.nn-empty{padding:4px 18px 18px}
.nx-flat>.nn-table-wrap{border:0;border-radius:0;border-top:1px solid var(--os-lijn)}
pre.nx-log-table{white-space:pre;overflow:auto}
.nx-up{fill:var(--os-goed)}.nx-down{fill:var(--os-fout)}
.nx-explained{margin:0;display:flex;flex-direction:column}
.nx-ex{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;padding:10px 0;border-top:1px solid var(--os-lijn)}
.nx-ex:first-child{border-top:0;padding-top:0}
.nx-ex dt{color:var(--os-zacht);font-size:14px}
.nx-ex dd{display:contents}
.nx-ex dd b{font:600 14px/1.4 var(--font-mono);text-align:right;white-space:nowrap}
.nx-ex dd small{grid-column:1/-1;font-size:13px;line-height:1.4;color:var(--os-muted)}
