:root{--color-cream:#faf8f3;--color-cream-dark:#f1ede3;--color-ivory:#fff;--color-blue:#324f86;--color-blue-dark:#23375f;--color-blue-light:#4a66a0;--color-yellow:#c2a14d;--color-yellow-dark:#a8842f;--color-yellow-light:#dcc07a;--color-warm-beige:#ede4d2;--color-stone:#8c93a1;--color-stone-light:#c2c6cf;--color-text-primary:#21283a;--color-text-secondary:#555e70;--color-text-muted:#8c93a1;--color-success:#1f8a52;--color-success-light:#e7f4ec;--color-warning:#b07d1a;--color-warning-light:#f7efd8;--color-error:#c2453c;--color-error-light:#f9eae8;--color-info:#324f86;--color-info-light:#eceff6;--color-border:#e7e3d9;--color-border-light:#f0ece3;--shadow-sm:0 1px 2px #21283a0d;--shadow-md:0 2px 6px #21283a14;--shadow-lg:0 6px 20px #21283a1a;--shadow-xl:0 12px 36px #21283a21;--font-heading:"Fraunces", Georgia, "Times New Roman", serif;--font-body:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:18px}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-body);background:var(--color-cream);color:var(--color-text-primary);min-height:100vh;padding:0;line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-text-primary);letter-spacing:-.01em;font-optical-sizing:auto;font-weight:600}h1{font-size:2.5rem;line-height:1.2}h2{font-size:1.75rem;line-height:1.25}h3{font-size:1.35rem;line-height:1.3}a{color:inherit;text-decoration:none}a:hover{text-decoration:none}a:visited{color:inherit}.container{background:var(--color-ivory);border-radius:var(--radius-xl);border:1px solid var(--color-border);max-width:1200px;box-shadow:var(--shadow-lg);margin:0 auto;overflow:hidden}.header{background:var(--color-blue-dark);color:var(--color-ivory);padding:var(--spacing-xl) var(--spacing-2xl);justify-content:space-between;align-items:center;display:flex;position:relative}.header:after{content:"";background:var(--color-yellow);height:2px;position:absolute;bottom:0;left:0;right:0}.header-text{text-align:left}.header h1{margin-bottom:var(--spacing-sm);color:var(--color-ivory);font-size:2.25rem;font-weight:600}.header p{opacity:.92;letter-spacing:.02em;font-size:1.05rem;font-weight:400}.header-buttons{gap:var(--spacing-md);align-items:center;display:flex}.print-btn,.logout-btn,.profile-btn{color:var(--color-ivory);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);cursor:pointer;font-family:var(--font-body);white-space:nowrap;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff1f;border:1px solid #ffffff47;font-size:.95rem;font-weight:600;transition:all .2s}.print-btn:hover,.logout-btn:hover,.profile-btn:hover{background:#ffffff40;transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.summary-cards{gap:var(--spacing-lg);padding:var(--spacing-xl) var(--spacing-2xl);background:var(--color-cream-dark);border-bottom:1px solid var(--color-border);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.summary-card{background:var(--color-ivory);padding:var(--spacing-xl);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);transition:all .25s;position:relative;overflow:hidden}.summary-card:before{content:"";background:var(--color-yellow);height:2px;position:absolute;top:0;left:0;right:0}.summary-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.summary-card h3{color:var(--color-text-secondary);font-family:var(--font-body);text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--spacing-sm);font-size:.8rem;font-weight:600}.summary-card .amount{font-family:var(--font-heading);color:var(--color-text-primary);font-size:2.2rem;font-weight:700}.budget-section{padding:var(--spacing-xl) var(--spacing-2xl);background:var(--color-ivory)}.section-header{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:2px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.section-header h2{color:var(--color-text-primary);font-size:1.6rem;font-weight:700}.section-total{font-family:var(--font-heading);color:var(--color-blue);font-size:1.35rem;font-weight:600}.budget-table{border-collapse:collapse;width:100%;margin-bottom:var(--spacing-xl);background:var(--color-ivory);border-radius:var(--radius-md);border:1px solid var(--color-border);overflow:hidden}.budget-table th{background:var(--color-cream-dark);padding:var(--spacing-md) var(--spacing-lg);text-align:left;font-family:var(--font-body);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);border-bottom:2px solid var(--color-border);font-size:.85rem;font-weight:600}.budget-table td{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border-light);color:var(--color-text-primary);vertical-align:middle}.budget-table tr:hover{background:var(--color-cream)}.budget-table tr:last-child td{border-bottom:none}.budget-table input,.budget-table select{width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-ivory);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-body);color:var(--color-text-primary);font-size:.95rem;transition:all .2s}.budget-table input::placeholder{color:var(--color-text-muted)}.budget-table input:focus,.budget-table select:focus{border-color:var(--color-blue);background:#fff;outline:none;box-shadow:0 0 0 3px #1e88e51f}.budget-table select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B635A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-position:right 10px center;background-repeat:no-repeat;background-size:16px;padding-right:36px}.budget-table select:hover{border-color:var(--color-stone)}.budget-table select option{background:var(--color-ivory);color:var(--color-text-primary);padding:var(--spacing-sm)}.budget-table .amount-cell{text-align:right;font-weight:500;font-family:var(--font-heading)}.add-item-btn{background:var(--color-blue);color:#fff;font-family:var(--font-body);cursor:pointer;border:none;border-radius:6px;align-items:center;gap:8px;padding:10px 20px;font-size:.9rem;font-weight:600;transition:background .15s;display:inline-flex}.add-item-btn:hover{background:var(--color-blue-dark)}.delete-btn{color:var(--color-error);border:1px solid var(--color-error);border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font-body);background:0 0;padding:6px 14px;font-size:.85rem;font-weight:600;transition:all .2s}.delete-btn:hover{background:var(--color-error);color:var(--color-text-primary);transform:translateY(-1px)}.page-header{margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-md);border-bottom:2px solid var(--color-border);justify-content:space-between;align-items:flex-start;display:flex}.page-header h1{font-family:var(--font-heading);color:var(--color-text-primary);margin-bottom:2px;font-size:1.75rem;font-weight:600}.page-header .page-subtitle{color:var(--color-text-muted);margin-top:4px;font-size:.875rem}.page-actions{gap:var(--spacing-sm);flex-shrink:0;align-items:center;display:flex}.section-card{background:var(--color-ivory);border-radius:var(--radius-md);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);padding:var(--spacing-xl);margin-bottom:var(--spacing-xl)}.section-card-header{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border-light);justify-content:space-between;align-items:center;display:flex}.section-card-header h2{font-family:var(--font-heading);color:var(--color-text-primary);font-size:1.25rem;font-weight:600}.stat-cards{gap:var(--spacing-md);margin-bottom:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.stat-card{background:var(--color-ivory);border-radius:var(--radius-md);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);padding:var(--spacing-lg);border-left:4px solid var(--color-border)}.stat-card .stat-label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin-bottom:var(--spacing-sm);font-size:.72rem;font-weight:600}.stat-card .stat-value{font-family:var(--font-heading);color:var(--color-text-primary);font-size:2rem;font-weight:700;line-height:1}.stat-card.stat-amber{border-left-color:var(--color-warning)}.stat-card.stat-green{border-left-color:var(--color-success)}.stat-card.stat-red{border-left-color:var(--color-error)}.stat-card.stat-blue{border-left-color:var(--color-blue)}.btn{align-items:center;gap:var(--spacing-sm);border-radius:var(--radius-sm);font-family:var(--font-body);cursor:pointer;white-space:nowrap;border:1px solid #0000;padding:8px 16px;font-size:.875rem;font-weight:500;line-height:1.4;text-decoration:none;transition:all .15s;display:inline-flex}.btn.btn-primary{background:var(--color-blue);color:#fff;border-color:var(--color-blue)}.btn.btn-primary:hover{background:var(--color-blue-dark);border-color:var(--color-blue-dark)}.btn.btn-danger{background:var(--color-error-light);color:var(--color-error);border-color:#e539354d}.btn.btn-danger:hover{background:var(--color-error);color:#fff;border-color:var(--color-error)}.btn.btn-ghost{color:var(--color-text-secondary);border-color:var(--color-border);background:0 0}.btn.btn-ghost:hover{background:var(--color-cream)}.btn.btn-sm{padding:5px 10px;font-size:.78rem}.btn+.btn{margin-left:var(--spacing-xs)}.data-table td:last-child{white-space:nowrap}.data-table .table-actions{align-items:center;gap:var(--spacing-xs);display:flex}.btn.btn-approve{background:var(--color-success-light);color:#065f46;border-color:#a7f3d0}.btn.btn-approve:hover{background:#d1fae5}.btn.btn-complete{background:var(--color-info-light);color:var(--color-blue-dark);border-color:#bfdbfe}.btn.btn-complete:hover{background:#dbeafe}.btn.btn-reset{background:var(--color-warning-light);color:#92400e;border-color:#fde68a}.btn.btn-reset:hover{background:#fef3c7}.status-badge{text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;border-radius:20px;align-items:center;padding:3px 10px;font-size:.72rem;font-weight:600;display:inline-flex}.status-pending{background:var(--color-warning-light);color:#92400e}.status-approved{background:var(--color-success-light);color:#065f46}.status-denied{background:var(--color-error-light);color:#991b1b}.status-completed{background:var(--color-cream-dark);color:var(--color-text-secondary)}.data-table{border-collapse:collapse;background:var(--color-ivory);width:100%}.data-table th{background:var(--color-cream-dark);padding:var(--spacing-sm) var(--spacing-md);text-align:left;font-family:var(--font-body);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary);border-bottom:2px solid var(--color-border);white-space:nowrap;font-size:.75rem;font-weight:600}.data-table td{padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--color-border-light);color:var(--color-text-primary);vertical-align:middle;font-size:.875rem}.data-table tr:hover td{background:var(--color-cream)}.data-table tr:last-child td{border-bottom:none}.filter-bar{gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);flex-wrap:wrap;align-items:center;display:flex}.filter-bar input,.filter-bar select{border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-body);color:var(--color-text-primary);background:var(--color-ivory);height:36px;padding:8px 12px;font-size:.875rem;transition:border-color .15s}.filter-bar input:focus,.filter-bar select:focus{border-color:var(--color-blue);outline:none;box-shadow:0 0 0 3px #1e88e51a}.filter-bar select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B635A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-position:right 8px center;background-repeat:no-repeat;background-size:14px;padding-right:30px}.modal-admin-controls{margin-top:var(--spacing-lg);border-top:1px solid var(--color-border-light);padding-top:var(--spacing-lg)}.modal-admin-controls-label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin-bottom:var(--spacing-sm);font-size:.72rem;font-weight:600}.modal-admin-controls-buttons{gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.modal-footer{padding:var(--spacing-md) var(--spacing-xl);border-top:1px solid var(--color-border-light);gap:var(--spacing-sm);background:var(--color-ivory);flex-shrink:0;justify-content:flex-end;display:flex}.progress-bar-container{background:var(--color-cream-dark);border-radius:var(--radius-md);height:22px;margin-top:var(--spacing-sm);border:1px solid var(--color-border);overflow:hidden}.progress-bar{background:var(--color-yellow);height:100%;color:var(--color-text-primary);justify-content:center;align-items:center;font-size:.8rem;font-weight:600;transition:width .4s;display:flex}.login-container{min-height:100vh;padding:var(--spacing-lg);justify-content:center;align-items:center;display:flex}.login-box{background:var(--color-ivory);padding:var(--spacing-2xl) var(--spacing-xl);border-radius:var(--radius-xl);border:1px solid var(--color-border);box-shadow:var(--shadow-xl);width:100%;max-width:420px;position:relative}.login-box:before{content:"";background:var(--color-blue);border-radius:0 0 var(--radius-sm) var(--radius-sm);width:60px;height:4px;position:absolute;top:0;left:50%;transform:translate(-50%)}.login-box h1{font-family:var(--font-heading);color:var(--color-text-primary);margin-bottom:var(--spacing-xl);text-align:center;font-size:2rem;font-weight:600}@media (min-width:769px){.login-container{padding:var(--spacing-2xl)}.login-box{padding:var(--spacing-2xl) 48px;max-width:460px}.login-box:before{width:80px;height:5px}}.form-group{margin-bottom:var(--spacing-lg)}.form-group label{margin-bottom:var(--spacing-sm);color:var(--color-text-primary);font-size:.95rem;font-weight:500;display:block}.form-group input,.form-group select{width:100%;padding:14px var(--spacing-md);background:var(--color-ivory);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-body);color:var(--color-text-primary);font-size:1rem;transition:all .2s}.form-group input::placeholder{color:var(--color-text-muted)}.form-group input:focus,.form-group select:focus{border-color:var(--color-blue);background:#fff;outline:none;box-shadow:0 0 0 3px #1e88e51f}.form-group select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B635A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-position:right 14px center;background-repeat:no-repeat;background-size:18px;padding-right:42px}.form-group select:hover{border-color:var(--color-stone)}.form-group select option{background:var(--color-ivory);color:var(--color-text-primary)}.login-btn{background:var(--color-blue);width:100%;color:var(--color-ivory);border-radius:var(--radius-md);cursor:pointer;font-family:var(--font-body);border:none;padding:16px;font-size:1.05rem;font-weight:600;transition:all .2s}.login-btn:hover{background:var(--color-blue-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}.login-btn:disabled{background:var(--color-stone-light);cursor:not-allowed;box-shadow:none;transform:none}.error-message{background:var(--color-error-light);color:var(--color-error);padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);border:1px solid #e539354d;font-size:.95rem}.empty-state-message{padding:var(--spacing-xl);border-radius:var(--radius-md);text-align:center;background:var(--color-cream-dark);border:1px solid var(--color-border);color:var(--color-text-muted);font-size:.95rem}.success-state-message{padding:var(--spacing-lg);border-radius:var(--radius-md);text-align:center;background:var(--color-success-light);border:1px solid var(--color-success);color:var(--color-success);font-size:.95rem;font-weight:600}.divider{text-align:center;margin:var(--spacing-xl) 0;color:var(--color-text-muted);align-items:center;display:flex}.divider:before,.divider:after{content:"";border-bottom:1px solid var(--color-border);flex:1}.divider span{padding:0 var(--spacing-md);text-transform:uppercase;letter-spacing:.08em;font-size:.85rem;font-weight:500}.department-selector{padding:var(--spacing-lg) var(--spacing-2xl);background:var(--color-cream-dark);border-bottom:1px solid var(--color-border);align-items:center;gap:var(--spacing-md);display:flex}.department-selector label{color:var(--color-text-primary);font-weight:500}.department-selector select{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-ivory);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-body);min-width:200px;color:var(--color-text-primary);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B635A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-position:right 12px center;background-repeat:no-repeat;background-size:18px;padding-right:40px;font-size:1rem;transition:all .2s}.department-selector select:hover{border-color:var(--color-stone)}.department-selector select:focus{border-color:var(--color-blue);outline:none;box-shadow:0 0 0 3px #1e88e51f}.department-selector select option{background:var(--color-ivory);color:var(--color-text-primary)}.admin-nav{gap:var(--spacing-sm);padding:var(--spacing-lg) var(--spacing-2xl);background:var(--color-cream-dark);border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.nav-btn{padding:var(--spacing-sm) var(--spacing-lg);border:1px solid var(--color-border);background:var(--color-ivory);color:var(--color-text-secondary);border-radius:var(--radius-md);cursor:pointer;font-family:var(--font-body);font-size:.95rem;font-weight:500;transition:all .2s}.nav-btn.active{background:var(--color-blue);border-color:var(--color-blue);color:var(--color-ivory);box-shadow:var(--shadow-sm)}.nav-btn:hover:not(.active){background:var(--color-cream);transform:translateY(-1px)}.nav-btn.active:hover{background:var(--color-blue-dark)}.total-row{background:var(--color-cream-dark);border-top:2px solid var(--color-blue);font-weight:600}.total-row td{padding:var(--spacing-lg) var(--spacing-lg);color:var(--color-text-primary);font-weight:700}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#3d363066;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--color-ivory);border-radius:var(--radius-xl);padding:var(--spacing-2xl);width:90%;max-width:450px;box-shadow:var(--shadow-xl);border:1px solid var(--color-border);animation:.3s ease-out slideUp}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-content h3{font-family:var(--font-heading);color:var(--color-text-primary);margin-bottom:var(--spacing-md);font-size:1.5rem;font-weight:700}.modal-content p{color:var(--color-text-secondary);margin-bottom:var(--spacing-xl);font-size:1rem;line-height:1.6}.modal-buttons{gap:var(--spacing-md);justify-content:flex-end;display:flex}.modal-btn-cancel,.modal-btn-delete{padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--radius-md);font-family:var(--font-body);cursor:pointer;border:none;font-size:.95rem;font-weight:600;transition:all .2s}.modal-btn-cancel{background:var(--color-cream-dark);color:var(--color-text-primary);border:1px solid var(--color-border)}.modal-btn-cancel:hover{background:var(--color-cream);transform:translateY(-1px)}.modal-btn-delete{background:var(--color-error);color:var(--color-ivory)}.modal-btn-delete:hover{box-shadow:var(--shadow-md);background:#b05a4c;transform:translateY(-1px)}.form-label{margin-bottom:var(--spacing-sm);color:var(--color-text-primary);letter-spacing:.02em;font-size:.9rem;font-weight:600;display:block}.form-input{box-sizing:border-box;transition:all .2s;width:100%!important;padding:14px var(--spacing-md)!important;background:var(--color-ivory)!important;border:1px solid var(--color-border)!important;border-radius:var(--radius-md)!important;color:var(--color-text-primary)!important;font-family:var(--font-body)!important;font-size:1rem!important}.form-input:focus{outline:none;box-shadow:0 0 0 3px #1e88e51f;border-color:var(--color-blue)!important;background:#fff!important}.form-input::placeholder{color:var(--color-text-muted)}.form-input:disabled{opacity:.6;cursor:not-allowed;background:var(--color-cream-dark)!important}select.form-input{cursor:pointer!important;appearance:none!important;background:var(--color-ivory)!important;border:1px solid var(--color-border)!important;color:var(--color-text-primary)!important;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B635A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e")!important;background-position:right 14px center!important;background-repeat:no-repeat!important;background-size:18px!important;padding-right:42px!important}select.form-input:hover{border-color:var(--color-stone)!important}select.form-input:focus{border-color:var(--color-blue)!important;background:#fff!important}select.form-input option{padding:var(--spacing-sm);background:var(--color-ivory)!important;color:var(--color-text-primary)!important}textarea.form-input{font-family:var(--font-body);resize:vertical;min-height:80px;line-height:1.6}input[type=number].form-input::-webkit-inner-spin-button{opacity:1}input[type=number].form-input::-webkit-outer-spin-button{opacity:1}@media (max-width:768px){body{padding:var(--spacing-md)}.container{border-radius:var(--radius-lg)}.header{gap:var(--spacing-lg);padding:var(--spacing-lg);text-align:center;flex-direction:column}.header-text{text-align:center}.header h1{font-size:1.75rem}.header p{font-size:.95rem}.header-buttons{flex-wrap:wrap;justify-content:center;width:100%}.print-btn,.logout-btn,.profile-btn{padding:var(--spacing-sm) var(--spacing-md);flex:1;min-width:100px;font-size:.9rem}.summary-cards{padding:var(--spacing-lg);gap:var(--spacing-md);grid-template-columns:1fr}.summary-card{padding:var(--spacing-lg)}.summary-card h3{font-size:.75rem}.summary-card .amount{font-size:1.75rem}.budget-section{padding:var(--spacing-lg)}.section-header{gap:var(--spacing-md);flex-direction:column;align-items:flex-start}.section-header h2{font-size:1.3rem}.section-total{font-size:1.1rem}.budget-table{font-size:.9rem;display:block;overflow-x:auto}.budget-table thead{display:none}.budget-table tbody{display:block}.budget-table tr{margin-bottom:var(--spacing-lg);background:var(--color-ivory);border-radius:var(--radius-md);padding:var(--spacing-md);border:1px solid var(--color-border);display:block}.budget-table td{padding:var(--spacing-sm) 0;border:none;display:block;text-align:left!important}.budget-table td:before{content:attr(data-label);margin-bottom:var(--spacing-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;font-weight:600;display:block}.budget-table .amount-cell{text-align:left!important}.budget-table input,.budget-table select{font-size:16px}.delete-btn{width:100%;margin-top:var(--spacing-sm)}.add-item-btn{width:100%;margin-top:0}.department-selector{padding:var(--spacing-md) var(--spacing-lg);flex-direction:column;align-items:flex-start}.department-selector select{width:100%;min-width:auto}.admin-nav{padding:var(--spacing-md) var(--spacing-lg);gap:var(--spacing-sm)}.nav-btn{padding:var(--spacing-sm) var(--spacing-md);text-align:center;flex:1;font-size:.85rem}.login-container{padding:var(--spacing-md);align-items:flex-start;padding-top:10vh}.login-box{padding:var(--spacing-xl) var(--spacing-lg);border-radius:var(--radius-lg);max-width:100%}.login-box:before{width:50px;height:3px}.login-box h1{margin-bottom:var(--spacing-lg);font-size:1.75rem}.login-box .form-group input{padding:16px var(--spacing-md);font-size:16px}.login-box .login-btn{padding:18px;font-size:1.1rem}.total-row td{padding:var(--spacing-md) 0}.progress-bar-container{height:18px}.progress-bar{font-size:.7rem}.form-group input,.form-group select{font-size:16px}}@media (max-width:480px){.header h1{font-size:1.4rem}.header p{font-size:.85rem}.header-buttons{flex-direction:column;width:100%}.print-btn,.logout-btn,.profile-btn{flex:none;width:100%}.summary-card .amount{font-size:1.5rem}.section-header h2{font-size:1.15rem}.budget-table{font-size:.85rem}.nav-btn{padding:var(--spacing-sm);font-size:.8rem}.login-container{padding:var(--spacing-sm);padding-top:5vh}.login-box{padding:var(--spacing-lg) var(--spacing-md)}.login-box h1{font-size:1.5rem}.login-box .divider{margin:var(--spacing-lg) 0}.login-box .divider span{font-size:.75rem}}@media (max-width:768px){.modal-overlay{padding:var(--spacing-md);padding-top:var(--spacing-lg);align-items:flex-start}.modal-content{border-radius:var(--radius-lg);max-width:100%;max-height:90vh;padding:var(--spacing-xl);margin:0;overflow-y:auto}.modal-content h3{background:var(--color-ivory);padding-bottom:var(--spacing-md);margin-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border);font-size:1.25rem;position:sticky;top:0}.modal-buttons{gap:var(--spacing-sm);background:var(--color-ivory);padding-top:var(--spacing-md);margin-top:var(--spacing-md);border-top:1px solid var(--color-border);flex-direction:column;position:sticky;bottom:0}.modal-btn-cancel,.modal-btn-delete{width:100%;padding:var(--spacing-md)}}.print-only,.cell-print-value{display:none}@media print{body{background:#fff;margin:0;padding:0}.sidebar,.top-nav,aside,nav,.add-item-btn,.delete-btn,.print-btn,.logout-btn,.profile-btn,.header-buttons,.department-selector,.admin-nav,.modal-overlay,.page-actions,.section-card,.no-print,form{display:none!important}.print-only{display:block!important}.print-report-header{border-bottom:3px solid var(--color-blue);margin-bottom:24px;padding-bottom:16px}.print-report-header h1{color:var(--color-text-primary);margin:0 0 8px;font-size:24pt}.print-report-meta{color:var(--color-text-secondary);flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:11pt;display:flex}.app-layout{display:block!important}.main-content-wrapper{margin-left:0!important;display:block!important}.content-area,.content-container{max-width:100%!important;margin:0!important;padding:20px!important}main{margin:0!important;padding:20px!important;display:block!important}.container{max-width:100%;box-shadow:none;background:#fff;border:none;border-radius:0;margin:0;padding:20px}.header{color:var(--color-text-primary);border-bottom:3px solid var(--color-blue);background:#fff;margin-bottom:20px;padding:20px 0}.header:after{display:none}.header h1{color:var(--color-text-primary);text-shadow:none;font-size:24pt}.header p{color:var(--color-text-secondary);font-size:12pt}.summary-cards{page-break-inside:avoid;background:#fff;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:30px;padding:20px 0;display:grid}.summary-card{border:2px solid var(--color-blue);box-shadow:none;background:#fff;padding:15px}.summary-card:before{display:none}.summary-card h3{color:var(--color-text-secondary);margin-bottom:8px;font-size:10pt}.summary-card .amount{color:var(--color-text-primary);font-size:18pt}.budget-section{page-break-inside:auto;background:#fff;margin-bottom:40px;padding:0}.section-header{border-bottom:2px solid var(--color-blue);page-break-after:avoid;margin-bottom:15px;padding-bottom:10px}.section-header h2{color:var(--color-text-primary);font-size:16pt}.section-total{color:var(--color-blue);font-size:14pt}.budget-table{border-collapse:collapse;border:2px solid var(--color-border);page-break-inside:auto;table-layout:auto;background:#fff;width:100%;margin-bottom:20px;display:table;overflow:visible}.budget-table thead{background:var(--color-cream);border-bottom:2px solid var(--color-blue);display:table-header-group}.budget-table tr{background:#fff;border:none;border-radius:0;margin:0;padding:0;display:table-row}.budget-table th{text-align:left;color:var(--color-text-primary);border-bottom:2px solid var(--color-blue);padding:10px;font-size:10pt;font-weight:700}.budget-table tbody{display:table-row-group}.budget-table td{border-bottom:1px solid var(--color-border);color:var(--color-text-primary);vertical-align:top;padding:8px 10px;font-size:10pt;display:table-cell;text-align:left!important}.budget-table td:before{content:none!important;display:none!important}.budget-table input,.budget-table select{display:none!important}.cell-print-value{color:var(--color-text-primary);white-space:normal;word-break:break-word;font-size:10pt;display:block}.budget-table .amount-cell,.budget-table .amount-cell .cell-print-value{white-space:nowrap;font-weight:500;text-align:right!important}.total-row{background:var(--color-cream);border-top:2px solid var(--color-blue);font-weight:700}.total-row td{color:var(--color-text-primary);border-bottom:none;padding:12px 10px;font-size:11pt}.budget-table th:last-child,.budget-table td:last-child{display:none}h1,h2,h3{page-break-after:avoid}tr{page-break-inside:avoid;page-break-after:auto}.total-row{page-break-before:avoid}}.spinner{border:4px solid var(--color-border);border-top-color:var(--color-blue);border-radius:50%;width:48px;height:48px;margin:0 auto;animation:.8s linear infinite spinner-rotate}.spinner-small{border-width:2px;width:20px;height:20px}@keyframes spinner-rotate{to{transform:rotate(360deg)}}.loading-container{justify-content:center;align-items:center;gap:var(--spacing-md);padding:var(--spacing-2xl);flex-direction:column;display:flex}.loading-text{color:var(--color-text-secondary);font-size:.95rem;font-weight:500}button:disabled{opacity:.6;cursor:not-allowed;pointer-events:none}button.loading{color:#0000;position:relative}button.loading:after{content:"";border:2px solid;border-top-color:#0000;border-radius:50%;width:16px;height:16px;margin-top:-8px;margin-left:-8px;animation:.6s linear infinite spinner-rotate;position:absolute;top:50%;left:50%}.empty-state{text-align:center;padding:var(--spacing-2xl) var(--spacing-xl);background:var(--color-ivory);border-radius:var(--radius-lg);border:2px dashed var(--color-border)}.empty-state-icon{width:64px;height:64px;margin:0 auto var(--spacing-lg);opacity:.3}.empty-state-title{font-family:var(--font-heading);color:var(--color-text-primary);margin-bottom:var(--spacing-sm);font-size:1.25rem;font-weight:600}.empty-state-description{color:var(--color-text-secondary);max-width:400px;margin:0 auto;font-size:.95rem;line-height:1.6}
