@import"https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap";:root{--bg: #f8f9fb;--sidebar-bg: #ffffff;--sidebar-border: #ebeef2;--text: #1f2937;--muted: #6b7280;--primary: #ef4444;--accent: #2563eb;--card-bg: #ffffff;--card-border: #e5e7eb}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:Roboto,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;color:var(--text);background:var(--bg)}.app-shell{display:grid;grid-template-columns:280px 1fr;min-height:100%}.sidebar{background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);padding:20px;display:flex;flex-direction:column;height:100vh;overflow-y:auto}.sidebar-wrap{display:flex;flex-direction:column;height:100%;flex:1}.main{display:grid;grid-template-rows:auto auto 1fr;gap:20px;padding:20px}.brand{display:flex;align-items:center;gap:10px;margin-bottom:20px}.brand-logo{width:32px;height:32px;border-radius:6px;background:#0ea5e9;color:#fff;display:grid;place-items:center;font-weight:600}.brand-name{font-size:1.5rem;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;display:inline-block;animation:marquee 15s linear infinite}.brand-name.paused{animation-play-state:paused}@keyframes marquee{0%{transform:translate(100%)}to{transform:translate(-100%)}}.menu{display:flex;flex-direction:column;gap:8px}.menu-item{display:block;padding:10px 20px;margin:0;border:none;border-radius:0;color:var(--text);cursor:pointer;transition:all .2s;background:transparent;font-size:16px;font-weight:600;font-family:Roboto,sans-serif}.menu-item:hover,.menu-item.active{color:#9b1c1c;font-weight:700}.menu-group{margin-top:8px;background:#fecaca;border-radius:8px;padding:8px 0}.menu-group .menu-item{margin:0}.menu-sub{display:block;margin-left:8px;padding:8px 12px;border-radius:8px;color:var(--muted);text-decoration:none;transition:all .2s;font-family:Roboto,sans-serif}.menu-sub:hover{background:#e5e7eb;color:#9b1c1c}.menu-sub.active{background:#d1d5db;color:#9b1c1c;font-weight:600}.sidebar-footer{margin-top:auto;display:grid;gap:12px}.user{display:flex;align-items:center;gap:10px}.avatar{width:36px;height:36px;border-radius:50%;background:#f59e0b;color:#fff;display:grid;place-items:center;font-weight:600}.avatar.small{width:28px;height:28px}.meta .name{font-weight:600}.meta .role{color:var(--muted);font-size:12px}.logout{background:transparent;border:1px solid var(--card-border);border-radius:8px;padding:8px 10px;cursor:pointer}.topbar{display:flex;justify-content:space-between;align-items:center}.search input{width:320px;padding:10px 12px;border:1px solid var(--card-border);border-radius:12px}.actions{display:flex;align-items:center;gap:12px}.bell{font-size:18px}.hero{border-radius:16px;background:linear-gradient(#00000026,#0000000d),url(/Antwerprefinary.jpg) center/cover no-repeat;min-height:500px;display:grid;align-items:end}.hero-content{background:#ffffffe6;padding:24px;border-radius:12px;margin:16px}.hero h1{margin:0 0 8px;font-size:32px}.hero p{margin:0 0 16px;color:var(--muted)}.primary{background:var(--primary);color:#fff;border:none;border-radius:8px;padding:10px 14px;cursor:pointer}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;padding:16px}.card-title{font-weight:600;margin-bottom:12px;color:var(--primary);font-size:1.25rem}.legend{display:grid;gap:8px}.legend-item{display:grid;grid-template-columns:12px auto 1fr;align-items:center;gap:8px}.dot{width:10px;height:10px;border-radius:50%;display:inline-block}.value{justify-self:end;font-weight:600}.progress{display:grid;gap:8px}.bar{height:8px;background:var(--accent);border-radius:999px}.progress-meta{display:flex;justify-content:space-between;color:var(--muted)}.sub{color:var(--muted);font-size:12px}.count{display:flex;justify-content:space-between;align-items:center}.num{font-size:32px;font-weight:700}.link{color:var(--accent);text-decoration:none}.ta-name-link{text-decoration:none}.ta-name-link:hover{text-decoration:underline}.login-logo{width:160px;display:block;margin:0 auto 12px}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:10px;border-bottom:1px solid var(--card-border);text-align:left}.table thead th{background:#f6f7fb;font-weight:600}input[type=number].no-number-spinner::-webkit-outer-spin-button,input[type=number].no-number-spinner::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number].no-number-spinner{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.skip-link{position:absolute;top:-999px;left:8px;z-index:9999;padding:8px 16px;background:#1f2937;color:#fff;border-radius:0 0 8px 8px;font-size:14px;font-weight:600;text-decoration:none}.skip-link:focus{top:0}*:focus-visible{outline:3px solid #2563eb;outline-offset:2px}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #2563eb;outline-offset:2px;border-radius:4px}.sidebar-footer .meta .site{color:#757575!important}.avatar{background:#b45309}
