*,:after,:before{box-sizing:border-box}.home{padding:60px 48px;max-width:1200px;margin:auto}.cardGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.toolCard{position:relative;height:260px;border-radius:18px;overflow:hidden;display:block;text-decoration:none;box-shadow:0 10px 25px rgba(0,0,0,.15);transition:.25s ease}.toolCard img{object-fit:cover;transition:transform .35s ease}.toolCard span{position:static;display:block;padding-top:12px;text-align:center;color:#000;font-weight:700;font-size:20px}.toolCard:hover{transform:scale(1.05);box-shadow:0 18px 40px rgba(0,0,0,.2)}.toolCard:after{content:"";position:absolute;inset:0;opacity:.085}.blue:after{background:linear-gradient(#1d4ed8,#1e3a8a)}.orange:after{background:linear-gradient(#f97316,#c2410c)}.green:after{background:linear-gradient(#22c55e,#166534)}.inloggen{height:36px;background:#143677;color:#fff;padding:0 18px;border-radius:10px;font-weight:700;text-decoration:none;display:flex;align-items:center;justify-content:center}.menuTitle{text-align:center;font-size:40px;font-weight:700;margin-bottom:50px}.cardImg{width:100%;height:220px;object-fit:cover;display:block}body,html{padding:0;margin:0;min-height:100%;background:#fff;color:#222;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,Apple Color Emoji,Segoe UI Emoji,sans-serif;line-height:1.45}img{max-width:100%;height:auto;border:0}:root{--brand:#00477a;--brand-dark:#00345a;--link:#0066cc;--link-hover:#004499;--muted:#6b7280;--border:#d0d5dd;--table-border:#ccc;--table-head:#dcdcdc;--table-row:#f7f7f7;--row-hover:#eef6ff;--radius-lg:24px}.dashRoot{min-height:100vh;width:100%;display:grid;grid-template-columns:280px 1fr;background:#f3f6fb}.dashSidebar{background:linear-gradient(180deg,#0b1220,#111827);color:#fff;padding:18px 14px}.dashBrand{display:flex;align-items:center;gap:12px;padding:10px 10px 16px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:14px}.dashBrandIcon{width:34px;height:34px;border-radius:10px;background:linear-gradient(180deg,#3b82f6,#1d4ed8);box-shadow:0 8px 16px rgba(0,0,0,.25);align-items:center}.dashBrandText{font-weight:800;letter-spacing:.2px}.dashNav{display:flex;flex-direction:column;gap:8px}.dashItem{width:100%;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;border-radius:12px;background:transparent;border:0;color:rgba(255,255,255,.92);text-decoration:none;cursor:pointer;font-weight:700}.dashItem:hover{background:rgba(59,130,246,.12)}.dashItem.active{background:#2563eb;box-shadow:0 10px 22px rgba(37,99,235,.35)}.chev{opacity:.9;transform:rotate(0deg);transition:transform .2s ease}.chev.open{transform:rotate(180deg)}.dashSub{margin:6px 0 4px 10px;padding-left:10px;border-left:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column;gap:6px}.dashSubItem{padding:10px 12px;border-radius:12px;text-decoration:none;color:rgba(255,255,255,.85);font-weight:700}.dashSubItem:hover{background:rgba(59,130,246,.12)}.dashSubItem.active{background:rgba(37,99,235,.22)}.dashMain{display:flex;flex-direction:column;min-width:0}.dashTopbar{height:64px;background:#050914;border-bottom:1px solid rgba(15,23,42,.08);display:flex;align-items:center;justify-content:space-between;padding:0 20px}.dashTopbarTitle{font-weight:800;color:#fff}.dashTopbarRight{gap:10px;margin-left:auto}.dashIconBtn,.dashTopbarRight{display:flex;align-items:center}.dashIconBtn{width:38px;height:38px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:#fff;cursor:pointer}.dashAvatar{width:38px;height:38px;border-radius:999px;background:linear-gradient(180deg,#e5e7eb,#cbd5e1)}.dashContent{padding:28px;flex:1;align-items:center;justify-content:center}.dashWelcome{margin:0;font-size:40px;font-weight:900;color:#0f172a}.catPage{width:100%}.catBreadcrumb{color:rgba(15,23,42,.6);font-weight:700;font-size:14px;margin-bottom:10px}.catHeaderRow{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.catTitle{margin:0;font-size:44px;font-weight:900;color:#0f172a}.catPrimaryBtn{height:44px;padding:0 18px;border-radius:12px;border:0;cursor:pointer;font-weight:800;color:#fff;background:#2563eb;box-shadow:0 12px 24px rgba(37,99,235,.025)}.catPrimaryBtn:hover{filter:brightness(1.05)}.catCard{background:#fff;border-radius:18px;box-shadow:0 12px 30px rgba(15,23,42,.8);overflow:hidden;border:1px solid rgba(15,23,42,.6)}.catToolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px;border-bottom:1px solid rgba(15,23,42,.6)}.catSearch{position:relative;flex:1;max-width:720px}.catSearchIcon{position:absolute;left:12px;top:50%;transform:translateY(-50%);opacity:.55}.catSearchInput{width:100%;height:44px;border-radius:12px;border:1px solid rgba(15,23,42,.12);padding:0 12px 0 40px;font-weight:700;outline:none}.catSearchInput:focus{border-color:rgba(37,99,235,.55);box-shadow:0 0 0 4px rgba(37,99,235,.12)}.catMeta{font-weight:800;color:rgba(15,23,42,.65);white-space:nowrap}.catError{padding:14px 16px;background:rgba(220,38,38,.08);color:#991b1b;font-weight:800;border-bottom:1px solid rgba(220,38,38,.18)}.catTableWrap{overflow:auto}.catTable{width:100%;border-collapse:collapse}.catTable thead th{text-align:left;padding:14px 16px;background:#f3f6fb;color:rgba(15,23,42,.8);font-weight:900;border-bottom:1px solid rgba(15,23,42,.06)}.thClickable{cursor:pointer;user-select:none}.catTable tbody td{padding:14px 16px;border-bottom:1px solid rgba(15,23,42,.06);font-weight:700;color:#0f172a}.tdName{font-weight:900}.tdActions,.thActions{text-align:right;white-space:nowrap}.iconBtn{width:40px;height:40px;border-radius:12px;border:1px solid rgba(15,23,42,.12);background:#fff;cursor:pointer;margin-left:10px}.iconBtn:hover{background:rgba(15,23,42,.04)}.iconBtn.danger{border-color:rgba(220,38,38,.25)}.catEmpty{padding:26px 16px;text-align:center;color:rgba(15,23,42,.6);font-weight:800}.downloads-page,.header-inner,.page-content{display:block;margin:20px auto 0;max-width:900px;padding:0 20px}.container{width:100%;margin:0 auto}.hidden{display:none!important}.construction{font-family:inherit;font-weight:700;font-size:clamp(22px,3vw,32px);text-align:center;display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 120px)}.header{background:#fff;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100}.header-inner{display:flex;align-items:center;justify-content:space-between;max-width:900px;margin:0 auto;padding:8px 20px}.nav{display:flex;gap:20px}.nav-link{color:#222;text-decoration:none;font-weight:500}.nav-link:hover{text-decoration:underline}h1,h2,h3{margin:0 0 .6rem;line-height:1.2}h1{font-size:clamp(24px,3vw,36px);font-weight:800}h2{font-size:22px;font-weight:700}h3{font-size:18px;font-weight:600}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline;color:var(--link-hover)}p{margin:.4rem 0}.muted{color:var(--muted)}.lijstmaker-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.lijstmaker-title{font-size:20px;font-weight:700;margin:0}.lijstmaker-actions button{padding:8px 16px;min-width:150px;color:white;border:1px solid #ccc;border-radius:10px;background:#00477a;cursor:pointer}.lijstmaker-actions button:hover{background:#00477a}input{width:100%;padding:12px;border:1px solid #e0e0e0;border-radius:24px;background-color:#f5f5f5;margin-bottom:.5rem;font-size:16px;outline:none;text-align:center}.input-row{display:flex;gap:10px;justify-content:center;align-items:center;width:100%}.aantal-input,.artikel-input{width:11ch;min-width:100px;max-width:160px;height:44px;display:flex;align-items:center;border-radius:24px;box-sizing:border-box}.omschrijving-input{flex-grow:1;height:44px;background-color:#f5f5f5;border:1px solid #e0e0e0;border-radius:24px;box-sizing:border-box;min-width:120px;white-space:nowrap;overflow:hidden;padding-left:12px;text-align:left}.omschrijving-veld span{display:block;width:100px;text-align:left}select,textarea{font:inherit;color:inherit;border:1px solid;background:#fff;border-radius:8px;padding:12px;width:100%;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(0,71,122,.12)}.field{margin-bottom:12px}.field label{display:block;font-weight:600;margin-bottom:6px}.error{color:#b00020;background:#fde7ec;border:1px solid #f8c7d1;border-radius:8px;padding:8px 10px}.login-container{max-width:420px;margin:24px auto 0;background:#fff;border:1px solid var(--border);border-radius:12px;padding:20px}.login-title{font-family:inherit;text-align:center;margin-bottom:12px}.login-form{display:flex;flex-direction:column;gap:10px}.login-bottom{font-size:.9rem;color:#444}.actions .primary,.login-form button{background:var(--brand);color:#fff;border:none;border-radius:var(--radius-lg);padding:10px 16px;font-weight:700;cursor:pointer;width:auto;display:inline-block}.logout-container{max-width:980px;margin:16px auto 0;text-align:center}.logout-button{width:auto!important;display:inline-block;padding:10px 16px;background:var(--brand);color:#fff}.button-print-addrow,.logout-button{border:none;border-radius:24px;font-weight:700}.button-print-addrow{width:25%;padding:12px;justify-content:center;align-items:center;color:white;background-color:#143677;font-size:16px;cursor:pointer;margin-top:10px}.button-print-addrow container{background-color:white;align-items:center;gap:10px;margin:10px;padding:2rem;border-radius:12px;box-shadow:0 4px 10px rgba(0,0,0,.1);width:100%;max-width:800px;text-align:center}.actions .primary:hover,.login-form button:hover,.logout-button:hover,.newUpload-button:hover{background:var(--brand-dark)}button.secondary{background:#f4f4f4;color:#222;border:1px solid #ccc;border-radius:8px;padding:8px 12px}button.secondary:hover{background:#eaeaea}.linklike{background:none;border:none;padding:0;margin:0;font:inherit;cursor:pointer;color:var(--link);text-decoration:none}.linklike:hover{text-decoration:underline;color:var(--link-hover)}.downloads-table{max-width:980px;margin:1rem auto;border-collapse:collapse;table-layout:auto;width:100%;font-size:.95rem}.downloads-table td,.downloads-table th{border:1px solid var(--table-border);padding:8px 12px;vertical-align:middle}.downloads-table th{background:var(--table-head);color:#222;font-weight:600;text-align:center}.downloads-table tr:nth-child(2n){background:var(--table-row)}.downloads-table tr:hover{background:var(--row-hover)}.downloads-table col.col-bestand{width:40%}.downloads-table col.col-soort{width:12%}.downloads-table col.col-omschrijving{width:40%}.downloads-table col.col-datum{width:20%}.downloads-table col.col-grootte{width:5%}.downloads-table col.col-actie{width:20%}.col-bestand,.col-omschrijving{word-break:break-word;overflow-wrap:anywhere}.col-actie,.col-datum,.col-grootte{white-space:nowrap;text-align:center}.col-actie .actie-links{display:inline-flex;align-items:center;gap:6px}.col-actie .divider{color:#999}.downloadsmanager-title{font-family:Arial,Helvetica,sans-serif;display:flex;align-items:center;justify-content:space-between;gap:12px}.newUpload-button{width:auto!important;display:inline-block;padding:8px 16px;background:var(--brand);color:#fff;border:none;border-radius:24px;font-weight:700}.pdfmodal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}.pdfmodal{background:#fff;width:min(1000px,95vw);height:min(85vh,900px);border-radius:10px;box-shadow:0 10px 40px rgba(0,0,0,.25);display:flex;flex-direction:column;overflow:hidden}.pdfmodal-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:10px 12px;background:#f4f4f4;border-bottom:1px solid #ddd}.pdfmodal-title{font-weight:600;color:#222;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdfmodal-actions{display:flex;gap:8px}.pdfmodal-actions button{background:#f4f4f4;border:1px solid #ccc;color:#222;padding:6px 12px;border-radius:6px;cursor:pointer;font-size:.9rem}.pdfmodal-actions button:hover{background:#e0e0e0}.pdfmodal-frame{width:100%;height:100%;border:0}.rounded{border-radius:12px}.shadow{box-shadow:0 8px 24px rgba(0,0,0,.12)}.center{text-align:center}.right{text-align:right}@media (max-width:960px){.downloads-table{width:100%;max-width:none}.downloads-table col.col-bestand{width:36%}.downloads-table col.col-soort{width:14%}.downloads-table col.col-omschrijving{width:24%}.downloads-table col.col-datum{width:14%}.downloads-table col.col-grootte{width:6%}.downloads-table col.col-actie{width:12%}}@media (max-width:640px){.header-inner{flex-wrap:wrap;gap:8px}.nav{gap:12px}.logout-button,.newUpload-button{width:100%}}