*{margin:0;padding:0;box-sizing:border-box}body,html{height:100%}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}a{color:inherit}:root{--color-bg:#ffffff;--color-border:#e5e7eb;--color-border-strong:#d1d5db;--color-text:#111827;--color-text-muted:#6b7280;--color-accent:#111827;--color-accent-hover:#1f2937;--color-surface-muted:#f9fafb;--ease:cubic-bezier(0.4,0,0.2,1)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.auth-body{background:var(--color-bg);min-height:100vh;padding:24px;display:flex;align-items:center;justify-content:center}.auth-card{max-width:920px;width:100%;min-height:560px;background:white;border:1px solid var(--color-border);border-radius:20px;box-shadow:0 1px 3px rgba(17,24,39,.06),0 20px 50px rgba(17,24,39,.12);overflow:hidden;display:flex;animation:fadeInUp .4s var(--ease)}.auth-image{flex:1 1 45%;min-width:0;background:var(--color-surface-muted)}.auth-image img{width:100%;height:100%;object-fit:cover;display:block}.auth-panel{flex:1 1 55%;padding:56px 48px;display:flex;flex-direction:column;justify-content:center}.auth-card .header{text-align:left;margin-bottom:28px}.auth-card .header h1{font-size:24px;color:var(--color-text);margin-bottom:6px}.auth-card .header p{font-size:14px;color:var(--color-text-muted)}.auth-card .content{width:100%}.auth-card .form-group{margin-bottom:20px}.auth-card .form-group label{display:block;margin-bottom:8px;font-weight:600;color:var(--color-text)}.auth-card .form-group input{width:100%;padding:12px;border:1.5px solid var(--color-border);border-radius:10px;font-size:14px;box-shadow:0 1px 2px rgba(17,24,39,.03);transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}.auth-card .form-group input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px rgba(17,24,39,.08)}.auth-card .form-group select{width:100%;padding:12px;border:1.5px solid var(--color-border);border-radius:10px;font-size:14px;background-color:white;box-shadow:0 1px 2px rgba(17,24,39,.03);transition:border-color .2s var(--ease),box-shadow .2s var(--ease);-webkit-appearance:none;-moz-appearance:none;appearance:none}.auth-card .form-group select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px rgba(17,24,39,.08)}.auth-card .form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px}.auth-card .btn{background:var(--color-accent);color:white;padding:14px 30px;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;box-shadow:0 1px 2px rgba(17,24,39,.15);transition:background-color .2s var(--ease),transform .2s var(--ease),box-shadow .2s var(--ease);width:100%}.auth-card .btn:hover{background:var(--color-accent-hover);transform:translateY(-2px);box-shadow:0 8px 20px rgba(17,24,39,.25)}.auth-card .btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.auth-card .link{text-align:center;margin-top:20px;color:var(--color-text);cursor:pointer;text-decoration:underline;transition:color .2s var(--ease)}.auth-card .link a:hover{color:var(--color-text-muted)}.auth-card .error-message{background:#fef2f2;color:#991b1b;border:1px solid #fecaca;padding:15px;border-radius:10px;margin-bottom:20px}.auth-card .success-message{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0;padding:15px;border-radius:10px;margin-bottom:20px}.auth-card h2{margin-bottom:24px;color:var(--color-text);font-size:20px}@media (max-width:800px){.auth-card{flex-direction:column;min-height:0}.auth-image{flex:none;height:160px}.auth-panel{padding:32px 28px}.auth-card .form-row{grid-template-columns:1fr}}.alumni-body{background:var(--color-bg);min-height:100vh}.container{width:100%}.header{background:white;color:var(--color-text);border-bottom:1px solid var(--color-border);box-shadow:0 1px 3px rgba(17,24,39,.05);padding:16px 32px;position:-webkit-sticky;position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.header-content{text-align:left}.header h1{font-size:20px;margin-bottom:2px}.header p{font-size:13px;color:var(--color-text-muted);opacity:1}.header-user{display:flex;flex-direction:row;align-items:center;gap:16px}.user-name{font-size:14px;gap:8px}.user-icon,.user-name{color:var(--color-text);display:flex;align-items:center}.user-icon{width:28px;height:28px;background:var(--color-surface-muted);border-radius:50%;justify-content:center;font-size:12px;font-weight:600;border:1px solid var(--color-border);box-shadow:0 1px 2px rgba(17,24,39,.05)}.btn-logout{display:inline-flex;align-items:center;background:white;padding:7px 18px;font-size:13px;border:1px solid var(--color-border-strong);border-radius:8px;box-shadow:0 1px 2px rgba(17,24,39,.04);color:var(--color-text);text-decoration:none;cursor:pointer;transition:background-color .2s var(--ease),border-color .2s var(--ease),transform .2s var(--ease)}.btn-logout:hover{background:var(--color-surface-muted);border-color:var(--color-text);transform:translateY(-1px)}.content{padding:32px;width:100%;animation:fadeInUp .35s var(--ease)}.form-page{max-width:960px;margin:0 auto;padding:0 24px}@media (max-width:640px){.form-page{padding:0}}.btn{background:var(--color-accent);color:white;padding:14px 30px;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;box-shadow:0 1px 2px rgba(17,24,39,.15);transition:background-color .2s var(--ease),transform .2s var(--ease),box-shadow .2s var(--ease)}.btn:hover{background:var(--color-accent-hover);transform:translateY(-2px);box-shadow:0 8px 20px rgba(17,24,39,.25)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.btn-secondary{background:white;color:var(--color-text);border:1.5px solid var(--color-border-strong)}.btn-secondary,.btn-secondary:hover{box-shadow:0 1px 2px rgba(17,24,39,.04)}.btn-secondary:hover{background:var(--color-surface-muted)}.btn-danger{background:white;color:#991b1b;padding:14px 24px;border:1.5px solid #fecaca;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;box-shadow:0 1px 2px rgba(17,24,39,.04);transition:background-color .2s var(--ease),border-color .2s var(--ease),transform .2s var(--ease)}.btn-danger:hover{background:#fef2f2;border-color:#991b1b;transform:translateY(-1px)}.btn-danger:disabled{opacity:.6;cursor:not-allowed;transform:none}h2{margin-bottom:20px}h2,h3{color:var(--color-text)}h3{margin:30px 0 20px}h3:first-of-type{margin-top:0}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:var(--color-text)}.form-group input,.form-group select{width:100%;padding:12px;border:1.5px solid var(--color-border);border-radius:10px;font-size:14px;box-shadow:0 1px 2px rgba(17,24,39,.03);transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px rgba(17,24,39,.08)}.form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px}.success-message{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0;padding:15px;border-radius:10px;margin-bottom:20px}.error-message{background:#fef2f2;color:#991b1b;border:1px solid #fecaca;padding:15px;border-radius:10px;margin-bottom:20px}.search-form{background:var(--color-surface-muted);border:1px solid var(--color-border);box-shadow:0 1px 3px rgba(17,24,39,.06),0 8px 20px rgba(17,24,39,.04);padding:20px;border-radius:14px;margin-bottom:20px}.search-form,.search-row{display:flex;gap:15px;flex-wrap:wrap}.search-row{align-items:flex-end;width:100%}.search-form .form-group{display:flex;flex-direction:column;min-width:200px;flex:1 1;margin-bottom:0}.search-form .form-group.search-input{flex:0 1 300px}.search-form .form-group input{padding:8px 12px;height:38px}.search-btn{padding:8px 20px;background:var(--color-accent);color:white;border:none;border-radius:8px;box-shadow:0 1px 2px rgba(17,24,39,.15);cursor:pointer;font-size:14px;height:38px;transition:background-color .2s var(--ease),transform .2s var(--ease)}.search-btn:hover{background:var(--color-accent-hover);transform:translateY(-1px)}.clear-btn{padding:8px 20px;background:white;color:var(--color-text);border:1.5px solid var(--color-border-strong);border-radius:8px;box-shadow:0 1px 2px rgba(17,24,39,.04);cursor:pointer;font-size:14px;height:38px;transition:background-color .2s var(--ease),transform .2s var(--ease)}.clear-btn:hover{background:var(--color-surface-muted);transform:translateY(-1px)}.export-buttons{margin-bottom:10px;display:flex;gap:10px}.export-btn{padding:8px 16px;background:var(--color-accent);color:white;border:none;border-radius:8px;box-shadow:0 1px 2px rgba(17,24,39,.15);cursor:pointer;font-size:14px;transition:background-color .2s var(--ease),transform .2s var(--ease)}.export-btn:hover{background:var(--color-accent-hover);transform:translateY(-1px)}.export-btn.csv{background:var(--color-accent)}.export-btn.csv:hover{background:var(--color-accent-hover)}.button-group{display:flex;gap:10px;align-items:flex-end}.loader-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(17,24,39,.4);display:flex;justify-content:center;align-items:center;z-index:9999;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s var(--ease),visibility .2s var(--ease)}.loader-overlay.show{opacity:1;visibility:visible;pointer-events:auto}.loader{border:5px solid #f3f3f3;border-top:5px solid var(--color-accent);border-radius:50%;width:50px;height:50px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.grid-detail-container{display:flex;gap:20px;align-items:flex-start}.grid-wrapper{flex:1 1;min-width:0}.grid-card{box-shadow:0 1px 3px rgba(17,24,39,.06),0 12px 32px rgba(17,24,39,.06);padding:4px}.detail-card,.grid-card{background:white;border:1px solid var(--color-border);border-radius:16px;overflow:hidden}.detail-card{width:0;box-shadow:0 1px 3px rgba(17,24,39,.06),0 12px 32px rgba(17,24,39,.08);max-height:500px;opacity:0;position:-webkit-sticky;position:sticky;top:20px;transition:width .3s var(--ease),opacity .25s var(--ease)}.detail-card.show{width:400px;opacity:1;overflow-y:auto}.detail-card-header{padding:15px 20px;background:var(--color-accent);color:white;border-radius:15px 15px 0 0;display:flex;justify-content:space-between;align-items:center}.detail-card-header h3{margin:0;color:white}.close-detail{background:none;border:none;color:white;font-size:24px;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:background-color .2s var(--ease)}.close-detail:hover{background:rgba(255,255,255,.2)}.detail-card-body{padding:20px}.detail-field{margin-bottom:15px;padding-bottom:15px;border-bottom:1px solid #eee}.detail-field:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.detail-field-label{font-weight:600;color:#555;font-size:12px;text-transform:uppercase;margin-bottom:5px}.detail-field-value{color:#333;font-size:14px;word-wrap:break-word}.detail-field-value.empty{color:#999;font-style:italic}@media (max-width:1400px){.detail-card.show{width:350px}}@media (max-width:1200px){.grid-detail-container{flex-direction:column}.detail-card{position:relative;top:0}.detail-card.show{width:100%}}@media (max-width:768px){.content{padding:20px}.header{padding:16px 20px}.form-row{grid-template-columns:1fr}}.admin-nav{display:flex;gap:4px;margin-right:8px}.admin-nav a{padding:7px 16px;border-radius:8px;font-size:13px;color:var(--color-text-muted);text-decoration:none;transition:background-color .2s var(--ease),color .2s var(--ease)}.admin-nav a:hover{background:var(--color-surface-muted);color:var(--color-text)}.admin-nav a.active{background:var(--color-accent);color:white}.admin-table{width:100%;border-collapse:collapse;background:white;border:1px solid var(--color-border);border-radius:14px;box-shadow:0 1px 3px rgba(17,24,39,.06),0 12px 32px rgba(17,24,39,.06);overflow:hidden}.admin-table td,.admin-table th{padding:12px 16px;text-align:left;border-bottom:1px solid var(--color-border);font-size:14px}.admin-table th{background:var(--color-surface-muted);font-weight:600;color:var(--color-text)}.admin-table tr:last-child td{border-bottom:none}.admin-table tbody tr{transition:background-color .15s var(--ease)}.admin-table tbody tr:hover{background:var(--color-surface-muted)}.admin-badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600}.admin-badge.active{background:#f0fdf4;color:#166534}.admin-badge.inactive{background:#fef2f2;color:#991b1b}.admin-section-card{background:white;border:1px solid var(--color-border);border-radius:14px;box-shadow:0 1px 3px rgba(17,24,39,.06),0 12px 32px rgba(17,24,39,.06);padding:24px;margin-bottom:24px}.admin-inline-actions{display:flex;gap:8px}.admin-icon-btn{background:white;border:1px solid var(--color-border-strong);border-radius:8px;box-shadow:0 1px 2px rgba(17,24,39,.04);width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-text);transition:background-color .2s var(--ease),border-color .2s var(--ease),transform .2s var(--ease)}.admin-icon-btn:hover{background:var(--color-surface-muted);border-color:var(--color-text);transform:translateY(-1px)}.admin-icon-btn.danger:hover{background:#fef2f2;border-color:#991b1b;color:#991b1b}