body{font:16px/1.5 system-ui,sans-serif;margin:0;color:#0f172a;background:#f8fafc}header{display:flex;justify-content:space-between;padding:.8rem 5%;background:#0f172a;color:white}header a{color:white}nav[aria-label="Hoofdnavigatie"]{display:flex;flex-wrap:wrap;gap:.5rem 1rem;padding:.5rem 5%}main{max-width:920px;margin:2rem auto;padding:0 1rem}form,article,fieldset{background:white;border:1px solid #e2e8f0;border-radius:6px;padding:1rem;margin:1rem 0}label{display:block;margin:.7rem 0}input,textarea,select{display:block;box-sizing:border-box;width:100%;padding:.5rem;margin-top:.2rem}input[type=checkbox]{display:inline;width:auto}button{padding:.55rem .8rem;cursor:pointer}.danger,.error{color:#a00}.inline{display:inline;border:0;padding:0;margin:0}table{border-collapse:collapse}td,th{padding:.4rem .8rem;border:1px solid #e2e8f0;text-align:left}
.primary-action{display:inline-block;padding:.55rem .8rem;background:#4f46e5;color:#fff;border-radius:6px}.table-scroll{max-width:100%;overflow-x:auto}.table-scroll:focus-visible{outline:3px solid #4f46e5;outline-offset:3px}.wizard-steps{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;padding-left:1.5rem}.wizard-steps [aria-current=step]{font-weight:700;text-decoration:underline}.wizard-actions{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem;margin-top:1rem}.wizard-error{border:2px solid #a00;border-radius:6px;padding:1rem}h1,h2,h3,h4,code,.digest,dd,li,pre{overflow-wrap:anywhere;word-break:break-word}.digest,dd,li,pre{white-space:pre-wrap}.manifest{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.85rem}button:disabled{cursor:not-allowed;opacity:.6}:focus-visible{outline:3px solid #4f46e5;outline-offset:3px}dd{margin-left:1rem}
@media(max-width:600px){h1{font-size:1.5rem}main{margin:1rem auto}.wizard-steps{display:block}.wizard-actions button{width:100%}form{padding:.75rem}}
.repair-list{list-style:none;padding:0}.repair-list article{margin:.75rem 0}.blocked{border:2px solid #7a3b00;border-radius:6px;padding:.75rem;background:#fff4df}.proposal-diff{box-sizing:border-box;max-width:100%;max-height:32rem;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;padding:.75rem;border:1px solid #e2e8f0;border-radius:4px;background:#f8fafc}.repair-list a,.repair-plan-action{min-height:44px;display:inline-flex;align-items:center}.repair-plan-actions{display:flex;flex-wrap:wrap;gap:.75rem}.digest{overflow-wrap:anywhere}
@media(max-width:600px){.repair-plan-actions>*{width:100%}.proposal-diff{max-height:20rem}}

/* ===== Publieke site (nimtrader-huisstijl) ===== */
.public-site{background:#f8fafc;color:#0f172a}
.public-site a{color:#4f46e5}
.public-site a:hover{color:#4338ca}
.public-site header.public-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1.5rem;padding:.9rem 5%;background:#ffffff;border-bottom:1px solid #e2e8f0}
.public-site .brand{color:#0f172a;font-weight:800;font-size:1.35rem;letter-spacing:-.02em;text-decoration:none;line-height:1.15}
.public-site .brand small{display:block;font-size:.72rem;font-weight:400;color:#64748b;letter-spacing:0}
.public-site nav{display:flex;flex-wrap:wrap;gap:.15rem;align-items:center}
.public-site nav a{min-height:44px;display:inline-flex;align-items:center;color:#334155;text-decoration:none;font-weight:500;font-size:.95rem;padding:.5rem .75rem;border-radius:.5rem;transition:color .15s,background .15s}
.public-site nav a:hover{color:#4f46e5;background:#eef2ff}
.public-site .nav-action{background:#4f46e5;color:#fff!important;border-radius:999px;padding:.5rem 1.1rem;font-weight:600}
.public-site .nav-action:hover{background:#4338ca}
.public-site .primary-action{display:inline-flex;align-items:center;min-height:44px;background:#4f46e5;color:#fff;text-decoration:none;font-weight:600;padding:.55rem 1rem;border-radius:.5rem}
.public-site .primary-action:hover{background:#4338ca;color:#fff}
.public-site .public-main{max-width:1120px;margin:0 auto;padding:1.5rem 1.25rem}
.public-site .hero{background:#0f172a;background:linear-gradient(135deg,#0f172a 0%,#1e1b4b 30%,#4f46e5 60%,#0ea5e9 100%);color:#fff;margin:0 0 clamp(1.5rem,4vw,3rem);padding:clamp(2rem,7vw,5rem) clamp(1.25rem,4vw,3rem);border-radius:14px}
.public-site .hero h1{max-width:18ch;font-size:clamp(2rem,5vw,3.5rem);line-height:1.1;letter-spacing:-.02em;margin:.4rem 0}
.public-site .hero>p:not(.eyebrow){max-width:68ch;color:#cbd5e1}
.public-site .eyebrow{color:#4f46e5;font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.8rem}
.public-site .hero .eyebrow{color:#c7d2fe;display:inline-block}
.public-site .hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.5rem 0}
.public-site .hero .primary-action{background:#fff;color:#4f46e5}
.public-site .hero .primary-action:hover{background:#eef2ff;color:#4338ca}
.public-site .secondary-action{display:inline-flex;align-items:center;min-height:44px;padding:.55rem 1rem;border:1px solid #c7d2fe;border-radius:.5rem;font-weight:500;text-decoration:none}
.public-site .hero .secondary-action{color:#fff;border-color:rgba(199,210,254,.6)}
.public-site .hero .secondary-action:hover{background:rgba(255,255,255,.12);color:#fff}
.public-site .secondary-action:hover{color:#4338ca;background:#eef2ff}
.public-site .availability-note,.public-site section>p:not(.eyebrow){color:#64748b}
.public-site .hero .availability-note{color:#cbd5e1}
.public-site section{padding:2rem 0;scroll-margin-top:1rem}
.public-site .card-grid,.public-site .trust-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:1rem}
.public-site article,.public-site .preview-card,.public-site details{margin:0;background:#ffffff;color:#0f172a;border:1px solid #e2e8f0;border-radius:12px;padding:1.25rem;box-shadow:0 1px 3px rgba(15,23,42,.05)}
.public-site article p,.public-site .preview-card span{color:#475569}
.public-site .status-label{display:block;margin-top:.75rem;color:#4f46e5;font-weight:700}
.public-site .workflow{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:1rem;padding:0;list-style:none;counter-reset:steps}
.public-site .workflow li{display:grid;gap:.5rem;align-content:start;min-height:8rem;padding:1.25rem;border-top:2px solid #4f46e5;background:#ffffff;color:#0f172a;border:1px solid #e2e8f0;border-radius:0 0 12px 12px;counter-increment:steps}
.public-site .workflow li::before{content:'0' counter(steps);color:#4f46e5;font-size:1.2rem;font-weight:700}
.public-site .workflow span{color:#64748b}
.public-site .preview-card{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:1rem}
.public-site .preview-card div{display:grid;gap:.35rem}
.public-site details summary{cursor:pointer;font-weight:700}
.public-site details h3{margin-bottom:.2rem}
.public-site .public-footer{padding:1.5rem 5%;background:#0f172a;color:#94a3b8;border-top:1px solid #1e293b}
/* Prijzen */
.public-site .price-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:1.25rem}
.public-site .price-card{display:flex;flex-direction:column;gap:.6rem;background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:1.75rem;box-shadow:0 4px 16px rgba(15,23,42,.06)}
.public-site .price-card.featured{border-color:#4f46e5;box-shadow:0 8px 24px rgba(79,70,229,.18);position:relative}
.public-site .price-card .badge{align-self:flex-start;background:#eef2ff;color:#4f46e5;font-size:.75rem;font-weight:700;padding:.2rem .7rem;border-radius:999px;text-transform:uppercase;letter-spacing:.05em}
.public-site .price{font-size:2.2rem;font-weight:800;color:#0f172a;letter-spacing:-.02em}
.public-site .price-sub{color:#64748b;font-size:.9rem}
.public-site .price-card ul{list-style:none;padding:0;margin:.5rem 0 1rem;display:grid;gap:.45rem}
.public-site .price-card ul li{color:#334155;padding-left:1.4rem;position:relative}
.public-site .price-card ul li::before{content:'✓';position:absolute;left:0;color:#4f46e5;font-weight:700}
.public-site .price-card .primary-action{margin-top:auto;justify-content:center}
.public-site .price-card .secondary-action{margin-top:auto;justify-content:center;border-color:#c7d2fe;color:#4f46e5}
/* Marketing-header voor base.html (login/register/publieke app-pagina's) */
.nx-topnav{background:#fff;border-bottom:1px solid #e2e8f0}
.nx-topnav .nx-inner{max-width:1140px;margin:0 auto;padding:.9rem 1.25rem;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.5rem}
.nx-topnav .nx-brand{color:#0f172a;font-weight:800;font-size:1.35rem;letter-spacing:-.02em;text-decoration:none;line-height:1.15}
.nx-topnav .nx-brand small{display:block;font-size:.72rem;font-weight:400;color:#64748b}
.nx-topnav nav{display:flex;flex-wrap:wrap;gap:.15rem;margin-left:auto;align-items:center}
.nx-topnav nav a{color:#334155;text-decoration:none;font-weight:500;font-size:.95rem;padding:.5rem .75rem;border-radius:.5rem}
.nx-topnav nav a:hover{color:#4f46e5;background:#eef2ff}
.nx-topnav nav a.nx-pill{background:#4f46e5;color:#fff;border-radius:999px;padding:.5rem 1.1rem;font-weight:600}
.nx-topnav nav a.nx-pill:hover{background:#4338ca;color:#fff}
@media(max-width:600px){.public-site .public-main{padding:.75rem 1rem}.public-site .hero-actions>*{width:100%;justify-content:center}.public-site .workflow li{min-height:0}.nx-topnav .nx-inner{justify-content:center}}
@media(prefers-reduced-motion:reduce){.public-site *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.public-site .type-selector{display:flex;flex-wrap:wrap;gap:.75rem;padding:.5rem 0 1rem}
.public-site .type-selector a{display:inline-flex;align-items:center;min-height:44px;padding:.5rem .85rem;border:1px solid #c7d2fe;border-radius:999px;color:#4f46e5;text-decoration:none;font-weight:500}
.public-site .type-selector a:hover{background:#eef2ff}
