@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--color-primary:#f97316;--color-primary-hover:#ea580c;--color-secondary:#38bdf8;--color-secondary-hover:#0ea5e9;--color-background:#1e3a8a;--color-surface:#1e40af;--color-surface-hover:#1d4ed8;--color-text:#f8fafc;--color-text-muted:#bfdbfe;--color-border:#2563eb;--color-danger:#ef4444;--glass-bg:#1e40afb3;--glass-border:#ffffff26;--glass-shadow:0 8px 32px 0 #0000004d;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:1rem;--radius-full:9999px}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--color-background);color:var(--color-text);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Inter,sans-serif}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:var(--radius-lg)}.text-gradient{background:linear-gradient(to right, var(--color-primary), var(--color-secondary));-webkit-text-fill-color:transparent;-webkit-background-clip:text}.btn{border-radius:var(--radius-md);cursor:pointer;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;transition:all .2s;display:inline-flex}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover{background-color:var(--color-primary-hover);transform:translateY(-1px)}.btn-secondary{background-color:var(--color-secondary);color:#fff}.btn-secondary:hover{background-color:var(--color-secondary-hover);transform:translateY(-1px)}.btn-danger{color:var(--color-danger);border:1px solid var(--color-danger);background-color:#0000}.btn-danger:hover{background-color:var(--color-danger);color:#fff}.btn-ghost{color:var(--color-text);background-color:#0000}.btn-ghost:hover{background-color:var(--color-surface-hover)}.form-group{flex-direction:column;gap:.5rem;margin-bottom:1rem;display:flex}.form-label{color:var(--color-text-muted);font-size:.875rem;font-weight:500}.form-control{background-color:var(--color-background);border:1px solid var(--color-border);color:var(--color-text);border-radius:var(--radius-md);padding:.75rem;font-family:inherit;font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-control:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 2px #f9731633}.container{max-width:1200px;margin:0 auto;padding:2rem}.header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;margin-bottom:2rem;padding:1.5rem 0;display:flex}.nav-links{gap:1rem;display:flex}.grid{gap:1.5rem;display:grid}.grid-cols-1{grid-template-columns:repeat(1,1fr)}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}@media (width>=768px){.md\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.md\:grid-cols-3{grid-template-columns:repeat(3,1fr)}}@media (width>=1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.lg\:grid-cols-4{grid-template-columns:repeat(4,1fr)}}.card{flex-direction:column;gap:1rem;padding:1.5rem;transition:transform .2s;display:flex}.card:hover{transform:translateY(-4px)}.card-header{justify-content:space-between;align-items:flex-start;display:flex}.card-title{margin:0;font-size:1.25rem;font-weight:600}.badge{border-radius:var(--radius-full);letter-spacing:.05em;text-transform:uppercase;align-items:center;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-primary{color:var(--color-primary);background-color:#f9731633}.badge-secondary{color:var(--color-secondary);background-color:#0ea5e933}.table-wrapper{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--color-border);padding:1rem}th{color:var(--color-text-muted);font-size:.875rem;font-weight:500}tbody tr{transition:background-color .2s}tbody tr:hover{background-color:var(--color-surface-hover)}.shift-calendar{flex-direction:column;display:flex;overflow:hidden}.calendar-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.calendar-actions{align-items:center;gap:1rem;display:flex}.calendar-nav{gap:.25rem;display:flex}.btn-icon{border-radius:var(--radius-md);border:1px solid var(--color-border);width:36px;height:36px;color:var(--color-text);cursor:pointer;background-color:#0000;justify-content:center;align-items:center;transition:all .2s;display:flex}.btn-icon:hover{background-color:var(--color-surface-hover)}.calendar-grid{background-color:var(--color-border);border-bottom:1px solid var(--color-border);grid-template-columns:repeat(7,1fr);gap:1px;display:grid}.calendar-weekday{text-align:center;color:var(--color-text-muted);background-color:#1e293b99;padding:1rem;font-size:.875rem;font-weight:600}.calendar-cell{background-color:var(--glass-bg);flex-direction:column;min-height:120px;padding:.75rem;transition:background-color .2s;display:flex}.calendar-cell.has-shift{transition:transform .2s,background-color .2s,box-shadow .2s}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@keyframes blink{0%,to{opacity:1;background-color:#ef444433;border-color:#ef4444}50%{opacity:.8;background-color:#ef44440d;border-color:#ef444480}}.calendar-cell.has-shift:hover{z-index:10;position:relative;transform:scale(1.05);box-shadow:0 4px 12px #0006}.calendar-cell:not(.empty):hover{background-color:#1e293be6}.calendar-cell.today{background-color:#0ea5e90d}.calendar-cell.past{opacity:.7}.calendar-day-header{justify-content:space-between;align-items:flex-start;margin-bottom:.5rem;display:flex}.day-number{color:var(--color-text);border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:1rem;font-weight:500;display:flex}.calendar-cell.today .day-number{background-color:var(--color-secondary);color:#fff}.shift-details{flex-direction:column;flex:1;gap:.25rem;display:flex}.shift-analysts{flex-direction:column;gap:.25rem;display:flex}.analyst-badge{color:var(--color-primary);border-radius:var(--radius-sm);white-space:nowrap;text-overflow:ellipsis;background-color:#f9731626;border:1px solid #f973164d;padding:.25rem .5rem;font-size:.75rem;overflow:hidden}.calendar-cell.past .analyst-badge{color:var(--color-text-muted);background-color:#94a3b826;border-color:#94a3b84d}.status-dot{border-radius:50%;width:8px;height:8px}.status-upcoming{background-color:var(--color-primary);box-shadow:0 0 8px var(--color-primary)}.status-past{background-color:var(--color-text-muted)}.calendar-legend{background-color:#1e293b99;gap:1.5rem;padding:1rem 1.5rem;display:flex}.legend-item{color:var(--color-text-muted);align-items:center;gap:.5rem;font-size:.875rem;display:flex}.theme-Per2Park .status-upcoming{background-color:#22c55e;box-shadow:0 0 8px #22c55e}.theme-Per2Park .calendar-cell.today .day-number{background-color:#16a34a}.theme-Per2Park .analyst-badge{color:#22c55e;background-color:#22c55e26;border-color:#22c55e4d}.theme-Per2Park .btn-primary{background-color:#22c55e}.theme-Per2Park .btn-primary:hover{background-color:#16a34a}.theme-Pkplus .status-upcoming{background-color:#f97316;box-shadow:0 0 8px #f97316}.theme-Pkplus .calendar-cell.today .day-number{background-color:#ea580c}.theme-Pkplus .analyst-badge{color:#fb923c;background-color:#f9731626;border-color:#f973164d}.theme-Pkplus .btn-primary{background-color:#f97316}.theme-Pkplus .btn-primary:hover{background-color:#ea580c}.calendar-cell.holiday-Per2Park{background-color:#22c55e33!important}.calendar-cell.holiday-Pkplus{background-color:#f9731633!important}.calendar-cell.holiday-Mixed{background-color:#ffffff1a!important;border:1px solid #f9731680!important}.badge-software-Pkplus{color:#fb923c!important;background-color:#f9731626!important;border-color:#f973164d!important}.badge-software-Per2Park{color:#60a5fa!important;background-color:#3b82f626!important;border-color:#3b82f64d!important}
