:root{font-family:Inter,system-ui,Arial,sans-serif;color:#e8edf5;background:#0f131a}*{box-sizing:border-box}body{margin:0;background:#0f131a;color:#e8edf5}.wrap{max-width:1640px;margin:0 auto;padding:20px}.row{display:flex;align-items:center}.between{justify-content:space-between}.gap{gap:8px}.tabs{gap:8px;margin-bottom:14px;flex-wrap:wrap}.tabs button.active{background:#2f7a57;color:#fff;border-color:#2f7a57}.card{background:#171d26;border:1px solid #2a3442;border-radius:12px;padding:14px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid{display:grid;gap:10px}input,select,button{min-height:38px;border-radius:8px;border:1px solid #334255;background:#10161f;color:#e8edf5;padding:8px 10px;font:inherit}button{cursor:pointer}button:hover{background:#1a2330}button.danger{border-color:#8f3d46;color:#ff9ea8}.item{border:1px solid #2a3442;border-radius:10px;padding:10px;margin-top:10px;background:#121923}.small{font-size:.9rem;margin-top:6px}.field-label{display:grid;gap:6px}.field-label>span{font-size:.9rem;color:#b6c5d8}.kiosk-wrap{max-width:1280px}.kiosk-login-card{max-width:460px;margin:24px auto 0}.kiosk-header{margin-bottom:18px}.kiosk-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.kiosk-card{min-height:190px;text-align:left;padding:18px;display:grid;gap:8px;background:linear-gradient(180deg,#1b2330,#141b24);box-shadow:0 10px 24px #0000002e}.kiosk-card-active{border-color:#2f7a57}.kiosk-card-name{font-size:1.2rem;font-weight:700}.kiosk-card-position{color:#b6c5d8}.kiosk-card-status{font-size:1rem;margin-top:6px;font-weight:700}.modal-backdrop{position:fixed;inset:0;background:#080c12d1;display:flex;align-items:center;justify-content:center;padding:20px;z-index:1000}.modal-card{width:min(100%,420px);background:#171d26;border:1px solid #334255;border-radius:16px;padding:18px;display:grid;gap:12px}.pin-display{min-height:52px;border-radius:12px;border:1px solid #334255;display:flex;align-items:center;justify-content:center;font-size:1.6rem;letter-spacing:.2em;background:#10161f}.pin-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.pin-pad button{min-height:60px;font-size:1.2rem}.weather-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.weather-card,.weather-inline{border:1px solid #334255;border-radius:10px;background:#121923}.weather-card{padding:10px;display:grid;gap:4px}.weather-summary{font-size:.82rem;color:#c9d6e4;line-height:1.3}.weather-inline{padding:8px 10px;display:grid;gap:2px;font-size:.82rem}.compact-grid{gap:10px}.weather-good{border-color:#2f7a57;background:#2f7a5729}.weather-mixed{border-color:#7a6731;background:#7a673124}.weather-bad{border-color:#3f5f9e;background:#3f5f9e2e}.rule-position-row{align-items:center}.absence-item.absence-vacation{border-left:5px solid #4f8cff}.absence-item.absence-sick{border-left:5px solid #c26b6b}.accordion-card{padding:0;overflow:hidden}.accordion-summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px;cursor:pointer}.accordion-summary::-webkit-details-marker{display:none}.accordion-body{padding:0 14px 14px}.weather-checkbox-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}.weather-checkbox{display:flex;align-items:center;gap:8px;border:1px solid #334255;border-radius:8px;padding:8px 10px;background:#10161f}.weather-checkbox.active{border-color:#4f8cff;background:#4f8cff1f}.weather-checkbox input{min-height:auto}.timeline-day{border:1px solid #2a3442;border-radius:10px;margin-top:12px;background:#121923;overflow:hidden}.timeline-day h4{margin:0}.timeline-day-summary{list-style:none;display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:10px;cursor:pointer}.timeline-day-summary::-webkit-details-marker{display:none}.absence-summary{color:#9bc1ff}.timeline-day-body{padding:0 10px 10px}.timeline-hours,.timeline-row{display:grid;grid-template-columns:180px 1fr;gap:8px;align-items:center}.timeline-hours-row{display:grid;grid-template-columns:repeat(15,minmax(50px,1fr));font-size:.72rem;color:#9aacbf}.timeline-name-col{font-size:.9rem;font-weight:700}.timeline-lane{position:relative;min-height:44px;border:1px dashed #334255;border-radius:8px;background:repeating-linear-gradient(90deg,rgba(79,140,255,.06),rgba(79,140,255,.06) 1px,transparent 1px,transparent calc(100% / 15))}.timeline-lane-absent{background:repeating-linear-gradient(135deg,#c26b6b29,#c26b6b29 8px,#c26b6b0f 8px 16px)}.timeline-absence-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#ffd6d6;font-size:.8rem;pointer-events:none}.timeline-absence-badge{margin-top:4px;font-size:.74rem}.timeline-absence-badge.absence-vacation{color:#9bc1ff}.timeline-absence-badge.absence-sick{color:#ffb3bb}.timeline-block{position:absolute;top:4px;bottom:4px;border:1px solid #4f8cff;border-radius:7px;background:#4f8cff29;display:flex;justify-content:space-between;align-items:center;gap:6px;padding:4px 6px;font-size:.78rem;overflow:hidden}.timeline-block button{min-height:24px;padding:2px 6px}.print-sheet{display:none}@media print{@page{size:A4 landscape;margin:8mm}body{background:#fff;color:#111}.wrap>*{display:none!important}.print-sheet,.print-sheet *{display:block;color:#111!important}.print-sheet{display:block!important;font-size:10px}.print-header{display:flex!important;justify-content:space-between;align-items:baseline;margin-bottom:8px}.print-header h1{margin:0;font-size:18px}.print-grid{display:grid!important;grid-template-columns:repeat(7,1fr);gap:0;border:1px solid #777}.print-day-column{break-inside:avoid;background:#fff!important;border-right:1px solid #777;min-height:100%}.print-day-column:last-child{border-right:0}.print-day-head{padding:5px 6px;border-bottom:1px solid #777;font-size:10px;background:#f3f3f3!important}.print-weather,.print-absences,.print-day-list{padding:4px 6px 0}.print-weather,.print-absences{font-size:8px;line-height:1.25}.print-day-list{padding-bottom:4px}.print-shift-row{display:grid!important;grid-template-columns:42px 1fr;gap:4px;padding:3px 0;border-bottom:1px dotted #bbb}.print-shift-row:last-child{border-bottom:0}.print-shift-time{font-weight:700;font-size:8px}.print-shift-main{font-size:8px;line-height:1.2}.print-shift-position{font-style:italic;color:#444!important}.print-empty{font-size:8px;color:#555!important;padding-top:3px}}@media(max-width:900px){.grid-2,.timeline-hours,.timeline-row{grid-template-columns:1fr}}
