*{box-sizing:border-box;margin:0;padding:0}:root{--green:#1a5c2a;--green-dark:#0f3d1a;--green-mid:#236b33;--gold:#c8a84b;--gold-light:#f0d080;--white:#fff;--bg:#f4f6f3;--text:#1a2e1a;--muted:#5a7a5a;--border:#d0ddd0}body{background:var(--bg);color:var(--text);min-height:100vh;font-family:Segoe UI,Arial,sans-serif}.top-bar{background:var(--green-dark);color:#c8e6c9;justify-content:space-between;padding:5px 32px;font-size:12px;display:flex}.sbp-header{background:linear-gradient(135deg, var(--green-dark) 0%, var(--green) 60%, var(--green-mid) 100%);border-bottom:4px solid var(--gold);padding:18px 0}.sbp-header-inner{justify-content:space-between;align-items:center;gap:20px;max-width:1200px;margin:0 auto;padding:0 32px;display:flex}.sbp-logo-block{align-items:center;gap:16px;display:flex}.sbp-logo-img{object-fit:contain;flex-shrink:0;width:64px;height:64px}.sbp-title{color:var(--white);letter-spacing:.5px;font-size:22px;font-weight:700}.sbp-subtitle{color:var(--gold-light);margin-top:2px;font-size:13px}.sbp-system-title{color:var(--gold-light);text-align:right;background:#00000026;border:1px solid #c8a84b66;border-radius:6px;padding:8px 16px;font-size:15px;font-weight:600}.sbp-nav{background:var(--green);border-bottom:2px solid var(--gold)}.sbp-nav-inner{gap:4px;max-width:1200px;margin:0 auto;padding:0 32px;display:flex}.sbp-nav a{color:#c8e6c9;border-bottom:3px solid #0000;padding:12px 20px;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s;display:inline-block}.sbp-nav a:hover{color:var(--white);background:#ffffff14}.sbp-nav a.active{color:var(--gold-light);border-bottom-color:var(--gold);background:#00000026;font-weight:700}.page{box-sizing:border-box;flex-direction:column;gap:24px;width:100%;margin:0;padding:24px 32px;display:flex}.page-header{background:linear-gradient(135deg, var(--green-dark), var(--green));border-left:6px solid var(--gold);border-radius:10px;justify-content:space-between;align-items:center;padding:20px 28px;display:flex;box-shadow:0 2px 8px #1a5c2a26}.page-header h1{color:var(--white);font-size:22px;font-weight:700}.badge{text-transform:uppercase;letter-spacing:.5px;border-radius:20px;padding:5px 14px;font-size:12px;font-weight:700}.badge.admin{background:var(--gold);color:var(--green-dark)}.badge.user{color:var(--white);background:#fff3;border:1px solid #fff6}.stats-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.stat-card{background:var(--white);text-align:center;border-top:4px solid var(--green);border-radius:10px;padding:20px;transition:transform .2s;box-shadow:0 2px 8px #0000000f}.stat-card:hover{transform:translateY(-2px)}.stat-value{color:var(--green);font-size:26px;font-weight:800}.stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.3px;margin-top:4px;font-size:12px;font-weight:600}.section{background:var(--white);border:1px solid #d0ddd0b3;border-radius:16px;min-width:0;padding:28px;position:relative;overflow:visible;box-shadow:0 4px 24px #1a5c2a14,0 1px 4px #0000000a}.section:before{content:"";background:linear-gradient(90deg, var(--green-dark), var(--gold), var(--green));pointer-events:none;z-index:1;border-radius:16px 16px 0 0;height:3px;position:absolute;top:0;left:0;right:0}.table-header{border-bottom:1px solid #d0ddd099;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:20px;padding-bottom:18px;display:flex}.table-header h2{color:var(--green-dark);letter-spacing:-.2px;align-items:center;gap:10px;font-size:18px;font-weight:800;display:flex}.table-header h2:before{content:"";background:linear-gradient(180deg, var(--gold), #e8c060);border-radius:3px;flex-shrink:0;width:5px;height:22px;display:inline-block}.search-wrapper{align-items:center;display:flex;position:relative}.search-icon{pointer-events:none;color:var(--muted);font-size:14px;position:absolute;left:12px}.search-input{border:1.5px solid var(--border);width:290px;color:var(--text);background:#f6f9f6;border-radius:10px;outline:none;padding:10px 38px 10px 36px;font-size:13.5px;transition:border-color .2s,box-shadow .2s,background .2s}.search-input:focus{border-color:var(--green);background:var(--white);box-shadow:0 0 0 4px #1a5c2a1a}.search-input::placeholder{color:#9eada5}.clear-btn{cursor:pointer;color:#b0bfb8;background:0 0;border:none;font-size:13px;line-height:1;transition:color .15s;position:absolute;right:10px}.clear-btn:hover{color:var(--green)}.table-scroll{border:1.5px solid #d0ddd0b3;border-radius:12px;width:100%;overflow:hidden;box-shadow:0 2px 12px #1a5c2a0f}.table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:12.5px}.table thead tr{background:linear-gradient(135deg, var(--green-dark) 0%, #236b33 50%, #2e7d32 100%)}.table th{text-align:left;color:#ffffffeb;text-transform:uppercase;letter-spacing:.6px;white-space:nowrap;border-right:1px solid #ffffff14;padding:12px 14px;font-size:11px;font-weight:700}.table th:first-child{border-radius:11px 0 0}.table th:last-child{border-right:none;border-radius:0 11px 0 0}.table td{vertical-align:middle;border-bottom:1px solid #edf2ed;padding:11px 14px}.table tbody tr:nth-child(2n){background:#fafcfa}.table tbody tr:hover{background:#f0f7f0}.table tbody tr:hover td:first-child{box-shadow:inset 3px 0 0 var(--gold)}.table tbody tr:last-child td{border-bottom:none}.athlete-pic{object-fit:cover;border:2px solid var(--gold);border-radius:50%;width:38px;height:38px;display:block;box-shadow:0 2px 6px #0000001f}.bold-cell{color:var(--green-dark);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.cell-sub{color:var(--muted);margin-top:2px;font-size:11px}.date-cell{color:var(--muted);white-space:nowrap;font-size:11px}.idx-cell{color:var(--muted);text-align:center;width:36px;font-size:12px}.event-cell{white-space:normal;min-width:100px;font-size:12px}.sport-tag{color:var(--green-dark);text-overflow:ellipsis;white-space:nowrap;background:linear-gradient(135deg,#e8f5e9,#f1faf1);border:1px solid #c0e0c4;border-radius:20px;max-width:100%;padding:3px 7px;font-size:11px;font-weight:700;display:inline-block;overflow:hidden}.level-badge{white-space:nowrap;border-radius:20px;padding:3px 7px;font-size:11px;font-weight:700;display:inline-block}.level-badge.international{color:#0d47a1;background:#e3f2fd;border:1px solid #b3d4f5}.level-badge.national{color:#bf5f00;background:#fff8e1;border:1px solid #fad67d}.level-badge.provincial{color:#6a1b9a;background:#f3e5f5;border:1px solid #d7b0e5}.level-badge.regional{color:#006064;background:#e0f7fa;border:1px solid #a0d8dc}.level-badge.district{color:#546e7a;background:#f5f5f5;border:1px solid #cfd8dc}.cat-badge{white-space:nowrap;border-radius:20px;padding:3px 8px;font-size:11px;font-weight:800;display:inline-block}.cat-badge.cat-aplus{color:#880e4f;background:#fce4ec;border:1px solid #f4a8c7}.cat-badge.cat-a{color:#c56000;background:#fff8e1;border:1px solid #fad67d}.cat-badge.cat-b{color:#1b5e20;background:#e8f5e9;border:1px solid #a3d6a7}.cat-badge.cat-c{color:#546e7a;background:#f5f5f5;border:1px solid #cfd8dc}.status{white-space:nowrap;border-radius:20px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:700;display:inline-flex}.status:before{content:"";border-radius:50%;flex-shrink:0;width:6px;height:6px}.status.active{color:#1a6130;background:#e6f4ea;border:1px solid #a8d5b2}.status.active:before{background:#34a853}.status.inactive{color:#9e1c1c;background:#fdecea;border:1px solid #f5a8a8}.status.inactive:before{background:#e53935}.amount{color:var(--green-dark);white-space:nowrap;font-size:12px;font-weight:800}.achievement-cell{color:#667;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.no-results{text-align:center;color:var(--muted);padding:52px 20px;font-size:15px}.actions{flex-wrap:nowrap;align-items:center;gap:3px;display:flex}.btn-action-view,.btn-action-edit,.btn-action-delete{cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;padding:4px 7px;font-size:13px;transition:all .18s;display:inline-flex}@media (width<=1100px){.table{font-size:12px}.table th,.table td{padding:9px 8px}.col-hide-md{display:none}}@media (width<=768px){.table th,.table td{padding:8px 7px;font-size:11.5px}.col-hide-sm{display:none}.search-input{width:180px}.table-header{flex-direction:column;align-items:flex-start}.page{padding:12px 16px}.section{padding:16px}}@media (width<=480px){.table th,.table td{padding:7px 6px;font-size:11px}.col-hide-xs{display:none}.search-input{width:140px}}.pagination{border-top:1px solid #d0ddd099;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;padding-top:16px;display:flex}.pagination-info{color:var(--muted);border:1px solid var(--border);background:#f4f8f4;border-radius:20px;padding:5px 12px;font-size:13px}.pagination-controls{align-items:center;gap:4px;display:flex}.page-btn{border:1.5px solid var(--border);background:var(--white);cursor:pointer;color:var(--green-dark);text-align:center;border-radius:8px;min-width:36px;padding:7px 13px;font-size:13px;font-weight:600;transition:all .18s}.page-btn:hover:not(:disabled){background:var(--green);color:var(--white);border-color:var(--green);transform:translateY(-1px);box-shadow:0 2px 8px #1a5c2a33}.page-btn.active{background:linear-gradient(135deg, var(--green-dark), var(--green));color:var(--white);border-color:#0000;font-weight:800;box-shadow:0 2px 10px #1a5c2a40}.page-btn:disabled{opacity:.3;cursor:not-allowed}.sbp-footer{background:var(--green-dark);color:#a5c8a5;text-align:center;border-top:3px solid var(--gold);flex-wrap:wrap;justify-content:space-between;gap:6px;margin-top:40px;padding:16px 32px;font-size:12px;display:flex}@media (width<=768px){.stats-grid{grid-template-columns:repeat(2,1fr)}.sbp-header-inner{text-align:center;flex-direction:column}.sbp-system-title{text-align:center}.top-bar{text-align:center;flex-direction:column;gap:2px}.sbp-footer{text-align:center;flex-direction:column}}.nav-active-label{color:var(--gold-light);border-bottom:3px solid var(--gold);padding:12px 20px;font-size:14px;font-weight:700}.nav-exit{color:#c8e6c9;margin-left:auto;padding:12px 20px;font-size:13px;text-decoration:none;transition:color .2s}.nav-exit:hover{color:var(--white)}.clickable-row{cursor:pointer;transition:background .13s}.clickable-row:hover{background:#f0f7f0!important}.non-clickable-row{cursor:default}.back-btn{background:var(--white);border:1px solid var(--border);color:var(--green-dark);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.back-btn:hover{background:var(--green);color:var(--white);border-color:var(--green)}.detail-card{background:var(--white);border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:0 2px 12px #00000012}.detail-header{background:linear-gradient(135deg, var(--green-dark), var(--green));border-bottom:4px solid var(--gold);align-items:center;gap:24px;padding:28px 32px;display:flex}.detail-pic{object-fit:cover;border:4px solid var(--gold);border-radius:50%;flex-shrink:0;width:100px;height:100px}.detail-name{color:var(--white);margin-bottom:4px;font-size:26px;font-weight:800}.detail-sub{color:#c8e6c9;margin-bottom:12px;font-size:14px}.detail-badges{flex-wrap:wrap;gap:8px;display:flex}.detail-section-title{border-left:5px solid var(--gold);color:var(--green-dark);text-transform:uppercase;letter-spacing:.5px;border-top:1px solid var(--border);background:#f4f8f4;padding:10px 24px;font-size:13px;font-weight:700}.detail-grid{grid-template-columns:repeat(3,1fr);gap:0;padding:8px 0;display:grid}.detail-item{border-bottom:1px solid #eef2ee;border-right:1px solid #eef2ee;padding:14px 24px}.detail-item:nth-child(3n){border-right:none}.detail-label{color:var(--muted);text-transform:uppercase;letter-spacing:.4px;margin-bottom:5px;font-size:11px;font-weight:600;display:block}.detail-value{color:var(--text);font-size:15px;font-weight:600}.detail-achievements{color:var(--green-dark);background:#f9fbf9;padding:20px 24px;font-size:15px;font-weight:600}.detail-not-found{text-align:center;color:var(--muted);padding:40px;font-size:16px}@media (width<=768px){.detail-grid{grid-template-columns:repeat(2,1fr)}.detail-header{text-align:center;flex-direction:column}.detail-badges{justify-content:center}}@media (width<=480px){.detail-grid{grid-template-columns:1fr}}.per-page-wrapper{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:flex}.per-page-select{border:1px solid var(--border);color:var(--green-dark);background:var(--white);cursor:pointer;border-radius:5px;outline:none;padding:5px 10px;font-size:13px}.per-page-select:focus{border-color:var(--green)}.detail-page{background:var(--bg);min-height:100vh}.detail-hero{background:linear-gradient(135deg, var(--green-dark) 0%, var(--green) 50%, #2e7d32 100%);padding:32px 0 0;position:relative;overflow:hidden}.detail-hero-bg{background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");position:absolute;inset:0}.detail-hero-content{width:100%;padding:0 28px;position:relative}.back-btn-hero{color:#fff;cursor:pointer;background:#ffffff1f;border:1px solid #ffffff40;border-radius:6px;align-items:center;gap:6px;margin-bottom:24px;padding:7px 16px;font-size:13px;font-weight:600;transition:all .2s;display:inline-flex}.back-btn-hero:hover{background:#ffffff38}.detail-hero-profile{align-items:flex-end;gap:28px;margin-bottom:0;display:flex}.detail-pic-wrapper{flex-shrink:0;position:relative}.detail-pic-lg{object-fit:cover;border:4px solid var(--gold);border-radius:50%;width:110px;height:110px;box-shadow:0 4px 20px #0000004d}.detail-status-dot{border:2px solid #fff;border-radius:50%;width:16px;height:16px;position:absolute;bottom:6px;right:6px}.detail-status-dot.active{background:#4caf50}.detail-status-dot.inactive{background:#f44336}.detail-hero-sport{color:var(--gold-light);text-transform:uppercase;letter-spacing:1px;margin-bottom:6px;font-size:13px;font-weight:600}.detail-hero-name{color:#fff;margin-bottom:6px;font-size:32px;font-weight:800;line-height:1.1}.detail-hero-sub{color:#c8e6c9;margin-bottom:14px;font-size:14px}.detail-hero-badges{flex-wrap:wrap;gap:8px;padding-bottom:24px;display:flex}.detail-stipend-bar{background:#00000040;border-top:1px solid #ffffff1a;flex-wrap:wrap;align-items:center;gap:0;margin:0 -28px;padding:16px 28px;display:flex}.stipend-bar-item{text-align:center;flex:1;min-width:120px;padding:4px 16px}.stipend-bar-label{color:#a5d6a7;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:11px;display:block}.stipend-bar-value{color:#fff;font-size:16px;font-weight:700;display:block}.stipend-bar-status.active{color:#69f0ae;font-size:16px;font-weight:700}.stipend-bar-status.inactive{color:#ff8a80;font-size:16px;font-weight:700}.stipend-bar-divider{background:#ffffff26;flex-shrink:0;width:1px;height:40px}.detail-body{box-sizing:border-box;flex-direction:column;gap:20px;width:100%;padding:28px 32px;display:flex}.detail-section{border:1px solid var(--border);background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 10px #0000000d}.detail-section-head{border-bottom:2px solid var(--green);background:linear-gradient(135deg,#f4f8f4,#eef5ee);align-items:center;gap:10px;padding:14px 20px;display:flex}.detail-section-icon{font-size:18px}.detail-section-head h2{color:var(--green-dark);font-size:15px;font-weight:700}.info-cards-grid{grid-template-columns:repeat(3,1fr);gap:0;display:grid}.info-card{border-bottom:1px solid #eef2ee;border-right:1px solid #eef2ee;align-items:center;gap:14px;padding:16px 20px;transition:background .15s;display:flex}.info-card:hover{background:#f7fbf7}.info-card:nth-child(3n){border-right:none}.info-card-icon{flex-shrink:0;font-size:22px}.info-card-body{flex-direction:column;gap:3px;display:flex}.info-card-label{color:var(--muted);text-transform:uppercase;letter-spacing:.4px;font-size:11px;font-weight:600}.info-card-value{color:var(--text);font-size:15px;font-weight:600}.achievement-banner{background:linear-gradient(135deg,#fffde7,#fff8e1);align-items:center;gap:20px;padding:24px 28px;display:flex}.achievement-trophy{flex-shrink:0;font-size:48px}.achievement-text{color:#5d4037;font-size:18px;font-weight:700;line-height:1.4}.table tbody tr{transition:background .13s}.clickable-row:hover td{background:#f0f7f0!important}.clickable-row:hover td:first-child{box-shadow:inset 3px 0 0 var(--gold)!important}.clickable-row:hover .bold-cell{color:var(--green)}.table td{vertical-align:middle}.clickable-row{position:relative}@media (width<=768px){.detail-hero-profile{flex-direction:column;align-items:flex-start}.detail-stipend-bar{flex-direction:column;gap:12px}.stipend-bar-divider{display:none}.info-cards-grid{grid-template-columns:repeat(2,1fr)}.detail-hero-name{font-size:24px}}@media (width<=480px){.info-cards-grid{grid-template-columns:1fr}}.login-page{background:linear-gradient(135deg, var(--green-dark) 0%, var(--green) 60%, #2e7d32 100%);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:#fff;border-radius:14px;width:100%;max-width:400px;overflow:hidden;box-shadow:0 20px 60px #0000004d}.login-header{background:linear-gradient(135deg, var(--green-dark), var(--green));text-align:center;border-bottom:4px solid var(--gold);padding:32px 28px 24px}.login-title{color:#fff;margin-bottom:4px;font-size:20px;font-weight:800}.login-subtitle{color:#c8e6c9;margin-bottom:14px;font-size:13px}.login-badge{background:var(--gold);color:var(--green-dark);text-transform:uppercase;letter-spacing:.5px;border-radius:20px;padding:4px 14px;font-size:12px;font-weight:700;display:inline-block}.login-form{flex-direction:column;gap:18px;padding:28px;display:flex}.login-field{flex-direction:column;gap:6px;display:flex}.login-field label{color:var(--green-dark);font-size:13px;font-weight:600}.login-field input{border:1px solid var(--border);border-radius:7px;outline:none;padding:10px 14px;font-size:14px;transition:border-color .2s,box-shadow .2s}.login-field input:focus{border-color:var(--green);box-shadow:0 0 0 3px #1a5c2a1a}.login-error{color:#b71c1c;background:#ffebee;border:1px solid #ef9a9a;border-radius:6px;padding:10px 14px;font-size:13px}.login-btn{background:linear-gradient(135deg, var(--green-dark), var(--green));color:#fff;cursor:pointer;border:none;border-radius:7px;margin-top:4px;padding:12px;font-size:15px;font-weight:700;transition:opacity .2s}.login-btn:hover:not(:disabled){opacity:.9}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-footer{text-align:center;color:var(--muted);border-top:1px solid var(--border);background:#f9fbf9;padding:14px;font-size:12px}.nav-logout{color:#ffcdd2;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff40;border-radius:5px;margin-left:8px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .2s}.nav-logout:hover{color:#fff;background:#b71c1c;border-color:#b71c1c}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0000008c;justify-content:center;align-items:center;animation:.25s fadeIn;display:flex;position:fixed;inset:0}.modal-card{background:var(--white);border-top:5px solid var(--green);border-radius:12px;flex-direction:column;width:90%;max-width:650px;max-height:90vh;animation:.3s cubic-bezier(.16,1,.3,1) slideUp;display:flex;box-shadow:0 10px 30px #00000026}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.modal-header h2{color:var(--green-dark);font-size:18px;font-weight:700}.modal-close-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:4px;font-size:20px;line-height:1}.modal-close-btn:hover{color:var(--text)}.modal-body{padding:24px;overflow-y:auto}.modal-footer{border-top:1px solid var(--border);background:#fdfdfd;justify-content:flex-end;gap:12px;padding:16px 24px;display:flex}.modal-form{flex-direction:column;gap:16px;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=600px){.form-row{grid-template-columns:1fr}}.form-group{flex-direction:column;gap:6px;display:flex}.form-group.full-width{grid-column:span 2}.form-group label{color:var(--green-dark);font-size:13px;font-weight:600}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--border);border-radius:6px;outline:none;padding:9px 12px;font-family:inherit;font-size:14px;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #1a5c2a1a}.btn-secondary{color:#333;cursor:pointer;background:#e0e0e0;border:none;border-radius:6px;padding:10px 20px;font-size:14px;font-weight:600;transition:background .2s}.btn-secondary:hover{background:#d5d5d5}.btn-primary{background:var(--green);color:var(--white);cursor:pointer;border:none;border-radius:6px;padding:10px 20px;font-size:14px;font-weight:600;transition:background .2s}.btn-primary:hover{background:var(--green-dark)}.btn-action-view{color:#fff;cursor:pointer;letter-spacing:.1px;background:linear-gradient(135deg,#1976d2,#1e88e5);border:none;border-radius:7px;align-items:center;gap:4px;padding:5px 11px;font-size:11.5px;font-weight:700;transition:all .18s;display:inline-flex;box-shadow:0 1px 4px #1976d24d}.btn-action-view:hover{background:linear-gradient(135deg,#115293,#1565c0);transform:translateY(-1px);box-shadow:0 3px 10px #1976d259}.btn-action-edit{color:#fff;cursor:pointer;letter-spacing:.1px;background:linear-gradient(135deg,#e65100,#f57c00);border:none;border-radius:7px;align-items:center;gap:4px;padding:5px 11px;font-size:11.5px;font-weight:700;transition:all .18s;display:inline-flex;box-shadow:0 1px 4px #e651004d}.btn-action-edit:hover{background:linear-gradient(135deg,#bf360c,#e64a19);transform:translateY(-1px);box-shadow:0 3px 10px #e6510059}.btn-action-delete{color:#fff;cursor:pointer;letter-spacing:.1px;background:linear-gradient(135deg,#b71c1c,#c62828);border:none;border-radius:7px;align-items:center;gap:4px;padding:5px 11px;font-size:11.5px;font-weight:700;transition:all .18s;display:inline-flex;box-shadow:0 1px 4px #b71c1c4d}.btn-action-delete:hover{background:linear-gradient(135deg,#7f0000,#b71c1c);transform:translateY(-1px);box-shadow:0 3px 10px #b71c1c59}.add-athlete-btn{background:linear-gradient(135deg, var(--gold), #d4a827);color:var(--green-dark);cursor:pointer;letter-spacing:.2px;border:none;border-radius:10px;align-items:center;gap:7px;padding:10px 20px;font-size:13.5px;font-weight:800;transition:all .2s;display:flex;box-shadow:0 2px 10px #c8a84b59}.add-athlete-btn:hover{background:linear-gradient(135deg, #d4a827, var(--gold-light));transform:translateY(-2px);box-shadow:0 5px 18px #c8a84b66}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.admin-page-header{background:linear-gradient(135deg, var(--green-dark) 0%, var(--green) 55%, #2e7d32 100%);border-left:6px solid var(--gold);border-radius:14px;justify-content:space-between;align-items:center;padding:22px 32px;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 20px #1a5c2a33}.admin-page-header:after{content:"";pointer-events:none;background:#ffffff0a;border-radius:50%;width:200px;height:200px;position:absolute;top:-40px;right:-40px}.admin-header-left{align-items:center;gap:18px;display:flex}.admin-header-emblem{background:#c8a84b33;border:2px solid #c8a84b80;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;font-size:26px;display:flex}.admin-header-title{color:#fff;letter-spacing:.3px;font-size:22px;font-weight:800}.admin-header-subtitle{color:#a5d6a7;margin-top:3px;font-size:13px;font-weight:500}.stats-grid-v2{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.stat-card-v2{background:#fff;border:1px solid #0000;border-radius:14px;align-items:center;gap:16px;padding:22px 20px;transition:transform .22s cubic-bezier(.34,1.56,.64,1),box-shadow .22s;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 12px #00000012}.stat-card-v2:before{content:"";border-radius:14px 14px 0 0;height:4px;position:absolute;top:0;left:0;right:0}.stat-card-v2:hover{transform:translateY(-4px);box-shadow:0 8px 30px #0000001f}.stat-card-v2.stat-green{border-color:#c8e6c9}.stat-card-v2.stat-green:before{background:linear-gradient(90deg,#2e7d32,#66bb6a)}.stat-card-v2.stat-green .stat-card-icon-wrap{color:#2e7d32;background:#e8f5e9}.stat-card-v2.stat-green .stat-card-value{color:#1b5e20}.stat-card-v2.stat-blue{border-color:#bbdefb}.stat-card-v2.stat-blue:before{background:linear-gradient(90deg,#0288d1,#4fc3f7)}.stat-card-v2.stat-blue .stat-card-icon-wrap{color:#0288d1;background:#e3f2fd}.stat-card-v2.stat-blue .stat-card-value{color:#01579b}.stat-card-v2.stat-gold{border-color:#ffe082}.stat-card-v2.stat-gold:before{background:linear-gradient(90deg,#c8a84b,#ffe082)}.stat-card-v2.stat-gold .stat-card-icon-wrap{color:#c8a84b;background:#fff8e1}.stat-card-v2.stat-gold .stat-card-value{color:#7b5a00}.stat-card-v2.stat-red{border-color:#ffcdd2}.stat-card-v2.stat-red:before{background:linear-gradient(90deg,#c62828,#e57373)}.stat-card-v2.stat-red .stat-card-icon-wrap{color:#c62828;background:#ffebee}.stat-card-v2.stat-red .stat-card-value{color:#b71c1c}.stat-card-icon-wrap{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;font-size:24px;display:flex}.stat-card-body{flex-direction:column;gap:2px;display:flex}.stat-card-value{font-size:22px;font-weight:800;line-height:1.1}.stat-card-label{color:var(--text);text-transform:uppercase;letter-spacing:.3px;margin-top:2px;font-size:12px;font-weight:700}.stat-card-desc{color:var(--muted);margin-top:1px;font-size:11px}@media (width<=900px){.stats-grid-v2{grid-template-columns:repeat(2,1fr)}}@media (width<=520px){.stats-grid-v2{grid-template-columns:1fr}.admin-page-header{padding:16px 18px}.admin-header-title{font-size:17px}}.modal-card-v2{background:#fff;border-radius:16px;flex-direction:column;width:92%;max-width:700px;height:92vh;animation:.3s cubic-bezier(.16,1,.3,1) slideUp;display:flex;overflow:hidden;box-shadow:0 20px 60px #00000040,0 4px 16px #0000001a}.modal-header-v2{background:linear-gradient(135deg, var(--green-dark) 0%, var(--green) 60%, #388e3c 100%);border-bottom:3px solid var(--gold);flex-shrink:0;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-header-v2-left{align-items:center;gap:14px;display:flex}.modal-header-v2-avatar{border:2px solid var(--gold);background:#ffffff26;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;font-size:22px;display:flex;overflow:hidden}.modal-header-v2-avatar img{object-fit:cover;width:100%;height:100%}.modal-header-v2-title{color:#fff;font-size:18px;font-weight:700}.modal-header-v2-sub{color:#a5d6a7;margin-top:3px;font-size:12px}.modal-close-btn-v2{color:#fff;cursor:pointer;background:#ffffff1f;border:1px solid #ffffff40;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;transition:background .2s;display:flex}.modal-close-btn-v2:hover{background:#ffffff40}.modal-body-v2{flex:1;min-height:0;padding:0;overflow-y:auto}.rich-toolbar{background:#f4f6f4;border:1.5px solid #dde4dd;border-bottom:none;border-radius:8px 8px 0 0;flex-wrap:wrap;gap:3px;padding:6px 8px;display:flex}.rich-btn{cursor:pointer;color:var(--green-dark);text-align:center;background:#fff;border:1px solid #d0d8d0;border-radius:4px;min-width:28px;padding:3px 8px;font-size:12px;font-weight:600;line-height:1.4;transition:all .15s}.rich-btn:hover{background:var(--green);color:#fff;border-color:var(--green)}.rich-btn.sep{cursor:default;background:0 0;border:none;border-left:1px solid #ccc;min-width:0;padding:0 4px}.rich-editor{width:100%;min-height:120px;color:var(--text);box-sizing:border-box;background:#fafcfa;border:1.5px solid #dde4dd;border-radius:0 0 8px 8px;outline:none;padding:10px 12px 10px 36px;font-family:inherit;font-size:13.5px;line-height:1.6;overflow-y:auto}.rich-editor:focus{border-color:var(--green);background:#fff;box-shadow:0 0 0 3px #1a5c2a1f}.rich-editor ul,.rich-editor ol{padding-left:20px}.rich-editor b,.rich-editor strong{font-weight:700}.rich-editor i,.rich-editor em{font-style:italic}.rich-editor u{text-decoration:underline}.form-error-banner{color:#856404;background:#fff3cd;border:1px solid #ffc107;border-left:4px solid #e65100;padding:10px 20px;font-size:13px;font-weight:600}.form-section{border-bottom:1px solid #f0f4f0;padding:18px 24px}.form-section:last-child{border-bottom:none}.form-section-title{color:var(--green-dark);text-transform:uppercase;letter-spacing:.7px;border-bottom:2px solid #e8f5e9;align-items:center;gap:8px;margin-bottom:14px;padding-bottom:8px;font-size:11px;font-weight:800;display:flex}.form-section-icon{font-size:15px}.form-group-v2{flex-direction:column;flex:1;gap:5px;display:flex}.form-group-v2 label{color:#546e7a;text-transform:uppercase;letter-spacing:.4px;font-size:11px;font-weight:700}.req{color:#e53935;margin-left:2px}.input-icon-wrap{align-items:center;display:flex;position:relative}.input-icon{pointer-events:none;z-index:1;font-size:14px;line-height:1;position:absolute;left:11px}.input-icon-wrap input,.input-icon-wrap select{width:100%;color:var(--text);appearance:none;background:#fafcfa;border:1.5px solid #dde4dd;border-radius:8px;outline:none;padding:9px 12px 9px 36px;font-family:inherit;font-size:13.5px;transition:border-color .2s,box-shadow .2s,background .2s}.input-icon-wrap select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%235a7a5a' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:32px}.input-icon-wrap input:focus,.input-icon-wrap select:focus{border-color:var(--green);background:#fff;box-shadow:0 0 0 3px #1a5c2a1f}.textarea-wrap{align-items:flex-start}.textarea-icon{position:absolute;top:12px}.input-icon-wrap textarea{width:100%;color:var(--text);resize:vertical;background:#fafcfa;border:1.5px solid #dde4dd;border-radius:8px;outline:none;padding:9px 12px 9px 36px;font-family:inherit;font-size:13.5px;transition:border-color .2s,box-shadow .2s,background .2s}.input-icon-wrap textarea:focus{border-color:var(--green);background:#fff;box-shadow:0 0 0 3px #1a5c2a1f}.modal-footer-v2{z-index:2;background:#f9fbf9;border-top:1px solid #eef2ee;flex-shrink:0;justify-content:flex-end;gap:12px;padding:14px 24px;display:flex;position:sticky;bottom:0}.btn-cancel{color:var(--muted);cursor:pointer;background:0 0;border:1.5px solid #ccc;border-radius:8px;padding:10px 22px;font-size:14px;font-weight:600;transition:all .2s}.btn-cancel:hover:not(:disabled){color:var(--text);background:#f5f5f5;border-color:#aaa}.btn-cancel:disabled{opacity:.5;cursor:not-allowed}.btn-save{background:linear-gradient(135deg, var(--green-dark), var(--green));color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:7px;padding:10px 26px;font-size:14px;font-weight:700;transition:opacity .2s,transform .15s,box-shadow .2s;display:inline-flex;box-shadow:0 3px 10px #1a5c2a4d}.btn-save:hover:not(:disabled){opacity:.92;transform:translateY(-1px);box-shadow:0 5px 16px #1a5c2a59}.btn-save:disabled{opacity:.6;cursor:not-allowed;transform:none}.spinner{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.btn-action-view{color:#0d47a1;cursor:pointer;background:#e3f2fd;border-radius:6px;align-items:center;padding:5px 8px;font-size:13px;transition:all .18s;display:inline-flex;border:1px solid #90caf9!important}.btn-action-view:hover{color:#fff;background:#1976d2;border-color:#1976d2!important}.btn-action-edit{color:#e65100;cursor:pointer;background:#fff8e1;border-radius:6px;align-items:center;padding:5px 8px;font-size:13px;transition:all .18s;display:inline-flex;border:1px solid #ffcc80!important}.btn-action-edit:hover{color:#fff;background:#ffa000;border-color:#ffa000!important}.btn-action-delete{color:#b71c1c;cursor:pointer;background:#ffebee;border-radius:6px;align-items:center;padding:5px 8px;font-size:13px;transition:all .18s;display:inline-flex;border:1px solid #ef9a9a!important}.btn-action-delete:hover{color:#fff;background:#c62828;border-color:#c62828!important}.add-athlete-btn{background:linear-gradient(135deg, var(--gold), #e6c45a);color:var(--green-dark);cursor:pointer;white-space:nowrap;border:none;border-radius:8px;align-items:center;gap:7px;padding:10px 20px;font-size:13.5px;font-weight:700;transition:transform .18s,box-shadow .18s;display:flex;box-shadow:0 2px 10px #c8a84b59}.add-athlete-btn:hover{transform:translateY(-2px);box-shadow:0 5px 18px #c8a84b73}.tbl-card{background:#fff;border:1px solid #d0ddd0b3;border-radius:16px;overflow:hidden;box-shadow:0 4px 24px #1a5c2a12}.tbl-toolbar{background:#fff;border-bottom:1px solid #eef2ee;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:18px 24px;display:flex}.tbl-toolbar-left{align-items:center;gap:14px;display:flex}.tbl-title-icon{background:linear-gradient(135deg, var(--green-dark), var(--green));border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:20px;display:flex}.tbl-title{color:var(--green-dark);font-size:16px;font-weight:800}.tbl-subtitle{color:var(--muted);margin-top:2px;font-size:12px}.tbl-toolbar-right{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.tbl-wrap{width:100%;overflow:hidden}.tbl{border-collapse:collapse;table-layout:fixed;width:100%;font-size:13px}.tbl thead tr{background:linear-gradient(135deg, var(--green-dark), var(--green))}.tbl th{text-align:left;text-transform:uppercase;letter-spacing:.5px;color:#ffffffe0;white-space:nowrap;border-right:1px solid #ffffff12;padding:12px 10px;font-size:11px;font-weight:700;overflow:hidden}.tbl th:last-child{border-right:none}.tbl-row td{vertical-align:middle;text-overflow:ellipsis;white-space:nowrap;border-bottom:1px solid #f0f4f0;padding:10px;overflow:hidden}.tbl tbody tr:last-child td{border-bottom:none}.tbl-row{transition:background .12s}.tbl-row:hover{background:#f6fbf6}.tbl-row:hover td:first-child{box-shadow:inset 3px 0 0 var(--gold)}.tbl-row-click{cursor:pointer}.tbl-row-click:hover .tbl-name{color:var(--green)}.tbl-idx{color:var(--muted);text-align:center;font-size:12px}.tbl-name{color:var(--green-dark);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;overflow:hidden}.tbl-meta{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:11px;overflow:hidden}.tbl-text{color:var(--text);font-size:12.5px}.tbl-date{color:var(--muted);font-size:11.5px}.tbl-amount{color:var(--green-dark);font-size:12.5px;font-weight:700}.tbl-achieve{color:#667;font-size:11.5px}.tbl-avatar{object-fit:cover;border:2px solid var(--gold);border-radius:50%;flex-shrink:0;width:56px;height:56px;display:block}.tbl-avatar-fallback{background:linear-gradient(135deg, var(--green-dark), var(--green));color:#fff;border:2px solid var(--gold);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;font-size:20px;font-weight:700;display:flex}.tbl-sport{color:var(--green-dark);text-overflow:ellipsis;white-space:nowrap;background:#e8f5e9;border:1px solid #c0e0c4;border-radius:20px;max-width:100%;padding:3px 9px;font-size:11.5px;font-weight:700;display:inline-block;overflow:hidden}.tbl-level{white-space:nowrap;border-radius:20px;padding:3px 8px;font-size:11px;font-weight:700;display:inline-block}.tbl-level-international{color:#0d47a1;background:#e3f2fd;border:1px solid #b3d4f5}.tbl-level-national{color:#bf5f00;background:#fff8e1;border:1px solid #fad67d}.tbl-level-provincial{color:#6a1b9a;background:#f3e5f5;border:1px solid #d7b0e5}.tbl-level-regional{color:#006064;background:#e0f7fa;border:1px solid #a0d8dc}.tbl-level-district{color:#546e7a;background:#f5f5f5;border:1px solid #cfd8dc}.tbl-cat{white-space:nowrap;border-radius:20px;padding:3px 9px;font-size:11.5px;font-weight:800;display:inline-block}.tbl-cat-aplus{color:#880e4f;background:#fce4ec;border:1px solid #f4a8c7}.tbl-cat-a{color:#c56000;background:#fff8e1;border:1px solid #fad67d}.tbl-cat-b{color:#1b5e20;background:#e8f5e9;border:1px solid #a3d6a7}.tbl-cat-c{color:#546e7a;background:#f5f5f5;border:1px solid #cfd8dc}.tbl-status{white-space:nowrap;border-radius:20px;align-items:center;gap:5px;padding:4px 10px;font-size:11px;font-weight:700;display:inline-flex}.tbl-status:before{content:"";border-radius:50%;flex-shrink:0;width:6px;height:6px}.tbl-status-active{color:#1a6130;background:#e6f4ea;border:1px solid #a8d5b2}.tbl-status-active:before{background:#34a853}.tbl-status-inactive{color:#9e1c1c;background:#fdecea;border:1px solid #f5a8a8}.tbl-status-inactive:before{background:#e53935}.tbl-actions{align-items:center;gap:4px;display:flex}.tbl-btn{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:5px;justify-content:center;align-items:center;padding:4px 10px;font-size:11.5px;font-weight:600;line-height:1.4;transition:all .15s;display:inline-flex}.tbl-btn-view{color:#0d47a1;background:#e3f2fd;border-color:#90caf9}.tbl-btn-view:hover{color:#fff;background:#1976d2;border-color:#1976d2}.tbl-btn-edit{color:#c56000;background:#fff8e1;border-color:#fad67d}.tbl-btn-edit:hover{color:#fff;background:#f57c00;border-color:#f57c00}.tbl-btn-del{color:#b71c1c;background:#ffebee;border-color:#ef9a9a}.tbl-btn-del:hover{color:#fff;background:#c62828;border-color:#c62828}.tbl-empty{text-align:center;color:var(--muted);padding:52px;font-size:14px}.tbl-pagination{background:#fafcfa;border-top:1px solid #eef2ee;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:14px 24px;display:flex}@media (width<=1100px){.tbl{font-size:12px}.tbl th,.tbl-row td{padding:10px}.col-hide-md{display:none}}@media (width<=768px){.tbl th,.tbl-row td{padding:9px 8px;font-size:11.5px}.col-hide-sm{display:none}.tbl-toolbar{padding:14px 16px}.tbl-pagination{padding:12px 16px}}@media (width<=480px){.tbl th,.tbl-row td{padding:8px 7px;font-size:11px}.col-hide-xs{display:none}}.pic-upload-wrap{background:#f7fbf7;border:1.5px dashed #c0d4c0;border-radius:10px;align-items:center;gap:14px;padding:10px 12px;display:flex}.pic-preview{border:2px solid var(--gold);background:#e8f5e9;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:60px;height:60px;font-size:26px;display:flex;overflow:hidden}.pic-preview img{object-fit:cover;width:100%;height:100%}.pic-upload-right{flex-direction:column;gap:5px;display:flex}.pic-upload-btn{background:linear-gradient(135deg, var(--green-dark), var(--green));color:#fff;cursor:pointer;border-radius:7px;align-items:center;gap:6px;width:fit-content;padding:8px 16px;font-size:13px;font-weight:600;transition:opacity .2s;display:inline-flex}.pic-upload-btn:hover{opacity:.88}.pic-upload-hint{color:var(--muted);font-size:11px}.lightbox-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:9999;cursor:zoom-out;background:#000000ed;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.lightbox-inner{cursor:default;flex-direction:column;align-items:center;gap:18px;animation:.28s cubic-bezier(.16,1,.3,1) lightboxPop;display:flex;position:relative}.lightbox-img{object-fit:contain;border-radius:20px;max-width:82vw;max-height:72vh;display:block;box-shadow:0 0 0 4px #c8a84bb3,0 32px 80px #000c}.lightbox-footer{flex-direction:column;align-items:center;gap:6px;display:flex}.lightbox-name{color:#fff;letter-spacing:.3px;text-shadow:0 2px 10px #0009;font-size:20px;font-weight:800}.lightbox-meta{align-items:center;gap:10px;display:flex}.lightbox-badge{color:var(--gold-light);background:#c8a84b40;border:1px solid #c8a84b80;border-radius:20px;padding:3px 12px;font-size:12px;font-weight:600}.lightbox-hint{color:#ffffff59;margin-top:4px;font-size:12px}.lightbox-close{color:#fff;cursor:pointer;z-index:10000;background:#ffffff1a;border:1.5px solid #ffffff40;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;transition:background .2s,transform .2s;display:flex;position:fixed;top:20px;right:24px}.lightbox-close:hover{background:#dc3232b3;transform:scale(1.1)rotate(90deg)}@keyframes lightboxPop{0%{opacity:0;transform:scale(.82)}to{opacity:1;transform:scale(1)}}
