.App{min-height:100vh;background:linear-gradient(180deg,#0a0a0a,#1a1a1a,#0f0f0f);color:#e4e4e7;padding:3rem 1.5rem;position:relative}.App:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 30%,rgba(99,102,241,.08) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(168,85,247,.08) 0%,transparent 50%);pointer-events:none;z-index:0}.App-header{text-align:center;padding:2rem 0 3rem;position:relative;z-index:1;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:3rem}.App-header h1{font-size:3rem;margin:0 0 .75rem;font-weight:700;letter-spacing:-.02em;background:linear-gradient(135deg,#fff,#a1a1aa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.subtitle{font-size:1rem;margin:0;color:#a1a1aa;font-weight:400;letter-spacing:.02em;text-transform:uppercase;font-size:.875rem}.filters-container{max-width:1600px;margin:0 auto 2.5rem;display:flex;gap:1.5rem;flex-wrap:wrap;justify-content:center;position:relative;z-index:1;padding:0 1rem}.filter-group{display:flex;flex-direction:column;gap:.5rem;min-width:150px;flex:1;max-width:200px}.filter-label{font-size:.75rem;color:#a1a1aa;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.filter-select{background:linear-gradient(145deg,#ffffff0d,#ffffff05);border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:.75rem 2.5rem .75rem 1rem;color:#e4e4e7;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23a1a1aa' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:12px}.filter-select:hover{border-color:#fff3;background:linear-gradient(145deg,#ffffff14,#ffffff0a)}.filter-select:focus{outline:none;border-color:#6366f180;box-shadow:0 0 0 3px #6366f11a}.filter-select option{background:#1a1a1a;color:#e4e4e7;padding:.5rem}.timetable-container{max-width:1600px;margin:0 auto;display:flex;flex-direction:column;gap:2.5rem;position:relative;z-index:1}.week-container{background:linear-gradient(145deg,#ffffff08,#ffffff03);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:16px;padding:2rem;box-shadow:0 8px 32px #0006,inset 0 1px #ffffff0d;border:1px solid rgba(255,255,255,.08);transition:transform .3s ease,box-shadow .3s ease}.week-container:hover{transform:translateY(-2px);box-shadow:0 12px 48px #00000080,inset 0 1px #ffffff14}.week-title{font-size:1.25rem;margin:0 0 2rem;text-align:center;font-weight:600;color:#f4f4f5;letter-spacing:.01em;text-transform:uppercase;font-size:.875rem;opacity:.8}.timetable-wrapper{overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}.timetable-wrapper::-webkit-scrollbar{height:8px}.timetable-wrapper::-webkit-scrollbar-track{background:transparent}.timetable-wrapper::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.timetable-wrapper::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.timetable{display:grid;grid-template-columns:160px repeat(7,1fr);gap:0;background:#0000004d;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.06);min-width:900px}.timetable-header{display:contents}.header-cell{background:linear-gradient(180deg,#ffffff0f,#ffffff08);padding:1.25rem .75rem;font-weight:600;text-align:center;font-size:.875rem;color:#d4d4d8;border-bottom:2px solid rgba(255,255,255,.08);letter-spacing:.01em}.employee-col{background:linear-gradient(180deg,#ffffff14,#ffffff0d);border-right:1px solid rgba(255,255,255,.08)}.day-name{font-size:.875rem;font-weight:600;color:#f4f4f5;margin-bottom:.25rem}.day-date{font-size:.75rem;color:#a1a1aa;font-weight:400;margin-top:.25rem}.timetable-row{display:contents}.employee-cell{background:#ffffff05;padding:1.25rem 1rem;font-weight:600;text-align:center;display:flex;align-items:center;justify-content:center;font-size:.875rem;color:#e4e4e7;border-right:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.04);transition:background-color .2s ease}.timetable-row:hover .employee-cell{background:#ffffff0a}.schedule-cell{background:#ffffff05;padding:1.25rem .75rem;text-align:center;display:flex;align-items:center;justify-content:center;font-size:.8rem;min-height:70px;color:#d4d4d8;border-right:1px solid rgba(255,255,255,.04);border-bottom:1px solid rgba(255,255,255,.04);transition:all .2s ease;position:relative}.schedule-cell:not(:empty):hover{background:#ffffff0d;transform:scale(1.02);z-index:1}.schedule-cell:empty{color:#52525b}.carine-cell{background:linear-gradient(135deg,#22c55e26,#22c55e14);color:#86efac;border-left:3px solid rgba(34,197,94,.4);font-weight:500}.carine-cell:not(:empty):hover{background:linear-gradient(135deg,#22c55e33,#22c55e1f)}.bill-cell{background:linear-gradient(135deg,#3b82f626,#3b82f614);color:#93c5fd;border-left:3px solid rgba(59,130,246,.4);font-weight:500}.bill-cell:not(:empty):hover{background:linear-gradient(135deg,#3b82f633,#3b82f61f)}.shift-cell.shift-8am-4pm{background:linear-gradient(135deg,#fbbf2426,#fbbf2414);color:#fde047;border-left:3px solid rgba(251,191,36,.4);font-weight:500}.shift-cell.shift-8am-4pm:not(:empty):hover{background:linear-gradient(135deg,#fbbf2433,#fbbf241f)}.shift-cell.shift-4pm-1159pm{background:linear-gradient(135deg,#f9731626,#f9731614);color:#fdba74;border-left:3px solid rgba(249,115,22,.4);font-weight:500}.shift-cell.shift-4pm-1159pm:not(:empty):hover{background:linear-gradient(135deg,#f9731633,#f973161f)}.shift-cell.shift-4pm-12am{background:linear-gradient(135deg,#f9731626,#f9731614);color:#fdba74;border-left:3px solid rgba(249,115,22,.4);font-weight:500}.shift-cell.shift-4pm-12am:not(:empty):hover{background:linear-gradient(135deg,#f9731633,#f973161f)}.shift-cell.shift-12am-8am{background:linear-gradient(135deg,#a855f726,#a855f714);color:#c4b5fd;border-left:3px solid rgba(168,85,247,.4);font-weight:500}.shift-cell.shift-12am-8am:not(:empty):hover{background:linear-gradient(135deg,#a855f733,#a855f71f)}@media (max-width: 1200px){.App{padding:2rem 1rem}.timetable{grid-template-columns:140px repeat(7,1fr);min-width:850px}.schedule-cell{font-size:.75rem;padding:1rem .5rem;min-height:60px}.App-header h1{font-size:2.5rem}.filters-container{gap:1rem}.filter-group{min-width:140px;max-width:180px}}@media (max-width: 768px){.App{padding:1.5rem .75rem}.App-header{padding:1.5rem 0;margin-bottom:1.5rem}.App-header h1{font-size:1.75rem;margin-bottom:.5rem}.subtitle{font-size:.75rem}.filters-container{flex-direction:column;gap:1rem;margin-bottom:1.5rem;padding:0}.filter-group{min-width:100%;max-width:100%;width:100%}.filter-select{width:100%}.timetable-container{gap:1.5rem}.week-container{padding:1rem;border-radius:12px}.week-title{font-size:.75rem;margin-bottom:1rem}.timetable{grid-template-columns:100px repeat(7,120px);min-width:940px;border-radius:8px}.schedule-cell{font-size:.65rem;padding:.75rem .4rem;min-height:55px;line-height:1.3;word-break:break-word}.employee-cell{font-size:.7rem;padding:.75rem .5rem;font-weight:600;position:sticky;left:0;z-index:2;background:#ffffff05;border-right:1px solid rgba(255,255,255,.06)}.header-cell{padding:.75rem .4rem;font-size:.7rem;min-width:120px}.header-cell.employee-col{position:sticky;left:0;z-index:3;background:linear-gradient(180deg,#ffffff14,#ffffff0d)}.day-name{font-size:.7rem;margin-bottom:.15rem}.day-date{font-size:.6rem;margin-top:.15rem}.carine-cell,.bill-cell,.shift-cell{font-size:.6rem}}@media (max-width: 480px){.App{padding:1rem .5rem}.App-header h1{font-size:1.5rem}.timetable{grid-template-columns:90px repeat(7,110px);min-width:860px}.schedule-cell{font-size:.6rem;padding:.65rem .3rem;min-height:50px}.employee-cell{font-size:.65rem;padding:.65rem .4rem}.header-cell{padding:.65rem .3rem;font-size:.65rem;min-width:110px}.day-name{font-size:.65rem}.day-date{font-size:.55rem}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0a0a0a;color:#e4e4e7}#root{width:100%;min-height:100vh}
