:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{--bg: #0b0f17;--panel: rgba(255, 255, 255, .04);--panel-2: rgba(255, 255, 255, .06);--border: rgba(255, 255, 255, .1);--border-2: rgba(255, 255, 255, .14);--text: rgba(255, 255, 255, .92);--muted: rgba(255, 255, 255, .6);--shadow: 0 20px 60px rgba(0, 0, 0, .45);--radius: 16px;--sticky-head-bg: #0a0e16;--sticky-body-bg: #12161e;--sticky-hover-bg: #151a23;--sticky-divider: rgba(0, 0, 0, .35)}#root{max-width:1200px;margin:0 auto;padding:28px 18px;text-align:left;color:var(--text)}body{background:radial-gradient(1200px 700px at 20% -10%,rgba(99,102,241,.18),transparent 55%),radial-gradient(900px 500px at 110% 10%,rgba(16,185,129,.12),transparent 55%),var(--bg)}.admin{font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial}.page-header{display:flex;flex-direction:column;gap:14px;margin-bottom:16px}.title-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.page-title{margin:0;font-size:22px;letter-spacing:.2px}.page-subtitle{color:var(--muted);font-size:13px}.toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding:12px;border:1px solid var(--border);background:var(--panel);border-radius:var(--radius);box-shadow:var(--shadow)}.week-nav{display:flex;align-items:center;gap:10px}.week-pill{padding:8px 12px;border:1px solid var(--border);background:#ffffff0d;border-radius:999px;font-size:13px;color:var(--text)}.btn{border:1px solid var(--border);background:#ffffff0a;color:var(--text);padding:8px 12px;border-radius:999px;cursor:pointer;font-weight:600;font-size:13px;transition:transform .12s ease,background .12s ease,border-color .12s ease}.btn:hover{background:#ffffff12;border-color:var(--border-2);transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn.primary{border-color:#6366f18c;background:#6366f133}.btn.primary:hover{background:#6366f147}.add-user{display:flex;gap:10px;align-items:center}.add-user input{padding:9px 10px;border-radius:12px;border:1px solid var(--border);background:#0003;color:var(--text);outline:none;font-size:13px;min-width:180px}.add-user input::placeholder{color:#fff6}.add-user input:focus{border-color:#6366f18c}.card{border:1px solid var(--border);background:var(--panel);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.calendar-scroll{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;position:relative;-webkit-overflow-scrolling:touch;padding-bottom:8px}.calendar{width:max-content;min-width:1200px;border-collapse:separate;border-spacing:0;position:relative;isolation:isolate}.calendar.week,.calendar.month{table-layout:fixed;border-collapse:separate;border-spacing:0;width:max-content;min-width:1200px}.calendar.week th,.calendar.week td,.calendar.month th,.calendar.month td{min-width:92px}.calendar.week th:nth-child(1),.calendar.week td:nth-child(1),.calendar.month th:nth-child(1),.calendar.month td:nth-child(1){width:70px;min-width:70px;max-width:70px}.calendar.week th:nth-child(2),.calendar.week td:nth-child(2),.calendar.month th:nth-child(2),.calendar.month td:nth-child(2){width:240px;min-width:240px;max-width:240px}.calendar th,.calendar td{border-bottom:1px solid var(--border);border-right:1px solid var(--border);padding:10px;text-align:center;min-width:92px;box-sizing:border-box}.calendar th:first-child,.calendar td:first-child{border-left:0}.calendar th:last-child,.calendar td:last-child{border-right:0}.calendar thead th{position:sticky;top:0;z-index:5;background:var(--sticky-head-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-weight:700;font-size:12px;color:#ffffffd9}.calendar.month{position:relative;isolation:isolate;table-layout:fixed;border-collapse:separate;border-spacing:0}.calendar.month th:nth-child(1),.calendar.month td:nth-child(1){width:70px;min-width:70px;max-width:70px;position:sticky;left:0;z-index:8;background:var(--sticky-body-bg);background-color:var(--sticky-body-bg)}.calendar.month th:nth-child(2),.calendar.month td:nth-child(2){width:240px;min-width:240px;max-width:240px;position:sticky;left:70px;z-index:8;background:var(--sticky-body-bg);background-color:var(--sticky-body-bg)}.calendar.month thead th:nth-child(1),.calendar.month thead th:nth-child(2){z-index:12;background:var(--sticky-head-bg);background-color:var(--sticky-head-bg)}.calendar.month th:nth-child(2),.calendar.month td:nth-child(2){box-shadow:1px 0 0 var(--sticky-divider)}.col-id{width:70px;min-width:70px;max-width:70px;font-weight:800;color:#ffffffc7;background:var(--sticky-body-bg);padding-left:10px;padding-right:10px}.calendar th:nth-child(2),.calendar td:nth-child(2){width:240px;min-width:240px;max-width:240px}.calendar td.name{text-align:left;font-weight:700;background:var(--sticky-body-bg);overflow:hidden;white-space:nowrap}.calendar tbody tr:hover td{background:#ffffff08}.agent-cell{display:flex;align-items:center;justify-content:flex-start;gap:10px;min-width:0;overflow:hidden;max-width:100%}.agent-name{min-width:0;flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.icon-btn{background:transparent;border:0;padding:0;cursor:pointer;opacity:.55;transition:opacity .12s ease,transform .12s ease;flex:0 0 auto}.agent-cell .icon-btn{margin-left:auto;flex:0 0 auto}.icon-btn:hover{opacity:.95;transform:scale(1.05)}.icon-img{width:16px;height:16px;display:block}.shift{cursor:pointer;font-weight:700;border-radius:10px;background:#ffffff0a}.shift:hover{outline:2px solid rgba(99,102,241,.45)}.shift.morning{background:#38bdf82e;color:var(--text)}.shift.mid{background:#22c55e29;color:var(--text)}.shift.evening{background:#facc1529;color:var(--text)}.shift.night{background:#a855f729;color:var(--text)}.shift.weekend{background:#3b82f624;color:var(--text)}.shift.off{background:#ffffff0f;color:#ffffffd9}.shift.vac{background:#ffffff1a;color:#ffffffe6}.shift.sick{background:#f43f5e2e;color:var(--text)}.shift select,.shift-sub{margin-top:6px;width:100%;padding:6px 8px;background:#00000040;color:#ffffffe6;border:1px solid var(--border);border-radius:10px;font-size:12px;cursor:pointer}.calendar.week .shift,.calendar.month .shift{height:32px;padding:2px}.calendar td.name{text-align:left;font-weight:700;background:var(--sticky-body-bg);overflow:hidden}.miniBtn{margin-top:6px;height:22px;font-size:11px;padding:0 8px;border-radius:10px;border:1px solid var(--border);background:var(--panel-2);color:var(--text);cursor:pointer}.miniBtn-placeholder{margin-top:6px;height:22px}.calendar.stats th,.calendar.stats td{white-space:nowrap}.calendar.week{position:relative;isolation:isolate;table-layout:fixed;border-collapse:separate;border-spacing:0}.calendar.week th:nth-child(1),.calendar.week td:nth-child(1){width:70px;min-width:70px;max-width:70px;position:sticky;left:0;z-index:8;background:var(--sticky-body-bg);background-color:var(--sticky-body-bg)}.calendar.week th:nth-child(2),.calendar.week td:nth-child(2){width:240px;min-width:240px;max-width:240px;position:sticky;left:70px;z-index:8;background:var(--sticky-body-bg);background-color:var(--sticky-body-bg)}.calendar.week thead th:nth-child(1),.calendar.week thead th:nth-child(2){z-index:12;background:var(--sticky-head-bg);background-color:var(--sticky-head-bg)}.calendar.week th:nth-child(2),.calendar.week td:nth-child(2){box-shadow:1px 0 0 var(--sticky-divider)}.calendar.week{width:100%!important;min-width:100%!important}.calendar.month{width:max-content}
