:root{--purple-50: #f5f7f3;--purple-100: #e8ede8;--purple-200: #d9e5d6;--purple-300: #c1d3bb;--purple-400: #b0c4a0;--purple-500: #a3b18a;--purple-600: #8d9b77;--purple-700: #788566;--purple-800: #5d6b52;--purple-900: #4a5341;--indigo-400: #b0a3aa;--indigo-500: #9b8a97;--indigo-600: #7d7080;--blue-500: #3b82f6;--blue-600: #2563eb;--green-500: #10b981;--green-600: #059669;--orange-500: #f97316;--orange-600: #ea580c;--red-500: #ef4444;--red-600: #dc2626;--amber-500: #f59e0b;--amber-600: #d97706;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--glass-bg-light: rgba(255, 255, 255, .7);--glass-bg-dark: rgba(17, 24, 39, .7);--glass-border-light: rgba(255, 255, 255, .6);--glass-border-dark: rgba(255, 255, 255, .1);--transition-smooth: all .2s cubic-bezier(.4, 0, .2, 1);--transition-bounce: all .3s cubic-bezier(.34, 1.56, .64, 1);--space-0: 0;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-2xl: 16px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .07), 0 2px 4px -1px rgba(0, 0, 0, .04);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -2px rgba(0, 0, 0, .04);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .08), 0 10px 10px -5px rgba(0, 0, 0, .03);--ring-offset: 2px;--ring-width: 2px;--ring-color: rgba(163, 177, 138, .5)}html,body,#root{width:100%;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--gray-50);color:var(--gray-900)}.gradient-primary{background:linear-gradient(135deg,var(--purple-400) 0%,var(--purple-500) 100%);transition:background var(--transition-smooth)}.gradient-primary:hover{background:linear-gradient(135deg,var(--purple-500) 0%,var(--purple-600) 100%)}.gradient-text{background:linear-gradient(135deg,var(--purple-400) 0%,var(--purple-500) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.glass-card{background:var(--glass-bg-light);border:1px solid var(--glass-border-light);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:var(--shadow-sm);transition:all var(--transition-smooth);transform:translateZ(0);-webkit-transform:translateZ(0);border-radius:var(--radius-lg)}.glass-card:hover{box-shadow:0 0 0 2px var(--ring-color),0 12px 36px #9333ea26,0 4px 12px #9333ea1a;border-color:var(--purple-400);transform:translateY(-2px)}.btn-base{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);font-size:14px;font-weight:600;border:none;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-smooth);outline:none}.btn-primary{background:linear-gradient(135deg,var(--purple-400) 0%,var(--purple-500) 100%);color:#fff}.btn-primary:hover{background:linear-gradient(135deg,var(--purple-500) 0%,var(--purple-600) 100%);box-shadow:0 0 0 2px var(--ring-color),var(--shadow-lg)}.btn-secondary{background:var(--gray-100);color:var(--gray-700);border:1px solid var(--gray-300)}.btn-secondary:hover{background:var(--gray-200);border-color:var(--gray-400)}.table-glass{background:var(--glass-bg-light);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border-light);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.table-glass thead{background:linear-gradient(135deg,var(--purple-400) 0%,var(--purple-500) 100%);color:#000;font-weight:600}.table-glass tbody tr{border-bottom:1px solid var(--gray-200);transition:all var(--transition-smooth)}.table-glass tbody tr:hover{background-color:#9333ea0d;box-shadow:inset 0 0 10px #9333ea0d}.table-glass tbody tr:last-child{border-bottom:none}.badge{display:inline-block;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:12px;font-weight:600;transition:all var(--transition-smooth)}.badge-green{background-color:#10b98126;color:var(--green-600);border:1px solid rgba(16,185,129,.3)}.badge-red{background-color:#ef444426;color:var(--red-600);border:1px solid rgba(239,68,68,.3)}.badge-blue{background-color:#3b82f626;color:var(--blue-600);border:1px solid rgba(59,130,246,.3)}.badge-purple{background-color:#a855f726;color:var(--purple-600);border:1px solid rgba(168,85,247,.3)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--gray-100)}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--purple-400) 0%,var(--purple-500) 100%);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,var(--purple-500) 0%,var(--purple-600) 100%)}.smooth-transition{transition:all var(--transition-smooth)}.bounce-transition{transition:all var(--transition-bounce)}.text-gradient{background:linear-gradient(135deg,var(--purple-600) 0%,var(--indigo-500) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}@media(max-width:768px){.detail-table thead{display:none}.detail-table tbody tr{display:block;margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;border:1px solid var(--gray-200)}.detail-table td{display:grid;grid-template-columns:100px 1fr;gap:var(--space-3);align-items:center;padding:var(--space-2) 0;border:none;border-bottom:1px solid var(--gray-100)}.detail-table td:last-child{border-bottom:none}.detail-table td:before{content:attr(data-label);font-weight:600;color:var(--gray-700);font-size:13px;text-transform:uppercase;letter-spacing:.5px}.files-list{display:flex;flex-direction:column;gap:var(--space-3)}.file-item{display:flex;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:#fff;border-radius:8px;border:1px solid var(--gray-200);box-shadow:0 2px 8px #00000014}.file-icon{font-size:24px;flex-shrink:0}.file-info{flex:1;min-width:0}.file-name{font-weight:600;margin-bottom:var(--space-1)}.file-type,.file-date,.file-link{font-size:13px;color:var(--gray-600)}.file-link{color:var(--purple-500)}}@media(max-width:768px){.form-group{margin-bottom:var(--space-4)}.form-group label{font-size:14px;font-weight:600;margin-bottom:var(--space-2);display:block}.form-group input,.form-group select,.form-group textarea{width:100%;padding:var(--space-3) var(--space-3);font-size:16px;border:1px solid var(--gray-300);border-radius:6px;transition:border-color .2s,box-shadow .2s;-webkit-appearance:none;appearance:none}.form-group select{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='currentColor'%3e%3cpath d='M6 9l6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right var(--space-2) center;background-size:20px;padding-right:var(--space-8)}.form-group textarea{resize:vertical;min-height:100px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--purple-500);box-shadow:0 0 0 3px #9370db1a}.form-section{margin-bottom:var(--space-6)}.form-section h3{margin-bottom:var(--space-4);font-size:16px;font-weight:600;color:var(--gray-900)}.form-section>div[style*="display: grid"]{grid-template-columns:1fr!important}.form-actions{display:flex;gap:var(--space-3);flex-direction:column}.form-actions button{width:100%;min-height:48px;padding:var(--space-3) var(--space-4);font-size:16px;font-weight:600;border-radius:6px;border:none;cursor:pointer;transition:all .2s;-webkit-tap-highlight-color:transparent}.btn-primary{background:linear-gradient(135deg,var(--purple-500) 0%,var(--indigo-500) 100%);color:#fff}.btn-primary:active:not(:disabled){opacity:.9}.btn-secondary{background:var(--gray-200);color:var(--gray-800)}.btn-secondary:active:not(:disabled){background:var(--gray-300)}}@media(max-width:768px){.tabs-container{display:flex;gap:0;margin-bottom:var(--space-4);border-bottom:2px solid var(--gray-200);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.tabs-container::-webkit-scrollbar{display:none}.tab-button{padding:var(--space-3) var(--space-4);min-width:120px;white-space:nowrap;border:none;background:transparent;color:var(--gray-600);font-size:14px;font-weight:600;cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;transition:all .2s;-webkit-tap-highlight-color:transparent}.tab-button.active{color:var(--purple-500);border-bottom-color:var(--purple-500)}.tab-button:active{opacity:.8}}@media(max-width:768px){.drawer-container{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-end}.drawer-overlay{position:fixed;inset:0;background:#00000080;z-index:-1}.drawer-content{background:#fff;width:100%;max-height:90vh;border-radius:12px 12px 0 0;box-shadow:0 -2px 10px #00000026;overflow-y:auto;-webkit-overflow-scrolling:touch}.drawer-header{padding:var(--space-4) var(--space-4) var(--space-3);border-bottom:1px solid var(--gray-200);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:#fff;z-index:10}.drawer-close-btn{background:none;border:none;font-size:24px;cursor:pointer;padding:var(--space-2);min-width:44px;min-height:44px;-webkit-tap-highlight-color:transparent}}@media(max-width:768px){.info-grid{display:grid;grid-template-columns:1fr;gap:var(--space-3)}.info-item{padding:var(--space-3);background:#fff;border-radius:6px;border:1px solid var(--gray-200)}.info-item label{font-size:12px;font-weight:600;color:var(--gray-600);text-transform:uppercase;letter-spacing:.5px;display:block;margin-bottom:var(--space-1)}.info-item value{font-size:15px;color:var(--gray-900);font-weight:500;display:block}}@media(max-width:768px){button{min-height:44px;padding:var(--space-2) var(--space-4);font-size:15px}button:disabled{opacity:.6;cursor:not-allowed}}@media(max-width:768px){.search-bar{display:flex;gap:var(--space-2);margin-bottom:var(--space-4)}.search-bar input{flex:1;padding:var(--space-3) var(--space-3);border:1px solid var(--gray-300);border-radius:6px;font-size:16px;-webkit-appearance:none;appearance:none}.search-bar button{padding:var(--space-3) var(--space-4);border:none;background:var(--purple-500);color:#fff;border-radius:6px;font-weight:600;cursor:pointer;min-height:44px}}@media(max-width:768px){.sponsorship-section,.donation-section{margin-bottom:var(--space-5)}.sponsorship-section h3,.donation-section h3{font-size:16px;font-weight:600;margin-bottom:var(--space-3)}.answers-list,.detail-table{display:flex;flex-direction:column;gap:var(--space-3)}.answer-item{padding:var(--space-3) var(--space-4);background:#fff;border-radius:6px;border:1px solid var(--gray-200)}}@media(max-width:768px){.page-title{font-size:20px;margin-bottom:var(--space-3)}.section-title{font-size:16px;margin-bottom:var(--space-3)}p{font-size:14px;line-height:1.6}}.mobile-only{display:none}.desktop-only{display:block}@media(max-width:768px){.mobile-only{display:block}.desktop-only{display:none}.hide-mobile{display:none!important}.full-width-mobile{width:100%}}@media(max-width:480px){.detail-section,.form-section{padding:var(--space-3);margin-bottom:var(--space-3)}.detail-table td{grid-template-columns:80px 1fr;gap:var(--space-2)}.info-item{padding:var(--space-2)}.form-group{margin-bottom:var(--space-3)}}@supports (padding: max(0px)){body{padding-left:max(0px,env(safe-area-inset-left));padding-right:max(0px,env(safe-area-inset-right))}.mobile-header{padding-left:max(var(--space-3),env(safe-area-inset-left));padding-right:max(var(--space-3),env(safe-area-inset-right))}}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color:var(--gray-900);background-color:var(--gray-50);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body,#root{width:100%;height:100%;margin:0;padding:0}a{font-weight:500;color:#667eea;text-decoration:inherit}a:hover{color:#764ba2}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;cursor:pointer;transition:all .3s ease}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8f9fa;-webkit-user-select:none;user-select:none}.app-container{display:flex;height:100vh;width:100%;overflow:hidden}.main-content{flex:1;overflow-y:auto;overflow-x:hidden;background-color:#f8f9fa;-webkit-overflow-scrolling:touch}.student-main-wrapper{flex:1;display:flex;flex-direction:column;overflow:hidden}.mobile-header{display:none;align-items:center;justify-content:space-between;gap:var(--space-3);padding:max(var(--space-3),safe-area-inset-top) var(--space-4) var(--space-3) var(--space-4);background:linear-gradient(135deg,var(--purple-500) 0%,var(--indigo-500) 100%);color:#fff;flex-shrink:0;position:relative;z-index:100;box-shadow:0 2px 4px #0000001a}.hamburger-btn{background:none;border:none;color:#fff;font-size:24px;cursor:pointer;padding:var(--space-2) var(--space-3);min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;line-height:1;-webkit-tap-highlight-color:transparent;transition:opacity .2s}.hamburger-btn:active{opacity:.8}.mobile-title{font-size:16px;font-weight:600;flex:1;text-align:center}.sidebar-backdrop{display:none;position:fixed;inset:0;background:#00000080;z-index:99;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sidebar-backdrop.visible{display:block}@media(max-width:1024px){.main-content{overflow-y:auto;padding:var(--space-4)}}@media(max-width:768px){.mobile-header{display:flex}.main-content{padding:var(--space-3);overflow-y:auto}.app-container,body.sidebar-open{overflow:hidden}}@media(max-width:480px){.main-content{padding:var(--space-2)}.mobile-header{padding:var(--space-2) var(--space-3);height:52px}.mobile-title{font-size:15px}}.main-content::-webkit-scrollbar{width:8px}.main-content::-webkit-scrollbar-track{background:transparent}.main-content::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.main-content::-webkit-scrollbar-thumb:hover{background:#999}.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,var(--purple-500) 0%,var(--indigo-500) 100%);padding:var(--space-4);-webkit-user-select:none;user-select:none}.login-card{background:#fff;border-radius:12px;box-shadow:0 20px 60px #00000026;width:100%;max-width:400px;padding:var(--space-6)}.login-header{text-align:center;margin-bottom:var(--space-8)}.login-header h1{font-size:28px;font-weight:700;color:var(--gray-900);margin:0 0 var(--space-2) 0}.login-header p{font-size:14px;color:var(--gray-600);margin:0}.user-type-tabs{display:flex;gap:var(--space-3);margin-bottom:var(--space-8);border-bottom:2px solid var(--gray-200)}.tab-button{flex:1;padding:var(--space-4) var(--space-4);min-height:48px;background:transparent;border:none;border-bottom:3px solid transparent;margin-bottom:-3px;font-weight:600;font-size:15px;color:var(--gray-600);cursor:pointer;transition:color .2s,border-color .2s;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.tab-button:hover:not(:disabled){color:var(--purple-500)}.tab-button:active:not(:disabled){opacity:.8}.tab-button.active{color:var(--purple-500);border-bottom-color:var(--purple-500)}.tab-button:disabled{cursor:not-allowed;opacity:.6}.login-form{display:flex;flex-direction:column;gap:var(--space-6)}.form-group label{font-weight:600;color:var(--gray-700);font-size:15px}.form-group input{padding:var(--space-3) var(--space-4);border:1px solid var(--gray-300);border-radius:8px;font-size:16px;transition:border-color .2s,box-shadow .2s;-webkit-appearance:none;appearance:none}.form-group input:focus{outline:none;border-color:var(--purple-500);box-shadow:0 0 0 3px #9370db1a}.form-group input:disabled{background-color:var(--gray-100);cursor:not-allowed}.password-group{gap:var(--space-2)}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper input{flex:1;padding-right:var(--space-12)}.password-toggle{position:absolute;right:var(--space-3);background:none;border:none;cursor:pointer;font-size:18px;padding:var(--space-2) var(--space-3);min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;color:var(--gray-600);transition:color .2s}.password-toggle:disabled{opacity:.6;cursor:not-allowed}.password-toggle:active:not(:disabled){color:var(--purple-500)}.error-message{background-color:#fee2e2;border:1px solid #fecaca;color:#991b1b;padding:var(--space-3) var(--space-4);border-radius:6px;font-size:14px}.login-button{padding:var(--space-4) var(--space-4);min-height:48px;background:linear-gradient(135deg,var(--purple-500) 0%,var(--indigo-500) 100%);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:16px;cursor:pointer;transition:transform .2s,box-shadow .2s,opacity .2s;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #9370db4d}.login-button:active:not(:disabled){transform:translateY(0);opacity:.9}.login-button:disabled{opacity:.6;cursor:not-allowed}@media(max-width:480px){.login-card{padding:var(--space-5);border-radius:8px}.login-header h1{font-size:24px}.login-header p{font-size:13px}.login-form{gap:var(--space-5)}.form-group{gap:var(--space-2)}.user-type-tabs{gap:var(--space-2);margin-bottom:var(--space-6)}.tab-button{font-size:14px;padding:var(--space-3) var(--space-3)}.error-message{font-size:13px;padding:var(--space-2) var(--space-3)}}@media(max-width:360px){.login-card{padding:var(--space-4)}.login-header h1{font-size:22px}.form-group label{font-size:14px}.form-group input{font-size:16px;padding:var(--space-2) var(--space-3)}.tab-button{padding:var(--space-2) var(--space-2);min-height:44px}.login-button{min-height:44px;padding:var(--space-3) var(--space-3)}}.sidebar{width:250px;background:linear-gradient(135deg,var(--purple-700) 0%,var(--purple-800) 100%);color:#fff;padding:0;height:100vh;flex-shrink:0;box-shadow:var(--shadow-lg);overflow-y:auto;display:flex;flex-direction:column}.sidebar-header{padding:var(--space-8) var(--space-5);border-bottom:1px solid rgba(255,255,255,.1);text-align:center}.sidebar-header h1{margin:0;font-size:24px;font-weight:600;color:#fff}.sidebar-nav{padding:var(--space-3) 0;display:flex;flex-direction:column;gap:var(--space-1);flex:1;overflow-y:auto}.nav-item{background:none;border:none;color:#fff;padding:var(--space-2) var(--space-3);font-size:13px;cursor:pointer;display:flex;align-items:center;gap:var(--space-2);transition:var(--transition-smooth);margin:0 var(--space-1);border-radius:var(--radius-lg);white-space:nowrap}.nav-item:hover{background-color:#ffffff26;transform:translate(5px)}.nav-item.active{background-color:#fff3;font-weight:600;border-left:4px solid #fff;padding-left:16px}.nav-item .icon{font-size:16px;min-width:16px}.nav-item .text{font-size:13px}.nav-divider{height:1px;background:#fff3;margin:var(--space-3) var(--space-2)}.nav-section-label{background:none;border:none;padding:var(--space-2) var(--space-3);font-size:11px;font-weight:600;color:#fff9;text-transform:uppercase;letter-spacing:.4px;margin-top:var(--space-2);display:flex;align-items:center;gap:var(--space-1);cursor:pointer;transition:color var(--transition-smooth);width:100%;text-align:left}.nav-section-label:hover{color:#ffffffd9}.nav-section-label .chevron{display:inline-block;font-size:16px;transition:transform var(--transition-smooth);transform:rotate(0)}.nav-section-label .chevron.open{transform:rotate(90deg)}.sidebar-user{margin:var(--space-3) 0 0 0;font-size:12px;opacity:.8;word-break:break-all}.sidebar-footer{padding:var(--space-4) var(--space-2);display:flex;flex-direction:column;gap:var(--space-3);margin-top:auto;flex-shrink:0}.user-profile{background:#ffffff1a;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.2);width:100%;text-align:left;color:#fff}.user-name{margin:0 0 var(--space-1) 0;font-size:14px;font-weight:600;color:#fff;word-break:break-word}.user-email{margin:0 0 var(--space-2) 0;font-size:11px;color:#fff;opacity:.8;word-break:break-all}.user-type{margin:0;font-size:12px;color:#fff;opacity:.85}.logout-button{width:100%;background:#ffffff26;border:none;color:#fff;padding:var(--space-4) var(--space-5);font-size:14px;cursor:pointer;display:flex;align-items:center;gap:var(--space-4);border-radius:var(--radius-lg);transition:var(--transition-smooth)}.logout-button:hover{background-color:#ffffff40;transform:translate(-5px)}.logout-button .icon{font-size:16px}.logout-button .text{font-size:14px}@media(max-width:768px){.sidebar{position:fixed;top:0;left:0;height:100%;z-index:1000;transform:translate(-100%);transition:transform .25s ease;pointer-events:none}.sidebar.sidebar-open,.sidebar:hover{transform:translate(0);pointer-events:auto}}.student-sidebar{width:250px;background:linear-gradient(135deg,#90cce5,#7ab5d1);color:#fff;padding:0;height:100vh;flex-shrink:0;box-shadow:var(--shadow-lg);overflow-y:auto}.student-sidebar .sidebar-header{padding:var(--space-8) var(--space-5);border-bottom:1px solid rgba(255,255,255,.1);text-align:center}.student-sidebar .sidebar-header h1{margin:0;font-size:24px;font-weight:600;color:#fff}.student-sidebar .sidebar-nav{padding:var(--space-5) 0;display:flex;flex-direction:column;gap:var(--space-2)}.student-sidebar .nav-item{background:none;border:none;color:#fff;padding:var(--space-4) var(--space-5);font-size:16px;cursor:pointer;display:flex;align-items:center;gap:var(--space-4);transition:var(--transition-smooth);margin:0 var(--space-2);border-radius:var(--radius-lg);white-space:nowrap}.student-sidebar .nav-item:hover{background-color:#ffffff26;transform:translate(5px)}.student-sidebar .nav-item.active{background-color:#fff3;font-weight:600;border-left:4px solid #fff;padding-left:16px}.student-sidebar .nav-item .icon{font-size:20px}.student-sidebar .nav-item .text{font-size:14px}.student-sidebar .sidebar-user{margin:var(--space-3) 0 0 0;font-size:12px;opacity:.8;word-break:break-all}.student-sidebar .sidebar-footer{position:absolute;bottom:var(--space-4);left:0;right:0;padding:0 var(--space-2);display:flex;flex-direction:column;gap:var(--space-3)}.student-sidebar .user-profile{background:#ffffff1a;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.2);width:100%;text-align:left;color:#fff}.student-sidebar .user-profile.clickable{cursor:pointer;transition:var(--transition-smooth)}.student-sidebar .user-profile.clickable:hover{background:#fff3;border-color:#ffffff4d;transform:translateY(-2px);box-shadow:0 4px 12px #00000040}.student-sidebar .user-name{margin:0 0 var(--space-1) 0;font-size:14px;font-weight:600;color:#fff;word-break:break-word}.student-sidebar .user-email{margin:0 0 var(--space-2) 0;font-size:11px;color:#fff;opacity:.8;word-break:break-all}.student-sidebar .user-type{margin:0;font-size:12px;color:#fff;opacity:.85}.student-sidebar .logout-button{width:100%;background:#ffffff26;border:none;color:#fff;padding:var(--space-4) var(--space-5);font-size:14px;cursor:pointer;display:flex;align-items:center;gap:var(--space-4);border-radius:var(--radius-lg);transition:var(--transition-smooth)}.student-sidebar .logout-button:hover{background-color:#ffffff40;transform:translate(-5px)}.student-sidebar .logout-button .icon{font-size:16px}.student-sidebar .logout-button .text{font-size:14px}@media(max-width:768px){.student-sidebar{position:fixed;top:0;left:0;height:100%;z-index:1000;transform:translate(-100%);transition:transform .25s ease;visibility:hidden;opacity:0}.student-sidebar.sidebar-open{transform:translate(0);visibility:visible;opacity:1}}.container{padding:var(--space-10);background-color:var(--gray-50)}.header{margin-bottom:var(--space-8);display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4)}.header h2{margin:0 0 var(--space-2) 0;font-size:28px;color:var(--gray-900)}.count{color:var(--gray-500);font-size:14px;margin:0}.table-wrapper{border-radius:var(--radius-lg);overflow:hidden;margin-bottom:var(--space-5)}.data-table{width:100%;border-collapse:collapse;font-size:14px;background:var(--glass-bg-light);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border-light)}.data-table thead{background:linear-gradient(135deg,var(--purple-400) 0%,var(--purple-500) 100%);color:#000;position:sticky;top:0;z-index:10}.data-table th{padding:var(--space-4);text-align:left;font-weight:600;border-bottom:2px solid var(--gray-200)}.data-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--gray-200);color:var(--gray-900)}.data-table tbody tr:hover{background-color:#9333ea0d;transition:var(--transition-smooth)}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr.clickable-row{cursor:pointer;transition:var(--transition-smooth)}.data-table tbody tr.clickable-row:hover{background-color:#9333ea14;box-shadow:inset 0 0 10px #9333ea1a}.badge{display:inline-block;padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);font-size:12px;font-weight:600}.badge.active{background-color:#10b98126;color:var(--green-600);border:1px solid rgba(16,185,129,.3)}.badge.inactive{background-color:#ef444426;color:var(--red-600);border:1px solid rgba(239,68,68,.3)}.badge-type{display:inline-block;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:12px;font-weight:600;background-color:#3b82f626;color:var(--blue-600);border:1px solid rgba(59,130,246,.3)}.amount{font-weight:600;color:var(--green-600)}.pagination{display:flex;justify-content:center;align-items:center;gap:var(--space-4);margin-top:var(--space-5)}.pagination button{padding:var(--space-2) var(--space-4);background:linear-gradient(135deg,var(--purple-400) 0%,var(--purple-500) 100%);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:14px;font-weight:600;transition:var(--transition-smooth)}.pagination button:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg)}.pagination button:disabled{opacity:.5;cursor:not-allowed}.page-info{color:var(--gray-500);font-size:14px;min-width:150px;text-align:center}.loading,.error{text-align:center;padding:var(--space-10);font-size:16px}.loading{color:var(--purple-600);animation:pulse 1.5s ease-in-out infinite}.error{color:var(--red-600);background-color:#ef44441a;border-radius:var(--radius-lg);padding:var(--space-5);margin:var(--space-5);border:1px solid rgba(239,68,68,.3)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.drawer-content>.detail-content{display:flex!important;flex-direction:column!important;gap:var(--space-4)!important;padding:0!important;background:transparent!important}.form-section{background:#fff;padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--gray-200);box-shadow:0 1px 3px #0000000d;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-3)}.form-section h3{grid-column:1 / -1;margin:0;font-size:13px;font-weight:600;color:var(--gray-900)}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-group label{font-size:13px;font-weight:500;color:var(--gray-700)}.form-group input,.form-group select{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:13px;font-family:inherit;transition:var(--transition-smooth)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--purple-500);box-shadow:0 0 0 3px #a3b18a1a}.form-group input:disabled,.form-group select:disabled{background-color:var(--gray-50);color:var(--gray-500);cursor:not-allowed}.form-actions{display:flex;gap:var(--space-3);padding:var(--space-4);background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-lg);justify-content:flex-end;margin-top:var(--space-2)}.btn-primary,.btn-secondary{padding:var(--space-3) var(--space-4);border:none;border-radius:var(--radius-md);font-size:13px;font-weight:600;cursor:pointer;transition:var(--transition-smooth)}.btn-primary{background-color:var(--purple-600);color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--purple-700);box-shadow:0 4px 12px #a3b18a4d}.btn-primary:disabled{background-color:var(--gray-300);cursor:not-allowed}.btn-secondary{background-color:var(--gray-200);color:var(--gray-700)}.btn-secondary:hover:not(:disabled){background-color:var(--gray-300)}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.alert{padding:var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-4);font-size:13px;font-weight:500;border:1px solid}.alert-error{background-color:#ef44441a;color:var(--red-600);border-color:#ef44444d}.alert-success{background-color:#10b9811a;color:var(--green-600);border-color:#10b9814d}@media(max-width:1024px){.container{padding:var(--space-6)}}@media(max-width:768px){.container{padding:var(--space-3)}.header{flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-4)}.header h2{font-size:20px;margin-bottom:var(--space-1)}.header>button{width:100%}.table-wrapper{overflow:visible}.data-table{width:100%}.data-table thead{display:none}.data-table tbody tr{display:block;margin-bottom:var(--space-3);padding:var(--space-3);background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;border:1px solid var(--gray-200)}.data-table td{display:grid;grid-template-columns:100px 1fr;gap:var(--space-3);align-items:center;padding:var(--space-2) 0;border:none;border-bottom:1px solid var(--gray-100)}.data-table td:last-child{border-bottom:none}.data-table td:before{content:attr(data-label);font-weight:600;color:var(--gray-700);font-size:12px;text-transform:uppercase;letter-spacing:.5px}.badge{font-size:11px;padding:var(--space-1) var(--space-2)}.pagination{flex-direction:column;gap:var(--space-2);margin-top:var(--space-4)}.pagination button{width:100%;min-height:44px;padding:var(--space-3)}.page-info{width:100%;order:2}.form-section{grid-template-columns:1fr;gap:var(--space-2);padding:var(--space-3)}.form-section h3{grid-column:1;margin-bottom:var(--space-2)}.form-group label{font-size:13px;margin-bottom:4px}.form-group input,.form-group select{font-size:16px;padding:var(--space-2) var(--space-3)}.form-actions{flex-direction:column;gap:var(--space-2);padding:var(--space-3)}.btn-primary,.btn-secondary{width:100%;min-height:44px;padding:var(--space-2) var(--space-3);font-size:14px}}@media(max-width:600px){.container{padding:var(--space-2)}.header h2{font-size:16px}.data-table td{grid-template-columns:80px 1fr;gap:var(--space-2)}.data-table tbody tr{padding:var(--space-2)}.pagination{gap:var(--space-1)}.pagination button{padding:var(--space-2);font-size:12px;min-height:40px}.form-section{padding:var(--space-2)}.form-group input,.form-group select,.btn-primary,.btn-secondary{padding:var(--space-2) var(--space-2)}}.search-bar{margin-bottom:0;display:flex;gap:var(--space-2)}.search-input-wrapper{flex:1;max-width:500px;position:relative;display:flex;align-items:center}.search-input{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:13px;transition:var(--transition-smooth);background-color:#fff;color:var(--gray-900);height:auto;line-height:1.5}.search-input:focus{outline:none;border-color:var(--purple-600);background-color:#fff;color:var(--gray-900)}.search-input::placeholder{color:var(--gray-400)}.search-input::selection{background-color:var(--purple-200);color:var(--gray-900)}.clear-button{position:absolute;right:var(--space-2);background:none;border:none;font-size:18px;color:var(--gray-400);cursor:pointer;padding:var(--space-1);transition:var(--transition-smooth)}.clear-button:hover{color:var(--gray-900);transform:scale(1.2)}.drawer-overlay{position:fixed;inset:0 780px 0 0;background-color:#00000080;z-index:998;animation:fadeIn var(--transition-smooth)}.drawer{position:fixed;right:-780px;top:0;height:100vh;width:780px;background-color:var(--glass-bg-light);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:var(--shadow-xl);z-index:999;transition:right var(--transition-smooth);display:flex;flex-direction:column;border:1px solid var(--glass-border-light)}.drawer.open{right:0}.drawer-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);border-bottom:2px solid var(--gray-200);background:linear-gradient(135deg,var(--purple-400) 0%,var(--purple-500) 100%);color:#fff;flex-shrink:0}.drawer-header h2{margin:0;font-size:18px}.close-button{background:none;border:none;color:#fff;font-size:28px;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:var(--transition-smooth)}.close-button:hover{transform:scale(1.2)}.drawer-content{flex:1;overflow-y:auto;padding:var(--space-3)}@media(max-width:768px){.drawer{width:100%;right:-100%;height:calc(100vh - 56px);top:56px}.drawer-overlay{right:100%}.drawer-content{padding:var(--space-4)}}@media(max-width:1200px){.drawer{width:90%;right:-90%}.drawer-overlay{right:90%}}@media(max-width:480px){.drawer{height:calc(100vh - 52px);top:52px}.drawer-content{padding:var(--space-3)}.drawer-header h2{font-size:16px}.drawer-header{padding:var(--space-2) var(--space-3)}.close-button{width:28px;height:28px;font-size:24px}}.modal-overlay{position:fixed;inset:0;background-color:#00000080;z-index:1000;animation:fadeIn var(--transition-smooth)}.modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background-color:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);z-index:1001;min-width:350px;max-width:500px;overflow:hidden;animation:slideUp var(--transition-smooth)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-5);border-bottom:1px solid var(--gray-200)}.modal-header.modal-error{background-color:#ef44441a;border-bottom-color:#ef44444d}.modal-header.modal-success{background-color:#10b9811a;border-bottom-color:#10b9814d}.modal-header.modal-info{background-color:#3b82f61a;border-bottom-color:#3b82f64d}.modal-header h3{margin:0;font-size:16px;font-weight:600;color:var(--gray-900)}.modal-header.modal-error h3{color:var(--red-600)}.modal-header.modal-success h3{color:var(--green-600)}.modal-header.modal-info h3{color:var(--blue-600)}.modal-close{background:none;border:none;color:var(--gray-500);font-size:24px;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:var(--transition-smooth)}.modal-close:hover{color:var(--gray-900)}.modal-body{padding:var(--space-5);font-size:14px;color:var(--gray-700);line-height:1.5}.modal-footer{display:flex;gap:var(--space-3);padding:var(--space-5);border-top:1px solid var(--gray-200);justify-content:flex-end}.btn-error{background-color:var(--red-600);color:#fff}.btn-error:hover:not(:disabled){background-color:var(--red-700);box-shadow:0 4px 12px #dc26264d}.btn-success{background-color:var(--green-600);color:#fff}.btn-success:hover:not(:disabled){background-color:var(--green-700);box-shadow:0 4px 12px #0596694d}.btn-info{background-color:var(--blue-600);color:#fff}.btn-info:hover:not(:disabled){background-color:var(--blue-700);box-shadow:0 4px 12px #2563eb4d}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translate(-50%,-40%)}to{opacity:1;transform:translate(-50%,-50%)}}.member-detail{display:flex;flex-direction:column;gap:var(--space-5)}.info-item span{font-size:14px;color:var(--gray-900);word-break:break-word}.loading-spinner{display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-5);color:var(--gray-600)}.spinner{width:24px;height:24px;border:3px solid var(--gray-200);border-top-color:var(--purple-600);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.status-badge{display:inline-block;padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);font-size:12px;font-weight:600;width:fit-content}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4);padding:var(--space-4);background:linear-gradient(135deg,#a855f70d,#8b5cf60d);border-radius:var(--radius-lg);border:1px solid rgba(168,85,247,.2);margin-bottom:var(--space-6)}.summary-card{background:#fff;padding:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--gray-200);text-align:center;transition:var(--transition-smooth)}.summary-card:hover{border-color:var(--purple-500);box-shadow:var(--shadow-md)}.summary-card.amount{background:linear-gradient(135deg,var(--purple-400) 0%,var(--purple-500) 100%);color:#fff;border:none}.summary-label{font-size:12px;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-2)}.summary-card.amount .summary-label{color:#fffc}.summary-value{font-size:24px;font-weight:700;color:var(--gray-900)}.summary-card.amount .summary-value{color:#fff}.detail-table{width:100%;border-collapse:collapse;font-size:13px;background:#fff;border-radius:var(--radius-md);overflow:hidden}.detail-table thead{background-color:#a3b18a14;border-bottom:2px solid var(--purple-500)}.detail-table th{padding:var(--space-2);text-align:left;font-weight:600;color:#000}.detail-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--transition-smooth)}.detail-table th.sortable:hover{background-color:#a855f71a}.info-section{padding:var(--space-4);background:var(--gray-50);border-radius:var(--radius-lg);border-left:4px solid var(--purple-500);margin-bottom:var(--space-6)}.info-section h3{margin:0 0 var(--space-4) 0;font-size:14px;font-weight:600;color:var(--gray-900);text-transform:uppercase;letter-spacing:.5px}.donation-breakdown{padding:var(--space-4);background:var(--gray-50);border-radius:var(--radius-lg);border-left:4px solid var(--green-500)}.donation-breakdown h3{margin:0 0 var(--space-4) 0;font-size:14px;font-weight:600;color:var(--gray-900);text-transform:uppercase;letter-spacing:.5px}.breakdown-items{display:flex;flex-direction:column;gap:var(--space-3)}.breakdown-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3);background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-md);transition:var(--transition-smooth)}.breakdown-item:hover{border-color:var(--purple-500);background-color:var(--purple-50)}.breakdown-item label{font-size:13px;font-weight:600;color:var(--gray-700)}.breakdown-item value{font-size:14px;font-weight:700;color:var(--green-600)}.breakdown-item.balance{background:linear-gradient(135deg,#a855f71a,#8b5cf61a);border:2px solid var(--purple-500)}.breakdown-item.balance value{color:var(--purple-600)}.detail-table td{padding:var(--space-2);border-bottom:1px solid var(--gray-200)}.detail-table tbody tr:hover{background-color:var(--gray-50);transition:var(--transition-smooth)}.detail-table td.amount{font-weight:600;color:var(--green-600)}.detail-table td.row-number{text-align:center;font-weight:600;color:var(--gray-500);background-color:#a3b18a0a;width:50px}.detail-table th:first-child{text-align:center;width:50px}.detail-table tfoot{background-color:#a3b18a26;border-top:2px solid var(--purple-500)}.detail-table tfoot tr{font-weight:600}.detail-table tfoot td{padding:var(--space-2);border:none;color:var(--gray-900)}.detail-table tfoot td.total-label{text-align:right;padding-right:var(--space-3)}.detail-table td.amount.total{font-weight:700;color:var(--purple-600);background-color:#a855f71a}.empty-state{text-align:center;color:var(--gray-400);font-size:14px;padding:var(--space-5);margin:0}@media(max-width:1024px){.detail-section{padding:var(--space-3)}.summary-grid{gap:var(--space-3);padding:var(--space-3)}}@media(max-width:768px){.member-detail{gap:var(--space-3)}.detail-section{padding:var(--space-3);margin-bottom:var(--space-3)}.section-title{font-size:15px;margin-bottom:var(--space-3)}.info-grid{grid-template-columns:1fr;gap:var(--space-3)}.info-item{padding:var(--space-2);background:var(--gray-50);border-radius:6px;border:1px solid var(--gray-200)}.info-item label{font-size:11px;margin-bottom:var(--space-1)}.info-item value{font-size:13px}.summary-grid{grid-template-columns:1fr;gap:var(--space-2);padding:var(--space-3);margin-bottom:var(--space-4)}.summary-card{padding:var(--space-3)}.summary-label{font-size:11px;margin-bottom:var(--space-1)}.summary-value{font-size:18px}.table-section{overflow-x:visible}.detail-table thead{display:none}.detail-table tbody tr{display:block;margin-bottom:var(--space-3);padding:var(--space-3);background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;border:1px solid var(--gray-200)}.detail-table td{display:grid;grid-template-columns:100px 1fr;gap:var(--space-3);align-items:center;padding:var(--space-2) 0;border:none;border-bottom:1px solid var(--gray-100)}.detail-table td:last-child{border-bottom:none}.detail-table td:before{content:attr(data-label);font-weight:600;color:var(--gray-700);font-size:11px;text-transform:uppercase;letter-spacing:.5px}.detail-table td.row-number,.detail-table th:first-child,.detail-table tfoot{display:none}.breakdown-items{gap:var(--space-2)}.breakdown-item{padding:var(--space-2);flex-direction:column;align-items:flex-start;gap:var(--space-1)}.breakdown-item label,.breakdown-item value{width:100%}.breakdown-item value{text-align:left}.info-section{padding:var(--space-3);margin-bottom:var(--space-4)}.donation-breakdown{padding:var(--space-3)}}@media(max-width:600px){.detail-section{padding:var(--space-2)}.info-grid{grid-template-columns:1fr;gap:var(--space-2)}.info-item{padding:var(--space-1) var(--space-2)}.summary-grid{grid-template-columns:1fr;gap:var(--space-2);padding:var(--space-2)}.summary-card{padding:var(--space-2)}.summary-label{font-size:10px}.summary-value{font-size:16px}.detail-table td{grid-template-columns:80px 1fr;gap:var(--space-2)}.breakdown-item{padding:var(--space-2)}}.tabs-container{display:flex;flex-direction:column;height:100%}.tabs-header{display:flex;gap:var(--space-2);border-bottom:none;background:linear-gradient(135deg,var(--purple-100) 0%,var(--purple-50) 100%);overflow-x:auto;flex-shrink:0;padding:var(--space-3);align-items:center}.tab-button{padding:var(--space-3) var(--space-4);background:#fff;border:2px solid var(--gray-300);color:var(--gray-500);font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap;transition:var(--transition-smooth);display:flex;align-items:center;gap:var(--space-2);border-radius:var(--radius-md)}.tab-button:hover{color:var(--gray-900);background-color:var(--purple-50);border-color:var(--purple-400)}.tab-button.active{color:#fff;background:linear-gradient(135deg,var(--purple-400) 0%,var(--purple-500) 100%);border-color:var(--purple-600);font-weight:700}.tab-icon{font-size:16px}.tab-label{font-size:13px}.tabs-content{flex:1;overflow-y:auto;padding:var(--space-5)}.tabs-header::-webkit-scrollbar{height:4px}.tabs-header::-webkit-scrollbar-track{background:var(--gray-100)}.tabs-header::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--purple-400) 0%,var(--purple-500) 100%);border-radius:var(--radius-full)}.tabs-header::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,var(--purple-500) 0%,var(--purple-600) 100%)}@media(max-width:600px){.tab-button{padding:10px 12px;font-size:12px}.tab-icon{font-size:14px}.tab-label{font-size:11px}}.donation-receipt-wrapper{display:flex;flex-direction:column;background:#f5f5f5;padding:var(--space-4);min-height:auto}.receipt-controls{display:flex;gap:var(--space-3);margin-bottom:var(--space-4);justify-content:flex-end}.print-button{padding:var(--space-2) var(--space-3);border:none;border-radius:var(--radius-md);cursor:pointer;font-size:14px;font-weight:600;transition:all .2s ease;background:var(--purple-600);color:#fff}.print-button:hover{background:var(--purple-700);transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.donation-receipt{background:#fff;padding:48px;max-width:900px;margin:0 auto;box-shadow:0 2px 8px #0000001a;border:2px solid var(--purple-300)}.receipt-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.logo-section{display:flex;align-items:center;gap:var(--space-2)}.logo-placeholder{width:60px;height:60px;background:linear-gradient(135deg,var(--purple-400),var(--blue-400));border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:24px}.org-name{font-size:24px;font-weight:700;color:var(--purple-600);font-style:italic}.receipt-title{font-size:28px;font-weight:700;color:var(--gray-700)}.receipt-divider{height:2px;background:var(--purple-300);margin:var(--space-4) 0}.receipt-content{color:var(--gray-900);line-height:1.6}.greeting{margin-bottom:var(--space-4);font-weight:600}.greeting p{margin:0;font-size:16px}.thank-you-section{margin-bottom:var(--space-5)}.thank-you-section p{margin:var(--space-2) 0;font-size:15px}.receipt-details{margin:var(--space-5) 0;padding:var(--space-4);background:var(--gray-50);border-radius:var(--radius-md)}.detail-row{display:flex;justify-content:space-between;padding:var(--space-2) 0;font-size:15px;border-bottom:1px solid var(--gray-200)}.detail-row:last-child{border-bottom:none}.detail-row label{font-weight:600;color:var(--gray-800)}.detail-row span{color:var(--gray-700);text-align:right}.tax-section{margin:var(--space-5) 0;padding:var(--space-3);background:var(--blue-50);border-left:4px solid var(--blue-400);border-radius:var(--radius-sm)}.tax-section p{margin:0;font-size:14px;color:var(--gray-800);line-height:1.6}.closing-section{margin:var(--space-5) 0;font-size:15px}.closing-section p{margin:0}.signature-section{margin-top:var(--space-5);font-size:14px}.signer-name{font-weight:700;color:var(--purple-600);margin-bottom:0;margin-top:var(--space-3)}.signer-title,.signer-email{margin:var(--space-1) 0;color:var(--gray-700)}.receipt-footer{text-align:center;padding-top:var(--space-4);border-top:2px solid var(--purple-300);font-size:14px;color:var(--gray-700)}.receipt-footer p{margin:0}@media(max-width:768px){.donation-receipt{padding:24px}.receipt-header{flex-direction:column;text-align:center;gap:var(--space-3)}.receipt-title{font-size:24px}.detail-row{flex-direction:column}.detail-row span{text-align:left;margin-top:var(--space-1)}}.student-detail-container{display:flex;flex-direction:column;gap:var(--space-5);width:100%;height:100%}.student-detail-tabs{display:flex;flex-wrap:nowrap;gap:0;padding:0;background:#fff;border-bottom:2px solid var(--gray-200);overflow-x:auto;min-height:44px;align-items:stretch}.tab-btn{background:none;border:none;padding:var(--space-2) var(--space-3);display:flex;align-items:center;justify-content:center;gap:var(--space-1);color:var(--gray-700);cursor:pointer;font-size:12px;font-weight:500;border-radius:0;transition:var(--transition-smooth);white-space:nowrap;border-bottom:2px solid transparent;flex-shrink:0;position:relative}.tab-btn:hover{background-color:var(--gray-50);color:var(--gray-900)}.tab-btn.active{background-color:transparent;color:var(--purple-700);font-weight:600;border-bottom-color:var(--purple-600)}.tab-icon{font-size:14px}.tab-label{font-size:12px}.detail-content{display:flex;flex-direction:column;gap:var(--space-5);padding:var(--space-6);background:var(--gray-50);min-height:100%}.detail-content>*{background:#fff;padding:var(--space-5);border-radius:var(--radius-lg);box-shadow:0 2px 8px #00000014;border:1px solid var(--gray-200)}.detail-content>div>*+h2,.detail-content>h2{margin-top:0}.student-detail{display:flex;flex-direction:column;gap:var(--space-5)}.page-title{margin:0 0 var(--space-5) 0;font-size:24px;font-weight:700;color:var(--gray-900);border-bottom:2px solid var(--purple-500);padding-bottom:var(--space-3)}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5);margin-bottom:var(--space-4)}.info-item label{font-size:13px;font-weight:700;color:var(--gray-700);text-transform:uppercase;letter-spacing:.5px}.info-item .value{font-size:14px;color:var(--gray-900);word-break:break-word}.status-badge{display:inline-block;padding:var(--space-1) var(--space-2);background-color:#3b82f626;color:var(--blue-600);border-radius:var(--radius-md);font-size:12px;font-weight:600;border:1px solid rgba(59,130,246,.3)}.table-section{overflow-x:auto}.detail-table{width:100%;border-collapse:collapse;font-size:14px;background:#fff;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--gray-200);margin-top:var(--space-3);box-shadow:0 1px 3px #0000000d}.detail-table thead{background-color:var(--gray-50);border-bottom:2px solid var(--purple-500)}.detail-table th{padding:var(--space-3) var(--space-4);text-align:left;font-weight:700;color:var(--gray-700);text-transform:uppercase;font-size:12px;letter-spacing:.5px}.detail-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--gray-200);color:var(--gray-800)}.detail-table tbody tr{transition:background-color var(--transition-smooth)}.detail-table tbody tr:hover{background-color:var(--gray-50)}.percentage{display:inline-block;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-weight:600;font-size:12px}.percentage.pass{background-color:#10b98126;color:var(--green-600);border:1px solid rgba(16,185,129,.3)}.percentage.fail{background-color:#ef444426;color:var(--red-600);border:1px solid rgba(239,68,68,.3)}.files-list{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3)}.file-item{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-2);background:#fff;border-radius:var(--radius-md);border:1px solid var(--gray-200);transition:var(--transition-smooth)}.file-item:hover{border-color:var(--purple-500);background-color:var(--purple-50)}.file-icon{font-size:24px;text-align:center}.file-info{display:flex;flex-direction:column;gap:var(--space-1)}.file-name{margin:0 0 2px;font-weight:600;color:var(--gray-900);word-break:break-word;font-size:12px}.file-type{margin:0 0 2px;font-size:11px;color:var(--gray-500)}.file-date{margin:0;font-size:10px;color:var(--gray-400)}.file-link{margin:2px 0 0;font-size:11px}.file-link a{color:var(--purple-600);text-decoration:none;font-weight:500;transition:var(--transition-smooth)}.file-link a:hover{color:var(--purple-700);text-decoration:underline}.file-status{margin:3px 0 0;font-size:11px;color:var(--gray-400);font-style:italic}.answers-list{display:flex;flex-direction:column;gap:var(--space-2)}.answer-item{padding:var(--space-2);background:#fff;border-radius:var(--radius-md);border-left:3px solid var(--purple-500)}.question{margin:0;font-size:13px;color:var(--gray-900);line-height:1.4;word-break:break-word}.sponsorship-section{margin-bottom:var(--space-8);padding-bottom:var(--space-6);border-bottom:1px solid var(--gray-100)}.sponsorship-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.drawer-content .form-section{margin-bottom:0;padding:var(--space-2);border-bottom:1px solid var(--gray-200);display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--space-2);align-items:start}.drawer-content .form-section:last-of-type{border-bottom:none}.drawer-content .form-section h3{grid-column:1 / -1;margin:0 0 var(--space-1) 0;font-size:13px;font-weight:600;color:var(--gray-800)}.drawer-content .form-group{margin-bottom:var(--space-1)}.drawer-content .form-group:last-child{margin-bottom:0}.drawer-content .form-group label{display:block;margin-bottom:4px;font-weight:500;font-size:12px;color:var(--gray-700)}.drawer-content .form-group input,.drawer-content .form-group select,.drawer-content .form-group textarea{font-size:13px;padding:var(--space-1) var(--space-2)}.drawer-content .form-actions{display:flex;gap:var(--space-1);margin-top:var(--space-2);padding:var(--space-2);border-top:1px solid var(--gray-200)}.drawer-content .form-actions button{flex:1;padding:var(--space-2) var(--space-2);font-size:13px}.sponsorship-section h3{margin:0 0 var(--space-4) 0;font-size:16px;font-weight:700;color:var(--gray-900);text-transform:none;letter-spacing:0;border-bottom:2px solid var(--purple-500);padding-bottom:var(--space-2)}.empty-state{text-align:center;padding:var(--space-4);font-size:13px;color:var(--gray-400);background:#fff;border-radius:var(--radius-md);margin:0}.section-error{padding:var(--space-2);background-color:#f59e0b1a;border-left:3px solid var(--amber-600);color:var(--orange-600);border-radius:var(--radius-md);font-size:13px;margin:0}@media(max-width:1024px){.detail-content{padding:var(--space-4);gap:var(--space-4)}.detail-content>*{padding:var(--space-4)}}@media(max-width:768px){.student-detail-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.student-detail-tabs::-webkit-scrollbar{display:none}.tab-btn{padding:var(--space-2) var(--space-3);font-size:13px;min-height:44px;min-width:100px}.detail-content{padding:var(--space-3);gap:var(--space-3)}.detail-content>*{padding:var(--space-3)}.page-title{font-size:18px;margin:0 0 var(--space-3) 0}.section-title{font-size:15px;margin:0 0 var(--space-3) 0}.info-grid{grid-template-columns:1fr;gap:var(--space-3);margin-bottom:var(--space-3)}.info-item{padding:var(--space-2);background:var(--gray-50);border-radius:6px;border:1px solid var(--gray-200)}.info-item label{font-size:12px;margin-bottom:var(--space-1)}.info-item value{font-size:14px}.detail-section{padding:var(--space-3);border-left:3px solid var(--purple-500)}.detail-table thead{display:none}.detail-table tbody tr{display:block;margin-bottom:var(--space-3);padding:var(--space-3);background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;border:1px solid var(--gray-200)}.detail-table td{display:grid;grid-template-columns:100px 1fr;gap:var(--space-3);align-items:center;padding:var(--space-2) 0;border:none;border-bottom:1px solid var(--gray-100)}.detail-table td:last-child{border-bottom:none}.detail-table td:before{content:attr(data-label);font-weight:600;color:var(--gray-700);font-size:12px;text-transform:uppercase;letter-spacing:.5px}.table-section{overflow-x:visible}.detail-table{box-shadow:none;border:none;background:transparent}.files-list{grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.file-item{padding:var(--space-2);gap:var(--space-1)}.file-name{font-size:12px;margin-bottom:2px}.file-type,.file-date{font-size:11px}.drawer-content .form-section{grid-template-columns:1fr;gap:var(--space-2);padding:var(--space-2)}.drawer-content .form-section h3{grid-column:1;font-size:13px;margin-bottom:var(--space-2)}.drawer-content .form-group label{font-size:13px;margin-bottom:6px}.drawer-content .form-group input,.drawer-content .form-group select,.drawer-content .form-group textarea{font-size:16px;padding:var(--space-2) var(--space-3);width:100%}.drawer-content .form-actions{flex-direction:column;gap:var(--space-2);margin-top:var(--space-3)}.drawer-content .form-actions button{width:100%;min-height:44px;padding:var(--space-2) var(--space-3);font-size:14px}.answers-list{gap:var(--space-2)}.answer-item{padding:var(--space-2) var(--space-3);border-left:3px solid var(--purple-500)}.question{font-size:13px}.sponsorship-section{margin-bottom:var(--space-4);padding-bottom:var(--space-3)}.sponsorship-section h3{font-size:15px;margin-bottom:var(--space-3);padding-bottom:var(--space-2)}.detail-table th,.detail-table td{padding:var(--space-2) var(--space-3);font-size:13px}.percentage{font-size:11px;padding:var(--space-1) var(--space-2)}}@media(max-width:600px){.detail-content{padding:var(--space-2);gap:var(--space-2)}.detail-content>*{padding:var(--space-2)}.page-title{font-size:16px;margin-bottom:var(--space-2)}.section-title{font-size:14px;margin-bottom:var(--space-2)}.detail-table td{grid-template-columns:80px 1fr;gap:var(--space-2)}.info-item{padding:var(--space-1) var(--space-2)}.files-list{grid-template-columns:1fr}.file-item{flex-direction:column;gap:var(--space-1)}.file-icon{align-self:flex-start}.tab-btn{min-width:90px;padding:var(--space-2) var(--space-2);font-size:12px}.drawer-content .form-section{padding:var(--space-1) var(--space-2)}.drawer-content .form-group{margin-bottom:var(--space-1)}}.donations-tabs{display:flex;gap:var(--space-2);margin-bottom:var(--space-4);border-bottom:2px solid var(--gray-200)}.tab-button{padding:var(--space-3) var(--space-4);background:none;border:none;color:var(--gray-600);font-size:14px;font-weight:500;cursor:pointer;transition:var(--transition-smooth);border-bottom:3px solid transparent;margin-bottom:-2px}.tab-button:hover{color:var(--gray-900)}.tab-button.active{color:var(--purple-600);border-bottom-color:var(--purple-600)}.donations-controls{display:flex;gap:var(--space-6);align-items:flex-end;margin-bottom:var(--space-4);flex-wrap:wrap}.control-group{display:flex;flex-direction:column;gap:var(--space-2);flex:1;min-width:300px}.control-label{font-size:12px;font-weight:600;color:var(--gray-700);text-transform:uppercase;letter-spacing:.5px}.control-group .search-bar{margin-bottom:0}.control-group:last-child{flex:0 0 auto;min-width:120px}.year-filter{padding:var(--space-2) var(--space-3);border:2px solid var(--gray-200);border-radius:var(--radius-lg);font-size:14px;background-color:#fff;color:var(--gray-900);cursor:pointer;transition:var(--transition-smooth);min-width:120px}.year-filter:hover{border-color:var(--purple-400)}.year-filter:focus{outline:none;border-color:var(--purple-600);box-shadow:0 0 0 3px #9333ea1a}.grouped-donations-header{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-6);background:var(--gray-100);border-radius:var(--radius-md) var(--radius-md) 0 0;border-bottom:2px solid var(--gray-300);margin-bottom:var(--space-2)}.grouped-donations-header span{font-size:12px;font-weight:600;color:var(--gray-700);text-transform:uppercase;letter-spacing:.5px}.header-member{flex:1;min-width:0}.header-count{font-size:12px;color:var(--gray-600);white-space:nowrap;min-width:100px}.header-amount{font-weight:600;color:var(--gray-700);font-size:12px;white-space:nowrap;min-width:80px;text-align:right}.grouped-donations{display:flex;flex-direction:column;gap:var(--space-2)}.donation-group{border:1px solid var(--gray-300);border-radius:var(--radius-md);overflow:hidden;background:#fff}.group-header{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-6);background:linear-gradient(135deg,var(--purple-50) 0%,var(--indigo-50) 100%);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s;border-bottom:1px solid var(--gray-300)}.group-header:hover{background:linear-gradient(135deg,var(--purple-100) 0%,var(--indigo-100) 100%)}.chevron{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;font-size:14px;transition:transform .3s ease;flex-shrink:0}.member-name{font-weight:600;color:var(--gray-900);flex:1;min-width:0}.donation-count{font-size:12px;color:var(--gray-600);padding:var(--space-1) var(--space-2);background:#fff;border-radius:var(--radius-sm);white-space:nowrap}.total-amount{font-weight:600;color:var(--purple-600);font-size:14px;white-space:nowrap;min-width:80px;text-align:right}.group-content{padding:var(--space-2) var(--space-6);background:#fff}.year-section{border-left:3px solid var(--purple-300);margin:var(--space-3) 0;padding-left:var(--space-4)}.year-header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--gray-100);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s;border-radius:var(--radius-sm);margin:var(--space-2) 0}.year-header:hover{background:var(--gray-200)}.year-chevron{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:12px;transition:transform .3s ease;flex-shrink:0}.year{font-weight:600;color:var(--gray-900);min-width:40px}.year-count{font-size:12px;color:var(--gray-600);flex:1}.year-total{font-weight:600;color:var(--purple-600);font-size:14px;text-align:right;min-width:80px}.donations-table{width:100%;border-collapse:collapse;font-size:14px}.donations-table thead{background:var(--gray-100);border-bottom:2px solid var(--gray-300)}.donations-table th{padding:var(--space-3) var(--space-4);text-align:left;font-weight:600;color:var(--gray-700);font-size:12px;text-transform:uppercase;letter-spacing:.5px}.donations-table tbody tr{border-bottom:1px solid var(--gray-200);transition:background-color .2s}.donations-table tbody tr:hover{background-color:var(--purple-50)}.donations-table.clickable-row{cursor:pointer}.donations-table td{padding:var(--space-3) var(--space-4);color:var(--gray-700)}.donations-table .amount{font-weight:600;color:var(--purple-600)}.badge-type{display:inline-block;padding:var(--space-1) var(--space-3);background:linear-gradient(135deg,var(--purple-100) 0%,var(--indigo-100) 100%);color:var(--purple-700);border-radius:var(--radius-sm);font-size:11px;font-weight:500;text-transform:capitalize}.yearly-summary-table{width:100%;border-collapse:collapse;font-size:14px;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-md);overflow:hidden}.yearly-summary-table thead{background:var(--gray-100);border-bottom:2px solid var(--gray-300)}.yearly-summary-table th{padding:var(--space-3) var(--space-4);text-align:left;font-weight:600;color:var(--gray-700);font-size:12px;text-transform:uppercase;letter-spacing:.5px}.yearly-summary-table tbody tr{border-bottom:1px solid var(--gray-200);transition:background-color .2s}.yearly-summary-table tbody tr:hover{background-color:var(--purple-50)}.yearly-summary-table td{padding:var(--space-3) var(--space-4);color:var(--gray-700)}.yearly-summary-table .year-cell{font-weight:600;color:var(--gray-900)}.yearly-summary-table .amount-cell{font-weight:600;color:var(--purple-600);text-align:right}.yearly-summary-table .count-cell{text-align:center;font-weight:500}@media(max-width:768px){.group-header{flex-wrap:wrap;gap:var(--space-3);padding:var(--space-3) var(--space-4)}.member-name{flex:0 0 100%;order:2}.donation-count,.total-amount{font-size:11px}.donations-table th,.donations-table td{padding:var(--space-2) var(--space-3);font-size:12px}}.donation-detail{display:flex;flex-direction:column;gap:var(--space-5)}.sponsorship-detail{display:flex;flex-direction:column;gap:var(--space-5)}.detail-section{background:var(--gray-50);padding:var(--space-4);border-radius:var(--radius-lg);border-left:4px solid var(--purple-500)}.section-title{margin:0 0 var(--space-4) 0;font-size:16px;font-weight:600;color:var(--gray-900)}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.info-item{display:flex;flex-direction:column;gap:var(--space-1)}.info-item label{font-size:12px;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.5px}.info-item value{font-size:14px;color:var(--gray-900);word-break:break-word}.info-item value.amount{font-weight:700;color:var(--purple-600);font-size:16px}.status-badge{display:inline-block;padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);font-size:12px;font-weight:600;width:fit-content}.status-badge.active{background-color:#10b98126;color:var(--green-600);border:1px solid rgba(16,185,129,.3)}.status-badge.inactive{background-color:#ef444426;color:var(--red-600);border:1px solid rgba(239,68,68,.3)}.loading,.error{text-align:center;padding:var(--space-5);font-size:14px}.loading{color:var(--purple-600)}.error{color:var(--red-600)}@media(max-width:600px){.info-grid{grid-template-columns:1fr}}.my-students{display:flex;flex-direction:column;gap:var(--space-5)}.students-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:var(--space-4);border-bottom:2px solid var(--gray-200)}.students-header h2{margin:0;font-size:24px;font-weight:700;color:var(--gray-900)}.students-summary{display:flex;gap:var(--space-3);align-items:center}.students-summary span{font-size:14px;color:var(--gray-600);background:var(--gray-100);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md)}.empty-state{text-align:center;padding:var(--space-5);color:var(--gray-500)}.students-table-container{overflow-x:auto;border-radius:var(--radius-lg);box-shadow:0 1px 3px #0000001a}.students-table{width:100%;border-collapse:collapse;font-size:14px}.students-table thead{background:var(--gray-50);border-bottom:2px solid var(--gray-200)}.students-table th{padding:var(--space-3) var(--space-4);text-align:left;font-weight:600;color:var(--gray-700);text-transform:uppercase;font-size:12px;letter-spacing:.5px;-webkit-user-select:none;user-select:none}.students-table th.sortable{cursor:pointer;transition:background-color .2s ease}.students-table th.sortable:hover{background-color:var(--gray-100)}.students-table tbody tr{border-bottom:1px solid var(--gray-100);transition:background-color .2s ease}.students-table tbody tr:hover{background-color:var(--gray-50)}.students-table tbody tr:last-child{border-bottom:none}.students-table td{padding:var(--space-3) var(--space-4);color:var(--gray-900)}.student-name{font-weight:500;color:var(--purple-700)}.student-years{color:var(--gray-700)}.student-amount{font-weight:600;color:var(--green-700)}.action-column{text-align:center;width:100px}.btn-view{background:var(--purple-600);color:#fff;border:none;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);cursor:pointer;font-size:13px;font-weight:500;transition:all .2s ease;white-space:nowrap}.btn-view:hover{background:var(--purple-700);transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.btn-view:active{transform:translateY(0)}@media(max-width:768px){.students-header{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.students-table{font-size:12px}.students-table th,.students-table td{padding:var(--space-2) var(--space-3)}}
