.toast[data-v-b2575197]{position:fixed;bottom:20px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.75rem;padding:.75rem 1.5rem;border-radius:var(--radius-lg);box-shadow:0 8px 32px #0003;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:10000;animation:toastSlideIn-b2575197 .3s ease-out;max-width:90vw;min-width:300px}.toast.toast-success[data-v-b2575197]{background:#34c759f2;color:#fff;border:1px solid rgba(52,199,89,.3)}.toast.toast-error[data-v-b2575197]{background:#ff3b30f2;color:#fff;border:1px solid rgba(255,59,48,.3)}.toast.toast-warning[data-v-b2575197]{background:#ff9500f2;color:#fff;border:1px solid rgba(255,149,0,.3)}.toast.toast-info[data-v-b2575197]{background:#007afff2;color:#fff;border:1px solid rgba(0,122,255,.3)}.toast-icon[data-v-b2575197]{font-size:1.2rem;font-weight:700;flex-shrink:0}.toast-message[data-v-b2575197]{font-weight:500;line-height:1.4}@keyframes toastSlideIn-b2575197{0%{transform:translate(-50%) translateY(100px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.toast.toast-hiding[data-v-b2575197]{animation:toastSlideOut-b2575197 .3s ease-in forwards}@keyframes toastSlideOut-b2575197{0%{transform:translate(-50%) translateY(0);opacity:1}to{transform:translate(-50%) translateY(100px);opacity:0}}.toast-container[data-v-6b75204c]{position:fixed;bottom:0;left:0;right:0;z-index:10000;pointer-events:none}.details-grid[data-v-a0c7bcec]{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:1rem}.detail-section[data-v-a0c7bcec]{background:#fff6;border-radius:var(--radius-md);padding:1.5rem;border:1px solid rgba(0,0,0,.08)}.section-title[data-v-a0c7bcec]{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem;padding-bottom:.5rem;border-bottom:2px solid var(--macos-blue)}.details-table[data-v-a0c7bcec]{width:100%;border-collapse:collapse}.details-table td[data-v-a0c7bcec]{padding:.5rem 0;border-bottom:1px solid rgba(0,0,0,.05);vertical-align:top}.details-table tr:last-child td[data-v-a0c7bcec]{border-bottom:none}.label-cell[data-v-a0c7bcec]{font-weight:500;color:var(--text-secondary);width:35%;padding-right:1rem;font-size:.9rem}.value-cell[data-v-a0c7bcec]{color:var(--text-primary);font-weight:400;word-break:break-word;line-height:1.4;text-align:right}.rdv-info[data-v-a0c7bcec]{display:flex;align-items:center;gap:.5rem}.info-badge[data-v-a0c7bcec]{display:inline-flex;align-items:center;padding:.375rem .75rem;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;background:#ffffffe6;border:1px solid rgba(0,0,0,.08)}.info-badge.success[data-v-a0c7bcec]{background:#34c7591a;color:#34c759;border-color:#34c75933}.equipment-fallback[data-v-a0c7bcec]{color:var(--text-secondary);font-style:italic}@media (max-width: 768px){.details-grid[data-v-a0c7bcec]{grid-template-columns:1fr;gap:1.5rem}.detail-section[data-v-a0c7bcec]{padding:1rem}.label-cell[data-v-a0c7bcec]{width:40%}}.preselected-section[data-v-588b40d2]{margin-bottom:2rem}.section-title[data-v-588b40d2]{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0 0 1.5rem;padding-bottom:.5rem;border-bottom:2px solid var(--macos-blue)}.section-subtitle[data-v-588b40d2]{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem;padding-bottom:.5rem;border-bottom:2px solid var(--macos-blue)}.echeance-info[data-v-588b40d2]{background:#fff9;border-radius:var(--radius-md);padding:1rem;margin-bottom:1.5rem;border:1px solid rgba(0,0,0,.08)}.status-header[data-v-588b40d2]{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.status-badge[data-v-588b40d2]{display:inline-flex;align-items:center;padding:.375rem .75rem;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;background:#ffffffe6;border:1px solid rgba(0,0,0,.08)}.status-a-planifier[data-v-588b40d2]{background:#ff95001a;color:#ff9500;border-color:#ff950033}.datetime-display[data-v-588b40d2]{display:flex;align-items:center;gap:.5rem}.event-date[data-v-588b40d2]{font-size:.9rem;font-weight:500;color:var(--text-primary)}.echeance-info-text[data-v-588b40d2]{font-size:.85rem;color:var(--text-secondary);font-style:italic}.details-grid[data-v-588b40d2]{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:1rem}.detail-section[data-v-588b40d2]{background:#fff6;border-radius:var(--radius-md);padding:1.5rem;border:1px solid rgba(0,0,0,.08)}.details-table[data-v-588b40d2]{width:100%;border-collapse:collapse}.details-table td[data-v-588b40d2]{padding:.5rem 0;border-bottom:1px solid rgba(0,0,0,.05);vertical-align:top}.details-table tr:last-child td[data-v-588b40d2]{border-bottom:none}.label-cell[data-v-588b40d2]{font-weight:500;color:var(--text-secondary);width:35%;padding-right:1rem;font-size:.9rem}.value-cell[data-v-588b40d2]{color:var(--text-primary);font-weight:400;word-break:break-word;line-height:1.4;text-align:right}.rdv-planning-section[data-v-588b40d2]{margin-top:2rem;padding-top:1.5rem;border-top:1px solid rgba(0,0,0,.1)}.form-hint[data-v-588b40d2]{display:block;margin-top:.25rem;font-size:.8rem;color:var(--text-secondary);font-style:italic}@media (max-width: 768px){.details-grid[data-v-588b40d2]{grid-template-columns:1fr;gap:1.5rem}.detail-section[data-v-588b40d2]{padding:1rem}.label-cell[data-v-588b40d2]{width:40%}}.auto-schedule-section[data-v-6cc6e865]{margin-top:1.5rem;padding:1.5rem;background:linear-gradient(135deg,#007aff14,#007aff05);border-radius:var(--radius-lg);border:1px solid rgba(0,122,255,.2)}.auto-schedule-section h3[data-v-6cc6e865]{margin:0 0 1rem;font-size:1.1rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.schedule-info[data-v-6cc6e865]{margin-top:1rem}.info-grid[data-v-6cc6e865]{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.info-card[data-v-6cc6e865]{display:flex;align-items:center;gap:1rem;padding:1rem;background:#fffc;border-radius:var(--radius-md);border:1px solid rgba(0,0,0,.08);transition:all .2s ease}.info-card.primary[data-v-6cc6e865]{background:linear-gradient(135deg,#34c7591a,#34c7590d);border-color:#34c7594d}.info-icon[data-v-6cc6e865]{font-size:1.5rem;min-width:2rem;text-align:center}.info-content[data-v-6cc6e865]{display:flex;flex-direction:column;gap:.25rem;flex:1}.info-label[data-v-6cc6e865]{font-size:.85rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.info-value[data-v-6cc6e865]{font-size:1.1rem;font-weight:600;color:var(--text-primary)}.info-value.emphasis[data-v-6cc6e865]{color:var(--macos-green);font-size:1.2rem}@media (max-width: 768px){.info-grid[data-v-6cc6e865]{grid-template-columns:1fr}}.rdv-info-section[data-v-6cc6e865]{margin-bottom:2rem}.rdv-header[data-v-6cc6e865]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:1rem;background:linear-gradient(135deg,#007aff1a,#007aff0d);border-radius:var(--radius-lg);border:1px solid rgba(0,122,255,.2)}.rdv-date-time[data-v-6cc6e865]{display:flex;align-items:center}.date-badge[data-v-6cc6e865]{display:flex;flex-direction:column;align-items:center;background:#ffffffe6;padding:.75rem 1rem;border-radius:var(--radius-md);box-shadow:0 2px 8px #0000001a;border:1px solid rgba(0,0,0,.08)}.date-day[data-v-6cc6e865]{font-size:1.1rem;font-weight:600;color:var(--text-primary);line-height:1.2}.date-time[data-v-6cc6e865]{font-size:1.2rem;font-weight:700;color:var(--macos-blue);margin-top:.25rem}.rdv-status[data-v-6cc6e865]{display:flex;align-items:center}.status-badge[data-v-6cc6e865]{display:inline-flex;align-items:center;padding:.5rem 1rem;border-radius:var(--radius-full);font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-confirme[data-v-6cc6e865]{background:#ff950026;color:#ff9500;border:1px solid rgba(255,149,0,.3)}.rdv-details[data-v-6cc6e865]{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.detail-card[data-v-6cc6e865]{background:#ffffffb3;border-radius:var(--radius-lg);border:1px solid rgba(0,0,0,.08);overflow:hidden}.card-header[data-v-6cc6e865]{background:#f7f7f7cc;padding:.75rem 1rem;border-bottom:1px solid rgba(0,0,0,.06)}.card-header h4[data-v-6cc6e865]{margin:0;font-size:.9rem;font-weight:600;color:var(--text-secondary);display:flex;align-items:center;gap:.5rem}.card-content[data-v-6cc6e865]{padding:1rem}.client-name[data-v-6cc6e865]{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary);text-transform:capitalize}.equipment-info[data-v-6cc6e865]{margin:0 0 .5rem;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.equipment-serial[data-v-6cc6e865]{margin:0;font-size:.9rem;color:var(--text-secondary);font-style:italic}.report-section[data-v-6cc6e865]{margin-top:1.5rem;padding:1rem;background:#f8f8f880;border-radius:var(--radius-md);border:1px solid rgba(0,0,0,.06)}.checkbox-group[data-v-6cc6e865]{margin:0}.checkbox-label[data-v-6cc6e865]{display:flex;align-items:center;gap:.75rem;cursor:pointer;font-weight:500;color:var(--text-primary)}.checkbox-label input[type=checkbox][data-v-6cc6e865]{width:18px;height:18px;cursor:pointer}.report-info[data-v-6cc6e865]{margin-top:.5rem;margin-left:1.75rem}.report-info small[data-v-6cc6e865]{color:var(--text-tertiary);font-style:italic}@media (max-width: 768px){.rdv-header[data-v-6cc6e865]{flex-direction:column;gap:1rem;align-items:stretch}.rdv-details[data-v-6cc6e865]{grid-template-columns:1fr}.date-badge[data-v-6cc6e865]{flex-direction:row;justify-content:space-between;align-items:center}.date-time[data-v-6cc6e865]{margin-top:0}}.calendar-grid[data-v-e7d50f02]{display:grid;grid-template-columns:repeat(7,1fr);flex:1;height:100%}.day-header[data-v-e7d50f02]{background:#f7f7f7cc;padding:1rem;text-align:center;font-weight:500;color:var(--text-secondary);border-bottom:1px solid rgba(0,0,0,.1);font-size:.9rem}.calendar-day[data-v-e7d50f02]{height:180px;min-height:180px;max-height:180px;border-right:1px solid rgba(0,0,0,.1);border-bottom:1px solid rgba(0,0,0,.1);padding:.5rem;background:#fff9;position:relative;overflow:hidden;transition:background .2s ease}.calendar-day[data-v-e7d50f02]:nth-child(7n){border-right:none}.calendar-day.other-month[data-v-e7d50f02]{background:#ffffff4d;color:var(--text-secondary)}.calendar-day.today[data-v-e7d50f02]{background:#007aff1a;border:2px solid var(--macos-blue)}.calendar-day.has-events[data-v-e7d50f02]{background:#fffc}.day-number[data-v-e7d50f02]{font-weight:500;margin-bottom:.5rem;color:var(--text-primary);font-size:.9rem}.calendar-day.other-month .day-number[data-v-e7d50f02]{color:var(--text-secondary)}.day-events[data-v-e7d50f02]{display:flex;flex-direction:column;gap:.2rem;height:calc(100% - 1.8rem);overflow-y:auto;overflow-x:hidden;padding-right:2px;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.3) transparent}.day-events[data-v-e7d50f02]::-webkit-scrollbar{width:4px}.day-events[data-v-e7d50f02]::-webkit-scrollbar-track{background:transparent}.day-events[data-v-e7d50f02]::-webkit-scrollbar-thumb{background:#0000004d;border-radius:2px}.day-events[data-v-e7d50f02]::-webkit-scrollbar-thumb:hover{background:#00000080}.event-tile[data-v-e7d50f02]{background:#ffffffe6;border-left:3px solid #007aff;padding:.5rem .6rem;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-fast);min-height:38px;display:flex;flex-direction:column;border:1px solid rgba(0,0,0,.1);box-shadow:var(--shadow-sm);flex-shrink:0;gap:2px;justify-content:flex-start}.event-tile[data-v-e7d50f02]:hover{box-shadow:var(--shadow-md)}.event-tile.overdue[data-v-e7d50f02]{background:#fff5f5e6;border-left-color:var(--macos-red);box-shadow:var(--shadow-sm)}.event-tile.upcoming[data-v-e7d50f02]{background:#fffbebe6;border-left-color:var(--macos-orange);box-shadow:var(--shadow-sm)}.event-tile.future[data-v-e7d50f02]{background:#f0fff0e6;border-left-color:var(--macos-green);box-shadow:var(--shadow-sm)}.event-tile.echeance[data-v-e7d50f02]{border-style:dashed;border-width:2px;background:#fffbebb3;border-color:var(--macos-orange);position:relative}.event-tile.echeance.status-echeance-futur[data-v-e7d50f02]{background:#eff6ffb3;border-color:var(--macos-blue);border-style:dashed}.event-tile.echeance.status-echeance-a_planifier[data-v-e7d50f02]{background:#fffbebb3;border-color:var(--macos-orange);border-style:dashed}.event-tile.echeance.status-echeance-rdv_pris[data-v-e7d50f02]{background:#f0fdf4b3;border-color:var(--macos-green);border-style:dashed}.event-tile.echeance.status-echeance-retard[data-v-e7d50f02]{background:#fff5f5b3;border-color:var(--macos-red);border-style:dashed}.event-tile.echeance.status-echeance-a_venir[data-v-e7d50f02]{background:#fffbebb3;border-color:var(--macos-orange);border-style:dashed}.event-tile.echeance.status-echeance-normal[data-v-e7d50f02]{background:#eff6ffb3;border-color:var(--macos-blue);border-style:dashed}.event-tile.echeance.overdue[data-v-e7d50f02]{background:#fff5f5b3;border-color:var(--macos-red);border-style:dashed}.event-tile.echeance.rdv-pris[data-v-e7d50f02]{background:#f0fff0cc;border-color:var(--macos-green);border-style:dashed;opacity:.8}.event-first-line[data-v-e7d50f02]{display:flex;align-items:center;gap:4px;margin-bottom:2px}.event-status-badge[data-v-e7d50f02]{color:#fff;font-size:.5rem;padding:1px 4px;border-radius:var(--radius-sm);font-weight:600;line-height:1.2;white-space:nowrap;flex-shrink:0}.event-status-badge.status-rdv-planifie[data-v-e7d50f02]{background:var(--macos-orange)}.event-status-badge.status-rdv-confirme[data-v-e7d50f02]{background:var(--macos-green)}.event-status-badge.status-rdv-termine[data-v-e7d50f02]{background:#15803d}.event-status-badge.status-rdv-annule[data-v-e7d50f02],.event-status-badge.status-rdv-retard[data-v-e7d50f02]{background:var(--macos-red)}.event-status-badge.status-echeance-rdv_pris[data-v-e7d50f02]{background:var(--macos-green)}.event-status-badge.status-echeance-futur[data-v-e7d50f02]{background:var(--macos-blue)}.event-status-badge.status-echeance-retard[data-v-e7d50f02]{background:var(--macos-red)}.event-status-badge.status-echeance-a_venir[data-v-e7d50f02]{background:var(--macos-orange)}.event-status-badge.status-echeance-normal[data-v-e7d50f02]{background:var(--macos-blue)}.event-status-badge.status-echeance-a_planifier[data-v-e7d50f02]{background:var(--macos-orange)}.event-tile.rendez-vous[data-v-e7d50f02]{background:#ff950033;color:var(--macos-orange);border:2px solid var(--macos-orange)}.event-tile.rdv-annule[data-v-e7d50f02]{background:#ff3b3033;color:var(--macos-red);border:2px solid var(--macos-red)}.event-tile.rdv-confirme[data-v-e7d50f02]{background:#34c7591a;color:var(--macos-green);border:2px solid var(--macos-green)}.event-tile.rdv-retard[data-v-e7d50f02]{background:#ff3b301a;color:var(--macos-red);border:2px solid var(--macos-red)}.event-tile.rdv-termine[data-v-e7d50f02]{background:#22c55e1a;color:#15803d;border:2px solid #15803d;text-decoration:line-through}.event-time[data-v-e7d50f02]{font-size:.6rem;font-weight:600;color:var(--macos-blue);background:#007aff1a;padding:1px 4px;border-radius:var(--radius-sm);flex-shrink:0}.event-title[data-v-e7d50f02]{font-size:.7rem;font-weight:500;color:var(--text-primary);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0}.event-client[data-v-e7d50f02]{font-size:.75rem;color:var(--text-primary);font-weight:500;opacity:.8;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:0;flex-shrink:0}.event-tile[data-v-e7d50f02]{cursor:move}.calendar-day.drag-over[data-v-e7d50f02]{background-color:#007aff1a;border:2px dashed var(--macos-blue)}.event-tile.dragging[data-v-e7d50f02]{opacity:.5;transform:rotate(5deg)}.event-tile.highlighted[data-v-e7d50f02]{animation:highlightPulse-e7d50f02 2s ease-in-out;border:3px solid var(--macos-blue)!important;box-shadow:0 0 20px #007aff80!important;transform:scale(1.05);z-index:10;position:relative}@keyframes highlightPulse-e7d50f02{0%,to{box-shadow:0 0 20px #007aff80}50%{box-shadow:0 0 30px #007affcc}}.scroll-indicator[data-v-e7d50f02]{position:absolute;bottom:4px;right:4px;background:linear-gradient(135deg,#007affe6,#007affb3);color:#fff;border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:10px;line-height:1;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:10;pointer-events:none;opacity:.9;transition:all .2s ease;border:1px solid rgba(255,255,255,.2);box-shadow:0 2px 4px #0000001a}.scroll-indicator[data-v-e7d50f02]:hover{opacity:1;transform:scale(1.1)}.scroll-hint[data-v-e7d50f02]{font-size:10px;font-weight:700;display:block}.empty-agenda-message[data-v-e7d50f02]{display:flex;justify-content:center;align-items:center;min-height:400px;margin-top:40px}.empty-agenda-content[data-v-e7d50f02]{text-align:center;max-width:500px;padding:40px;background:#ffffff0d;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:20px;border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 32px #0000001a}.empty-agenda-content h3[data-v-e7d50f02]{color:var(--macos-text-primary);font-size:1.5rem;font-weight:600;margin-bottom:16px}.empty-agenda-content p[data-v-e7d50f02]{color:var(--macos-text-secondary);font-size:1rem;margin-bottom:20px}.empty-agenda-content ol[data-v-e7d50f02]{text-align:left;color:var(--macos-text-secondary);font-size:.95rem;line-height:1.6}.empty-agenda-content li[data-v-e7d50f02]{margin-bottom:8px;padding-left:8px}.stats-container[data-v-af46dc9a]{max-height:70vh;overflow-y:auto}.stat-card.primary[data-v-af46dc9a],.stat-card.success[data-v-af46dc9a]{background:linear-gradient(135deg,#34c7591a,#34c7590d);border-color:var(--macos-green)}.stat-card.warning[data-v-af46dc9a]{background:linear-gradient(135deg,#ff95001a,#ff95000d);border-color:var(--macos-orange)}.stat-card.info[data-v-af46dc9a]{background:linear-gradient(135deg,#007aff1a,#007aff0d);border-color:var(--macos-blue)}.stat-number[data-v-af46dc9a]{font-size:2.5rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.stat-percentage[data-v-af46dc9a]{font-size:.8rem;color:var(--text-tertiary);margin-top:.25rem}.period-info[data-v-af46dc9a]{display:flex;flex-direction:column;gap:1rem;background:var(--surface-card);padding:1.5rem;border-radius:12px;border:1px solid var(--border-color)}.period-item[data-v-af46dc9a]{display:flex;justify-content:space-between;align-items:center}.period-label[data-v-af46dc9a]{font-weight:500;color:var(--text-secondary)}.period-value[data-v-af46dc9a]{font-weight:600;color:var(--text-primary)}.admin-actions[data-v-af46dc9a]{background:var(--surface-card);padding:1.5rem;border-radius:12px;border:1px solid var(--border-color);text-align:center}.help-text[data-v-af46dc9a]{margin-top:.5rem;font-size:.9rem;color:var(--text-secondary)}.mobile-btn[data-v-b73e1b19]{width:100%;padding:12px 16px;border:none;border-radius:var(--radius-md);font-size:14px;font-weight:500;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:var(--transition-fast);-webkit-tap-highlight-color:transparent;margin-bottom:8px;min-height:var(--mobile-touch-target)}.mobile-btn[data-v-b73e1b19]:last-child{margin-bottom:0}.mobile-btn[data-v-b73e1b19]:active{transform:scale(.98)}.mobile-btn-primary[data-v-b73e1b19]{background:#7dd3fc;color:#0c4a6e;border:1px solid #38bdf8}.mobile-btn-primary[data-v-b73e1b19]:active{background:#38bdf8;color:#fff}.mobile-btn-secondary[data-v-b73e1b19]{background:#cbd5e1;color:#334155;border:1px solid #94a3b8}.mobile-btn-secondary[data-v-b73e1b19]:active{background:#94a3b8;color:#fff}.mobile-btn-success[data-v-b73e1b19]{background:#86efac;color:#14532d;border:1px solid #4ade80}.mobile-btn-success[data-v-b73e1b19]:active{background:#4ade80;color:#fff}.mobile-btn-info[data-v-b73e1b19]{background:#e0e7ff;color:#3730a3;border:1px solid #c7d2fe}.mobile-btn-info[data-v-b73e1b19]:active{background:#c7d2fe;color:#fff}.mobile-btn-warning[data-v-b73e1b19]{background:#fde047;color:#713f12;border:1px solid #facc15}.mobile-btn-warning[data-v-b73e1b19]:active{background:#facc15;color:#fff}.mobile-btn-danger[data-v-b73e1b19]{background:#f87171;color:#7f1d1d;border:1px solid #ef4444}.mobile-btn-danger[data-v-b73e1b19]:active{background:#ef4444;color:#fff}.mobile-btn-create[data-v-b73e1b19]{background:#7dd3fc;color:#0c4a6e;border:1px solid #38bdf8}.mobile-btn-create[data-v-b73e1b19]:active{background:#38bdf8;color:#fff}.mobile-btn-save[data-v-b73e1b19]{background:#60a5fa;color:#1e3a8a;border:1px solid #3b82f6}.mobile-btn-save[data-v-b73e1b19]:active{background:#3b82f6;color:#fff}.mobile-btn-edit[data-v-b73e1b19]{background:#fdba74;color:#9a3412;border:1px solid #fb923c}.mobile-btn-edit[data-v-b73e1b19]:active{background:#fb923c;color:#fff}.mobile-btn-confirm[data-v-b73e1b19]{background:#86efac;color:#14532d;border:1px solid #4ade80}.mobile-btn-confirm[data-v-b73e1b19]:active{background:#4ade80;color:#fff}.mobile-btn-complete[data-v-b73e1b19]{background:#6ee7b7;color:#064e3b;border:1px solid #34d399}.mobile-btn-complete[data-v-b73e1b19]:active{background:#34d399;color:#fff}.mobile-btn-plan[data-v-b73e1b19]{background:#a78bfa;color:#581c87;border:1px solid #8b5cf6}.mobile-btn-plan[data-v-b73e1b19]:active{background:#8b5cf6;color:#fff}.mobile-btn-view[data-v-b73e1b19]{background:#cbd5e1;color:#334155;border:1px solid #94a3b8}.mobile-btn-view[data-v-b73e1b19]:active{background:#94a3b8;color:#fff}.mobile-btn-cancel[data-v-b73e1b19]{background:#e9d5ff;color:#581c87;border:1px solid #d8b4fe}.mobile-btn-cancel[data-v-b73e1b19]:active{background:#d8b4fe;color:#fff}.mobile-btn-email[data-v-b73e1b19]{background:#a5b4fc;color:#312e81;border:1px solid #818cf8}.mobile-btn-email[data-v-b73e1b19]:active{background:#818cf8;color:#fff}.mobile-btn-navigate[data-v-b73e1b19]{background:#c4b5fd;color:#581c87;border:1px solid #a78bfa}.mobile-btn-navigate[data-v-b73e1b19]:active{background:#a78bfa;color:#fff}.mobile-btn-icon[data-v-b73e1b19]{font-size:20px;font-weight:300;line-height:1}.mobile-add-button[data-v-b73e1b19]{margin-bottom:16px;width:100%}.mobile-add-button .mobile-btn[data-v-b73e1b19]{padding:14px 20px;font-size:16px}.mobile-card-content-actions[data-v-b73e1b19]{display:flex;flex-direction:column;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid var(--glass-border)}.mobile-card-content-actions .mobile-btn[data-v-b73e1b19]{flex:1;min-width:0}.modal-actions[data-v-b73e1b19]{display:flex;flex-direction:column;gap:8px;margin-top:20px}.modal-actions .mobile-btn[data-v-b73e1b19]{margin-bottom:0}.equipment-card[data-v-b73e1b19]{background:#fffc;border-radius:12px;padding:1.5rem;margin-bottom:1rem;border:1px solid rgba(0,0,0,.08);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .2s ease}.equipment-card[data-v-b73e1b19]:hover{background:#ffffffe6;transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.equipment-header[data-v-b73e1b19]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid rgba(0,0,0,.08)}.equipment-title h5[data-v-b73e1b19]{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.client-section[data-v-b73e1b19]{background:#fff9;border-radius:12px;padding:1.5rem;margin-bottom:2rem;border:1px solid rgba(0,0,0,.08);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.section-title[data-v-b73e1b19]{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0 0 1.25rem;padding-bottom:.75rem;border-bottom:2px solid var(--macos-blue)}.client-info-grid[data-v-b73e1b19]{display:grid;grid-template-columns:1fr 1fr;gap:1rem 2rem}.info-item[data-v-b73e1b19]{display:flex;flex-direction:column;gap:.35rem}.info-item.full-width[data-v-b73e1b19]{grid-column:1 / -1}.info-label[data-v-b73e1b19]{font-size:.85rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.info-value[data-v-b73e1b19]{font-size:1rem;font-weight:500;color:var(--text-primary);line-height:1.4}.serial-number[data-v-b73e1b19]{font-size:.85rem;color:var(--text-secondary);font-weight:500;margin-top:.25rem;display:block}.equipment-details[data-v-b73e1b19]{margin-top:1rem}.detail-grid[data-v-b73e1b19]{display:grid;grid-template-columns:1fr 1fr;gap:.75rem 1.5rem;margin-bottom:1rem}.detail-item[data-v-b73e1b19]{display:flex;flex-direction:column;gap:.25rem}.detail-item.full-width[data-v-b73e1b19]{grid-column:1 / -1;margin-top:.5rem;padding-top:.75rem;border-top:1px solid rgba(0,0,0,.08)}.detail-label[data-v-b73e1b19]{font-size:.85rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.detail-value[data-v-b73e1b19]{font-size:.95rem;font-weight:500;color:var(--text-primary);line-height:1.4}.comment-text[data-v-b73e1b19]{font-style:italic;line-height:1.5;padding:.5rem;background:#00000005;border-radius:6px;border-left:3px solid var(--macos-blue)}.section-header[data-v-b73e1b19]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.equipment-section h4[data-v-b73e1b19]{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0}.equipment-stats[data-v-b73e1b19]{display:flex;gap:1rem}.stat-item[data-v-b73e1b19]{display:flex;flex-direction:column;align-items:center;gap:.25rem}.stat-number[data-v-b73e1b19]{font-size:1.25rem;font-weight:700;color:var(--macos-blue)}.stat-label[data-v-b73e1b19]{font-size:.8rem;color:var(--text-secondary);font-weight:500}@media (max-width: 768px){.detail-grid[data-v-b73e1b19],.client-info-grid[data-v-b73e1b19]{grid-template-columns:1fr;gap:.75rem}.equipment-card[data-v-b73e1b19]{padding:1rem}.equipment-header[data-v-b73e1b19]{flex-direction:column;gap:.5rem}.client-section[data-v-b73e1b19]{padding:1rem}}.form-section[data-v-187af5a3]{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid rgba(0,0,0,.08)}.form-section[data-v-187af5a3]:last-of-type{border-bottom:none;margin-bottom:0}.section-title[data-v-187af5a3]{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0 0 1.5rem;padding-bottom:.5rem;border-bottom:2px solid var(--macos-blue)}.search-select[data-v-187af5a3]{position:relative;width:100%}.materiel-info .client[data-v-187af5a3]{font-weight:600;color:var(--text-primary);font-size:.95rem;display:block}.materiel-info .equipment[data-v-187af5a3]{font-size:.85rem;color:var(--text-secondary);display:block;margin-top:.25rem}.client-info-section[data-v-187af5a3]{background:#34c7591a;border-radius:var(--radius-md);padding:1rem;border:1px solid rgba(52,199,89,.2)}.form-help[data-v-187af5a3]{font-size:.8rem;color:var(--text-secondary);margin-top:.25rem}@media (max-width: 768px){.form-row[data-v-187af5a3]{grid-template-columns:1fr}.form-section[data-v-187af5a3]{margin-bottom:1.5rem}}.password-policy-indicator[data-v-6d042b10]{margin-top:10px;padding:15px;background:#f8f9fa;border-radius:6px;border:1px solid #e9ecef}.policy-title[data-v-6d042b10]{font-size:14px;font-weight:600;color:#495057;margin-bottom:10px}.policy-rules[data-v-6d042b10]{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:15px}.policy-rule[data-v-6d042b10]{display:flex;align-items:center;font-size:13px;color:#6c757d;transition:color .2s ease}.policy-rule.valid[data-v-6d042b10]{color:#28a745}.rule-icon[data-v-6d042b10]{display:inline-block;width:16px;margin-right:8px;font-weight:700}.strength-indicator[data-v-6d042b10]{margin-top:10px}.strength-bar[data-v-6d042b10]{height:6px;background:#e9ecef;border-radius:3px;overflow:hidden;margin-bottom:5px}.strength-fill[data-v-6d042b10]{height:100%;transition:all .3s ease;border-radius:3px}.strength-fill.weak[data-v-6d042b10]{background:#dc3545}.strength-fill.medium[data-v-6d042b10]{background:#ffc107}.strength-fill.strong[data-v-6d042b10]{background:#28a745}.strength-text[data-v-6d042b10]{font-size:12px;text-align:center;font-weight:500}@media (max-width: 600px){.policy-rules[data-v-6d042b10]{grid-template-columns:1fr}}.permission-category[data-v-fab9cd09]{margin-bottom:1.5rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);overflow:hidden}.category-header[data-v-fab9cd09]{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:#00000005;border-bottom:1px solid var(--border-color)}.category-header h4[data-v-fab9cd09]{margin:0;font-size:.95rem;font-weight:600;color:var(--text-primary)}.toggle-category-btn[data-v-fab9cd09]{padding:.25rem .75rem;font-size:.8rem;background:var(--macos-blue);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-fast)}.toggle-category-btn[data-v-fab9cd09]:hover{background:#0056b3}.permissions-container[data-v-fab9cd09]{max-height:400px;overflow-y:auto;padding:.5rem;background:#00000003;border-radius:var(--radius-sm)}.modal-actions[data-v-fab9cd09]{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-color)}.security-logs-page[data-v-fc6a3406]{padding:2rem;min-height:100vh;background:var(--background-secondary);color:var(--text-primary);width:100%;box-sizing:border-box}.page-header[data-v-fc6a3406]{background:var(--background-primary);border-radius:var(--radius-lg);padding:2rem;margin-bottom:2rem;box-shadow:var(--shadow-sm);border:1px solid var(--border-color)}.header-content[data-v-fc6a3406]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.page-title[data-v-fc6a3406]{font-size:2rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:.75rem;margin:0}.page-title i[data-v-fc6a3406]{color:var(--macos-red);font-size:1.8rem}.header-actions[data-v-fc6a3406]{display:flex;gap:.75rem}.btn[data-v-fc6a3406]{padding:.6rem 1.2rem;border-radius:var(--radius-md);border:none;font-weight:500;cursor:pointer;transition:var(--transition-fast);display:inline-flex;align-items:center;gap:.5rem;font-size:.9rem}.btn-outline[data-v-fc6a3406]{background:var(--background-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-outline[data-v-fc6a3406]:hover{background:var(--background-tertiary)}.btn-primary[data-v-fc6a3406]{background:var(--macos-blue);color:#fff}.btn-primary[data-v-fc6a3406]:hover{background:var(--macos-blue-hover)}.btn-secondary[data-v-fc6a3406]{background:var(--text-secondary);color:#fff}.btn-secondary[data-v-fc6a3406]:hover{background:var(--text-primary)}.btn-danger[data-v-fc6a3406]{background:var(--macos-red);color:#fff}.btn-danger[data-v-fc6a3406]:hover{background:#e60026}.btn[data-v-fc6a3406]:disabled{opacity:.5;cursor:not-allowed}.period-selector[data-v-fc6a3406]{display:flex;align-items:center;gap:1rem}.period-selector label[data-v-fc6a3406]{font-weight:500;color:var(--text-secondary)}.period-selector select[data-v-fc6a3406]{padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--background-primary);color:var(--text-primary);font-size:.9rem}.critical-alerts[data-v-fc6a3406]{background:var(--background-primary);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:2rem;box-shadow:var(--shadow-sm);border:1px solid var(--border-color);border-left:4px solid var(--macos-red)}.critical-alerts h3[data-v-fc6a3406]{margin:0 0 1rem;color:var(--macos-red);font-size:1.1rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.alerts-grid[data-v-fc6a3406]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem}.alert-card[data-v-fc6a3406]{background:var(--background-secondary);border-radius:var(--radius-md);padding:1rem;border:1px solid var(--border-color)}.alert-header[data-v-fc6a3406]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.alert-level[data-v-fc6a3406]{font-size:.8rem;font-weight:600;padding:.2rem .5rem;border-radius:var(--radius-sm);text-transform:uppercase}.alert-level.critical[data-v-fc6a3406]{background:var(--macos-red);color:#fff}.alert-level.alert[data-v-fc6a3406]{background:var(--macos-orange);color:#fff}.alert-time[data-v-fc6a3406]{font-size:.8rem;color:var(--text-secondary)}.alert-message[data-v-fc6a3406]{font-size:.9rem;color:var(--text-primary);margin-bottom:.5rem}.alert-details[data-v-fc6a3406]{font-size:.8rem;color:var(--text-secondary);display:flex;gap:1rem}.stats-title[data-v-fc6a3406]{margin:0 0 1rem;color:var(--text-primary);font-size:1.2rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.stats-section[data-v-fc6a3406]{background:var(--background-primary);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:2rem;box-shadow:var(--shadow-sm);border:1px solid var(--border-color);width:100%;max-width:none;box-sizing:border-box}.stats-grid[data-v-fc6a3406]{display:flex;gap:1.2rem;align-items:flex-start;justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;width:100%;margin:0;padding:0}.stat-card[data-v-fc6a3406]{background:var(--background-secondary);border-radius:var(--radius-md);padding:1.5rem;border:1px solid var(--border-color);display:flex;flex-direction:column;min-height:220px;min-width:240px;flex:0 0 240px}.stat-card h4[data-v-fc6a3406]{margin:0 0 1rem;font-size:1rem;font-weight:600;color:var(--text-primary);flex-shrink:0}.severity-stats[data-v-fc6a3406]{display:flex;flex-direction:column;gap:.5rem;flex-grow:1}.severity-item[data-v-fc6a3406]{display:flex;justify-content:space-between;align-items:center;padding:.75rem;border-radius:var(--radius-sm);font-size:.9rem;margin-bottom:.25rem}.severity-item.critical[data-v-fc6a3406]{background:#ff3b301a;color:var(--macos-red)}.severity-item.alert[data-v-fc6a3406]{background:#ff95001a;color:var(--macos-orange)}.severity-item.warning[data-v-fc6a3406]{background:#ffcc001a;color:var(--macos-yellow)}.severity-item.audit[data-v-fc6a3406]{background:#007aff1a;color:var(--macos-blue)}.severity-item.info[data-v-fc6a3406]{background:#30d1581a;color:var(--macos-green)}.severity-label[data-v-fc6a3406]{font-weight:500}.severity-count[data-v-fc6a3406]{font-weight:600}.auth-stats[data-v-fc6a3406]{display:grid;grid-template-columns:1fr 1fr;gap:1rem;flex-grow:1}.auth-stat[data-v-fc6a3406]{text-align:center;padding:1rem;border-radius:var(--radius-sm)}.auth-stat.success[data-v-fc6a3406]{background:#30d1581a;color:var(--macos-green)}.auth-stat.failure[data-v-fc6a3406]{background:#ff3b301a;color:var(--macos-red)}.auth-stat-value[data-v-fc6a3406]{display:block;font-size:1.5rem;font-weight:700;margin-bottom:.25rem}.auth-stat-label[data-v-fc6a3406]{font-size:.8rem;font-weight:500;text-transform:uppercase}.top-users[data-v-fc6a3406],.recent-ips[data-v-fc6a3406]{display:flex;flex-direction:column;gap:.5rem;flex-grow:1}.user-activity[data-v-fc6a3406],.ip-entry[data-v-fc6a3406]{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:var(--background-primary);border-radius:var(--radius-sm);font-size:.9rem;margin-bottom:.5rem}.username[data-v-fc6a3406],.ip-address[data-v-fc6a3406]{font-weight:500;color:var(--text-primary)}.activity-count[data-v-fc6a3406],.ip-count[data-v-fc6a3406]{font-size:.8rem;color:var(--text-secondary)}.anomalies-section[data-v-fc6a3406]{background:var(--background-primary);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:2rem;box-shadow:var(--shadow-sm);border:1px solid var(--border-color);border-left:4px solid var(--macos-orange)}.anomalies-section h3[data-v-fc6a3406]{margin:0 0 1rem;color:var(--macos-orange);font-size:1.1rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.anomalies-grid[data-v-fc6a3406]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem}.anomaly-card[data-v-fc6a3406]{background:var(--background-secondary);border-radius:var(--radius-md);padding:1rem;border:1px solid var(--border-color)}.anomaly-type[data-v-fc6a3406]{font-weight:600;color:var(--macos-orange);margin-bottom:.5rem;font-size:.9rem}.anomaly-description[data-v-fc6a3406]{color:var(--text-primary);margin-bottom:.5rem;font-size:.9rem}.anomaly-details[data-v-fc6a3406]{color:var(--text-secondary);font-size:.8rem}.logs-section[data-v-fc6a3406]{background:var(--background-primary);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-sm);border:1px solid var(--border-color)}.logs-header h3[data-v-fc6a3406]{margin:0 0 1.5rem;color:var(--text-primary);font-size:1.2rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.filters[data-v-fc6a3406]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem;padding:1rem;background:var(--background-secondary);border-radius:var(--radius-md);border:1px solid var(--border-color)}.filter-group[data-v-fc6a3406]{display:flex;flex-direction:column;gap:.5rem}.filter-group label[data-v-fc6a3406]{font-weight:500;color:var(--text-secondary);font-size:.9rem}.filter-group select[data-v-fc6a3406],.filter-group input[data-v-fc6a3406]{padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--background-primary);color:var(--text-primary);font-size:.9rem}.logs-table[data-v-fc6a3406]{width:100%;border-collapse:collapse;background:var(--background-primary);border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border-color)}.logs-table th[data-v-fc6a3406]{background:var(--background-secondary);padding:1rem;text-align:left;font-weight:600;color:var(--text-primary);border-bottom:2px solid var(--border-color);font-size:.9rem}.logs-table td[data-v-fc6a3406]{padding:.75rem 1rem;border-bottom:1px solid var(--border-color);font-size:.9rem}.logs-table tr[data-v-fc6a3406]:hover{background:var(--background-secondary)}.log-timestamp[data-v-fc6a3406]{font-family:Monaco,Menlo,monospace;font-size:.8rem;color:var(--text-secondary)}.log-level[data-v-fc6a3406]{font-size:.8rem;font-weight:600;padding:.2rem .5rem;border-radius:var(--radius-sm);text-transform:uppercase}.log-level.critical[data-v-fc6a3406]{background:var(--macos-red);color:#fff}.log-level.alert[data-v-fc6a3406]{background:var(--macos-orange);color:#fff}.log-level.warning[data-v-fc6a3406]{background:var(--macos-yellow);color:var(--text-primary)}.log-level.audit[data-v-fc6a3406]{background:var(--macos-blue);color:#fff}.log-level.info[data-v-fc6a3406]{background:var(--macos-green);color:#fff}.log-message[data-v-fc6a3406]{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-actions[data-v-fc6a3406]{text-align:center;padding:.5rem}.btn-details[data-v-fc6a3406]{background:var(--macos-blue);color:#fff;border:none;border-radius:var(--radius-sm);padding:.4rem;cursor:pointer;transition:var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;font-size:.8rem}.btn-details[data-v-fc6a3406]:hover{background:var(--macos-blue-hover)}.modal-overlay[data-v-fc6a3406]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.log-details-modal[data-v-fc6a3406]{max-width:800px;width:100%;max-height:90vh;overflow-y:auto}.modal-content[data-v-fc6a3406]{background:var(--background-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--border-color)}.modal-header[data-v-fc6a3406]{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid var(--border-color);background:var(--background-secondary)}.modal-header h3[data-v-fc6a3406]{margin:0;font-size:1.3rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.modal-header h3 i[data-v-fc6a3406]{color:var(--macos-blue)}.modal-close[data-v-fc6a3406]{background:none;border:none;font-size:1.3rem;color:var(--text-secondary);cursor:pointer;padding:.5rem;border-radius:var(--radius-sm);transition:var(--transition-fast)}.modal-close[data-v-fc6a3406]:hover{background:var(--background-tertiary);color:var(--text-primary)}.modal-body[data-v-fc6a3406]{padding:2rem}.security-logs .details-grid[data-v-fc6a3406],.log-details .details-grid[data-v-fc6a3406]{display:grid;gap:1.5rem}.security-logs .detail-section[data-v-fc6a3406],.log-details .detail-section[data-v-fc6a3406]{background:var(--background-secondary);border-radius:var(--radius-md);padding:1.25rem;border:1px solid var(--border-color)}.security-logs .detail-section h4[data-v-fc6a3406],.log-details .detail-section h4[data-v-fc6a3406]{margin:0 0 1rem;font-size:1rem;font-weight:600;color:var(--text-primary);padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}.detail-item[data-v-fc6a3406]{display:grid;grid-template-columns:140px 1fr;gap:1rem;padding:.5rem 0;border-bottom:1px solid rgba(0,0,0,.05)}.detail-item[data-v-fc6a3406]:last-child{border-bottom:none}.detail-label[data-v-fc6a3406]{font-weight:500;color:var(--text-secondary);font-size:.9rem}.detail-value[data-v-fc6a3406]{color:var(--text-primary);font-size:.9rem;word-break:break-word}.detail-value pre[data-v-fc6a3406]{background:var(--background-tertiary);padding:.75rem;border-radius:var(--radius-sm);font-size:.8rem;margin:0;white-space:pre-wrap;border:1px solid var(--border-color);font-family:Monaco,Menlo,monospace}.raw-data[data-v-fc6a3406]{background:var(--text-primary);color:var(--background-primary);border-radius:var(--radius-md);padding:1.25rem;font-family:Monaco,Menlo,monospace;font-size:.8rem;line-height:1.5;overflow-x:auto;border:1px solid var(--border-color)}.raw-data pre[data-v-fc6a3406]{margin:0;color:inherit;background:none;padding:0;border:none}.loading[data-v-fc6a3406],.no-data[data-v-fc6a3406]{text-align:center;padding:3rem 2rem;color:var(--text-secondary);font-style:italic;background:var(--background-secondary);border-radius:var(--radius-md);border:1px solid var(--border-color)}.loading[data-v-fc6a3406]{display:flex;align-items:center;justify-content:center;gap:1rem}.loading[data-v-fc6a3406]:before{content:"";width:16px;height:16px;border:2px solid var(--border-color);border-top:2px solid var(--macos-blue);border-radius:50%;animation:spin-fc6a3406 1s linear infinite}@keyframes spin-fc6a3406{to{transform:rotate(360deg)}}@media (max-width: 768px){.security-logs-page[data-v-fc6a3406]{padding:1rem}.stats-grid[data-v-fc6a3406]{flex-direction:column;overflow-x:visible}.stat-card[data-v-fc6a3406]{flex:1 1 auto;min-width:auto}.header-content[data-v-fc6a3406]{flex-direction:column;gap:1rem;align-items:flex-start}.stats-grid[data-v-fc6a3406],.alerts-grid[data-v-fc6a3406],.anomalies-grid[data-v-fc6a3406],.auth-stats[data-v-fc6a3406],.filters[data-v-fc6a3406]{grid-template-columns:1fr}.logs-table[data-v-fc6a3406]{font-size:.8rem}.logs-table th[data-v-fc6a3406],.logs-table td[data-v-fc6a3406],.modal-overlay[data-v-fc6a3406]{padding:.5rem}.modal-header[data-v-fc6a3406]{padding:1rem 1.5rem}.modal-body[data-v-fc6a3406]{padding:1.5rem}.detail-item[data-v-fc6a3406]{grid-template-columns:1fr;gap:.25rem}}.purge-modal[data-v-fc6a3406]{max-width:600px}.warning-message[data-v-fc6a3406]{display:flex;align-items:flex-start;gap:1rem;padding:1rem;background:#ff3b301a;border:1px solid var(--macos-red);border-radius:var(--radius-md);margin-bottom:1.5rem}.warning-message i[data-v-fc6a3406]{color:var(--macos-red);font-size:1.5rem;margin-top:.2rem}.warning-message h4[data-v-fc6a3406]{margin:0 0 .5rem;color:var(--macos-red);font-weight:600}.warning-message p[data-v-fc6a3406]{margin:0;color:var(--text-primary);line-height:1.5}.purge-options[data-v-fc6a3406]{margin-bottom:1.5rem}.purge-options h4[data-v-fc6a3406]{margin:0 0 1rem;font-size:1rem;font-weight:600;color:var(--text-primary)}.option-group[data-v-fc6a3406]{margin-bottom:.75rem}.option-group label[data-v-fc6a3406]{display:flex;align-items:center;gap:.75rem;cursor:pointer;padding:.5rem;border-radius:var(--radius-sm);transition:var(--transition-fast)}.option-group label[data-v-fc6a3406]:hover{background:var(--background-tertiary)}.option-group input[type=radio][data-v-fc6a3406]{margin:0}.option-group span[data-v-fc6a3406]{font-size:.95rem;color:var(--text-primary)}.confirmation-input[data-v-fc6a3406]{margin-bottom:1.5rem}.confirmation-input label[data-v-fc6a3406]{display:block;margin-bottom:.5rem;font-weight:600;color:var(--text-primary)}.confirmation-input input[data-v-fc6a3406]{width:100%;padding:.75rem;border:2px solid var(--border-color);border-radius:var(--radius-sm);font-size:1rem;font-weight:600;text-align:center;text-transform:uppercase}.confirmation-input input[data-v-fc6a3406]:focus{outline:none;border-color:var(--macos-red);box-shadow:0 0 0 3px #ff3b301a}.modal-footer[data-v-fc6a3406]{padding:1.5rem 2rem;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:1rem;background:var(--background-secondary);border-radius:0 0 var(--radius-lg) var(--radius-lg)}@media (max-width: 768px){.purge-modal[data-v-fc6a3406]{max-width:95vw}.warning-message[data-v-fc6a3406]{flex-direction:column;text-align:center}.modal-footer[data-v-fc6a3406]{flex-direction:column}.modal-footer .btn[data-v-fc6a3406]{width:100%}}.not-found[data-v-f1134ffb]{display:flex;justify-content:center;align-items:center;min-height:100vh;text-align:center;color:var(--text-secondary);background:linear-gradient(135deg,#f0f2f5,#e8ebf0);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.not-found-content[data-v-f1134ffb]{padding:3rem;max-width:500px;background:#fffc;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-md);box-shadow:var(--shadow-md);border:1px solid rgba(0,0,0,.1)}h1[data-v-f1134ffb]{font-size:5rem;margin:0;color:var(--text-secondary);font-weight:600;letter-spacing:-.02em}h2[data-v-f1134ffb]{font-size:1.5rem;margin-bottom:1rem;color:var(--text-primary);font-weight:600;letter-spacing:-.02em}p[data-v-f1134ffb]{margin-bottom:2rem;font-size:1rem;color:var(--text-secondary);line-height:1.5}.home-button[data-v-f1134ffb]{display:inline-block;padding:.7rem 1.5rem;background:#495057;color:#fff;text-decoration:none;border-radius:var(--radius-sm);font-weight:500;transition:var(--transition-fast);box-shadow:var(--shadow-sm)}.home-button[data-v-f1134ffb]:hover{background:#495057;transform:translateY(-1px);box-shadow:var(--shadow-md)}:root{--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--macos-blue: #007aff;--macos-blue-hover: #0056cc;--macos-red: #ff3b30;--macos-green: #30d158;--macos-orange: #ff9500;--macos-yellow: #ffcc00;--macos-purple: #af52de;--macos-pink: #ff375f;--text-primary: #1d1d1f;--text-secondary: #86868b;--background-primary: #ffffff;--background-secondary: #f5f5f7;--background-tertiary: rgba(0, 0, 0, .03);--border-color: rgba(0, 0, 0, .1);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .1);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--shadow-lg: 0 20px 60px rgba(0, 0, 0, .15);--glass-background: rgba(255, 255, 255, .8);--glass-blur: blur(20px);--radius-xs: 4px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-pill: 100px;--transition-fast: all .2s ease;--transition-medium: all .3s ease}*{box-sizing:border-box;margin:0;padding:0;font-family:var(--font-family)}body{margin:0;padding:0;background:var(--background-secondary)}#app{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;color:var(--text-primary);background:linear-gradient(135deg,#f0f2f5,#e8ebf0)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#0003;border-radius:4px;transition:background .2s}::-webkit-scrollbar-thumb:hover{background:#0000004d}.glass-effect{background:var(--glass-background);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.page-content{flex:1;padding:2rem}.loading,.no-data{text-align:center;padding:2rem;color:var(--text-secondary)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.flex{display:flex}.flex-column{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.5rem}.gap-2{gap:1rem}.gap-3{gap:1.5rem}.gap-4{gap:2rem}.page-container{min-height:100vh;display:flex;flex-direction:column}.page-content{flex:1;padding:1rem 2rem 2rem!important}.loading{text-align:center;padding:2rem;color:var(--text-secondary)}.content-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.content-header.compact{margin-bottom:.5rem}.header-actions{display:flex;align-items:center;gap:1rem}.view-controls{display:flex;background:#ffffffb3;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid rgba(0,0,0,.1)}.view-btn{background:transparent;border:none;padding:.6rem .8rem;cursor:pointer;transition:var(--transition-fast);font-size:1.1rem;border-right:1px solid rgba(0,0,0,.1)}.view-btn:last-child{border-right:none}.view-btn:hover{background:#0000000d}.view-btn.active{background:var(--macos-blue);color:#fff}.grid-view{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:2rem}.card{background:#ffffffb3;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:1.5rem;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:var(--transition-fast);border:1px solid rgba(0,0,0,.1)}.card:hover{background:#ffffffe6}.card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.card-header h3{color:var(--text-primary);margin:0;font-size:1.3rem;font-weight:600}.card-actions{display:flex;gap:.5rem}.card-info p{margin:.5rem 0;color:var(--text-secondary)}.card-info strong{color:var(--text-primary)}.card-btn{border:none;padding:.5rem;border-radius:var(--radius-sm);cursor:pointer;font-size:1rem;transition:var(--transition-fast);min-width:35px;height:35px;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm)}.card-btn.details{background:var(--macos-blue);color:#fff}.card-btn.details:hover{background:var(--macos-blue)}.card-btn.edit{background:var(--macos-orange);color:#fff}.card-btn.edit:hover{background:var(--macos-orange)}.card-btn.delete{background:var(--macos-red);color:#fff}.card-btn.delete:hover{background:var(--macos-red)}.badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:var(--radius-sm);font-size:.85rem;font-weight:500;white-space:nowrap}.status-badge{padding:.4rem .8rem;border-radius:15px;font-size:.85rem;font-weight:500;display:inline-block}.type-badge{padding:.25rem .75rem;border-radius:var(--radius-sm);font-size:.85rem;font-weight:500;white-space:nowrap}.type-badge.maintenance{background:#34c7591a;color:var(--macos-green)}.type-badge.urgence{background:#ff3b301a;color:var(--macos-red)}.type-badge.depannage{background:#ff95001a;color:var(--macos-orange)}.type-badge.installation{background:#007aff1a;color:var(--macos-blue)}.status-badge.planifie{background:#ff95001a;color:var(--macos-orange)}.status-badge.termine,.status-termine{background:#22c55e1a;color:#15803d}.status-badge.annule,.status-rdv-annule{background:#ff3b301a;color:var(--macos-red)}.status-rdv-planifie{background:#6366f11a;color:var(--macos-blue)}.status-rdv-confirme{background:#22c55e1a;color:#15803d}.status-rdv-termine{background:#6b72801a;color:#6b7280}.status-rdv-retard,.status-badge.retard,.status-retard{background:#ff3b301a;color:var(--macos-red)}.status-badge.suspendu,.status-suspendu{background:#6b72801a;color:#6b7280}.status-badge.refuse,.status-refuse,.status-badge.status-echeance-retard,.status-echeance-retard{background:#ff3b301a;color:var(--macos-red)}.status-badge.status-echeance-a_venir,.status-echeance-a_venir{background:#ff95001a;color:var(--macos-orange)}.status-badge.status-echeance-futur,.status-echeance-futur{background:#6366f11a;color:var(--macos-blue)}.status-badge.status-echeance-rdv_pris,.status-echeance-rdv_pris{background:#34c7591a;color:var(--macos-green)}.status-indicator.status-echeance-retard .status-dot{background:var(--macos-red)}.status-indicator.status-echeance-a_venir .status-dot{background:var(--macos-orange)}.status-indicator.status-echeance-futur .status-dot{background:var(--macos-blue)}.status-indicator.status-echeance-rdv_pris .status-dot{background:var(--macos-green)}.time-badge{background:#007aff1a;color:var(--macos-blue);padding:.2rem .5rem;border-radius:10px;font-size:.8rem;font-weight:600}.btn{background:#e2e8f0;border:1px solid rgba(0,0,0,.1);border-radius:var(--radius-sm);padding:.4rem .6rem!important;cursor:pointer;transition:all .2s ease;font-weight:500;color:#1e293b;font-size:.85rem!important;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;white-space:nowrap;min-width:fit-content!important}.btn:hover:not(:disabled){box-shadow:0 4px 12px #00000026}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-sm{padding:.3rem .5rem!important;font-size:.75rem!important;min-width:fit-content!important}.btn-lg{padding:.6rem 1rem;font-size:1rem;min-width:fit-content}.btn-loading{opacity:.8;cursor:wait}.btn-active{box-shadow:0 0 0 2px #3b82f680}.btn-create{background:#7dd3fc;color:#0c4a6e;border-color:#38bdf8}.btn-create:hover:not(:disabled){background:#38bdf8;color:#fff;box-shadow:0 4px 12px #7dd3fc66}.btn-save{background:#60a5fa;color:#1e3a8a;border-color:#3b82f6}.btn-save:hover:not(:disabled){background:#3b82f6;color:#fff;box-shadow:0 4px 12px #60a5fa66}.btn-plan{background:#a78bfa;color:#581c87;border-color:#8b5cf6}.btn-plan:hover:not(:disabled){background:#8b5cf6;color:#fff;box-shadow:0 4px 12px #a78bfa66}.btn-confirm{background:#86efac;color:#14532d;border-color:#4ade80}.btn-confirm:hover:not(:disabled){background:#4ade80;color:#fff;box-shadow:0 4px 12px #86efac66}.btn-complete{background:#6ee7b7;color:#064e3b;border-color:#34d399}.btn-complete:hover:not(:disabled){background:#34d399;color:#fff;box-shadow:0 4px 12px #6ee7b766}.btn-finish{background:#bef264;color:#365314;border-color:#a3e635}.btn-finish:hover:not(:disabled){background:#a3e635;color:#fff;box-shadow:0 4px 12px #bef26466}.btn-validate{background:#99f6e4;color:#134e4a;border-color:#5eead4}.btn-validate:hover:not(:disabled){background:#5eead4;color:#fff;box-shadow:0 4px 12px #99f6e466}.btn-edit{background:#fdba74;color:#9a3412;border-color:#fb923c}.btn-edit:hover:not(:disabled){background:#fb923c;color:#fff;box-shadow:0 4px 12px #fdba7466}.btn-update{background:#fde047;color:#713f12;border-color:#facc15}.btn-update:hover:not(:disabled){background:#facc15;color:#fff;box-shadow:0 4px 12px #fde04766}.btn-change{background:#fed7aa;color:#92400e;border-color:#fbbf24}.btn-change:hover:not(:disabled){background:#fbbf24;color:#fff;box-shadow:0 4px 12px #fed7aa66}.btn-delete{background:#f87171;color:#7f1d1d;border-color:#ef4444}.btn-delete:hover:not(:disabled){background:#ef4444;color:#fff;box-shadow:0 4px 12px #f8717166}.btn-cancel-action{background:#f472b6;color:#831843;border-color:#ec4899}.btn-cancel-action:hover:not(:disabled){background:#ec4899;color:#fff;box-shadow:0 4px 12px #f472b666}.btn-disable{background:#fca5a5;color:#7f1d1d;border-color:#f87171}.btn-disable:hover:not(:disabled){background:#f87171;color:#fff;box-shadow:0 4px 12px #fca5a566}.btn-remove{background:#fda4af;color:#881337;border-color:#fb7185}.btn-remove:hover:not(:disabled){background:#fb7185;color:#fff;box-shadow:0 4px 12px #fda4af66}.btn-view{background:#cbd5e1;color:#334155;border-color:#94a3b8}.btn-view:hover:not(:disabled){background:#94a3b8;color:#fff;box-shadow:0 4px 12px #cbd5e166}.btn-close{background:#d1d5db;color:#374151;border-color:#9ca3af}.btn-close:hover:not(:disabled){background:#9ca3af;color:#fff;box-shadow:0 4px 12px #d1d5db66}.btn-cancel{background:#e9d5ff;color:#581c87;border-color:#d8b4fe}.btn-cancel:hover:not(:disabled){background:#d8b4fe;color:#fff;box-shadow:0 4px 12px #e9d5ff66}.btn-info{background:#e0e7ff;color:#3730a3;border-color:#c7d2fe}.btn-info:hover:not(:disabled){background:#c7d2fe;color:#fff;box-shadow:0 4px 12px #e0e7ff66}.btn-email{background:#a5b4fc;color:#312e81;border-color:#818cf8}.btn-email:hover:not(:disabled){background:#818cf8;color:#fff;box-shadow:0 4px 12px #a5b4fc66}.btn-navigate{background:#c4b5fd;color:#581c87;border-color:#a78bfa}.btn-navigate:hover:not(:disabled){background:#a78bfa;color:#fff;box-shadow:0 4px 12px #c4b5fd66}.btn-toggle{background:#d8b4fe;color:#581c87;border-color:#c084fc}.btn-toggle:hover:not(:disabled){background:#c084fc;color:#fff;box-shadow:0 4px 12px #d8b4fe66}.btn-sync{background:#bfdbfe;color:#1e3a8a;border-color:#93c5fd}.btn-sync:hover:not(:disabled){background:#93c5fd;color:#fff;box-shadow:0 4px 12px #bfdbfe66}.btn-logout{background:#ef4444;color:#fff;border-color:#ef4444}.btn-logout:hover:not(:disabled){background:#dc2626;color:#fff;box-shadow:0 4px 12px #ef444466}.btn-primary{background:#7dd3fc;color:#0c4a6e;border-color:#38bdf8}.btn-primary:hover:not(:disabled){background:#38bdf8;color:#fff;border-color:#38bdf8;box-shadow:0 4px 12px #7dd3fc66}.btn-group{display:flex;gap:.75rem;flex-wrap:wrap}.btn-group-end{display:flex;gap:.75rem;justify-content:flex-end;flex-wrap:wrap}.btn-group-center{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.btn-group-stretch{display:flex;gap:.75rem;justify-content:space-between;flex-wrap:wrap}.btn-success{background:var(--macos-green);color:#fff;border-color:var(--macos-green)}.btn-success:hover:not(:disabled){background:#16a34a;border-color:#16a34a;color:#fff}.btn-warning{background:var(--macos-orange);color:#fff;border-color:var(--macos-orange)}.btn-warning:hover:not(:disabled){background:#ea580c;border-color:#ea580c;color:#fff}.btn-danger{background:var(--macos-red);color:#fff;border-color:var(--macos-red)}.btn-danger:hover:not(:disabled){background:#dc2626;border-color:#dc2626;color:#fff}.btn-secondary{background:#0000000d;color:var(--text-primary);border-color:var(--border-color)}.btn-secondary:hover:not(:disabled){background:#0000001a;color:var(--text-primary)}.navbar{background:#fffc;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:1rem 2rem;box-shadow:0 1px 0 var(--border-color);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:100;gap:2rem}.nav-brand h1{color:var(--text-primary);margin:0;font-size:1.5rem;font-weight:600;letter-spacing:-.02em}.nav-actions{display:flex;align-items:center;flex:1;justify-content:flex-start;margin-left:2rem}.action-buttons{display:flex;align-items:center}.view-toggle{display:flex;background:#fffc;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-md);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(0,0,0,.1)}.toggle-btn{background:transparent;border:none;padding:.6rem 1.2rem;cursor:pointer;transition:var(--transition-fast);font-weight:400;color:var(--text-primary);border-radius:var(--radius-sm);font-size:.9rem}.toggle-btn:hover{background:#007aff1a;color:var(--macos-blue)}.toggle-btn.active{background:var(--macos-blue);color:#fff;font-weight:500;box-shadow:var(--shadow-sm)}.nav-links{display:flex;align-items:center;gap:2rem}.nav-link{text-decoration:none;color:var(--text-primary);font-weight:400;padding:.5rem 1rem;border-radius:var(--radius-sm);transition:var(--transition-fast);position:relative;font-size:.95rem;white-space:nowrap}.nav-link:hover{color:var(--macos-blue);background:#007aff1a}.nav-link.router-link-active{color:var(--macos-blue);background:#007aff26;font-weight:500}.search-container{position:relative;display:flex;align-items:center}.search-input{width:280px;padding:.5rem 1rem .5rem 2.5rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:.95rem;font-weight:400;background:#fffc;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:var(--transition-fast)}.search-input::placeholder{color:var(--text-secondary)}.search-icon{position:absolute;left:.75rem;color:var(--text-secondary);font-size:.9rem;pointer-events:none}.search-dropdown{position:absolute;top:calc(100% + .5rem);left:0;right:0;background:#fffffff2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(0,0,0,.1);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);max-height:400px;overflow-y:auto;z-index:1000;animation:dropdownFadeIn .2s ease}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.search-result-item{padding:.75rem 1rem;border-bottom:1px solid rgba(0,0,0,.05);cursor:pointer;transition:var(--transition-fast);display:flex;justify-content:space-between;align-items:center;gap:1rem}.search-result-item:last-child{border-bottom:none}.search-result-item:hover{background:#007aff1a}.result-main{flex:1;display:flex;flex-direction:column;gap:.25rem;min-width:0}.result-client{font-weight:600;color:var(--text-primary)}.result-materiel{font-size:.9rem;color:var(--text-secondary)}.result-type{font-size:.8rem;font-weight:500;padding:.1rem .4rem;border-radius:var(--radius-sm);display:inline-block;margin-left:.5rem}.result-type.echeance{background:#ff950026;color:#ff9500}.result-type.rendez_vous{background:#007aff26;color:#007aff}.result-date{font-size:.85rem;font-weight:500;padding:.25rem .5rem;border-radius:var(--radius-sm);white-space:nowrap}.result-date.overdue{background:#ff3b301a;color:var(--macos-red)}.result-date.upcoming{background:#ff95001a;color:var(--macos-orange)}.result-date.future{background:#34c7591a;color:var(--macos-green)}@media (max-width: 768px){.navbar{padding:1rem}.nav-links{gap:1rem}.search-input{width:200px}.nav-link{padding:.5rem .75rem;font-size:.9rem}}.table-container{background:#fffc;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid rgba(0,0,0,.1);overflow:hidden}.data-table{width:100%;border-collapse:collapse}.data-table thead{background:#00000005}.data-table th{padding:1rem;text-align:left;font-weight:600;color:var(--text-primary);border-bottom:2px solid rgba(0,0,0,.1)}.sortable-header{cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;transition:background-color .2s}.sortable-header:hover{background:#0000000d}.sort-indicator{margin-left:.5rem;font-size:.8rem;color:var(--text-secondary);transition:color .2s}.sort-indicator.sort-asc{color:var(--macos-blue)}.sort-indicator.sort-asc:after{content:"↑"}.sort-indicator.sort-desc{color:var(--macos-blue)}.sort-indicator.sort-desc:after{content:"↓"}.data-table td{padding:1rem;border-bottom:1px solid rgba(0,0,0,.1);vertical-align:middle;height:50px;max-height:50px;box-sizing:border-box;overflow:hidden}.table-row:hover{background:#00000005}.equipment-cell{min-width:200px}.equipment-info{display:flex;flex-direction:column;gap:.25rem}.brand-icon-tiny{width:32px;height:32px;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:.8rem;flex-shrink:0}.equipment-name{font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.equipment-model{font-size:.9rem;color:var(--text-secondary)}.serial-cell{font-family:SF Mono,Monaco,monospace;font-size:.9rem;color:var(--text-secondary)}.status-indicator{display:inline-flex;align-items:center;gap:.5rem;padding:.25rem .75rem;border-radius:var(--radius-md);font-size:.8rem;font-weight:500}.status-indicator .status-dot{width:8px;height:8px;border-radius:50%}.status-indicator.overdue{background:#ff3b301a;color:var(--macos-red)}.status-indicator.overdue .status-dot{background:var(--macos-red)}.status-indicator.due-soon{background:#ff95001a;color:var(--macos-orange)}.status-indicator.due-soon .status-dot{background:var(--macos-orange)}.status-indicator.good{background:#30d1581a;color:var(--macos-green)}.status-indicator.good .status-dot{background:var(--macos-green)}.status-indicator.rdv-scheduled{background:#6366f11a;color:var(--macos-blue)}.status-indicator.rdv-scheduled .status-dot{background:var(--macos-blue)}.actions-cell{white-space:nowrap}.actions-cell .btn{margin-right:.5rem}.actions-cell .btn:last-child{margin-right:0}.table-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.table-actions .btn{margin:0}.comment-cell{max-width:200px;word-wrap:break-word}.comment-preview{cursor:help;font-size:.8rem;font-style:italic;color:var(--text-secondary)}.no-comment{color:var(--text-secondary);font-style:italic}.data-table tbody td:first-child{font-weight:600;color:var(--text-primary)}.client-name,.equipment-name{font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.client-info{display:flex;flex-direction:column;gap:.25rem}.sub-info{font-size:.85rem;color:var(--text-secondary)}.date-cell{display:flex;align-items:center;gap:.5rem}.no-data{text-align:center;padding:4rem;color:var(--text-secondary);background:#fff9;border-radius:var(--radius-md);box-shadow:var(--shadow-md);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(0,0,0,.1);font-size:1.1rem}.filters-section{background:#fffc;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid rgba(0,0,0,.1);padding:1rem 1.5rem;margin:0 0 1rem!important;min-height:80px;display:flex;align-items:center}.page-content .filters-section:first-of-type{margin-top:0!important;margin-bottom:1rem!important}.page-content{padding:1rem 2rem 2rem!important}.filters-row{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;width:100%;min-height:48px}.filters-left{display:flex;align-items:center;gap:2rem;flex-wrap:wrap;flex:1;min-height:48px}.filters-right{display:flex;align-items:center;gap:1rem;min-height:48px}.filter-group{display:flex;align-items:center;gap:.75rem;min-width:fit-content}.filter-group label{font-weight:500;color:var(--text-primary);white-space:nowrap;font-size:.9rem}.filter-group select{padding:.5rem 1rem;border:1px solid rgba(0,0,0,.1);border-radius:var(--radius-sm);background:#ffffffe6;color:var(--text-primary);font-size:.9rem;cursor:pointer;transition:var(--transition-fast);min-width:120px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.filter-group select:hover{border-color:var(--macos-blue);background:#fffffff2}.filter-group select:focus{outline:none;border-color:var(--macos-blue);box-shadow:0 0 0 3px #007aff1a}.filter-action-btn{background:var(--macos-blue);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:var(--radius-sm);font-weight:500;font-size:.9rem;cursor:pointer;transition:var(--transition-fast);box-shadow:var(--shadow-sm);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);white-space:nowrap}.filter-action-btn:hover{background:#0056d1;box-shadow:var(--shadow-md)}.summary-stats{display:flex;gap:1.5rem;align-items:center}.stat{font-weight:500;font-size:.9rem;padding:.5rem 1rem;border-radius:20px;background:#fffc;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(0,0,0,.1);white-space:nowrap}.stat.overdue{color:var(--macos-red);background:#fff5f5cc;border-color:#ff453a33}.stat.upcoming{color:var(--macos-orange);background:#fffbebcc;border-color:#ff9f0a33}.stat.total{color:var(--macos-blue);background:#f0f8ffcc;border-color:#007aff33}.stat.pending{color:var(--macos-orange);background:#fffbebcc;border-color:#ff9f0a33}.stat.confirmed{color:var(--macos-green);background:#f0fff0cc;border-color:#34c75933}.stat.today{color:var(--macos-purple);background:#faf5ffcc;border-color:#af52de33}.stat.week{color:var(--macos-blue);background:#f0f8ffcc;border-color:#007aff33}@media (max-width: 768px){.filters-row{flex-direction:column;align-items:stretch;gap:1rem}.filters-left{gap:1rem}.filters-right{justify-content:center;flex-direction:column;gap:1rem}.summary-stats{gap:1rem;flex-wrap:wrap;justify-content:center}.filter-group,.filter-group select{flex:1;min-width:auto}}@media (max-width: 480px){.filters-left{flex-direction:column;align-items:stretch}.filter-group{flex-direction:column;align-items:stretch;gap:.5rem}.filter-group label{text-align:left}}body.modal-open{overflow:hidden;position:fixed;width:100%;height:100%}.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;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:fadeIn .2s ease;overflow-y:auto;-webkit-overflow-scrolling:touch}.modal{background:#fffffff2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid rgba(0,0,0,.1);max-width:90vw;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:slideIn .3s ease;position:relative;margin:20px}.modal-body{overflow-y:auto;-webkit-overflow-scrolling:touch;max-height:calc(90vh - 120px)}.modal.tiny{width:90%!important;max-width:420px!important;min-height:auto!important;max-height:450px!important;padding:.5rem!important;height:auto!important}.modal.small{width:90%;max-width:450px;min-height:300px;max-height:500px}.modal.medium{width:90%;max-width:600px;min-height:400px;max-height:700px}.modal.large{width:90%;max-width:800px;min-height:500px;max-height:800px}.modal.extra-large{width:95%;max-width:1000px;min-height:600px;max-height:900px}.modal:not(.small):not(.medium):not(.large):not(.extra-large){width:90%;max-width:600px;min-height:400px;max-height:700px}@keyframes slideIn{0%{transform:translateY(20px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{padding:1rem 1.5rem;border-bottom:1px solid rgba(0,0,0,.1);background:#f7f7f7cc;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.modal-title,.modal-header h2,.modal-header h3{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.modal-close,.close-btn{background:#0000000d;border:none;width:32px;height:32px;font-size:1.25rem;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:var(--transition-fast);padding:0}.modal-close:hover,.close-btn:hover{background:#0000001a;color:var(--text-primary)}.modal-content,.modal-body{padding:1rem 1.5rem;overflow-y:auto;flex:1}.modal-body.compact{padding:.5rem .75rem;text-align:center}.modal.tiny .modal-body.compact{padding:1rem!important;overflow:visible!important;flex:1!important;max-height:none!important}.modal.tiny .modal-actions{padding:1rem!important;gap:.75rem!important;flex-shrink:0!important}.modal.tiny .confirmation-content .message p{margin:.3rem 0!important;font-size:.9rem!important;line-height:1.4!important;word-wrap:break-word!important}.modal.tiny .btn{padding:.3rem .6rem!important;font-size:.85rem!important}.modal-section{margin-bottom:1.5rem}.modal-section:last-child{margin-bottom:0}.modal-section-title{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin-bottom:.75rem;padding-bottom:.25rem;border-bottom:1px solid var(--border-color)}.modal-footer{padding:.75rem 1.5rem 1rem;border-top:1px solid rgba(0,0,0,.1);background:#f7f7f7cc;display:flex;justify-content:flex-end;gap:.75rem;flex-shrink:0}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem;padding:1rem 1.5rem 1.5rem;border-top:1px solid var(--border-color);background:#f7f7f7cc;flex-shrink:0}.modal-form{padding:1rem 1.5rem;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}.form-group:last-child{margin-bottom:0}.form-group.inline{flex-direction:row;align-items:center;gap:1rem}.form-label,.form-group label{display:block;margin-bottom:.25rem;font-weight:500;color:var(--text-primary);font-size:.9rem}.form-control,.form-input,.form-select,.form-textarea{width:100%;padding:.6rem .8rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:.95rem;font-weight:400;transition:var(--transition-fast);box-sizing:border-box;background:#fffc;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.form-input::placeholder,.form-textarea::placeholder,.form-control::placeholder{color:var(--text-secondary)}.form-select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2714%27%20height%3D%278%27%20viewBox%3D%270%200%2014%208%27%20fill%3D%27none%27%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%3E%3Cpath%20d%3D%27M1%201L7%207L13%201%27%20stroke%3D%27%2386868b%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27/%3E%3C/svg%3E);background-repeat:no-repeat;background-position:right 1rem center;background-size:14px;padding-right:2.5rem}.form-input:focus,.form-select:focus,.form-textarea:focus,.form-control:focus{outline:none;border-color:var(--macos-blue);box-shadow:0 0 0 3px #007aff26;background:#fff}.form-textarea{resize:vertical;min-height:60px;font-family:inherit}.form-textarea.large{min-height:80px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.form-row.three-cols{grid-template-columns:1fr 1fr 1fr}.form-row.four-cols{grid-template-columns:1fr 1fr 1fr 1fr}.form-help{display:block;margin-top:.25rem;color:var(--text-secondary);font-size:.875rem;font-weight:400}.modal .btn{gap:.5rem;min-width:auto}.cancel-btn,.submit-btn{padding:.75rem 1.5rem;border-radius:var(--radius-sm);font-weight:500;font-size:.95rem;cursor:pointer;transition:var(--transition-fast);border:none;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;text-decoration:none}.btn:disabled,.submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.btn.loading{pointer-events:none;position:relative}.btn.loading:after{content:"";position:absolute;width:16px;height:16px;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:spin 1s linear infinite}.form-error{color:var(--macos-red);font-size:.8rem;margin-top:.25rem;display:block}.form-input.error,.form-select.error,.form-textarea.error,.form-control.error{border-color:var(--macos-red);box-shadow:0 0 0 3px #ff3b3026}.form-input.success,.form-select.success,.form-textarea.success,.form-control.success{border-color:var(--macos-green, #28a745);box-shadow:0 0 0 3px #28a74526}.form-success{color:var(--macos-green, #28a745);font-size:.8rem;margin-top:.25rem;display:block}.form-warning{color:var(--macos-orange, #fd7e14);font-size:.8rem;margin-top:.25rem;display:block}.search-container{position:relative;width:100%}.search-input{width:100%;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:1rem;font-weight:400;transition:var(--transition-fast);box-sizing:border-box;background:#fffc;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.search-input:focus{outline:none;border-color:var(--macos-blue);box-shadow:0 0 0 3px #007aff26;background:#fff}.dropdown{position:absolute;top:100%;left:0;right:0;background:#fffffff2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-color);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);z-index:1000;max-height:300px;overflow-y:auto;margin-top:4px}.dropdown-item{padding:.75rem 1rem;cursor:pointer;transition:var(--transition-fast);border-bottom:1px solid rgba(0,0,0,.05)}.dropdown-item:last-child{border-bottom:none}.dropdown-item:hover{background:#007aff1a}.dropdown-empty{padding:1rem;text-align:center;color:var(--text-secondary);font-style:italic}.client-search-container{position:relative;width:100%}.client-search-input{width:100%;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:1rem;font-weight:400;transition:var(--transition-fast);box-sizing:border-box;background:#fffc;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.client-dropdown{position:absolute;top:100%;left:0;right:0;background:#fffffff2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-color);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);z-index:1000;max-height:300px;overflow-y:auto;margin-top:4px}.client-dropdown-item{padding:.75rem 1rem;cursor:pointer;transition:var(--transition-fast);border-bottom:1px solid rgba(0,0,0,.05)}.client-dropdown-item:hover{background:#007aff1a}.client-dropdown-info{display:flex;flex-direction:column;gap:.25rem}.client-dropdown-name{font-weight:600;color:var(--text-primary);font-size:.95rem}.client-dropdown-details{font-size:.85rem;color:var(--text-secondary)}.client-dropdown-empty{padding:1rem;text-align:center;color:var(--text-secondary);font-style:italic}.preselected-client{width:100%;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:#fffc;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-sizing:border-box}.modal-header .header-content{display:flex;align-items:center;gap:1rem}.modal-header .header-icon{width:48px;height:48px;background:linear-gradient(135deg,var(--primary-color),var(--primary-light));border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 12px #007aff4d}.modal-header .header-text h3{margin:0;font-size:1.4rem;font-weight:600;color:var(--text-primary)}.modal-header .header-text p{margin:.25rem 0 0;font-size:.9rem;color:var(--text-secondary)}.reminder-info{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin:1.5rem 0}.info-card{background:#fffc;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(0,0,0,.08);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:0 2px 8px #0000000d;transition:var(--transition-normal)}.info-card:hover{box-shadow:0 4px 16px #0000001a}.card-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.card-icon{width:32px;height:32px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:#fff}.client-icon{background:linear-gradient(135deg,#4caf50,#81c784)}.equipment-icon{background:linear-gradient(135deg,#ff9800,#ffb74d)}.card-header h4{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary)}.card-content{padding-left:0}.client-name,.equipment-name{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0 0 .75rem;line-height:1.3}.contact-info{display:flex;flex-direction:column;gap:.5rem}.contact-item{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--text-secondary)}.contact-item svg{opacity:.7}.equipment-details{display:flex;align-items:center;gap:.5rem;font-size:.9rem}.serial-label{color:var(--text-secondary)}.serial-number{font-weight:500;color:var(--text-primary);background:#007aff1a;padding:.2rem .5rem;border-radius:var(--radius-xs);font-family:monospace}.action-choices{margin:2rem 0 1.5rem}.section-header{text-align:center;margin-bottom:1.5rem}.section-header h4{margin:0 0 .5rem;font-size:1.2rem;font-weight:600;color:var(--text-primary)}.section-header p{margin:0;font-size:.95rem;color:var(--text-secondary)}.choice-buttons{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.choice-btn{background:#ffffffe6;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:2px solid rgba(0,0,0,.08);border-radius:var(--radius-lg);padding:1.5rem;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;overflow:hidden;min-height:140px}.choice-btn:hover{box-shadow:0 8px 24px #00000026;border-color:var(--primary-color)}.choice-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.primary-choice{border-color:#4caf504d;background:linear-gradient(135deg,#4caf500d,#81c7840d)}.primary-choice:hover{border-color:#4caf50;background:linear-gradient(135deg,#4caf501a,#81c7841a)}.secondary-choice{border-color:#ff98004d;background:linear-gradient(135deg,#ff98000d,#ffb74d0d)}.secondary-choice:hover{border-color:#ff9800;background:linear-gradient(135deg,#ff98001a,#ffb74d1a)}.choice-icon{width:48px;height:48px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;margin-bottom:1rem;color:#fff}.email-icon{background:linear-gradient(135deg,#4caf50,#81c784);box-shadow:0 4px 12px #4caf504d}.pdf-icon{background:linear-gradient(135deg,#ff9800,#ffb74d);box-shadow:0 4px 12px #ff98004d}.choice-content{flex:1;display:flex;flex-direction:column;justify-content:center}.choice-content h5{margin:0 0 .5rem;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.choice-content p{margin:0 0 1rem;font-size:.9rem;color:var(--text-secondary);line-height:1.4}.choice-badge{font-size:.75rem;padding:.3rem .6rem;border-radius:var(--radius-xs);font-weight:500;text-transform:uppercase;letter-spacing:.5px;background:#0000001a;color:var(--text-secondary)}.choice-badge.recommended{background:linear-gradient(135deg,#4caf50,#81c784);color:#fff;box-shadow:0 2px 4px #4caf504d}.choice-arrow{position:absolute;top:1rem;right:1rem;font-size:1.2rem;color:var(--text-tertiary);transition:var(--transition-normal)}.choice-btn:hover .choice-arrow{color:var(--primary-color)}.processing-indicator{background:#fffffff2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(0,122,255,.2);border-radius:var(--radius-lg);padding:2rem;text-align:center;margin:1.5rem 0;box-shadow:0 4px 16px #007aff1a}.processing-content{display:flex;flex-direction:column;align-items:center;gap:1rem}.processing-spinner{width:48px;height:48px;color:var(--primary-color)}.processing-spinner .spinner{animation:spin 1s linear infinite}.processing-text{display:flex;flex-direction:column;gap:.5rem}.processing-message{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary)}.processing-sub{margin:0;font-size:.9rem;color:var(--text-secondary)}@media (max-width: 768px){.reminder-info{grid-template-columns:1fr;gap:1rem}.choice-buttons{grid-template-columns:1fr}.choice-btn{min-height:120px;padding:1.25rem}.modal-header .header-content{gap:.75rem}.modal-header .header-icon{width:40px;height:40px}.modal-header .header-text h3{font-size:1.2rem}}.client-display{display:flex;align-items:center;gap:.75rem}.client-icon{font-size:1.5rem;color:var(--macos-blue)}.client-name{font-weight:600;color:var(--text-primary);font-size:1rem}.client-label{font-size:.8rem;color:var(--text-secondary);font-style:italic}.confirmation-content{display:flex;align-items:flex-start;gap:1rem}.icon-warning{font-size:2rem;flex-shrink:0;color:var(--macos-orange, #fd7e14)}.message p{margin:0;color:var(--text-primary);line-height:1.5}.client-info-section{margin-bottom:1.5rem;padding:1rem;background:#34c7591a;border-radius:var(--radius-sm);border:1px solid rgba(52,199,89,.2)}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.info-item{display:flex;flex-direction:column;gap:.25rem}.info-item .label{font-size:.8rem;color:var(--text-secondary);font-weight:500}.info-item .value{font-weight:600;color:var(--text-primary)}.status-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.date-time-info{display:flex;align-items:center;gap:.5rem}.status-badge{padding:.25rem .75rem;border-radius:var(--radius-sm);font-size:.8rem;font-weight:600;text-transform:uppercase}.datetime-display{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--text-secondary)}.event-date{font-weight:600;color:var(--text-primary)}.event-time{color:var(--text-secondary)}.search-select{position:relative;width:100%}.no-results{padding:1rem;text-align:center;color:var(--text-secondary);font-style:italic;background:#00000005;border-radius:var(--radius-sm)}.highlighted{background:#007aff1a}.materiel-info{display:flex;flex-direction:column;gap:.25rem}.equipment-card{padding:1rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--surface-card)}.equipment-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.equipment-name{font-weight:600;color:var(--text-primary);font-size:1.1rem}.equipment-serial{font-size:.9rem;color:var(--text-secondary);font-family:Courier New,monospace}.modal .client-info{margin-bottom:1.5rem;padding:1rem;background:#34c7591a;border-radius:var(--radius-sm);border:1px solid rgba(52,199,89,.2)}.modal .client-info h4{margin:0 0 .75rem;color:var(--macos-green);font-size:1rem;font-weight:600}.client-details p{margin:.2rem 0;color:var(--text-primary);font-size:.9rem}.client-details p:first-child{font-weight:600;font-size:.95rem}.prompt-section{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1.5rem;padding:1rem;background:#007aff0d;border-radius:var(--radius-sm);border:1px solid rgba(0,122,255,.1)}.prompt-icon{min-width:70px;height:35px;padding:0 .5rem;background:var(--macos-blue);color:#fff;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.7rem;flex-shrink:0;text-align:center;word-break:keep-all;white-space:nowrap}.prompt-text h4{margin:0 0 .4rem;color:var(--text-primary);font-size:1rem;font-weight:600}.prompt-text p{margin:0;color:var(--text-secondary);line-height:1.4;font-size:.9rem}.material-count-info{margin-top:1rem;padding:.75rem;background:#ff95001a;border-radius:var(--radius-sm);border:1px solid rgba(255,149,0,.2)}.count-display{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.material-icon{font-size:1.2rem;color:var(--macos-orange)}.count-text{font-weight:600;color:var(--text-primary);font-size:.9rem}.materials-list{display:flex;flex-direction:column;gap:.4rem}.material-item{display:flex;justify-content:space-between;align-items:center;padding:.4rem .6rem;background:#fffc;border-radius:var(--radius-sm);border:1px solid rgba(0,0,0,.05)}.material-name{font-weight:500;color:var(--text-primary);font-size:.9rem}.material-serial{font-size:.8rem;color:var(--text-secondary);font-family:monospace}.modal-actions .skip-btn{background:#0000000d;color:var(--text-primary);border:1px solid var(--border-color);padding:.6rem 1.2rem;border-radius:var(--radius-sm);font-weight:500;cursor:pointer;transition:var(--transition-fast);font-size:.9rem}.modal-actions .skip-btn:hover{background:#0000001a;box-shadow:var(--shadow-sm)}.modal-actions .add-material-btn{background:var(--macos-blue);color:#fff;border:none;padding:.6rem 1.2rem;border-radius:var(--radius-sm);font-weight:500;cursor:pointer;transition:var(--transition-fast);box-shadow:var(--shadow-sm);font-size:.9rem}.modal-actions .add-material-btn:hover{background:#0056b3;box-shadow:var(--shadow-md)}.loading{opacity:.6;cursor:wait;position:relative}.loading:after{content:"";position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid rgba(0,0,0,.1);border-top-color:var(--macos-blue);border-radius:50%;animation:spin 1s linear infinite}.error{color:var(--macos-red);font-size:.875rem;margin-top:.5rem}.info-row{display:flex;align-items:flex-start;gap:.5rem;padding:.5rem 0;border-bottom:1px solid rgba(0,0,0,.05)}.info-row:last-child{border-bottom:none}.info-label{font-size:.875rem;color:var(--text-secondary);font-weight:500;min-width:120px;flex-shrink:0}.info-value{font-weight:600;color:var(--text-primary);flex:1}.status-badge.planifie{background:#007aff1a;color:var(--macos-blue)}.status-badge.confirme{background:#34c7591a;color:var(--macos-green)}.status-badge.en-cours{background:#ff95001a;color:var(--macos-orange)}.status-badge.termine{background:#8e8e931a;color:var(--text-secondary)}.status-badge.annule,.status-badge.overdue{background:#ff3b301a;color:var(--macos-red)}.status-badge.upcoming{background:#ff95001a;color:var(--macos-orange)}.alert{padding:.75rem 1rem;border-radius:var(--radius-sm);margin-bottom:1rem;font-size:.9rem;line-height:1.4}.alert.info{background:#007aff1a;color:var(--macos-blue);border:1px solid rgba(0,122,255,.2)}.alert.success{background:#34c7591a;color:var(--macos-green);border:1px solid rgba(52,199,89,.2)}.alert.warning{background:#ff95001a;color:var(--macos-orange);border:1px solid rgba(255,149,0,.2)}.alert.error{background:#ff3b301a;color:var(--macos-red);border:1px solid rgba(255,59,48,.2)}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}.section-title{font-size:1.1rem;font-weight:600;color:var(--text-primary)}.details-section{margin-bottom:1.5rem}.stats-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.stat-card{padding:1rem;background:#00000005;border-radius:var(--radius-sm);border:1px solid var(--border-color)}.stat-value{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:.25rem}.stat-label{font-size:.875rem;color:var(--text-secondary)}.modal-table{width:100%;border-collapse:collapse;margin-top:1rem}.modal-table th{background:#0000000d;padding:.75rem;text-align:left;font-weight:600;font-size:.875rem;color:var(--text-secondary);border-bottom:1px solid var(--border-color)}.modal-table td{padding:.75rem;border-bottom:1px solid rgba(0,0,0,.05)}.modal-table tr:last-child td{border-bottom:none}.permissions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:.5rem;padding:1rem;background:#00000005;border-radius:var(--radius-sm);max-height:300px;overflow-y:auto}.permission-item{display:flex;align-items:center;gap:.5rem;padding:.25rem}.permission-checkbox{width:18px;height:18px;cursor:pointer}.permission-label{font-size:.9rem;color:var(--text-primary);cursor:pointer;-webkit-user-select:none;user-select:none}.event-list{display:flex;flex-direction:column;gap:.75rem}.event-item{padding:.75rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--surface-card);cursor:pointer;transition:var(--transition-fast)}.event-item:hover{box-shadow:var(--shadow-sm)}.event-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.event-title{font-weight:600;color:var(--text-primary)}.event-details{font-size:.875rem;color:var(--text-secondary);line-height:1.4}.options-list{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem}.option-item{display:flex;align-items:center;gap:.75rem;padding:.5rem;background:#00000005;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-fast)}.option-item:hover{background:#007aff1a}.option-input{flex-shrink:0}.option-label{flex:1;display:flex;flex-direction:column;gap:.25rem}.option-title{font-weight:500;color:var(--text-primary)}.option-description{font-size:.875rem;color:var(--text-secondary)}.field-group{display:flex;align-items:center;gap:.5rem}.field-group label{font-weight:500;color:var(--text-primary);min-width:100px}.empty-message{text-align:center;padding:2rem;color:var(--text-secondary);font-style:italic}.text-muted{color:var(--text-secondary)}.text-small{font-size:.875rem}.text-center{text-align:center}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}@media (max-width: 768px){.modal{margin:1rem 0;width:100%;max-width:100vw;max-height:calc(100vh - 2rem)}.modal-header,.modal-content,.modal-body,.modal-footer,.modal-form{padding-left:1rem;padding-right:1rem}.form-row,.form-row.three-cols,.form-row.four-cols{grid-template-columns:1fr}.modal-actions,.modal-footer{flex-direction:column-reverse}.btn,.cancel-btn,.submit-btn{width:100%}}@media (max-width: 640px){.modal.tiny,.modal.small,.modal.medium,.modal.large,.modal.extra-large{width:calc(100vw - 2rem);margin:1rem}.modal-header h2,.modal-header h3,.modal-title{font-size:1.1rem}.form-group.inline{flex-direction:column;align-items:stretch}}.confirmation-content .message{text-align:left;line-height:1.5}.confirmation-content .message p{margin:0 0 .75rem;color:var(--text)}.confirmation-content .message p:last-child{margin-bottom:0}.bullet-point{display:block;margin:.4rem 0;padding-left:1rem;color:var(--text-secondary);font-size:.9rem;position:relative}.bullet-point:before{content:"•";color:var(--macos-red);font-weight:700;position:absolute;left:0;top:0}.warning-text{display:block;margin:1rem 0 0;padding:.75rem;background:#ff95001a;border:1px solid rgba(255,149,0,.3);border-radius:var(--radius-sm);color:var(--macos-orange);font-weight:600;text-align:center;font-size:.9rem}.confirmation-content .message p:first-child{font-weight:600;color:var(--text);margin-bottom:1rem}.settings-container{max-width:1200px;margin:0 auto;padding:2rem}.tabs{display:flex;border-bottom:2px solid rgba(0,0,0,.1);margin-bottom:2rem;background:#fffc;border-radius:var(--radius-md) var(--radius-md) 0 0;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);overflow:hidden;box-shadow:var(--shadow-sm)}.tab-btn{background:transparent;border:none;padding:1rem 2rem;cursor:pointer;font-weight:500;color:var(--text-secondary);transition:var(--transition-fast);border-bottom:3px solid transparent;position:relative;white-space:nowrap;font-size:.95rem}.tab-btn:hover{background:#007aff0d;color:var(--text-primary)}.tab-btn.active{color:var(--macos-blue);background:#007aff1a;border-bottom-color:var(--macos-blue);font-weight:600}.tab-content{background:#fffc;border-radius:0 0 var(--radius-md) var(--radius-md);padding:2rem;box-shadow:var(--shadow-md);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(0,0,0,.1);border-top:none;min-height:500px}.settings-section{margin-bottom:3rem}.settings-section:last-child{margin-bottom:0}.section-title{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid rgba(0,122,255,.2)}.section-description{color:var(--text-secondary);margin-bottom:2rem;line-height:1.6}.field-group{display:grid;grid-template-columns:200px 1fr;gap:1rem;align-items:start;margin-bottom:1.5rem;padding:1rem;background:#ffffff80;border-radius:var(--radius-sm);border:1px solid rgba(0,0,0,.05)}.field-group label{font-weight:500;color:var(--text-primary);padding-top:.5rem}.field-group input,.field-group textarea,.field-group select{width:100%;padding:.75rem;border:1px solid rgba(0,0,0,.2);border-radius:var(--radius-sm);background:#ffffffe6;color:var(--text-primary);font-size:.95rem;transition:var(--transition-fast);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.field-group input:focus,.field-group textarea:focus,.field-group select:focus{outline:none;border-color:var(--macos-blue);box-shadow:0 0 0 3px #007aff26;background:#fff}.field-group textarea{resize:vertical;min-height:100px}.toggle-control{display:flex;align-items:center;gap:1rem}.toggle-switch{position:relative;width:50px;height:24px;background:#0003;border-radius:12px;cursor:pointer;transition:var(--transition-fast);border:none;outline:none}.toggle-switch.active{background:var(--macos-blue)}.toggle-switch:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border-radius:50%;transition:var(--transition-fast);box-shadow:var(--shadow-sm)}.toggle-switch.active:after{transform:translate(26px)}.time-control{display:flex;align-items:center;gap:1rem}.time-input{width:120px;text-align:center;font-family:SF Mono,Monaco,monospace;font-weight:500}.section-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1rem;border-top:1px solid rgba(0,0,0,.1)}.status-message{padding:1rem;border-radius:var(--radius-sm);margin-bottom:1rem;font-weight:500}.status-message.success{background:#34c7591a;color:var(--macos-green);border:1px solid rgba(52,199,89,.2)}.status-message.error{background:#ff3b301a;color:var(--macos-red);border:1px solid rgba(255,59,48,.2)}.status-message.warning{background:#ff95001a;color:var(--macos-orange);border:1px solid rgba(255,149,0,.2)}.test-section{background:#007aff0d;border:1px solid rgba(0,122,255,.2);border-radius:var(--radius-sm);padding:1.5rem;margin-top:2rem}.test-results{margin-top:1rem;padding:1rem;border-radius:var(--radius-sm);font-family:SF Mono,Monaco,monospace;font-size:.9rem;background:#0000000d;border:1px solid rgba(0,0,0,.1);white-space:pre-wrap}@media (max-width: 768px){.settings-container{padding:1rem}.settings-tabs{flex-wrap:wrap}.tab-button{flex:1;min-width:120px;padding:.75rem 1rem;font-size:.9rem}.tab-content{padding:1.5rem}.field-group{grid-template-columns:1fr;gap:.5rem}.field-group label{padding-top:0}.section-actions{flex-direction:column}}@media (max-width: 480px){.tab-button{padding:.5rem .75rem;font-size:.85rem}.section-title{font-size:1.3rem}.toggle-control{flex-direction:column;align-items:flex-start;gap:.5rem}}.agenda-container{display:flex;flex-direction:column;gap:2rem}.agenda-header{display:flex;justify-content:space-between;align-items:center;background:#fffc;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:1.5rem 2rem;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid rgba(0,0,0,.1)}.agenda-title{font-size:2rem;font-weight:600;color:var(--text-primary);margin:0}.agenda-controls{display:flex;align-items:center;gap:1rem}.calendar-view{background:#fffc;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid rgba(0,0,0,.1);overflow:hidden}.calendar-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;background:#00000005;border-bottom:1px solid rgba(0,0,0,.1)}.date-navigation{display:flex;flex-direction:column;align-items:center;gap:.5rem}.date-navigation h3{margin:0;font-size:1.5rem;font-weight:600;color:var(--text-primary);text-transform:capitalize}.date-selectors{display:flex;gap:.5rem;align-items:center}.month-selector,.year-selector{padding:.4rem .8rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:#ffffffe6;font-size:.875rem;color:var(--text-primary);cursor:pointer;transition:var(--transition-fast);min-width:90px}.month-selector{min-width:120px}.year-selector{min-width:80px}.month-selector:hover,.year-selector:hover{background:var(--background-primary);border-color:var(--macos-blue)}.month-selector:focus,.year-selector:focus{outline:none;border-color:var(--macos-blue);box-shadow:0 0 0 3px #007aff1a}.calendar-navigation{display:flex;align-items:center;gap:1rem}.nav-btn{background:none;border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:.5rem .75rem;cursor:pointer;transition:var(--transition-fast);color:var(--text-primary)}.nav-btn:hover{background:#007aff1a;border-color:var(--macos-blue);color:var(--macos-blue)}.calendar-month{font-size:1.25rem;font-weight:600;color:var(--text-primary);min-width:200px;text-align:center}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-day-header{padding:1rem;text-align:center;font-weight:600;color:var(--text-secondary);background:#00000005;border-bottom:1px solid rgba(0,0,0,.1);font-size:.9rem}.calendar-day{min-height:120px;border-right:1px solid rgba(0,0,0,.1);border-bottom:1px solid rgba(0,0,0,.1);padding:.5rem;display:flex;flex-direction:column;position:relative}.calendar-day:nth-child(7n){border-right:none}.calendar-day.other-month{background:#00000005;color:var(--text-secondary)}.calendar-day.today{background:#007aff0d}.day-number{font-weight:600;color:var(--text-primary);margin-bottom:.5rem;font-size:.9rem}.calendar-day.other-month .day-number{color:var(--text-secondary)}.calendar-day.today .day-number{color:var(--macos-blue)}.day-events{display:flex;flex-direction:column;gap:2px;flex:1}.calendar-event{padding:2px 6px;border-radius:4px;font-size:.7rem;line-height:1.2;cursor:pointer;transition:var(--transition-fast);border:1px solid transparent;display:flex;align-items:center;gap:4px}.calendar-event.echeance{background:#ff950033;color:#b45309;border-style:dashed;border-color:#ff950066}.calendar-event.rdv-planifie{background:#34c75933;color:#166534;border-color:#34c75966}.calendar-event.overdue{background:#ff3b3033;color:#dc2626;border-color:#ff3b3066}.calendar-event.termine{background:#34c7594d;color:#166534;border-color:#34c75980}.calendar-event.termine-past-due{background:#9ca3af33;color:#6b7280;border-color:#9ca3af66;text-decoration:line-through;opacity:.7}.calendar-event:hover{box-shadow:0 2px 8px #00000026}.event-tile{padding:2px 6px;border-radius:4px;font-size:.7rem;line-height:1.2;cursor:pointer;transition:var(--transition-fast);border:1px solid transparent;display:flex;flex-direction:column;gap:1px;margin-bottom:2px}.event-tile:hover{box-shadow:0 2px 8px #00000026}.event-tile.echeance{background:#ff950033;color:#b45309;border-style:dashed;border-color:#ff950066}.event-tile.overdue{background:#ff3b3033;color:#dc2626;border-color:#ff3b3066}.event-tile.retard{background:#ff950033;color:#b45309;border-color:#ff950066}.event-tile.rdv-planifie{background:#6366f133;color:#4338ca;border-color:#6366f166}.event-tile.rdv-confirme{background:#34c75933;color:#166534;border-color:#34c75966}.event-tile.rdv-termine{background:#6b728033;color:#6b7280;border-color:#6b728066}.event-tile.rdv-retard{background:#ff3b3033;color:#dc2626;border-color:#ff3b3066}.event-tile.rdv-annule{background:#ff3b3033;color:#dc2626;border-color:#ff3b3066;opacity:.7}.event-tile.rdv-pris{background:#34c75933;color:#166534;border-color:#34c75966}.event-tile.rdv-en-cours{background:#ff950033;color:#b45309;border-color:#ff950066}.event-title{font-weight:500;font-size:.7rem}.event-client{font-size:.65rem;opacity:.8}.event-time{font-weight:600;font-size:.65rem}.list-view{background:#fffc;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid rgba(0,0,0,.1)}.list-header{padding:1.5rem 2rem;border-bottom:1px solid rgba(0,0,0,.1);background:#00000005}.list-filters{display:flex;gap:1rem;flex-wrap:wrap}.filter-btn{padding:.5rem 1rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:#fffc;cursor:pointer;transition:var(--transition-fast);font-size:.9rem;color:var(--text-primary)}.filter-btn:hover{background:#007aff1a;border-color:var(--macos-blue);color:var(--macos-blue)}.filter-btn.active{background:var(--macos-blue);border-color:var(--macos-blue);color:#fff}.events-list{padding:1rem 0;max-height:600px;overflow-y:auto}.event-item{padding:1rem 2rem;border-bottom:1px solid rgba(0,0,0,.05);cursor:pointer;transition:var(--transition-fast);display:flex;align-items:center;gap:1rem}.event-item:hover{background:#007aff0d}.event-indicator{width:12px;height:12px;border-radius:50%;flex-shrink:0}.event-indicator.echeance{background:var(--macos-orange)}.event-indicator.rdv-planifie{background:var(--macos-green)}.event-indicator.overdue{background:var(--macos-red)}.event-details{flex:1;display:flex;justify-content:space-between;align-items:center}.event-main{display:flex;flex-direction:column;gap:.25rem}.event-title{font-weight:600;color:var(--text-primary);font-size:.95rem}.event-subtitle{font-size:.85rem;color:var(--text-secondary)}.event-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.event-date{font-weight:500;font-size:.9rem}.event-date.overdue{color:var(--macos-red)}.event-date.upcoming{color:var(--macos-orange)}.event-date.future{color:var(--macos-green)}.event-status{font-size:.8rem;padding:.25rem .5rem;border-radius:var(--radius-sm);font-weight:500}.event-status.echeance{background:#ff95001a;color:var(--macos-orange)}.event-status.rdv-planifie{background:#34c7591a;color:var(--macos-green)}@media (max-width: 1024px){.calendar-day{min-height:100px}.calendar-event{font-size:.65rem}}@media (max-width: 768px){.agenda-header{flex-direction:column;gap:1rem;text-align:center}.calendar-day{min-height:80px;padding:.25rem}.calendar-event{font-size:.6rem;padding:1px 4px}.event-item{flex-direction:column;align-items:flex-start;gap:.5rem}.calendar-view .event-details,.agenda-view .event-details{width:100%;flex-direction:column;align-items:flex-start;gap:.5rem}.event-meta{align-items:flex-start}}.login-container,.reset-password-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#e3f2fd,#bbdefb,#90caf9);padding:1rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.login-card,.reset-password-card{background:#fffffff2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-md);box-shadow:0 8px 32px #007aff33;border:1px solid rgba(0,122,255,.1);width:100%;max-width:420px;overflow:hidden}.login-header,.card-header{background:linear-gradient(135deg,var(--macos-blue) 0%,#1976d2 100%);color:#fff;padding:2.5rem;text-align:center}.login-header h1,.card-header h2{margin:0;font-size:1.8rem;font-weight:600;letter-spacing:-.02em;text-shadow:0 1px 2px rgba(0,0,0,.1)}.login-header p{color:#ffffffe6;margin:.5rem 0 0;font-size:.95rem}.card-body{padding:2.5rem}.login-form,.reset-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:500;color:var(--text-primary);font-size:.95rem}.auth-input,.form-control{padding:.875rem 1rem;border:2px solid rgba(0,122,255,.15);border-radius:var(--radius-sm);font-size:1rem;transition:var(--transition-fast);background:#ffffffe6;color:var(--text-primary)}.auth-input:focus,.form-control:focus{outline:none;border-color:var(--macos-blue);box-shadow:0 0 0 3px #007aff26;background:#fff}.auth-input::placeholder,.form-control::placeholder{color:var(--text-secondary)}.login-btn,.btn-primary{background:linear-gradient(135deg,var(--macos-blue) 0%,#1976d2 100%);color:#fff;border:none;padding:.875rem 1.5rem;border-radius:var(--radius-sm);font-size:1rem;font-weight:500;cursor:pointer;transition:var(--transition-fast);box-shadow:0 2px 8px #007aff4d}.login-btn:hover:not(:disabled),.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#1976d2,#1565c0);box-shadow:0 4px 12px #007aff66;transform:translateY(-1px)}.login-btn:disabled,.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:0 2px 8px #007aff33}.btn-block{width:100%}.login-error,.error-message{color:#d32f2f;text-align:center;padding:.875rem;background:#ffebeecc;border-radius:var(--radius-sm);border:1px solid rgba(244,67,54,.2);font-size:.9rem}.loading-spinner{text-align:center;padding:2rem 0}.spinner{width:40px;height:40px;border:3px solid rgba(0,122,255,.2);border-top:3px solid var(--macos-blue);border-radius:50%;margin:0 auto 1rem}.loading-spinner p{color:var(--text-secondary);margin:0}.error-state,.success-state{text-align:center;padding:1rem 0}.error-icon,.success-icon{font-size:3rem;margin-bottom:1rem;font-weight:400}.error-icon{color:#f44336}.success-icon{color:#4caf50}.error-state h3,.success-state h3{color:var(--text-primary);margin-bottom:.5rem;font-size:1.3rem;font-weight:600}.error-state p,.success-state p{color:var(--text-secondary);margin-bottom:1.5rem;line-height:1.5}.user-info{background:linear-gradient(135deg,#007aff14,#007aff0d);border:1px solid rgba(0,122,255,.2);border-radius:var(--radius-sm);padding:1.5rem;margin-bottom:2rem}.user-info p{margin:0;color:var(--text-primary);line-height:1.5}.user-info p:first-child{margin-bottom:.5rem;font-weight:500}.form-actions,.error-actions,.success-actions{margin-top:1rem}.token-info{margin-top:2rem;text-align:center;padding-top:1.5rem;border-top:1px solid rgba(0,122,255,.1)}.text-muted{color:var(--text-secondary);font-size:.85rem}@media (max-width: 480px){.login-card,.reset-password-card{margin:.5rem;max-width:none}.login-header,.card-header,.card-body{padding:2rem 1.5rem}.login-header h1,.card-header h2{font-size:1.6rem}}:root{--mobile-animation-duration: .3s;--mobile-animation-fast: .2s;--mobile-animation-slow: .5s;--mobile-easing: cubic-bezier(.4, 0, .2, 1);--mobile-easing-in: cubic-bezier(.4, 0, 1, 1);--mobile-easing-out: cubic-bezier(0, 0, .2, 1);--mobile-bounce: cubic-bezier(.68, -.55, .265, 1.55)}@keyframes slideInUp{0%{transform:translate3d(0,100%,0);opacity:0}to{transform:translateZ(0);opacity:1}}@keyframes slideInDown{0%{transform:translate3d(0,-100%,0);opacity:0}to{transform:translateZ(0);opacity:1}}@keyframes slideInLeft{0%{transform:translate3d(-100%,0,0);opacity:0}to{transform:translateZ(0);opacity:1}}@keyframes slideInRight{0%{transform:translate3d(100%,0,0);opacity:0}to{transform:translateZ(0);opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{transform:scale3d(.8,.8,1);opacity:0}to{transform:scaleZ(1);opacity:1}}@keyframes bounce{0%,20%,53%,80%,to{transform:translateZ(0)}40%,43%{transform:translate3d(0,-8px,0)}70%{transform:translate3d(0,-4px,0)}90%{transform:translate3d(0,-2px,0)}}@keyframes pulse{0%{transform:scaleZ(1)}50%{transform:scale3d(1.05,1.05,1)}to{transform:scaleZ(1)}}@keyframes shake{0%,to{transform:translateZ(0)}10%,30%,50%,70%,90%{transform:translate3d(-4px,0,0)}20%,40%,60%,80%{transform:translate3d(4px,0,0)}}.mobile-animate-slide-up{animation:slideInUp var(--mobile-animation-duration) var(--mobile-easing-out)}.mobile-animate-slide-down{animation:slideInDown var(--mobile-animation-duration) var(--mobile-easing-out)}.mobile-animate-slide-left{animation:slideInLeft var(--mobile-animation-duration) var(--mobile-easing-out)}.mobile-animate-slide-right{animation:slideInRight var(--mobile-animation-duration) var(--mobile-easing-out)}.mobile-animate-fade-in{animation:fadeIn var(--mobile-animation-duration) var(--mobile-easing)}.mobile-animate-scale-in{animation:scaleIn var(--mobile-animation-fast) var(--mobile-easing-out)}.mobile-animate-bounce{animation:bounce var(--mobile-animation-slow) var(--mobile-easing)}.mobile-animate-pulse{animation:pulse 1s infinite}.mobile-animate-shake{animation:shake .5s var(--mobile-easing)}.mobile-transition{transition:all var(--mobile-animation-duration) var(--mobile-easing);will-change:transform,opacity}.mobile-transition-fast{transition:all var(--mobile-animation-fast) var(--mobile-easing);will-change:transform,opacity}.mobile-transition-transform{transition:transform var(--mobile-animation-duration) var(--mobile-easing);will-change:transform}.mobile-transition-opacity{transition:opacity var(--mobile-animation-duration) var(--mobile-easing);will-change:opacity}.mobile-interactive{transition:transform var(--mobile-animation-fast) var(--mobile-easing);will-change:transform}.mobile-interactive:active{transform:scale3d(.98,.98,1)}.mobile-interactive:hover{transform:scale3d(1.02,1.02,1)}.mobile-loading-skeleton{background:linear-gradient(90deg,var(--background-secondary) 25%,var(--background-tertiary) 50%,var(--background-secondary) 75%);background-size:200% 100%;animation:loading-shimmer 1.5s infinite}@keyframes loading-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.mobile-loading-dots{display:inline-flex;gap:4px}.mobile-loading-dots:after{content:"⋯";animation:loading-dots 1.5s infinite}@keyframes loading-dots{0%,20%{content:"⋯"}40%{content:"⋯⋯"}60%{content:"⋯⋯⋯"}80%,to{content:"⋯⋯⋯⋯"}}.mobile-card-enter{animation:slideInUp var(--mobile-animation-duration) var(--mobile-easing-out)}.mobile-card-expand{animation:scaleIn var(--mobile-animation-fast) var(--mobile-easing-out)}.mobile-card-collapse{animation:scaleOut var(--mobile-animation-fast) var(--mobile-easing-in)}@keyframes scaleOut{0%{transform:scaleZ(1);opacity:1}to{transform:scale3d(.95,.95,1);opacity:0}}.mobile-modal-enter{animation:modalSlideUp var(--mobile-animation-duration) var(--mobile-easing-out)}.mobile-modal-leave{animation:modalSlideDown var(--mobile-animation-duration) var(--mobile-easing-in)}@keyframes modalSlideUp{0%{transform:translate3d(0,100%,0);opacity:0}to{transform:translateZ(0);opacity:1}}@keyframes modalSlideDown{0%{transform:translateZ(0);opacity:1}to{transform:translate3d(0,100%,0);opacity:0}}.mobile-nav-enter{animation:navSlideUp var(--mobile-animation-fast) var(--mobile-easing-out)}@keyframes navSlideUp{0%{transform:translate3d(0,100%,0)}to{transform:translateZ(0)}}.mobile-tap-feedback{position:relative;overflow:hidden}.mobile-tap-feedback:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .3s,height .3s;pointer-events:none}.mobile-tap-feedback:active:before{width:200px;height:200px}.mobile-gpu-accelerated{transform:translateZ(0);backface-visibility:hidden;perspective:1000px}@media (prefers-reduced-motion: reduce){.mobile-animate-slide-up,.mobile-animate-slide-down,.mobile-animate-slide-left,.mobile-animate-slide-right,.mobile-animate-scale-in,.mobile-animate-bounce,.mobile-animate-pulse,.mobile-animate-shake,.mobile-card-enter,.mobile-card-expand,.mobile-card-collapse,.mobile-modal-enter,.mobile-modal-leave,.mobile-nav-enter{animation:none}.mobile-transition,.mobile-transition-fast,.mobile-transition-transform,.mobile-transition-opacity,.mobile-interactive{transition:none}.mobile-animate-fade-in{animation:fadeIn .1s}}.performance-mode .mobile-animate-slide-up,.performance-mode .mobile-animate-slide-down,.performance-mode .mobile-animate-slide-left,.performance-mode .mobile-animate-slide-right,.performance-mode .mobile-animate-bounce,.performance-mode .mobile-animate-pulse{animation:none}.performance-mode .mobile-transition,.performance-mode .mobile-transition-fast{transition-duration:.1s}.performance-mode .mobile-interactive:active{transform:none}:root{--mobile-portrait-padding: 16px;--mobile-landscape-padding: 24px;--mobile-portrait-header: 60px;--mobile-landscape-header: 50px;--mobile-portrait-nav: 70px;--mobile-landscape-nav: 60px}@media screen and (orientation: portrait){:root{--mobile-current-padding: var(--mobile-portrait-padding);--mobile-current-header: var(--mobile-portrait-header);--mobile-current-nav: var(--mobile-portrait-nav)}}@media screen and (orientation: landscape){:root{--mobile-current-padding: var(--mobile-landscape-padding);--mobile-current-header: var(--mobile-landscape-header);--mobile-current-nav: var(--mobile-landscape-nav)}}@media screen and (orientation: portrait){.mobile-content{padding-top:calc(var(--mobile-portrait-header) + 20px);padding-bottom:calc(var(--mobile-portrait-nav) + 20px);padding-left:var(--mobile-portrait-padding);padding-right:var(--mobile-portrait-padding)}.mobile-header{height:var(--mobile-portrait-header);padding:0 var(--mobile-portrait-padding)}.mobile-bottom-nav{height:var(--mobile-portrait-nav)}.mobile-week-card,.mobile-card{margin-bottom:16px}.mobile-nav-item{flex-direction:column;padding:12px 8px}.mobile-nav-label{margin-top:4px;font-size:12px}.mobile-modal{width:100%;height:100%;border-radius:0}.mobile-weeks-list{display:flex;flex-direction:column;gap:16px}.mobile-clients-grid{display:grid;grid-template-columns:1fr;gap:16px}}@media screen and (orientation: landscape){.mobile-content{padding-top:calc(var(--mobile-landscape-header) + 16px);padding-bottom:calc(var(--mobile-landscape-nav) + 16px);padding-left:var(--mobile-landscape-padding);padding-right:var(--mobile-landscape-padding)}.mobile-header{height:var(--mobile-landscape-header);padding:0 var(--mobile-landscape-padding)}.mobile-bottom-nav{height:var(--mobile-landscape-nav)}.mobile-header-title{font-size:18px}.mobile-header-btn{padding:6px 14px;min-height:36px;font-size:13px}.mobile-nav-item{flex-direction:row;padding:8px 12px;gap:8px}.mobile-nav-label{margin-top:0;font-size:14px}.mobile-week-card,.mobile-card{margin-bottom:12px}.mobile-card-header{padding:12px 16px;min-height:40px}.mobile-card-title{font-size:15px}.mobile-card-subtitle{font-size:13px}.mobile-modal{width:90%;height:80%;border-radius:var(--mobile-card-radius);margin:auto}.mobile-weeks-list{display:flex;flex-direction:column;gap:12px}.mobile-events-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:8px}.mobile-clients-grid,.mobile-form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}}@media screen and (orientation: portrait) and (max-width: 375px){:root{--mobile-portrait-padding: 12px}.mobile-header-title{font-size:18px}.mobile-header-btn{padding:6px 12px;font-size:13px}.mobile-nav-label{font-size:11px}}@media screen and (orientation: landscape) and (min-width: 768px){:root{--mobile-landscape-padding: 32px}.mobile-clients-grid{grid-template-columns:repeat(3,1fr)}.mobile-events-list{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.mobile-bottom-nav{flex-direction:column;width:200px;height:100vh;bottom:auto;top:var(--mobile-landscape-header);left:0;right:auto}.mobile-content{margin-left:200px}}@media screen and (orientation: portrait){.mobile-content,.mobile-header,.mobile-bottom-nav,.mobile-week-card,.mobile-card,.mobile-nav-item{transition:all .3s ease}}@media screen and (orientation: landscape){.mobile-content,.mobile-header,.mobile-bottom-nav,.mobile-week-card,.mobile-card,.mobile-nav-item{transition:all .3s ease}}.portrait-only{display:block}.landscape-only{display:none}@media screen and (orientation: landscape){.portrait-only{display:none}.landscape-only{display:block}}@media screen and (orientation: portrait){.mobile-gpu-accelerated{transform:translateZ(0)}}@media screen and (orientation: landscape){.mobile-gpu-accelerated{transform:translateZ(0)}}@supports (padding: max(0px)){.mobile-header{padding-left:max(var(--mobile-current-padding),env(safe-area-inset-left));padding-right:max(var(--mobile-current-padding),env(safe-area-inset-right));padding-top:env(safe-area-inset-top)}.mobile-bottom-nav{padding-left:max(var(--mobile-current-padding),env(safe-area-inset-left));padding-right:max(var(--mobile-current-padding),env(safe-area-inset-right));padding-bottom:env(safe-area-inset-bottom)}.mobile-content{padding-left:max(var(--mobile-current-padding),env(safe-area-inset-left));padding-right:max(var(--mobile-current-padding),env(safe-area-inset-right))}}.mobile-only{display:block!important}.desktop-only{display:none!important}@media (min-width: 769px){.mobile-only{display:none!important}.desktop-only{display:block!important}}:root{--mobile-padding: 16px;--mobile-header-height: 60px;--mobile-bottom-nav-height: 70px;--mobile-card-radius: var(--radius-md);--mobile-shadow: var(--shadow-md);--mobile-touch-target: 44px;--mobile-bg: var(--background-primary);--mobile-surface: var(--glass-background);--mobile-border: var(--border-color);--mobile-text-primary: var(--text-primary);--mobile-text-secondary: var(--text-secondary);--mobile-primary: var(--macos-blue);--mobile-success: var(--macos-green);--mobile-danger: var(--macos-red);--mobile-warning: var(--macos-orange);--mobile-info: var(--macos-blue)}button,a[role=button],[role=button],input[type=button],input[type=submit],.mobile-header-btn,.mobile-nav-item,.mobile-card-action-btn{min-height:var(--mobile-touch-target);min-width:var(--mobile-touch-target)}.mobile-card-action-btn{padding:8px 12px;min-height:44px}.mobile-header-btn{min-height:44px;padding:8px 16px}.mobile-nav-item{min-height:var(--mobile-bottom-nav-height);padding:12px 8px}.modal-overlay{backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.modal{width:100%;max-width:100vw;margin:20px 0;max-height:85vh;overflow-y:auto}@media (max-width: 768px){.modal .modal-body{padding:1rem}.modal .details-grid{display:flex!important;flex-direction:column!important;gap:1.5rem!important;width:100%!important;margin:0!important;padding:0!important;box-sizing:border-box!important}.modal .detail-section{background:#00000005;border-radius:12px;padding:1rem;border:1px solid rgba(0,0,0,.06)}.modal .detail-section h5{font-size:.9rem;font-weight:600;color:var(--text-secondary);margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.5px}.modal .details-table{width:100%;border-collapse:collapse}.modal .details-table tbody tr{border-bottom:1px solid rgba(0,0,0,.05)}.modal .details-table tbody tr:last-child{border-bottom:none}.modal .details-table td{padding:.5rem 0;vertical-align:middle}.modal .label-cell{text-align:left;font-size:.85rem;color:var(--text-secondary);font-weight:500;white-space:nowrap;width:35%;padding-right:1rem}.modal .value-cell{text-align:left;font-size:.9rem;color:var(--text-primary);font-weight:400;word-break:break-word}.modal .section-title{text-align:left;margin-bottom:1rem;font-size:1rem}.modal .status-header{justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.modal .datetime-display{font-size:.85rem}.modal .date-time-info{display:flex;flex-direction:row;align-items:center;gap:.5rem;flex-wrap:wrap}.modal .modal-actions{padding:1rem;gap:.5rem;flex-wrap:wrap}.modal .modal-actions .btn{min-height:44px;font-size:.9rem;padding:.75rem 1rem}}.mobile-card{background:var(--mobile-surface);border:1px solid var(--mobile-border);border-radius:var(--mobile-card-radius);margin-bottom:16px;overflow:hidden;transition:var(--transition-fast);box-shadow:var(--mobile-shadow);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.mobile-card.expanded{box-shadow:0 4px 16px #00000026}.mobile-card-header{padding:var(--mobile-padding);border-bottom:1px solid var(--mobile-border);cursor:pointer;position:relative;min-height:var(--mobile-touch-target);display:flex;align-items:center;justify-content:space-between;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:var(--background-secondary)}.mobile-card-header:active{background:var(--background-tertiary)}.mobile-card-header-content{flex:1;display:flex;flex-direction:column;gap:4px}.mobile-card-title{font-size:16px;font-weight:600;color:var(--mobile-text-primary);margin:0}.mobile-card-subtitle{font-size:14px;color:var(--mobile-text-secondary);margin:0}.mobile-card-expand-icon{font-size:12px;color:var(--mobile-text-secondary);font-weight:500;margin-left:12px;padding:6px 12px;border-radius:var(--radius-sm);background:var(--mobile-primary);color:#fff;transition:var(--transition-fast)}.mobile-card-body{max-height:0;overflow:hidden;transition:max-height .3s ease-out}.mobile-card.expanded .mobile-card-body{max-height:1000px}.mobile-card-content{padding:var(--mobile-padding);background:var(--mobile-bg)}.mobile-card-actions{display:flex;gap:8px;margin-left:12px}.mobile-card-action-btn{padding:6px 12px;min-height:32px;border-radius:var(--radius-sm);border:1px solid var(--mobile-border);background:var(--mobile-bg);color:var(--mobile-text-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition-fast);-webkit-tap-highlight-color:transparent;font-size:12px;font-weight:500;white-space:nowrap}.mobile-card-action-btn:active{transform:scale(.98);background:var(--mobile-primary);color:#fff;border-color:var(--mobile-primary)}.mobile-btn{width:100%;padding:12px 16px;border:none;border-radius:var(--radius-md);font-size:14px;font-weight:500;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:var(--transition-fast);-webkit-tap-highlight-color:transparent;margin-bottom:8px;min-height:var(--mobile-touch-target)}.mobile-btn:last-child{margin-bottom:0}.mobile-btn:active{transform:scale(.98)}.mobile-btn-primary{background:#007aff;color:#fff}.mobile-btn-primary:active{background:#0051a2}.mobile-btn-secondary{background:#6c757d;color:#fff}.mobile-btn-secondary:active{background:#545b62}.mobile-btn-success{background:#28a745;color:#fff}.mobile-btn-success:active{background:#218838}.mobile-btn-info{background:#17a2b8;color:#fff}.mobile-btn-info:active{background:#138496}.mobile-btn-warning{background:#ffc107;color:#212529}.mobile-btn-warning:active{background:#e0a800}.mobile-btn-danger{background:#dc3545;color:#fff}.mobile-btn-danger:active{background:#c82333}.mobile-header{position:fixed;top:0;left:0;right:0;height:var(--mobile-header-height);background:var(--mobile-surface);border-bottom:1px solid var(--mobile-border);display:flex;align-items:center;justify-content:space-between;padding:0 var(--mobile-padding);z-index:1000;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--shadow-sm)}.mobile-header-title{font-size:20px;font-weight:600;color:var(--mobile-text-primary);margin:0;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-header-actions{display:flex;gap:4px;flex-shrink:0}.mobile-header-btn{padding:8px 16px;min-height:40px;border-radius:var(--radius-sm);border:none;background:var(--mobile-bg);color:var(--mobile-text-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition-fast);-webkit-tap-highlight-color:transparent;font-size:14px;font-weight:500;white-space:nowrap}.mobile-header-btn:active{transform:scale(.98);background:var(--mobile-primary);color:#fff}.mobile-header-btn.active{background:#007aff26;color:var(--macos-blue);font-weight:500}.mobile-content{padding-top:calc(var(--mobile-header-height) + 20px);padding-bottom:calc(var(--mobile-bottom-nav-height) + 20px);padding-left:var(--mobile-padding);padding-right:var(--mobile-padding);min-height:100vh;box-sizing:border-box;background:var(--background-secondary)}.mobile-bottom-nav{position:fixed;bottom:0;left:0;right:0;height:var(--mobile-bottom-nav-height);background:#fffc;border-top:1px solid var(--border-color);display:flex;justify-content:space-around;align-items:center;z-index:1000;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 -1px 0 var(--border-color);padding:8px 4px;gap:4px}.mobile-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 6px;cursor:pointer;transition:var(--transition-fast);border-radius:var(--radius-sm);flex:1;min-width:0;text-decoration:none;-webkit-tap-highlight-color:transparent;background:transparent;border:none;color:var(--text-primary);font-weight:400;position:relative;min-height:var(--mobile-touch-target)}.mobile-nav-item:hover:not(.active){color:var(--macos-blue);background:#007aff1a}.mobile-nav-item:active{transform:scale(.95)}.mobile-nav-item.active{color:var(--macos-blue);background:#007aff26;font-weight:500}.mobile-nav-icon{font-size:18px;color:inherit;transition:color .2s ease}.mobile-nav-item.active .mobile-nav-icon{color:inherit}.mobile-nav-label{font-size:.75rem;color:inherit;transition:color .2s ease;font-weight:inherit;text-align:center;margin-top:2px;white-space:nowrap}.mobile-nav-item.active .mobile-nav-label{color:inherit;font-weight:inherit}.mobile-agenda-container{padding:0}.mobile-month-nav{display:flex;align-items:center;justify-content:space-between;padding:16px;background:var(--mobile-surface);border:1px solid var(--mobile-border);border-radius:var(--mobile-card-radius);margin-bottom:16px;box-shadow:var(--mobile-shadow);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.mobile-month-title{font-size:20px;font-weight:600;color:var(--mobile-text-primary);margin:0}.mobile-month-btn{width:40px;height:40px;border-radius:var(--radius-sm);border:1px solid var(--mobile-border);background:var(--mobile-bg);color:var(--mobile-text-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:18px;transition:var(--transition-fast);-webkit-tap-highlight-color:transparent}.mobile-month-btn:active{transform:scale(.95);background:var(--mobile-primary);color:#fff;border-color:var(--mobile-primary)}.mobile-week-card{background:var(--mobile-surface);border:1px solid var(--mobile-border);border-radius:var(--mobile-card-radius);margin-bottom:16px;overflow:hidden;box-shadow:var(--mobile-shadow);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.mobile-week-header{padding:16px;border-bottom:1px solid var(--mobile-border);background:var(--background-secondary);cursor:pointer;display:flex;align-items:center;justify-content:space-between;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.mobile-week-header:active{background:var(--background-tertiary)}.mobile-week-header-content{flex:1}.mobile-week-title{font-size:16px;font-weight:600;color:var(--mobile-text-primary);margin:0 0 4px}.mobile-week-subtitle{font-size:14px;color:var(--mobile-text-secondary);margin:0}.mobile-week-expand-icon{font-size:14px;color:var(--mobile-text-secondary);font-weight:600;margin-left:12px;padding:4px 8px;border-radius:var(--radius-sm);background:transparent;border:1px solid var(--mobile-border);transition:var(--transition-fast);min-width:32px;text-align:center}.mobile-week-body{max-height:0;overflow:hidden;transition:max-height .3s ease-out}.mobile-week-card.expanded .mobile-week-body{max-height:2000px}.mobile-day-card{border-bottom:1px solid var(--mobile-border)}.mobile-day-card:last-child{border-bottom:none}.mobile-day-header{padding:12px 16px;background:var(--background-tertiary);border-bottom:1px solid var(--mobile-border);cursor:pointer;display:flex;align-items:center;justify-content:space-between;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.mobile-day-header:active{background:var(--mobile-border)}.mobile-day-header-content{flex:1}.mobile-day-title{font-size:15px;font-weight:600;color:var(--mobile-text-primary);margin:0 0 4px}.mobile-day-subtitle{font-size:13px;color:var(--mobile-text-secondary);margin:0}.mobile-day-expand-icon{font-size:12px;color:var(--mobile-text-secondary);font-weight:600;margin-left:12px;padding:4px 6px;border-radius:var(--radius-sm);background:transparent;border:1px solid var(--mobile-border);transition:var(--transition-fast);min-width:28px;text-align:center}.mobile-day-body{max-height:0;overflow:hidden;transition:max-height .3s ease-out}.mobile-day-card.expanded .mobile-day-body{max-height:1000px}.mobile-events-list{padding:0}.mobile-event-item{padding:12px 16px;border-bottom:1px solid var(--mobile-border);cursor:pointer;transition:var(--transition-fast);-webkit-tap-highlight-color:transparent;border:2px solid var(--mobile-border);border-radius:var(--mobile-card-radius);margin:4px 0;position:relative}.mobile-event-item:last-child{border-bottom:none}.mobile-event-item:active{background:var(--background-tertiary)}.mobile-event-item.highlighted{animation:highlightPulse 2s ease-in-out;box-shadow:0 0 20px #007aff66;transform:scale(1.02);z-index:10;position:relative}@keyframes highlightPulse{0%{box-shadow:0 0 5px #007aff4d;transform:scale(1)}50%{box-shadow:0 0 25px #007aff99;transform:scale(1.03)}to{box-shadow:0 0 20px #007aff66;transform:scale(1.02)}}.mobile-event-content{display:flex;align-items:center;gap:12px}.mobile-event-indicator{width:8px;height:8px;border-radius:50%;flex-shrink:0}.mobile-event-details{flex:1;min-width:0}.mobile-event-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:2px}.mobile-event-title{font-size:14px;font-weight:600;color:var(--mobile-text-primary);margin:0;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-status-badge{font-size:11px;padding:2px 6px;border-radius:8px;font-weight:500;white-space:nowrap;flex-shrink:0}.mobile-status-badge.status-badge.planifie{background:#ff95001a;color:var(--macos-orange)}.mobile-status-badge.status-badge.confirme{background:#34c7591a;color:var(--macos-green)}.mobile-status-badge.status-badge.termine{background:#22c55e1a;color:#15803d}.mobile-status-badge.status-badge.en_cours{background:#007aff1a;color:var(--macos-blue)}.mobile-status-badge.status-badge.annule,.mobile-status-badge.status-badge.retard,.mobile-status-badge.status-badge.status-echeance-retard{background:#ff3b301a;color:var(--macos-red)}.mobile-status-badge.status-badge.status-echeance-a_venir{background:#ff95001a;color:var(--macos-orange)}.mobile-status-badge.status-badge.status-echeance-futur{background:#6366f11a;color:var(--macos-blue)}.mobile-status-badge.status-badge.status-echeance-rdv_pris{background:#34c7591a;color:var(--macos-green)}.mobile-event-subtitle{font-size:13px;color:var(--mobile-text-secondary);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-event-time{font-size:12px;color:var(--mobile-text-secondary);font-weight:500}.mobile-event-item.rdv.planifie{border:2px solid rgba(255,149,0,.4);background:#ff950033}.mobile-event-item.rdv.planifie .mobile-event-indicator{background:#ff9500cc}.mobile-event-item.rdv.planifie .mobile-event-title,.mobile-event-item.rdv.planifie .mobile-event-subtitle{color:#b45309}.mobile-event-item.rdv.confirme{border:2px solid rgba(52,199,89,.4);background:#34c75933}.mobile-event-item.rdv.confirme .mobile-event-indicator{background:#34c759cc}.mobile-event-item.rdv.confirme .mobile-event-title,.mobile-event-item.rdv.confirme .mobile-event-subtitle{color:#166534}.mobile-event-item.rdv.en_cours{border:2px solid rgba(0,122,255,.4);background:#007aff33}.mobile-event-item.rdv.en_cours .mobile-event-indicator{background:#007affcc}.mobile-event-item.rdv.en_cours .mobile-event-title,.mobile-event-item.rdv.en_cours .mobile-event-subtitle{color:#1e40af}.mobile-event-item.rdv.termine{border:2px solid rgba(52,199,89,.5);background:#34c7594d;opacity:.7}.mobile-event-item.rdv.termine .mobile-event-indicator{background:#166534}.mobile-event-item.rdv.termine .mobile-event-title,.mobile-event-item.rdv.termine .mobile-event-subtitle{text-decoration:line-through;color:#166534}.mobile-event-item.rdv.annule{border:2px solid rgba(255,59,48,.4);background:#ff3b3033}.mobile-event-item.rdv.annule .mobile-event-indicator{background:#ff3b30cc}.mobile-event-item.rdv.annule .mobile-event-title,.mobile-event-item.rdv.annule .mobile-event-subtitle{color:#dc2626}.mobile-event-item.rdv.retard{border:2px solid rgba(255,59,48,.4);background:#ff3b3033}.mobile-event-item.rdv.retard .mobile-event-indicator{background:#ff3b30cc}.mobile-event-item.rdv.retard .mobile-event-title,.mobile-event-item.rdv.retard .mobile-event-subtitle{color:#dc2626}.mobile-event-item.echeance.retard{border:2px dashed rgba(255,59,48,.4);background:#ff3b3033}.mobile-event-item.echeance.retard .mobile-event-indicator{background:#ff3b30cc}.mobile-event-item.echeance.retard .mobile-event-title,.mobile-event-item.echeance.retard .mobile-event-subtitle{color:#dc2626}.mobile-event-item.echeance.a_venir{border:2px dashed rgba(255,149,0,.4);background:#ff950033}.mobile-event-item.echeance.a_venir .mobile-event-indicator{background:#ff9500cc}.mobile-event-item.echeance.a_venir .mobile-event-title,.mobile-event-item.echeance.a_venir .mobile-event-subtitle{color:#b45309}.mobile-event-item.echeance.futur{border:2px dashed rgba(99,102,241,.4);background:#6366f133}.mobile-event-item.echeance.futur .mobile-event-indicator{background:#6366f1cc}.mobile-event-item.echeance.futur .mobile-event-title,.mobile-event-item.echeance.futur .mobile-event-subtitle{color:#4338ca}.mobile-event-item.echeance.rdv_pris{border:2px dashed rgba(52,199,89,.4);background:#34c75933}.mobile-event-item.echeance.rdv_pris .mobile-event-indicator{background:#34c759cc}.mobile-event-item.echeance.rdv_pris .mobile-event-title,.mobile-event-item.echeance.rdv_pris .mobile-event-subtitle{color:#166534}.mobile-event-item.echeance:not(.retard):not(.a_venir):not(.futur):not(.rdv_pris){border:2px dashed rgba(255,149,0,.6);background:#ff95000d}.mobile-event-item.echeance:not(.retard):not(.a_venir):not(.futur):not(.rdv_pris) .mobile-event-indicator{background:#ff9500cc}.mobile-event-item.rdv:not(.planifie):not(.confirme):not(.en_cours):not(.termine):not(.annule):not(.retard){border:2px solid rgba(52,199,89,.6);background:#34c7590d}.mobile-event-item.rdv:not(.planifie):not(.confirme):not(.en_cours):not(.termine):not(.annule):not(.retard) .mobile-event-indicator{background:#34c759cc}.mobile-event-item.normal{border:2px solid rgba(156,163,175,.6);background:#9ca3af0d}.mobile-event-indicator.retard{background:#ff3b30cc}.mobile-event-indicator.a_venir{background:#ff9500cc}.mobile-event-indicator.futur{background:#3b82f6cc}.mobile-event-indicator.rdv_pris{background:#34c759cc}.mobile-event-indicator.normal{background:#9ca3afcc}.pull-refresh-indicator{position:fixed;top:var(--mobile-header-height);left:0;right:0;height:60px;background:var(--mobile-surface);border-bottom:1px solid var(--mobile-border);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:999;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--shadow-sm)}.pull-refresh-icon{font-size:20px;color:var(--mobile-primary);margin-bottom:4px;transition:var(--transition-fast)}.pull-refresh-icon.spinning{animation:spin 1s linear infinite}.pull-refresh-text{font-size:12px;color:var(--mobile-text-secondary);font-weight:500}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.mobile-event-item{position:relative;overflow:hidden}.mobile-event-item.swiped .mobile-event-content{background:var(--background-tertiary)}.swipe-actions-left,.swipe-actions-right{position:absolute;top:0;bottom:0;display:flex;align-items:center;gap:8px;padding:0 12px}.swipe-actions-left{left:0;background:linear-gradient(90deg,var(--mobile-primary),var(--mobile-success))}.swipe-actions-right{right:0;background:linear-gradient(90deg,var(--mobile-warning),var(--mobile-danger))}.swipe-action-btn{padding:6px 12px;border:none;border-radius:var(--radius-sm);color:#fff;font-size:12px;font-weight:600;cursor:pointer;transition:var(--transition-fast);white-space:nowrap;-webkit-tap-highlight-color:transparent}.swipe-action-btn.edit{background:var(--mobile-primary)}.swipe-action-btn.complete{background:var(--mobile-success)}.swipe-action-btn.delete{background:var(--mobile-danger)}.swipe-action-btn.plan{background:var(--mobile-warning)}.swipe-action-btn:active{transform:scale(.95);opacity:.8}.tabs-container{margin-bottom:1.5rem}.tabs-header{display:flex;border-bottom:2px solid rgba(0,0,0,.1);gap:0}.tab-btn{background:none;border:none;padding:1rem 1.5rem;font-size:1rem;font-weight:500;cursor:pointer;color:var(--text-secondary);border-bottom:3px solid transparent;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.tab-btn:hover{background:#0000000d;color:var(--text-primary)}.tab-btn.active{color:var(--macos-blue);border-bottom-color:var(--macos-blue);background:#34c7590d}.tab-count{background:var(--macos-blue);color:#fff;font-size:.75rem;padding:.2rem .5rem;border-radius:12px;font-weight:600;min-width:20px;text-align:center}.tab-btn.active .tab-count{background:var(--macos-blue)}.pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:2rem;padding:1rem}.btn-pagination{background:var(--surface-card);border:1px solid var(--border-color);padding:.5rem 1rem;border-radius:8px;cursor:pointer;transition:all .2s ease}.btn-pagination:hover:not(:disabled){background:var(--macos-blue);color:#fff;border-color:var(--macos-blue)}.btn-pagination:disabled{opacity:.5;cursor:not-allowed}.pagination-info{font-size:.9rem;color:var(--text-secondary);padding:0 1rem}.archive-row{background:#00000005}.archive-info{display:flex;flex-direction:column}.archive-date{font-size:.9rem;color:var(--text-primary)}.archive-reason{font-size:.8rem;color:var(--text-secondary);font-style:italic}.btn-restore{background:var(--macos-orange);color:#fff}.btn-restore:hover{background:color-mix(in srgb,var(--macos-orange) 80%,black)}.btn-archive{background:var(--macos-purple);color:#fff}.btn-archive:hover{background:color-mix(in srgb,var(--macos-purple) 80%,black)}
