/* GOOSS brand blue: #00285D, taken from the company website Kontakt aufnehmen button. */
:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;color:#303030;background:#f5f5f5;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{outline-offset:4px}button{cursor:pointer;border:1px solid #dcdcdc;border-radius:9px;background:white;color:#343434;padding:10px 15px;font-weight:600}button:hover{background:#ededed}button:disabled{opacity:.5;cursor:wait}a{color:#00285d}h1,h2,h3,p{margin-top:0}h1{font-size:34px;letter-spacing:-1px;margin-bottom:8px}h2{font-size:20px}p{color:#626262;line-height:1.5}small{color:#686868}.shell{display:grid;grid-template-columns:225px 1fr;min-height:100vh}aside{background:#00285d;color:#fff;padding:35px 22px;display:flex;flex-direction:column;gap:36px}.brand{font-size:27px;font-weight:800;letter-spacing:2px}.brand small{display:block;letter-spacing:1px;font-weight:400;font-size:10px;color:#d0d0d0;margin-top:9px}nav{display:grid;gap:10px}nav button{text-align:left;background:none;border:0;color:#dedede;padding:13px}nav button.active{background:#e5e5e5;color:#00285d}.side-note{margin-top:auto;font-size:12px;line-height:1.8;color:#cdcdcd}.main{padding:36px 42px;min-width:0;max-width:1650px;width:100%}.topbar,.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.topbar{margin-bottom:32px}.eyebrow{font-size:11px;letter-spacing:1.7px;font-weight:700;color:#656565;margin-bottom:10px}.profile{font-size:13px;text-align:right}.profile strong{display:block}.primary{background:#00285d;color:white;border-color:#00285d}.primary:hover{background:#001d45}.quiet{border:none;background:transparent}.demo{background:#fff1cc;border-bottom:1px solid #ecd296;padding:10px 22px;font-size:13px;color:#72571f;display:flex;align-items:center;justify-content:space-between;gap:12px}.demo select{max-width:250px;padding:5px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin:25px 0}.card,.panel{background:white;border:1px solid #e1e1e1;border-radius:14px;padding:23px}.card strong{display:block;font-size:32px;font-weight:650;margin:9px 0}.card span{font-size:13px;color:#606060}.card.accent{background:#eeeeee;border-color:#d8d8d8}.panel{margin-bottom:22px}.toolbar{display:flex;align-items:center;gap:10px}.month{font-size:19px;font-weight:650;min-width:160px;text-align:center}.legend{display:flex;gap:18px;font-size:12px;flex-wrap:wrap;margin:18px 0;color:#666666}.dot{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:6px;background:#c4c4c4}.dot.holiday{background:#eac8bd}.dot.school{background:#eadaac}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid #e4e4e4;border-left:1px solid #e4e4e4}.weekday{padding:12px;background:#f7f7f7;font-size:12px;text-align:center;border-right:1px solid #e4e4e4;border-bottom:1px solid #e4e4e4}.day{min-height:115px;padding:10px 7px;border-right:1px solid #e4e4e4;border-bottom:1px solid #e4e4e4;overflow-wrap:anywhere}.day.weekend{background:#f2f2f2}.day.empty{background:#fafafa}.day.today{box-shadow:inset 0 0 0 2px #00285d}.day-number{font-size:13px;display:block;margin-bottom:7px}.event,.school-label,.holiday-label{display:block;font-size:10px;line-height:1.5;padding:3px 5px;border-radius:4px;margin:3px 0}.event{background:#dcefe2;color:#205638}.school-label{background:#f7efd9;color:#846d30}.holiday-label{background:#f6e3dc;color:#8c4a34}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px;text-align:left}th{color:#686868;font-size:11px;text-transform:uppercase;letter-spacing:.6px;background:#f7f7f7}th,td{padding:14px 12px;border-bottom:1px solid #e5e5e5}td .toolbar{flex-wrap:wrap}td button{font-size:11px;padding:7px 9px}.badge{display:inline-block;padding:5px 9px;border-radius:20px;font-size:11px;background:#eeeeee}.badge.pending{background:#fff1ca;color:#85651c}.badge.approved{background:#cee9d6;color:#205638}.badge.rejected{background:#f8e4df;color:#9b4330}.empty-state{padding:42px 12px;text-align:center;color:#666666}.hint{font-size:13px;padding:12px;background:#f7f2e6;border-radius:8px;line-height:1.6;margin:12px 0}.subline{font-size:11px;color:#696969;margin-top:5px}.warning{color:#9c6c22;font-size:11px;max-width:230px}.login{max-width:520px;margin:12vh auto;padding:45px;background:white;border:1px solid #dedede;border-radius:18px}.login .brand{color:#00285d;margin-bottom:40px}.login a.primary{display:inline-block;padding:13px 20px;text-decoration:none;border-radius:8px}dialog{border:1px solid #dadada;border-radius:16px;width:530px;max-width:94vw;padding:28px;color:#343434}dialog::backdrop{background:#20202070}label{display:block;font-size:13px}input,select{border:1px solid #d2d2d2;background:white;border-radius:7px;padding:10px;color:#343434}label input:not([type=checkbox]){width:100%;display:block;margin:8px 0 18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.check{display:flex;gap:9px;align-items:center}#formError{color:#a1382b;font-size:13px}#message{position:fixed;bottom:25px;right:25px;background:#00285d;color:white;border-radius:9px;padding:14px 20px;display:none;max-width:400px;z-index:20}.sources{font-size:11px;line-height:1.7;color:#696969}.sources a{color:inherit}@media(max-width:1000px){.shell{grid-template-columns:170px 1fr}.main{padding:25px 18px}aside{padding:25px 12px}.day{min-height:100px;padding:5px}.profile{max-width:150px}.calendar{min-width:640px}.calendar-scroll{overflow:auto}}@media(max-width:700px){.shell{display:block}aside{padding:16px;gap:16px}.brand{font-size:20px}nav{display:flex;flex-wrap:wrap;gap:4px}nav button{padding:9px;font-size:12px}.side-note{display:none}.topbar{align-items:flex-start}.topbar h1{font-size:26px}.cards{gap:8px}.card{padding:14px}.card strong{font-size:27px}.panel{padding:14px}.section-head{flex-wrap:wrap}.demo{font-size:11px;align-items:flex-start}.demo select{max-width:170px}.profile{font-size:11px}.toolbar{flex-wrap:wrap}.form-grid{grid-template-columns:1fr}}

.dot.company{background:#a6a6a6}.company-label{display:block;font-size:10px;line-height:1.5;padding:3px 5px;border-radius:4px;margin:3px 0;background:#e5e5e5;color:#424242}

nav button:hover{background:#ededed;color:#00285d}

textarea{font:inherit;border:1px solid #d2d2d2;border-radius:7px;padding:10px;resize:vertical;width:100%;display:block;margin:8px 0 18px;color:#343434;outline-offset:4px}#requestKindLabel select{display:block;width:100%;margin:8px 0 18px}#overtimeError{color:#a1382b;font-size:13px}#deductionHint{background:#eeeeee;color:#343434}

#sicknessForm select{display:block;width:100%;margin:8px 0 18px}#sicknessError{color:#a1382b;font-size:13px}.sick-subheading{margin-top:28px}#sickMonth,#sickPerson{display:block;margin-top:7px}

/* Status remains readable through both words and colour. */
.dot.approved{background:#75ad89}
.request-row.approved>td{background:#edf7f0}
.request-row.rejected>td{background:#fff0ed}
.request-row.approved>td:first-child{box-shadow:inset 4px 0 #3c8756}
.request-row.rejected>td:first-child{box-shadow:inset 4px 0 #b84436}
