.app{min-height:100vh;display:flex;flex-direction:column}.skip-link{position:absolute;top:-40px;left:0;background:var(--color-primary);color:#fff;padding:8px;text-decoration:none;z-index:100}.skip-link:focus{top:0}main{flex:1;max-width:1200px;margin:0 auto;padding:var(--spacing-xl);width:100%}h1{font-size:2.5rem;font-weight:700;color:var(--color-primary);margin-bottom:var(--spacing-lg);line-height:1.2}p{font-size:1.125rem;line-height:1.6;color:var(--color-text-light)}:root{--color-primary: #003366;--color-primary-dark: #002244;--color-primary-darker: #001122;--color-primary-light: #004488;--color-primary-lighter: #0055aa;--color-secondary: #4a5568;--color-secondary-dark: #2d3748;--color-secondary-light: #718096;--color-accent: #2563eb;--color-accent-hover: #1d4ed8;--gradient-primary: linear-gradient(135deg, #003366 0%, #004488 100%);--gradient-secondary: linear-gradient(135deg, #f7fafc 0%, #edf2f7 100%);--gradient-hero: linear-gradient(135deg, #003366 0%, #004488 100%);--gradient-card: linear-gradient(135deg, rgba(0, 51, 102, .02) 0%, rgba(0, 68, 136, .02) 100%);--color-text: #1a202c;--color-text-secondary: #4a5568;--color-text-muted: #718096;--color-text-inverse: #ffffff;--color-background: #ffffff;--color-background-alt: #f7fafc;--color-background-dark: #edf2f7;--color-background-hover: #e2e8f0;--color-background-gradient: linear-gradient(135deg, #f7fafc 0%, #edf2f7 100%);--color-border: #cbd5e0;--color-border-light: #e2e8f0;--color-border-dark: #a0aec0;--color-success: #2e7d32;--color-success-light: #4caf50;--color-warning: #f57c00;--color-warning-light: #ff9800;--color-error: #c62828;--color-error-light: #f44336;--color-info: #1976d2;--color-info-light: #2196f3;--font-family-sans: Arial, Helvetica, sans-serif;--font-family-serif: Georgia, "Times New Roman", serif;--font-family-mono: "Courier New", Courier, monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--radius-sm: .125rem;--radius-md: .25rem;--radius-lg: .5rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--transition-fast: .15s ease-in-out;--transition-base: .25s ease-in-out;--transition-slow: .35s ease-in-out;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070}.header{background:var(--gradient-primary);color:var(--color-text-inverse);padding:var(--spacing-md) 0;box-shadow:0 2px 4px -1px #0000001a;position:sticky;top:0;z-index:var(--z-sticky);width:100%;margin:0}.header-content{max-width:1400px;margin:0 auto;padding:0 var(--spacing-lg);display:flex;justify-content:space-between;align-items:center}.header-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin:0;color:var(--color-text-inverse);text-decoration:none}.header-nav{display:flex;gap:var(--spacing-md);list-style:none;padding:0;margin:0}.header-nav a{color:var(--color-text-inverse);text-decoration:none;font-weight:var(--font-weight-medium);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-md);transition:background-color var(--transition-fast);font-size:var(--font-size-sm)}.header-nav a:hover,.header-nav a:focus{background-color:#fff3;text-decoration:none}.main-content{max-width:1400px;margin:0 auto;padding:var(--spacing-lg) var(--spacing-md);min-height:calc(100vh - 200px);background:var(--color-background);width:100%}.footer{background:var(--gradient-primary);color:var(--color-text-inverse);padding:var(--spacing-lg) 0;margin-top:var(--spacing-xl);box-shadow:0 -2px 4px -1px #0000001a;width:100%}.footer-content{max-width:1400px;margin:0 auto;padding:0 var(--spacing-lg)}.footer-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-xl);margin-bottom:var(--spacing-lg)}.footer-section h3{color:var(--color-text-inverse);font-size:var(--font-size-base);margin-bottom:var(--spacing-sm)}.footer-section ul{list-style:none;padding:0;margin:0}.footer-section a{color:var(--color-text-inverse);text-decoration:none;display:block;padding:var(--spacing-xs) 0;transition:opacity var(--transition-fast);font-size:var(--font-size-sm)}.footer-section a:hover{opacity:.8;text-decoration:underline}.search-bar{display:flex;gap:0;margin-bottom:var(--spacing-md);max-width:500px;background:var(--color-background);border:1px solid var(--color-border);border-radius:24px;overflow:hidden;box-shadow:0 1px 3px #0000001f,0 1px 2px #0000003d;transition:box-shadow .3s cubic-bezier(.4,0,.2,1)}.search-bar:focus-within{box-shadow:0 3px 6px #00000029,0 3px 6px #0000003b;border-color:var(--color-primary)}.search-bar input{flex:1;padding:12px 16px;font-size:var(--font-size-base);border:none;outline:none;background:transparent;color:var(--color-text)}.search-bar input::placeholder{color:var(--color-text-muted)}.search-bar button{padding:12px 24px;background:var(--color-primary);color:#fff;border:none;cursor:pointer;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);transition:background-color .2s;border-radius:0 24px 24px 0;min-width:80px}.search-bar button:hover{background:var(--color-primary-dark)}.search-bar button:active{background:var(--color-primary-darker)}.filter-bar{display:flex;flex-wrap:wrap;gap:var(--spacing-md);margin-bottom:var(--spacing-md);padding:var(--spacing-md);background-color:var(--color-background-alt);border-radius:var(--radius-md)}.filter-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.filter-group label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.filter-group select{padding:8px 12px;border:1px solid var(--color-border);border-radius:4px;font-size:var(--font-size-sm);background:var(--color-background);color:var(--color-text);cursor:pointer;transition:border-color .2s}.filter-group select:hover{border-color:var(--color-primary)}.filter-group select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #0033661a}.card{background:var(--color-background);border:1px solid var(--color-border-light);border-radius:var(--radius-md);padding:var(--spacing-md);box-shadow:var(--shadow-sm)}.btn{display:inline-block;padding:10px 24px;background:var(--color-primary);color:#fff;text-decoration:none;border:none;border-radius:4px;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #0003;text-align:center}.btn:hover{background:var(--color-primary-dark);box-shadow:0 4px 8px #0000004d;transform:translateY(-1px)}.btn:active{box-shadow:0 1px 2px #0003;transform:translateY(0)}.btn-outline{background:transparent;border:1px solid var(--color-primary);color:var(--color-primary);box-shadow:none}.btn-outline:hover{background:#00336614;box-shadow:none}.figure-card{display:grid;grid-template-columns:auto 1fr;gap:var(--spacing-xl);padding:var(--spacing-xl);background:var(--color-background);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);margin-bottom:var(--spacing-lg);transition:all var(--transition-base);box-shadow:0 1px 3px #0000001a;position:relative;overflow:hidden;align-items:start}.figure-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--gradient-primary);opacity:0;transition:opacity var(--transition-base)}.figure-card:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;transform:translate(4px);border-color:var(--color-primary-light)}.figure-card:hover:before{opacity:1}.figure-image{width:100px;height:100px;border-radius:var(--radius-lg);object-fit:cover}.bill-card{border-left:3px solid var(--color-primary);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);background:var(--color-background);box-shadow:var(--shadow-sm);transition:all var(--transition-base);position:relative}.bill-card:hover{box-shadow:var(--shadow-md);transform:translate(2px)}.bill-header{display:flex;justify-content:space-between;align-items:start}.bill-number{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--color-primary)}.bill-status{padding:2px 6px;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);background-color:var(--color-background-alt)}.bill-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-xs);line-height:var(--line-height-tight)}.bill-summary{margin-top:var(--spacing-xs);color:var(--color-text-secondary);font-size:var(--font-size-xs);line-height:var(--line-height-normal);margin-bottom:var(--spacing-sm)}.bill-meta{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.spinner{border:3px solid var(--color-border-light);border-top:3px solid var(--color-primary);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin:var(--spacing-xl) auto}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}*{margin:0;padding:0;box-sizing:border-box}
