:root{font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:#17304b;background:#f4f7fa}*{box-sizing:border-box}body{margin:0;min-height:100vh;display:flex;flex-direction:column}header{display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #e2e8f0;padding:18px max(24px,calc((100vw - 1100px)/2))}.brand{display:flex;gap:13px;align-items:center}.symbol{font-size:26px;font-weight:900;color:#0e7487}.brand strong,.brand small{display:block}.brand small{font-size:12px;color:#64748b;margin-top:3px}main{width:min(1100px,calc(100% - 40px));margin:70px auto;flex:1}h1{font-size:clamp(28px,4vw,38px);margin:6px 0 12px}h2{font-size:20px}p{color:#596b80;line-height:1.55}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:12px;font-weight:800;color:#0e8794}.card{background:#fff;border:1px solid #e4ebf1;border-radius:16px;padding:30px;box-shadow:0 8px 30px #12345608}.login{max-width:440px;margin:0 auto}.login form{display:grid;gap:18px;margin-top:25px}label{display:grid;gap:7px;font-size:14px;font-weight:650}input{width:100%;padding:13px 14px;border:1px solid #cad5e1;border-radius:9px;font:inherit}input:focus{outline:2px solid #5cc5d0;outline-offset:1px}button{border:0;background:#087f91;color:white;padding:13px 18px;border-radius:9px;font-weight:700;cursor:pointer}.outline{background:white;border:1px solid #cbd5e1;color:#17304b}.hint,.muted{font-size:13px;color:#7b8a9b}.alert{background:#fff1f1;color:#9d2424;border-radius:8px;padding:12px}.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}.tile-icon{font-size:27px;color:#0e8794}footer{text-align:center;color:#8291a0;font-size:12px;padding:25px}@media(max-width:700px){header{padding:15px 20px}main{margin:38px auto}.tiles{grid-template-columns:1fr}.card{padding:24px}}
/* Consistent previous-page navigation */
.header-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.back-link{display:inline-flex;align-items:center;gap:6px;padding:9px 12px;border:1px solid #cbd5e1;border-radius:9px;color:#17304b;background:#fff;text-decoration:none;font-weight:700;white-space:nowrap}.back-link:hover{background:#f4f7fa;text-decoration:none}@media(max-width:700px){header{gap:12px;flex-wrap:wrap}.header-actions{width:100%;justify-content:flex-start}}

/* Form controls: keep selects visually consistent with text inputs */
select{width:100%;min-height:48px;padding:13px 42px 13px 14px;border:1px solid #cad5e1;border-radius:9px;background-color:#fff;color:#17304b;font:inherit;line-height:1.35;appearance:none;-webkit-appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23596b80' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:16px 16px}select:focus{outline:2px solid #5cc5d0;outline-offset:1px;border-color:#0e8794}select:disabled{opacity:.6;cursor:not-allowed}label select{display:block;min-width:0}

/* Make dashboard tiles fully clickable without changing their layout */
.tile-link{display:block;min-width:0;color:inherit;text-decoration:none;border-radius:16px;outline-offset:4px}
.tile-link:hover,.tile-link:focus{text-decoration:none}
.tile-link .tile-card{height:100%;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.tile-link:hover .tile-card,.tile-link:focus-visible .tile-card{transform:translateY(-2px);border-color:#9ccfd6;box-shadow:0 12px 30px #12345612}
.tile-link:focus-visible{outline:3px solid #5cc5d0}
.tile-link .tile-card h2{color:#17304b}
.tile-link .tile-card p{color:#596b80}
.tile-action{display:inline-block;margin-top:6px;color:#087f91;font-weight:750}

/* Full-card interaction for dashboard and settings tiles */
.tile-placeholder{display:flex;flex-direction:column;align-items:flex-start;gap:0;width:100%;min-width:0;height:100%;font:inherit;text-align:left;color:#17304b;background:#fff;cursor:pointer}
.tile-placeholder h2{color:#17304b;margin:18px 0 12px}
.tile-placeholder p{color:#596b80;margin:0 0 16px}
.tile-placeholder .muted{margin-top:auto}
.tile-placeholder:hover,.tile-placeholder:focus-visible{transform:translateY(-2px);border-color:#9ccfd6;box-shadow:0 12px 30px #12345612}
.tile-placeholder:focus-visible{outline:3px solid #5cc5d0;outline-offset:4px}
.settings-tile-link{height:100%}
.settings-tile-link .tile-card{height:100%}

/* Urenregistratie module */
.hours-form,.entries-card{margin:24px 0}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:20px 0}
.form-grid label,.hours-form label,.review-form label{display:grid;gap:7px;font-size:14px;font-weight:650}
.form-grid input,.form-grid select,.form-grid textarea,.hours-form input,.hours-form select,.hours-form textarea,.review-form textarea{width:100%;font:inherit;padding:12px 13px;border:1px solid #cad5e1;border-radius:9px;background:#fff;color:#17304b}
.form-grid textarea,.hours-form textarea,.review-form textarea{resize:vertical}
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.hours-form input:focus,.hours-form select:focus,.hours-form textarea:focus,.review-form textarea:focus{outline:2px solid #5cc5d0;outline-offset:1px}
.form-grid .wide{grid-column:1/-1}
.conditional[hidden],#kilometers_wrap[hidden]{display:none!important}
.subsection{border-top:1px solid #e4ebf1;padding-top:18px;margin-top:18px}
.subsection>label{display:grid;gap:8px;font-size:14px;font-weight:650}
.subsection .checkline{display:flex;align-items:center;gap:10px}
.subsection .checkline input{width:18px;height:18px}
#kilometers_wrap{max-width:360px;margin-top:14px}
.hours-form button{margin-top:8px}
.notice{padding:14px 16px;background:#e9f8f2;border:1px solid #b9e8d6;color:#176746;border-radius:10px}
.entries-list{display:grid;gap:16px}
.entry-item{padding:20px 0;border-top:1px solid #e4ebf1}
.entry-item:first-child{border-top:0}
.entry-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.entry-heading h3{margin:0 0 6px;font-size:18px}
.entry-heading p{margin:0}
.status{display:inline-flex;align-items:center;white-space:nowrap;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800;background:#eef2f7;color:#455468}
.status-submitted{background:#eaf5ff;color:#1b5b91}
.status-under_review{background:#fff3d8;color:#8a5b00}
.status-approved{background:#e7f7ee;color:#176746}
.status-rejected{background:#fff0f0;color:#9d2424}
.review-form{display:grid;gap:12px;margin-top:18px;padding:16px;background:#f7f9fb;border-radius:12px}
.review-actions{display:flex;gap:10px;flex-wrap:wrap}
.review-actions .danger{background:#a62c38}
.entry-item p{overflow-wrap:anywhere}
@media(max-width:700px){.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.entry-heading{flex-direction:column;gap:10px}.hours-form,.entries-card{padding:20px}}


/* Employee and permission management: readable controls without page overflow. */
input[type=checkbox],input[type=radio]{width:20px;height:20px;padding:0;flex:none}
table th,table td{vertical-align:top;padding:12px 8px;border-bottom:1px solid #e4ebf1}
.profile-assignment{display:grid;gap:10px;min-width:190px;max-width:280px}
.profile-assignment small{font-weight:400;line-height:1.4}
.tiles>*{min-width:0} td,th{overflow-wrap:anywhere}
@media(max-width:700px){.header-actions a,.header-actions button{white-space:normal}main{min-width:0}.card{min-width:0}table select{min-width:170px}.header-actions form{max-width:100%}}
