body{background:linear-gradient(135deg,#f8fafc,#e2e8f0)!important;min-height:100vh!important;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:#1e293b;line-height:1.6}.container{max-width:1400px;margin:0 auto;padding:24px}.nav{display:flex;align-items:center;gap:16px;flex:1}.card,.status-card,.metric-card,.financial-card,.table-section,.detail-section,.filters-panel,.modern-filters-panel{background:#fff;border-radius:16px;padding:28px;border:1px solid rgba(226,232,240,.6);box-shadow:0 4px 20px #00000014;transition:all .3s ease;margin-bottom:24px}.card:hover,.status-card:hover,.metric-card:hover,.financial-card:hover{transform:translateY(-2px);box-shadow:0 8px 30px #0000001a}h1,h2,h3,.page-title,.section-title,.table-title{color:#0f172a;font-weight:700;letter-spacing:-.02em}h1,.page-title{font-size:32px;margin-bottom:8px}h2,.section-title{font-size:24px;margin-bottom:20px}.page-subtitle{font-size:16px;color:#64748b;margin-bottom:24px}.table-container,.modern-table-wrapper{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 4px 20px #00000014}table,.compliance-table,.modern-table{width:100%;border-collapse:collapse;background:#fff}th{background:#f8fafc;padding:16px 20px;text-align:left;font-weight:600;font-size:14px;color:#475569;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #e2e8f0}td{padding:20px;border-bottom:1px solid #f1f5f9;font-size:14px;color:#1e293b}tr:hover{background:#fafafa}.badge,.status-badge,.badge-compliant,.badge-non-compliant,.badge-incomplete{padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;display:inline-block}.badge-compliant,.status-compliant{background:#dcfce7;color:#166534}.badge-non-compliant,.status-non-compliant{background:#fee2e2;color:#991b1b}.badge-incomplete,.status-incomplete{background:#fef3c7;color:#92400e}.btn,button{padding:10px 20px;border-radius:10px;border:none;font-weight:600;font-size:14px;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:8px}.btn-primary{background:linear-gradient(135deg,#06b6d4,#0891b2);color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px #06b6d44d}.btn-secondary{background:#f1f5f9;color:#475569;border:1px solid #e2e8f0}.btn-secondary:hover{background:#e2e8f0}.grid,.metrics-grid,.financial-grid,.status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-bottom:40px}.view,#dashboard-view,#list-view,#detail-view,.list-view-container,.detail-view-container{background:transparent!important}#dashboard-content,#list-content,#detail-content{background:transparent;padding:0}.page-header{background:#fff;border-radius:16px;padding:32px;margin-bottom:32px;box-shadow:0 4px 20px #00000014}.filters-panel,.modern-filters-panel{background:#fff;border-radius:16px;padding:24px;margin-bottom:24px;box-shadow:0 4px 20px #00000014}input[type=text],input[type=search],select,.search-box,.form-control{padding:10px 16px;border:1px solid #e2e8f0;border-radius:10px;font-size:14px;background:#fff;transition:all .3s ease}.audit-period-header{display:flex;align-items:center;gap:8px;margin-left:auto;margin-right:16px}.audit-period-header label{font-size:14px;font-weight:600;color:#475569;white-space:nowrap}.audit-period-header .period-selector{padding:8px 12px;font-size:14px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;min-width:150px}input:focus,select:focus{outline:none;border-color:#06b6d4;box-shadow:0 0 0 3px #06b6d41a}.amount,.financial-amount,.currency{font-weight:600;font-family:SF Mono,Monaco,Cascadia Code,monospace}.amount.positive,.positive{color:#059669}.amount.negative,.negative{color:#dc2626}a,.franchise-name{color:#06b6d4;text-decoration:none;font-weight:600;cursor:pointer;transition:all .3s ease}a:hover,.franchise-name:hover{color:#0891b2;text-decoration:underline}.loading{text-align:center;padding:40px;color:#64748b}@media (max-width: 768px){.container{padding:16px}.grid,.metrics-grid,.financial-grid,.status-grid{grid-template-columns:1fr;gap:16px}.card,.metric-card,.financial-card,.table-section{padding:20px}h1,.page-title{font-size:24px}h2,.section-title{font-size:20px}}.revenue-section{margin-bottom:2rem}.form-row{display:flex;gap:2rem;margin-bottom:2rem}.form-group{flex:1}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-secondary)}.form-control{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:1rem;transition:border-color .2s}.form-control:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #007bff1a}.revenue-goals h3{margin-bottom:1rem;color:var(--text-primary)}.revenue-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}.revenue-quarter label{display:block;margin-bottom:.5rem;font-size:.875rem;color:var(--text-secondary)}.revenue-input{font-weight:500}.revenue-summary{background:var(--background-subtle);padding:1rem;border-radius:var(--border-radius);display:flex;gap:2rem}.summary-item{display:flex;align-items:center;gap:.5rem}.summary-item label{font-weight:500;color:var(--text-secondary)}.summary-value{font-size:1.125rem;font-weight:600;color:var(--primary-color)}.budget-grid-section{margin-bottom:2rem}.budget-grid-container{overflow-x:auto;border:1px solid var(--border-color);border-radius:var(--border-radius)}.grid-header{display:grid;grid-template-columns:250px 1fr 100px;background:var(--background-subtle);border-bottom:2px solid var(--border-color);position:sticky;top:0;z-index:10}.category-header{padding:1rem;font-weight:600;border-right:1px solid var(--border-color)}.months-header{display:grid;grid-template-columns:repeat(4,1fr)}.quarter-group{display:flex;flex-direction:column;border-right:1px solid var(--border-color)}.quarter-group:last-child{border-right:none}.quarter-label{padding:.5rem;text-align:center;font-weight:600;background:var(--background-subtle);border-bottom:1px solid var(--border-color)}.month-labels{display:grid;grid-template-columns:repeat(3,1fr)}.month-label{padding:.5rem;text-align:center;font-size:.875rem;font-weight:500;border-right:1px solid rgba(0,0,0,.05)}.month-label:last-child{border-right:none}.total-header{padding:1rem;text-align:center;font-weight:600;border-left:1px solid var(--border-color)}.grid-body{max-height:600px;overflow-y:auto}.category-row{display:grid;grid-template-columns:250px 1fr 100px;background:var(--background-elevated);border-bottom:1px solid var(--border-color);font-weight:600}.category-row.collapsed{background:var(--background-subtle)}.category-label{padding:.75rem 1rem;display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none;border-right:1px solid var(--border-color)}.category-label:hover{background:#00000005}.expand-icon{transition:transform .2s}.category-row.collapsed .expand-icon{transform:rotate(-90deg)}.category-months{display:grid;grid-template-columns:repeat(12,1fr);padding:.75rem 0}.category-total{padding:.75rem;text-align:right;font-weight:600;color:var(--primary-color);border-left:1px solid var(--border-color)}.subcategory-row{display:grid;grid-template-columns:250px 1fr 100px;border-bottom:1px solid rgba(0,0,0,.05)}.subcategory-row:hover{background:#00000003}.subcategory-row.hidden{display:none}.subcategory-label{padding:.5rem 1rem .5rem 2rem;font-size:.875rem;color:var(--text-secondary);border-right:1px solid var(--border-color)}.month-inputs{display:grid;grid-template-columns:repeat(12,1fr)}.month-input{padding:.375rem;text-align:right;border:none;background:transparent;font-size:.875rem;transition:background .2s}.month-input:hover{background:#00000005}.month-input:focus{outline:none;background:#fff;box-shadow:inset 0 0 0 2px var(--primary-color)}.month-input.changed{background:#007bff0d}.row-total{padding:.5rem;text-align:right;font-size:.875rem;font-weight:500;border-left:1px solid var(--border-color)}.grid-footer{display:grid;grid-template-columns:250px 1fr 100px;background:var(--background-subtle);border-top:2px solid var(--border-color);font-weight:600}.footer-label{padding:1rem;border-right:1px solid var(--border-color)}.monthly-totals{display:grid;grid-template-columns:repeat(12,1fr);padding:1rem 0}.month-total{text-align:right;padding:0 .5rem;font-size:.875rem}.grand-total{padding:1rem;text-align:right;font-size:1.125rem;color:var(--primary-color);border-left:1px solid var(--border-color)}.compliance-section{margin-bottom:2rem}.compliance-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.compliance-item{text-align:center}.compliance-item label{display:block;margin-bottom:.5rem;font-size:.875rem;color:var(--text-secondary)}.compliance-value{font-size:1.5rem;font-weight:600;color:var(--text-primary)}.compliance-status{font-size:1.5rem;font-weight:600}.compliance-status.compliant{color:var(--success-color)}.compliance-status.warning{color:var(--warning-color)}.compliance-status.non-compliant{color:var(--danger-color)}.save-indicator{position:fixed;bottom:2rem;right:2rem;background:var(--background-elevated);padding:1rem 1.5rem;border-radius:var(--border-radius);box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:.75rem;transition:opacity .3s,transform .3s}.save-indicator.hidden{opacity:0;transform:translateY(1rem);pointer-events:none}.save-spinner{width:16px;height:16px;border:2px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.save-text{font-size:.875rem;color:var(--text-secondary)}.header-actions{display:flex;gap:1rem}.btn{padding:.5rem 1rem;border:1px solid var(--border-color);border-radius:var(--border-radius);background:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.5rem}.btn:hover{background:var(--background-subtle);border-color:var(--primary-color)}.btn-primary{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.btn-primary:hover{background:var(--primary-hover)}@media (max-width: 1200px){.revenue-grid{grid-template-columns:repeat(2,1fr)}.compliance-grid{grid-template-columns:1fr;gap:1rem}}@media (max-width: 768px){.form-row{flex-direction:column;gap:1rem}.revenue-grid{grid-template-columns:1fr}.revenue-summary{flex-direction:column;gap:1rem}}
