@import url("https://fonts.googleapis.com/css2?family=Crimson+Pro:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Source+Sans+3:wght@300;400;500;600;700&display=swap");:root{--color-cream:#f9fafb;--color-cream-dark:#eceff1;--color-ivory:#fff;--color-blue:#1e88e5;--color-blue-dark:#1565c0;--color-blue-light:#64b5f6;--color-yellow:#ffc107;--color-yellow-dark:#ffb300;--color-yellow-light:#ffd54f;--color-warm-beige:#ffccbc;--color-stone:#78909c;--color-stone-light:#b0bec5;--color-text-primary:#263238;--color-text-secondary:#546e7a;--color-text-muted:#78909c;--color-success:#43a047;--color-success-light:#e8f5e9;--color-warning:#ffc107;--color-warning-light:#fff8e1;--color-error:#e53935;--color-error-light:#ffebee;--color-info:#1e88e5;--color-info-light:#e3f2fd;--color-border:#e0e6ed;--color-border-light:#eceff1;--shadow-sm:0 1px 3px rgba(38,50,56,.08);--shadow-md:0 4px 12px rgba(38,50,56,.1);--shadow-lg:0 8px 30px rgba(38,50,56,.12);--shadow-xl:0 16px 50px rgba(38,50,56,.15);--font-heading:"Crimson Pro",Georgia,"Times New Roman",serif;--font-body:"Source Sans 3",-apple-system,BlinkMacSystemFont,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:16px;--radius-xl:24px}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);background:var(--color-cream);min-height:100vh;padding:var(--spacing-lg);line-height:1.6;background-image:radial-gradient(ellipse at 20% 30%,rgba(30,136,229,.03) 0,transparent 50%),radial-gradient(ellipse at 80% 70%,rgba(255,193,7,.03) 0,transparent 50%);background-attachment:fixed}body,h1,h2,h3,h4,h5,h6{color:var(--color-text-primary)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:600;letter-spacing:-.02em}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}a,a:hover{text-decoration:none}a:visited{color:inherit}.container{max-width:1200px;margin:0 auto;background:var(--color-ivory);border-radius:var(--radius-xl);border:1px solid var(--color-border);box-shadow:var(--shadow-lg);overflow:hidden}.header{background:linear-gradient(135deg,var(--color-blue) 0,var(--color-blue-dark) 100%);color:var(--color-text-primary);padding:var(--spacing-xl) var(--spacing-2xl);position:relative;display:flex;justify-content:space-between;align-items:center;background-image:linear-gradient(135deg,var(--color-blue) 0,var(--color-blue-dark) 100%),url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M30 0L30 60M0 30L60 30' stroke='%23ffffff' stroke-width='0.5' stroke-opacity='0.08' fill='none'/%3E%3C/svg%3E")}.header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--color-yellow) 0,var(--color-yellow-light) 50%,var(--color-yellow) 100%)}.header-text{text-align:left}.header h1{font-size:2.25rem;margin-bottom:var(--spacing-sm);font-weight:700;color:var(--color-text-primary);text-shadow:0 2px 4px rgba(0,0,0,.1);font-style:italic}.header p{font-size:1.05rem;opacity:.92;font-weight:400;letter-spacing:.02em}.header-buttons{display:flex;gap:var(--spacing-md);align-items:center}.logout-btn,.print-btn,.profile-btn{background:hsla(0,0%,100%,.15);color:var(--color-text-primary);border:1px solid hsla(0,0%,100%,.3);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);cursor:pointer;font-family:var(--font-body);font-size:.95rem;font-weight:600;transition:all .2s ease;white-space:nowrap;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.logout-btn:hover,.print-btn:hover,.profile-btn:hover{background:hsla(0,0%,100%,.25);transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.15)}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:var(--spacing-lg);gap:var(--spacing-lg);padding:var(--spacing-xl) var(--spacing-2xl);background:var(--color-cream-dark);border-bottom:1px solid var(--color-border)}.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 ease;position:relative;overflow:hidden}.summary-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--color-yellow)}.summary-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.summary-card h3{color:var(--color-text-secondary);font-family:var(--font-body);font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--spacing-sm);font-weight:600}.summary-card .amount{font-family:var(--font-heading);font-size:2.2rem;color:var(--color-text-primary);font-weight:700}.budget-section{padding:var(--spacing-xl) var(--spacing-2xl);background:var(--color-ivory)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:2px solid var(--color-border)}.section-header h2{color:var(--color-text-primary);font-size:1.6rem;font-weight:700}.section-total{font-family:var(--font-heading);font-size:1.35rem;color:var(--color-blue);font-weight:600}.budget-table{width:100%;border-collapse:collapse;margin-bottom:var(--spacing-xl);background:var(--color-ivory);border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--color-border)}.budget-table th{background:var(--color-cream-dark);text-align:left;font-family:var(--font-body);font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);border-bottom:2px solid var(--color-border)}.budget-table td,.budget-table th{padding:var(--spacing-md) var(--spacing-lg)}.budget-table td{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);font-size:.95rem;color:var(--color-text-primary);transition:all .2s ease}.budget-table input::placeholder{color:var(--color-text-muted)}.budget-table input:focus,.budget-table select:focus{outline:none;background:#fff;border-color:var(--color-blue);box-shadow:0 0 0 3px rgba(30,136,229,.12)}.budget-table select{cursor:pointer;appearance:none;-webkit-appearance:none;-moz-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-repeat:no-repeat;background-position:right 10px center;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)}.btn-primary{background:var(--color-blue);color:#fff;border:none;border-radius:6px;padding:10px 18px;font-family:var(--font-body);font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s ease}.btn-primary:hover{background:var(--color-blue-dark)}.btn-secondary{background:#fff;color:#374151;border:1px solid #d1d5db;border-radius:6px;padding:10px 18px;font-family:var(--font-body);font-size:.9rem;font-weight:500;cursor:pointer;transition:background .15s ease}.btn-secondary:hover{background:#f9fafb}.add-item-btn{background:var(--color-blue);color:#fff;border:none;border-radius:6px;padding:10px 20px;font-family:var(--font-body);font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s ease;display:inline-flex;align-items:center;gap:8px}.add-item-btn:hover{background:var(--color-blue-dark)}.delete-btn{background:transparent;color:var(--color-error);border:1px solid var(--color-error);padding:6px 14px;border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font-body);font-size:.85rem;font-weight:600;transition:all .2s ease}.delete-btn:hover{background:var(--color-error);color:var(--color-text-primary);transform:translateY(-1px)}.progress-bar-container{background:var(--color-cream-dark);border-radius:var(--radius-md);height:22px;margin-top:var(--spacing-sm);overflow:hidden;border:1px solid var(--color-border)}.progress-bar{height:100%;background:linear-gradient(90deg,var(--color-yellow) 0,var(--color-yellow-light) 100%);transition:width .4s ease;color:var(--color-text-primary);font-size:.8rem;font-weight:600}.login-container,.progress-bar{display:flex;align-items:center;justify-content:center}.login-container{min-height:100vh;padding:var(--spacing-lg)}.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:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:60px;height:4px;background:var(--color-blue);border-radius:0 0 var(--radius-sm) var(--radius-sm)}.login-box h1{font-family:var(--font-heading);color:var(--color-text-primary);margin-bottom:var(--spacing-xl);text-align:center;font-weight:700;font-size:2rem;font-style:italic}@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{display:block;margin-bottom:var(--spacing-sm);color:var(--color-text-primary);font-weight:500;font-size:.95rem}.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);font-size:1rem;color:var(--color-text-primary);transition:all .2s ease}.form-group input::placeholder{color:var(--color-text-muted)}.form-group input:focus,.form-group select:focus{outline:none;background:#fff;border-color:var(--color-blue);box-shadow:0 0 0 3px rgba(30,136,229,.12)}.form-group select{cursor:pointer;appearance:none;-webkit-appearance:none;-moz-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-repeat:no-repeat;background-position:right 14px center;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{width:100%;background:var(--color-blue);color:var(--color-text-primary);border:none;padding:16px;border-radius:var(--radius-md);cursor:pointer;font-family:var(--font-body);font-size:1.05rem;font-weight:600;transition:all .2s ease}.login-btn:hover{background:var(--color-blue-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.login-btn:disabled{background:var(--color-stone-light);cursor:not-allowed;transform:none;box-shadow: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 rgba(229,57,53,.3);font-size:.95rem}.divider{display:flex;align-items:center;text-align:center;margin:var(--spacing-xl) 0;color:var(--color-text-muted)}.divider:after,.divider:before{content:"";flex:1 1;border-bottom:1px solid var(--color-border)}.divider span{padding:0 var(--spacing-md);font-size:.85rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em}.department-selector{padding:var(--spacing-lg) var(--spacing-2xl);background:var(--color-cream-dark);border-bottom:1px solid var(--color-border);display:flex;align-items:center;gap:var(--spacing-md)}.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);font-size:1rem;min-width:200px;color:var(--color-text-primary);cursor:pointer;transition:all .2s ease;appearance:none;-webkit-appearance:none;-moz-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-repeat:no-repeat;background-position:right 12px center;background-size:18px;padding-right:40px}.department-selector select:hover{border-color:var(--color-stone)}.department-selector select:focus{outline:none;border-color:var(--color-blue);box-shadow:0 0 0 3px rgba(30,136,229,.12)}.department-selector select option{background:var(--color-ivory);color:var(--color-text-primary)}.admin-nav{display:flex;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}.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 ease}.nav-btn.active{background:var(--color-blue);border-color:var(--color-blue);color:var(--color-text-primary);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);font-weight:600;border-top:2px solid var(--color-blue)}.total-row td{padding:var(--spacing-lg) var(--spacing-lg);color:var(--color-text-primary);font-weight:700}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(61,54,48,.4);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--color-ivory);border-radius:var(--radius-xl);padding:var(--spacing-2xl);max-width:450px;width:90%;box-shadow:var(--shadow-xl);animation:slideUp .3s ease-out;border:1px solid var(--color-border)}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-content h3{font-family:var(--font-heading);color:var(--color-text-primary);font-size:1.5rem;font-weight:700;margin-bottom:var(--spacing-md)}.modal-content p{color:var(--color-text-secondary);font-size:1rem;line-height:1.6;margin-bottom:var(--spacing-xl)}.modal-buttons{display:flex;gap:var(--spacing-md);justify-content:flex-end}.modal-btn-cancel,.modal-btn-delete{padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--radius-md);font-family:var(--font-body);font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.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-text-primary)}.modal-btn-delete:hover{background:#b05a4c;transform:translateY(-1px);box-shadow:var(--shadow-md)}.form-label{display:block;margin-bottom:var(--spacing-sm);font-weight:600;font-size:.9rem;color:var(--color-text-primary);letter-spacing:.02em}.form-input{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;transition:all .2s ease;box-sizing:border-box}.form-input:focus{outline:none;background:#fff!important;border-color:var(--color-blue)!important;box-shadow:0 0 0 3px rgba(30,136,229,.12)}.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;-webkit-appearance:none!important;-moz-appearance:none!important;background:var(--color-ivory)!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-repeat:no-repeat!important;background-position:right 14px center!important;background-size:18px!important;padding-right:42px!important;border:1px solid var(--color-border)!important;color:var(--color-text-primary)!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{background:var(--color-ivory)!important;color:var(--color-text-primary)!important;padding:var(--spacing-sm)}textarea.form-input{font-family:var(--font-body);line-height:1.6;min-height:80px;resize:vertical}input[type=number].form-input::-webkit-inner-spin-button,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{flex-direction:column;gap:var(--spacing-lg);padding:var(--spacing-lg)}.header,.header-text{text-align:center}.header h1{font-size:1.75rem}.header p{font-size:.95rem}.header-buttons{width:100%;justify-content:center;flex-wrap:wrap}.logout-btn,.print-btn,.profile-btn{padding:var(--spacing-sm) var(--spacing-md);font-size:.9rem;flex:1 1;min-width:100px}.summary-cards{grid-template-columns:1fr;gap:var(--spacing-md)}.summary-card,.summary-cards{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{flex-direction:column;gap:var(--spacing-md);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{display:block;margin-bottom:var(--spacing-lg);background:var(--color-ivory);border-radius:var(--radius-md);padding:var(--spacing-md);border:1px solid var(--color-border)}.budget-table td{display:block;padding:var(--spacing-sm) 0;border:none;text-align:left!important}.budget-table td:before{content:attr(data-label);font-weight:600;display:block;margin-bottom:var(--spacing-xs);color:var(--color-text-secondary);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}.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{flex:1 1;padding:var(--spacing-sm) var(--spacing-md);font-size:.85rem;text-align:center}.login-container{padding:var(--spacing-md);align-items:flex-start;padding-top:10vh}.login-box{padding:var(--spacing-xl) var(--spacing-lg);max-width:100%;border-radius:var(--radius-lg)}.login-box:before{width:50px;height:3px}.login-box h1{font-size:1.75rem;margin-bottom:var(--spacing-lg)}.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%}.logout-btn,.print-btn,.profile-btn{width:100%;flex:none}.summary-card .amount{font-size:1.5rem}.section-header h2{font-size:1.15rem}.budget-table{font-size:.85rem}.nav-btn{font-size:.8rem;padding:var(--spacing-sm)}.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);align-items:flex-start;padding-top:var(--spacing-lg)}.modal-content{max-width:100%;max-height:90vh;overflow-y:auto;margin:0;border-radius:var(--radius-lg);padding:var(--spacing-xl)}.modal-content h3{font-size:1.25rem;top:0;padding-bottom:var(--spacing-md);margin-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border)}.modal-buttons,.modal-content h3{position:-webkit-sticky;position:sticky;background:var(--color-ivory)}.modal-buttons{flex-direction:column;gap:var(--spacing-sm);bottom:0;padding-top:var(--spacing-md);margin-top:var(--spacing-md);border-top:1px solid var(--color-border)}.modal-btn-cancel,.modal-btn-delete{width:100%;padding:var(--spacing-md)}}@media print{body{background:#fff;padding:0;margin:0}.add-item-btn,.admin-nav,.delete-btn,.department-selector,.header-buttons,.logout-btn,.modal-overlay,.print-btn,.profile-btn,.sidebar,.top-nav,aside,form,nav{display:none!important}.app-layout,.main-content-wrapper{display:block!important}.main-content-wrapper{margin-left:0!important}.content-area,.content-container{max-width:100%!important}.content-area,.content-container,main{margin:0!important;padding:20px!important}main{display:block!important}.container{max-width:100%;margin:0;padding:20px;box-shadow:none;border-radius:0;background:#fff;border:none}.header{background:#fff;color:var(--color-text-primary);padding:20px 0;margin-bottom:20px;border-bottom:3px solid var(--color-blue)}.header:after{display:none}.header h1{color:var(--color-text-primary);font-size:24pt;text-shadow:none}.header p{color:var(--color-text-secondary);font-size:12pt}.summary-cards{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:20px;gap:20px;margin-bottom:30px;background:#fff;page-break-inside:avoid;padding:20px 0}.summary-card{border:2px solid var(--color-blue);padding:15px;background:#fff;box-shadow:none}.summary-card:before{display:none}.summary-card h3{color:var(--color-text-secondary);font-size:10pt;margin-bottom:8px}.summary-card .amount{color:var(--color-text-primary);font-size:18pt}.budget-section{page-break-inside:auto;margin-bottom:40px;padding:0;background:#fff}.section-header{margin-bottom:15px;padding-bottom:10px;border-bottom:2px solid var(--color-blue);page-break-after:avoid}.section-header h2{color:var(--color-text-primary);font-size:16pt}.section-total{color:var(--color-blue);font-size:14pt}.budget-table{width:100%;border-collapse:collapse;margin-bottom:20px;background:#fff;border:2px solid var(--color-border);page-break-inside:auto}.budget-table thead{background:var(--color-cream);display:table-header-group}.budget-table th,.budget-table thead{border-bottom:2px solid var(--color-blue)}.budget-table th{padding:10px;text-align:left;font-weight:700;color:var(--color-text-primary);font-size:10pt}.budget-table tbody{display:table-row-group}.budget-table td{padding:8px 10px;border-bottom:1px solid var(--color-border);color:var(--color-text-primary);font-size:10pt}.budget-table input,.budget-table select{border:none;padding:0;background:transparent;color:var(--color-text-primary);font-size:10pt;width:auto}.budget-table .amount-cell{text-align:right;font-weight:500}.total-row{background:var(--color-cream);font-weight:700;border-top:2px solid var(--color-blue)}.total-row td{padding:12px 10px;color:var(--color-text-primary);font-size:11pt;border-bottom:none}.budget-table td:last-child,.budget-table th: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{width:48px;height:48px;border:4px solid var(--color-border);border-top-color:var(--color-blue);border-radius:50%;animation:spinner-rotate .8s linear infinite;margin:0 auto}.spinner-small{width:20px;height:20px;border-width:2px}@keyframes spinner-rotate{to{transform:rotate(1turn)}}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);padding:var(--spacing-2xl)}.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{position:relative;color:transparent}button.loading:after{content:"";position:absolute;width:16px;height:16px;top:50%;left:50%;margin-left:-8px;margin-top:-8px;border:2px solid;border-top:2px solid transparent;border-radius:50%;animation:spinner-rotate .6s linear infinite}.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);font-size:1.25rem;font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.empty-state-description{color:var(--color-text-secondary);font-size:.95rem;line-height:1.6;max-width:400px;margin:0 auto}