*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:linear-gradient(135deg,#1bbae1,#1e6091);min-height:100vh;padding:20px}.dashboard-container{max-width:1400px;margin:0 auto;animation:fadeIn .5s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.franchisee-selector-bar{background:#fffffffa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:20px 30px;margin-bottom:20px;box-shadow:0 10px 30px #00000014;border:1px solid rgba(102,126,234,.1)}.franchisee-selector-content{display:flex;align-items:center;gap:30px;flex-wrap:wrap}.selector-label{font-size:.875rem;color:#6c757d;font-weight:600;text-transform:uppercase;letter-spacing:1px}.franchisee-dropdown{flex:0 0 auto}.franchisee-select{appearance:none;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:2px solid #e9ecef;border-radius:12px;padding:12px 45px 12px 20px;font-size:1.1rem;font-weight:600;color:#2d3436;cursor:pointer;transition:all .3s ease;background-image:linear-gradient(135deg,#f8f9fa,#e9ecef),url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236c757d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 15px center,right 15px center;background-size:auto,20px}.franchisee-select:hover{border-color:#1bbae1;background:linear-gradient(135deg,#fff,#f8f9fa),url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231BBAE1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 15px center,right 15px center;background-size:auto,20px;transform:translateY(-2px);box-shadow:0 5px 15px #1bbae133}.franchisee-select:focus{outline:none;border-color:#1bbae1;box-shadow:0 0 0 4px #1bbae11a}.franchisee-quick-stats{display:flex;gap:25px;flex:1;justify-content:flex-end}.quick-stat{display:flex;align-items:center;gap:8px}.stat-label{font-size:.875rem;color:#868e96;font-weight:500}.stat-value{font-size:.975rem;font-weight:600;color:#2d3436}.stat-value.good{color:#2b8a3e}.stat-value.warning{color:#f59f00}.stat-value.poor{color:#c92a2a}.header{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:30px;margin-bottom:30px;box-shadow:0 20px 40px #0000001a}.header-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}.logo-section{display:flex;align-items:center;gap:20px}.logo{height:50px;width:auto;object-fit:contain}.location-info h1{font-size:1.8rem;background:linear-gradient(135deg,#1bbae1,#1e6091);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:5px}.location-info p{color:#6c757d;font-size:1rem}.header-actions{display:flex;align-items:center;gap:15px}.budget-form-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;padding:12px 20px;display:flex;align-items:center;gap:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #667eea4d;text-decoration:none}.budget-form-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.budget-form-btn:active{transform:translateY(0)}.budget-form-btn .btn-icon{font-size:1rem}.budget-form-btn .btn-text{font-weight:500}.performance-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.performance-card{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:25px;box-shadow:0 20px 40px #0000001a;transition:all .3s ease;position:relative;overflow:hidden}.performance-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,#667eea,#764ba2)}.performance-card:hover{transform:translateY(-5px);box-shadow:0 25px 50px #00000026}.card-header{margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid #f1f3f5;display:flex;justify-content:space-between;align-items:center}.period-info{flex:1}.period-label{font-size:.875rem;color:#868e96;font-weight:600;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}.period-name{font-size:1.3rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.period-selector{position:relative}.period-select{appearance:none;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:8px 30px 8px 12px;font-size:.875rem;color:#495057;cursor:pointer;transition:all .2s ease;font-weight:500;outline:none}.period-select:hover{background:#e9ecef;border-color:#dee2e6}.period-select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.period-selector:after{content:"▼";position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:.6rem;color:#868e96;pointer-events:none}.metric-section{margin-bottom:20px}.metric-section:last-child{margin-bottom:0}.section-divider{height:1px;background:#e9ecef;margin:15px 0}.metric-group{background:#f8f9fa;border-radius:12px;padding:12px 15px;display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.metric-group-title{font-size:.875rem;color:#6c757d;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:15px}.metric-item{flex:1}.metric-label{font-size:.75rem;color:#868e96;font-weight:500;text-transform:uppercase;letter-spacing:.5px;margin-bottom:5px}.metric-value{font-size:1.25rem;font-weight:700;color:#2d3436}.metric-value.primary{font-size:1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.variance-badge{display:inline-block;font-size:.875rem;font-weight:600;padding:4px 10px;border-radius:20px;margin-top:8px}.variance-badge.positive{background:#d3f9d8;color:#2b8a3e}.variance-badge.negative{background:#ffe3e3;color:#c92a2a}.variance-badge.neutral{background:#f1f3f5;color:#495057}@media (max-width: 1024px){.performance-cards{grid-template-columns:1fr}}@media (max-width: 768px){.header-content{flex-direction:column;text-align:center}.logo-section{flex-direction:column}.header-actions{justify-content:center;margin-top:15px;width:100%}.budget-form-btn{padding:10px 16px;font-size:.8rem}.performance-card{padding:20px}.card-header{flex-direction:column;gap:15px}.period-selector,.period-select{width:100%}.metric-value{font-size:1.1rem}.metric-value.primary{font-size:1.3rem}}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.loading{animation:pulse 1.5s ease-in-out infinite}.chart-section{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:30px;margin-top:30px;box-shadow:0 20px 40px #0000001a}.chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.chart-title{font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.chart-controls{display:flex;gap:10px;background:#f8f9fa;padding:5px;border-radius:10px}.chart-period-btn{padding:8px 16px;background:transparent;border:none;border-radius:6px;color:#6c757d;cursor:pointer;font-weight:500;font-size:.875rem;transition:all .3s ease}.chart-period-btn.active{background:#fff;color:#667eea;box-shadow:0 2px 4px #0000001a}.chart-period-btn:hover:not(.active){background:#ffffff80}.chart-container{position:relative;height:400px}.performance-card{cursor:pointer;transition:all .3s ease}.performance-card.expanded{grid-column:span 3;cursor:default}.expand-icon{position:absolute;bottom:15px;right:15px;width:30px;height:30px;background:#f8f9fa;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;color:#6c757d;transition:all .3s ease;cursor:pointer}.expand-icon:hover{background:#e9ecef;transform:scale(1.1)}.performance-card.expanded .expand-icon{transform:rotate(180deg)}.expanded-content{max-height:0;overflow:hidden;transition:max-height .5s ease-in-out;margin-top:0}.performance-card.expanded .expanded-content{max-height:800px;margin-top:20px;padding-top:20px;border-top:2px solid #f1f3f5}.quarterly-breakdown{display:grid;gap:15px}.quarter-row{display:grid;grid-template-columns:100px 1fr 1fr 120px;gap:15px;align-items:center;padding:12px;background:#f8f9fa;border-radius:10px;transition:all .3s ease}.quarter-row:hover{background:#e9ecef}.quarter-label{font-weight:600;color:#495057}.quarter-metric{text-align:right}.quarter-metric span{display:block;font-size:.75rem;color:#6c757d;margin-bottom:2px}.quarter-metric strong{font-size:1.1rem;color:#2d3436}.quarter-status{text-align:right;font-size:.875rem;font-weight:600;padding:5px 10px;border-radius:15px;background:#f1f3f5}.quarter-status.positive{background:#d3f9d8;color:#2b8a3e}.quarter-status.negative{background:#ffe3e3;color:#c92a2a}.expense-list{display:grid;gap:10px}.expense-item{display:flex;justify-content:space-between;align-items:center;padding:10px 15px;background:#f8f9fa;border-radius:8px;transition:all .3s ease}.expense-item:hover{background:#e9ecef;transform:translate(5px)}.expense-name{font-size:.9rem;color:#495057;font-weight:500}.expense-amount{font-size:1rem;font-weight:600;color:#2d3436}.expense-total{display:flex;justify-content:space-between;align-items:center;padding:15px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:10px;margin-top:15px}.expense-total .expense-name{color:#fff;font-weight:600;font-size:1rem}.expense-total .expense-amount{color:#fff;font-size:1.3rem}.catch-up-container{display:grid;gap:20px}.catch-up-alert{background:linear-gradient(135deg,#ffe3e3,#ffc9c9);border:2px solid #ff6b6b;border-radius:12px;padding:15px;display:flex;align-items:center;gap:15px}.catch-up-alert.on-track{background:linear-gradient(135deg,#d3f9d8,#b2f2bb);border-color:#51cf66}.catch-up-icon{font-size:2rem}.catch-up-message{flex:1}.catch-up-title{font-weight:600;color:#2d3436;margin-bottom:5px}.catch-up-amount{font-size:1.25rem;font-weight:700;color:#c92a2a}.catch-up-alert.on-track .catch-up-amount{color:#2b8a3e}.quarters-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.quarter-card{background:#f8f9fa;border-radius:10px;padding:15px;text-align:center;position:relative}.quarter-card.current{background:linear-gradient(135deg,#e3e9ff,#d4d9ff);border:2px solid #667eea}.quarter-card.needs-catchup{background:linear-gradient(135deg,#fff5f5,#ffe0e0)}.quarter-mini-label{font-size:.875rem;font-weight:600;color:#495057;margin-bottom:10px}.quarter-mini-value{font-size:.875rem;color:#6c757d;margin-bottom:5px}.quarter-mini-actual{font-size:1.1rem;font-weight:700;color:#2d3436;margin-bottom:8px}.quarter-mini-variance{font-size:.75rem;font-weight:600;padding:3px 8px;border-radius:12px;display:inline-block}.quarter-mini-variance.positive{background:#d3f9d8;color:#2b8a3e}.quarter-mini-variance.negative{background:#ffe3e3;color:#c92a2a}@media (max-width: 768px){.chart-header{flex-direction:column;gap:15px}.chart-container{height:300px}.performance-card.expanded{grid-column:span 1}.quarters-grid{grid-template-columns:repeat(2,1fr)}.quarter-row{grid-template-columns:1fr;gap:10px;text-align:center}.quarter-metric{text-align:center}}
