body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--background:#f4f6f8;--topbar:#1e293b;--tab-button:#6b7a9a;--button:#0f2960;--main-text:#1f2937;--other-text:#fff;--tabs-border-color:#e5e7eb;--cards-background:#fff;--forms-border:#d1d5db;--danger:#dc2626;--modal-close-background:#f1f5f9;--misc:#374151;--day-off-bg:#fef2f2;--day-off-border:#fecaca;--day-off-num:var(--danger);--work-day-bg:#eef4ff;--work-day-border:#c7d7fe;--color-scheme:light}[data-theme=dark]{--background:#2b313b;--topbar:#141b27;--tab-button:#434c5e;--button:#213257;--main-text:#fff;--other-text:#7f93ad;--tabs-border-color:#2b2e33;--cards-background:#202631;--forms-border:#3b4455;--modal-close-background:#374151;--misc:#f1f5f9;--day-off-bg:#974545;--day-off-border:#683838;--day-off-num:#631c1c;--work-day-bg:#3b517c;--work-day-border:#2d3750;--color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}body{background:#f4f6f8;background:var(--background);color:#1f2937;color:var(--main-text);font-family:system-ui,sans-serif}.center{align-items:center;display:flex;justify-content:center;padding:16px}.center,.layout{min-height:100vh}.topbar{align-items:center;background:#1e293b;background:var(--topbar);color:#fff;color:var(--other-text);display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;padding:14px 20px}.topbar h1{font-size:20px}.topbar>div{align-items:center;display:flex;gap:12px}.tabs{background:#fff;background:var(--cards-background);border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--tabs-border-color);display:flex;gap:8px;overflow-x:auto;padding:12px 20px}.tabs button{background:#6b7a9a;background:var(--tab-button);border:none;border-radius:8px;cursor:pointer;padding:8px 16px;white-space:nowrap}.tabs button.active{background:#0f2960;background:var(--button);color:#fff;color:var(--other-text)}.content{margin:0 auto;max-width:1100px;padding:20px}.card{background:#fff;background:var(--cards-background);border-radius:12px;box-shadow:0 1px 3px #00000014;margin-bottom:16px;padding:20px}.card h3{margin-bottom:14px}.cards-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}button,input,select{background:#fff;background:var(--cards-background);border:1px solid #d1d5db;border:1px solid var(--forms-border);border-radius:8px;color:#1f2937;color:var(--main-text);color-scheme:light;color-scheme:var(--color-scheme);font-size:15px;outline:none;padding:10px 12px;width:100%}label{color:#374151;color:var(--misc);display:block;font-size:14px;margin-bottom:10px}label input,label select{margin-top:4px}.form-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:14px}button{background:#0f2960;background:var(--button);border:none;color:#fff;color:var(--other-text);cursor:pointer;transition:opacity .2s}button:hover{opacity:.9}button.danger{background:#dc2626;background:var(--danger)}button.small{padding:4px 10px;width:auto}.row{flex-wrap:wrap;gap:10px}.checkbox,.row{align-items:center;display:flex}.checkbox{gap:8px}.checkbox input{width:auto}.login-form{max-width:360px;width:100%}.login-form input{margin-bottom:12px}.error{color:#dc2626;color:var(--danger);margin-bottom:10px}.stat-card p{margin-bottom:8px}.progress{background:#e5e7eb;background:var(--tabs-border-color);border-radius:6px;height:12px;margin:10px 0 6px;overflow:hidden;width:100%}.progress-bar{background:linear-gradient(90deg,#22c55e,#16a34a);height:100%;transition:width .4s}.percent{color:#16a34a;font-size:14px;font-weight:600}.table{border-collapse:collapse;width:100%}.table td,.table th{border-bottom:1px solid #f1f5f9;border-bottom:1px solid var(--modal-close-background);font-size:14px;padding:10px;text-align:left}.table th{font-weight:600}.muted,.table th{color:#374151;color:var(--misc)}.muted{font-size:13px;margin-bottom:10px}.filters{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:16px}.filters label{align-items:center;display:flex;gap:8px;margin:0}.filters input{width:90px}.subsection{border-top:1px dashed #e5e7eb;border-top:1px dashed var(--tabs-border-color);margin-top:16px;padding-top:16px}.subsection h4{font-size:15px;margin-bottom:10px}.shift-row{margin-bottom:8px}.shift-row span{font-size:14px;min-width:100px}.shift-row input{width:140px}button.unpressable{cursor:default;opacity:.5;pointer-events:none;-webkit-user-select:none;user-select:none}ul{list-style:none}ul li{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--tabs-border-color);font-size:15px;padding:8px 0}.role-item{align-items:center;display:flex;justify-content:space-between}.stat-card.clickable{cursor:pointer;transition:transform .15s,box-shadow .15s}.stat-card.clickable:hover{box-shadow:0 4px 12px #0000001f;transform:translateY(-2px)}.modal-overlay{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:1000}.modal{border-radius:12px;box-shadow:0 10px 40px #0000004d;max-height:90vh;max-width:700px;overflow-y:auto;width:100%}.modal,.modal-header{background:#fff;background:var(--cards-background)}.modal-header{align-items:flex-start;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--tabs-border-color);display:flex;justify-content:space-between;padding:20px;position:-webkit-sticky;position:sticky;top:0}.modal-header h2{font-size:20px}.modal-close{background:#f1f5f9;background:var(--modal-close-background);color:#374151;color:var(--misc);font-size:16px;padding:6px 12px;width:auto}.modal-body{padding:20px}.modal-body h3{margin-bottom:12px}.modal-total{background:#f1f5f9;background:var(--modal-close-background);border-radius:8px;font-size:16px;margin-bottom:20px;padding:12px}.calendar-card{overflow-x:auto;padding:12px}.calendar-table{border-collapse:initial;border-spacing:6px;min-width:700px;table-layout:fixed;width:100%}.calendar-table td,.calendar-table th{padding:0}.cal-weekday{color:#6b7280;font-size:13px;font-weight:600;padding:6px 0;text-align:center}.cal-cell{background:#fff;background:var(--cards-background);border:1px solid #e5e7eb;border:1px solid var(--tabs-border-color);border-radius:8px;display:flex;flex-direction:column;height:100%;min-height:92px;padding:6px}.cal-cell.empty{background:#0000;border:none;min-height:0}.cal-cell.clickable{cursor:pointer;transition:box-shadow .15s}.cal-cell.clickable:hover{box-shadow:0 2px 8px #0000001f}.cal-day-num{font-size:14px;font-weight:600;margin-bottom:4px}.cal-cell.work-day{background:#eef4ff;background:var(--work-day-bg);border-color:#c7d7fe;border-color:var(--work-day-border)}.cal-cell.day-off{background:#fef2f2;background:var(--day-off-bg);border-color:#fecaca;border-color:var(--day-off-border)}.cal-cell.day-off .cal-day-num{color:#dc2626;color:var(--day-off-num)}.cal-entries{display:flex;flex-direction:column;gap:3px;overflow:hidden}.cal-entry{border-radius:5px;font-size:11px;overflow:hidden;padding:2px 5px;text-overflow:ellipsis;white-space:nowrap}.cal-entry.day{background:#fef3c7;color:#92400e}.cal-entry.night{background:#e0e7ff;color:#3730a3}.badge{border-radius:6px;display:inline-block;font-size:12px;font-weight:600;padding:2px 8px}.badge.day{background:#fef3c7;color:#92400e}.badge.night{background:#e0e7ff;color:#3730a3}.legend{color:#1f2937;color:var(--main-text);display:flex;flex-wrap:wrap;font-size:14px;gap:18px;margin-bottom:14px}.legend span{align-items:center;display:flex;gap:6px}.legend .dot{border-radius:4px;display:inline-block;height:14px;width:14px}.legend .dot.work{background:#eef4ff;background:var(--work-day-bg);border:1px solid #c7d7fe;border:1px solid var(--work-day-border)}.legend .dot.off{background:#fef2f2;background:var(--day-off-bg);border:1px solid #fecaca;border:1px solid var(--day-off-border)}@media (max-width:600px){.calendar-table{border-spacing:4px;min-width:620px}.cal-cell{min-height:70px;padding:4px}.cal-day-num{font-size:13px}.cal-entry{font-size:10px;padding:1px 4px}.legend{font-size:13px;gap:10px}.modal-body,.modal-header{padding:16px}.modal-header h2,.topbar h1{font-size:17px}.content{padding:14px}.card{padding:16px}.cards-grid,.form-grid{grid-template-columns:1fr}.table td,.table th{font-size:13px;padding:8px 6px}.shift-row{align-items:stretch;flex-direction:column}.filters input,.shift-row input{width:100%}}
/*# sourceMappingURL=main.688db111.css.map*/