@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap";:root{--bg-color:#f0f4f8;--text-main:#1e293b;--text-muted:#64748b;--primary:#6366f1;--primary-hover:#4f46e5;--border:#fff3;--glass-bg:#ffffffb3;--glass-shadow:0 8px 32px 0 #1f268712;--urgent:#fee2e2;--urgent-text:#991b1b;--standard:#e0e7ff;--standard-text:#3730a3;--light:#f1f5f9;--light-text:#475569}*{box-sizing:border-box;margin:0;padding:0;font-family:Outfit,sans-serif}body{background:var(--bg-color);color:var(--text-main);background-image:radial-gradient(at 0 0,#100f15 0,#0000 50%),radial-gradient(at 50% 0,#2f3e6a 0,#0000 50%),radial-gradient(at 100% 0,#722741 0,#0000 50%);background-attachment:fixed;min-height:100vh}.glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border);box-shadow:var(--glass-shadow);border-radius:1rem}.navbar{z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffd9;border-bottom:1px solid #ffffff4d;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:1.25rem 3rem;display:flex;position:sticky;top:0}.logo{background:linear-gradient(135deg,#6366f1 0%,#a855f7 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.5rem;font-weight:700}.tabs{gap:1.5rem;display:flex}.tab-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:.5rem 1rem;font-size:1.05rem;font-weight:500;transition:color .3s;position:relative}.tab-btn:hover,.tab-btn.active{color:var(--primary)}.tab-btn.active:after{content:"";background:var(--primary);border-radius:3px;width:100%;height:3px;animation:.3s slideIn;position:absolute;bottom:-4px;left:0}@keyframes slideIn{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.container{max-width:1800px;margin:0 auto;padding:0 3rem 3rem}.btn-primary{background:linear-gradient(135deg, var(--primary) 0%, #818cf8 100%);color:#fff;cursor:pointer;border:none;border-radius:.75rem;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-weight:600;transition:transform .2s,box-shadow .2s;display:inline-flex}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #6366f14d}.btn-primary:disabled{opacity:.7;cursor:not-allowed;transform:none}input[type=text]{background:#ffffffe6;border:1px solid #0000001a;border-radius:.75rem;outline:none;padding:.75rem 1rem;transition:border-color .2s,box-shadow .2s}input[type=text]:focus{border-color:var(--primary);box-shadow:0 0 0 3px #6366f133}.flex-between{justify-content:space-between;align-items:center;display:flex}.flex-gap{align-items:center;gap:1rem;display:flex}.import-view{text-align:center;max-width:650px;margin:4rem auto;padding:3rem;animation:.4s cubic-bezier(.175,.885,.32,1.275) scaleIn}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.upload-header h2{color:var(--text-main);margin-bottom:.5rem;font-size:1.75rem;font-weight:700}.upload-header p{color:var(--text-muted);margin-bottom:2.5rem;font-size:1.05rem}.icon-wrapper{background:linear-gradient(135deg,#6366f11a 0%,#a855f71a 100%);border-radius:50%;justify-content:center;align-items:center;width:90px;height:90px;margin:0 auto 1.5rem;display:flex}.upload-icon{color:var(--primary)}.drop-zone{cursor:pointer;background:#ffffff80;border:2px dashed #6366f166;border-radius:1rem;margin-bottom:1.5rem;padding:3rem 2rem;transition:all .2s}.drop-zone:hover{border-color:var(--primary);background:#6366f10d;transform:translateY(-2px)}.drop-content{color:var(--text-muted);font-weight:500}.file-selected{justify-content:center;align-items:center;gap:.75rem;display:flex}.submit-btn{justify-content:center;width:100%;padding:1rem;font-size:1.1rem}.status-message{border-radius:.75rem;justify-content:center;align-items:center;gap:.5rem;margin-top:1.5rem;padding:1rem;font-weight:500;animation:.3s slideUp;display:flex}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.status-message.success{color:#059669;background:#10b9811a}.status-message.error{color:#dc2626;background:#ef44441a}.schedule-view{animation:.4s fadeIn}.schedule-toolbar{justify-content:space-between;align-items:center;margin-bottom:2rem;padding:1.5rem 2rem;display:flex}.week-label{color:var(--text-main);text-align:center;min-width:200px;font-size:1.25rem;font-weight:600}.nav-btn{border:1px solid var(--border);cursor:pointer;color:var(--text-main);background:#ffffff80;border-radius:.5rem;align-items:center;gap:.25rem;padding:.5rem 1rem;font-weight:500;transition:all .2s;display:flex}.nav-btn:hover{background:#fffc;box-shadow:0 2px 8px #0000000d}.add-emp-form{gap:.5rem;display:flex}.add-emp-form input{width:140px}.off-day-token{color:#7f1d1d;cursor:grab;background:linear-gradient(135deg,#fecaca 0%,#fca5a5 100%);border:1px solid #b91c1c33;border-radius:.75rem;align-items:center;padding:.75rem 1.25rem;font-weight:600;transition:transform .2s;display:flex;box-shadow:0 2px 10px #ef44441a}.off-day-token:active,.task-card:active{cursor:grabbing}.dragging{opacity:.6;transform:scale(.95)}.kanban-layout{grid-template-columns:1fr 340px;align-items:start;gap:1.5rem;display:grid}.matrix-wrapper{border-radius:1rem;overflow-x:auto}.schedule-matrix{border-collapse:collapse;width:100%}.schedule-matrix th,.schedule-matrix td{vertical-align:top;border:1px solid #0000000d;min-width:160px;padding:1rem}.schedule-matrix th{text-align:left;color:var(--text-muted);background:#f8fafc99;border-bottom:2px solid #0000000d;font-weight:600}.date-sub{opacity:.8;margin-top:.25rem;font-size:.85rem;font-weight:400;display:block}.droppable-cell{background:#fff3;min-height:120px;transition:background .2s}.cell-content{flex-wrap:wrap;align-content:flex-start;gap:.3rem;display:flex}.droppable-cell.drag-over{box-shadow:inset 0 0 0 2px var(--primary);background:#6366f11a}.off-day-cell{cursor:pointer;background:repeating-linear-gradient(45deg,#ef44440d,#ef44440d 10px,#ef44441a 10px 20px);justify-content:center;align-items:center;min-height:120px;transition:opacity .2s;display:flex}.off-day-cell:hover{opacity:.8}.off-content{color:#ef4444;background:#fff;border-radius:.5rem;padding:.5rem 1rem;font-weight:700;box-shadow:0 2px 4px #0000000d}.cleaner-cell{background:#f8fafc99;justify-content:space-between;align-items:center;min-height:120px;display:flex}.cleaner-name{color:var(--text-main);font-weight:600}.del-emp{color:#ef4444;cursor:pointer;background:#ef44441a;border:none;border-radius:.375rem;align-items:center;padding:.4rem;transition:all .2s;display:flex}.del-emp:hover{color:#fff;background:#ef4444}.unassigned-sidebar{flex-direction:column;height:calc(100vh - 220px);padding:1.5rem;display:flex}.unassigned-sidebar h3{color:var(--text-main);border-bottom:2px solid #0000000d;margin-bottom:1.5rem;padding-bottom:.75rem;font-size:1.25rem;font-weight:600}.unassigned-pool{border-radius:.75rem;flex-direction:column;flex:1;gap:.3rem;padding:.5rem;transition:background .2s;display:flex;overflow-y:auto}.unassigned-pool .task-card{flex:none;width:100%}.unassigned-pool.drag-over{box-shadow:inset 0 0 0 2px var(--primary);background:#6366f10d}.empty-pool{text-align:center;color:var(--text-muted);padding:2rem;font-style:italic}.task-card{cursor:grab;background:#fffffff2;border:1px solid #00000012;border-radius:.375rem;flex:calc(50% - .3rem);min-width:80px;max-width:100%;padding:.25rem .4rem;transition:transform .15s,box-shadow .15s;box-shadow:0 2px 4px -1px #0000000d}.task-card:hover{transform:translateY(-1px);box-shadow:0 6px 10px -3px #00000014}.task-unit{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;margin-bottom:.1rem;font-size:.85rem;font-weight:600;overflow:hidden}.task-meta{color:var(--text-muted);justify-content:space-between;align-items:flex-start;gap:.25rem;font-size:.7rem;display:flex}.task-window{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:130px;font-size:.68rem;overflow:hidden}.task-badge{border-radius:1rem;padding:.15rem .5rem;font-size:.75rem;font-weight:600}.priority-high{background:var(--urgent);color:var(--urgent-text)}.priority-med{background:var(--standard);color:var(--standard-text)}.priority-low{background:var(--light);color:var(--light-text)}
