#root{display:flex;flex-direction:column;min-height:100vh}#main-content{flex:1;width:100%}footer{width:100%;background-color:var(--color-dark);color:#bbb;padding:15px 0;text-align:center;margin-top:auto}:root{--color-primary: #0033A0;--color-accent: #E03C31;--color-white: #FFFFFF;--color-dark: #333333;--color-light-bg: #F4F4F9;--color-success: #28a745;--color-warning: #ffc107}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:Montserrat,Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;color:var(--color-dark);background-color:var(--color-light-bg);min-height:100vh}.container{width:90%;max-width:1200px;margin:0 auto;padding:0 10px}.skip-link{position:absolute;top:-9999px;left:0;background-color:var(--color-accent);color:var(--color-white);padding:8px;z-index:1000}.skip-link:focus{top:0;outline:none;box-shadow:0 0 0 3px var(--color-primary)}*:focus{outline:3px solid var(--color-accent);outline-offset:2px}mark{background-color:var(--color-warning);color:var(--color-dark);padding:2px 0;transition:background-color .3s ease}.main-header{background-color:var(--color-primary);color:var(--color-white);padding:10px 0;box-shadow:0 2px 5px #0000001a}.header-container{display:flex;justify-content:space-between;align-items:center}.logo img{height:40px;transition:transform .3s ease}.logo img:hover{transform:scale(1.05)}.main-nav ul{list-style:none;display:flex;gap:20px}.nav-link{color:var(--color-white);text-decoration:none;font-weight:500;padding:5px 10px;border-radius:4px;transition:background-color .3s,color .3s}.nav-link:hover,.nav-link.active{background-color:#fff3;color:var(--color-white)}.btn{padding:10px 15px;border:none;border-radius:5px;cursor:pointer;font-weight:700;text-decoration:none;text-align:center;transition:background-color .3s ease,transform .1s ease}.btn-primary{background-color:var(--color-accent);color:var(--color-white)}.btn-primary:hover{background-color:#c0392b;transform:translateY(-1px)}.btn-secondary{background-color:#ccc;color:var(--color-dark)}.btn-secondary:hover{background-color:#bbb}.btn-danger{background-color:var(--color-accent);color:var(--color-white)}.btn-danger:hover{background-color:#a02d23}.btn-icon{background:none;border:none;cursor:pointer;font-size:1.1rem;padding:5px;color:var(--color-primary)}.btn-icon:hover{color:var(--color-accent)}.form-group{margin-bottom:15px}.form-group label{display:block;margin-bottom:5px;font-weight:700}.form-group input,.form-group select{width:100%;padding:10px;border:1px solid #ccc;border-radius:5px}.error-message{color:var(--color-accent);font-size:.9em;display:block;margin-top:5px}.form-actions{display:flex;gap:15px;margin-top:20px}main{padding:30px 0}.content-section h2{color:var(--color-primary);margin-bottom:20px;border-bottom:2px solid var(--color-light-bg);padding-bottom:5px}.stats-grid{display:grid;grid-template-columns:1fr;gap:15px;margin-bottom:30px}.stat-card{background-color:var(--color-white);padding:20px;border-radius:8px;box-shadow:0 4px 8px #0000000d;transition:all .3s ease}.stat-card:hover{box-shadow:0 6px 12px #0000001a;transform:translateY(-2px)}.stat-label{font-size:.9rem;color:#666;margin-bottom:5px}.stat-value{font-size:2.2rem;font-weight:700;color:var(--color-primary)}.stat-card.bg-red .stat-value{color:var(--color-accent)}.stat-card.bg-green .stat-value{color:var(--color-success)}.controls-section{display:flex;flex-direction:column;gap:15px;margin-bottom:20px}.sort-controls{display:flex;align-items:center;gap:10px}.table-wrapper{overflow-x:auto;width:100%;margin-top:10px}#records-table{width:100%;border-collapse:collapse;background-color:var(--color-white);border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000000d}#records-table th,#records-table td{padding:12px 15px;text-align:left;border-bottom:1px solid #eee}#records-table th{background-color:var(--color-light-bg);color:var(--color-dark);font-weight:700;text-transform:uppercase;font-size:.85rem}#records-table tbody tr:last-child td{border-bottom:none}#records-table td:nth-child(4){font-weight:700}.settings-group{background-color:var(--color-white);padding:20px;border-radius:8px;margin-bottom:20px;box-shadow:0 2px 4px #0000000d}.settings-group h3{border-bottom:1px solid #eee;padding-bottom:10px;margin-bottom:15px;color:var(--color-primary)}.budget-status{font-weight:700;color:var(--color-success);margin-bottom:10px}.data-actions{display:flex;flex-direction:column;gap:10px;margin-top:15px}.import-label{display:inline-block;cursor:pointer;width:100%}#settings-status{margin-top:15px;font-weight:700}footer{background-color:var(--color-dark);color:#bbb;padding:15px 0;text-align:center;font-size:.9rem}.status-message{padding:10px;margin-top:15px;border-radius:5px;font-weight:700}.status-message.success{background-color:#d4edda;color:var(--color-success);border:1px solid #c3e6cb}.status-message.error{background-color:#f8d7da;color:var(--color-accent);border:1px solid #f5c6cb}.status-message.info{background-color:#d1ecf1;color:#0c5460;border:1px solid #bee5eb}.spinner{border:3px solid #f3f3f3;border-top:3px solid var(--color-primary);border-radius:50%;width:20px;height:20px;animation:spin 1s linear infinite;display:inline-block;vertical-align:middle}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}button:disabled{opacity:.7;cursor:not-allowed}.header-btn-apply{color:var(--color-white)!important;background-color:#fff3;border:1px solid rgba(255,255,255,.4)}.header-btn-apply:hover{background-color:var(--color-accent);border-color:var(--color-accent);color:#fff!important}.welcome-text{color:#fff;font-size:.9rem;margin-right:15px;font-weight:500}@media(min-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr)}.controls-section{flex-direction:row;justify-content:space-between;align-items:center}.data-actions{flex-direction:row;gap:15px}.import-label{width:auto}}@media(min-width:1024px){.stats-grid{grid-template-columns:repeat(4,1fr)}.header-actions{display:flex;gap:15px}}@media(max-width:767px){#records-table{border:none;box-shadow:none}#records-table,#records-tbody,#records-table tr,#records-table th,#records-table td{display:block;width:100%}#records-table thead{display:none}#records-table tr{margin-bottom:15px;border:1px solid #ccc;border-radius:8px;padding:10px;display:flex;flex-direction:column;box-shadow:0 2px 4px #0000000d}#records-table td{text-align:right;padding:8px 10px 8px 50%;position:relative;border:none;font-size:.95rem}#records-table td:before{content:attr(data-label) ": ";position:absolute;left:10px;width:calc(50% - 20px);white-space:nowrap;text-align:left;font-weight:700;color:var(--color-primary)}.stat-card:hover{transform:none}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-form textarea,#send-email-link{grid-column:1 / -1}}@media(min-width:768px){.container{width:85%}.header-container{flex-wrap:nowrap;gap:20px}.main-nav{flex-basis:auto;order:0;margin-top:0;background-color:transparent;padding:0}.nav-menu{gap:15px}.nav-link{padding:10px 15px;font-size:1.5rem;color:var(--color-white);text-align:center}.nav-link.active{color:var(--color-accent);border-bottom:3px solid var(--color-accent);background-color:transparent;border-radius:0}.nav-link:hover{color:var(--color-accent);background-color:transparent}.search-btn{font-size:1.8rem}.stats-grid{grid-template-columns:repeat(2,1fr);gap:20px}.form-actions{flex-direction:row;gap:20px}.btn{flex-grow:1}.controls-section{flex-direction:row;justify-content:space-between;align-items:center}.search-box{flex-grow:1;max-width:400px}.search-box input[type=text]{margin-bottom:0}.data-actions{flex-direction:row;gap:20px;justify-content:flex-start}}@media(min-width:1024px){.container{width:80%;max-width:1200px}.stats-grid{grid-template-columns:repeat(4,1fr)}.transaction-form{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.form-group{margin-bottom:0}.form-actions{grid-column:1 / -1;justify-content:flex-start}.form-actions .btn{flex-grow:0;min-width:180px}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-form textarea,#send-email-link{grid-column:1 / -1}}@media(max-width:768px){.mobile-menu-btn{display:block!important}.main-nav{display:none;width:100%;margin-top:15px}.main-nav.open{display:block}.main-nav ul{flex-direction:column;gap:10px}.header-container{flex-wrap:wrap}}
