@import"https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap";body{font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#8f2024,#c4161c);padding:20px}.login-card{background:#fff;padding:60px 50px;text-align:center;max-width:440px;width:100%;box-shadow:0 20px 50px #0000004d}.login-card img{max-width:220px;height:auto;margin-bottom:30px}.login-card h1{color:#8f2024;font-size:24px;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:10px}.login-card p{color:#666;margin-bottom:30px}.login-card .caption{font-size:12px;color:#999;margin-top:20px;margin-bottom:0}.auth-container{min-height:50px;display:flex;align-items:center;justify-content:center}.auth-container button,.login-btn{background:linear-gradient(90deg,#c4161c,#8f2024);color:#fff;border:none;padding:15px 40px;font-size:16px;font-weight:600;cursor:pointer;text-transform:uppercase;letter-spacing:1px;transition:all .3s;box-shadow:0 4px 15px #c4161c4d}.auth-container button:hover,.login-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #c4161c66}.google-btn{display:flex;align-items:center;justify-content:center;gap:10px;background:#4285f4;padding:14px 30px;box-shadow:0 4px 15px #4285f44d}.google-btn:hover{background:#357ae8;box-shadow:0 6px 20px #4285f466}.waiting-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#8f2024,#c4161c);padding:20px}.waiting-card{background:#fff;padding:60px 50px;text-align:center;max-width:520px;width:100%;box-shadow:0 20px 50px #0000004d}.waiting-card img{max-width:180px;height:auto;margin-bottom:30px}.waiting-card h1{color:#8f2024;font-size:28px;font-weight:700;margin-bottom:20px}.waiting-card p{color:#666;font-size:16px;line-height:1.6}.loading-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#8f2024,#c4161c)}.loading-logo{max-width:180px;margin-bottom:30px;filter:drop-shadow(0 4px 6px rgba(0,0,0,.2))}.loading-spinner{width:40px;height:40px;border:4px solid rgba(255,255,255,.3);border-top:4px solid white;border-radius:50%!important;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 28px;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;border:none;cursor:pointer;transition:all .3s;font-family:inherit}.btn-primary{background:linear-gradient(90deg,#c4161c,#8f2024);color:#fff;box-shadow:0 4px 15px #c4161c4d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #c4161c66}.btn-full{width:100%;margin-top:20px}.waiting-card hr{border:none;border-top:1px solid #eee;margin:25px 0}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:1.5rem}.group-summary{margin-bottom:1.5rem}.summary-table td:first-child{width:250px}.summary-table .value{text-align:right;font-weight:600}.performance-table{width:100%}.performance-table th,.performance-table td{text-align:center;padding:14px 10px}.performance-table th:first-child,.performance-table td:first-child{text-align:left;width:200px}.performance-table .value{font-weight:500}.highlight-row{background:linear-gradient(90deg,#fef2f2,#fff)}.highlight-row td{font-weight:700;color:#c4161c}@media(max-width:1024px){.grid-3{grid-template-columns:1fr}}.red-flags-panel{background:linear-gradient(135deg,#fef2f2,#fff5f5);border:2px solid #C4161C;margin-bottom:1.5rem;box-shadow:0 4px 15px #c4161c1a}.red-flags-panel h2{color:#c4161c;display:flex;align-items:center;gap:10px}.flags-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;margin-top:18px}.flag-item{background:#fff;padding:14px 18px;border-left:5px solid #C4161C;display:flex;flex-direction:column;gap:6px;box-shadow:0 2px 8px #0000000d;transition:all .2s}.flag-item:hover{transform:translate(2px);box-shadow:0 4px 12px #0000001a}.flag-item.high{border-left-color:#c4161c;background:linear-gradient(90deg,#fff5f5,#fff)}.flag-item.medium{border-left-color:#f59e0b;background:linear-gradient(90deg,#fffbeb,#fff)}.flag-item strong{font-size:14px;color:#1a1a1a}.flag-item span{font-size:13px;color:#666;line-height:1.4}.trends-page .page-header,.cost-analysis-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.trends-page h2,.cost-analysis-page h2{margin:0;font-size:1.5rem;color:#1a1a1a;text-transform:uppercase;font-weight:700;letter-spacing:.5px}.trends-page .controls{display:flex;gap:15px;align-items:center;flex-wrap:wrap}.view-toggle{display:flex;border:2px solid #C4161C;overflow:hidden}.view-toggle button{padding:10px 20px;background:#fff;border:none;cursor:pointer;font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.5px;transition:all .2s;font-family:inherit}.view-toggle button.active{background:linear-gradient(90deg,#c4161c,#8f2024);color:#fff}.view-toggle button:hover:not(.active){background:#fef2f2}.charts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-bottom:1.5rem}.chart-card{min-height:380px}.chart-card h3{margin-bottom:18px;font-size:15px;color:#1a1a1a;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.kpi-card .change{font-size:12px;display:flex;align-items:center;gap:4px;margin-top:8px;font-weight:500}.kpi-card .change.positive{color:#10b981}.kpi-card .change.negative{color:#c4161c}.table-container{overflow-x:auto;margin:0 -.5rem;padding:0 .5rem}td.positive{color:#10b981;font-weight:600}td.negative{color:#c4161c;font-weight:600}.summary-table{width:100%;border-collapse:collapse;font-size:13px}.summary-table th{background:linear-gradient(90deg,#8f2024,#c4161c);color:#fff;padding:14px 12px;font-weight:600;text-transform:uppercase;font-size:11px;letter-spacing:.5px}.summary-table td{padding:12px;border-bottom:1px solid #eee}.summary-table tbody tr{transition:all .15s ease}.summary-table tbody tr:hover{background:#f5f5f5}.summary-table tbody tr:nth-child(2n){background:#fafafa}.summary-table tbody tr:nth-child(2n):hover{background:#f0f0f0}.membership-table{font-size:12px}.membership-table th{background:#f5f5f5;padding:10px 12px;font-size:11px;text-transform:uppercase;letter-spacing:.5px;font-weight:600;color:#666}.membership-table td{padding:8px 12px}.header-right{display:flex;align-items:center;gap:18px}.refresh-btn{display:flex;align-items:center;gap:8px;background:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.3);padding:10px 16px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;font-family:inherit;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.refresh-btn:hover{background:#ffffff40;border-color:#ffffff80}.refresh-btn:disabled{opacity:.6;cursor:not-allowed}.refresh-btn.spinning svg{animation:spin 1s linear infinite}select.month-select,select.location-select{padding:10px 14px;border:2px solid #E0E0E0;background:#fff;font-family:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;min-width:140px}select.month-select:hover,select.location-select:hover{border-color:#c4161c}select.month-select:focus,select.location-select:focus{outline:none;border-color:#c4161c}.empty-state{text-align:center;padding:60px 20px;color:#666}.empty-state svg{color:#ccc;margin-bottom:16px}.empty-state h3{font-size:18px;margin-bottom:8px;color:#333}.empty-state p{font-size:14px}.stat-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.stat-card{background:#fff;padding:1.25rem;text-align:center;box-shadow:0 2px 8px #0000000f;border-bottom:3px solid #C4161C}.stat-card .label{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#666;margin-bottom:6px}.stat-card .value{font-size:1.75rem;font-weight:700;color:#1a1a1a}.stat-card .subvalue{font-size:12px;color:#888;margin-top:4px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#ccc}::-webkit-scrollbar-thumb:hover{background:#aaa}@media(max-width:1024px){.charts-grid{grid-template-columns:1fr}.trends-page .page-header,.cost-analysis-page .page-header{flex-direction:column;gap:15px;align-items:flex-start}.header-right{gap:12px}.refresh-btn{padding:8px 12px;font-size:12px}.header-nav{overflow-x:auto;max-width:100%}}.revenue-analysis{display:flex;flex-direction:column;gap:24px}.financial-summary-table{overflow-x:auto}.financial-summary-table .data-table{width:100%;border-collapse:collapse}.financial-summary-table .data-table th{background:linear-gradient(90deg,#8f2024,#c4161c);color:#fff;padding:14px 20px;text-align:left;font-weight:600;text-transform:uppercase;letter-spacing:.5px;font-size:.85rem}.financial-summary-table .data-table td{padding:14px 20px;border-bottom:1px solid #e0e0e0}.financial-summary-table .data-table tr:nth-child(2n){background:#f8f8f8}.financial-summary-table .data-table tr:hover{background:#f0f0f0}.financial-summary-table .data-table .highlight-row{background:linear-gradient(90deg,#c4161c1a,#8f20240d)!important}.contribution-charts-row{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.contribution-chart{min-height:350px}.contribution-chart h3{display:flex;align-items:center;gap:8px;font-size:1rem;font-weight:600;color:#1a1a1a;margin-bottom:16px;text-transform:uppercase;letter-spacing:.5px}.chart-subtitle{color:#666;font-size:.875rem;margin-bottom:16px}.no-data{color:#999;text-align:center;padding:40px 20px;font-style:italic}.trend-change-badges{margin-top:24px;padding-top:20px;border-top:1px solid #e0e0e0}.trend-change-badges h4{font-size:.95rem;font-weight:600;color:#1a1a1a;margin-bottom:16px}.change-badges{display:flex;flex-wrap:wrap;gap:12px}.change-badge{display:flex;flex-direction:column;align-items:center;padding:12px 20px;background:#f8f8f8;border-left:3px solid #C4161C}.change-badge.positive{border-left-color:#28a745}.change-badge.negative{border-left-color:#c4161c}.badge-location{font-size:.85rem;font-weight:600;color:#1a1a1a;margin-bottom:4px}.badge-value{display:flex;align-items:center;gap:4px;font-size:.95rem;font-weight:700}.change-badge.positive .badge-value{color:#28a745}.change-badge.negative .badge-value{color:#c4161c}@media(max-width:1200px){.contribution-charts-row{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.contribution-charts-row{grid-template-columns:1fr}}@media(max-width:768px){.kpi-grid{grid-template-columns:1fr}.main-content{padding:1rem}.card{padding:1.25rem}.header{padding:0 1rem}.nav-link{padding:0 .75rem;font-size:.7rem}}@media print{.header,.filters,.refresh-btn{display:none}.main-content{padding:0}.card{box-shadow:none;border:1px solid #ddd;page-break-inside:avoid}}:root{--snap-primary: #8F2024;--snap-accent: #C4161C;--snap-white: #FFFFFF;--snap-black: #1A1A1A;--snap-gray-50: #FAFAFA;--snap-gray-100: #F5F5F5;--snap-gray-200: #E8E8E8;--snap-gray-300: #D4D4D4;--snap-gray-400: #A3A3A3;--snap-gray-500: #737373;--snap-gray-600: #525252;--snap-gray-700: #404040;--snap-success: #10B981;--snap-warning: #F59E0B;--snap-shadow-sm: 0 1px 2px rgba(0,0,0,.05);--snap-shadow: 0 4px 6px -1px rgba(0,0,0,.1), 0 2px 4px -1px rgba(0,0,0,.06);--snap-shadow-lg: 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -2px rgba(0,0,0,.05);--snap-shadow-xl: 0 20px 25px -5px rgba(0,0,0,.1), 0 10px 10px -5px rgba(0,0,0,.04)}*{margin:0;padding:0;box-sizing:border-box;border-radius:0!important}body{font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--snap-gray-100);color:var(--snap-black);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,var(--snap-primary) 0%,var(--snap-accent) 100%)}.loading-logo{width:220px;margin-bottom:1.5rem;filter:drop-shadow(0 4px 6px rgba(0,0,0,.2))}.loading-text{color:#fff;font-size:1.1rem;font-weight:500;letter-spacing:2px;text-transform:uppercase;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.login-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,var(--snap-primary) 0%,var(--snap-accent) 100%);padding:2rem}.login-card{background:#fff;padding:3.5rem 3rem;width:100%;max-width:440px;text-align:center;box-shadow:var(--snap-shadow-xl)}.login-card img{width:260px;margin-bottom:2rem}.login-card h1{color:var(--snap-accent);font-size:1.6rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:.5rem}.login-card p{color:var(--snap-gray-500);margin-bottom:2rem;font-size:.95rem}.login-card .auth-container{margin:2rem 0}.login-card .caption{font-size:.8rem;color:var(--snap-gray-400)}.waiting-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,var(--snap-primary) 0%,var(--snap-accent) 100%);padding:2rem}.waiting-card{background:#fff;padding:3rem;width:100%;max-width:520px;text-align:center;box-shadow:var(--snap-shadow-xl)}.waiting-card img{width:200px;margin-bottom:1.5rem}.waiting-card h1{color:var(--snap-accent);font-size:1.5rem;font-weight:700;text-transform:uppercase;margin-bottom:1rem}.waiting-card p{color:var(--snap-gray-500);margin-bottom:.5rem}.waiting-card hr{border:none;border-top:1px solid var(--snap-gray-200);margin:1.5rem 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1.75rem;font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;transition:all .2s ease;border:none;font-family:inherit}.btn-primary{background:var(--snap-accent);color:#fff;box-shadow:0 2px 4px #c4161c4d}.btn-primary:hover{background:var(--snap-primary);transform:translateY(-1px);box-shadow:0 4px 8px #c4161c66}.btn-outline{background:transparent;border:2px solid var(--snap-accent);color:var(--snap-accent)}.btn-outline:hover{background:var(--snap-accent);color:#fff}.btn-full{width:100%}.dashboard{min-height:100vh;background:var(--snap-gray-100)}.header{background:linear-gradient(90deg,var(--snap-primary) 0%,var(--snap-accent) 100%);padding:0 2rem;display:flex;align-items:center;justify-content:space-between;height:72px;box-shadow:0 2px 10px #00000026;position:sticky;top:0;z-index:100}.header-logo{height:48px;filter:brightness(0) invert(1)}.header-nav{display:flex;gap:0;height:100%}.nav-link{color:#ffffffe6;text-decoration:none;padding:0 1.25rem;height:72px;display:flex;align-items:center;gap:.5rem;font-weight:500;text-transform:uppercase;font-size:.8rem;letter-spacing:.5px;transition:all .2s ease;cursor:pointer;background:transparent;border:none;border-bottom:3px solid transparent;font-family:inherit;position:relative}.nav-link:hover{color:#fff;background:#ffffff1a}.nav-link.active{color:#fff;background:#00000026;border-bottom-color:#fff}.header-user{color:#ffffffe6;font-size:.85rem;font-weight:500}.main-content{padding:2rem;max-width:1440px;margin:0 auto}.filters{background:#fff;padding:1rem 1.5rem;margin-bottom:1.5rem;display:flex;gap:1rem;align-items:center;box-shadow:var(--snap-shadow-sm);border-left:4px solid var(--snap-accent)}.filters label{font-weight:600;font-size:.85rem;color:var(--snap-gray-600);text-transform:uppercase;letter-spacing:.5px}.filters select{padding:.625rem 1rem;border:2px solid var(--snap-gray-200);font-family:inherit;font-size:.9rem;min-width:220px;background:#fff;cursor:pointer;transition:border-color .2s}.filters select:hover{border-color:var(--snap-gray-300)}.filters select:focus{outline:none;border-color:var(--snap-accent)}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-bottom:2rem}@media(max-width:1200px){.kpi-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.kpi-grid{grid-template-columns:1fr}}.kpi-card{background:#fff;padding:1.5rem;display:flex;flex-direction:column;gap:.5rem;box-shadow:var(--snap-shadow);border-bottom:4px solid var(--snap-accent);transition:all .2s ease;position:relative;overflow:hidden}.kpi-card:before{content:"";position:absolute;top:0;right:0;width:100px;height:100px;background:linear-gradient(135deg,var(--snap-gray-50) 0%,transparent 100%);opacity:.5}.kpi-card:hover{transform:translateY(-2px);box-shadow:var(--snap-shadow-lg)}.kpi-card svg{color:var(--snap-accent)}.kpi-card h3{color:var(--snap-gray-500);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;margin-bottom:.25rem}.kpi-card .value{font-size:2rem;font-weight:700;color:var(--snap-black);line-height:1.1}.kpi-card .subtext{font-size:.8rem;color:var(--snap-gray-500);margin-top:.25rem}.card{background:#fff;padding:1.75rem;margin-bottom:1.5rem;box-shadow:var(--snap-shadow);border-top:4px solid var(--snap-accent);transition:box-shadow .2s ease}.card:hover{box-shadow:var(--snap-shadow-lg)}.card h2{color:var(--snap-black);font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:2px solid var(--snap-gray-100);display:flex;align-items:center;gap:.75rem}.card h2 svg{color:var(--snap-accent)}.card h3{color:var(--snap-gray-700);font-size:.95rem;font-weight:600;margin-bottom:1rem}.chart-container{height:320px;width:100%}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}@media(max-width:1024px){.grid-2{grid-template-columns:1fr}}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:.875rem 1rem;text-align:left;border-bottom:1px solid var(--snap-gray-200)}.table th{background:var(--snap-gray-100);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;color:var(--snap-gray-600)}.table tbody tr{transition:background .15s ease}.table tbody tr:hover{background:var(--snap-gray-50)}.table tbody tr:last-child td{border-bottom:none}.admin-page{min-height:100vh;background:var(--snap-gray-100);padding:2rem}.admin-card{background:#fff;padding:2.5rem;max-width:800px;margin:0 auto;box-shadow:var(--snap-shadow-lg)}.admin-card img{width:160px;margin-bottom:1.5rem}.admin-card h1{color:var(--snap-accent);font-size:1.5rem;font-weight:700;text-transform:uppercase;margin-bottom:.5rem}.admin-card .subtitle{color:var(--snap-gray-500);font-size:.9rem;margin-bottom:2rem}.pending-user{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 0;border-bottom:1px solid var(--snap-gray-200)}.pending-user:last-child{border-bottom:none}.pending-user-info h3{font-size:1rem;font-weight:600;margin-bottom:.25rem}.pending-user-info p{font-size:.85rem;color:var(--snap-gray-500)}.success-message{background:#ecfdf5;color:#065f46;padding:1rem 1.25rem;margin-bottom:1rem;border-left:4px solid var(--snap-success);font-weight:500}.warning-message{background:#fffbeb;color:#92400e;padding:1rem 1.25rem;margin-bottom:1rem;border-left:4px solid var(--snap-warning);font-weight:500}.page-title{color:var(--snap-black);font-size:1.5rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:1.5rem;display:flex;align-items:center;gap:.75rem}.page-title svg{color:var(--snap-accent)}.tabs{display:flex;gap:0;margin-bottom:1.5rem;background:#fff;box-shadow:var(--snap-shadow-sm);overflow-x:auto}.tab{padding:1rem 1.5rem;font-weight:600;font-size:.85rem;cursor:pointer;background:transparent;border:none;border-bottom:3px solid transparent;color:var(--snap-gray-500);text-transform:uppercase;letter-spacing:.5px;font-family:inherit;transition:all .2s ease;white-space:nowrap}.tab:hover{color:var(--snap-accent);background:var(--snap-gray-50)}.tab.active{color:var(--snap-accent);border-bottom-color:var(--snap-accent);background:var(--snap-gray-50)}
