.sheets-error{padding:20px;background-color:#fee2e2;border:1px solid #ef4444;border-radius:8px;color:#991b1b;margin:20px 0}.sheets-loading{text-align:center;padding:40px;color:#6b7280}@keyframes ping{0%{transform:scale(1);opacity:1}75%,100%{transform:scale(2);opacity:0}}@keyframes pulse{0%,100%{opacity:1}50%{opacity:.5}}@keyframes bounce{0%,100%{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:translateY(0);animation-timing-function:cubic-bezier(0,0,.2,1)}}@keyframes fade-in{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes confetti-slow{0%{transform:translate3d(0,0,0) rotateX(0) rotateY(0)}100%{transform:translate3d(25px,105vh,0) rotateX(360deg) rotateY(180deg)}}@keyframes confetti-medium{0%{transform:translate3d(0,0,0) rotateX(0) rotateY(0)}100%{transform:translate3d(100px,105vh,0) rotateX(100deg) rotateY(360deg)}}@keyframes confetti-fast{0%{transform:translate3d(0,0,0) rotateX(0) rotateY(0)}100%{transform:translate3d(-50px,105vh,0) rotateX(10deg) rotateY(250deg)}}.dashboard-card{background:#fff;border-radius:8px;padding:24px;box-shadow:0 2px 4px rgba(0,0,0,.1);margin:20px 0}.widget-title{color:#4338ca;font-size:1.5rem;font-weight:600;margin-bottom:1rem;text-align:center}.objective-section{color:#fff;border-radius:8px;padding:24px;position:relative;margin:20px 0}.objective-container{text-align:center}.objective-title{color:#fff;font-size:2rem;margin-bottom:1rem;text-shadow:0 0 10px rgba(255,255,255,.8),0 0 20px rgba(255,255,255,.5),0 0 30px rgba(255,255,255,.3)}.objective-amounts{color:#fff;font-size:3rem;font-weight:700}.current-amount,.target-amount{display:inline-block;text-shadow:2px 2px 4px rgba(0,0,0,.5);line-height:1}.separator{margin:0 .5rem;opacity:.8;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.refresh-button,.sheets-refresh-btn{background:#4338ca;color:#fff;padding:.5rem 1rem;border-radius:.5rem;border:none;cursor:pointer;font-weight:600;margin:1rem 0;transition:background-color 0.2s;display:flex;align-items:center;gap:.5rem}.refresh-button:hover,.sheets-refresh-btn:hover{background:#3730a3}.refresh-notice{margin-top:.5rem;color:#666;font-size:.9rem}.celebration-message{text-align:center;font-size:1.5rem;color:#4338ca;font-weight:700;margin:1rem 0;animation:bounce 1s infinite}.celebration-container{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:9999;width:90%;max-width:600px;background:rgba(255,255,255,.95);border-radius:16px;padding:20px;box-shadow:0 8px 32px rgba(0,0,0,.1);backdrop-filter:blur(8px);text-align:center;pointer-events:none}.celebration-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);backdrop-filter:blur(3px);z-index:9998;opacity:0;animation:fadeIn 0.3s forwards;cursor:pointer}.confetti-container{perspective:700px;position:absolute;overflow:hidden;top:0;right:0;bottom:0;left:0;pointer-events:none}.confetti{position:absolute;z-index:1;top:-10px;border-radius:0%}.confetti--animation-slow{animation:confetti-slow 2.5s linear 1 forwards}.confetti--animation-medium{animation:confetti-medium 2s linear 1 forwards}.confetti--animation-fast{animation:confetti-fast 1.5s linear 1 forwards}.vendeur-stats-container{background:#fff;padding:2rem;border-radius:.5rem;box-shadow:0 2px 8px rgba(0,0,0,.1)}.stats-grid{display:flex;flex-direction:column;gap:1.5rem}.stat-row{width:100%;padding:1rem;background:#f8fafc;border-radius:.75rem;border:1px solid #e5e7eb;transition:all 0.3s ease}.stat-row:hover{background:#f1f5f9;box-shadow:0 4px 12px rgba(0,0,0,.1);transform:translateY(-2px)}.stat-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.vendeur-name{color:#1f2937;font-weight:600;font-size:1.1rem}.amount{color:#4338ca;font-weight:700;font-size:1.2rem}.progress-bar{width:100%;height:1rem;background:#e5e7eb;border-radius:9999px;overflow:hidden;position:relative;margin-top:.5rem}.progress-bar::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,rgba(255,255,255,.1) 0%,transparent 50%,rgba(255,255,255,.1) 100%);pointer-events:none}.progress{height:100%;background:linear-gradient(135deg,#6366f1,#4338ca);border-radius:9999px;transition:width 0.3s ease;box-shadow:0 2px 4px rgba(67,56,202,.3);position:relative}.progress::after{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s infinite}.deals-summary{margin-top:0.75rem!important;font-size:0.875rem!important;color:#6b7280!important;padding:.5rem 1rem;background:#fff;border-radius:.5rem;border:1px solid #e5e7eb}@keyframes shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}.meetings-container{background:#fff;padding:1.5rem;border-radius:.5rem;box-shadow:0 2px 4px rgba(0,0,0,.1)}.meetings-grid{display:flex;flex-direction:column;gap:.5rem}.meetings-header{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:1rem;padding:.75rem 0;border-bottom:2px solid #e5e7eb;font-weight:600;color:#374151}.header-cell{display:flex;align-items:center;gap:.5rem;font-size:1.1rem}.meeting-row{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:1rem;padding:.45rem 0;border-bottom:1px solid #e5e7eb;align-items:center}.meeting-row:last-child{border-bottom:none}.client{color:#374151;font-weight:500}.heure{color:#374151;font-weight:500}.agent{color:#4338ca;font-weight:500}.status{padding:.25rem .5rem;border-radius:.25rem;text-align:center;font-size:.875rem;font-weight:500}.status-completed{background-color:#d1fae5;color:#065f46}.status-progress{background-color:#e0f2fe;color:#0369a1}.status-pending{background-color:#fef3c7;color:#92400e}.status-not-started{background-color:#ff3939;color:#fff}.no-meetings{text-align:center;padding:2rem;color:#6b7280;font-style:italic}.daily-ca-container{text-align:center;background:linear-gradient(135deg,#4338ca,#6366f1);color:#fff;padding:2rem;border-radius:.5rem;margin:1rem 0}.daily-ca-title{font-size:1.5rem;font-weight:700;margin-bottom:1rem;color:#fff}.daily-ca-amount{font-size:2.5rem;font-weight:700}.performance-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.vendor-card{background:#fff;border-radius:.5rem;padding:1.25rem;box-shadow:0 1px 3px rgba(0,0,0,.1)}.vendor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.vendor-name{font-size:1.125rem;font-weight:600;color:#1f2937}.vendor-amount{font-size:1.125rem;font-weight:600;color:#4338ca}.vendor-subheader{color:#6b7280;font-size:.875rem;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid #e5e7eb}.deals-list{display:flex;flex-direction:column;gap:.75rem}.deal-details{background:#f8fafc;padding:.75rem;border-radius:.375rem;border:1px solid #e5e7eb}.deal-name{display:flex;justify-content:space-between;align-items:center;font-weight:500;color:#374151;margin-bottom:.25rem}.deal-amount{color:#4338ca;font-size:.875rem}.deal-type{color:#6b7280;font-size:.875rem}.vendor-comparison-container{background:#fff;padding:2rem;border-radius:.5rem;margin:1rem 0;box-shadow:0 1px 3px rgba(0,0,0,.1);width:100%}.comparison-controls{display:flex;gap:1rem;margin-bottom:1.5rem;justify-content:center;flex-wrap:wrap}.period-btn{padding:.75rem 1.5rem;border:2px solid #4338ca;background:#fff;color:#4338ca;border-radius:.375rem;cursor:pointer;transition:all 0.2s;font-weight:600;min-width:120px;font-size:1rem}.period-btn:hover{background:rgba(67,56,202,.1)}.period-btn.active{background:#4338ca;color:#fff}.period-btn:not(.active){background:#fff;color:#4338ca;border-color:#4338ca}.chart-container{position:relative;height:500px;width:100%;margin-top:1rem;background:#f8fafc;border-radius:.5rem;padding:1rem}#vendorChart{width:100%!important;height:100%!important}.sheets-location-stats{background:#f8fafc;padding:1.5rem;border-radius:.5rem;border:1px solid #e2e8f0;margin:1rem 0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif}.location-header{margin-bottom:1.5rem}.location-title{color:#ef4444;font-size:1.5rem;font-weight:700;margin:0 0 .75rem 0}.location-totals{display:flex;flex-wrap:wrap;gap:1.5rem;margin-bottom:1rem}.total-deals,.total-amount{background:#fff;padding:1rem 1.5rem;border-radius:.5rem;box-shadow:0 1px 3px rgba(0,0,0,.1);flex:1;min-width:180px}.label{color:#6b7280;font-size:.875rem;display:block;margin-bottom:.25rem}.value{color:#1f2937;font-size:1.25rem;font-weight:600}.total-amount .value{color:#4338ca}.monthly-breakdown{background:#fff;padding:1.5rem;border-radius:.5rem;box-shadow:0 1px 3px rgba(0,0,0,.1);margin-top:1.5rem}.monthly-title{color:#1f2937;font-size:1.125rem;font-weight:600;margin:0 0 1.5rem 0;text-align:center}.monthly-chart-container{overflow-x:auto;padding-bottom:1rem}.monthly-grid{display:flex;gap:1rem;min-width:700px;height:300px;align-items:flex-end;padding-top:1.5rem}.month-item{display:flex;flex-direction:column;align-items:center;flex:1}.month-label{font-size:.75rem;color:#6b7280;margin-bottom:.5rem;white-space:nowrap;text-align:center}.month-bar-container{width:100%;background:#f3f4f6;border-radius:.25rem;height:180px;display:flex;align-items:flex-end;overflow:hidden}.month-bar{width:100%;min-height:4px;border-radius:.25rem .25rem 0 0;transition:height 0.3s ease}.month-amount{color:#4338ca;font-weight:600;font-size:.875rem;margin-top:.5rem;white-space:nowrap}.month-deals{color:#6b7280;font-size:.75rem;margin-top:.25rem}.missing-location-details{margin-top:2rem;background:#fff;padding:1.5rem;border-radius:.5rem;box-shadow:0 1px 3px rgba(0,0,0,.1)}.details-title{color:#ef4444;font-size:1.125rem;font-weight:600;margin:0 0 1rem 0}.missing-deals-table{width:100%;border-collapse:collapse;margin-top:1rem;font-size:.875rem}.missing-deals-table th{background:#f1f5f9;padding:.75rem;text-align:left;font-weight:600;color:#4b5563;border-bottom:2px solid #e5e7eb}.missing-deals-table td{padding:.75rem;border-bottom:1px solid #e5e7eb;color:#4b5563}.missing-deals-table tr:hover td{background:#f8fafc}.sheets-debug{font-size:.75rem;color:#6b7280;margin-top:1rem;padding-top:1rem;border-top:1px dashed #ccc}.chart-loading{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f8fafc;border-radius:.75rem;z-index:10}.loading-spinner{width:3rem;height:3rem;border:4px solid #e5e7eb;border-top:4px solid #4338ca;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.chart-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#ef4444;text-align:center;padding:2rem}.chart-error p{margin:.5rem 0;font-weight:600}.error-detail{color:#6b7280;font-size:.875rem;font-weight:400}.retry-btn,.retry-chart-btn{background:#4338ca;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:.5rem;cursor:pointer;font-weight:600;margin-top:1rem;transition:background-color 0.2s}.retry-btn:hover,.retry-chart-btn:hover{background:#3730a3}.sheets-kpi-dashboard{background:#f8fafc;padding:2rem;border-radius:.5rem;box-shadow:0 1px 3px rgba(0,0,0,.1)}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #e5e7eb}.dashboard-title{color:#4338ca;font-size:1.875rem;font-weight:700;margin:0}.dashboard-refresh-btn{background:#4338ca;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:.375rem;cursor:pointer;font-weight:600;display:flex;align-items:center;gap:.5rem;transition:background-color 0.2s}.dashboard-refresh-btn:hover{background:#3730a3}.dashboard-grid{display:grid;gap:1.5rem}.dashboard-widget{background:#fff;border-radius:.5rem;box-shadow:0 1px 3px rgba(0,0,0,.1);min-height:400px;position:relative;overflow:hidden}.widget-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#6b7280}.widget-content{padding:1.5rem}.widget-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#ef4444;background:#fef2f2;border:1px solid #fee2e2;border-radius:.375rem;margin:1rem;padding:2rem}.chart-container,.monthly-chart-container,.comparison-chart-container{position:relative;background:#f8fafc;border-radius:.5rem;padding:1rem;border:1px solid #e5e7eb;overflow:hidden}.chart-container canvas,.monthly-chart-container canvas,.comparison-chart-container canvas{width:100%!important;height:100%!important;max-width:100%;display:block}@media screen and (max-width:480px){.current-amount,.target-amount{font-size:2.5rem}.separator{font-size:2rem}}@media (max-width:1024px){.dashboard-grid{grid-template-columns:repeat(2,1fr)!important}}@media (max-width:640px){.dashboard-grid{grid-template-columns:1fr!important}.dashboard-header{flex-direction:column;gap:1rem}}@media (max-width:768px){.location-totals{flex-direction:column;gap:1rem}.monthly-grid{min-width:500px}.missing-deals-table{display:block;overflow-x:auto}.chart-controls{flex-direction:column;gap:1rem;align-items:stretch}.chart-type-buttons{justify-content:center}.comparison-export-btn{justify-content:center}.chart-container{height:350px;padding:.5rem}.period-btn{min-width:100px;font-size:.875rem;padding:.5rem 1rem}.vendor-comparison-container{padding:1rem}.chart-container,.monthly-chart-container,.comparison-chart-container{height:300px;padding:.75rem;margin:1rem 0}.chart-legend-mobile-hidden{display:none}.chart-type-toggle,.period-btn{min-height:44px;min-width:44px}}@media (max-width:640px){.rep-stats{grid-template-columns:repeat(2,1fr);gap:.75rem}.activity-grid{grid-template-columns:1fr;gap:1rem}.comparison-controls{gap:.5rem}.period-btn{flex:1;min-width:auto}.chart-container,.monthly-chart-container,.comparison-chart-container{height:250px;padding:.5rem}}@media (max-width:480px){.chart-container{height:300px;padding:.25rem}.comparison-controls{flex-direction:column;align-items:stretch}.period-btn{width:100%;text-align:center}.vendor-comparison-container{padding:.75rem}.chart-container,.monthly-chart-container,.comparison-chart-container{height:200px;padding:.25rem;margin:.5rem 0}.chart-type-toggle{font-size:.75rem;padding:.375rem .5rem}.chart-type-buttons{flex-direction:column;gap:.25rem}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeOut{from{opacity:1}to{opacity:0}}@keyframes slideIn{to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.celebration-message{opacity:0;transform:translateY(20px);animation:slideIn 0.5s forwards;margin:10px 0;padding:15px;border-radius:8px}.celebration-message.achievement{font-size:1.8rem;font-weight:700;color:#4338ca;animation-delay:0s;margin-bottom:15px}.celebration-message.motivation{font-size:1.4rem;color:#6366f1;animation-delay:0.3s}.no-data-message{text-align:center;color:#6b7280;font-style:italic;padding:2rem;font-size:1.1rem}.auto-refresh-indicator{display:none!important}.refresh-status{display:flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.95);padding:.5rem 1rem;border-radius:20px;border:1px solid #e5e7eb;box-shadow:0 2px 8px rgba(0,0,0,.1);transition:all 0.3s ease}.refresh-status:hover{box-shadow:0 4px 12px rgba(0,0,0,.15)}.refresh-icon{font-size:1rem;animation:none}.auto-refresh-indicator.checking .refresh-icon{animation:spin 1s linear infinite}.refresh-text{font-size:.875rem;color:#6b7280;font-weight:600}.auto-refresh-indicator.success .refresh-status{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border-color:#10b981}.auto-refresh-indicator.success .refresh-text{color:#059669}.auto-refresh-indicator.error .refresh-status{background:linear-gradient(135deg,#fee2e2,#fecaca);border-color:#ef4444}.auto-refresh-indicator.error .refresh-text{color:#dc2626}.auto-refresh-indicator.paused .refresh-status{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border-color:#9ca3af;opacity:.7}.refresh-toggle{background:none;border:none;cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all 0.2s ease}.refresh-toggle:hover{background:rgba(0,0,0,.05)}.toggle-icon{font-size:.875rem}.auto-refresh-notification{display:none!important}.encaissement-status{display:none!important}.auto-refresh-notification.show{transform:translateX(0);opacity:1}.notification-content{display:flex;align-items:center;gap:.75rem}.notification-icon{font-size:1.25rem;animation:bounce 1s ease-in-out}.notification-text{font-weight:600;font-size:.875rem}.updating{animation:pulse-green 1.5s ease-in-out}.updated{animation:flash-green 0.5s ease-in-out}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@keyframes pulse-green{0%,100%{background-color:transparent}50%{background-color:rgba(16,185,129,.1)}}@keyframes flash-green{0%,100%{background-color:transparent;transform:scale(1)}50%{background-color:rgba(16,185,129,.2);transform:scale(1.05)}}.payment-stat-item.updated{animation:highlight-pulse 1s ease-in-out}@keyframes highlight-pulse{0%,100%{box-shadow:0 0 0 rgba(99,102,241,0)}50%{box-shadow:0 0 20px rgba(99,102,241,.4)}}@media (max-width:768px){.auto-refresh-indicator{top:.5rem;right:.5rem}.refresh-status{padding:.4rem .75rem}.refresh-text{display:none}.auto-refresh-notification{top:1rem;right:1rem;left:1rem}}