:root{--auth-bg: var(--dpf-creme, #f6f7f9);--auth-card: #ffffff;--auth-border: var(--dpf-limestone, #e4e6eb);--auth-text: var(--dpf-ink, #14171f);--auth-muted: var(--dpf-brown, #667085);--auth-accent: var(--primary, #111827);--auth-btn-bg: var(--button-background, var(--auth-accent));--auth-btn-fg: var(--button-color, #ffffff);--auth-btn-hover: var(--button-hover-background, color-mix(in srgb, var(--auth-accent) 82%, #000));--auth-radius: var(--dpf-button-radius, 8px);--auth-card-radius: 12px;--auth-font: "Filson Soft", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--auth-danger: #b42318;--auth-ok: #067647}.dpf-auth{min-height:100%;background:var(--auth-bg);color:var(--auth-text);font-family:var(--auth-font);line-height:1.5}.dpf-auth a{color:var(--auth-accent)}.dpf-auth .container{max-width:720px;margin:0 auto;padding:32px 20px 64px}.dpf-auth .nav{display:flex;gap:16px;align-items:center;padding:14px 20px;background:var(--auth-card);border-bottom:1px solid var(--auth-border);font-size:14px}.dpf-auth .nav .brand{font-weight:700}.dpf-auth .nav .spacer{flex:1}.dpf-auth .card{background:var(--auth-card);border:1px solid var(--auth-border);border-radius:var(--auth-card-radius);padding:28px;margin-top:20px}.dpf-auth h1{font-size:26px;margin:0 0 4px}.dpf-auth h2{font-size:19px;margin:0 0 12px}.dpf-auth .muted{color:var(--auth-muted)}.dpf-auth .small{font-size:13px}.dpf-auth label{display:block;font-size:13px;font-weight:600;margin:14px 0 6px}.dpf-auth input,.dpf-auth select{width:100%;padding:10px 12px;border:1px solid var(--auth-border);border-radius:8px;font-size:15px;background:#fff;font-family:inherit}.dpf-auth button{margin-top:18px;padding:11px 20px;border:0;border-radius:var(--auth-radius);background:var(--auth-btn-bg);color:var(--auth-btn-fg);font-size:15px;font-weight:600;cursor:pointer;transition:var(--dpf-button-transition, .15s all)}.dpf-auth button:hover{background:var(--auth-btn-hover)}.dpf-auth button.secondary{background:var(--auth-border);color:var(--auth-text)}.dpf-auth button:disabled{opacity:.5;cursor:not-allowed}.dpf-auth .msg{margin-top:14px;padding:10px 12px;border-radius:8px;font-size:14px}.dpf-auth .msg.error{background:#fef3f2;color:var(--auth-danger)}.dpf-auth .msg.ok{background:#ecfdf3;color:var(--auth-ok)}.dpf-auth .msg.info{background:#eff8ff;color:#175cd3}.dpf-auth .msg:focus-visible{outline:2px solid var(--auth-accent);outline-offset:2px}.dpf-auth :where(a,.dpf-auth button,.dpf-auth input,.dpf-auth select):focus-visible{outline:2px solid var(--auth-accent);outline-offset:2px}.dpf-auth .input-with-action{position:relative;display:flex;align-items:center}.dpf-auth .input-with-action input{padding-right:92px}.dpf-auth .link-button{position:absolute;right:6px;margin:0;padding:6px 10px;background:transparent;color:var(--auth-accent);font-size:13px;font-weight:600;text-decoration:underline;border-radius:6px}.dpf-auth .link-button:hover{background:transparent}.dpf-auth .hint{margin:6px 0 0}.dpf-auth .badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:700;background:#eef2ff;color:#3538cd}.dpf-auth .badge.admin{background:#fef0c7;color:#b54708}.dpf-auth table{width:100%;border-collapse:collapse;margin-top:12px;font-size:14px}.dpf-auth th,.dpf-auth td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--auth-border)}.dpf-auth th{color:var(--auth-muted);font-weight:600}.dpf-auth .row{display:flex;gap:12px;flex-wrap:wrap}.dpf-auth .row>*{flex:1}.dpf-auth .linklist{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px}:root{--dpf-peach: #F78D65;--dpf-orange: #EB691D;--dpf-cobalt: #007CC2;--dpf-teal: #00A6AC;--dpf-sky: #83CEE2;--dpf-orange-on: #ffffff;--dpf-cobalt-on: #ffffff;--dpf-teal-on: #ffffff;--dpf-peach-on: #232323;--dpf-sky-on: #232323;--pms-dark-blue: #00237A;--pms-yellow: #FFCB7C;--pms-magenta: #E66BAB;--pms-green: #1B864B;--pms-purple: #563876;--pms-coral-rose: #F2C9C5;--pms-mauve: #B57F84;--pms-warm-gray: #C0B9B9;--pms-dark-blue-on: #ffffff;--pms-magenta-on: #ffffff;--pms-green-on: #ffffff;--pms-purple-on: #ffffff;--pms-yellow-on: #232323;--paper-white: #ffffff;--creme: #F5F0EE;--creme-deep: #ECE5E1;--hairline: #E1D9D4;--pencil: #7A736F;--ink: #232323;--danger: #C42F1B;--success: var(--pms-green);--warning: #E0921C;--info: var(--dpf-cobalt);--background: var(--creme);--surface: var(--paper-white);--surface-inset: var(--creme-deep);--foreground: var(--ink);--muted-foreground: var(--pencil);--border: var(--hairline);--primary: var(--dpf-orange);--primary-foreground: var(--dpf-orange-on);--secondary: var(--dpf-cobalt);--secondary-foreground: var(--dpf-cobalt-on);--accent: var(--dpf-teal);--accent-foreground: var(--dpf-teal-on);--ring: var(--dpf-orange);--destructive: var(--danger)}@font-face{font-family:Filson Soft;src:url(../../assets/fonts/Filson-Soft-Thin.ttf) format("truetype");font-weight:100;font-style:normal;font-display:swap}@font-face{font-family:Filson Soft;src:url(../../assets/fonts/Filson-Soft-Light.ttf) format("truetype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Filson Soft;src:url(../../assets/fonts/Filson-Soft-Book.ttf) format("truetype");font-weight:350;font-style:normal;font-display:swap}@font-face{font-family:Filson Soft;src:url(../../assets/fonts/Filson-Soft-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Filson Soft;src:url(../../assets/fonts/Filson-Soft-Regular-Italic.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Filson Soft;src:url(../../assets/fonts/Filson-Soft-Medium.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Filson Soft;src:url(../../assets/fonts/Filson-Soft-Medium-Italic.ttf) format("truetype");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:Filson Soft;src:url(../../assets/fonts/Filson-Soft-Bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Filson Soft;src:url(../../assets/fonts/Filson-Soft-Bold-Italic.ttf) format("truetype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Filson Soft;src:url(../../assets/fonts/Filson-Soft-Heavy.ttf) format("truetype");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:Filson Soft;src:url(../../assets/fonts/Filson-Soft-Black.ttf) format("truetype");font-weight:900;font-style:normal;font-display:swap}:root{--font-sans: "Filson Soft", ui-sans-serif, system-ui, sans-serif;--font-display: "Filson Soft", ui-sans-serif, system-ui, sans-serif;--weight-thin: 100;--weight-light: 300;--weight-book: 350;--weight-regular: 400;--weight-medium: 500;--weight-bold: 700;--weight-heavy: 800;--weight-black: 900;--text-hero: 4.5rem;--text-hero-lh: 1.02;--text-hero-tr: -.03em;--text-display: 3rem;--text-display-lh: 1.06;--text-display-tr: -.025em;--text-title: 2rem;--text-title-lh: 1.12;--text-title-tr: -.02em;--text-heading: 1.5rem;--text-heading-lh: 1.2;--text-heading-tr: -.015em;--text-subhead: 1.25rem;--text-subhead-lh: 1.3;--text-lead: 1.125rem;--text-lead-lh: 1.55;--text-body: 1rem;--text-body-lh: 1.6;--text-small: .875rem;--text-small-lh: 1.5;--text-meta: .75rem;--text-meta-lh: 1.4}.t-hero{font-family:var(--font-display);font-size:var(--text-hero);line-height:var(--text-hero-lh);letter-spacing:var(--text-hero-tr);font-weight:var(--weight-black);color:var(--foreground)}.t-display{font-family:var(--font-display);font-size:var(--text-display);line-height:var(--text-display-lh);letter-spacing:var(--text-display-tr);font-weight:var(--weight-heavy);color:var(--foreground)}.t-title{font-family:var(--font-display);font-size:var(--text-title);line-height:var(--text-title-lh);letter-spacing:var(--text-title-tr);font-weight:var(--weight-bold);color:var(--foreground)}.t-heading{font-family:var(--font-display);font-size:var(--text-heading);line-height:var(--text-heading-lh);letter-spacing:var(--text-heading-tr);font-weight:var(--weight-bold);color:var(--foreground)}.t-subhead{font-family:var(--font-sans);font-size:var(--text-subhead);line-height:var(--text-subhead-lh);font-weight:var(--weight-medium);color:var(--foreground)}.t-lead{font-family:var(--font-sans);font-size:var(--text-lead);line-height:var(--text-lead-lh);font-weight:var(--weight-regular);color:var(--foreground)}.t-body{font-family:var(--font-sans);font-size:var(--text-body);line-height:var(--text-body-lh);font-weight:var(--weight-regular);color:var(--foreground)}.t-small{font-family:var(--font-sans);font-size:var(--text-small);line-height:var(--text-small-lh);font-weight:var(--weight-regular);color:var(--foreground)}.t-meta{font-family:var(--font-sans);font-size:var(--text-meta);line-height:var(--text-meta-lh);font-weight:var(--weight-medium);color:var(--muted-foreground);text-transform:none;letter-spacing:normal}html,body{font-family:var(--font-sans);background:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased}:root{--space-2xs: 4px;--space-xs: 8px;--space-sm: 12px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--space-3xl: 64px;--space-4xl: 96px;--radius-sm: .45rem;--radius-md: .6rem;--radius-lg: .75rem;--radius-xl: 1.05rem;--radius-full: 999px;--ring-rest: 0 0 0 1px rgba(35, 35, 35, .1);--ring-hover: 0 0 0 2px rgba(235, 105, 29, .55);--shadow-pop: 0 8px 24px -6px rgba(35, 35, 35, .18);--ease-out-quint: cubic-bezier(.22, 1, .36, 1);--motion-fast: .15s;--motion-med: .2s;--motion-slow: .3s}:where(a,button,input,select,textarea,summary,[tabindex]:not([tabindex="-1"])):focus-visible{outline:2px solid var(--ring);outline-offset:2px;border-radius:var(--radius-sm)}:where(tr,th,td):focus-visible{outline:2px solid var(--ring);outline-offset:-2px}.dpf-rail :where(button):focus-visible{outline-color:#fff;outline-offset:-2px}.dpf-rij{background:transparent;scroll-margin-block:44px;transition:background var(--motion-fast) var(--ease-out-quint)}.dpf-rij-zebra:nth-child(2n){background:#fbf8f7}.dpf-rij:hover{background:var(--surface-inset)}.dpf-rij[data-sleepdoel=true],.dpf-rij[data-sleepdoel=true]:hover{background:#fbe2d3;box-shadow:inset 0 0 0 2px var(--primary)}.dpf-dicht-op-scherm{display:none}.dpf-stilveld{border:1px solid transparent;background:transparent;transition:border-color var(--motion-fast) var(--ease-out-quint),background var(--motion-fast) var(--ease-out-quint)}.dpf-rij:hover .dpf-stilveld{border-color:var(--border);background:var(--surface)}.dpf-stilveld:focus,.dpf-stilveld:focus-within,.dpf-rij:hover .dpf-stilveld:focus,.dpf-rij:hover .dpf-stilveld:focus-within{border-color:var(--ring);background:var(--surface)}.dpf-lijstregel{background:transparent;transition:background var(--motion-fast) var(--ease-out-quint)}.dpf-lijstregel:hover{background:var(--surface-inset)}.dpf-kaart{background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--ring-rest)}.dpf-kaart-lift{transform:translateY(0);transition:transform var(--motion-med) var(--ease-out-quint),box-shadow var(--motion-med) var(--ease-out-quint)}.dpf-kaart-lift:hover{box-shadow:var(--ring-hover);transform:translateY(-2px)}.dpf-knop{transform:translateY(0);transition:transform var(--motion-fast) var(--ease-out-quint),filter var(--motion-fast) var(--ease-out-quint)}.dpf-knop:active:not(:disabled){transform:translateY(1px)}.dpf-chip{border:1px solid var(--border);transition:background var(--motion-fast) var(--ease-out-quint),border-color var(--motion-fast) var(--ease-out-quint)}.dpf-chip[aria-pressed=false]:hover{border-color:var(--ring)}.dpf-chip[aria-pressed=true]{border:none}.dpf-railknop{background:transparent;color:#ffffff9e;transition:background var(--motion-fast) var(--ease-out-quint),color var(--motion-fast) var(--ease-out-quint)}.dpf-railknop:hover:not(:disabled):not([aria-current=page]){background:#ffffff0f;color:#ffffffeb}.dpf-railknop[aria-current=page]{background:#ffffff1f;color:#fff;box-shadow:inset 3px 0 0 var(--primary)}.dpf-railknop:disabled{color:#ffffff42}.dpf-gevaarknop{color:var(--muted-foreground);transition:color var(--motion-fast) var(--ease-out-quint)}.dpf-pil:hover .dpf-gevaarknop,.dpf-gevaarknop:hover:not(:disabled){color:var(--danger)}.dpf-schermtitel{font-family:var(--font-display);font-size:1.125rem;line-height:1.2;font-weight:var(--weight-bold);letter-spacing:-.01em;color:var(--foreground);white-space:nowrap}.dpf-sectiekop{font-family:var(--font-sans);font-size:.9375rem;line-height:1.3;font-weight:var(--weight-bold);color:var(--foreground)}.dpf-schermvlak{padding:18px 32px}@media (max-width: 1200px){.dpf-schermvlak{padding:14px 18px}}@media (max-width: 1080px){.dpf-dashboard-raster,.dpf-boekingen-raster{grid-template-columns:minmax(0,1fr)!important}}.dpf-dashboard-raster{display:grid;grid-template-columns:minmax(0,2.5fr) minmax(220px,1fr) minmax(0,2.5fr);gap:16px;align-items:start}.dpf-tegelrij-actief{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:12px;min-width:0}.dpf-tegelkolom-alle{display:grid;gap:12px;align-content:start;min-width:0}@media (max-width: 1400px){.dpf-dashboard-raster{grid-template-columns:minmax(0,1fr) minmax(200px,.4fr)}.dpf-dashboard-spoor-tt{grid-column:1 / -1}}@media (max-height: 820px){.dpf-schermvlak{padding-top:12px;padding-bottom:12px}}@keyframes dpf-puls{0%,to{opacity:.55}50%{opacity:.9}}.dpf-skelet{background:var(--surface-inset);border-radius:var(--radius-sm);height:12px;animation:dpf-puls 1.4s var(--ease-out-quint) infinite}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}::placeholder{color:var(--muted-foreground);opacity:1}@media print{.dpf-rail,#dpf-kop-acties,.dpf-niet-printen{display:none!important}.dpf-dicht-op-scherm{display:block!important}html,body,.dpf-printvlak{height:auto!important;max-height:none!important;overflow:visible!important;background:#fff!important}.dpf-printvlak input:not([type=checkbox]),.dpf-printvlak select,.dpf-printvlak textarea{border:none!important;background:transparent!important;padding:0!important;-webkit-appearance:none;-moz-appearance:none;appearance:none}tr,.dpf-blok{break-inside:avoid}thead{display:table-header-group}@page{size:A4 landscape;margin:12mm}}.dpf-orderkaart{top:18px;right:18px;bottom:18px;left:18px;border-radius:var(--radius-xl)}.dpf-orderkaart-lijf{grid-template-columns:minmax(0,1fr) 296px;overflow:hidden}.dpf-orderkaart-info{border-left:1px solid var(--border)}@media (max-width: 900px){.dpf-orderkaart{top:0;right:0;bottom:0;left:0;border-radius:0}.dpf-orderkaart-lijf{grid-template-columns:minmax(0,1fr);overflow-y:auto}.dpf-orderkaart-info{border-left:none;border-top:1px solid var(--border)}}*,*:before,*:after{box-sizing:border-box}body{margin:0}
