.dashboard[data-v-aae934d2]{animation:fadeIn var(--transition-slow);margin:0 auto;max-width:1600px;padding:var(--space-xl)}.dashboard-header[data-v-aae934d2]{align-items:flex-start;display:flex;flex-wrap:wrap;gap:var(--space-lg);justify-content:space-between;margin-bottom:var(--space-xl)}.header-title h2[data-v-aae934d2]{color:var(--text-primary);font-size:2rem;font-weight:700;margin:0 0 var(--space-sm) 0}.subtitle[data-v-aae934d2]{color:var(--text-secondary);font-size:1rem;margin:0}.kpi-grid[data-v-aae934d2]{display:grid;gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:var(--space-xl)}.kpi-card[data-v-aae934d2]{background:linear-gradient(135deg,var(--bg-primary),var(--bg-secondary));border:none}.kpi-content[data-v-aae934d2]{align-items:center;display:flex;gap:var(--space-lg)}.kpi-icon[data-v-aae934d2]{font-size:3rem;line-height:1}.kpi-details[data-v-aae934d2]{display:flex;flex-direction:column;gap:var(--space-xs)}.kpi-label[data-v-aae934d2]{color:var(--text-secondary);font-size:.875rem;font-weight:600}.kpi-value[data-v-aae934d2]{color:var(--text-primary);font-size:2.5rem;font-weight:700;line-height:1}.total-card .kpi-icon[data-v-aae934d2]{color:var(--primary)}.progress-card .kpi-icon[data-v-aae934d2]{color:var(--warning)}.done-card .kpi-icon[data-v-aae934d2]{color:var(--success)}.completion-card .kpi-icon[data-v-aae934d2]{color:var(--secondary)}.kpi-progress-bar[data-v-aae934d2]{background:var(--gray-200);border-radius:var(--radius-full);height:8px;margin-top:var(--space-md);overflow:hidden}.kpi-progress-fill[data-v-aae934d2]{background:linear-gradient(90deg,var(--primary),var(--secondary));border-radius:var(--radius-full);height:100%;transition:width .6s cubic-bezier(.65,0,.35,1)}.charts-grid[data-v-aae934d2]{display:grid;gap:var(--space-xl);grid-template-columns:repeat(auto-fit,minmax(400px,1fr));margin-bottom:var(--space-xl)}.chart-card[data-v-aae934d2]{min-height:350px}.chart-title[data-v-aae934d2]{color:var(--text-primary);font-size:1.125rem;font-weight:600;margin:0}.chart-container[data-v-aae934d2]{align-items:center;display:flex;height:280px;justify-content:center;padding:var(--space-lg)}.timeline-card[data-v-aae934d2]{grid-column:1/-1}.timeline-container[data-v-aae934d2]{padding:var(--space-lg)}.timeline-list[data-v-aae934d2]{display:flex;flex-direction:column;gap:var(--space-lg)}.timeline-item[data-v-aae934d2]{border-left:4px solid transparent;border-radius:var(--radius-lg);display:flex;gap:var(--space-md);padding:var(--space-md);transition:all var(--transition-base)}.timeline-item[data-v-aae934d2]:hover{background:var(--bg-secondary);transform:translateX(4px)}.timeline-danger[data-v-aae934d2]{border-left-color:var(--error)}.timeline-warning[data-v-aae934d2]{border-left-color:var(--warning)}.timeline-info[data-v-aae934d2]{border-left-color:var(--info)}.timeline-dot[data-v-aae934d2]{background:var(--primary);border-radius:50%;flex-shrink:0;height:12px;margin-top:6px;width:12px}.timeline-content[data-v-aae934d2]{flex:1}.timeline-title[data-v-aae934d2]{color:var(--text-primary);font-size:1rem;font-weight:600;margin:0 0 var(--space-sm) 0}.timeline-meta[data-v-aae934d2]{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.empty-timeline[data-v-aae934d2]{color:var(--text-light);padding:var(--space-2xl);text-align:center}.empty-icon[data-v-aae934d2]{display:block;font-size:3rem;margin-bottom:var(--space-md);opacity:.5}.urgent-card[data-v-aae934d2]{background:linear-gradient(135deg,#fef3c7,#fde68a)}.urgent-list[data-v-aae934d2]{display:flex;flex-direction:column;gap:var(--space-md)}.urgent-item[data-v-aae934d2]{background:#fff;border-left:4px solid var(--error);border-radius:var(--radius-lg);cursor:pointer;display:flex;gap:var(--space-md);padding:var(--space-lg);transition:all var(--transition-base)}.urgent-item[data-v-aae934d2]:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.urgent-icon[data-v-aae934d2]{font-size:2rem;line-height:1}.urgent-content[data-v-aae934d2]{flex:1}.urgent-content h4[data-v-aae934d2]{color:var(--text-primary);font-size:1.125rem;font-weight:600;margin:0 0 var(--space-xs) 0}.urgent-content p[data-v-aae934d2]{color:var(--text-secondary);font-size:.875rem;margin:0 0 var(--space-sm) 0}.urgent-meta[data-v-aae934d2]{display:flex;flex-wrap:wrap;gap:var(--space-sm)}@media (max-width:768px){.charts-grid[data-v-aae934d2],.kpi-grid[data-v-aae934d2]{grid-template-columns:1fr}}.etapes-kanban[data-v-13881c49]{animation:fadeIn var(--transition-slow);margin:0 auto;max-width:1600px;padding:var(--space-xl)}.filters-card[data-v-13881c49]{margin-bottom:var(--space-lg)}.filters-container[data-v-13881c49]{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-lg)}.search-box[data-v-13881c49]{align-items:center;display:flex;flex:1;min-width:300px;position:relative}.search-icon[data-v-13881c49]{font-size:1.25rem;left:var(--space-md);pointer-events:none;position:absolute}.search-input[data-v-13881c49]{border:2px solid var(--gray-200);border-radius:var(--radius-full);font-size:1rem;padding:var(--space-md) var(--space-md) var(--space-md) 3rem;transition:all var(--transition-base);width:100%}.search-input[data-v-13881c49]:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(102,126,234,.1);outline:none}.clear-search[data-v-13881c49]{align-items:center;background:var(--gray-200);border:none;border-radius:50%;cursor:pointer;display:flex;font-size:.875rem;height:24px;justify-content:center;position:absolute;right:var(--space-md);transition:all var(--transition-base);width:24px}.clear-search[data-v-13881c49]:hover{background:var(--gray-300)}.filters[data-v-13881c49]{display:flex;gap:var(--space-md)}.filter-select[data-v-13881c49]{background:var(--bg-primary);border:2px solid var(--gray-200);border-radius:var(--radius-lg);cursor:pointer;font-size:.875rem;font-weight:600;padding:var(--space-md) var(--space-lg);transition:all var(--transition-base)}.filter-select[data-v-13881c49]:hover{border-color:var(--primary)}.filter-select[data-v-13881c49]:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(102,126,234,.1);outline:none}.active-filters[data-v-13881c49]{align-items:center;border-top:1px solid var(--gray-100);display:flex;gap:var(--space-sm);margin-top:var(--space-md);padding-top:var(--space-md)}.filter-label[data-v-13881c49]{color:var(--text-secondary);font-size:.875rem;font-weight:600}.active-filters .badge[data-v-13881c49]{cursor:pointer}.draggable-list[data-v-13881c49]{display:flex;flex-direction:column;gap:var(--space-md);min-height:100px}.kanban-card[data-v-13881c49]{cursor:grab;transition:all var(--transition-base)}.kanban-card[data-v-13881c49]:active{cursor:grabbing}.drag-card[data-v-13881c49]{box-shadow:var(--shadow-2xl)!important;cursor:grabbing!important;opacity:.9;transform:scale(1.05);z-index:1000}.ghost-card[data-v-13881c49]{height:0;margin:0;opacity:0;overflow:hidden;padding:0}.card-header-row[data-v-13881c49]{align-items:flex-start;display:flex;gap:var(--space-sm);justify-content:space-between;margin-bottom:var(--space-sm)}.kanban-header[data-v-13881c49]{margin-bottom:var(--space-xl)}.header-content[data-v-13881c49]{align-items:flex-start;display:flex;flex-wrap:wrap;gap:var(--space-lg);justify-content:space-between;margin-bottom:var(--space-xl)}.header-title h2[data-v-13881c49]{color:var(--text-primary);font-size:2rem;font-weight:700;margin:0 0 var(--space-sm) 0}.subtitle[data-v-13881c49]{color:var(--text-secondary);font-size:1rem;margin:0}.header-actions[data-v-13881c49]{display:flex;gap:var(--space-md)}.progress-card[data-v-13881c49]{background:linear-gradient(135deg,var(--primary) 0,var(--secondary) 100%);color:#fff}.progress-header[data-v-13881c49]{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-md)}.progress-label[data-v-13881c49]{font-size:1.125rem;font-weight:600}.progress-bar[data-v-13881c49]{background:hsla(0,0%,100%,.2);height:1.5rem;margin-bottom:var(--space-lg)}.progress-bar[data-v-13881c49],.progress-fill[data-v-13881c49]{border-radius:var(--radius-full);overflow:hidden;position:relative}.progress-fill[data-v-13881c49]{align-items:center;background:#fff;display:flex;height:100%;justify-content:flex-end;padding:0 var(--space-md);transition:width .6s cubic-bezier(.65,0,.35,1)}.progress-fill[data-v-13881c49]:before{animation:shimmer-13881c49 2s infinite;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.3),transparent);content:"";height:100%;left:-100%;position:absolute;top:0;width:100%}@keyframes shimmer-13881c49{to{left:100%}}.progress-text[data-v-13881c49]{color:var(--primary);font-size:.875rem;font-weight:700}.progress-stats[data-v-13881c49]{display:grid;gap:var(--space-lg);grid-template-columns:repeat(3,1fr)}.stat[data-v-13881c49]{text-align:center}.stat-value[data-v-13881c49]{display:block;font-size:2rem;font-weight:700;line-height:1;margin-bottom:var(--space-xs)}.stat-label[data-v-13881c49]{font-size:.875rem;opacity:.9}.kanban-board[data-v-13881c49]{display:grid;gap:var(--space-xl);grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.kanban-column[data-v-13881c49]{display:flex;flex-direction:column;min-height:500px}.column-header[data-v-13881c49]{align-items:center;border-radius:var(--radius-xl);box-shadow:var(--shadow-md);display:flex;justify-content:space-between;margin-bottom:var(--space-md);padding:var(--space-lg)}.column-title[data-v-13881c49]{align-items:center;display:flex;gap:var(--space-sm)}.column-icon[data-v-13881c49]{font-size:1.5rem}.column-title h3[data-v-13881c49]{font-size:1.25rem;font-weight:700;margin:0}.todo-header[data-v-13881c49]{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e}.progress-header[data-v-13881c49]{background:linear-gradient(135deg,#ddd6fe,#c4b5fd);color:#5b21b6}.done-header[data-v-13881c49]{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46}.column-content[data-v-13881c49]{display:flex;flex:1;flex-direction:column}.kanban-card[data-v-13881c49]{border-left:4px solid transparent}.todo-card[data-v-13881c49]{border-left-color:#f59e0b}.progress-card[data-v-13881c49]{border-left-color:#8b5cf6}.done-card[data-v-13881c49]{border-left-color:#10b981;opacity:.9}.done-card[data-v-13881c49]:hover{opacity:1}.card-content[data-v-13881c49]{padding:var(--space-lg)}.card-status[data-v-13881c49]{align-items:center;background:var(--gray-100);border-radius:var(--radius-full);color:var(--text-secondary);display:inline-flex;font-size:.75rem;font-weight:600;gap:var(--space-sm);margin-bottom:var(--space-md);padding:var(--space-xs) var(--space-md)}.card-status.success[data-v-13881c49]{background:#d1fae5;color:#065f46}.pulse-dot[data-v-13881c49]{animation:pulse-13881c49 2s infinite;background:var(--warning);border-radius:50%;height:8px;width:8px}@keyframes pulse-13881c49{0%,to{opacity:1}50%{opacity:.5}}.success-icon[data-v-13881c49]{font-size:1rem}.card-title[data-v-13881c49]{color:var(--text-primary);font-size:1.125rem;font-weight:600;line-height:1.4;margin:0 0 var(--space-sm) 0}.card-description[data-v-13881c49]{color:var(--text-secondary);display:-webkit-box;font-size:.875rem;-webkit-line-clamp:2;line-height:1.5;margin:0 0 var(--space-md) 0;-webkit-box-orient:vertical;overflow:hidden}.card-actions[data-v-13881c49],.card-meta[data-v-13881c49]{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.card-actions[data-v-13881c49]{background:var(--bg-secondary);border-top:1px solid var(--gray-100);padding:var(--space-md) var(--space-lg)}.empty-state[data-v-13881c49]{color:var(--text-light);padding:var(--space-2xl);text-align:center}.empty-icon[data-v-13881c49]{display:block;font-size:3rem;margin-bottom:var(--space-md);opacity:.5}.empty-state p[data-v-13881c49]{font-size:.875rem;margin:0}.etape-form[data-v-13881c49]{display:flex;flex-direction:column;gap:var(--space-lg)}.form-group[data-v-13881c49]{display:flex;flex-direction:column;gap:var(--space-sm)}.form-label[data-v-13881c49]{color:var(--text-primary);font-size:.875rem;font-weight:600}.required[data-v-13881c49]{color:var(--error)}.form-input[data-v-13881c49]{background:var(--bg-primary);border:2px solid var(--gray-200);border-radius:var(--radius-lg);font-family:var(--font-sans);font-size:1rem;padding:var(--space-md);transition:all var(--transition-base)}.form-input[data-v-13881c49]:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(102,126,234,.1);outline:none}.form-row[data-v-13881c49]{display:grid;gap:var(--space-lg);grid-template-columns:1fr 1fr}.icon[data-v-13881c49]{font-size:1.25rem}@media (max-width:1024px){.form-row[data-v-13881c49],.kanban-board[data-v-13881c49]{grid-template-columns:1fr}.filters-container[data-v-13881c49]{align-items:stretch;flex-direction:column}.search-box[data-v-13881c49]{min-width:100%}.filters[data-v-13881c49]{width:100%}.filter-select[data-v-13881c49]{flex:1}}.finances[data-v-6b434610]{animation:fadeIn var(--transition-slow);margin:0 auto;max-width:1600px;padding:var(--space-xl)}.finances-header[data-v-6b434610]{align-items:flex-start;display:flex;flex-wrap:wrap;gap:var(--space-lg);justify-content:space-between;margin-bottom:var(--space-xl)}.header-title h2[data-v-6b434610]{color:var(--text-primary);font-size:2rem;font-weight:700;margin:0 0 var(--space-sm) 0}.subtitle[data-v-6b434610]{color:var(--text-secondary);font-size:1rem;margin:0}.financial-kpis[data-v-6b434610]{display:grid;gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:var(--space-xl)}.kpi-card[data-v-6b434610]{background:linear-gradient(135deg,var(--bg-primary),var(--bg-secondary))}.kpi-content[data-v-6b434610]{align-items:center;display:flex;gap:var(--space-lg)}.kpi-icon[data-v-6b434610]{font-size:3rem;line-height:1}.revenue-card .kpi-icon[data-v-6b434610]{color:var(--success)}.expense-card .kpi-icon[data-v-6b434610]{color:var(--error)}.balance-card .kpi-icon[data-v-6b434610]{color:var(--primary)}.budget-card .kpi-icon[data-v-6b434610]{color:var(--secondary)}.kpi-details[data-v-6b434610]{display:flex;flex-direction:column;gap:var(--space-xs)}.kpi-label[data-v-6b434610]{color:var(--text-secondary);font-size:.875rem;font-weight:600}.kpi-value[data-v-6b434610]{color:var(--text-primary);font-size:2rem;font-weight:700;line-height:1}.kpi-value.positive[data-v-6b434610]{color:var(--success)}.kpi-value.negative[data-v-6b434610]{color:var(--error)}.kpi-progress-bar[data-v-6b434610]{background:var(--gray-200);border-radius:var(--radius-full);height:8px;margin-top:var(--space-md);overflow:hidden}.kpi-progress-fill[data-v-6b434610]{background:linear-gradient(90deg,var(--primary),var(--secondary));border-radius:var(--radius-full);height:100%;transition:width .6s cubic-bezier(.65,0,.35,1)}.charts-section[data-v-6b434610]{display:grid;gap:var(--space-xl);grid-template-columns:repeat(auto-fit,minmax(450px,1fr));margin-bottom:var(--space-xl)}.chart-card[data-v-6b434610]{min-height:400px;overflow:hidden}.chart-title[data-v-6b434610]{color:var(--text-primary);font-size:1.125rem;font-weight:600;margin:0;position:relative;z-index:10}.chart-container[data-v-6b434610]{align-items:center;display:flex;height:320px;justify-content:center;padding:var(--space-lg)}.transactions-section[data-v-6b434610]{margin-bottom:var(--space-xl)}.transactions-header[data-v-6b434610]{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-lg);justify-content:space-between}.filters[data-v-6b434610]{display:flex;gap:var(--space-sm)}.filter-select[data-v-6b434610]{background:var(--bg-primary);border:2px solid var(--gray-200);border-radius:var(--radius-lg);cursor:pointer;font-size:.875rem;font-weight:600;padding:var(--space-sm) var(--space-md);transition:all var(--transition-base)}.filter-select[data-v-6b434610]:hover{border-color:var(--primary)}.transactions-list[data-v-6b434610]{display:flex;flex-direction:column;gap:var(--space-md);max-height:600px;overflow-y:auto}.transaction-item[data-v-6b434610]{align-items:center;background:var(--bg-secondary);border-left:4px solid transparent;border-radius:var(--radius-lg);display:flex;gap:var(--space-md);padding:var(--space-lg);transition:all var(--transition-base)}.transaction-item.revenue[data-v-6b434610]{border-left-color:var(--success)}.transaction-item.expense[data-v-6b434610]{border-left-color:var(--error)}.transaction-item[data-v-6b434610]:hover{box-shadow:var(--shadow-md);transform:translateX(4px)}.transaction-icon[data-v-6b434610]{font-size:2rem}.transaction-content[data-v-6b434610]{flex:1}.transaction-header[data-v-6b434610]{align-items:flex-start;display:flex;gap:var(--space-md);justify-content:space-between;margin-bottom:var(--space-sm)}.transaction-header h4[data-v-6b434610]{color:var(--text-primary);font-size:1.125rem;font-weight:600;margin:0}.transaction-amount[data-v-6b434610]{font-size:1.25rem;font-weight:700}.transaction-amount.revenue[data-v-6b434610]{color:var(--success)}.transaction-amount.expense[data-v-6b434610]{color:var(--error)}.transaction-meta[data-v-6b434610]{align-items:center;display:flex;gap:var(--space-sm)}.transaction-date[data-v-6b434610]{color:var(--text-secondary);font-size:.875rem}.empty-state[data-v-6b434610]{color:var(--text-light);padding:var(--space-2xl);text-align:center}.empty-icon[data-v-6b434610]{display:block;font-size:4rem;margin-bottom:var(--space-md);opacity:.5}.budget-section[data-v-6b434610]{margin-bottom:var(--space-xl)}.budget-header[data-v-6b434610]{align-items:center;display:flex;justify-content:space-between}.budget-categories[data-v-6b434610]{display:flex;flex-direction:column;gap:var(--space-lg)}.budget-category[data-v-6b434610]{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:var(--space-lg)}.budget-cat-header[data-v-6b434610]{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-sm)}.budget-cat-name[data-v-6b434610]{color:var(--text-primary);font-weight:600}.budget-cat-amounts[data-v-6b434610]{font-size:.875rem}.spent[data-v-6b434610]{color:var(--text-primary);font-weight:700}.separator[data-v-6b434610]{color:var(--text-secondary);margin:0 var(--space-xs)}.planned[data-v-6b434610]{color:var(--text-secondary)}.budget-progress-bar[data-v-6b434610]{background:var(--gray-200);border-radius:var(--radius-full);height:12px;margin-bottom:var(--space-xs);overflow:hidden}.budget-progress-fill[data-v-6b434610]{border-radius:var(--radius-full);height:100%;transition:width .6s cubic-bezier(.65,0,.35,1)}.budget-progress-fill.success[data-v-6b434610]{background:var(--success)}.budget-progress-fill.warning[data-v-6b434610]{background:var(--warning)}.budget-progress-fill.danger[data-v-6b434610]{background:var(--error)}.budget-percentage[data-v-6b434610]{color:var(--text-secondary);font-size:.875rem;font-weight:600}.transaction-form[data-v-6b434610]{display:flex;flex-direction:column;gap:var(--space-lg)}.form-group[data-v-6b434610]{display:flex;flex-direction:column;gap:var(--space-sm)}.form-label[data-v-6b434610]{color:var(--text-primary);font-size:.875rem;font-weight:600}.required[data-v-6b434610]{color:var(--error)}.form-input[data-v-6b434610]{background:var(--bg-primary);border:2px solid var(--gray-200);border-radius:var(--radius-lg);font-family:var(--font-sans);font-size:1rem;padding:var(--space-md);transition:all var(--transition-base)}.form-input[data-v-6b434610]:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(102,126,234,.1);outline:none}.form-row[data-v-6b434610]{display:grid;gap:var(--space-lg);grid-template-columns:1fr 1fr}.icon[data-v-6b434610]{font-size:1.25rem}.budget-config[data-v-6b434610]{display:flex;flex-direction:column;gap:var(--space-lg)}.budget-intro[data-v-6b434610]{color:var(--text-secondary);margin:0}.budget-config-list[data-v-6b434610]{display:grid;gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.budget-config-item[data-v-6b434610]{display:flex;flex-direction:column;gap:var(--space-sm)}.budget-config-label[data-v-6b434610]{color:var(--text-primary);font-size:.875rem;font-weight:600}@media (max-width:768px){.budget-config-list[data-v-6b434610],.charts-section[data-v-6b434610],.form-row[data-v-6b434610]{grid-template-columns:1fr}}.calendrier[data-v-9a6d140a]{animation:fadeIn var(--transition-slow);margin:0 auto;max-width:1600px;padding:var(--space-xl)}.calendrier-header[data-v-9a6d140a]{margin-bottom:var(--space-xl)}.header-title h2[data-v-9a6d140a]{color:var(--text-primary);font-size:2rem;font-weight:700;margin:0 0 var(--space-sm) 0}.subtitle[data-v-9a6d140a]{color:var(--text-secondary);font-size:1rem;margin:0}.calendar-controls[data-v-9a6d140a]{margin-bottom:var(--space-xl)}.controls-row[data-v-9a6d140a]{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-lg)}.current-month[data-v-9a6d140a]{color:var(--text-primary);font-size:1.5rem;font-weight:700;margin:0;text-transform:capitalize}.controls-filters[data-v-9a6d140a]{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-lg);justify-content:space-between}.legend[data-v-9a6d140a]{display:flex;gap:var(--space-lg)}.legend-item[data-v-9a6d140a]{align-items:center;color:var(--text-secondary);display:flex;font-size:.875rem;gap:var(--space-xs)}.legend-dot[data-v-9a6d140a]{border-radius:50%;height:12px;width:12px}.legend-dot.urgent[data-v-9a6d140a]{background:var(--error)}.legend-dot.normal[data-v-9a6d140a]{background:var(--warning)}.legend-dot.low[data-v-9a6d140a]{background:var(--success)}.calendar-grid-container[data-v-9a6d140a]{margin-bottom:var(--space-xl)}.calendar-header-days[data-v-9a6d140a]{background:var(--gray-200);border:1px solid var(--gray-200);border-bottom:none;display:grid;gap:1px;grid-template-columns:repeat(7,1fr)}.day-name[data-v-9a6d140a]{background:var(--bg-primary);color:var(--text-secondary);font-size:.875rem;font-weight:600;padding:var(--space-md);text-align:center;text-transform:uppercase}.calendar-grid[data-v-9a6d140a]{background:var(--gray-200);border:1px solid var(--gray-200);display:grid;gap:1px;grid-template-columns:repeat(7,1fr);min-height:600px}.calendar-day[data-v-9a6d140a]{background:var(--bg-primary);cursor:pointer;display:flex;flex-direction:column;min-height:100px;padding:var(--space-sm);transition:all var(--transition-base)}.calendar-day[data-v-9a6d140a]:hover{background:var(--bg-secondary)}.calendar-day.other-month[data-v-9a6d140a]{opacity:.3}.calendar-day.today[data-v-9a6d140a]{background:linear-gradient(135deg,rgba(102,126,234,.1),rgba(118,75,162,.1))}.calendar-day.today .day-number[data-v-9a6d140a]{align-items:center;background:var(--primary);border-radius:50%;color:#fff;display:flex;font-weight:700;height:28px;justify-content:center;width:28px}.calendar-day.selected[data-v-9a6d140a]{background:var(--primary-light);border:2px solid var(--primary)}.day-number[data-v-9a6d140a]{color:var(--text-primary);font-size:.875rem;font-weight:600;margin-bottom:var(--space-xs)}.day-etapes[data-v-9a6d140a]{display:flex;flex:1;flex-direction:column;gap:2px}.etape-pill[data-v-9a6d140a]{border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:.75rem;font-weight:600;overflow:hidden;padding:2px 6px;text-overflow:ellipsis;transition:all var(--transition-base);white-space:nowrap}.etape-pill[data-v-9a6d140a]:hover{box-shadow:var(--shadow-md);transform:scale(1.05)}.priority-urgent[data-v-9a6d140a]{background:var(--error)}.priority-normal[data-v-9a6d140a]{background:var(--warning)}.priority-low[data-v-9a6d140a]{background:var(--success)}.priority-none[data-v-9a6d140a]{background:var(--gray-400)}.etape-title[data-v-9a6d140a]{font-size:.7rem}.more-etapes[data-v-9a6d140a]{color:var(--text-secondary);font-size:.7rem;font-weight:600;padding:2px;text-align:center}.selected-day-details[data-v-9a6d140a]{margin-bottom:var(--space-xl)}.etapes-list[data-v-9a6d140a]{display:flex;flex-direction:column;gap:var(--space-md)}.etape-item[data-v-9a6d140a]{background:var(--bg-secondary);border-left:4px solid var(--primary);border-radius:var(--radius-lg);cursor:pointer;padding:var(--space-lg);transition:all var(--transition-base)}.etape-item[data-v-9a6d140a]:hover{box-shadow:var(--shadow-md);transform:translateX(4px)}.etape-header[data-v-9a6d140a]{align-items:flex-start;display:flex;gap:var(--space-md);justify-content:space-between;margin-bottom:var(--space-sm)}.etape-header h4[data-v-9a6d140a]{color:var(--text-primary);font-size:1.125rem;font-weight:600;margin:0}.etape-description[data-v-9a6d140a]{color:var(--text-secondary);font-size:.875rem;margin:0 0 var(--space-md) 0}.etape-meta[data-v-9a6d140a]{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.monthly-stats[data-v-9a6d140a]{display:grid;gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.stat-card[data-v-9a6d140a]{background:linear-gradient(135deg,var(--bg-primary),var(--bg-secondary))}.stat-content[data-v-9a6d140a]{align-items:center;display:flex;gap:var(--space-lg)}.stat-icon[data-v-9a6d140a]{font-size:3rem;line-height:1}.stat-details[data-v-9a6d140a]{display:flex;flex-direction:column;gap:var(--space-xs)}.stat-value[data-v-9a6d140a]{color:var(--text-primary);font-size:2.5rem;font-weight:700;line-height:1}.stat-label[data-v-9a6d140a]{color:var(--text-secondary);font-size:.875rem;font-weight:600}@media (max-width:768px){.calendar-grid[data-v-9a6d140a]{min-height:400px}.calendar-day[data-v-9a6d140a]{min-height:60px;padding:var(--space-xs)}.day-name[data-v-9a6d140a]{font-size:.75rem;padding:var(--space-sm)}.current-month[data-v-9a6d140a]{font-size:1.25rem}.controls-row[data-v-9a6d140a]{flex-direction:column;gap:var(--space-md)}}.settings-view[data-v-662085fc]{margin:0 auto;max-width:860px;padding:var(--space-xl)}.settings-header[data-v-662085fc]{margin-bottom:var(--space-xl)}.settings-header h2[data-v-662085fc]{color:var(--text-primary);font-size:1.75rem;font-weight:700;margin:0 0 var(--space-xs)}.settings-subtitle[data-v-662085fc]{color:var(--text-secondary);margin:0}.settings-loader[data-v-662085fc]{color:var(--text-secondary);padding:var(--space-xl);text-align:center}.settings-section[data-v-662085fc]{background:var(--bg-primary);border:1px solid var(--gray-200);border-radius:var(--radius-xl);margin-bottom:var(--space-lg);padding:var(--space-xl)}.section-title[data-v-662085fc]{color:var(--text-primary);font-size:1rem;font-weight:700;margin:0 0 var(--space-lg)}.section-hint[data-v-662085fc]{color:var(--text-secondary);font-size:.85rem;margin:calc(var(--space-md)*-1) 0 var(--space-lg)}.form-group[data-v-662085fc]{margin-bottom:var(--space-md)}.form-group label[data-v-662085fc]{color:var(--text-secondary);display:block;font-size:.85rem;font-weight:600;margin-bottom:var(--space-xs)}.form-group input[type=text][data-v-662085fc]{border:1px solid var(--gray-300);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-sans);font-size:.95rem;padding:var(--space-sm) var(--space-md);transition:border-color var(--transition-base);width:100%}.form-group input[type=text][data-v-662085fc]:focus{border-color:var(--primary);outline:none}.logo-area[data-v-662085fc]{align-items:flex-start;display:flex;flex-wrap:wrap;gap:var(--space-xl)}.logo-preview[data-v-662085fc]{align-items:center;background:var(--bg-secondary);border:2px dashed var(--gray-300);border-radius:var(--radius-lg);display:flex;flex-shrink:0;height:80px;justify-content:center;overflow:hidden;width:120px}.logo-preview img[data-v-662085fc]{max-height:100%;max-width:100%;object-fit:contain}.logo-placeholder[data-v-662085fc]{color:var(--text-light);font-size:.8rem;text-align:center}.logo-actions[data-v-662085fc]{display:flex;flex-direction:column;gap:var(--space-sm)}.upload-hint[data-v-662085fc]{color:var(--text-light);font-size:.75rem;margin:0}.colors-grid[data-v-662085fc]{display:grid;gap:var(--space-lg);grid-template-columns:1fr 1fr}.color-input-row[data-v-662085fc]{align-items:center;display:flex;gap:var(--space-sm)}.color-input-row input[type=color][data-v-662085fc]{border:1px solid var(--gray-300);border-radius:var(--radius-md);cursor:pointer;height:44px;padding:2px;width:44px}.color-hex[data-v-662085fc]{flex:1;font-family:var(--font-mono)!important;font-size:.85rem!important}.theme-preview[data-v-662085fc]{display:flex;flex-wrap:wrap;gap:var(--space-md);margin-top:var(--space-lg)}.preview-btn-gradient[data-v-662085fc],.preview-btn-primary[data-v-662085fc]{border:none;border-radius:var(--radius-lg);color:#fff;cursor:default;font-size:.85rem;font-weight:600;padding:var(--space-sm) var(--space-lg)}.modules-grid[data-v-662085fc]{display:grid;gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.module-toggle[data-v-662085fc]{align-items:center;background:var(--bg-secondary);border:2px solid var(--gray-200);border-radius:var(--radius-lg);cursor:pointer;display:flex;gap:var(--space-sm);padding:var(--space-md);transition:all var(--transition-base)}.module-toggle.active[data-v-662085fc]{background:rgba(102,126,234,.08);border-color:var(--primary)}.module-icon[data-v-662085fc]{font-size:1.5rem}.module-label[data-v-662085fc]{color:var(--text-primary);flex:1;font-size:.85rem;font-weight:600}.module-check[data-v-662085fc]{color:var(--primary);font-size:.9rem;font-weight:700;width:16px}.admin-section[data-v-662085fc]{border-color:var(--warning)}.users-list[data-v-662085fc]{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-lg)}.user-row[data-v-662085fc]{align-items:center;background:var(--bg-secondary);border:1px solid var(--gray-200);border-radius:var(--radius-lg);cursor:pointer;display:flex;gap:var(--space-md);padding:var(--space-md);transition:all var(--transition-base)}.user-row[data-v-662085fc]:hover{border-color:var(--primary)}.user-row.selected[data-v-662085fc]{background:rgba(102,126,234,.05);border-color:var(--primary)}.user-avatar-sm[data-v-662085fc]{align-items:center;background:linear-gradient(135deg,var(--primary),var(--secondary));border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.85rem;font-weight:700;height:36px;justify-content:center;width:36px}.user-info-row[data-v-662085fc]{display:flex;flex:1;flex-direction:column;gap:2px}.user-info-row strong[data-v-662085fc]{color:var(--text-primary);font-size:.9rem}.user-info-row span[data-v-662085fc]{color:var(--text-secondary);font-size:.8rem}.badge-admin[data-v-662085fc]{background:var(--warning);border-radius:var(--radius-full);color:#fff;font-size:.7rem;font-weight:700;padding:2px 8px}.user-chevron[data-v-662085fc]{color:var(--text-light);font-size:1.2rem}.user-config-editor[data-v-662085fc]{border-top:1px solid var(--gray-200);margin-top:var(--space-lg);padding-top:var(--space-lg)}.user-config-editor h4[data-v-662085fc]{color:var(--text-primary);font-size:1rem;margin:0 0 var(--space-lg)}.btn[data-v-662085fc]{border:none;border-radius:var(--radius-lg);cursor:pointer;font-family:var(--font-sans);font-size:.9rem;font-weight:600;padding:var(--space-sm) var(--space-lg);transition:all var(--transition-base)}.btn[data-v-662085fc]:disabled{cursor:not-allowed;opacity:.6}.btn-primary[data-v-662085fc]{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff}.btn-primary[data-v-662085fc]:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.btn-secondary[data-v-662085fc]{background:var(--bg-tertiary);border:1px solid var(--gray-300);color:var(--text-primary)}.btn-secondary[data-v-662085fc]:hover{background:var(--gray-200)}.btn-ghost[data-v-662085fc]{background:transparent;border:1px solid var(--gray-300);color:var(--text-secondary)}.btn-ghost[data-v-662085fc]:hover{background:var(--bg-tertiary)}.btn-danger[data-v-662085fc]{background:rgba(239,68,68,.1);border:1px solid var(--error);color:var(--error)}.btn-danger[data-v-662085fc]:hover{background:var(--error);color:#fff}.btn-upload[data-v-662085fc]{align-items:center;cursor:pointer;display:inline-flex;gap:var(--space-sm)}.settings-actions[data-v-662085fc]{align-items:center;background:var(--bg-primary);border:1px solid var(--gray-200);border-radius:var(--radius-xl);bottom:var(--space-md);box-shadow:var(--shadow-lg);display:flex;justify-content:space-between;padding:var(--space-lg);position:sticky}.actions-right[data-v-662085fc]{align-items:center;display:flex;gap:var(--space-md)}.save-feedback[data-v-662085fc]{font-size:.9rem;font-weight:600}.save-feedback.success[data-v-662085fc]{color:var(--success)}.save-feedback.error[data-v-662085fc]{color:var(--error)}@media (max-width:767px){.settings-view[data-v-662085fc]{padding:var(--space-md)}.colors-grid[data-v-662085fc]{grid-template-columns:1fr}.settings-actions[data-v-662085fc]{flex-direction:column;gap:var(--space-md)}.actions-right[data-v-662085fc]{justify-content:flex-end;width:100%}}.update-prompt[data-v-d5b1fdba]{align-items:center;background:var(--bg-primary);border:1px solid var(--gray-200);border-left:4px solid var(--primary);border-radius:var(--radius-xl);bottom:calc(var(--space-lg) + env(safe-area-inset-bottom));box-shadow:var(--shadow-2xl);display:flex;gap:var(--space-md);justify-content:space-between;left:var(--space-lg);margin:0 auto;max-width:480px;padding:var(--space-md) var(--space-lg);position:fixed;right:var(--space-lg);z-index:9998}.update-content[data-v-d5b1fdba]{align-items:center;display:flex;flex:1;gap:var(--space-md);min-width:0}.update-icon[data-v-d5b1fdba]{flex-shrink:0;font-size:1.5rem}.update-text[data-v-d5b1fdba]{display:flex;flex-direction:column;gap:2px;min-width:0}.update-text strong[data-v-d5b1fdba]{color:var(--text-primary);font-size:.9rem}.update-text span[data-v-d5b1fdba]{color:var(--text-secondary);font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.update-actions[data-v-d5b1fdba]{display:flex;flex-shrink:0;gap:var(--space-sm)}.btn-dismiss[data-v-d5b1fdba]{background:transparent;border:1px solid var(--gray-300);border-radius:var(--radius-lg);color:var(--text-secondary);cursor:pointer;font-family:var(--font-sans);font-size:.85rem;padding:var(--space-xs) var(--space-md);transition:all var(--transition-base)}.btn-dismiss[data-v-d5b1fdba]:hover{background:var(--bg-tertiary)}.btn-reload[data-v-d5b1fdba]{background:linear-gradient(135deg,var(--primary),var(--secondary));border:none;border-radius:var(--radius-lg);color:#fff;cursor:pointer;font-family:var(--font-sans);font-size:.85rem;font-weight:600;padding:var(--space-xs) var(--space-md);transition:all var(--transition-base)}.btn-reload[data-v-d5b1fdba]:hover{opacity:.9;transform:translateY(-1px)}.slide-up-enter-active[data-v-d5b1fdba],.slide-up-leave-active[data-v-d5b1fdba]{transition:all .3s cubic-bezier(.4,0,.2,1)}.slide-up-enter-from[data-v-d5b1fdba],.slide-up-leave-to[data-v-d5b1fdba]{opacity:0;transform:translateY(20px)}@media (max-width:767px){.update-prompt[data-v-d5b1fdba]{align-items:flex-start;bottom:calc(80px + var(--space-md) + env(safe-area-inset-bottom));flex-direction:column}.update-actions[data-v-d5b1fdba]{justify-content:flex-end;width:100%}}.user-menu[data-v-2fd1138f]{position:relative}.user-info[data-v-2fd1138f]{align-items:center;backdrop-filter:blur(10px);background:hsla(0,0%,100%,.1);border-radius:var(--radius-lg);cursor:pointer;display:flex;gap:var(--space-md);padding:var(--space-sm) var(--space-md);transition:all var(--transition-base)}.user-info[data-v-2fd1138f]:hover{background:hsla(0,0%,100%,.2)}.user-avatar[data-v-2fd1138f]{align-items:center;background:linear-gradient(135deg,var(--primary),var(--secondary));border-radius:50%;color:#fff;display:flex;font-size:1rem;font-weight:700;height:40px;justify-content:center;width:40px}.user-avatar.large[data-v-2fd1138f]{font-size:1.5rem;height:60px;width:60px}.user-details[data-v-2fd1138f]{display:flex;flex-direction:column;gap:2px}.user-name[data-v-2fd1138f]{color:#fff;font-size:.95rem;font-weight:600}.user-email[data-v-2fd1138f]{color:hsla(0,0%,100%,.8);font-size:.75rem}.dropdown-icon[data-v-2fd1138f]{color:#fff;font-size:.7rem;margin-left:var(--space-sm);transition:transform var(--transition-base)}.user-info:hover .dropdown-icon[data-v-2fd1138f]{transform:translateY(2px)}.dropdown-menu[data-v-2fd1138f]{animation:slideDown-2fd1138f var(--transition-base);background:var(--bg-primary);border:1px solid var(--gray-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-2xl);min-width:280px;position:absolute;right:0;top:calc(100% + var(--space-sm));z-index:1000}@keyframes slideDown-2fd1138f{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown-header[data-v-2fd1138f]{align-items:center;background:var(--bg-secondary);border-radius:var(--radius-lg) var(--radius-lg) 0 0;display:flex;gap:var(--space-md);padding:var(--space-lg)}.user-info-full[data-v-2fd1138f]{display:flex;flex-direction:column;gap:var(--space-xs)}.user-info-full strong[data-v-2fd1138f]{color:var(--text-primary);font-size:1rem}.user-info-full span[data-v-2fd1138f]{color:var(--text-secondary);font-size:.875rem}.dropdown-divider[data-v-2fd1138f]{background:var(--gray-200);height:1px;margin:var(--space-xs) 0}.dropdown-item[data-v-2fd1138f]{align-items:center;color:var(--text-primary);display:flex;font-size:.95rem;font-weight:500;gap:var(--space-md);padding:var(--space-md) var(--space-lg);text-decoration:none;transition:all var(--transition-base)}.dropdown-item[data-v-2fd1138f]:hover{background:var(--bg-secondary)}.dropdown-item.logout[data-v-2fd1138f]{color:var(--error)}.dropdown-item.logout[data-v-2fd1138f]:hover{background:rgba(239,68,68,.1)}.item-icon[data-v-2fd1138f]{font-size:1.25rem}.dropdown-overlay[data-v-2fd1138f]{bottom:0;left:0;position:fixed;right:0;top:0;z-index:999}@media (max-width:768px){.user-email[data-v-2fd1138f]{display:none}.dropdown-menu[data-v-2fd1138f]{right:-10px}}.offline-banner[data-v-205c283e]{background:var(--error);box-shadow:var(--shadow-lg);color:#fff;left:0;padding:var(--space-md);position:fixed;right:0;top:0;z-index:10000}.offline-content[data-v-205c283e]{align-items:center;display:flex;font-weight:600;gap:var(--space-sm);justify-content:center}.offline-icon[data-v-205c283e]{font-size:1.25rem}.slide-down-enter-active[data-v-205c283e],.slide-down-leave-active[data-v-205c283e]{transition:transform var(--transition-base),opacity var(--transition-base)}.slide-down-enter-from[data-v-205c283e],.slide-down-leave-to[data-v-205c283e]{opacity:0;transform:translateY(-100%)}.bottom-nav[data-v-22a72865]{background:var(--bg-primary);border-top:1px solid var(--gray-200);bottom:0;box-shadow:0 -2px 10px rgba(0,0,0,.1);display:grid;grid-template-columns:repeat(var(--nav-cols,5),1fr);left:0;padding:var(--space-xs) 0;padding-bottom:calc(var(--space-xs) + env(safe-area-inset-bottom));position:fixed;right:0;z-index:1000}.nav-item[data-v-22a72865]{align-items:center;background:none;border:none;color:var(--text-secondary);cursor:pointer;display:flex;flex-direction:column;gap:2px;justify-content:center;min-height:60px;padding:var(--space-xs);transition:all var(--transition-base);-webkit-tap-highlight-color:transparent}.nav-item[data-v-22a72865]:active{transform:scale(.95)}.nav-item.active[data-v-22a72865]{color:var(--primary)}.nav-icon[data-v-22a72865]{font-size:1.5rem}.nav-label[data-v-22a72865]{font-size:.7rem;font-weight:600}.install-prompt[data-v-1e346f7c]{animation:slideUp-1e346f7c var(--transition-base);bottom:var(--space-lg);left:var(--space-lg);position:fixed;right:var(--space-lg);z-index:9999}@keyframes slideUp-1e346f7c{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.install-card[data-v-1e346f7c]{border:2px solid var(--primary);box-shadow:var(--shadow-2xl)}.install-content[data-v-1e346f7c]{align-items:center;display:flex;gap:var(--space-md);margin-bottom:var(--space-md)}.install-icon[data-v-1e346f7c]{font-size:3rem}.install-text h3[data-v-1e346f7c]{color:var(--text-primary);font-size:1.125rem;margin:0 0 var(--space-xs) 0}.install-text p[data-v-1e346f7c]{color:var(--text-secondary);font-size:.875rem;margin:0}.install-actions[data-v-1e346f7c]{display:flex;gap:var(--space-sm);justify-content:flex-end}@media (min-width:768px){.install-prompt[data-v-1e346f7c]{max-width:400px;right:auto}}.auth-container[data-v-31b6f291]{align-items:center;background:linear-gradient(135deg,var(--primary) 0,var(--secondary) 100%);display:flex;justify-content:center;min-height:100vh;padding:var(--space-xl);padding-bottom:calc(var(--space-xl) + env(safe-area-inset-bottom));padding-top:calc(var(--space-xl) + env(safe-area-inset-top))}.auth-card[data-v-31b6f291]{animation:slideInUp var(--transition-slow);background:var(--bg-primary);border-radius:var(--radius-2xl);box-shadow:var(--shadow-2xl);max-width:450px;padding:var(--space-2xl);width:100%}.auth-header[data-v-31b6f291]{margin-bottom:var(--space-xl);text-align:center}.auth-header h1[data-v-31b6f291]{color:var(--text-primary);font-size:2rem;font-weight:700;margin:0 0 var(--space-sm) 0}.auth-header p[data-v-31b6f291]{color:var(--text-secondary);font-size:1rem;margin:0}.auth-form[data-v-31b6f291]{display:flex;flex-direction:column;gap:var(--space-lg)}.alert[data-v-31b6f291]{border-radius:var(--radius-lg);font-size:.875rem;font-weight:600;padding:var(--space-md)}.alert-error[data-v-31b6f291]{background:rgba(239,68,68,.1);border:1px solid var(--error);color:var(--error)}.form-group[data-v-31b6f291]{display:flex;flex-direction:column;gap:var(--space-sm)}.form-label[data-v-31b6f291]{color:var(--text-primary);font-size:.875rem;font-weight:600}.form-input[data-v-31b6f291]{background:var(--bg-primary);border:2px solid var(--gray-200);border-radius:var(--radius-lg);font-family:var(--font-sans);font-size:1rem;padding:var(--space-md);transition:all var(--transition-base)}.form-input[data-v-31b6f291]:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(102,126,234,.1);outline:none}.form-group-checkbox[data-v-31b6f291]{align-items:center;display:flex}.checkbox-label[data-v-31b6f291]{align-items:center;cursor:pointer;display:flex;gap:var(--space-sm);user-select:none}.checkbox-label input[type=checkbox][data-v-31b6f291]{cursor:pointer;height:18px;width:18px}.checkbox-label span[data-v-31b6f291]{color:var(--text-secondary);font-size:.875rem}.auth-footer[data-v-31b6f291]{border-top:1px solid var(--gray-100);margin-top:var(--space-xl);padding-top:var(--space-lg);text-align:center}.auth-footer p[data-v-31b6f291]{color:var(--text-secondary);font-size:.875rem;margin:0}.link[data-v-31b6f291]{color:var(--primary);font-weight:600;text-decoration:none;transition:all var(--transition-base)}.link[data-v-31b6f291]:hover{color:var(--secondary);text-decoration:underline}@media (max-width:768px){.auth-card[data-v-31b6f291]{padding:var(--space-xl)}}.config-loader{align-items:center;background:var(--bg-secondary);display:flex;inset:0;justify-content:center;position:fixed;z-index:9999}.config-loader-spinner{animation:spin .7s linear infinite;border:3px solid var(--gray-200);border-radius:50%;border-top-color:var(--primary);height:40px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}#app{display:flex;flex-direction:column;min-height:100vh}.app-header{background:var(--bg-primary);border-bottom:1px solid var(--gray-200);box-shadow:var(--shadow-sm);padding:var(--space-md) 0;position:sticky;top:0;z-index:var(--z-dropdown)}.header-container{align-items:center;display:flex;gap:var(--space-xl);margin:0 auto;max-width:1600px;padding:0 var(--space-xl)}.header-brand{align-items:center;display:flex;flex-shrink:0;gap:var(--space-md)}.header-logo{border-radius:var(--radius-sm);height:40px;max-width:120px;object-fit:contain;width:auto}.header-brand h1{color:var(--primary);font-size:1.5rem;font-weight:700;line-height:1.2;margin:0}.header-subtitle{color:var(--text-secondary);font-size:.8rem;margin:0}.header-nav{align-items:center;display:flex;flex:1;gap:var(--space-xs)}.nav-button{background:transparent;border:none;border-radius:var(--radius-lg);color:var(--text-secondary);cursor:pointer;font-family:var(--font-sans);font-size:.875rem;font-weight:500;padding:var(--space-sm) var(--space-md);transition:all var(--transition-base);white-space:nowrap}.nav-button:hover{background:var(--gray-100);color:var(--text-primary)}.nav-button.active{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff}.app-main{flex:1}.app-footer{background:var(--bg-primary);border-top:1px solid var(--gray-200);padding:var(--space-lg) var(--space-xl);text-align:center}.footer-content p{color:var(--text-secondary);font-size:.8rem;line-height:1.8;margin:0}.footer-version{color:var(--text-light)}.app-main.mobile-padding{padding-bottom:80px}@media (min-width:768px){.app-main.mobile-padding{padding-bottom:0}}@media (max-width:767px){.header-container{padding:0 var(--space-md)}.header-brand h1{font-size:1.25rem}.app-header{padding:var(--space-sm) 0}}.home-view{margin:0 auto;max-width:1400px;padding:var(--space-2xl)}.welcome-section{margin-bottom:var(--space-2xl)}.welcome-card{background:linear-gradient(135deg,var(--primary),var(--secondary));border:none;color:#fff;padding:var(--space-2xl);text-align:center}.welcome-card h2{font-size:2rem;margin:0 0 var(--space-md) 0}.welcome-card p{font-size:1.125rem;margin:0;opacity:.95}.features-grid{display:grid;gap:var(--space-xl);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:var(--space-2xl)}.feature-card{cursor:pointer;padding:var(--space-xl);text-align:center;transition:all var(--transition-base)}.feature-card:hover{box-shadow:var(--shadow-2xl);transform:translateY(-4px)}.feature-icon{font-size:4rem;margin-bottom:var(--space-md)}.feature-card h3{color:var(--text-primary);margin:0 0 var(--space-sm) 0}.feature-card p{color:var(--text-secondary);font-size:.875rem;margin:0}.stats-grid{display:grid;gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.stat-card{padding:var(--space-xl);text-align:center}.stat-icon{font-size:3rem;margin-bottom:var(--space-md)}.stat-card h3{color:var(--primary);font-size:2rem;margin:0 0 var(--space-xs) 0}.stat-card p{color:var(--text-secondary);font-size:.875rem;font-weight:600;margin:0}.auth-container[data-v-0de270d1]{align-items:center;background:linear-gradient(135deg,var(--primary) 0,var(--secondary) 100%);display:flex;justify-content:center;min-height:100vh;padding:var(--space-xl)}.auth-card[data-v-0de270d1]{animation:slideInUp var(--transition-slow);background:var(--bg-primary);border-radius:var(--radius-2xl);box-shadow:var(--shadow-2xl);max-width:500px;padding:var(--space-2xl);width:100%}.auth-header[data-v-0de270d1]{margin-bottom:var(--space-xl);text-align:center}.auth-header h1[data-v-0de270d1]{color:var(--text-primary);font-size:2rem;font-weight:700;margin:0 0 var(--space-sm) 0}.auth-header p[data-v-0de270d1]{color:var(--text-secondary);font-size:1rem;margin:0}.auth-form[data-v-0de270d1]{display:flex;flex-direction:column;gap:var(--space-lg)}.alert[data-v-0de270d1]{border-radius:var(--radius-lg);font-size:.875rem;font-weight:600;padding:var(--space-md)}.alert-error[data-v-0de270d1]{background:rgba(239,68,68,.1);border:1px solid var(--error);color:var(--error)}.alert-success[data-v-0de270d1]{background:rgba(16,185,129,.1);border:1px solid var(--success);color:var(--success)}.form-row[data-v-0de270d1]{display:grid;gap:var(--space-md);grid-template-columns:1fr 1fr}.form-group[data-v-0de270d1]{display:flex;flex-direction:column;gap:var(--space-sm)}.form-label[data-v-0de270d1]{color:var(--text-primary);font-size:.875rem;font-weight:600}.form-input[data-v-0de270d1]{background:var(--bg-primary);border:2px solid var(--gray-200);border-radius:var(--radius-lg);font-family:var(--font-sans);font-size:1rem;padding:var(--space-md);transition:all var(--transition-base)}.form-input[data-v-0de270d1]:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(102,126,234,.1);outline:none}.form-hint[data-v-0de270d1]{color:var(--text-secondary);font-size:.75rem}.form-group-checkbox[data-v-0de270d1]{align-items:center;display:flex}.checkbox-label[data-v-0de270d1]{align-items:center;cursor:pointer;display:flex;gap:var(--space-sm);user-select:none}.checkbox-label input[type=checkbox][data-v-0de270d1]{cursor:pointer;height:18px;width:18px}.checkbox-label span[data-v-0de270d1]{color:var(--text-secondary);font-size:.875rem}.auth-footer[data-v-0de270d1]{border-top:1px solid var(--gray-100);margin-top:var(--space-xl);padding-top:var(--space-lg);text-align:center}.auth-footer p[data-v-0de270d1]{color:var(--text-secondary);font-size:.875rem;margin:0}.link[data-v-0de270d1]{color:var(--primary);font-weight:600;text-decoration:none;transition:all var(--transition-base)}.link[data-v-0de270d1]:hover{color:var(--secondary);text-decoration:underline}@media (max-width:768px){.auth-card[data-v-0de270d1]{padding:var(--space-xl)}.form-row[data-v-0de270d1]{grid-template-columns:1fr}}:root{--primary:#667eea;--primary-dark:#5568d3;--primary-light:#7c8ef0;--secondary:#764ba2;--accent:#f093fb;--success:#10b981;--warning:#f59e0b;--error:#ef4444;--info:#3b82f6;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--bg-primary:#fff;--bg-secondary:#f7fafc;--bg-tertiary:#edf2f7;--text-primary:#1f2937;--text-secondary:#6b7280;--text-light:#9ca3af;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.1);--shadow-2xl:0 25px 50px -12px rgba(0,0,0,.25);--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-full:9999px;--space-xs:0.25rem;--space-sm:0.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--transition-base:200ms cubic-bezier(0.4,0,0.2,1);--transition-slow:300ms cubic-bezier(0.4,0,0.2,1);--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-mono:"Courier New",monospace;--z-base:1;--z-dropdown:100;--z-modal:1000;--z-toast:2000}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-secondary);color:var(--text-primary);font-family:var(--font-sans);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.touch-target{align-items:center;display:inline-flex;justify-content:center;min-height:44px;min-width:44px}@media (max-width:767px){.hide-mobile{display:none!important}}.show-mobile{display:none!important}@media (max-width:767px){.show-mobile{display:block!important}}.safe-area-top{padding-top:env(safe-area-inset-top)}.safe-area-bottom{padding-bottom:env(safe-area-inset-bottom)}.safe-area-left{padding-left:env(safe-area-inset-left)}.safe-area-right{padding-right:env(safe-area-inset-right)}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.animate-slideInUp{animation:slideInUp var(--transition-slow) ease-out}.animate-fadeIn{animation:fadeIn var(--transition-base) ease-out}.animate-scaleIn{animation:scaleIn var(--transition-base) ease-out}.transition-all{transition:all var(--transition-base)}.hover-lift:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.hover-scale:hover{transform:scale(1.05)}.btn[data-v-fde29770]{align-items:center;border:none;border-radius:var(--radius-lg);cursor:pointer;display:inline-flex;font-family:var(--font-sans);font-weight:600;gap:.5rem;justify-content:center;text-decoration:none;transition:all var(--transition-base);white-space:nowrap}.btn-sm[data-v-fde29770]{font-size:.875rem;padding:.5rem 1rem}.btn-md[data-v-fde29770]{font-size:1rem;padding:.75rem 1.5rem}.btn-lg[data-v-fde29770]{font-size:1.125rem;padding:1rem 2rem}.btn-primary[data-v-fde29770]{background:linear-gradient(135deg,var(--primary) 0,var(--secondary) 100%);box-shadow:var(--shadow-md);color:#fff}.btn-primary[data-v-fde29770]:hover:not(.btn-disabled){box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn-primary[data-v-fde29770]:active:not(.btn-disabled){transform:translateY(0)}.btn-secondary[data-v-fde29770]{background:var(--gray-100);box-shadow:var(--shadow-sm);color:var(--text-primary)}.btn-secondary[data-v-fde29770]:hover:not(.btn-disabled){background:var(--gray-200)}.btn-success[data-v-fde29770]{background:var(--success);box-shadow:var(--shadow-md);color:#fff}.btn-success[data-v-fde29770]:hover:not(.btn-disabled){filter:brightness(1.1);transform:translateY(-2px)}.btn-danger[data-v-fde29770]{background:var(--error);box-shadow:var(--shadow-md);color:#fff}.btn-danger[data-v-fde29770]:hover:not(.btn-disabled){filter:brightness(1.1);transform:translateY(-2px)}.btn-ghost[data-v-fde29770]{background:transparent;border:2px solid var(--primary);color:var(--primary)}.btn-ghost[data-v-fde29770]:hover:not(.btn-disabled){background:var(--primary);color:#fff}.btn-disabled[data-v-fde29770]{cursor:not-allowed;opacity:.5;transform:none!important}.spinner[data-v-fde29770]{animation:spin-fde29770 .6s linear infinite;border:2px solid hsla(0,0%,100%,.3);border-radius:50%;border-top-color:#fff;height:1rem;width:1rem}@keyframes spin-fde29770{to{transform:rotate(1turn)}}.card[data-v-e2c70204]{animation:scaleIn var(--transition-base);background:var(--bg-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);overflow:hidden;transition:all var(--transition-base)}.card-hoverable[data-v-e2c70204]{cursor:pointer}.card-hoverable[data-v-e2c70204]:hover{box-shadow:var(--shadow-xl);transform:translateY(-4px)}.card-bordered[data-v-e2c70204]{border:1px solid var(--gray-200)}.card-padding-none .card-body[data-v-e2c70204]{padding:0}.card-padding-sm .card-body[data-v-e2c70204]{padding:var(--space-md)}.card-padding-md .card-body[data-v-e2c70204]{padding:var(--space-lg)}.card-padding-lg .card-body[data-v-e2c70204]{padding:var(--space-xl)}.card-header[data-v-e2c70204]{border-bottom:1px solid var(--gray-100);color:var(--text-primary);font-weight:600;padding:var(--space-lg)}.card-footer[data-v-e2c70204]{background:var(--bg-secondary);border-top:1px solid var(--gray-100);padding:var(--space-lg)}.modal-overlay[data-v-d51b820a]{align-items:center;backdrop-filter:blur(4px);background:rgba(0,0,0,.5);display:flex;height:100%;justify-content:center;left:0;padding:var(--space-md);position:fixed;top:0;width:100%;z-index:var(--z-modal)}.modal-container[data-v-d51b820a]{background:var(--bg-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-2xl);max-height:90vh;overflow-y:auto;width:100%}.modal-sm[data-v-d51b820a]{max-width:400px}.modal-md[data-v-d51b820a]{max-width:600px}.modal-lg[data-v-d51b820a]{max-width:800px}.modal-xl[data-v-d51b820a]{max-width:1200px}.modal-header[data-v-d51b820a]{align-items:center;border-bottom:1px solid var(--gray-100);display:flex;justify-content:space-between;padding:var(--space-xl)}.modal-header h3[data-v-d51b820a]{color:var(--text-primary);font-size:1.5rem;margin:0}.modal-close[data-v-d51b820a]{background:none;border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;font-size:1.5rem;padding:.5rem;transition:all var(--transition-base)}.modal-close[data-v-d51b820a]:hover{background:var(--gray-100);color:var(--text-primary)}.modal-body[data-v-d51b820a]{padding:var(--space-xl)}.modal-footer[data-v-d51b820a]{background:var(--bg-secondary);border-top:1px solid var(--gray-100);display:flex;gap:var(--space-md);justify-content:flex-end;padding:var(--space-xl)}.modal-enter-active[data-v-d51b820a],.modal-leave-active[data-v-d51b820a]{transition:opacity var(--transition-base)}.modal-enter-active .modal-container[data-v-d51b820a],.modal-leave-active .modal-container[data-v-d51b820a]{transition:all var(--transition-base)}.modal-enter-from[data-v-d51b820a],.modal-leave-to[data-v-d51b820a]{opacity:0}.modal-enter-from .modal-container[data-v-d51b820a],.modal-leave-to .modal-container[data-v-d51b820a]{transform:scale(.95) translateY(-20px)}.badge[data-v-a089c7aa]{align-items:center;border-radius:var(--radius-md);display:inline-flex;font-weight:600;justify-content:center;transition:all var(--transition-base)}.badge-pill[data-v-a089c7aa]{border-radius:var(--radius-full)}.badge-sm[data-v-a089c7aa]{font-size:.75rem;padding:.25rem .5rem}.badge-md[data-v-a089c7aa]{font-size:.875rem;padding:.375rem .75rem}.badge-lg[data-v-a089c7aa]{font-size:1rem;padding:.5rem 1rem}.badge-primary[data-v-a089c7aa]{background:linear-gradient(135deg,var(--primary-light),var(--primary));color:#fff}.badge-success[data-v-a089c7aa]{background:var(--success);color:#fff}.badge-warning[data-v-a089c7aa]{background:var(--warning);color:#fff}.badge-danger[data-v-a089c7aa]{background:var(--error);color:#fff}.badge-info[data-v-a089c7aa]{background:var(--info);color:#fff}.badge-gray[data-v-a089c7aa]{background:var(--gray-200);color:var(--text-primary)}