@import url(https://fonts.googleapis.com/css2?family=Kanit:wght@300;400;500;600;700&display=swap);body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.app-header{background-color:var(--secondary-dark);box-shadow:0 2px 5px #0003;color:var(--text-light);left:0;position:fixed;right:0;top:0;z-index:1000}.header-container{height:60px;margin:0 auto;max-width:1400px;padding:0 var(--spacing-lg)}.header-container,.logo-container{align-items:center;display:flex;justify-content:space-between}.logo-container{width:100%}.logo{align-items:center;color:var(--text-light);display:flex;text-decoration:none}.logo img{background-color:#fff;border-radius:50%;height:40px;margin-right:var(--spacing-sm);padding:2px;width:40px}.logo-text{font-size:var(--font-size-medium);font-weight:600}.sidebar-toggle-btn{align-items:center;background:#0000;border:none;border-radius:5px;color:var(--text-light);cursor:pointer;display:flex;font-size:1.2rem;height:40px;justify-content:center;margin-right:15px;transition:background-color .3s ease;width:40px}.sidebar-toggle-btn:hover{background-color:#ffffff1a}.menu-toggle{background:#0000;border:none;color:var(--text-light);cursor:pointer;display:none;font-size:1.5rem}.main-nav{align-items:center;display:flex;flex:1 1;justify-content:space-between;margin-left:var(--spacing-lg)}.nav-list{display:flex;list-style:none;margin:0;padding:0}.nav-item{margin-right:var(--spacing-md);position:relative}.nav-link{align-items:center;color:var(--text-light);cursor:pointer;display:flex;font-weight:500;height:60px;padding:0 var(--spacing-md);text-decoration:none;transition:all .3s ease}.nav-link i{margin-right:var(--spacing-xs)}.nav-link.active,.nav-link:hover{color:var(--primary-light)}.dropdown-toggle{cursor:pointer}.dropdown-toggle:after{content:"\f107";font-family:Font Awesome\ 5 Free;font-weight:900;margin-left:var(--spacing-xs)}.dropdown-menu{background-color:var(--secondary-light);border-radius:0 0 var(--border-radius-md) var(--border-radius-md);box-shadow:0 5px 10px #0003;left:0;opacity:0;padding:var(--spacing-sm) 0;position:absolute;top:100%;transform:translateY(-10px);transition:all .3s ease;visibility:hidden;width:220px;z-index:1000}.dropdown-menu.show{opacity:1;transform:translateY(0);visibility:visible}@media (min-width:992px){.nav-item.dropdown:hover .dropdown-menu{opacity:1;transform:translateY(0);visibility:visible}}.dropdown-item{color:var(--text-light);display:block;padding:var(--spacing-sm) var(--spacing-md);text-decoration:none;transition:all .3s ease}.dropdown-item.active,.dropdown-item:hover{background-color:#0003;color:var(--primary-light)}.user-menu{align-items:center;display:flex}.user-info{margin-right:var(--spacing-md);text-align:right}.user-name{font-size:var(--font-size-normal)}.user-role{font-size:var(--font-size-small);opacity:.8}.logout-btn{align-items:center;background:linear-gradient(135deg,#f44336,#d32f2f);border:none;border-radius:var(--border-radius-pill);color:var(--text-light);cursor:pointer;display:flex;font-weight:500;padding:.5rem 1rem;transition:all .3s ease}.logout-btn i{margin-right:var(--spacing-xs)}.logout-btn:hover{box-shadow:0 3px 8px #f443364d;transform:translateY(-2px)}@media (max-width:992px){.menu-toggle{display:block}.main-nav{background-color:var(--secondary-dark);bottom:0;flex-direction:column;justify-content:flex-start;left:0;margin-left:0;overflow-y:auto;padding:var(--spacing-md);position:fixed;right:0;top:60px;transform:translateX(-100%);transition:transform .3s ease;z-index:999}.main-nav.active{transform:translateX(0)}.nav-list{flex-direction:column;width:100%}.nav-item{margin-bottom:var(--spacing-sm);margin-right:0;width:100%}.nav-link{border-radius:var(--border-radius-md);height:auto;padding:var(--spacing-md)}.dropdown-menu{background-color:var(--secondary-dark);box-shadow:none;display:none;max-height:0;opacity:1;overflow:hidden;padding:0;position:static;transform:none;transition:max-height .3s ease;visibility:visible;width:100%}.dropdown-menu.show{display:block;max-height:500px}.dropdown-toggle:after{content:"\f107";float:right;font-family:Font Awesome\ 5 Free;font-weight:900}.dropdown-item{padding-left:var(--spacing-xl)}.user-menu{align-items:flex-start;border-top:1px solid #ffffff1a;flex-direction:column;margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);width:100%}.user-info{margin-bottom:var(--spacing-md);margin-right:0;text-align:left}.logout-btn{justify-content:center;width:50%}.sidebar-toggle-btn{display:none}}@media (max-width:576px){.header-container{padding:0 var(--spacing-md)}.logo-text{font-size:var(--font-size-small);max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.app-sidebar{background-color:#212121;box-shadow:2px 0 10px #0003;color:#fff;display:flex;flex-direction:column;height:100vh;left:0;overflow-y:auto;position:fixed;scrollbar-color:#555 #212121;scrollbar-width:thin;top:0;transition:all .3s ease;width:260px;z-index:1050}.app-sidebar.closed{overflow:visible;width:70px}.app-sidebar::-webkit-scrollbar{width:5px}.app-sidebar::-webkit-scrollbar-track{background:#212121}.app-sidebar::-webkit-scrollbar-thumb{background:#555;border-radius:10px}.sidebar-header{background-color:#1a1a1a;border-bottom:1px solid #333;height:60px;justify-content:space-between;padding:10px 15px}.sidebar-header,.sidebar-logo{align-items:center;display:flex}.sidebar-logo{color:#fff;overflow:hidden;text-decoration:none}.sidebar-logo img{background-color:#fff;border-radius:50%;flex-shrink:0;height:40px;margin-right:10px;padding:2px;width:40px}.sidebar-title{font-size:1rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;transition:opacity .3s ease;white-space:nowrap}.closed .sidebar-title{opacity:0;width:0}.sidebar-toggle{align-items:center;background:none;border:none;border-radius:3px;color:#aaa;cursor:pointer;display:flex;font-size:1.2rem;height:30px;justify-content:center;transition:background-color .3s ease;width:30px}.sidebar-toggle:hover{background-color:#ffffff1a;color:#fff}.sidebar-user{align-items:center;background-color:#2c2c2c;border-bottom:1px solid #333;display:flex;padding:15px;transition:padding .3s ease}.closed .sidebar-user{justify-content:center;padding:15px 5px}.user-image{align-items:center;background-color:#2e7d32;border-radius:50%;display:flex;flex-shrink:0;height:40px;justify-content:center;margin-right:10px;width:40px}.user-image i{color:#fff;font-size:1.5rem}.user-info{display:flex;flex-direction:column;overflow:hidden;transition:opacity .3s ease,width .3s ease}.closed .user-info{opacity:0;width:0}.user-name{font-size:.9rem;font-weight:600}.user-name,.user-role{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-role{color:#bbb;font-size:.75rem}.sidebar-nav{flex:1 1;padding:10px 0}.sidebar-menu{list-style:none;margin:0;padding:0}.sidebar-item{margin-bottom:2px;position:relative}.sidebar-link{align-items:center;color:#b8b8b8;cursor:pointer;display:flex;padding:12px 15px;position:relative;text-decoration:none;transition:all .3s ease}.sidebar-link i:first-child{font-size:1rem;margin-right:10px;text-align:center;width:20px}.sidebar-link span{overflow:hidden;text-overflow:ellipsis;transition:opacity .3s ease;white-space:nowrap}.closed .sidebar-link span{opacity:0;width:0}.submenu-icon{margin-left:auto;transition:transform .3s ease}.expanded .submenu-icon{transform:rotate(-90deg)}.sidebar-item.active>.sidebar-link,.sidebar-submenu li.active>a{background-color:#2e7d32;box-shadow:0 0 10px #2e7d3280;color:#fff}.sidebar-item:hover>.sidebar-link,.sidebar-submenu li:hover>a{background-color:#2e7d3233;color:#fff}.sidebar-submenu{background-color:#1a1a1a;list-style:none;margin:0;max-height:0;overflow:hidden;padding:0;transition:max-height .3s ease}.sidebar-item.expanded>.sidebar-submenu{max-height:1000px}.sidebar-submenu a{align-items:center;color:#b8b8b8;display:flex;padding:10px 15px 10px 45px;text-decoration:none;transition:all .3s ease}.sidebar-submenu i{font-size:.5rem;margin-right:10px}.closed .sidebar-submenu{background-color:#212121;border-radius:0 5px 5px 0;box-shadow:5px 0 10px #0003;left:70px;max-height:0;overflow:hidden;position:absolute;top:0;width:200px;z-index:10}.closed .sidebar-item.expanded>.sidebar-submenu,.closed .sidebar-item.has-submenu:hover>.sidebar-submenu{max-height:1000px}.sidebar-item.logout .sidebar-link{border-top:1px solid #333;color:#ff8a80;margin-top:20px;padding-top:15px}.sidebar-item.logout:hover .sidebar-link{background-color:#f4433633}@media (max-width:992px){.app-sidebar{transform:translateX(-100%)}.app-sidebar.open{transform:translateX(0);width:260px}}.app-footer{background-color:var(--secondary-dark);color:var(--text-light);margin-top:auto;padding:var(--spacing-md) 0}.footer-container{justify-content:space-between;margin:0 auto;padding:0 var(--spacing-lg)}.footer-container,.footer-left,.footer-right{align-items:center;display:flex}.footer-copyright{font-size:var(--font-size-normal);margin:0;opacity:.9}.footer-copyright strong{font-weight:600}.footer-developer{align-items:center;display:flex;font-size:var(--font-size-normal);opacity:.9}.footer-developer a{color:var(--text-light);text-decoration:underline;transition:color .3s ease}.footer-developer a:hover{color:var(--primary-light)}.developer-logo{background-color:#fff;border-radius:50%;height:35px;margin-left:var(--spacing-md);padding:2px;width:35px}@media (max-width:768px){.footer-container{flex-direction:column;gap:var(--spacing-md);text-align:center}.footer-left,.footer-right{justify-content:center;width:100%}.footer-developer{flex-direction:column;gap:var(--spacing-sm)}.developer-logo{margin-left:0;margin-top:var(--spacing-xs)}}@media (max-width:576px){.footer-container{padding:0 var(--spacing-md)}.footer-developer{font-size:var(--font-size-small)}}.dashboard-container{margin:0 auto;max-width:1400px}.dashboard-header{border-bottom:1px solid #e0e0e0;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md)}.dashboard-header h1{color:var(--primary-dark);margin-bottom:var(--spacing-xs)}.dashboard-header p{color:var(--secondary-color);margin-bottom:0}.dashboard-charts{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(3,1fr);margin-bottom:var(--spacing-xl)}.chart-card{background-color:#fff;border-radius:var(--border-radius-lg);box-shadow:var(--box-shadow-md);overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}.chart-card:hover{box-shadow:var(--box-shadow-lg);transform:translateY(-5px)}.chart-card.full-width{grid-column:span 3}.chart-header{border-bottom:1px solid #e0e0e0;padding:var(--spacing-md) var(--spacing-lg)}.chart-header h3{color:var(--secondary-color);font-size:var(--font-size-medium);margin:0}.chart-body{align-items:center;display:flex;justify-content:center;padding:var(--spacing-lg)}.chart-footer{border-top:1px solid #e0e0e0;padding:var(--spacing-sm) var(--spacing-lg);text-align:right}.pie-chart{max-height:250px;max-width:250px}.recent-logins{margin-bottom:var(--spacing-xl)}.user-agent{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quick-links{margin-bottom:var(--spacing-xl)}.quick-links h3{color:var(--secondary-color);margin-bottom:var(--spacing-md)}.links-container{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.quick-link-card{align-items:center;background-color:#fff;border-radius:var(--border-radius-lg);box-shadow:var(--box-shadow-md);color:var(--text-dark);display:flex;flex-direction:column;height:150px;justify-content:center;padding:var(--spacing-lg);text-align:center;text-decoration:none;transition:all .3s ease}.quick-link-card:hover{box-shadow:var(--box-shadow-lg);color:var(--primary-color);text-decoration:none;transform:translateY(-5px)}.quick-link-card i{color:var(--primary-color);font-size:2.5rem;margin-bottom:var(--spacing-md)}.quick-link-card span{font-weight:500}.dashboard-error,.dashboard-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:500px;text-align:center}@media (max-width:1200px){.dashboard-charts{grid-template-columns:repeat(2,1fr)}.chart-card.full-width{grid-column:span 2}}@media (max-width:992px){.dashboard-charts{grid-template-columns:1fr}.chart-card.full-width{grid-column:span 1}}@media (max-width:768px){.chart-body{padding:var(--spacing-md)}.links-container{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.quick-link-card{height:120px;padding:var(--spacing-md)}.quick-link-card i{font-size:2rem;margin-bottom:var(--spacing-sm)}}@media (max-width:576px){.links-container{grid-template-columns:repeat(2,1fr)}}.projects-container{margin:0 auto;max-width:1400px}.projects-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md)}.projects-header h1{color:var(--primary-dark);margin-bottom:0}.project-name{color:var(--primary-color);font-weight:500;text-decoration:none;transition:color .3s ease}.project-name:hover{color:var(--primary-dark);text-decoration:underline}.filter-navigation{margin-bottom:var(--spacing-lg);margin-top:var(--spacing-lg)}.filter-buttons{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.filter-button{background-color:#f0f0f0;border-radius:var(--border-radius-md);color:var(--secondary-color);display:inline-block;font-weight:500;padding:.5rem 1rem;text-decoration:none;transition:all .3s ease}.filter-button:hover{background-color:#e0e0e0;color:var(--secondary-dark);text-decoration:none}.filter-button.active{background-color:var(--primary-color);color:#fff}.filter-button.active:hover{background-color:var(--primary-dark);color:#fff}@media (max-width:768px){.projects-header{align-items:flex-start;flex-direction:column;gap:var(--spacing-md)}.header-actions{width:100%}.btn-group{flex-wrap:nowrap}}.project-detail-container{margin:0 auto;max-width:1400px}.breadcrumb{font-size:var(--font-size-normal);margin-bottom:var(--spacing-md)}.breadcrumb a{color:var(--primary-color);text-decoration:none}.breadcrumb a:hover{text-decoration:underline}.project-header{border-bottom:1px solid #e0e0e0;justify-content:space-between;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md)}.project-header,.project-title{align-items:center;display:flex}.project-title{gap:var(--spacing-md)}.project-title h1{color:var(--primary-dark);margin-bottom:0}.section{margin-bottom:var(--spacing-xl)}.project-info{flex-direction:column}.info-item,.project-info{display:flex;gap:var(--spacing-md)}.info-label{font-weight:600;min-width:150px}.info-value{flex:1 1}.info-value.description{white-space:pre-line}.budget-summary{align-items:center;display:flex;flex-direction:column;gap:var(--spacing-md)}.budget-chart{max-width:250px;width:100%}.budget-totals{display:flex;flex-direction:column;gap:var(--spacing-sm);width:100%}.budget-total-item{border-bottom:1px dashed #e0e0e0;display:flex;justify-content:space-between;padding:var(--spacing-sm) 0}.budget-total-item .label,.budget-total-item .value{font-weight:600}.budget-total-item .value.expense{color:var(--danger-color)}.budget-total-item .value.remaining{color:var(--success-color)}.card-header h2{font-size:var(--font-size-large);margin-bottom:0}.activity-name,.budget-item-name,.expense-name{font-weight:500}.badge-warning{background-color:#fff3cd;color:#856404}.badge-info{background-color:#d1ecf1;color:#0c5460}.badge-success{background-color:#d4edda;color:#155724}.badge-danger{background-color:#f8d7da;color:#721c24}.badge-secondary{background-color:#e2e3e5;color:#383d41}.not-found-container{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:300px;text-align:center}@media print{.app-footer,.app-header,.btn-group,.dataTables_filter,.dataTables_info,.dataTables_length,.dataTables_paginate,.header-actions,.modal-overlay{display:none!important}.project-detail-container{margin:0;padding:0}.card{border:1px solid #ddd!important;box-shadow:none!important;break-inside:avoid}.card,.section{page-break-inside:avoid}.table{width:100%!important}.main-content{margin-top:0!important;padding:0!important}}@media (max-width:992px){.project-overview-section .row{flex-direction:column}.budget-chart{max-width:200px}}@media (max-width:768px){.project-header{gap:var(--spacing-md)}.project-header,.project-title{align-items:flex-start;flex-direction:column}.project-title{gap:var(--spacing-sm)}.header-actions{width:100%}.info-item{flex-direction:column;gap:var(--spacing-xs)}.info-label{min-width:auto}.card-header{align-items:flex-start;flex-direction:column;gap:var(--spacing-sm)}.card-header button{width:100%}.budget-alert{align-items:center;animation:pulse 2s infinite;background-color:#fff3cd;border:1px solid #ffeeba;border-radius:var(--border-radius-md);box-shadow:0 2px 4px #0000001a;color:#856404;display:flex;font-weight:500;margin-top:var(--spacing-md);padding:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md)}.budget-alert i{color:#f57c00;font-size:1.2rem;margin-right:var(--spacing-sm)}@keyframes pulse{0%{box-shadow:0 0 0 0 #ffc10766}70%{box-shadow:0 0 0 10px #ffc10700}to{box-shadow:0 0 0 0 #ffc10700}}.project-header{background:linear-gradient(135deg,var(--secondary-light),var(--secondary-dark));border-radius:var(--border-radius-lg);box-shadow:var(--box-shadow-md);color:#fff;margin-bottom:var(--spacing-lg);padding:var(--spacing-md) var(--spacing-lg)}.budget-total-item{border-bottom:1px dashed #e0e0e0;display:flex;justify-content:space-between;padding:var(--spacing-sm) 0}.budget-total-item .label,.budget-total-item .value{font-weight:600}.budget-total-item .value.expense{color:var(--danger-color)}.budget-total-item .value.remaining{color:var(--success-color)}.budget-total-item:last-child .value.remaining.zero-budget{color:var(--danger-color);font-weight:700}.btn-secondary[disabled]{background:#ccc;box-shadow:none;color:#888;cursor:not-allowed}.btn-secondary[disabled]:hover{transform:none}.btn-secondary[disabled]:hover:after{background-color:#000000b3;border-radius:4px;color:#fff;content:"งบประมาณหมดแล้ว";font-size:12px;left:50%;padding:5px 10px;position:absolute;top:-30px;transform:translateX(-50%);white-space:nowrap}}.activities-container{margin:0 auto;max-width:1400px}.activities-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md)}.activities-header h1{color:var(--primary-dark);margin-bottom:0}.project-card-header{background-color:var(--primary-color)}.budget-amount{color:var(--primary-color)}@media (max-width:768px){.activities-header{align-items:flex-start;flex-direction:column;gap:var(--spacing-md)}.project-cards{grid-template-columns:1fr}}.budget-items-container{margin:0 auto;max-width:1400px}.budget-items-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md)}.budget-items-header h1{color:var(--primary-dark);margin-bottom:0}.project-card-header{background-color:#2196f3}.budget-amount{color:#2196f3}@media (max-width:768px){.budget-items-header{align-items:flex-start;flex-direction:column;gap:var(--spacing-md)}.project-cards{grid-template-columns:1fr}}.expenses-container{margin:0 auto;max-width:1400px}.expenses-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md)}.expenses-header h1{color:var(--primary-dark);margin-bottom:0}.expense-summary-cards{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-bottom:var(--spacing-xl)}.expense-card{align-items:center;background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:var(--border-radius-lg);box-shadow:var(--box-shadow-md);display:flex;gap:var(--spacing-lg);padding:var(--spacing-lg);transition:transform .3s ease,box-shadow .3s ease}.expense-card:hover{box-shadow:var(--box-shadow-lg);transform:translateY(-5px)}.expense-card-icon{align-items:center;background:linear-gradient(135deg,var(--primary-light),var(--primary-dark));border-radius:50%;color:var(--text-light);display:flex;font-size:1.8rem;height:60px;justify-content:center;width:60px}.expense-card-content{flex:1 1}.expense-card-content h3{color:var(--secondary-color);font-size:var(--font-size-medium);margin-bottom:var(--spacing-xs)}.expense-card-value{color:var(--primary-color);font-size:1.8rem;font-weight:700}.budget-type-tabs{display:flex;flex-wrap:wrap;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);margin-top:var(--spacing-md)}.budget-type-tab{align-items:center;background-color:#f8f9fa;border-radius:var(--border-radius-md);color:var(--secondary-color);display:flex;font-weight:500;padding:var(--spacing-md) var(--spacing-lg);text-decoration:none;transition:all .3s ease}.budget-type-tab:hover{background-color:#e9ecef;box-shadow:var(--box-shadow-sm);color:var(--primary-dark);text-decoration:none;transform:translateY(-3px)}.project-cards{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:var(--spacing-lg)}.project-card{background-color:#fff;border-radius:var(--border-radius-lg);box-shadow:var(--box-shadow-md);display:flex;flex-direction:column;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}.project-card:hover{box-shadow:var(--box-shadow-lg);transform:translateY(-5px)}.project-card-header{align-items:center;color:#fff;display:flex;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg)}.budget-type-1{background-color:#4caf50}.budget-type-2{background-color:#2196f3}.budget-type-3{background-color:#ff9800}.project-card-header h4{color:#fff;font-size:var(--font-size-medium);font-weight:600;margin:0}.project-card-body{flex:1 1;padding:var(--spacing-lg)}.project-card-footer{background-color:#f8f9fa;border-top:1px solid #e0e0e0;padding:var(--spacing-md) var(--spacing-lg)}.budget-type{color:var(--secondary-color);font-weight:500;margin-bottom:var(--spacing-sm)}.budget-amount{font-weight:600;margin-bottom:0}.budget-details{display:flex;flex-direction:column;gap:5px;margin-top:10px}.budget-item{border-bottom:1px dashed #e0e0e0;display:flex;justify-content:space-between;padding:5px 0}.budget-label{color:var(--secondary-color);font-weight:500}.budget-value{font-weight:600}.budget-value.expense{color:#f44336}.budget-value.remaining{color:#4caf50}.alert-info{background-color:#d1ecf1;border-color:#bee5eb;border-radius:var(--border-radius-lg);color:#0c5460;margin-bottom:var(--spacing-lg);padding:var(--spacing-lg)}.alert-heading{align-items:center;color:#0c5460;display:flex;margin-bottom:var(--spacing-md)}.alert-heading i{font-size:1.2em;margin-right:var(--spacing-sm)}.loading-spinner-container,.no-data{align-items:center;display:flex;flex-direction:column;grid-column:1/-1;justify-content:center;min-height:200px;width:100%}.no-data{background-color:#f8f9fa;border-radius:var(--border-radius-lg);padding:var(--spacing-lg);text-align:center}.no-data p{color:var(--secondary-color);margin-bottom:var(--spacing-md)}@media (max-width:992px){.expense-summary-cards{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.expenses-header{align-items:flex-start;flex-direction:column;gap:var(--spacing-md)}.expense-summary-cards{grid-template-columns:1fr}.budget-type-tabs{flex-direction:column}.project-cards{grid-template-columns:1fr}}.reports-container{margin:0 auto;max-width:1400px}.reports-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md)}.reports-header h1{color:var(--primary-dark);margin-bottom:0}.report-tabs{border-bottom:1px solid #e0e0e0;display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-sm)}.tab-button{align-items:center;background-color:#f5f5f5;border:none;border-radius:var(--border-radius-md);color:var(--secondary-color);cursor:pointer;display:flex;font-weight:500;padding:.75rem 1.5rem;transition:all .3s ease}.tab-button:hover{background-color:#e0e0e0}.tab-button.active{background:linear-gradient(135deg,var(--primary-light),var(--primary-dark));box-shadow:0 4px 8px #2e7d3233;color:var(--text-light)}.report-section{margin-bottom:var(--spacing-xl)}.section-header{margin-bottom:var(--spacing-lg)}.section-header h2{border-left:4px solid var(--primary-color);color:var(--primary-dark);font-weight:600;padding-left:var(--spacing-md)}.summary-cards{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-bottom:var(--spacing-xl)}.summary-card{align-items:center;background-color:#fff;border-radius:var(--border-radius-lg);box-shadow:var(--box-shadow-md);display:flex;gap:var(--spacing-lg);padding:var(--spacing-lg);transition:transform .3s ease,box-shadow .3s ease}.summary-card:hover{box-shadow:var(--box-shadow-lg);transform:translateY(-5px)}.card-icon{align-items:center;background:linear-gradient(135deg,var(--primary-light),var(--primary-dark));border-radius:50%;color:var(--text-light);display:flex;font-size:1.8rem;height:60px;justify-content:center;width:60px}.card-content{flex:1 1}.card-content h3{color:var(--secondary-color);font-size:var(--font-size-medium)}.card-content h3,.card-value{margin-bottom:var(--spacing-xs)}.card-value{color:var(--primary-color);font-size:1.8rem;font-weight:700}.card-meta{color:#6c757d;font-size:var(--font-size-small)}.charts-container{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(2,1fr);margin-bottom:var(--spacing-xl)}.chart-wrapper{background-color:#fff;border-radius:var(--border-radius-lg);box-shadow:var(--box-shadow-md);display:flex;flex-direction:column;padding:var(--spacing-lg);transition:transform .3s ease,box-shadow .3s ease}.chart-wrapper:hover{box-shadow:var(--box-shadow-lg);transform:translateY(-5px)}.chart-wrapper h3{color:var(--secondary-color);font-weight:600;margin-bottom:var(--spacing-md);text-align:center}.chart-container{align-items:center;display:flex;flex:1 1;justify-content:center}.pie-chart{margin:0 auto;max-height:300px;max-width:300px}.bar-chart{height:300px;width:100%}.table-section{margin-bottom:var(--spacing-xl)}.table-section .card-header{padding:var(--spacing-md) var(--spacing-lg)}.table-section .card-header h3{font-weight:600;margin-bottom:0}.table-section .table{margin-bottom:0}.table-total{background-color:#2e7d321a;font-weight:700}.badge-pending{background-color:#fff3cd;color:#856404}.badge-in_progress{background-color:#d1ecf1;color:#0c5460}.badge-completed{background-color:#d4edda;color:#155724}.badge-cancelled{background-color:#f8d7da;color:#721c24}.report-footer{display:flex;justify-content:center;margin-bottom:var(--spacing-xl)}.print-view .header-actions,.print-view .report-footer,.print-view .report-tabs{display:none}.print-view .charts-container{page-break-inside:avoid}.print-view .report-section{page-break-before:always}.print-view .report-section:first-child{page-break-before:auto}.print-footer{border-top:1px solid #e0e0e0;color:#6c757d;font-size:var(--font-size-small);margin-top:var(--spacing-xl);padding-top:var(--spacing-md);text-align:center}@media print{.app-footer,.app-header,.header-actions,.report-footer,.report-tabs{display:none!important}.reports-container{margin:0;padding:0}.report-section{page-break-before:always}.report-section:first-child{page-break-before:auto}.card,.chart-wrapper,.summary-card{border:1px solid #ddd!important;box-shadow:none!important}.main-content{margin-top:0!important;padding:0!important}}@media (max-width:1200px){.charts-container{grid-template-columns:1fr}}@media (max-width:768px){.reports-header{align-items:flex-start;flex-direction:column;gap:var(--spacing-md)}.header-actions{width:100%}.tab-button{flex:1 1;justify-content:center;padding:.5rem 1rem}.summary-card{flex-direction:column;gap:var(--spacing-md);text-align:center}.chart-wrapper{padding:var(--spacing-md)}}@media (max-width:576px){.report-tabs{flex-direction:column}.tab-button{width:100%}.summary-cards{grid-template-columns:1fr}}.users-container{margin:0 auto;max-width:1400px}.users-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md)}.users-header h1{color:var(--primary-dark);margin-bottom:0}.role-badge{border-radius:var(--border-radius-pill);display:inline-block;font-size:.75rem;font-weight:600;padding:.25rem .75rem;text-transform:uppercase}.badge-admin{background-color:#d1c4e9;color:#4527a0}.badge-finance{background-color:#bbdefb;color:#0d47a1}.badge-general{background-color:#c8e6c9;color:#1b5e20}@media (max-width:768px){.users-header{align-items:flex-start;flex-direction:column;gap:var(--spacing-md)}.header-actions{width:100%}.btn-group{flex-wrap:nowrap}}.strategies-container{margin:0 auto;max-width:1400px}.strategies-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md)}.strategies-header h1{color:var(--primary-dark);margin-bottom:0}.header-actions{display:flex;gap:var(--spacing-md)}.strategy-name{color:var(--primary-color);font-weight:500}.status-badge{border-radius:var(--border-radius-pill);display:inline-block;font-size:.75rem;font-weight:600;padding:.25rem .75rem;text-transform:uppercase}.badge-active{background-color:#d4edda;color:#155724}.badge-inactive{background-color:#f8d7da;color:#721c24}.btn-group{display:flex;gap:5px}.btn-group .btn{align-items:center;display:inline-flex;height:32px;justify-content:center;padding:0;width:32px}.form-check{margin-bottom:var(--spacing-md);padding-left:1.5rem}.form-check-input{height:1rem;margin-left:-1.5rem;margin-top:.3rem;position:absolute;width:1rem}.form-check-label{margin-bottom:0}@media (max-width:768px){.strategies-header{align-items:flex-start;flex-direction:column;gap:var(--spacing-md)}.header-actions{width:100%}.btn-group{flex-wrap:nowrap}}.audit-logs-container{margin:0 auto;max-width:1400px}.audit-logs-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md)}.audit-logs-header h1{color:var(--primary-dark);margin-bottom:0}.action-badge{border-radius:var(--border-radius-pill);display:inline-block;font-size:.75rem;font-weight:600;padding:.25rem .75rem;text-transform:uppercase}.badge-insert{background-color:#d4edda;color:#155724}.badge-update{background-color:#fff3cd;color:#856404}.badge-delete{background-color:#f8d7da;color:#721c24}.modal-lg{max-width:800px;width:90%}.log-details{border-bottom:1px solid #e0e0e0;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md)}.detail-item{display:flex;margin-bottom:var(--spacing-sm)}.detail-label{font-weight:600;min-width:120px}.detail-value{flex:1 1}.values-comparison{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:1fr 1fr;margin-bottom:var(--spacing-lg)}.new-values h3,.old-values h3{border-bottom:1px solid #e0e0e0;font-size:var(--font-size-medium);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-xs)}.old-values{border-right:1px solid #e0e0e0;padding-right:var(--spacing-md)}.new-values{padding-left:var(--spacing-md)}.values-container{display:flex;flex-direction:column;gap:var(--spacing-xs)}.value-item{display:flex;flex-wrap:wrap;margin-bottom:var(--spacing-xs)}.value-key{font-weight:600;margin-right:var(--spacing-sm);min-width:100px}.value-value{flex:1 1;word-break:break-word}.loading-container{min-height:300px}@media (max-width:992px){.values-comparison{grid-template-columns:1fr}.old-values{border-bottom:1px solid #e0e0e0;border-right:none;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);padding-right:0}.new-values{padding-left:0}}@media (max-width:768px){.audit-logs-header{align-items:flex-start;flex-direction:column;gap:var(--spacing-md)}.detail-item{flex-direction:column;gap:var(--spacing-xs)}.detail-label{min-width:auto}}.not-found{min-height:70vh}.not-found h1{text-shadow:2px 2px 4px #0000001a}.not-found p{color:var(--secondary-color)}.not-found-action{margin-top:var(--spacing-md)}@media (max-width:768px){.not-found h1{font-size:4rem}.not-found p{font-size:1.25rem}}*{box-sizing:border-box;margin:0;padding:0}:root{--primary-color:#2e7d32;--primary-light:#60ad5e;--primary-dark:#005005;--secondary-color:#212121;--secondary-light:#484848;--secondary-dark:#000;--accent-color:#00bcd4;--text-light:#fff;--text-dark:#212121;--danger-color:#f44336;--warning-color:#ff9800;--success-color:#4caf50;--info-color:#2196f3;--font-size-small:0.875rem;--font-size-normal:1rem;--font-size-medium:1.25rem;--font-size-large:1.5rem;--font-size-xlarge:2rem;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--border-radius-sm:0.25rem;--border-radius-md:0.5rem;--border-radius-lg:1rem;--border-radius-pill:50rem;--box-shadow-sm:0 2px 4px #0000001a;--box-shadow-md:0 4px 8px #0000001a;--box-shadow-lg:0 8px 16px #0000001a}body{background-color:#f5f5f5;color:#212121;color:var(--text-dark);font-family:Kanit,sans-serif;font-size:1rem;font-size:var(--font-size-normal);line-height:1.6;overflow-x:hidden}.app-container{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1 1;padding:1.5rem;padding:var(--spacing-lg)}.container{margin:0 auto;max-width:1200px;padding:0 1rem;padding:0 var(--spacing-md)}h1,h2,h3,h4,h5,h6{color:#212121;color:var(--secondary-color);font-weight:600;line-height:1.3;margin-bottom:1rem;margin-bottom:var(--spacing-md)}h1{font-size:2rem;font-size:var(--font-size-xlarge)}h2{font-size:1.75rem;font-size:calc(var(--font-size-xlarge) - .25rem)}h3{font-size:1.5rem;font-size:var(--font-size-large)}h4{font-size:1.25rem;font-size:var(--font-size-medium)}h5{font-size:1rem;font-size:var(--font-size-normal)}h6{font-size:.875rem;font-size:var(--font-size-small)}p{margin-bottom:1rem;margin-bottom:var(--spacing-md)}a{color:#2e7d32;color:var(--primary-color);text-decoration:none;transition:color .3s ease}a:hover{color:#005005;color:var(--primary-dark);text-decoration:underline}.form-control{background-clip:padding-box;border:1px solid #ced4da;border-radius:.5rem;border-radius:var(--border-radius-md);box-shadow:0 0 10px #0000000d;display:block;font-size:1rem;font-size:var(--font-size-normal);font-weight:400;line-height:1.5;padding:.675rem .75rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:100%}.form-control,.form-control:focus{background-color:#fff;color:#212121;color:var(--text-dark)}.form-control:focus{border-color:#60ad5e;border-color:var(--primary-light);box-shadow:0 0 0 .25rem #2e7d3240;outline:0}.form-label{font-weight:500;margin-bottom:.5rem}.form-group{margin-bottom:1.5rem;margin-bottom:var(--spacing-lg)}.btn{border:none;border-radius:.5rem;border-radius:var(--border-radius-md);cursor:pointer;display:inline-block;font-size:1rem;font-size:var(--font-size-normal);font-weight:500;line-height:1.5;overflow:hidden;padding:.675rem 1.5rem;position:relative;text-align:center;text-decoration:none;transition:all .3s ease;-webkit-user-select:none;user-select:none;vertical-align:middle}.btn-primary{background:linear-gradient(135deg,#60ad5e,#005005);background:linear-gradient(135deg,var(--primary-light),var(--primary-dark));box-shadow:0 4px 10px #2e7d324d;color:#fff;color:var(--text-light)}.btn-primary:hover{box-shadow:0 6px 15px #2e7d3266;transform:translateY(-2px)}.btn-primary:active{box-shadow:0 2px 5px #2e7d3266;transform:translateY(1px)}.btn-secondary{background:linear-gradient(135deg,#484848,#000);background:linear-gradient(135deg,var(--secondary-light),var(--secondary-dark));box-shadow:0 4px 10px #2121214d;color:#fff;color:var(--text-light)}.btn-secondary:hover{box-shadow:0 6px 15px #21212166;transform:translateY(-2px)}.btn-secondary:active{box-shadow:0 2px 5px #21212166;transform:translateY(1px)}.btn-danger{background:linear-gradient(135deg,#ff5252,#d32f2f);box-shadow:0 4px 10px #f443364d;color:#fff;color:var(--text-light)}.btn-danger:hover{box-shadow:0 6px 15px #f4433666;transform:translateY(-2px)}.btn-danger:active{box-shadow:0 2px 5px #f4433666;transform:translateY(1px)}.btn-success{background:linear-gradient(135deg,#66bb6a,#388e3c);box-shadow:0 4px 10px #4caf504d;color:#fff;color:var(--text-light)}.btn-success:hover{box-shadow:0 6px 15px #4caf5066;transform:translateY(-2px)}.btn-success:active{box-shadow:0 2px 5px #4caf5066;transform:translateY(1px)}.btn-warning{background:linear-gradient(135deg,#ffb74d,#f57c00);box-shadow:0 4px 10px #ff98004d;color:#212121;color:var(--text-dark)}.btn-warning:hover{box-shadow:0 6px 15px #ff980066;transform:translateY(-2px)}.btn-warning:active{box-shadow:0 2px 5px #ff980066;transform:translateY(1px)}.btn-info{background:linear-gradient(135deg,#4fc3f7,#0288d1);box-shadow:0 4px 10px #2196f34d;color:#fff;color:var(--text-light)}.btn-info:hover{box-shadow:0 6px 15px #2196f366;transform:translateY(-2px)}.btn-info:active{box-shadow:0 2px 5px #2196f366;transform:translateY(1px)}.btn-sm{font-size:.875rem;font-size:var(--font-size-small);padding:.5rem 1rem}.btn-lg{font-size:1.25rem;font-size:var(--font-size-medium);padding:.75rem 2rem}.btn-block{display:block;width:100%}.card{word-wrap:break-word;background-clip:initial;background-color:#fff;border:none;border-radius:1rem;border-radius:var(--border-radius-lg);box-shadow:0 4px 8px #0000001a;box-shadow:var(--box-shadow-md);display:flex;flex-direction:column;margin-bottom:1.5rem;margin-bottom:var(--spacing-lg);min-width:0;overflow:hidden;position:relative;transition:transform .3s ease,box-shadow .3s ease}.card:hover{box-shadow:0 8px 16px #0000001a;box-shadow:var(--box-shadow-lg);transform:translateY(-5px)}.card-header{align-items:center;background-color:#00000008;border-bottom:1px solid #0000000d;display:flex;font-weight:600;justify-content:space-between;margin-bottom:0;padding:1rem 1.5rem;padding:var(--spacing-md) var(--spacing-lg)}.card-body{flex:1 1 auto;padding:1.5rem;padding:var(--spacing-lg)}.card-title{font-weight:600;margin-bottom:1rem;margin-bottom:var(--spacing-md)}.card-text:last-child{margin-bottom:0}.card-footer{background-color:#00000008;border-top:1px solid #0000000d;padding:1rem 1.5rem;padding:var(--spacing-md) var(--spacing-lg)}.table{border-collapse:collapse;color:#212121;color:var(--text-dark);margin-bottom:1.5rem;margin-bottom:var(--spacing-lg);width:100%}.table td,.table th{border-bottom:1px solid #dee2e6;padding:1rem;padding:var(--spacing-md);vertical-align:middle}.table thead th{background-color:#212121;background-color:var(--secondary-color);border-bottom:2px solid #212121;border-bottom:2px solid var(--secondary-color);color:#fff;color:var(--text-light);font-weight:600;text-align:left}.table tbody tr:nth-of-type(odd){background-color:#00000005}.table tbody tr:hover{background-color:#0000000d}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-primary{color:#2e7d32;color:var(--primary-color)}.text-secondary{color:#212121;color:var(--secondary-color)}.text-danger{color:#f44336;color:var(--danger-color)}.text-warning{color:#ff9800;color:var(--warning-color)}.text-success{color:#4caf50;color:var(--success-color)}.text-info{color:#2196f3;color:var(--info-color)}.bg-primary{background-color:#2e7d32;background-color:var(--primary-color)}.bg-secondary{background-color:#212121;background-color:var(--secondary-color)}.bg-danger{background-color:#f44336;background-color:var(--danger-color)}.bg-warning{background-color:#ff9800;background-color:var(--warning-color)}.bg-success{background-color:#4caf50;background-color:var(--success-color)}.bg-info{background-color:#2196f3;background-color:var(--info-color)}.mb-1{margin-bottom:.25rem;margin-bottom:var(--spacing-xs)}.mb-2{margin-bottom:.5rem;margin-bottom:var(--spacing-sm)}.mb-3{margin-bottom:1rem;margin-bottom:var(--spacing-md)}.mb-4{margin-bottom:1.5rem;margin-bottom:var(--spacing-lg)}.mb-5{margin-bottom:2rem;margin-bottom:var(--spacing-xl)}.mt-1{margin-top:.25rem;margin-top:var(--spacing-xs)}.mt-2{margin-top:.5rem;margin-top:var(--spacing-sm)}.mt-3{margin-top:1rem;margin-top:var(--spacing-md)}.mt-4{margin-top:1.5rem;margin-top:var(--spacing-lg)}.mt-5{margin-top:2rem;margin-top:var(--spacing-xl)}.ml-1{margin-left:.25rem;margin-left:var(--spacing-xs)}.ml-2{margin-left:.5rem;margin-left:var(--spacing-sm)}.ml-3{margin-left:1rem;margin-left:var(--spacing-md)}.ml-4{margin-left:1.5rem;margin-left:var(--spacing-lg)}.ml-5{margin-left:2rem;margin-left:var(--spacing-xl)}.mr-1{margin-right:.25rem;margin-right:var(--spacing-xs)}.mr-2{margin-right:.5rem;margin-right:var(--spacing-sm)}.mr-3{margin-right:1rem;margin-right:var(--spacing-md)}.mr-4{margin-right:1.5rem;margin-right:var(--spacing-lg)}.mr-5{margin-right:2rem;margin-right:var(--spacing-xl)}.p-1{padding:.25rem;padding:var(--spacing-xs)}.p-2{padding:.5rem;padding:var(--spacing-sm)}.p-3{padding:1rem;padding:var(--spacing-md)}.p-4{padding:1.5rem;padding:var(--spacing-lg)}.p-5{padding:2rem;padding:var(--spacing-xl)}.d-flex{display:flex}.flex-column{flex-direction:column}.flex-row{flex-direction:row}.justify-content-center{justify-content:center}.justify-content-between{justify-content:space-between}.align-items-center{align-items:center}.flex-wrap{flex-wrap:wrap}.w-100{width:100%}.h-100{height:100%}.dashboard-cards{grid-gap:1.5rem;grid-gap:var(--spacing-lg);display:grid;gap:1.5rem;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-bottom:2rem;margin-bottom:var(--spacing-xl)}.dashboard-card{background-color:#fff;border-radius:1rem;border-radius:var(--border-radius-lg);box-shadow:0 4px 8px #0000001a;box-shadow:var(--box-shadow-md);display:flex;flex-direction:column;overflow:hidden;padding:1.5rem;padding:var(--spacing-lg);position:relative;transition:transform .3s ease,box-shadow .3s ease}.dashboard-card:hover{box-shadow:0 8px 16px #0000001a;box-shadow:var(--box-shadow-lg);transform:translateY(-5px)}.dashboard-card-header{align-items:center;display:flex;margin-bottom:1rem;margin-bottom:var(--spacing-md)}.dashboard-card-icon{align-items:center;border-radius:50%;color:#fff;display:flex;font-size:1.5rem;height:48px;justify-content:center;margin-right:1rem;margin-right:var(--spacing-md);width:48px}.dashboard-card-title{font-size:1.25rem;font-size:var(--font-size-medium);font-weight:600;margin:0}.dashboard-card-value{font-size:2rem;font-size:var(--font-size-xlarge);font-weight:700;margin:.5rem 0;margin:var(--spacing-sm) 0}.dashboard-card-subtitle{color:#6c757d;font-size:.875rem;font-size:var(--font-size-small)}.dashboard-card-primary .dashboard-card-icon{background-color:#2e7d32;background-color:var(--primary-color)}.dashboard-card-success .dashboard-card-icon{background-color:#4caf50;background-color:var(--success-color)}.dashboard-card-warning .dashboard-card-icon{background-color:#ff9800;background-color:var(--warning-color)}.dashboard-card-danger .dashboard-card-icon{background-color:#f44336;background-color:var(--danger-color)}.dashboard-card-info .dashboard-card-icon{background-color:#2196f3;background-color:var(--info-color)}.chart-container{height:300px;margin:auto auto 1.5rem;margin-bottom:var(--spacing-lg);position:relative;width:100%}@media (max-width:992px){.dashboard-cards{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}@media (max-width:768px){.main-content{padding:1rem;padding:var(--spacing-md)}.dashboard-cards{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.chart-container{height:250px}}@media (max-width:576px){.dashboard-cards{grid-template-columns:1fr}.btn{padding:.5rem 1rem}.card-body,.card-footer,.card-header{padding:1rem;padding:var(--spacing-md)}.table td,.table th{padding:.5rem;padding:var(--spacing-sm)}}.loading-container{background-color:#ffffffe6;left:0;position:fixed;top:0;width:100%;z-index:9999}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-container{animation:modal-appear .3s ease-out;background-color:#fff;border-radius:1rem;border-radius:var(--border-radius-lg);box-shadow:0 8px 16px #0000001a;box-shadow:var(--box-shadow-lg);max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.modal-header{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:1rem 1.5rem;padding:var(--spacing-md) var(--spacing-lg)}.modal-body{padding:1.5rem;padding:var(--spacing-lg)}.modal-footer{border-top:1px solid #e9ecef;display:flex;gap:1rem;gap:var(--spacing-md);justify-content:flex-end;padding:1rem 1.5rem;padding:var(--spacing-md) var(--spacing-lg)}.modal-close{background:#0000;border:none;color:#6c757d;cursor:pointer;font-size:1.5rem;line-height:1;padding:0}.modal-close:hover{color:#000}@keyframes modal-appear{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.dataTables_wrapper .dataTables_filter,.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_paginate,.dataTables_wrapper .dataTables_processing{color:#212121;color:var(--text-dark);margin-bottom:1rem;margin-bottom:var(--spacing-md)}.dataTables_wrapper .dataTables_filter input{margin-left:.5rem;margin-left:var(--spacing-sm)}.dataTables_wrapper .dataTables_filter input,.dataTables_wrapper .dataTables_length select{border:1px solid #ced4da;border-radius:.5rem;border-radius:var(--border-radius-md);box-shadow:0 0 5px #0000000d;padding:.375rem .75rem}.dataTables_wrapper .dataTables_length select{margin:0 .5rem;margin:0 var(--spacing-sm)}.dataTables_wrapper .dataTables_paginate .paginate_button{background-color:#fff;border:1px solid #ced4da;border-radius:.5rem;border-radius:var(--border-radius-md);color:#212121!important;color:var(--text-dark)!important;margin-left:2px;padding:.375rem .75rem}.dataTables_wrapper .dataTables_paginate .paginate_button.current,.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover{background:linear-gradient(135deg,#60ad5e,#005005)!important;background:linear-gradient(135deg,var(--primary-light),var(--primary-dark))!important;border:1px solid #2e7d32;border:1px solid var(--primary-color);color:#fff!important;color:var(--text-light)!important}.dataTables_wrapper .dataTables_paginate .paginate_button:hover{background:#f0f0f0!important;border:1px solid #ced4da;color:#2e7d32!important;color:var(--primary-color)!important}.welcome-container{align-items:center;background:linear-gradient(135deg,#f5f7fa,#e4e8f0);display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:2rem;padding:var(--spacing-xl);text-align:center}.welcome-logo{background-color:#fff;border-radius:50%;box-shadow:0 4px 8px #0000001a;box-shadow:var(--box-shadow-md);height:150px;margin-bottom:1.5rem;margin-bottom:var(--spacing-lg);object-fit:contain;padding:.5rem;padding:var(--spacing-sm);width:150px}.welcome-title{color:#005005;color:var(--primary-dark);font-size:2.5rem;font-weight:700;margin-bottom:1rem;margin-bottom:var(--spacing-md)}.welcome-subtitle{color:#212121;color:var(--secondary-color);font-size:1.5rem}.welcome-features,.welcome-subtitle{margin-bottom:2rem;margin-bottom:var(--spacing-xl)}.welcome-features{grid-gap:1.5rem;grid-gap:var(--spacing-lg);display:grid;gap:1.5rem;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));max-width:1200px;width:100%}.welcome-feature{background-color:#fff;border-radius:1rem;border-radius:var(--border-radius-lg);box-shadow:0 4px 8px #0000001a;box-shadow:var(--box-shadow-md);padding:1.5rem;padding:var(--spacing-lg);transition:transform .3s ease,box-shadow .3s ease}.welcome-feature:hover{box-shadow:0 8px 16px #0000001a;box-shadow:var(--box-shadow-lg);transform:translateY(-5px)}.welcome-feature-icon{color:#2e7d32;color:var(--primary-color);font-size:2.5rem;margin-bottom:1rem;margin-bottom:var(--spacing-md)}.welcome-feature-title{font-size:1.25rem;font-weight:600;margin-bottom:.5rem;margin-bottom:var(--spacing-sm)}.welcome-buttons{display:flex;gap:1rem;gap:var(--spacing-md);margin-top:1.5rem;margin-top:var(--spacing-lg)}@media (max-width:768px){.welcome-title{font-size:2rem}.welcome-subtitle{font-size:1.25rem}.welcome-buttons{flex-direction:column}}.login-container{align-items:center;background:linear-gradient(135deg,#f5f7fa,#e4e8f0);display:flex;justify-content:center;min-height:100vh;padding:1rem;padding:var(--spacing-md)}.login-card{animation:fade-in .5s ease-out;background-color:#fff;border-radius:1rem;border-radius:var(--border-radius-lg);box-shadow:0 8px 16px #0000001a;box-shadow:var(--box-shadow-lg);max-width:450px;overflow:hidden;width:100%}.login-header{background:linear-gradient(135deg,#60ad5e,#005005);background:linear-gradient(135deg,var(--primary-light),var(--primary-dark));color:#fff;color:var(--text-light);padding:1.5rem;padding:var(--spacing-lg);text-align:center}.login-logo{background-color:#fff;border-radius:50%;height:80px;margin-bottom:1rem;margin-bottom:var(--spacing-md);object-fit:contain;padding:.25rem;padding:var(--spacing-xs);width:80px}.login-title{font-size:1.5rem;font-weight:600;margin-bottom:0}.login-body{padding:1.5rem;padding:var(--spacing-lg)}.login-error{background-color:#f443361a;border-radius:.5rem;border-radius:var(--border-radius-md);color:#f44336;color:var(--danger-color);margin-bottom:1rem;margin-bottom:var(--spacing-md);padding:.5rem;padding:var(--spacing-sm);text-align:center}@keyframes fade-in{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.not-found{align-items:center;background:linear-gradient(135deg,#f5f7fa,#e4e8f0);display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:1.5rem;padding:var(--spacing-lg);text-align:center}.not-found h1{color:#2e7d32;color:var(--primary-color);font-size:6rem;font-weight:700;margin-bottom:1rem;margin-bottom:var(--spacing-md)}.not-found p{font-size:1.5rem;margin-bottom:1.5rem;margin-bottom:var(--spacing-lg);max-width:600px}.main-content{background-color:#f5f5f5;margin-top:60px;min-height:calc(100vh - 60px);position:relative;transition:margin-left .3s ease,padding .3s ease}.main-content.with-sidebar{margin-left:260px}.main-content.without-sidebar{margin-left:70px}.main-content-full{min-height:100vh}@media (max-width:992px){.main-content.with-sidebar,.main-content.without-sidebar{margin-left:0}}.loading-container{align-items:center;background-color:#f5f5f5;display:flex;flex-direction:column;height:100vh;justify-content:center}.loading-spinner{animation:spin 1s ease-in-out infinite;border:5px solid #2e7d324d;border-radius:50%;border-top:5px solid var(--primary-color);height:50px;margin-bottom:20px;width:50px}@keyframes spin{to{transform:rotate(1turn)}}.app-header .header-container{padding-left:20px}@media (min-width:992px){.main-content.with-sidebar .app-header .header-container,.main-content.without-sidebar .app-header .header-container{padding-left:20px}}.activities-container,.audit-logs-container,.budget-items-container,.dashboard-container,.expenses-container,.project-detail-container,.projects-container,.reports-container,.strategies-container,.users-container{margin:0 auto;max-width:1400px;padding:1.5rem;padding:var(--spacing-lg)}.sidebar-overlay{background-color:#00000080;bottom:0;display:none;left:0;position:fixed;right:0;top:0;z-index:1040}@media (max-width:992px){.sidebar-overlay.active{display:block}}
/*# sourceMappingURL=main.66f34f02.css.map*/