@import"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css";.sidebar{position:fixed;top:0;left:0;width:260px;background:var(--sidebar-bg);color:#fff;display:flex;flex-direction:column;flex-shrink:0;height:100vh}.sidebar-header{padding:2.5rem 1rem;display:flex;flex-direction:column;align-items:center;justify-content:center;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-header a{display:block;transition:opacity .2s}.sidebar-header a:hover{opacity:.8}.logo-img{width:140px;height:140px;object-fit:contain;cursor:pointer}.sidebar-nav{flex:1;padding:1.5rem 1rem}.sidebar-separator{margin-top:2rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1)}.sidebar-link{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;margin-bottom:.5rem;border-radius:.75rem;color:#fff9;text-decoration:none;transition:all .2s;font-size:.95rem}.sidebar-link:hover{background:var(--sidebar-hover);color:#fff}.sidebar-link.active{background:var(--primary-red);color:#fff;box-shadow:0 4px 12px #0003}.sidebar-footer{padding:1.5rem;border-top:1px solid rgba(255,255,255,.1)}.sidebar-logout{display:flex;align-items:center;gap:.75rem;width:100%;padding:.875rem 1rem;background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:#fff9;cursor:pointer;transition:all .2s;font-size:.9rem}.sidebar-logout:hover{background:var(--sidebar-hover);color:#fff;border-color:#fff}@media (max-width: 768px){.sidebar{display:none}}.layout{display:flex;min-height:100vh;width:100%}.main-content{flex:1;margin-left:260px;padding:2.5rem;background:var(--bg-light);overflow-y:auto}@media (max-width: 768px){.main-content{padding:1rem}}.status-cloud{background-color:#4a0418;color:#fff;padding:1.5rem;border-radius:1rem}.status-cloud-title{font-size:1rem;margin-bottom:1.5rem;color:#fff;font-weight:700}.status-row{display:flex;justify-content:space-between;padding:.35rem 0;font-size:.875rem}.status-name{font-size:.875rem;font-weight:400;color:#fff}.status-badge{font-size:.65rem;padding:.1rem .4rem;border-radius:4px;font-weight:800}.status-badge.bg-up{background:#10b98133;color:#34d399}.status-badge.bg-delay,.status-badge.bg-down{background:#ef444433;color:#f87171}@media (max-width: 768px){.status-cloud{padding:1rem}.status-row{padding:.625rem .875rem}.status-name{font-size:.8rem}.status-badge{font-size:.6rem;padding:.3rem .6rem}}.dashboard{max-width:1400px;margin:0 auto}.dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2.5rem}.dashboard-header h1{font-size:1.875rem;font-weight:800;margin-bottom:.5rem}.title-group{display:flex;flex-direction:column;gap:.25rem}.system-status{background:#fff;border:1px solid #e2e8f0;padding:.4rem 1rem;border-radius:999px;font-size:.75rem;font-weight:700;display:flex;align-items:center;gap:.5rem;text-transform:uppercase;color:var(--text-main)}.status-dot{width:8px;height:8px;background-color:var(--status-green);border-radius:50%}.btn-deploy{background-color:var(--primary-red);color:#fff;padding:.6rem 1.2rem;border-radius:.5rem;border:none;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .2s}.btn-deploy:hover{background-color:var(--primary-red-hover)}.dashboard-subtitle{color:var(--text-muted);font-size:.95rem;font-style:italic}.card{background:#fff;padding:1.5rem;border-radius:1rem;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9;transition:transform .2s,box-shadow .2s}.card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.card-value{font-size:1.5rem;font-weight:800;color:var(--text-main)}.sub-success{color:var(--status-green);font-weight:600}.vulnerability-card{border-left:4px solid var(--status-red)}.run-card{position:relative;cursor:pointer}.run-card.run-complete{border-left:4px solid #10b981!important}.run-card.run-incomplete{border-left:4px solid #EF5C37!important}.info-btn{background:transparent;border:none;cursor:pointer;padding:.25rem;color:var(--text-muted);transition:all .3s ease;display:flex;align-items:center;justify-content:center}.info-btn:hover{color:var(--primary-red)}.stat-card{background:var(--card-bg);border:1px solid #f1f5f9;border-radius:1rem;padding:1rem;box-shadow:0 1px 3px #0000000d;transition:transform .2s,box-shadow .2s}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.stat-card.run-card{position:relative}.stat-card.clickable{cursor:pointer}.stat-card.clickable:hover{box-shadow:0 6px 16px #a31d3d26;border-color:var(--primary-red)}.stat-title{font-size:.65rem;font-weight:900;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem}.stat-title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.stat-title-row .stat-title{margin-bottom:0}.edit-run-btn{background:#a31d3d1a;border:none;padding:.5rem;border-radius:.375rem;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--primary-red);transition:all .2s}.edit-run-btn:hover{background:var(--primary-red);color:#fff;transform:scale(1.05)}.stat-header{display:flex;justify-content:flex-end;align-items:flex-start;margin-bottom:1rem}.stat-icon{width:48px;height:48px;border-radius:10px;display:flex;align-items:center;justify-content:center}.stat-trend{font-size:.75rem;color:var(--status-green);font-weight:600}.stat-content{display:flex;flex-direction:column;gap:.25rem}.stat-value{font-size:1.5rem;font-weight:800;color:var(--text-main)}.stat-value-text{font-size:1.25rem;font-weight:700;color:var(--text-main)}.stat-content-run{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.stat-subtitle{font-size:.75rem;color:var(--text-muted);font-weight:600}.run-tooltip{position:absolute;top:100%;right:0;margin-top:10px;background:linear-gradient(135deg,#1e293b,#0f172a);border:1px solid rgba(255,255,255,.1);border-radius:.75rem;padding:1rem;min-width:220px;box-shadow:0 10px 40px #0000004d;opacity:0;visibility:hidden;transform:translateY(-10px);transition:all .3s ease;z-index:1000}.run-tooltip.show{opacity:1;visibility:visible;transform:translateY(0)}.tooltip-arrow{position:absolute;top:-6px;right:10px;width:12px;height:12px;background:#1e293b;border-left:1px solid rgba(255,255,255,.1);border-top:1px solid rgba(255,255,255,.1);transform:rotate(45deg)}.tooltip-content{position:relative}.tooltip-title{font-size:.75rem;font-weight:700;color:var(--primary-red);margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.05em}.tooltip-day{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.05)}.tooltip-day:last-child{border-bottom:none}.tooltip-label{font-size:.75rem;color:var(--text-muted)}.tooltip-name{font-size:.85rem;font-weight:600;color:#e2e8f0}.dashboard-grid{display:grid;grid-template-columns:2fr 1fr;gap:1.5rem;align-items:start}.dashboard-card{background:var(--card-bg);border:1px solid #f1f5f9;border-radius:1rem;padding:1.5rem;box-shadow:0 1px 3px #0000000d}.card-title{font-size:1.125rem;font-weight:700;margin-bottom:1.5rem;color:var(--text-main)}.activity-list{display:flex;flex-direction:column;gap:1rem}.activity-item{display:flex;gap:1rem;padding:1rem;background:#f8fafc;border-radius:8px;border:1px solid #f1f5f9;transition:all .2s}.activity-item:hover{background:#fff1f2;border-color:#fee2e2}.activity-status{width:4px;border-radius:2px;flex-shrink:0}.activity-content{flex:1;display:flex;flex-direction:column;gap:.5rem}.activity-main{display:flex;gap:.5rem;flex-wrap:wrap}.activity-action{font-weight:600;color:var(--text-main)}.activity-resource{color:var(--text-muted);font-family:monospace;font-size:.875rem}.activity-time{font-size:.75rem;color:var(--text-muted)}.service-list{display:flex;flex-direction:column;gap:1rem}.service-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#f8fafc;border:1px solid #f1f5f9;border-radius:8px;transition:all .2s}.service-item:hover{background:#fff;border-color:var(--border-color)}.service-info{display:flex;flex-direction:column;gap:.25rem}.service-name{font-weight:600;color:var(--text-main)}.service-region{font-size:.75rem;color:var(--text-muted)}.service-status{display:flex;align-items:center;gap:.5rem}.status-dot{width:8px;height:8px;border-radius:50%}.status-label{font-size:.875rem;font-weight:500}.status-cloud-card{background-color:#4a0418!important;color:#fff!important;border:none!important}.status-cloud-card .card-title{color:#fff!important;font-size:1rem;margin-bottom:1.5rem}.status-cloud-list{display:flex;flex-direction:column;gap:0}.status-row{display:flex;justify-content:space-between;align-items:center;padding:.35rem 0;font-size:.875rem}.status-badge{font-size:.65rem;padding:.1rem .4rem;border-radius:4px;font-weight:800;letter-spacing:.05em}.bg-up{background:#10b98133;color:#34d399}.bg-delay{background:#ef444433;color:#f87171}.bg-down{background:#ef44444d;color:#ef4444}@media (max-width: 1024px){.stats-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}}@media (max-width: 768px){.stats-grid,.dashboard-grid{grid-template-columns:1fr}}.finops{max-width:1400px;margin:0 auto}.finops-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2.5rem}.title-group h1{font-size:1.875rem;font-weight:800;margin-bottom:.5rem}.finops-subtitle{color:var(--text-muted);font-size:.95rem;font-style:italic}.header-actions{display:flex;gap:1rem;align-items:center}.btn-export{background-color:var(--primary-red);color:#fff;padding:.6rem 1.2rem;border-radius:.5rem;border:none;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .2s}.btn-export:hover{background-color:var(--primary-red-hover)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-bottom:2rem}.card{background:#fff;padding:1.5rem;border-radius:1rem;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9}.card-label{font-size:.65rem;font-weight:900;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem}.card-value{font-size:1.5rem;font-weight:800}.card-subtext{font-size:.75rem;margin-top:.25rem;color:var(--text-muted)}.layout-container{display:grid;grid-template-columns:2fr 1fr;gap:1.5rem}.left-column,.right-column{display:flex;flex-direction:column}.section-box{background:#fff;padding:1.5rem;border-radius:1rem;border:1px solid #f1f5f9;box-shadow:0 1px 3px #0000000d}.section-title{display:flex;align-items:center;gap:.5rem;font-size:1.1rem;font-weight:700;margin-bottom:1.5rem}.chart-placeholder{background:#ffffff05;border-radius:.5rem;padding:2rem;text-align:center}.recommendations-list{display:flex;flex-direction:column;gap:1rem}.recommendation-row{display:flex;gap:1rem;font-size:.85rem;align-items:flex-start}.recommendation-row svg{flex-shrink:0;margin-top:.1rem}.fabric-link{text-decoration:none;display:block}.fabric-box{cursor:pointer;transition:all .3s ease;border:2px solid rgba(239,68,68,.3)}.fabric-box:hover{border-color:var(--primary-red);box-shadow:0 4px 12px #a31d3d26}.service-distribution{display:flex;flex-direction:column;gap:1rem}.service-bar-item{display:flex;flex-direction:column;gap:.5rem}.service-bar-header{display:flex;justify-content:space-between;margin-bottom:.5rem}.service-bar-name{font-size:.85rem;color:var(--text-main)}.service-bar-cost{font-size:.85rem;font-weight:700;color:var(--text-main)}.service-bar-track{width:100%;height:6px;background:#0000000d;border-radius:3px;overflow:hidden}.service-bar-fill{height:100%;border-radius:3px;transition:width .3s ease}.quick-actions{display:flex;flex-direction:column;gap:.75rem}.action-btn{padding:.75rem;border-radius:.5rem;font-weight:600;font-size:.85rem;cursor:pointer;text-align:left;display:flex;align-items:center;gap:.5rem;transition:all .2s;border:1px solid}.action-red{background:#ef44441a;border-color:#ef44444d;color:var(--text-main)}.action-red:hover{background:#ef444426;border-color:#ef444480}.action-blue{background:#3b82f61a;border-color:#3b82f64d;color:var(--text-main)}.action-blue:hover{background:#3b82f626;border-color:#3b82f680}.action-green{background:#10b9811a;border-color:#10b9814d;color:var(--text-main)}.action-green:hover{background:#10b98126;border-color:#10b98180}@media (max-width: 1024px){.stats-grid{grid-template-columns:repeat(2,1fr)}.layout-container{grid-template-columns:1fr}}@media (max-width: 768px){.stats-grid{grid-template-columns:1fr}.finops-header{flex-direction:column;gap:1rem}}.calendrier-equipe{max-width:100%;margin:0 auto;padding:0 1rem}.run-header{margin-bottom:.5rem;display:flex;justify-content:space-between;align-items:flex-start}.settings-container{position:relative}.btn-settings{background:#a31d3d1a;border:none;padding:.5rem;border-radius:.375rem;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--primary-red);transition:all .2s;margin-left:.5rem}.btn-settings:hover{background:var(--primary-red);color:#fff;transform:scale(1.05)}.btn-settings.active{background:var(--primary-red);color:#fff}.settings-menu{position:absolute;top:calc(100% + .5rem);right:0;background:#fff;border:1px solid var(--border-light);border-radius:8px;box-shadow:0 4px 6px #0000001a,0 2px 4px #0000000f;min-width:200px;z-index:1000;animation:slideDown .2s ease;overflow:hidden}.settings-menu-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.875rem 1rem;border:none;background:transparent;color:var(--text-main);font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:left}.settings-menu-item:hover{background:#f8fafc;color:var(--primary-red)}.settings-menu-item:not(:last-child){border-bottom:1px solid var(--border-light)}.run-header h1{font-size:1.875rem;font-weight:800;margin-bottom:.5rem;color:var(--text-main)}.run-subtitle{color:var(--text-muted);font-size:.95rem;font-style:italic}.run-content{display:grid;grid-template-columns:1fr 1.5fr;gap:2rem}.run-form-card,.run-list-card{background:#fff;padding:2rem;border-radius:1rem;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9}.form-title{font-size:1.1rem;font-weight:700;margin-bottom:1.5rem;display:flex;align-items:center;gap:.5rem;color:var(--text-main)}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-size:.875rem;font-weight:600;color:var(--text-main);margin-bottom:.5rem}.form-input{width:100%;padding:.75rem;border:1px solid #e2e8f0;border-radius:.5rem;font-size:.95rem;transition:all .2s}.form-input:focus{outline:none;border-color:var(--primary-red);box-shadow:0 0 0 3px #a31d3d1a}.form-actions{display:flex;gap:1rem;margin-top:2rem}.btn-save{flex:1;background:var(--primary-red);color:#fff;padding:.75rem 1.5rem;border-radius:.5rem;border:none;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .2s}.btn-save:hover{background:var(--primary-red-hover);transform:translateY(-1px);box-shadow:0 4px 12px #a31d3d4d}.btn-cancel{flex:1;background:#f1f5f9;color:var(--text-main);padding:.75rem 1.5rem;border-radius:.5rem;border:none;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .2s}.btn-cancel:hover{background:#e2e8f0}.run-list{display:flex;flex-direction:column;gap:1rem}.run-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;border:1px solid #f1f5f9;border-radius:.75rem;transition:all .2s}.run-item:hover{background:#f8fafc;border-color:#e2e8f0}.run-item-content{display:flex;flex-direction:column;gap:.25rem}.run-date{font-size:.875rem;color:var(--text-muted);text-transform:capitalize}.run-person{font-size:1rem;font-weight:700;color:var(--text-main)}.run-item-actions{display:flex;gap:.5rem}.btn-edit,.btn-delete{padding:.5rem 1rem;border-radius:.375rem;border:none;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-edit{background:#f1f5f9;color:var(--text-main)}.btn-edit:hover{background:#e2e8f0}.btn-delete{background:#fee2e2;color:#991b1b}.btn-delete:hover{background:#fecaca}.absences-section{margin-bottom:3rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.run-alert-card{border-radius:.75rem;padding:1rem 1.5rem;margin-bottom:1.5rem;display:flex;align-items:center;gap:.75rem;font-weight:700;font-size:1rem;animation:slideDown .3s ease-out}.run-alert-card.error{background:#fee2e2;border:2px solid #ef4444;color:#991b1b}.run-alert-card.error svg{color:#ef4444}.run-alert-card.success{background:#dcfce7;border:2px solid #22c55e;color:#166534}.run-alert-card.success svg{color:#22c55e}.absence-header-actions{display:flex;gap:1rem;align-items:center}.section-title{font-size:1.5rem;font-weight:800;display:flex;align-items:center;gap:.75rem;color:var(--text-main)}.btn-add-absence{background:var(--primary-red);color:#fff;padding:.75rem 1.5rem;border-radius:.5rem;border:none;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .2s}.btn-add-absence:hover{background:var(--primary-red-hover);transform:translateY(-1px);box-shadow:0 4px 12px #a31d3d4d}.btn-save-all{background:var(--primary-red);color:#fff;padding:.75rem 1.5rem;border-radius:.5rem;border:none;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .2s}.btn-save-all:hover:not(:disabled){background:var(--primary-red-hover);transform:translateY(-1px);box-shadow:0 4px 12px #a31d3d4d}.btn-save-all:disabled{background:#cbd5e1;cursor:not-allowed;opacity:.6}.absence-legend{background:#fff;padding:1.5rem;border-radius:1rem;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9;margin-bottom:2rem}.legend-title{font-size:1rem;font-weight:700;margin-bottom:1rem;color:var(--text-main)}.legend-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem}.legend-item{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:#f8fafc;border-radius:.5rem;transition:all .2s}.legend-item:hover{background:#f1f5f9}.legend-code{font-weight:900;font-size:.875rem;color:#000;background:var(--primary-red);padding:.25rem .5rem;border-radius:.25rem;min-width:45px;text-align:center}.legend-code.code-c{background:#00b050;color:#000}.legend-code.code-rtt{background:#709a97;color:#000}.legend-code.code-m{background:#4e85d8;color:#000}.legend-code.code-tc{background:#efd8b1;color:#000}.legend-code.code-rtc{background:#b38bed;color:#000}.legend-code.code-r{background:#ef5c37;color:#000}.legend-code.code-f{background:#ffc000;color:#000}.legend-code.code-c2{background:#92d050;color:#000}.legend-code.code-rtt2{background:#c6d7d6;color:#000}.legend-code.code-tc2{background:#f6ead6;color:#000}.legend-code.code-rtc2{background:#caaff3;color:#000}.legend-code.code-f2{background:#ffecaf;color:#000}.legend-label{font-size:.875rem;color:var(--text-main);font-weight:500}.absence-form-card{background:#fff;padding:2rem;border-radius:1rem;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9;margin-bottom:2rem}.form-subtitle{font-size:1.1rem;font-weight:700;margin-bottom:1.5rem;color:var(--text-main)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-bottom:1.5rem}.form-group.full-width{grid-column:1 / -1}.form-input textarea{resize:vertical;min-height:80px;font-family:inherit}.absences-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.absence-card{background:#fff;padding:1.5rem;border-radius:1rem;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9;transition:all .2s}.absence-card:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.absence-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.absence-person-info{display:flex;flex-direction:column;gap:.5rem}.absence-person-info h4{font-size:1.1rem;font-weight:700;color:var(--text-main);margin:0}.absence-type-badge{display:inline-block;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;width:fit-content}.absence-status{padding:.375rem .875rem;border-radius:9999px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.absence-dates{display:flex;align-items:center;gap:.5rem;color:var(--text-muted);font-size:.875rem;margin-bottom:.75rem}.absence-reason{color:var(--text-main);font-size:.9rem;line-height:1.5;margin-bottom:1rem;padding:.75rem;background:#f8fafc;border-radius:.5rem;font-style:italic}.absence-actions{display:flex;gap:.5rem;padding-top:1rem;border-top:1px solid #f1f5f9}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:var(--text-muted);text-align:center}.empty-state svg{opacity:.3;margin-bottom:1rem}.empty-state p{font-size:1rem;font-weight:500}@media (max-width: 968px){.run-content{grid-template-columns:1fr}.section-header{flex-direction:column;gap:1rem;align-items:stretch}.btn-add-absence{justify-content:center}.form-grid,.absences-list{grid-template-columns:1fr}.absence-header{flex-direction:column;gap:.75rem}}.run-section{margin-top:3rem}.month-navigation{display:flex;gap:1rem}.btn-month{background:#fff;border:1px solid #e2e8f0;padding:.5rem 1rem;border-radius:.5rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .2s;color:var(--text-main)}.btn-month:hover{background:#f8fafc;border-color:var(--primary-red);color:var(--primary-red)}.btn-today{background:#a31d3d1a;border:none;padding:.5rem;border-radius:.375rem;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--primary-red);transition:all .2s}.btn-today:hover{background:var(--primary-red);color:#fff;transform:scale(1.05)}.run-calendar-container{background:#fff;border-radius:1rem;box-shadow:0 1px 3px #0000000d;border:1px solid #f1f5f9;overflow:visible;margin:1.5rem 0;position:relative}.run-calendar{overflow-x:auto;overflow-y:visible}.run-calendar-table{width:auto;border-collapse:collapse}.person-header{position:sticky;left:0;background:#f8fafc;z-index:10;font-weight:600;color:var(--text-main);padding:.5rem .75rem;text-align:left;border-bottom:2px solid #e2e8f0;border-right:2px solid #e2e8f0;white-space:nowrap;font-size:.8rem}.day-header{min-width:38px;width:38px;padding:.5rem .15rem;text-align:center;border-bottom:2px solid #e2e8f0;background:#f8fafc;font-size:.7rem}.day-header.weekend{background:#fee2e2}.day-header-content{display:flex;flex-direction:column;align-items:center;gap:.15rem}.day-number{font-weight:700;color:var(--text-main);font-size:.8rem}.day-name{color:var(--text-muted);font-size:.55rem;text-transform:uppercase}.person-cell{position:sticky;left:0;background:#fff;z-index:9;font-weight:600;color:var(--text-main);padding:.5rem .75rem;border-right:2px solid #e2e8f0;border-bottom:1px solid #f1f5f9;font-size:.8rem;white-space:nowrap}.day-cell{padding:0;text-align:center;border-right:1px solid #f1f5f9;border-bottom:1px solid #f1f5f9;position:relative;height:38px}.day-cell.weekend{background:#fafafa}.cell-input{width:100%;height:100%;border:none;outline:none;padding:.25rem;text-align:center;font-size:.75rem;font-weight:900;color:var(--text-main);background:transparent;transition:all .2s;text-transform:uppercase}.cell-input:focus{outline:2px solid var(--primary-red);outline-offset:-2px}.day-cell.weekend .cell-input:not([style*=backgroundColor]){background:#fafafa}.day-cell.weekend .cell-input:focus{background:#fef2f2}.calendar-hint{text-align:center;color:var(--text-muted);font-size:.875rem;font-style:italic;margin-top:1rem}.codes-dropdown{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;box-shadow:0 4px 6px #00000012;margin:1rem 0 1.5rem;overflow:hidden;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;max-height:0;transform:translateY(-10px)}to{opacity:1;max-height:500px;transform:translateY(0)}}.codes-dropdown-header{display:flex;justify-content:center;align-items:center;padding:1rem 1.5rem;background:#f8fafc;border-bottom:1px solid #e2e8f0}.codes-dropdown-title{font-size:1rem;font-weight:700;color:var(--text-main);margin:0}.codes-dropdown-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem;padding:1.5rem}.codes-dropdown-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#f8fafc;border-radius:.5rem;transition:all .2s}.codes-dropdown-item:hover{background:#f1f5f9;transform:translate(4px)}.codes-dropdown-code{font-weight:900;font-size:.875rem;color:#000;padding:.375rem .625rem;border-radius:.375rem;min-width:55px;text-align:center;box-shadow:0 2px 4px #0000001a}.codes-dropdown-code.code-c{background:#00b050;color:#000}.codes-dropdown-code.code-rtt{background:#709a97;color:#000}.codes-dropdown-code.code-m{background:#4e85d8;color:#000}.codes-dropdown-code.code-tc{background:#efd8b1;color:#000}.codes-dropdown-code.code-rtc{background:#b38bed;color:#000}.codes-dropdown-code.code-r{background:#ef5c37;color:#000}.codes-dropdown-code.code-f{background:#ffc000;color:#000}.codes-dropdown-code.code-c2{background:#92d050;color:#000}.codes-dropdown-code.code-rtt2{background:#c6d7d6;color:#000}.codes-dropdown-code.code-tc2{background:#f6ead6;color:#000}.codes-dropdown-code.code-rtc2{background:#caaff3;color:#000}.codes-dropdown-code.code-f2{background:#ffecaf;color:#000}.codes-dropdown-label{font-size:.9375rem;color:var(--text-main);font-weight:600}.btn-help{background:#a31d3d1a;border:none;padding:.5rem;border-radius:.375rem;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--primary-red);transition:all .2s;margin-right:.5rem}.btn-help:hover{background:var(--primary-red);color:#fff;transform:scale(1.05)}.btn-help.active{background:var(--primary-red);color:#fff}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-in-out}.modal-container{background:#fff;border-radius:1rem;box-shadow:0 20px 25px -5px #0000001a;max-width:900px;width:90%;max-height:85vh;display:flex;flex-direction:column;animation:slideUp .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e2e8f0}.modal-title{font-size:1.5rem;font-weight:700;color:var(--text-main);margin:0;display:flex;align-items:center;gap:.75rem}.modal-close-btn{background:#f1f5f9;border:none;border-radius:.5rem;padding:.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.modal-close-btn:hover{background:#e2e8f0;transform:scale(1.05)}.modal-body{padding:1.5rem;overflow-y:auto}.collaborator-form{background:#f8fafc;padding:1.5rem;border-radius:.75rem;margin-bottom:2rem}.form-grid-collaborator{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1rem}.form-grid-code{display:grid;grid-template-columns:120px 1fr 180px;gap:1rem;margin-bottom:1rem}.color-input-group{display:flex;gap:.5rem;align-items:center}.form-input-color{width:50px;height:38px;border:1px solid #e2e8f0;border-radius:.5rem;cursor:pointer;padding:2px}.form-input-color:hover{border-color:var(--primary-red)}.color-preview{display:inline-block;padding:.25rem .75rem;border-radius:4px;color:#fff;font-weight:600;font-size:.85rem;text-align:center;min-width:50px;text-shadow:0 1px 2px rgba(0,0,0,.2)}.collaborators-table-container{overflow-x:auto}.collaborators-table{width:100%;border-collapse:collapse}.collaborators-table thead{background:#f8fafc}.collaborators-table th{padding:.75rem 1rem;text-align:left;font-weight:700;font-size:.875rem;color:var(--text-main);border-bottom:2px solid #e2e8f0}.collaborators-table td{padding:.75rem 1rem;border-bottom:1px solid #f1f5f9;font-size:.875rem;color:var(--text-main)}.collaborators-table tbody tr:hover{background:#f8fafc}.empty-state{text-align:center;padding:2rem!important;color:var(--text-muted);font-style:italic}.table-actions{display:flex;gap:.5rem}.btn-table-edit,.btn-table-delete{padding:.375rem;border-radius:.375rem;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-table-edit{background:#a31d3d1a;color:var(--primary-red)}.btn-table-edit:hover{background:var(--primary-red);color:#fff;transform:scale(1.05)}.btn-table-delete{background:#fee2e2;color:#991b1b}.btn-table-delete:hover{background:#ef4444;color:#fff;transform:scale(1.05)}@media (max-width: 968px){.run-content{grid-template-columns:1fr}.run-header{flex-direction:column;gap:1rem}.settings-container{align-self:flex-end}.settings-menu{right:0}.form-grid-collaborator,.form-grid-code{grid-template-columns:1fr}.color-input-group{flex-direction:column;align-items:stretch}.form-input-color{width:100%}.modal-container{width:95%;max-height:90vh}.section-header{flex-direction:column;gap:1rem;align-items:stretch}.btn-add-absence{justify-content:center}.form-grid,.absences-list{grid-template-columns:1fr}.absence-header{flex-direction:column;gap:.75rem}.month-navigation{flex-direction:column}.codes-dropdown-grid{grid-template-columns:1fr}.run-calendar-container{overflow-x:scroll}.person-header,.person-cell{min-width:100px}.day-header,.day-cell{min-width:40px;width:40px}}:root{--sidebar-bg: #4a0418;--sidebar-hover: #5d061e;--primary-red: #a31d3d;--primary-red-hover: #8a1833;--bg-light: #f8fafc;--card-bg: #ffffff;--text-main: #1e293b;--text-muted: #64748b;--text-accent: #475569;--status-green: #10b981;--status-red: #ef4444;--border-color: #e2e8f0}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-light);color:var(--text-main)}#root{min-height:100vh;display:flex}
