[hidden]{display:none!important}
:root{font:14px/1.5 'Segoe UI',Arial,sans-serif;color:#20384a;background:#f4f7f9}*{box-sizing:border-box}body{margin:0}h1{font-size:24px;margin:0 0 8px}h2{margin:25px 0 12px;font-size:17px}p{color:#597180}button,input,select{font:inherit}button{cursor:pointer;background:white;border:1px solid #c4d1d8;border-radius:7px;padding:9px 12px;color:#18445a}button:hover{background:#e5f0f2}button:disabled{opacity:.5;cursor:default}.primary{background:#146e65;color:white;border-color:#146e65}.primary:hover{background:#0e554e}.secondary{background:#f5fafb}input,select{border:1px solid #c9d5dd;border-radius:7px;padding:8px;max-width:100%}label{display:flex;flex-direction:column;gap:5px;color:#405d6d;font-size:12px;font-weight:650}label:has(input[type=checkbox]){flex-direction:row;align-items:center}.login-layout{min-height:100vh;display:grid;place-items:center;padding:22px}.login-card{max-width:455px;width:100%;display:flex;flex-direction:column;gap:13px}.login-card h1{margin:0}.login-card p{margin:0}.login-card small{color:#748b99}.login-card details{border:1px solid #dae2e6;border-radius:8px;padding:12px}.login-card details label{margin:10px 0}.heart{font-size:45px;color:#159d85;line-height:1}.card{background:white;border:1px solid #dae4e8;border-radius:13px;padding:23px;box-shadow:0 4px 20px #1834480a}.layout{display:flex;min-height:100vh}.sidebar{background:#102b41;color:#d7e7eb;width:232px;flex-shrink:0;padding:25px 12px;display:flex;flex-direction:column;gap:16px}.brand{padding:8px;display:flex;gap:12px;font-size:32px;align-items:center;color:#64d7b1}.brand div{line-height:1.2}.brand strong{font-size:19px;color:white}.brand small{display:block;font-size:10px;color:#96b8c6}.sidebar nav{display:grid;gap:6px}.nav{border:0;background:none;color:#c3d7e0;text-align:left}.nav.active,.nav:hover{background:#295368;color:white}.tag{margin-top:auto;border-top:1px solid #426177;padding-top:15px;font-size:11px;color:#a6c0cc}.main{flex:1;min-width:0;padding:0 28px;max-width:100vw;display:flex;flex-direction:column}.top{display:flex;align-items:center;gap:18px;justify-content:space-between;border-bottom:1px solid #dae4e8;background:#fff;margin:0 -28px 20px;padding:14px 28px}.top small{display:block;color:#748b99}.top label{flex-direction:row;align-items:center}.page{display:none;flex:1}.page.active{display:block}.row{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:13px 0}.row>*{max-width:100%}.row .card{align-items:end}.chip{background:#e5f4ee;border-radius:20px;color:#116a4d;padding:5px 11px;font-weight:700}.chip.locked{background:#fff0e6;color:#ab5b31}.hint{font-size:12px;color:#67818d}.table-wrap{overflow:auto;width:100%;border:1px solid #dce6eb;background:white;border-radius:12px;margin:16px 0}table{width:100%;border-collapse:collapse;white-space:nowrap}th,td{padding:9px 10px;border-bottom:1px solid #edf2f4;font-size:12px;text-align:left}th{background:#f2f7f8;font-weight:700;color:#416173}th:first-child,td:first-child{position:sticky;left:0;background:#fff;z-index:1;min-width:125px}thead th:first-child{background:#f2f7f8;z-index:2}td select{min-width:48px;font-size:12px;padding:6px;border:1px solid #e0e7ec}td select:disabled{background:#f4f5f5;color:#7c9098}td .wish-u{background:#f9ddc5}td .wish-f{background:#d9e6f8}td .wish-w{background:#e9d9f7}td .wish-sd{background:#d9f3e9}.holiday{background:#fbf0dd}.dayoff{background:#ecf1f8}#flash{margin:0 0 15px;border-radius:8px;padding:8px 12px;color:#287054;background:#e8f5ed}#flash:empty{display:none}#flash.error{color:#a23b39;background:#fce8e6}footer{margin-top:auto;text-align:center;padding:24px 5px;color:#7894a1;font-size:13px;font-weight:550}dialog{border:0;padding:0;border-radius:15px;width:min(95vw,500px);box-shadow:0 20px 80px #102a4180}dialog::backdrop{background:#14283790}dialog form{display:grid;gap:12px}dialog form .row{align-items:center;margin:0}@media(max-width:800px){.sidebar{width:150px}.main{padding:0 10px}.top{margin:0 -10px;padding:12px 10px;flex-wrap:wrap}.brand strong{font-size:14px}}@media(max-width:540px){.layout{display:block}.sidebar{width:100%;padding:8px}.sidebar nav{display:flex;overflow:auto}.brand,.tag{display:none}.nav{flex-shrink:0}.main{max-width:100%;}.top{gap:8px}.login-layout{padding:10px}}

.einspring-cell{background:#fff0f0!important;color:#ae3030;font-weight:650}.einspring-cell strong{display:block;font-size:12px}footer{font-size:14px!important;font-weight:600}

/* Accessible visibility toggle for every password/PIN input. */
.password-field{display:grid;gap:5px;min-width:0}
.secret-input{display:flex;align-items:stretch;gap:7px;min-width:0}
.secret-input input{flex:1;min-width:0;width:100%}
.secret-input button{flex:none;min-width:85px;align-self:stretch}
button.danger{border-color:#ce8686;color:#942e2e}
button.danger:hover{background:#fff0f0}

/* Gemeinsamer Wunschkalender: eigene Zeile bearbeitbar, Kollegen nur lesbar. */
#wish-grid .own-wish-row td:first-child{box-shadow:inset 4px 0 #146e65;font-weight:700}
#wish-grid .own-wish-row td:first-child small{font-weight:400;color:#146e65}
#wish-grid .wish-readonly{display:inline-flex;min-width:38px;min-height:27px;align-items:center;justify-content:center;border-radius:5px;padding:3px 6px;color:#254657;font-weight:650}
#wish-grid .wish-readonly.wish-u{background:#f9ddc5}
#wish-grid .wish-readonly.wish-f{background:#d9e6f8}
#wish-grid .wish-readonly.wish-k{background:#f6d9da}
#wish-grid .wish-readonly.wish-w{background:#e9d9f7}
#wish-grid .wish-readonly.wish-d{background:#fff0c7}
#wish-grid .wish-readonly.wish-sd{background:#d9f3e9}
#wish-grid td select.wish-k{background:#f6d9da}
#wish-grid td select.wish-d{background:#fff0c7}
