@font-face{font-family:Lato;src:url('/fonts/lato-regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Lato;src:url('/fonts/lato-bold.ttf') format('truetype');font-weight:700 900;font-display:swap}
@font-face{font-family:Oswald;src:url('/fonts/oswald-bold.ttf') format('truetype');font-weight:500 900;font-display:swap}
:root{--ink:#15191f;--muted:#5d6773;--paper:#fff;--blue:#1c5098;--red:#cb1518;--yellow:#ffd500;--line:#dce3ea;--blue-dark:#12386c;--soft:#f4f7fa}
body{font-family:Lato,Arial,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}
.shell{max-width:1224px;padding-inline:32px}
.topbar{background:#fff;color:var(--ink);border:0;border-top:8px solid var(--blue);box-shadow:0 3px 15px rgb(21 25 31/.06)}
.topbar .shell{min-height:96px;gap:32px;flex-wrap:wrap;padding-block:14px}
.brand{color:var(--blue-dark);font-family:Oswald,Arial,sans-serif;font-size:26px;white-space:nowrap;font-weight:700}
.nav{justify-content:flex-end;align-items:center;gap:4px}
.nav a,.nav button{color:var(--blue-dark);font-size:14px;font-weight:700;border-radius:999px;padding:10px 14px}
.nav a:hover,.nav a:focus-visible,.nav button:hover{background:#eaf0f8;color:var(--blue)}
main.shell{padding-top:36px;padding-bottom:80px}
.page-head{position:relative;isolation:isolate;overflow:hidden;align-items:center;gap:28px;padding:44px 36px 48px;margin-bottom:36px;color:#fff;background:radial-gradient(circle at 94% 5%,rgb(255 255 255/.12) 0 11%,transparent 11.5%),linear-gradient(145deg,#00649c,#1c5098 70%);border-radius:0}
.page-head::after{content:'';position:absolute;bottom:0;left:0;right:0;height:8px;background:linear-gradient(90deg,var(--red) 0 25%,#fff 25% 50%,#00649c 50% 75%,var(--yellow) 75%)}
.page-head>div{min-width:0}.page-head>div:first-child{flex:1}.page-head p{max-width:660px;margin-bottom:0}.page-head .eyebrow{color:#fff;margin-top:0;margin-bottom:12px}.page-head .actions{flex:1;justify-content:flex-end}
h1,h2,h3,h4,.eyebrow,.btn,th{font-family:Oswald,Arial,sans-serif;font-weight:700}
h1,h2,h3{text-transform:uppercase;letter-spacing:-.025em;line-height:1.15}
h1{font-size:clamp(34px,4.6vw,56px);margin-bottom:18px;overflow-wrap:anywhere}
h2{font-size:30px;margin-bottom:18px}h3{font-size:24px}h4{font-size:18px;margin:20px 0 8px}
.eyebrow{font-size:13px;letter-spacing:.12em;color:var(--red)}
.btn{min-height:46px;border:2px solid var(--blue);border-radius:999px;padding:11px 22px;font-size:14px;text-transform:uppercase;letter-spacing:.025em;line-height:1.2;transition:background .15s,color .15s}
.btn:hover{background:var(--blue-dark);border-color:var(--blue-dark)}.btn.secondary{color:var(--blue);background:#fff}.btn.secondary:hover{background:#eef3fa}
.page-head .btn{border-color:var(--yellow);color:var(--yellow);background:transparent}.page-head .btn:hover{background:var(--yellow);color:var(--blue-dark)}.page-head .btn.secondary{border-color:rgb(255 255 255/.65);color:#fff}.page-head .btn.secondary:hover{background:#fff;color:var(--blue-dark)}
.grid{gap:22px}.card{min-width:0;border-radius:18px;border-color:var(--line);box-shadow:0 10px 30px rgb(18 56 108/.07);padding:26px}.card p:last-child{margin-bottom:0}.stat{color:var(--blue);font-family:Oswald,Arial,sans-serif}
.shift-block{border-left-width:5px}.shift-block.vorbereitung{border-left-color:var(--blue-dark)}
label{font-size:14px;gap:8px}input,select,textarea{border-color:#c5cfdb;min-height:48px;border-radius:10px;padding:11px 14px}input:hover,select:hover,textarea:hover{border-color:var(--blue)}input:focus,select:focus,textarea:focus{border-color:var(--blue)}
.table-wrap{border-radius:18px;box-shadow:0 10px 30px rgb(18 56 108/.05)}th{background:var(--soft);color:var(--blue-dark);font-size:14px;padding:17px 18px}td{padding:18px;vertical-align:middle}tbody tr:hover{background:#f7f9fc}tbody tr:last-child td{border-bottom:0}
.badge{font-family:Lato,Arial,sans-serif;font-weight:700}.badge.open{background:#fff4bd;color:#6b5300}.check-option{border-radius:12px;padding:12px;min-height:48px}.check-option:has(input:checked){background:#edf3fc;border-color:var(--blue)}input[type=checkbox]{flex-shrink:0;min-height:20px;width:20px;margin-top:3px}
.flash,.errors{border-radius:12px;padding:18px 22px}:focus-visible{outline:3px solid #c29f00;outline-offset:3px}.page-head :focus-visible{outline-color:var(--yellow)}
@media(max-width:1000px){.page-head{flex-direction:column;align-items:stretch}.page-head .actions{justify-content:flex-start}.topbar .shell{gap:14px}.nav{justify-content:flex-start}}
@media(max-width:760px){.shell{padding-inline:18px}.topbar .shell{padding-block:16px}.nav{gap:0}.nav a,.nav button{padding:8px 10px}.page-head{padding:30px 22px 36px;margin-bottom:26px}h1{font-size:36px}h2{font-size:27px}.card{padding:22px}.page-head .actions .btn{font-size:12px;padding:10px 14px}.table-wrap table.responsive td{padding:6px 0}.check-option{width:100%}.card,.card.wide{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
@media print{main.shell{padding:0}.page-head{display:block;color:#000;background:none;padding:0 0 20px;overflow:visible}.page-head::after{display:none}.page-head .eyebrow{color:#333}h1{font-size:30px}h2{font-size:24px}.card,.table-wrap{box-shadow:none}th{color:#000;background:#eee}}
