:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body{overflow-x:hidden;max-width:100%}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh;width:100%}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.login-container{display:flex;height:100vh;font-family:Segoe UI,sans-serif}.login-left{flex:1;background:linear-gradient(180deg,#5e1f77,#8b6dbd);color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:2rem;text-align:center}.login-logo{width:360px;height:auto;margin-bottom:1.25rem;filter:drop-shadow(0 0 12px rgba(255,255,255,.9));animation:pulse-logo 4s ease-in-out infinite}@keyframes pulse-logo{0%,to{transform:scale(1);filter:drop-shadow(0 0 10px rgba(255,255,255,.5))}50%{transform:scale(1.03);filter:drop-shadow(0 0 14px rgba(255,255,255,.8))}}.form-title,.welcome-title{font-size:2.2rem;font-weight:800;background:linear-gradient(to right,#197f7c,#393b75,#561b6f);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-top:0;margin-bottom:.75rem;position:relative;text-shadow:1 1 2px #000,1.8px 1.8px 2px #000}.highlight{color:#f5d0ff}.welcome-text{color:#f0eaff;font-size:1.05rem;max-width:420px;line-height:1.5;margin-top:.75rem;text-shadow:0 0 1px #000,.8px .8px 1px #000}.login-right{flex:1;background-color:#f3e8ff;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:2rem;border-left:1px solid #ddd}.login-form{width:100%;max-width:320px;display:flex;flex-direction:column;gap:1rem}.form-input{padding:.75rem;border:1px solid #ccc;border-radius:8px;font-size:14px;outline:none}.form-input:focus{border-color:#7b2cbf;box-shadow:0 0 4px #c8a2ff}.password-container{display:flex;position:relative;width:100%}.password-container .form-input{flex:1}.show-password-button{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;color:#7b2cbf;cursor:pointer;font-size:.875rem}.form-button{padding:.75rem;background-color:#7b2cbf;color:#fff;border:none;border-radius:10px;cursor:pointer;font-size:15px;font-weight:600;width:100%;transition:background .3s ease,transform .2s ease}.form-button:hover{background-color:#5a189a;transform:translateY(-1px);box-shadow:0 4px 10px #7a1cbe33}.switch-button{background-color:transparent;color:#7b2cbf;border:2px solid #7B2CBF;padding:10px 15px;font-size:16px;cursor:pointer;border-radius:5px;transition:.3s ease;margin-bottom:1rem}.switch-button:hover{background-color:#7b2cbf;color:#fff}.form-footer{margin-top:1rem;display:flex;justify-content:space-between;width:100%;max-width:320px;font-size:.9rem}.form-link{color:#5e1f77;text-decoration:none}.form-link:hover{text-decoration:underline}.remember-me{display:flex;align-items:center;gap:8px;font-size:.875rem}.error-text{color:#d32f2f;font-size:.8rem}.button-group{display:flex;flex-direction:column;gap:12px;width:100%;max-width:320px;margin-top:1rem}.remember-me label{color:#000!important}.login-container{display:flex;height:100vh;width:100vw}.login-left,.login-right{flex:1;padding:2rem}.login-left{background-color:#f5f5f5;display:flex;flex-direction:column;justify-content:center;align-items:center}.login-right{display:flex;flex-direction:column;justify-content:center}.auth-page-container{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100vh;background:#f7f7f7}.auth-title{font-size:24px;margin-bottom:1rem;color:#333;font-weight:700}.auth-description{font-size:14px;color:#555;margin-bottom:1rem;text-align:center}.auth-form{display:flex;flex-direction:column;gap:.75rem;width:300px}.auth-input{padding:.75rem;border:1px solid #ccc;border-radius:5px;font-size:14px}.auth-button{padding:.75rem;background-color:#0077b6;color:#fff;border:none;border-radius:5px;cursor:pointer;font-weight:700;font-size:14px}.auth-link{margin-top:1rem;font-size:14px;color:#0077b6}.auth-link a{color:#0077b6;text-decoration:none;font-weight:700}.auth-link a:hover{text-decoration:underline}.auth-page-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;width:100vw;padding:0 2rem;background-color:#f5f5f5;overflow:hidden}.auth-title,.auth-description,.auth-link,.auth-link a,.auth-form label,.auth-form p{color:#000!important}.auth-form{background-color:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 8px #0000001a;width:100%;max-width:400px;display:flex;flex-direction:column}.auth-link{margin-top:1rem}.update-password-container{display:flex;align-items:center;justify-content:center;min-height:100vh;width:100vw;padding:2rem;background-color:#f5f5f5;overflow:hidden}.update-password-wrapper{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:400px;width:100%;background-color:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 8px #0000001a}.auth-form{width:100%;display:flex;flex-direction:column}.update-password-form{background-color:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 8px #0000001a;max-width:400px;width:100%;display:flex;flex-direction:column}.update-password-form h2,.update-password-form p,.update-password-form label{color:#000}.auth-input{padding:.75rem;margin-bottom:1rem;border:1px solid #ccc;border-radius:4px}.auth-button{padding:.75rem;background-color:#0077b6;color:#fff;border:none;border-radius:4px;cursor:pointer}.auth-button:hover{background-color:#005f8a}.success-message{color:green}.error-message{color:red;margin-top:.5rem}.dashboard-container{display:flex;min-height:100vh;width:100vw;overflow-x:hidden;background:linear-gradient(135deg,#e0b3ff,#d1a1ff,#c18fff)}.dashboard-content h1,.dashboard-content h2,.dashboard-content h3,.dashboard-content h4,.dashboard-content p,.dashboard-content span,.dashboard-content a,.dashboard-content label,.dashboard-content button:not(.export-button):not(.grant-title){color:#333}.dashboard-content .section-heading,.grants-table th,.export-button{color:#fff}.sidebar{background:linear-gradient(180deg,#5e1f77,#8b6dbd);color:#fff;padding:20px;width:220px;flex:0 0 auto;display:flex;flex-direction:column;justify-content:space-between;box-shadow:2px 0 10px #0000001a}.sidebar-logo-container{width:100%;text-align:left;margin-bottom:30px}.sidebar-logo{max-width:200px;filter:drop-shadow(0 0 8px rgba(255,255,255,.6));margin-bottom:30px}.sidebar-menu{list-style:none;padding-left:0;margin:0;text-align:left}.sidebar-menu li{margin-bottom:20px;text-align:left;-webkit-user-select:none;user-select:none}.sidebar-menu li a{justify-content:flex-start;display:flex;align-items:center;gap:8px;padding:12px 16px;color:#fff;font-size:16px;text-decoration:none;border-radius:10px;font-weight:700;transition:background .3s ease}.sidebar-link{width:100%;color:#fff}.sidebar-menu li a:hover{background-color:#fff3;text-decoration:underline}.logout-button{margin-top:auto;background:#ff4b5c;color:#fff;border:none;padding:12px 16px;font-size:16px;cursor:pointer;border-radius:5px;width:100%;transition:background .2s ease}.logout-button:hover{background:#8b0000}.dashboard-content{flex:1;padding:20px;background:#fff;border-radius:12px;box-shadow:0 10px 20px #8a2be21a;overflow-x:hidden;margin:0}.dashboard-content h2,.dashboard-content h3{color:#333;margin-bottom:15px}.dashboard-content h2.section-heading,.dashboard-content h3.section-heading{background-color:#7b2cbf;color:#fff;padding:8px 12px;border-radius:4px;display:inline-block}.dashboard-title{font-size:22px;font-weight:700;margin-bottom:15px}.summary-box{background:#8a2be2;color:#fff;padding:15px;border-radius:5px;font-size:16px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center;max-width:500px}.filter-container{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap}.filter-input{padding:8px;border:1px solid #ccc;border-radius:5px;font-size:14px}.grants-table{width:100%;border-collapse:collapse;background:#fff;border-radius:5px;overflow:hidden}.grants-table th{background:#7b2cbf;color:#fff;padding:10px;text-align:left;font-weight:700}.grants-table td{padding:10px;border-bottom:1px solid #ddd;color:#333}.grants-table tr:hover{background-color:#f1f1f1}.no-results{text-align:center;font-weight:700;color:#666;padding:15px}.export-button-row{display:flex;flex-direction:row;flex-wrap:nowrap;gap:10px;margin:20px 0;align-items:center;width:100%}.export-button,.print-pdf-button,.add-grant-button{background-color:#7b2cbf;color:#fff!important;border:none;border-radius:6px;padding:10px 16px;font-weight:700;cursor:pointer;transition:all .3s ease;white-space:nowrap;flex-shrink:0;margin-right:12px;margin-bottom:10px;display:inline-block}.add-grant-button{order:1}.print-pdf-button{order:2;background-color:#8a2be2}.export-button{order:3;background-color:#8a2be2}.export-button.pdf,.export-button.excel{background-color:#8a2be2}.export-button:hover,.print-pdf-button:hover,.add-grant-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #8a2be24d;filter:brightness(1.05)}.grant-title{color:#7b2cbf;cursor:pointer;background:none;border:none;padding:0;text-decoration:underline;font-weight:500}.table-wrapper{overflow-x:auto}.notes-indicator{display:inline-block;font-size:1.2rem;color:#7b2cbf;cursor:pointer;transition:transform .2s ease}.notes-indicator:hover{transform:scale(1.2)}.grants-table th:last-child,.grants-table td:last-child{width:60px;text-align:center}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;justify-content:center;align-items:center;opacity:1;transition:opacity .3s ease-in-out;z-index:1000}.modal-content{background:#fff;padding:20px;width:500px;max-height:85vh;border-radius:10px;box-shadow:0 2px 10px #0000004d;position:relative;overflow-y:auto;transition:all .3s ease-in-out;transform:scale(1);opacity:1;scroll-behavior:smooth}.modal-overlay.closing{opacity:0}.modal-content.closing{transform:scale(.95);opacity:0}.modal-content.fullscreen{width:90vw;height:90vh;max-height:none;max-width:none}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.close-button{background:none;border:none;font-size:20px;cursor:pointer}.fullscreen-button{background:#8a2be2;color:#fff;border:none;padding:8px 12px;border-radius:5px;font-weight:700;cursor:pointer}.apply-button{background:#8a2be2;color:#fff;border:none;padding:10px 20px;border-radius:5px;font-weight:700;cursor:pointer;margin-bottom:15px;transition:all .3s ease}.apply-button:hover{background:#6a0dad}.apply-button:disabled{background:#ccc;color:#666;cursor:not-allowed}.grant-title{background:none;border:none;color:#8a2be2;cursor:pointer;font-weight:700;text-decoration:underline}.grant-title:hover{color:#6a0dad}.notes-textarea{width:100%;height:80px;border:1px solid #ccc;border-radius:5px;padding:10px;font-size:14px;resize:vertical}.category-dropdown{width:100%;padding:8px;border:1px solid #ccc;border-radius:5px;font-size:14px}.modal-header{display:flex;justify-content:space-between;align-items:center;width:100%;margin-bottom:10px}.fullscreen-button{background:#8a2be2;color:#fff;border:none;padding:8px 12px;border-radius:5px;font-weight:700;cursor:pointer;margin-left:auto}.fullscreen-button:hover{background:#6a0dad}#notes-section{scroll-margin-top:20px}.grant-form{display:flex;flex-direction:column;gap:15px}.grant-form label{display:flex;flex-direction:column;gap:5px;font-weight:500}.grant-form input,.grant-form select,.grant-form textarea{padding:8px 12px;border:1px solid #ccc;border-radius:4px;font-size:14px}.grant-form textarea{resize:vertical;min-height:60px}.grant-form .checkbox-label{flex-direction:row;align-items:center;gap:10px}.grant-form .checkbox-label input{margin:0;width:auto}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.form-button{background:#8a2be2;color:#fff;border:none;padding:10px 20px;border-radius:5px;font-weight:700;cursor:pointer}.form-button:hover{background:#6a0dad}.form-button:disabled{background:#ccc;cursor:not-allowed}.form-button.cancel{background:#777}.form-button.cancel:hover{background:#555}.form-button.delete{background:#e74c3c}.form-button.delete:hover{background:#c0392b}.error-message{background-color:#ffebee;color:#c62828;padding:10px;border-radius:4px;margin-bottom:15px;border-left:4px solid #c62828}.action-buttons{display:flex;gap:10px}.edit-button,.delete-button{background:none;border:none;cursor:pointer;font-size:16px;padding:5px;border-radius:3px;transition:background-color .3s}.edit-button:hover{background-color:#0000000d}.delete-button:hover{background-color:#e74c3c1a}.grant-title{background:none;border:none;color:#8a2be2;font-weight:500;cursor:pointer;text-align:left;padding:0;text-decoration:none}.grant-title:hover{text-decoration:underline}.notes-indicator{cursor:pointer;font-size:18px}.notes-indicator:hover{transform:scale(1.1)}.settings-container{padding:2rem}.settings-table{width:100%;border-collapse:collapse;margin-top:1rem}.settings-table th,.settings-table td{border:1px solid #ccc;padding:10px;text-align:left;color:#000}
