:root{font-family:'DM Sans',sans-serif;color:#20283b;background:#f5f6fa;font-size:16px;--blue:#304bda;--line:#e7eaf1;--muted:#687187}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer}button{transition:background .15s,transform .15s}button:hover{filter:brightness(.97)}button:active{transform:translateY(1px)}aside{position:fixed;inset:0 auto 0 0;width:248px;background:#fff;border-right:1px solid var(--line);padding:36px 22px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;font-family:Manrope,sans-serif;font-size:20px;font-weight:800;text-decoration:none;color:#20283b;gap:9px;letter-spacing:-.8px}.brand-dot{color:var(--blue);margin-left:-8px}.mark{display:grid;place-items:center;background:var(--blue);color:white;width:32px;height:35px;border-radius:10px;font-size:24px;letter-spacing:1px}.workspace{margin:46px 12px 24px;color:#8990a0;font-size:12px;font-weight:700;letter-spacing:1.5px}.workspace span{display:block;color:#333f55;letter-spacing:0;font-size:14px;margin-top:9px;font-weight:500}nav{display:grid;gap:7px}nav button{display:flex;align-items:center;gap:14px;border:0;border-radius:9px;padding:13px 15px;color:#657086;background:transparent;text-align:left;font-size:21px}nav span{font-size:14px;font-weight:550}nav button.active{background:#edf0ff;color:var(--blue)}.sidebar-bottom{margin-top:auto;padding:24px 10px 0}.demo-pill{font-size:11px;font-weight:750;background:#edf0ff;color:var(--blue);padding:6px 8px;border-radius:4px;letter-spacing:1px}.sidebar-bottom p{font-size:13px;line-height:1.7;color:var(--muted);margin:16px 0 24px}.profile{border-top:1px solid var(--line);padding-top:22px;display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600}.profile small{display:block;margin-top:3px;color:var(--muted);font-size:12px;font-weight:400}.avatar{display:inline-grid;place-items:center;flex-shrink:0;width:38px;height:38px;background:#edf0ff;color:#4259b1;font-size:13px;font-weight:650;border-radius:50%}.shell{margin-left:248px}header{height:80px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 42px;background:#fff;font-size:13px;color:var(--muted)}.storage{font-size:12px}main{max-width:1370px;margin:auto;padding:38px 42px 30px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}.eyebrow,.section-label{font-size:11px;letter-spacing:1.5px;font-weight:700;color:#7a8399;margin-bottom:9px}h1,h2,h3{font-family:Manrope,sans-serif;letter-spacing:-.7px}h1{font-size:30px;margin:0 0 8px;font-weight:800}h2{font-size:19px;margin:0;font-weight:750}h3{font-size:16px;margin:0 0 8px}p{line-height:1.6} .page-heading p{margin:0;color:var(--muted);font-size:14px}.primary,.secondary,.text-button{border:0;border-radius:8px;padding:12px 18px;font-size:14px;font-weight:600;white-space:nowrap}.primary{color:#fff;background:var(--blue)}.secondary{color:#38445e;background:white;border:1px solid #dce1ec}.text-button{background:transparent;color:var(--blue);padding:8px 0}.banner{display:flex;justify-content:space-between;align-items:center;gap:25px;background:#233fc4;color:white;border-radius:13px;padding:26px 30px;position:relative;overflow:hidden;margin-bottom:25px}.banner .section-label{color:#b6c4ff}.banner h2{font-size:23px}.banner p{font-size:14px;color:#dbe2ff;margin:8px 0 0}.banner .secondary{background:#ffffff1a;border-color:#ffffff38;color:white}.wave{display:flex;align-items:center;gap:5px;height:66px;margin-right:22px;opacity:.45}.wave i{background:#b9c6ff;width:5px;border-radius:6px;height:var(--h)}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:27px}.metric{background:#fff;border:1px solid var(--line);border-radius:10px;padding:20px}.metric-label{font-size:13px;color:var(--muted)}.metric strong{font-family:Manrope;display:block;font-size:29px;margin:10px 0 6px;letter-spacing:-1px}.metric small{font-size:12px;color:var(--muted)}.metric .icon{float:right;color:#6880c8}.columns{display:grid;grid-template-columns:1.7fr 1fr;gap:23px}.card{background:#fff;border:1px solid var(--line);border-radius:11px;overflow:hidden}.card-head{padding:23px 24px;display:flex;align-items:center;justify-content:space-between;gap:14px}.card-head p{font-size:13px;color:var(--muted);margin:6px 0 0}.card-content{padding:0 24px 24px}table{width:100%;border-collapse:collapse;text-align:left}th{font-size:11px;letter-spacing:.6px;color:#8590a4;font-weight:600;background:#fafbfe;padding:13px 23px}td{padding:16px 23px;border-top:1px solid #f0f2f7;font-size:13px}.person{display:flex;align-items:center;gap:11px}.person strong{font-size:14px;font-weight:550}.person small{display:block;font-size:12px;color:var(--muted);margin-top:4px}.pill{display:inline-block;border-radius:5px;padding:5px 8px;background:#edf6f2;color:#367260;font-size:11px;white-space:nowrap}.pill.gray{background:#f2f3f7;color:#778196}.mini-bars{display:flex;gap:3px}.mini-bars i{width:13px;height:6px;border-radius:2px;background:#e8ecf7}.mini-bars i.on{background:#667fdd}.note{font-size:12px;color:var(--muted);line-height:1.6}.activity{display:flex;gap:13px;padding:17px 0;border-top:1px solid var(--line)}.activity:first-child{border-top:0;padding-top:0}.activity-icon{width:36px;height:36px;background:#edf0ff;color:var(--blue);display:grid;place-items:center;border-radius:9px;flex-shrink:0}.activity strong{font-size:13px;font-weight:600}.activity p{font-size:12px;color:var(--muted);margin:4px 0}.tip{background:#f5f7ff;border:1px solid #e7ebff;border-radius:8px;padding:15px;font-size:13px;line-height:1.7;color:#5d6c92}.tip strong{display:block;color:#334877;margin-bottom:4px}footer{padding:15px 42px 25px;display:flex;justify-content:space-between;color:#939bb0;letter-spacing:1.5px;font-size:10px}footer span{letter-spacing:0;font-size:12px}.form-card{padding:27px;max-width:920px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.full{grid-column:1/-1}label{display:block;font-size:14px;color:#39465d;font-weight:550}input,select,textarea{width:100%;background:white;border:1px solid #dce1ec;color:#28344a;border-radius:7px;padding:12px;margin-top:8px;font-size:14px}textarea{min-height:88px;resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid #a6b4ff;border-color:var(--blue)}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}.divider{border:0;border-top:1px solid var(--line);margin:27px 0}.attendance-row{display:grid;grid-template-columns:minmax(120px,1fr) 170px 160px;align-items:center;gap:16px;border-bottom:1px solid var(--line);padding:12px 0}.attendance-row select{margin:0}.attendance-head{font-size:12px;color:var(--muted)}.section-intro{font-size:14px;color:var(--muted);margin:8px 0 20px}.participant-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.participant-card{padding:23px}.participant-card .person{margin-bottom:20px}.participant-card p{font-size:14px;color:var(--muted);min-height:45px}.progress-line{margin:23px 0}.progress-label{display:flex;justify-content:space-between;font-size:14px;margin-bottom:9px}.track{height:9px;background:#eef0f8;border-radius:5px;overflow:hidden}.track span{display:block;background:#617ada;height:100%;border-radius:5px}.empty{padding:25px;color:var(--muted);font-size:14px}dialog{border:0;box-shadow:0 20px 100px #132a4a30;border-radius:14px;padding:30px;width:min(480px,90vw)}dialog::backdrop{background:#1b254e55}dialog label{margin-top:19px}dialog p{font-size:14px;color:var(--muted)}#toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:#1f2f50;color:white;padding:14px 24px;border-radius:9px;font-size:14px;opacity:0;pointer-events:none;transition:opacity .2s;z-index:5}#toast.show{opacity:1}.table-wrap{overflow:auto}.mobile-only{display:none}@media(min-width:1500px){main{padding-top:45px}}@media(max-width:1150px){aside{width:220px;padding-left:15px;padding-right:15px}.shell{margin-left:220px}main{padding:30px 25px}.columns{grid-template-columns:1fr}.participant-grid{grid-template-columns:repeat(2,1fr)}.wave{display:none}.metrics{gap:10px}.metric{padding:16px}}@media(max-width:700px){aside{position:static;width:100%;padding:19px 18px 10px;border-right:0;border-bottom:1px solid var(--line)}.workspace,.sidebar-bottom{display:none}.brand{font-size:20px}nav{display:flex;overflow:auto;gap:4px;margin-top:18px}nav button{padding:10px;flex-shrink:0;gap:6px;font-size:17px}nav span{font-size:12px}.shell{margin:0}header{height:48px;padding:0 19px;font-size:11px}.storage{font-size:10px}main{padding:25px 18px}.page-heading{align-items:flex-start;flex-wrap:wrap;margin-bottom:20px}h1{font-size:26px}.banner{padding:22px;flex-wrap:wrap;gap:18px}.banner h2{font-size:20px}.metrics{grid-template-columns:1fr 1fr}.metric strong{font-size:25px}.metric small{font-size:11px}.form-grid{grid-template-columns:1fr}.form-card{padding:20px}.participant-grid{grid-template-columns:1fr}.attendance-row{grid-template-columns:1fr 112px;gap:8px}.attendance-row>*:last-child{grid-column:2}.attendance-head{display:none}.attendance-row .person{grid-row:span 2}.attendance-row select{font-size:12px;padding:10px}.card-head{padding:19px}th,td{padding:13px 17px}footer{padding:15px 18px}.page-heading .primary{padding:11px 14px}.actions{flex-wrap:wrap}}@media print{aside,header,footer,.primary,.secondary,.text-button,#toast{display:none!important}.shell{margin:0}main{padding:0}.card,.metric{break-inside:avoid}.columns{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(4,1fr)}body{background:white}}

/* E25 identity: supplied logo retained without alteration. */
.brand{flex-direction:column;align-items:flex-start;gap:0;letter-spacing:0}.brand .e25-logo{display:block;width:180px;height:auto;max-width:100%;object-fit:contain}.brand-caption{font-size:14px;font-weight:650;color:#687187;margin:0 12px}.workspace{margin-top:28px}@media(max-width:700px){.brand{flex-direction:row;align-items:center;gap:12px}.brand .e25-logo{width:90px}.brand-caption{margin:0;font-size:17px}}

/* E25.nl: black pill buttons, orange identity and soft green/yellow panels. */
:root{font-family:Arial,Helvetica,sans-serif;color:#000;background:#fff;--blue:#a64d1b;--line:#e7e7e3;--muted:#54595f}
h1,h2,h3,.metric strong,.brand{font-family:Arial,Helvetica,sans-serif;color:#000}
h1{font-size:36px;font-weight:750;letter-spacing:-1.1px;line-height:1.15}h2{font-weight:700;letter-spacing:-.6px}p{line-height:1.7}
aside{padding-top:20px;border-right:1px solid #e7e7e3}.brand-caption{color:#000}.workspace,.eyebrow,.section-label{color:#54595f}.workspace span{color:#000}
nav button{color:#54595f;border-radius:50px}nav button.active{background:#000;color:#fff}nav button:hover{background:#fcebdc;color:#000}nav button.active:hover{background:#242424;color:#fff}
header{background:#fff;color:#54595f}.shell{background:#fff}.primary{background:#000;color:#fff;border-radius:50px;padding:13px 23px}.primary:hover{background:#333}.secondary{border-radius:50px;color:#000;border-color:#b9bcb8;background:#fff}.text-button{color:#000;text-decoration:underline;text-underline-offset:4px}
.banner{background:#719b9378;border-radius:40px 0 40px 0;padding:30px;color:#000}.banner h2{font-size:26px;color:#000}.banner p,.banner .section-label{color:#273b37}.banner .secondary{background:#000;color:#fff;border-color:#000}.wave i{background:#365e55}.wave{opacity:.6}
.metrics{gap:18px}.metric{border-radius:20px;border:0;background:#f3a73154;padding:23px}.metric:nth-child(2){background:#f6f6f2}.metric:nth-child(3){background:#719b9333}.metric:nth-child(4){background:#f8e5d9}.metric .icon{color:#000}.metric-label,.metric small{color:#54595f}
.card{border-radius:25px 0 25px 0;border-color:#e2e4de}.card-head{padding-top:25px}.avatar{background:#f3a73154;color:#422a08}.pill{background:#dce9e4;color:#284a40}.pill.gray{background:#eee;color:#54595f}.mini-bars i{background:#e7e7e3}.mini-bars i.on{background:#ce692d}
th{background:#f6f6f2;color:#54595f}td{border-top-color:#ededeb}.activity-icon{background:#fce4d4;color:#a64d1b;border-radius:50%}.tip{background:#719b9329;border:0;border-radius:20px 0 20px 0;color:#344d46}.tip strong{color:#000}
.demo-pill{background:#f8e5d9;color:#984614;border-radius:50px}.profile{color:#000}.track{background:#eeeee9}.track span{background:#ce692d}.progress-label,label{color:#000}input,select,textarea{border-color:#c9cec9;color:#000;border-radius:10px}input:focus,select:focus,textarea:focus{outline-color:#f3a731;border-color:#a64d1b}
#toast{background:#000;border-radius:24px}dialog{border-radius:30px 0 30px 0}footer{color:#54595f}.form-card{background:#fff}.storage{color:#54595f}
@media(max-width:700px){h1{font-size:29px;letter-spacing:-.8px}.banner{border-radius:28px 0 28px 0;padding:23px}.banner h2{font-size:23px}.metric{padding:18px}nav button{border-radius:50px}.brand .e25-logo{width:90px}}
