.app{min-height:100vh;display:flex;flex-direction:column}.app-header{background:var(--color-bg-header);color:var(--header-text);padding:max(1.5rem,env(safe-area-inset-top)) max(2rem,env(safe-area-inset-right)) 1.5rem max(2rem,env(safe-area-inset-left));box-shadow:0 2px 4px #0000001a}.header-content{width:100%;display:flex;justify-content:space-between;align-items:center}.header-title{display:flex;align-items:center;gap:1rem}.header-title h1{font-size:2rem;font-weight:600;margin:0}.pub-selector{padding:.25rem .5rem;border-radius:4px;border:1px solid rgba(255,255,255,.3);background:#fff3;color:#fff;font-size:.875rem;cursor:pointer}.pub-selector option{color:var(--color-text-primary);background-color:var(--color-bg-card)}.header-controls{display:flex;align-items:center;gap:2rem}.year-selector{display:flex;align-items:center;gap:.5rem}.year-selector label{font-weight:500}.year-selector select{padding:.5rem 1rem;border-radius:4px;border:none;font-size:1rem;cursor:pointer;background-color:#fff}.new-year-button{padding:.5rem 1rem;background-color:var(--color-success);color:#fff;border:none;border-radius:4px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s}.new-year-button:hover{background-color:var(--color-success-dark);transform:translateY(-1px)}.header-action-btn{padding:.4rem .85rem;background:#fff3;border:1px solid rgba(255,255,255,.3);border-radius:6px;color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.header-action-btn:hover{background:#ffffff4d}.theme-toggle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;background:#fff3;border:1px solid rgba(255,255,255,.3);border-radius:50%;color:#fff;cursor:pointer;transition:all .2s ease}.theme-toggle:hover{background:#ffffff4d;transform:scale(1.05)}.user-menu{display:flex;align-items:center;gap:1rem}.user-email{font-size:.875rem;opacity:.9}.user-menu-dropdown{position:absolute;top:100%;right:0;margin-top:.5rem;background-color:var(--color-bg-card);border-radius:8px;box-shadow:0 4px 12px var(--color-shadow);min-width:160px;z-index:100;overflow:hidden}.user-menu-item{width:100%;padding:.75rem 1rem;border:none;background:none;text-align:left;cursor:pointer;font-size:.875rem;color:var(--color-text-primary);display:flex;align-items:center;gap:.5rem;transition:background-color .15s ease}.user-menu-item:hover{background-color:var(--color-bg-light)}.overdue-row{border-left:4px solid #dc2626;background-color:#fef2f2}[data-theme=dark] .overdue-row{background-color:#450a0a}.overdue-badge{background:#fee2e2;color:#dc2626}[data-theme=dark] .overdue-badge{background:#7f1d1d;color:#fecaca}.app-nav{background-color:var(--color-bg-card);box-shadow:0 2px 4px var(--color-shadow);padding:0 2rem;display:flex;gap:.5rem;overflow-x:auto}.nav-link{padding:1rem 1.5rem;text-decoration:none;color:var(--color-text-primary);font-weight:500;border-bottom:3px solid transparent;transition:all .2s;white-space:nowrap}.nav-link:hover{background-color:var(--color-primary-light);border-bottom-color:var(--color-primary)}.nav-link.active{color:var(--color-primary-dark);border-bottom-color:var(--color-primary)}.app-main{flex:1;padding:2rem;max-width:1400px;width:100%;margin:0 auto}.app-footer{background-color:var(--color-primary-darker);color:#fff;padding:1.5rem 2rem;text-align:center}.app-footer p{margin:.25rem 0}.card{background:var(--color-bg-card);border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px var(--color-shadow);margin-bottom:1.5rem}.card h2{margin:0 0 1rem;color:var(--color-text-primary);font-size:1.5rem}.card h3{margin:1rem 0 .5rem;color:var(--color-text-secondary);font-size:1.25rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.stat-card{background:var(--color-bg-card);border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px var(--color-shadow)}.stat-label{font-size:.75rem;color:var(--color-text-muted);font-weight:500;margin-bottom:.5rem}.stat-value{font-size:1.5rem;font-weight:700;color:var(--color-text-primary)}.stat-value.positive{color:var(--color-success)}.stat-value.negative{color:var(--color-error)}.table-container{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.875rem}thead{background-color:var(--color-bg-light)}th{padding:.75rem;text-align:left;font-weight:600;color:var(--color-text-secondary);border-bottom:2px solid var(--color-border-light)}td{padding:.75rem;border-bottom:1px solid var(--color-border-light)}tr:hover{background-color:var(--color-bg-light)}.currency{font-family:Courier New,monospace;text-align:right}.positive{color:var(--color-success)}.negative{color:var(--color-error)}.filters{display:flex;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;gap:.25rem}.filter-group label{font-size:.875rem;font-weight:500;color:var(--color-text-secondary)}.filter-group input,.filter-group select{padding:.5rem;border:1px solid var(--color-border);border-radius:4px;font-size:.875rem;background-color:var(--color-bg-card);color:var(--color-text-primary)}.loading{display:flex;justify-content:center;align-items:center;min-height:400px;font-size:1.25rem;color:var(--color-text-muted)}.error{background-color:#e53e3e26;color:var(--color-error);padding:1rem;border-radius:4px;margin:1rem 0}.mobile-menu-toggle{display:none;background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:.5rem}.mobile-menu-toggle span{display:block;width:24px;height:3px;background:#fff;margin:5px 0;border-radius:2px;transition:all .3s}.mobile-nav-overlay,.mobile-nav-close{display:none}@media (max-width: 768px){.app-header{padding:max(.75rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) .75rem max(1rem,env(safe-area-inset-left))}.header-content{flex-direction:row;justify-content:space-between;align-items:center;gap:.5rem}.header-title{flex-direction:column;align-items:flex-start;gap:.25rem}.header-title h1{font-size:1.25rem}.pub-selector{font-size:.75rem;padding:.2rem .4rem}.header-controls{flex-direction:row;gap:.5rem;width:auto}.year-selector{flex-direction:column;gap:.25rem;width:auto}.year-selector label{display:none}.year-selector select{padding:.4rem .5rem;font-size:.875rem}.new-year-button{padding:.4rem .75rem;font-size:.75rem}.user-menu{width:auto;gap:.5rem}.user-email{display:none}.user-menu img{width:32px!important;height:32px!important}.mobile-menu-toggle{display:block}.app-nav{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:var(--color-bg-card);flex-direction:column;padding:60px 0 0;z-index:1000;overflow-y:auto}.app-nav.mobile-open{display:flex}.mobile-nav-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:999}.mobile-nav-overlay.mobile-open{display:block}.nav-link{padding:1rem 1.5rem;border-bottom:1px solid var(--color-border-light);font-size:1.1rem}.nav-link.active{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:#fff;border-bottom-color:transparent}.mobile-nav-close{position:absolute;top:15px;right:15px;background:none;border:none;font-size:2rem;cursor:pointer;color:var(--color-text-primary);padding:.5rem;line-height:1;display:block}.app-main{padding:.75rem}.app-footer{padding:1rem;font-size:.75rem}.stats-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}.stat-card{padding:.75rem}.stat-label{font-size:.65rem}.stat-value{font-size:1.1rem}.card{padding:1rem;margin-bottom:1rem;border-radius:6px}.card h2{font-size:1.2rem;margin-bottom:.75rem}table{font-size:.75rem}th,td{padding:.5rem .4rem}button{min-height:44px;min-width:44px}input,select,textarea{font-size:16px!important;min-height:44px}.filters{flex-direction:column;gap:.75rem}.filter-group,.filter-group input,.filter-group select{width:100%}}@media (max-width: 375px){.header-title h1{font-size:1rem}.stats-grid{grid-template-columns:1fr 1fr}.stat-value{font-size:1rem}table{font-size:.7rem}th,td{padding:.4rem .25rem}}:root{--bg: #F5F7FA;--surface: #FFFFFF;--surface-sunken: #EEF1F6;--text-primary: #131A24;--text-secondary: #5A6675;--text-muted: #8A93A3;--border: #E2E7EE;--border-strong: #CFD6E0;--primary: #2563EB;--primary-hover: #1D4ED8;--primary-soft: #EAF0FE;--on-primary: #FFFFFF;--success: #197A4B;--success-soft: #E6F4EC;--warning: #C77A18;--warning-soft: #FBF0DE;--danger: #DC3B40;--danger-soft: #FCEAEA;--header-bg: #2563EB;--header-text: #FFFFFF;--header-sub: #C8D8FB;--header-btn: #3D77EE;--shadow-sm: 0 1px 2px rgba(16,24,40,.06);--shadow-md: 0 6px 16px rgba(16,24,40,.1);--color-primary: var(--primary);--color-primary-hover: var(--primary-hover);--color-primary-light: var(--primary-soft);--color-primary-dark: #1E40AF;--color-primary-darker: #1E3A8A;--color-success: var(--success);--color-success-dark: #14613B;--color-error: var(--danger);--color-error-dark: #C32F34;--color-warning: var(--warning);--color-text-primary: var(--text-primary);--color-text-secondary: var(--text-secondary);--color-text-muted: var(--text-muted);--color-border: var(--border-strong);--color-border-light: var(--border);--color-bg-light: var(--surface-sunken);--color-bg-page: var(--bg);--color-bg-card: var(--surface);--color-bg-header: var(--header-bg);--color-shadow: rgba(16,24,40,.1)}[data-theme=dark]{--bg: #0C1016;--surface: #161C26;--surface-sunken: #11161E;--text-primary: #EAEEF5;--text-secondary: #93A0B2;--text-muted: #6B7686;--border: #283242;--border-strong: #36425A;--primary: #4F8BFF;--primary-hover: #6B9DFF;--primary-soft: #1B2740;--on-primary: #08152E;--success: #34B27B;--success-soft: #143025;--warning: #E0A038;--warning-soft: #2E2614;--danger: #F0716E;--danger-soft: #2A1719;--header-bg: #1B3A82;--header-text: #FFFFFF;--header-sub: #A7C2F5;--header-btn: #27488F;--shadow-sm: 0 1px 2px rgba(0,0,0,.3);--shadow-md: 0 8px 20px rgba(0,0,0,.45);--color-primary-dark: #27488F;--color-primary-darker: #1B3A82;--color-success-dark: #2A8B5F;--color-error-dark: #D85C59;--color-shadow: rgba(0,0,0,.45)}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-bg-page);color:var(--color-text-primary);transition:background-color .3s ease,color .3s ease}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{min-height:100vh}
