@import"https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700&family=Outfit:wght@300;400;500;600;700&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;font-size:16px}body{font-family:Outfit,-apple-system,BlinkMacSystemFont,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;background-color:#0d1117;color:#e6edf3;overflow-x:hidden}::selection{background:#c6a8644d;color:#fefefe}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#161b22}::-webkit-scrollbar-thumb{background:#30363d;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#484f58}:focus-visible{outline:2px solid #c6a864;outline-offset:2px}code{font-family:JetBrains Mono,Fira Code,Consolas,Monaco,Courier New,monospace;background:#6e768133;padding:.2em .4em;border-radius:4px;font-size:.9em}*{-webkit-tap-highlight-color:transparent}img{max-width:100%;height:auto;display:block}button{font-family:inherit;cursor:pointer;border:none;background:none}ul,ol{list-style:none}a{color:inherit;text-decoration:none}.tournament-creator{background:var(--bg-surface);border-radius:12px;box-shadow:var(--shadow-lg);overflow:hidden;border:1px solid var(--color-neutral-700)}.creator-header{background:linear-gradient(135deg,var(--color-primary-600) 0%,var(--color-primary-500) 100%);color:var(--color-neutral-100);padding:1.5rem 2rem;display:flex;align-items:center;gap:1.5rem}.creator-header .back-btn{background:#ffffff26;border:1px solid rgba(255,255,255,.25);color:var(--color-neutral-100);padding:.5rem 1rem;border-radius:6px;font-size:.9rem;cursor:pointer;transition:all .2s}.creator-header .back-btn:hover{background:#ffffff40}.creator-header h2{margin:0;font-size:1.5rem}.creator-content{padding:2rem}.message{display:flex;align-items:center;gap:.75rem;padding:1rem 1.5rem;border-radius:8px;margin-bottom:1.5rem}.message.error{background:var(--color-error-muted);color:var(--color-error);border:1px solid rgba(248,81,73,.3)}.message.success{background:var(--color-success-muted);color:var(--color-success);border:1px solid rgba(63,185,80,.3)}.message .icon{font-size:1.25rem}.creator-form{max-width:800px}.form-section{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--color-neutral-700)}.form-section:last-of-type{border-bottom:none}.form-section h3{font-size:1.1rem;color:var(--color-neutral-100);margin-bottom:1.25rem}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-weight:600;color:var(--color-neutral-200);margin-bottom:.5rem;font-size:.95rem}.form-group input,.form-group select{width:100%;padding:.75rem 1rem;border:2px solid var(--color-neutral-600);border-radius:8px;font-size:1rem;transition:all .2s;background:var(--bg-elevated);color:var(--color-neutral-100)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--color-primary-400);box-shadow:0 0 0 3px #3d884733}.form-group input::placeholder{color:var(--color-neutral-500)}.form-hint{display:block;margin-top:.5rem;font-size:.85rem;color:var(--color-neutral-400)}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.form-actions{display:flex;gap:1rem;justify-content:flex-end;padding-top:1.5rem;border-top:1px solid var(--color-neutral-700);margin-top:1rem}.btn-primary,.btn-secondary{padding:.875rem 1.75rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-primary{background:var(--color-primary-500);color:var(--color-neutral-100);border:none}.btn-primary:hover:not(:disabled){background:var(--color-primary-400);transform:translateY(-1px)}.btn-primary:disabled{background:var(--color-neutral-600);cursor:not-allowed}.btn-secondary{background:var(--bg-elevated);color:var(--color-neutral-200);border:2px solid var(--color-neutral-600)}.btn-secondary:hover:not(:disabled){border-color:var(--color-primary-400);color:var(--color-primary-300)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.course-select-row{display:flex;gap:1rem;align-items:stretch}.course-select-row select{flex:1}.btn-add-course{padding:.75rem 1rem;background:var(--bg-elevated);border:2px solid var(--color-neutral-600);border-radius:8px;font-size:.9rem;font-weight:600;color:var(--color-neutral-200);cursor:pointer;transition:all .2s;white-space:nowrap}.btn-add-course:hover{background:var(--color-neutral-700);border-color:var(--color-neutral-500)}.new-course-form{background:var(--bg-elevated);border:2px solid var(--color-neutral-600);border-radius:8px;padding:1.5rem;margin-top:1rem;margin-bottom:1rem}.new-course-form h4{margin:0 0 1rem;font-size:1rem;color:var(--color-neutral-100)}.btn-create-course{background:var(--color-info);color:var(--color-neutral-100);border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;margin-top:.5rem}.btn-create-course:hover:not(:disabled){background:#4393e0;transform:translateY(-1px)}.btn-create-course:disabled{background:var(--color-neutral-600);cursor:not-allowed}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.section-header h3{margin:0}.btn-toggle-holes{background:var(--bg-elevated);border:2px solid var(--color-neutral-600);border-radius:8px;padding:.5rem 1rem;font-size:.9rem;font-weight:500;color:var(--color-neutral-200);cursor:pointer;transition:all .2s}.btn-toggle-holes:hover{background:var(--color-neutral-700);border-color:var(--color-neutral-500)}.holes-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;margin-top:1rem}.holes-section h4{margin:0 0 .75rem;font-size:.95rem;color:var(--color-neutral-200)}.holes-table{width:100%;border-collapse:collapse;font-size:.9rem}.holes-table th{background:var(--bg-elevated);padding:.5rem;text-align:center;font-weight:600;color:var(--color-neutral-200);border:1px solid var(--color-neutral-600)}.holes-table td{padding:.25rem;text-align:center;border:1px solid var(--color-neutral-600)}.holes-table .hole-number{background:var(--color-neutral-800);font-weight:600;color:var(--color-neutral-200);width:50px}.holes-table select,.holes-table input{width:100%;padding:.375rem;border:1px solid var(--color-neutral-600);border-radius:4px;font-size:.9rem;text-align:center;background:var(--bg-surface);color:var(--color-neutral-100)}.holes-table select:focus,.holes-table input:focus{outline:none;border-color:var(--color-primary-400)}.holes-table .total-row{background:var(--bg-elevated);font-weight:600}.holes-table .total-row td{padding:.5rem;color:var(--color-neutral-100)}@media(max-width:768px){.creator-header{flex-direction:row;flex-wrap:wrap;align-items:center;gap:.75rem;padding:1rem 1.25rem}.creator-header .back-btn{min-height:44px;padding:.625rem 1rem}.creator-header h2{font-size:1.25rem;flex:1}.creator-content{padding:1.25rem}.form-section{margin-bottom:1.5rem;padding-bottom:1.25rem}.form-section h3{font-size:1rem;margin-bottom:1rem}.form-group{margin-bottom:1rem}.form-group label{font-size:.9rem;margin-bottom:.375rem}.form-group input,.form-group select{min-height:48px;font-size:16px;padding:.75rem 1rem}.form-row{grid-template-columns:1fr;gap:1rem}.form-hint{font-size:.8rem}.form-actions{flex-direction:column-reverse;gap:.75rem}.btn-primary,.btn-secondary{width:100%;min-height:48px;font-size:1rem}.course-select-row{flex-direction:column;gap:.75rem}.btn-add-course{width:100%;min-height:44px}.new-course-form{padding:1rem;margin-top:.75rem}.section-header{flex-direction:column;align-items:flex-start;gap:.625rem}.btn-toggle-holes{width:100%;min-height:44px}.holes-grid{grid-template-columns:1fr;gap:1.25rem}.holes-table{font-size:.85rem}.holes-table th{padding:.375rem}.holes-table td{padding:.2rem}.holes-table select,.holes-table input{min-height:36px;font-size:14px}.message{padding:.875rem 1rem;font-size:.9rem}.message .icon{font-size:1.1rem}}@media(max-width:380px){.creator-header h2{font-size:1.1rem}.form-section h3{font-size:.95rem}.holes-table{font-size:.8rem}}.pending-approvals{padding:20px;max-width:1200px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.page-header h1{margin:0;font-size:2em;color:var(--color-primary-300)}.refresh-btn{padding:10px 20px;background-color:var(--color-primary-500);color:var(--color-neutral-100);border:none;border-radius:6px;font-size:1em;cursor:pointer;transition:background-color .2s}.refresh-btn:hover{background-color:var(--color-primary-400)}.loading{text-align:center;padding:40px;font-size:1.2em;color:var(--color-neutral-400)}.error-message{background-color:var(--color-error-muted);color:var(--color-error);padding:15px;border-radius:6px;margin-bottom:20px;border:1px solid rgba(248,81,73,.3)}.empty-state{text-align:center;padding:60px 20px;color:var(--color-neutral-400);font-size:1.1em}.pending-list{display:grid;gap:20px}.pending-card{background:var(--bg-surface);border:1px solid var(--color-neutral-700);border-radius:8px;padding:20px;display:flex;justify-content:space-between;align-items:center;transition:box-shadow .2s}.pending-card:hover{box-shadow:var(--shadow-md)}.member-info h3{margin:0 0 15px;color:var(--color-primary-300);font-size:1.4em}.member-details{display:grid;gap:8px}.member-details p{margin:0;color:var(--color-neutral-300);font-size:.95em}.member-details strong{color:var(--color-neutral-100);margin-right:8px}.auth0-sub{font-size:.85em;color:var(--color-neutral-500);font-family:monospace}.actions{display:flex;gap:10px;flex-shrink:0}.approve-btn,.reject-btn{padding:12px 24px;border:none;border-radius:6px;font-size:1em;cursor:pointer;transition:all .2s;font-weight:600;min-width:110px}.approve-btn{background-color:var(--color-primary-500);color:var(--color-neutral-100)}.approve-btn:hover:not(:disabled){background-color:var(--color-primary-400)}.reject-btn{background-color:var(--color-error);color:var(--color-neutral-100)}.reject-btn:hover:not(:disabled){background-color:#d63940}.approve-btn:disabled,.reject-btn:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.pending-approvals{padding:12px}.page-header{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:20px}.page-header h1{font-size:1.5em}.refresh-btn{width:100%;min-height:44px}.pending-list{gap:12px}.pending-card{flex-direction:column;align-items:stretch;padding:16px}.member-info h3{font-size:1.2em;margin-bottom:12px}.member-details p{font-size:.9em}.auth0-sub{font-size:.75em;word-break:break-all}.actions{margin-top:16px;flex-direction:column;gap:8px}.approve-btn,.reject-btn{flex:none;width:100%;min-height:48px;font-size:1em}.empty-state{padding:40px 16px;font-size:1em}.error-message{font-size:.9em}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:var(--bg-surface);border-radius:12px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl);border:1px solid var(--color-neutral-700)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--color-neutral-700)}.modal-header h2{margin:0;font-size:1.4em;color:var(--color-primary-300)}.modal-close{background:none;border:none;font-size:1.8em;color:var(--color-neutral-400);cursor:pointer;padding:0;line-height:1;transition:color .2s}.modal-close:hover{color:var(--color-neutral-100)}.modal-body{padding:24px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--color-neutral-700);background-color:var(--bg-elevated)}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:6px;font-weight:600;color:var(--color-neutral-200)}.form-group input[type=text],.form-group input[type=email],.form-group input[type=tel],.form-group input[type=number],.form-group input[type=date]{width:100%;padding:10px 14px;border:2px solid var(--color-neutral-600);border-radius:6px;font-size:1em;transition:border-color .2s;box-sizing:border-box;background:var(--bg-elevated);color:var(--color-neutral-100)}.form-group input:focus{outline:none;border-color:var(--color-primary-400)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-help{margin:6px 0 0;font-size:.85em;color:var(--color-neutral-400)}.checkbox-group label{display:flex;align-items:center;gap:10px;font-weight:400;cursor:pointer}.checkbox-group input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--color-primary-400)}.error-message{background-color:var(--color-error-muted);color:var(--color-error);padding:12px 16px;border-radius:6px;margin-bottom:20px;border:1px solid rgba(248,81,73,.3)}.btn{padding:10px 20px;border:none;border-radius:6px;font-size:1em;cursor:pointer;transition:all .2s;font-weight:500}.btn-primary{background-color:var(--color-primary-500);color:var(--color-neutral-100)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-400)}.btn-secondary{background-color:var(--bg-elevated);color:var(--color-neutral-200);border:1px solid var(--color-neutral-600)}.btn-secondary:hover:not(:disabled){background-color:var(--color-neutral-700)}.btn:disabled{opacity:.6;cursor:not-allowed}@media(max-width:600px){.modal-overlay{padding:0;align-items:flex-end}.modal-content{max-height:90vh;border-radius:16px 16px 0 0;margin-bottom:0}.modal-header{padding:16px 20px}.modal-header h2{font-size:1.2em}.modal-close{font-size:1.5em;padding:8px;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.modal-body{padding:20px}.form-group{margin-bottom:16px}.form-group input[type=text],.form-group input[type=email],.form-group input[type=tel],.form-group input[type=number],.form-group input[type=date]{min-height:48px;font-size:16px;padding:12px 14px}.form-row{grid-template-columns:1fr;gap:12px}.checkbox-group label{min-height:44px}.checkbox-group input[type=checkbox]{width:22px;height:22px}.modal-footer{flex-direction:column-reverse;padding:16px 20px;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px));gap:10px}.modal-footer .btn{width:100%;min-height:48px;font-size:1rem}.error-message{font-size:.9em;padding:10px 14px}}@media(max-width:600px)and (max-height:500px){.modal-content{max-height:100vh;border-radius:0}}.deactivate-modal{max-width:450px}.deactivate-header h2{color:var(--color-error)}.deactivate-confirmation-text{font-size:1.1em;margin:0 0 8px;color:var(--color-neutral-100)}.member-email{color:var(--color-neutral-400);margin:0 0 20px}.tournament-warnings{background-color:var(--color-warning-muted);border:1px solid rgba(210,153,34,.4);border-radius:8px;padding:16px;margin:20px 0}.warning-header{display:flex;align-items:center;gap:10px;font-weight:600;color:var(--color-warning);margin-bottom:12px}.warning-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;background-color:#d299224d;color:var(--color-warning);border-radius:50%;font-weight:700;font-size:14px}.tournament-group{margin:12px 0}.tournament-group h4{margin:0 0 8px;font-size:.9em;color:var(--color-neutral-300)}.tournament-group.live h4{color:var(--color-error)}.tournament-group.upcoming h4{color:var(--color-info)}.tournament-group.completed h4{color:var(--color-neutral-400)}.tournament-group ul{margin:0;padding:0;list-style:none}.tournament-group li{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:.9em;color:var(--color-neutral-200)}.tournament-group li:last-child{border-bottom:none}.tournament-name{font-weight:500;color:var(--color-neutral-100)}.tournament-date{color:var(--color-neutral-400);font-size:.85em}.warning-note{margin:16px 0 0;font-size:.9em;color:var(--color-warning);font-style:italic}.no-registrations{color:var(--color-neutral-400);margin:16px 0}.deactivate-info{color:var(--color-neutral-300);font-size:.9em;margin:20px 0 0;padding:12px;background-color:var(--bg-elevated);border-radius:6px;border:1px solid var(--color-neutral-700)}.btn-danger{background-color:var(--color-error);color:var(--color-neutral-100)}.btn-danger:hover:not(:disabled){background-color:#d63940}@media(max-width:600px){.deactivate-modal{max-width:100%}.tournament-warnings{padding:12px}.tournament-group li{flex-direction:column;align-items:flex-start;gap:2px}.tournament-date{font-size:.8em}}.member-list{padding:var(--space-6, 1.5rem);max-width:1400px;margin:0 auto;animation:pageEnter .4s cubic-bezier(.34,1.56,.64,1)}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-6, 1.5rem);gap:var(--space-4, 1rem)}.page-header h1{margin:0 0 var(--space-2, .5rem) 0;font-family:var(--font-display, "Playfair Display", Georgia, serif);font-size:var(--text-3xl, 1.875rem);font-weight:700;color:var(--color-neutral-100, #e6edf3);letter-spacing:-.02em}.page-subtitle{margin:0;color:var(--color-neutral-400, #8b949e);font-size:var(--text-sm, .875rem)}.refresh-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2, .5rem);padding:var(--space-3, .75rem) var(--space-5, 1.25rem);font-family:var(--font-body, "Outfit", sans-serif);font-size:var(--text-sm, .875rem);font-weight:600;color:var(--color-neutral-200, #c9d1d9);background:var(--bg-elevated, #21262d);border:1px solid var(--color-neutral-600, #484f58);border-radius:var(--radius-md, 8px);cursor:pointer;transition:all .15s cubic-bezier(.4,0,.2,1);min-height:var(--touch-target-min, 44px)}.refresh-btn:hover{background:var(--color-neutral-700, #30363d);border-color:var(--color-neutral-500, #6e7681);transform:translateY(-1px)}.refresh-btn:active{transform:translateY(0)}.filters-bar{display:flex;gap:var(--space-4, 1rem);margin-bottom:var(--space-5, 1.25rem);flex-wrap:wrap;align-items:flex-end}.search-box{flex:1;min-width:280px}.search-input{width:100%;padding:var(--space-3, .75rem) var(--space-4, 1rem);font-family:var(--font-body, "Outfit", sans-serif);font-size:var(--text-base, 1rem);color:var(--color-neutral-100, #e6edf3);background:var(--bg-canvas, #0d1117);border:1px solid var(--color-neutral-700, #30363d);border-radius:var(--radius-md, 8px);transition:all .15s cubic-bezier(.4,0,.2,1);min-height:var(--touch-target-min, 44px)}.search-input:focus{outline:none;border-color:var(--color-accent-500, #c6a864);box-shadow:0 0 0 3px #c6a86426}.search-input::placeholder{color:var(--color-neutral-500, #6e7681)}.filter-group{display:flex;align-items:center;gap:var(--space-3, .75rem)}.filter-group label{font-weight:600;color:var(--color-neutral-300, #b1bac4);font-size:var(--text-sm, .875rem);white-space:nowrap}.filter-select{padding:var(--space-3, .75rem) var(--space-10, 2.5rem) var(--space-3, .75rem) var(--space-4, 1rem);font-family:var(--font-body, "Outfit", sans-serif);font-size:var(--text-base, 1rem);color:var(--color-neutral-100, #e6edf3);background:var(--bg-canvas, #0d1117);border:1px solid var(--color-neutral-700, #30363d);border-radius:var(--radius-md, 8px);cursor:pointer;transition:all .15s cubic-bezier(.4,0,.2,1);min-height:var(--touch-target-min, 44px);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238b949e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center}.filter-select:focus{outline:none;border-color:var(--color-accent-500, #c6a864);box-shadow:0 0 0 3px #c6a86426}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch;background:var(--bg-surface, #161b22);border:1px solid var(--color-neutral-800, #21262d);border-radius:var(--radius-lg, 12px);box-shadow:var(--shadow-lg, 0 10px 15px -3px rgba(0, 0, 0, .4))}.members-table{width:100%;border-collapse:collapse;font-size:var(--text-sm, .875rem)}.members-table th,.members-table td{padding:var(--space-4, 1rem);text-align:left;border-bottom:1px solid var(--color-neutral-800, #21262d)}.members-table th{background:var(--bg-elevated, #21262d);font-weight:600;color:var(--color-neutral-300, #b1bac4);text-transform:uppercase;font-size:var(--text-xs, .75rem);letter-spacing:.5px;white-space:nowrap;position:sticky;top:0;z-index:10}.members-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .15s cubic-bezier(.4,0,.2,1)}.members-table th.sortable:hover{background:var(--color-neutral-700, #30363d);color:var(--color-accent-400, #d4bc7f)}.members-table td{color:var(--color-neutral-200, #c9d1d9);vertical-align:middle}.members-table tbody tr{transition:background .15s cubic-bezier(.4,0,.2,1)}.members-table tbody tr:hover{background:#ffffff05}.members-table tbody tr:last-child td{border-bottom:none}.members-table td strong{color:var(--color-neutral-100, #e6edf3);font-weight:600}.status-badge{display:inline-flex;align-items:center;gap:var(--space-1, .25rem);padding:var(--space-1, .25rem) var(--space-3, .75rem);font-size:var(--text-xs, .75rem);font-weight:600;text-transform:uppercase;letter-spacing:.5px;border-radius:var(--radius-full, 9999px);border:1px solid transparent}.status-active{background:#3fb95026;color:#3fb950;border-color:#3fb9504d}.status-expired{background:#f8514926;color:#f85149;border-color:#f851494d}.status-expiring{background:#d2992226;color:#d29922;border-color:#d299224d;animation:expiringPulse 2s ease-in-out infinite}@keyframes expiringPulse{0%,to{opacity:1}50%{opacity:.7}}.status-pending{background:var(--bg-elevated, #21262d);color:var(--color-neutral-400, #8b949e);border-color:var(--color-neutral-700, #30363d)}.status-none{background:var(--bg-elevated, #21262d);color:var(--color-neutral-500, #6e7681);border-color:var(--color-neutral-700, #30363d)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2, .5rem);padding:var(--space-2, .5rem) var(--space-4, 1rem);font-family:var(--font-body, "Outfit", sans-serif);font-size:var(--text-sm, .875rem);font-weight:600;border-radius:var(--radius-md, 8px);border:none;cursor:pointer;transition:all .15s cubic-bezier(.4,0,.2,1);text-decoration:none;white-space:nowrap}.btn-primary{background:linear-gradient(135deg,#27642e,#1e5024);color:#fff;border:1px solid #3d8847;box-shadow:0 1px 2px #0000004d,inset 0 1px #ffffff1a}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#3d8847,#27642e);transform:translateY(-1px);box-shadow:0 4px 6px -1px #0000004d,inset 0 1px #ffffff26}.btn-sm{padding:var(--space-2, .5rem) var(--space-3, .75rem);font-size:var(--text-xs, .75rem);min-height:32px}.btn-danger{background:linear-gradient(135deg,#9b2c2c,#742a2a);color:#fff;border:1px solid #c53030;box-shadow:0 1px 2px #0000004d,inset 0 1px #ffffff1a}.btn-danger:hover:not(:disabled){background:linear-gradient(135deg,#c53030,#9b2c2c);transform:translateY(-1px);box-shadow:0 4px 6px -1px #0000004d,inset 0 1px #ffffff26}.actions-cell{display:flex;gap:var(--space-2, .5rem);flex-wrap:nowrap}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12, 3rem);color:var(--color-neutral-400, #8b949e);font-size:var(--text-lg, 1.125rem);gap:var(--space-4, 1rem)}.error-message{background:#f8514926;color:#f85149;padding:var(--space-4, 1rem);border-radius:var(--radius-md, 8px);margin-bottom:var(--space-5, 1.25rem);border:1px solid rgba(248,81,73,.3);font-size:var(--text-sm, .875rem)}.empty-state{text-align:center;padding:var(--space-12, 3rem);color:var(--color-neutral-400, #8b949e);font-size:var(--text-lg, 1.125rem);background:var(--bg-surface, #161b22);border-radius:var(--radius-lg, 12px);border:1px solid var(--color-neutral-800, #21262d)}.pagination{display:flex;align-items:center;justify-content:center;gap:var(--space-3, .75rem);margin-top:var(--space-6, 1.5rem);flex-wrap:wrap}.pagination-btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-2, .5rem) var(--space-4, 1rem);font-family:var(--font-body, "Outfit", sans-serif);font-size:var(--text-sm, .875rem);font-weight:500;color:var(--color-neutral-300, #b1bac4);background:var(--bg-surface, #161b22);border:1px solid var(--color-neutral-700, #30363d);border-radius:var(--radius-md, 8px);cursor:pointer;transition:all .15s cubic-bezier(.4,0,.2,1);min-height:var(--touch-target-min, 44px)}.pagination-btn:hover:not(:disabled){background:var(--bg-elevated, #21262d);border-color:var(--color-accent-500, #c6a864);color:var(--color-accent-400, #d4bc7f)}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-numbers{display:flex;gap:var(--space-1, .25rem)}.pagination-number{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;font-family:var(--font-body, "Outfit", sans-serif);font-size:var(--text-sm, .875rem);font-weight:500;color:var(--color-neutral-300, #b1bac4);background:var(--bg-surface, #161b22);border:1px solid var(--color-neutral-700, #30363d);border-radius:var(--radius-md, 8px);cursor:pointer;transition:all .15s cubic-bezier(.4,0,.2,1)}.pagination-number:hover:not(.active){background:var(--bg-elevated, #21262d);border-color:var(--color-neutral-500, #6e7681)}.pagination-number.active{background:linear-gradient(135deg,var(--color-accent-600, #a88a36) 0%,var(--color-accent-700, #8c722a) 100%);border-color:var(--color-accent-400, #d4bc7f);color:var(--color-neutral-950, #0d1117);font-weight:600;box-shadow:0 0 12px #c6a8644d}.pagination-ellipsis{width:40px;display:flex;align-items:center;justify-content:center;color:var(--color-neutral-500, #6e7681)}.pagination-info{color:var(--color-neutral-400, #8b949e);font-size:var(--text-sm, .875rem);margin-left:var(--space-3, .75rem)}@media(max-width:768px){.member-list{padding:var(--space-4, 1rem)}.page-header{flex-direction:column;gap:var(--space-4, 1rem);margin-bottom:var(--space-5, 1.25rem)}.page-header h1{font-size:var(--text-2xl, 1.5rem)}.page-subtitle{font-size:var(--text-xs, .75rem)}.refresh-btn{width:100%;justify-content:center}.filters-bar{flex-direction:column;gap:var(--space-3, .75rem);margin-bottom:var(--space-4, 1rem)}.search-box{width:100%;min-width:0}.search-input{font-size:16px}.filter-group{width:100%}.filter-group label{flex-shrink:0}.filter-select{flex:1;font-size:16px}.table-container{margin:0 calc(-1 * var(--space-4, 1rem));border-radius:0;border-left:none;border-right:none}.members-table{font-size:var(--text-xs, .75rem);min-width:600px}.members-table th,.members-table td{padding:var(--space-3, .75rem) var(--space-2, .5rem)}.status-badge{font-size:.65rem;padding:2px 6px}.btn-sm{min-height:36px;padding:var(--space-2, .5rem) var(--space-3, .75rem)}.pagination{flex-direction:column;gap:var(--space-3, .75rem)}.pagination-btn{width:100%;justify-content:center}.pagination-numbers{flex-wrap:wrap;justify-content:center}.pagination-number{width:44px;height:44px}.pagination-info{margin-left:0;text-align:center;width:100%}.empty-state{padding:var(--space-8, 2rem);font-size:var(--text-base, 1rem)}.error-message{font-size:var(--text-xs, .75rem)}}@media(max-width:380px){.page-header h1{font-size:var(--text-xl, 1.25rem)}.members-table{font-size:.7rem}.pagination-number{width:38px;height:38px}}@media(prefers-reduced-motion:reduce){.member-list,.status-expiring{animation:none}}.settings{max-width:800px;margin:0 auto;padding:var(--space-6, 1.5rem);animation:pageEnter .4s cubic-bezier(.34,1.56,.64,1)}.settings-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6, 1.5rem);padding-bottom:var(--space-4, 1rem);border-bottom:1px solid var(--color-neutral-700, #30363d)}.settings-header h2{margin:0;font-family:var(--font-display, "Playfair Display", Georgia, serif);font-size:var(--text-3xl, 1.875rem);font-weight:700;color:var(--color-neutral-100, #e6edf3);letter-spacing:-.02em}.settings-form{background:var(--bg-surface, #161b22);border:1px solid var(--color-neutral-800, #21262d);border-radius:var(--radius-lg, 12px);padding:var(--space-8, 2rem);box-shadow:var(--shadow-lg, 0 10px 15px -3px rgba(0, 0, 0, .4))}.settings-section{margin-bottom:var(--space-8, 2rem);padding-bottom:var(--space-6, 1.5rem);border-bottom:1px solid var(--color-neutral-800, #21262d)}.settings-section:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.settings-section h3{margin:0 0 var(--space-2, .5rem) 0;font-family:var(--font-display, "Playfair Display", Georgia, serif);font-size:var(--text-xl, 1.25rem);font-weight:600;color:var(--color-neutral-100, #e6edf3)}.section-description{margin:0 0 var(--space-5, 1.25rem) 0;color:var(--color-neutral-400, #8b949e);font-size:var(--text-sm, .875rem);line-height:1.6}.form-group{margin-bottom:var(--space-5, 1.25rem)}.form-group label{display:block;margin-bottom:var(--space-2, .5rem);font-weight:600;color:var(--color-neutral-200, #c9d1d9);font-size:var(--text-sm, .875rem)}.label-description{display:block;font-weight:400;color:var(--color-neutral-500, #6e7681);font-size:var(--text-xs, .75rem);margin-top:var(--space-1, .25rem)}.form-group input[type=number],.form-group input[type=text]{width:100%;max-width:300px;padding:var(--space-3, .75rem) var(--space-4, 1rem);font-family:var(--font-body, "Outfit", sans-serif);font-size:var(--text-base, 1rem);color:var(--color-neutral-100, #e6edf3);background:var(--bg-canvas, #0d1117);border:1px solid var(--color-neutral-700, #30363d);border-radius:var(--radius-md, 8px);transition:all .15s cubic-bezier(.4,0,.2,1)}.form-group input::placeholder{color:var(--color-neutral-500, #6e7681)}.form-group input:focus{outline:none;border-color:var(--color-accent-500, #c6a864);box-shadow:0 0 0 3px #c6a86426}.form-actions{display:flex;gap:var(--space-3, .75rem);justify-content:flex-end;margin-top:var(--space-6, 1.5rem);padding-top:var(--space-5, 1.25rem);border-top:1px solid var(--color-neutral-800, #21262d)}.primary-button,.secondary-button,.back-button{display:inline-flex;align-items:center;justify-content:center;padding:1.125rem 2.5rem;font-family:var(--font-body, "Outfit", sans-serif);font-size:1.125rem;font-weight:700;letter-spacing:.01em;border-radius:var(--radius-lg, 12px);border:none;cursor:pointer;transition:all .15s cubic-bezier(.4,0,.2,1);min-height:60px;min-width:160px}.primary-button{background:linear-gradient(135deg,#3fb950,#2ea043);color:#fff;border:1px solid rgba(255,255,255,.2);text-shadow:0 1px 2px rgba(0,0,0,.2)}.primary-button:hover:not(:disabled){background:linear-gradient(135deg,#46c45a,#3fb950);transform:translateY(-1px);box-shadow:0 4px 12px #3fb95066}.primary-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.secondary-button{background:var(--bg-surface, #161b22);color:var(--color-neutral-100, #e6edf3);border:2px solid var(--color-neutral-500, #6e7681)}.secondary-button:hover:not(:disabled){background:var(--color-neutral-700, #30363d);border-color:var(--color-neutral-400, #8b949e);color:#fff}.secondary-button:disabled{opacity:.5;cursor:not-allowed}.back-button{background:var(--bg-surface, #161b22);color:var(--color-neutral-100, #e6edf3);border:2px solid var(--color-neutral-500, #6e7681)}.back-button:hover{background:var(--color-neutral-700, #30363d);border-color:var(--color-neutral-400, #8b949e);color:#fff}@media(max-width:768px){.settings{padding:var(--space-4, 1rem)}.settings-header{flex-direction:column;align-items:flex-start;gap:var(--space-3, .75rem);margin-bottom:var(--space-5, 1.25rem);padding-bottom:var(--space-3, .75rem)}.settings-header h2{font-size:var(--text-2xl, 1.5rem)}.settings-form{padding:var(--space-5, 1.25rem);margin:0 calc(-1 * var(--space-4, 1rem));border-radius:0;border-left:none;border-right:none}.settings-section{margin-bottom:var(--space-6, 1.5rem);padding-bottom:var(--space-5, 1.25rem)}.settings-section h3{font-size:var(--text-lg, 1.125rem)}.form-group{margin-bottom:var(--space-5, 1.25rem)}.form-group label{font-size:var(--text-base, 1rem)}.form-group input[type=number],.form-group input[type=text]{max-width:100%;min-height:48px;font-size:16px;padding:var(--space-3, .75rem) var(--space-4, 1rem)}.form-actions{flex-direction:column-reverse;gap:var(--space-3, .75rem);margin-top:var(--space-5, 1.25rem);padding-top:var(--space-4, 1rem)}.primary-button,.secondary-button,.back-button{width:100%;min-height:64px;font-size:1.125rem;font-weight:700;padding:1.25rem 2rem}.error-message,.success-message{font-size:var(--text-xs, .75rem);padding:var(--space-3, .75rem)}}@media(max-width:380px){.settings-header h2{font-size:var(--text-xl, 1.25rem)}.settings-section h3{font-size:var(--text-base, 1rem)}}@media(prefers-reduced-motion:reduce){.settings{animation:none}}.action-logs-container{padding:var(--space-6, 1.5rem);max-width:1600px;margin:0 auto;animation:pageEnter .4s cubic-bezier(.34,1.56,.64,1)}.action-logs-container .page-header{margin-bottom:var(--space-6, 1.5rem)}.action-logs-container .page-header h2{margin:0 0 var(--space-2, .5rem) 0;font-family:var(--font-display, "Playfair Display", Georgia, serif);font-size:var(--text-3xl, 1.875rem);font-weight:700;color:var(--color-neutral-100, #e6edf3);letter-spacing:-.02em}.action-logs-container .page-header p{margin:0;color:var(--color-neutral-400, #8b949e);font-size:var(--text-sm, .875rem)}.action-logs-container .stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4, 1rem);margin-bottom:var(--space-6, 1.5rem)}.action-logs-container .stat-card{background:var(--bg-surface, #161b22);border:1px solid var(--color-neutral-800, #21262d);padding:var(--space-5, 1.25rem);border-radius:var(--radius-lg, 12px);display:flex;align-items:center;gap:var(--space-4, 1rem);transition:all .25s cubic-bezier(.4,0,.2,1)}.action-logs-container .stat-card:hover{border-color:var(--color-neutral-700, #30363d);transform:translateY(-2px);box-shadow:var(--shadow-lg, 0 10px 15px -3px rgba(0, 0, 0, .4))}.action-logs-container .stat-icon{font-size:2rem;width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md, 8px);flex-shrink:0}.action-logs-container .stat-card-primary .stat-icon{background:linear-gradient(135deg,#c6a86433,#c6a8641a)}.action-logs-container .stat-card-info .stat-icon{background:linear-gradient(135deg,#58a6ff33,#58a6ff1a)}.action-logs-container .stat-card-success .stat-icon{background:linear-gradient(135deg,#3fb95033,#3fb9501a)}.action-logs-container .stat-card-danger .stat-icon{background:linear-gradient(135deg,#f8514933,#f851491a)}.action-logs-container .stat-content{flex:1}.action-logs-container .stat-value{font-family:var(--font-display, "Playfair Display", Georgia, serif);font-size:var(--text-2xl, 1.5rem);font-weight:700;color:var(--color-neutral-100, #e6edf3);line-height:1}.action-logs-container .stat-label{color:var(--color-neutral-400, #8b949e);margin-top:var(--space-1, .25rem);font-size:var(--text-sm, .875rem);font-weight:500}.filters-section{background:var(--bg-surface, #161b22);border:1px solid var(--color-neutral-800, #21262d);border-radius:var(--radius-lg, 12px);margin-bottom:var(--space-5, 1.25rem);overflow:hidden}.filters-header{background:var(--bg-elevated, #21262d);padding:var(--space-4, 1rem) var(--space-5, 1.25rem);display:flex;justify-content:space-between;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:1px solid var(--color-neutral-800, #21262d);transition:background .15s cubic-bezier(.4,0,.2,1)}.filters-header:hover{background:var(--color-neutral-700, #30363d)}.filters-header h3{margin:0;font-size:var(--text-base, 1rem);font-weight:600;color:var(--color-neutral-200, #c9d1d9);display:flex;align-items:center;gap:var(--space-2, .5rem)}.filter-icon{width:18px;height:18px;color:var(--color-accent-500, #c6a864)}.toggle-filters-btn{background:var(--bg-surface, #161b22);border:1px solid var(--color-neutral-600, #484f58);width:32px;height:32px;border-radius:var(--radius-md, 8px);display:flex;align-items:center;justify-content:center;font-size:1.25rem;cursor:pointer;transition:all .15s cubic-bezier(.4,0,.2,1);color:var(--color-neutral-300, #b1bac4);font-weight:700}.toggle-filters-btn:hover{background:var(--color-accent-600, #a88a36);color:var(--color-neutral-950, #0d1117);border-color:var(--color-accent-500, #c6a864)}.action-logs-filters-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4, 1rem);padding:var(--space-5, 1.25rem);padding-bottom:0}.action-logs-filters-row:last-child{padding-bottom:var(--space-5, 1.25rem)}.action-logs-filter-group{display:flex;flex-direction:column}.action-logs-filter-group label{font-size:var(--text-sm, .875rem);font-weight:600;margin-bottom:var(--space-2, .5rem);color:var(--color-neutral-300, #b1bac4)}.action-logs-filter-group input,.action-logs-filter-group select{padding:var(--space-3, .75rem) var(--space-4, 1rem);border:1px solid var(--color-neutral-700, #30363d);border-radius:var(--radius-md, 8px);font-size:var(--text-sm, .875rem);font-family:var(--font-body, "Outfit", sans-serif);background:var(--bg-canvas, #0d1117);color:var(--color-neutral-100, #e6edf3);transition:all .15s cubic-bezier(.4,0,.2,1);min-height:44px}.action-logs-filter-group input::placeholder{color:var(--color-neutral-500, #6e7681)}.action-logs-filter-group input:focus,.action-logs-filter-group select:focus{outline:none;border-color:var(--color-accent-500, #c6a864);box-shadow:0 0 0 3px #c6a86426}.action-logs-filter-group select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238b949e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem;cursor:pointer}.results-info{margin-bottom:var(--space-4, 1rem);color:var(--color-neutral-400, #8b949e);font-size:var(--text-sm, .875rem);font-weight:500}.logs-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch;background:var(--bg-surface, #161b22);border:1px solid var(--color-neutral-800, #21262d);border-radius:var(--radius-lg, 12px);box-shadow:var(--shadow-lg, 0 10px 15px -3px rgba(0, 0, 0, .4))}.logs-table{width:100%;border-collapse:collapse}.logs-table th{background:var(--bg-elevated, #21262d);padding:var(--space-4, 1rem);text-align:left;font-weight:600;border-bottom:1px solid var(--color-neutral-700, #30363d);font-size:var(--text-xs, .75rem);color:var(--color-neutral-300, #b1bac4);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.logs-table td{padding:var(--space-4, 1rem);border-bottom:1px solid var(--color-neutral-800, #21262d);font-size:var(--text-sm, .875rem);vertical-align:top;color:var(--color-neutral-200, #c9d1d9)}.logs-table tbody tr{transition:background .15s cubic-bezier(.4,0,.2,1)}.logs-table tbody tr:hover{background:#ffffff05}.logs-table tbody tr:last-child td{border-bottom:none}.logs-table tbody tr.log-failure{background:#f8514914;border-left:3px solid #f85149}.logs-table tbody tr.log-failure:hover{background:#f851491f}.log-time{white-space:nowrap;color:var(--color-neutral-400, #8b949e);font-size:var(--text-xs, .75rem)}.action-badge{display:inline-flex;align-items:center;gap:var(--space-2, .5rem);padding:var(--space-1, .25rem) var(--space-3, .75rem);background:#58a6ff26;color:#58a6ff;border:1px solid rgba(88,166,255,.3);border-radius:var(--radius-full, 9999px);font-size:var(--text-xs, .75rem);font-weight:600}.action-emoji{font-size:1rem;line-height:1}.member-name{font-weight:600;color:var(--color-neutral-100, #e6edf3)}.member-email{font-size:var(--text-xs, .75rem);color:var(--color-neutral-400, #8b949e);margin-top:var(--space-1, .25rem)}.target-type{font-weight:600;text-transform:capitalize;color:var(--color-neutral-200, #c9d1d9)}.target-id{font-size:var(--text-xs, .75rem);color:var(--color-neutral-500, #6e7681);font-family:var(--font-mono, "JetBrains Mono", monospace);margin-top:var(--space-1, .25rem)}.status-badge{display:inline-flex;align-items:center;gap:var(--space-1, .25rem);padding:var(--space-1, .25rem) var(--space-3, .75rem);border-radius:var(--radius-full, 9999px);font-size:var(--text-xs, .75rem);font-weight:600;border:1px solid transparent}.status-icon{width:14px;height:14px}.status-success{background:#3fb95026;color:#3fb950;border-color:#3fb9504d}.status-failure{background:#f8514926;color:#f85149;border-color:#f851494d}.log-ip{font-family:var(--font-mono, "JetBrains Mono", monospace);color:var(--color-neutral-400, #8b949e);font-size:var(--text-xs, .75rem)}.error-detail{color:#f85149;font-size:var(--text-xs, .75rem);margin-bottom:var(--space-2, .5rem);padding:var(--space-2, .5rem) var(--space-3, .75rem);background:#f851491a;border-radius:var(--radius-sm, 4px);border-left:2px solid #f85149}.details-toggle{background:#c6a86426;color:var(--color-accent-400, #d4bc7f);border:1px solid rgba(198,168,100,.3);padding:var(--space-1, .25rem) var(--space-3, .75rem);border-radius:var(--radius-full, 9999px);font-size:var(--text-xs, .75rem);font-weight:600;cursor:pointer;transition:all .15s cubic-bezier(.4,0,.2,1)}.details-toggle:hover{background:#c6a86440;transform:translateY(-1px)}.details-json{background:var(--bg-canvas, #0d1117);color:var(--color-neutral-200, #c9d1d9);padding:var(--space-4, 1rem);border-radius:var(--radius-md, 8px);font-size:var(--text-xs, .75rem);overflow-x:auto;margin-top:var(--space-2, .5rem);font-family:var(--font-mono, "JetBrains Mono", monospace);line-height:1.6;border:1px solid var(--color-neutral-700, #30363d)}.text-muted{color:var(--color-neutral-500, #6e7681);font-style:italic}.action-logs-container .pagination{display:flex;justify-content:center;align-items:center;gap:var(--space-4, 1rem);margin-top:var(--space-6, 1.5rem);flex-wrap:wrap}.btn-pagination{background:var(--bg-surface, #161b22);border:1px solid var(--color-neutral-700, #30363d);padding:var(--space-3, .75rem) var(--space-5, 1.25rem);border-radius:var(--radius-md, 8px);font-size:var(--text-sm, .875rem);font-weight:600;color:var(--color-neutral-300, #b1bac4);cursor:pointer;transition:all .15s cubic-bezier(.4,0,.2,1);min-height:44px}.btn-pagination:hover:not(:disabled){background:var(--color-accent-600, #a88a36);color:var(--color-neutral-950, #0d1117);border-color:var(--color-accent-500, #c6a864);transform:translateY(-2px);box-shadow:0 4px 12px #c6a8644d}.btn-pagination:disabled{opacity:.4;cursor:not-allowed}.page-info{color:var(--color-neutral-400, #8b949e);font-size:var(--text-sm, .875rem)}.page-info strong{color:var(--color-accent-400, #d4bc7f);font-weight:700}.btn-secondary{background:var(--bg-elevated, #21262d);border:1px solid var(--color-neutral-600, #484f58);padding:var(--space-3, .75rem) var(--space-5, 1.25rem);border-radius:var(--radius-md, 8px);font-size:var(--text-sm, .875rem);font-weight:600;color:var(--color-neutral-200, #c9d1d9);cursor:pointer;transition:all .15s cubic-bezier(.4,0,.2,1)}.btn-secondary:hover{background:var(--color-neutral-700, #30363d);border-color:var(--color-neutral-500, #6e7681);transform:translateY(-1px)}.loading-state{text-align:center;padding:var(--space-12, 3rem) var(--space-6, 1.5rem);color:var(--color-neutral-400, #8b949e)}.action-logs-container .spinner{width:48px;height:48px;border:3px solid var(--color-neutral-700, #30363d);border-top-color:var(--color-accent-500, #c6a864);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto var(--space-4, 1rem)}.no-results{text-align:center;padding:var(--space-12, 3rem) var(--space-6, 1.5rem);background:var(--bg-surface, #161b22);border:1px solid var(--color-neutral-800, #21262d);border-radius:var(--radius-lg, 12px)}.no-results-icon{font-size:4rem;margin-bottom:var(--space-4, 1rem);opacity:.5}.no-results-text{color:var(--color-neutral-400, #8b949e);font-size:var(--text-lg, 1.125rem);margin-bottom:var(--space-5, 1.25rem)}.action-logs-container .error-message{background:#f8514926;color:#f85149;padding:var(--space-4, 1rem);border-radius:var(--radius-md, 8px);margin-bottom:var(--space-4, 1rem);border:1px solid rgba(248,81,73,.3);font-weight:500}@media(max-width:768px){.action-logs-container{padding:var(--space-4, 1rem)}.action-logs-container .page-header h2{font-size:var(--text-2xl, 1.5rem)}.action-logs-container .stats-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-3, .75rem)}.action-logs-container .stat-card{padding:var(--space-4, 1rem)}.action-logs-container .stat-icon{width:44px;height:44px;font-size:1.5rem}.action-logs-container .stat-value{font-size:var(--text-xl, 1.25rem)}.action-logs-filters-row{grid-template-columns:1fr;gap:var(--space-3, .75rem);padding:var(--space-4, 1rem);padding-bottom:0}.action-logs-filters-row:last-child{padding-bottom:var(--space-4, 1rem)}.action-logs-filter-group input,.action-logs-filter-group select{font-size:16px}.logs-table-container{margin:0 calc(-1 * var(--space-4, 1rem));border-radius:0;border-left:none;border-right:none}.logs-table{min-width:800px;font-size:var(--text-xs, .75rem)}.logs-table th,.logs-table td{padding:var(--space-3, .75rem) var(--space-2, .5rem)}.action-logs-container .pagination{flex-direction:column;gap:var(--space-3, .75rem)}.btn-pagination{width:100%;justify-content:center}.no-results{padding:var(--space-8, 2rem) var(--space-4, 1rem)}.no-results-icon{font-size:3rem}.no-results-text{font-size:var(--text-base, 1rem)}}@media(max-width:380px){.action-logs-container .page-header h2{font-size:var(--text-xl, 1.25rem)}.action-logs-container .stats-grid{grid-template-columns:1fr}.action-logs-container .stat-value{font-size:var(--text-lg, 1.125rem)}}@media(prefers-reduced-motion:reduce){.action-logs-container{animation:none}.action-logs-container .spinner{animation-duration:2s}}.course-management{max-width:1000px;margin:0 auto;padding:var(--space-6, 1.5rem);animation:pageEnter .4s cubic-bezier(.34,1.56,.64,1)}@keyframes pageEnter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.course-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6, 1.5rem);padding-bottom:var(--space-4, 1rem);border-bottom:1px solid var(--color-neutral-700, #30363d)}.course-header h2{margin:0;font-family:var(--font-display, "Playfair Display", Georgia, serif);font-size:var(--text-3xl, 1.875rem);font-weight:700;color:var(--color-neutral-100, #e6edf3);letter-spacing:-.02em}.course-list{background:var(--bg-surface, #161b22);border:1px solid var(--color-neutral-800, #21262d);border-radius:var(--radius-lg, 12px);overflow:hidden;box-shadow:var(--shadow-lg, 0 10px 15px -3px rgba(0, 0, 0, .4))}.course-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.course-table{width:100%;border-collapse:collapse}.course-table th,.course-table td{padding:var(--space-4, 1rem);text-align:left;border-bottom:1px solid var(--color-neutral-800, #21262d)}.course-table th{font-weight:600;color:var(--color-neutral-300, #b1bac4);background:var(--bg-elevated, #21262d);font-size:var(--text-xs, .75rem);text-transform:uppercase;letter-spacing:.5px}.course-table td{color:var(--color-neutral-200, #c9d1d9);font-size:var(--text-sm, .875rem)}.course-table tbody tr{transition:background .15s cubic-bezier(.4,0,.2,1)}.course-table tbody tr:hover{background:#ffffff05}.course-table tbody tr:last-child td{border-bottom:none}.edit-input{width:100%;padding:var(--space-3, .75rem) var(--space-4, 1rem);font-family:var(--font-body, "Outfit", sans-serif);font-size:var(--text-base, 1rem);color:var(--color-neutral-100, #e6edf3);background:var(--bg-canvas, #0d1117);border:1px solid var(--color-neutral-700, #30363d);border-radius:var(--radius-md, 8px);transition:all .15s cubic-bezier(.4,0,.2,1);box-sizing:border-box}.edit-input:focus{outline:none;border-color:var(--color-accent-500, #c6a864);box-shadow:0 0 0 3px #c6a86426}.edit-input::placeholder{color:var(--color-neutral-500, #6e7681)}.edit-input-small{width:100px}.actions-cell{display:flex;gap:var(--space-2, .5rem)}.edit-btn,.save-btn,.cancel-btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-2, .5rem) var(--space-4, 1rem);font-family:var(--font-body, "Outfit", sans-serif);font-size:var(--text-sm, .875rem);font-weight:600;border-radius:var(--radius-md, 8px);border:none;cursor:pointer;transition:all .15s cubic-bezier(.4,0,.2,1);white-space:nowrap}.edit-btn{background:linear-gradient(135deg,var(--color-accent-600, #a88a36) 0%,var(--color-accent-700, #8c722a) 100%);color:var(--color-neutral-950, #0d1117);border:1px solid var(--color-accent-400, #d4bc7f)}.edit-btn:hover{background:linear-gradient(135deg,var(--color-accent-500, #c6a864) 0%,var(--color-accent-600, #a88a36) 100%);transform:translateY(-1px);box-shadow:0 4px 12px #c6a8644d}.save-btn{background:linear-gradient(135deg,#3fb950,#2ea043);color:#fff;border:1px solid rgba(255,255,255,.1)}.save-btn:hover:not(:disabled){background:linear-gradient(135deg,#46c45a,#3fb950);transform:translateY(-1px);box-shadow:0 4px 12px #3fb9504d}.save-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.cancel-btn{background:var(--bg-elevated, #21262d);color:var(--color-neutral-200, #c9d1d9);border:1px solid var(--color-neutral-600, #484f58)}.cancel-btn:hover:not(:disabled){background:var(--color-neutral-700, #30363d);border-color:var(--color-neutral-500, #6e7681)}.cancel-btn:disabled{opacity:.5;cursor:not-allowed}.empty-state{text-align:center;padding:var(--space-12, 3rem);color:var(--color-neutral-400, #8b949e)}.empty-state p{margin:0;font-size:var(--text-base, 1rem)}.error-message{background:#f8514926;border:1px solid rgba(248,81,73,.3);color:#f85149;padding:var(--space-4, 1rem);border-radius:var(--radius-md, 8px);margin-bottom:var(--space-5, 1.25rem);font-size:var(--text-sm, .875rem)}.success-message{background:#3fb95026;border:1px solid rgba(63,185,80,.3);color:#3fb950;padding:var(--space-4, 1rem);border-radius:var(--radius-md, 8px);margin-bottom:var(--space-5, 1.25rem);font-size:var(--text-sm, .875rem)}.loading{text-align:center;padding:var(--space-12, 3rem);color:var(--color-neutral-400, #8b949e);font-size:var(--text-lg, 1.125rem)}@media(max-width:768px){.course-management{padding:var(--space-4, 1rem)}.course-header{flex-direction:column;align-items:flex-start;gap:var(--space-3, .75rem);margin-bottom:var(--space-5, 1.25rem);padding-bottom:var(--space-3, .75rem)}.course-header h2{font-size:var(--text-2xl, 1.5rem)}.course-list{margin:0 calc(-1 * var(--space-4, 1rem));border-radius:0;border-left:none;border-right:none}.course-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.course-table{min-width:500px;font-size:var(--text-xs, .75rem)}.course-table th,.course-table td{padding:var(--space-3, .75rem) var(--space-2, .5rem)}.edit-input{min-height:44px;font-size:16px;padding:var(--space-3, .75rem)}.edit-input-small{width:80px;min-height:40px}.actions-cell{flex-direction:column;gap:var(--space-2, .5rem)}.edit-btn,.save-btn,.cancel-btn{min-height:40px;padding:var(--space-2, .5rem) var(--space-3, .75rem);width:100%}.error-message,.success-message{font-size:var(--text-xs, .75rem);padding:var(--space-3, .75rem)}.empty-state{padding:var(--space-8, 2rem) var(--space-4, 1rem);font-size:var(--text-sm, .875rem)}}@media(max-width:380px){.course-header h2{font-size:var(--text-xl, 1.25rem)}.course-table{font-size:.7rem}.edit-input-small{width:70px}}@media(prefers-reduced-motion:reduce){.course-management{animation:none}}.splash-screen{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;background:var(--bg-canvas, #0d1117);position:relative;overflow:hidden}.splash-screen:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 30% 30%,rgba(39,100,46,.2) 0%,transparent 50%),radial-gradient(ellipse at 70% 70%,rgba(198,168,100,.15) 0%,transparent 50%),radial-gradient(ellipse at 50% 50%,rgba(39,100,46,.1) 0%,transparent 60%);pointer-events:none;animation:ambientPulse 8s ease-in-out infinite}@keyframes ambientPulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}.splash-screen:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");opacity:.03;pointer-events:none}.splash-container{display:flex;flex-direction:column;align-items:center;gap:2.5rem;position:relative;z-index:1;animation:fadeIn .6s cubic-bezier(.34,1.56,.64,1)}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.splash-logo{width:140px;height:auto;filter:drop-shadow(0 8px 32px rgba(198,168,100,.3));animation:logoFloat 3s ease-in-out infinite,logoGlow 4s ease-in-out infinite}@keyframes logoFloat{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-6px) rotate(.5deg)}50%{transform:translateY(-10px) rotate(0)}75%{transform:translateY(-6px) rotate(-.5deg)}}@keyframes logoGlow{0%,to{filter:drop-shadow(0 8px 32px rgba(198,168,100,.3))}50%{filter:drop-shadow(0 8px 48px rgba(198,168,100,.5))}}.splash-spinner{position:relative;width:80px;height:80px}.spinner-ring{position:absolute;width:100%;height:100%;border:2px solid transparent;border-radius:50%;animation:spin 2s cubic-bezier(.5,0,.5,1) infinite}.spinner-ring:nth-child(1){border-top-color:var(--color-accent-500, #c6a864);animation-delay:0s;filter:drop-shadow(0 0 8px rgba(198,168,100,.6))}.spinner-ring:nth-child(2){width:70%;height:70%;top:15%;left:15%;border-right-color:var(--color-primary-400, #3d8847);animation-delay:-.3s;animation-direction:reverse;filter:drop-shadow(0 0 6px rgba(61,136,71,.5))}.spinner-ring:nth-child(3){width:40%;height:40%;top:30%;left:30%;border-bottom-color:var(--color-accent-400, #d4bc7f);animation-delay:-.15s;filter:drop-shadow(0 0 4px rgba(212,188,127,.4))}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.splash-spinner:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:10px;height:10px;background:radial-gradient(circle at 30% 30%,#fff,#e0e0e0);border-radius:50%;box-shadow:inset -2px -2px 4px #0003,0 2px 8px #0000004d;animation:ballPulse 1.5s ease-in-out infinite}@keyframes ballPulse{0%,to{transform:translate(-50%,-50%) scale(1);opacity:1}50%{transform:translate(-50%,-50%) scale(1.2);opacity:.8}}.splash-message{font-family:var(--font-display, "Playfair Display", Georgia, serif);font-size:1.25rem;font-weight:500;color:var(--color-neutral-300, #b1bac4);text-align:center;letter-spacing:.5px;animation:messageFade 2s ease-in-out infinite}@keyframes messageFade{0%,to{opacity:1}50%{opacity:.5}}.splash-message:after{content:"";display:inline-block;animation:dots 1.5s steps(4,end) infinite}@keyframes dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}to{content:""}}@media(max-width:768px){.splash-container{gap:2rem;padding:1rem}.splash-logo{width:100px}.splash-spinner{width:64px;height:64px}.splash-message{font-size:1.1rem}}@media(max-width:380px){.splash-logo{width:80px}.splash-spinner{width:56px;height:56px}.splash-message{font-size:1rem}}@media(prefers-reduced-motion:reduce){.splash-screen:before{animation:none}.splash-logo{animation:none}.spinner-ring{animation-duration:3s}.splash-spinner:before{animation:none}.splash-message{animation:none}}:root{--color-primary-900: #0a1f0d;--color-primary-800: #0f2e14;--color-primary-700: #163d1c;--color-primary-600: #1e5024;--color-primary-500: #27642e;--color-primary-400: #3d8847;--color-primary-300: #5aab65;--color-primary-200: #8acc93;--color-primary-100: #c5e5c9;--color-accent-900: #433613;--color-accent-800: #6b571f;--color-accent-700: #8c722a;--color-accent-600: #a88a36;--color-accent-500: #c6a864;--color-accent-400: #d4bc7f;--color-accent-300: #e2d099;--color-accent-200: #efe4b4;--color-accent-100: #faf5e6;--color-neutral-950: #0d1117;--color-neutral-900: #161b22;--color-neutral-800: #21262d;--color-neutral-700: #30363d;--color-neutral-600: #484f58;--color-neutral-500: #6e7681;--color-neutral-400: #8b949e;--color-neutral-300: #b1bac4;--color-neutral-200: #c9d1d9;--color-neutral-100: #e6edf3;--color-neutral-50: #f0f6fc;--color-success: #3fb950;--color-success-muted: rgba(63, 185, 80, .15);--color-warning: #d29922;--color-warning-muted: rgba(210, 153, 34, .15);--color-error: #f85149;--color-error-muted: rgba(248, 81, 73, .15);--color-info: #58a6ff;--color-info-muted: rgba(88, 166, 255, .15);--bg-canvas: #0d1117;--bg-surface: #161b22;--bg-elevated: #21262d;--bg-overlay: rgba(33, 38, 45, .95);--font-display: "Playfair Display", Georgia, serif;--font-body: "Outfit", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--text-xs: clamp(.7rem, .65rem + .25vw, .75rem);--text-sm: clamp(.8rem, .75rem + .25vw, .875rem);--text-base: clamp(.9rem, .85rem + .25vw, 1rem);--text-lg: clamp(1rem, .95rem + .25vw, 1.125rem);--text-xl: clamp(1.125rem, 1rem + .5vw, 1.25rem);--text-2xl: clamp(1.375rem, 1.2rem + .75vw, 1.5rem);--text-3xl: clamp(1.625rem, 1.4rem + 1vw, 1.875rem);--text-4xl: clamp(2rem, 1.7rem + 1.5vw, 2.5rem);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 24px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .3), 0 2px 4px -2px rgba(0, 0, 0, .2);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4), 0 4px 6px -4px rgba(0, 0, 0, .3);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .5), 0 8px 10px -6px rgba(0, 0, 0, .4);--shadow-glow: 0 0 20px rgba(198, 168, 100, .15);--shadow-inner: inset 0 2px 4px rgba(0, 0, 0, .2);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .35s cubic-bezier(.4, 0, .2, 1);--transition-bounce: .5s cubic-bezier(.34, 1.56, .64, 1);--safe-area-top: env(safe-area-inset-top, 0px);--safe-area-bottom: env(safe-area-inset-bottom, 0px);--safe-area-left: env(safe-area-inset-left, 0px);--safe-area-right: env(safe-area-inset-right, 0px);--touch-target-min: 44px;--z-dropdown: 100;--z-sticky: 200;--z-nav: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-toast: 600}.App{min-height:100vh;min-height:100dvh;background:var(--bg-canvas);display:flex;flex-direction:column;position:relative}.App:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");opacity:.02;pointer-events:none;z-index:0}.admin-header{background:linear-gradient(180deg,var(--bg-surface) 0%,var(--bg-canvas) 100%);border-bottom:1px solid var(--color-neutral-700);padding:var(--space-4) var(--space-6);position:sticky;top:0;z-index:var(--z-sticky);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.header-content{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:var(--space-4)}.admin-title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:600;color:var(--color-neutral-100);display:flex;align-items:center;gap:var(--space-3);letter-spacing:-.02em}.admin-title .logo{font-size:1.5em;filter:drop-shadow(0 0 8px rgba(198,168,100,.3))}.header-info{display:flex;align-items:center;gap:var(--space-4)}.user-email{color:var(--color-neutral-400);font-size:var(--text-sm);padding:var(--space-2) var(--space-4);background:var(--bg-elevated);border-radius:var(--radius-full);border:1px solid var(--color-neutral-700)}.logout-btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:500;color:var(--color-neutral-300);background:transparent;border:1px solid var(--color-neutral-600);border-radius:var(--radius-md);transition:all var(--transition-fast);min-height:var(--touch-target-min)}.logout-btn:hover{color:var(--color-neutral-100);border-color:var(--color-neutral-400);background:var(--bg-elevated)}.admin-nav{background:var(--bg-surface);border-bottom:1px solid var(--color-neutral-800);position:sticky;top:60px;z-index:var(--z-nav)}.nav-content{max-width:1400px;margin:0 auto;padding:0 var(--space-6);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.nav-links{display:flex;gap:0;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;padding:var(--space-1) 0}.nav-links::-webkit-scrollbar{display:none}.nav-link{position:relative;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-6) var(--space-8);font-size:var(--text-xl);font-weight:500;color:var(--color-neutral-400);background:transparent;border:none;border-bottom:3px solid transparent;transition:all var(--transition-fast);white-space:nowrap}.nav-link:hover{color:var(--color-neutral-200);background:#ffffff05}.nav-link.active{color:var(--color-accent-400);border-bottom-color:var(--color-accent-500)}.nav-link.active:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:32px;height:2px;background:var(--color-accent-500);box-shadow:0 0 12px var(--color-accent-500)}.nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 var(--space-2);font-size:var(--text-xs);font-weight:600;color:#fff;background:var(--color-error);border-radius:var(--radius-full);animation:badge-pulse 2s ease-in-out infinite}@keyframes badge-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.nav-breadcrumb{display:flex;align-items:center;gap:var(--space-2);color:var(--color-neutral-500);font-size:var(--text-sm)}.breadcrumb-separator{color:var(--color-neutral-600)}.breadcrumb-item{color:var(--color-neutral-300);font-weight:500}.pending-banner{display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-3) var(--space-6);background:linear-gradient(90deg,var(--color-warning-muted) 0%,rgba(210,153,34,.08) 50%,var(--color-warning-muted) 100%);border-bottom:1px solid rgba(210,153,34,.3);cursor:pointer;transition:all var(--transition-fast)}.pending-banner:hover{background:linear-gradient(90deg,#d2992233,#d299221f,#d2992233)}.pending-banner-icon{font-size:var(--text-lg)}.pending-banner-text{color:var(--color-warning);font-weight:500;font-size:var(--text-sm)}.pending-banner-action{color:var(--color-accent-400);font-weight:600;font-size:var(--text-sm);transition:transform var(--transition-fast)}.pending-banner:hover .pending-banner-action{transform:translate(4px)}.admin-container{flex:1;max-width:1400px;width:100%;margin:0 auto;padding:var(--space-8) var(--space-6);position:relative;z-index:1}.admin-footer{background:var(--bg-surface);border-top:1px solid var(--color-neutral-800);padding:var(--space-4);text-align:center}.admin-footer p{color:var(--color-neutral-500);font-size:var(--text-xs);letter-spacing:.5px}.card{background:var(--bg-surface);border:1px solid var(--color-neutral-800);border-radius:var(--radius-lg);overflow:hidden;transition:all var(--transition-base)}.card:hover{border-color:var(--color-neutral-700);box-shadow:var(--shadow-lg)}.card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding:var(--space-6);border-bottom:1px solid var(--color-neutral-800);background:linear-gradient(180deg,var(--bg-elevated) 0%,var(--bg-surface) 100%)}.card-header h2{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:600;color:var(--color-neutral-100);letter-spacing:-.02em}.card-subtitle{color:var(--color-neutral-400);font-size:var(--text-sm);margin-top:var(--space-1)}.card-body{padding:var(--space-6)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:1rem 2rem;font-family:var(--font-body);font-size:1rem;font-weight:700;letter-spacing:.01em;border-radius:var(--radius-lg);border:none;cursor:pointer;transition:all var(--transition-fast);text-decoration:none;white-space:nowrap;min-height:56px}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-primary{background:linear-gradient(135deg,var(--color-primary-500) 0%,var(--color-primary-600) 100%);color:#fff;border:1px solid var(--color-primary-400);box-shadow:var(--shadow-sm),inset 0 1px #ffffff1a}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,var(--color-primary-400) 0%,var(--color-primary-500) 100%);transform:translateY(-1px);box-shadow:var(--shadow-md),inset 0 1px #ffffff26}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background:var(--bg-elevated);color:var(--color-neutral-200);border:1px solid var(--color-neutral-600)}.btn-secondary:hover:not(:disabled){background:var(--color-neutral-700);border-color:var(--color-neutral-500)}.btn-accent{background:linear-gradient(135deg,var(--color-accent-600) 0%,var(--color-accent-700) 100%);color:var(--color-neutral-950);border:1px solid var(--color-accent-400);box-shadow:var(--shadow-sm),var(--shadow-glow)}.btn-accent:hover:not(:disabled){background:linear-gradient(135deg,var(--color-accent-500) 0%,var(--color-accent-600) 100%);box-shadow:var(--shadow-md),0 0 30px #c6a86440}.btn-success{background:linear-gradient(135deg,var(--color-success) 0%,#2ea043 100%);color:#fff;border:1px solid rgba(255,255,255,.1)}.btn-success:hover:not(:disabled){background:linear-gradient(135deg,#46c45a 0%,var(--color-success) 100%)}.btn-warning{background:linear-gradient(135deg,var(--color-warning) 0%,#b88a1a 100%);color:#fff;border:1px solid rgba(255,255,255,.1)}.btn-danger{background:linear-gradient(135deg,var(--color-error) 0%,#da3633 100%);color:#fff;border:1px solid rgba(255,255,255,.1)}.btn-danger:hover:not(:disabled){background:linear-gradient(135deg,#ff6b63 0%,var(--color-error) 100%)}.btn-outline{background:transparent;color:var(--color-accent-400);border:1px solid var(--color-accent-500)}.btn-outline:hover:not(:disabled){background:#c6a8641a;border-color:var(--color-accent-400)}.btn-sm{padding:.625rem 1.25rem;font-size:.875rem;min-height:40px}.btn-lg{padding:1.25rem 3rem;font-size:1.125rem;min-height:64px}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--radius-lg);border:1px solid var(--color-neutral-800)}.data-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.data-table thead{background:var(--bg-elevated);position:sticky;top:0;z-index:10}.data-table th{padding:var(--space-4) var(--space-4);text-align:left;font-weight:600;color:var(--color-neutral-300);text-transform:uppercase;font-size:var(--text-xs);letter-spacing:.5px;border-bottom:1px solid var(--color-neutral-700);white-space:nowrap}.data-table td{padding:var(--space-4);color:var(--color-neutral-200);border-bottom:1px solid var(--color-neutral-800);vertical-align:middle}.data-table tbody tr{transition:background var(--transition-fast)}.data-table tbody tr:hover{background:#ffffff05}.data-table tbody tr.clickable{cursor:pointer}.data-table tbody tr.clickable:hover{background:#c6a8640d}.data-table tbody tr:last-child td{border-bottom:none}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px;border-radius:var(--radius-full);border:1px solid transparent}.badge-upcoming{background:var(--color-info-muted);color:var(--color-info);border-color:#58a6ff4d}.badge-live{background:var(--color-success-muted);color:var(--color-success);border-color:#3fb9504d;animation:live-pulse 2s ease-in-out infinite}@keyframes live-pulse{0%,to{box-shadow:0 0 #3fb95066}50%{box-shadow:0 0 0 8px #3fb95000}}.badge-completed{background:var(--bg-elevated);color:var(--color-neutral-400);border-color:var(--color-neutral-700)}.badge-cancelled{background:var(--color-error-muted);color:var(--color-error);border-color:#f851494d}.form-group{margin-bottom:var(--space-5)}.form-label{display:block;margin-bottom:var(--space-2);font-size:var(--text-sm);font-weight:500;color:var(--color-neutral-200)}.form-input,.form-select,.form-textarea{width:100%;padding:var(--space-3) var(--space-4);font-family:var(--font-body);font-size:var(--text-base);color:var(--color-neutral-100);background:var(--bg-canvas);border:1px solid var(--color-neutral-700);border-radius:var(--radius-md);transition:all var(--transition-fast);min-height:var(--touch-target-min)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-accent-500);box-shadow:0 0 0 3px #c6a86426}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-neutral-500)}.form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238b949e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-4) center;padding-right:var(--space-10);cursor:pointer}.form-textarea{resize:vertical;min-height:100px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.stat-card{background:var(--bg-surface);border:1px solid var(--color-neutral-800);border-radius:var(--radius-lg);padding:var(--space-5);transition:all var(--transition-base)}.stat-card:hover{border-color:var(--color-neutral-700);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.stat-icon{font-size:var(--text-2xl);margin-bottom:var(--space-2)}.stat-label{font-size:var(--text-sm);color:var(--color-neutral-400);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-1)}.stat-value{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:700;color:var(--color-neutral-100);line-height:1.2}.action-buttons{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-6)}.action-buttons.centered{justify-content:center}.action-buttons.right{justify-content:flex-end}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12);color:var(--color-neutral-400);gap:var(--space-4)}.spinner{width:40px;height:40px;border:3px solid var(--color-neutral-700);border-top-color:var(--color-accent-500);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;padding:var(--space-12);color:var(--color-neutral-400)}.empty-state-icon{font-size:3rem;margin-bottom:var(--space-4);opacity:.5}.empty-state h3{font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-neutral-300);margin-bottom:var(--space-2)}.empty-state p{font-size:var(--text-sm)}.alert{display:flex;align-items:flex-start;gap:var(--space-4);padding:var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-4);border:1px solid transparent}.alert-icon{font-size:var(--text-xl);flex-shrink:0}.alert-content h4{font-size:var(--text-sm);font-weight:600;margin-bottom:var(--space-1)}.alert-content p{font-size:var(--text-sm);opacity:.9}.alert-success{background:var(--color-success-muted);color:var(--color-success);border-color:#3fb9504d}.alert-warning{background:var(--color-warning-muted);color:var(--color-warning);border-color:#d299224d}.alert-error{background:var(--color-error-muted);color:var(--color-error);border-color:#f851494d}.alert-info{background:var(--color-info-muted);color:var(--color-info);border-color:#58a6ff4d}.error-banner{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--color-error-muted);border:1px solid rgba(248,81,73,.3);border-radius:var(--radius-md);margin-bottom:var(--space-6);color:var(--color-error)}.error-icon{font-size:var(--text-xl)}.grid{display:grid;gap:var(--space-6)}.grid-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.auth-screen{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:var(--space-6);background:var(--bg-canvas);position:relative;overflow:hidden}.auth-screen:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 30% 20%,rgba(39,100,46,.15) 0%,transparent 50%),radial-gradient(ellipse at 70% 80%,rgba(198,168,100,.1) 0%,transparent 50%),radial-gradient(ellipse at 90% 10%,rgba(39,100,46,.1) 0%,transparent 40%);pointer-events:none}.auth-screen:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(90deg,transparent,transparent 120px,rgba(255,255,255,.01) 120px,rgba(255,255,255,.01) 121px);pointer-events:none;animation:fairway-shift 20s linear infinite}@keyframes fairway-shift{0%{transform:translate(0)}to{transform:translate(121px)}}.auth-container{background:var(--bg-surface);border:1px solid var(--color-neutral-700);border-radius:var(--radius-xl);padding:var(--space-10) var(--space-8);max-width:420px;width:100%;text-align:center;position:relative;z-index:1;box-shadow:var(--shadow-xl),0 0 100px #27642e1a;animation:auth-enter .5s cubic-bezier(.34,1.56,.64,1)}@keyframes auth-enter{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.auth-logo{width:100px;height:100px;margin:0 auto var(--space-6);filter:drop-shadow(0 8px 24px rgba(198,168,100,.2));animation:logo-float 4s ease-in-out infinite}@keyframes logo-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.auth-container h1{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:700;color:var(--color-neutral-100);margin-bottom:var(--space-2);letter-spacing:-.02em}.auth-container>p{color:var(--color-neutral-400);font-size:var(--text-base);line-height:1.6;margin-bottom:var(--space-8)}.login-btn{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:var(--space-4) var(--space-6);font-family:var(--font-body);font-size:var(--text-lg);font-weight:600;color:var(--color-neutral-950);background:linear-gradient(135deg,var(--color-accent-500) 0%,var(--color-accent-600) 100%);border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);box-shadow:0 4px 20px #c6a8644d,inset 0 1px #fff3;min-height:56px}.login-btn:hover{background:linear-gradient(135deg,var(--color-accent-400) 0%,var(--color-accent-500) 100%);transform:translateY(-2px);box-shadow:0 8px 30px #c6a86466,inset 0 1px #ffffff40}.login-btn:active{transform:translateY(0)}.error-message{background:var(--color-error-muted);border:1px solid rgba(248,81,73,.3);border-radius:var(--radius-md);padding:var(--space-5);margin:var(--space-6) 0;text-align:left}.error-message h2{font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-error);margin-bottom:var(--space-2)}.error-message p{color:var(--color-neutral-300);font-size:var(--text-sm);margin-bottom:var(--space-2)}.error-message p:last-child{margin-bottom:0}.filter-bar{display:flex;flex-wrap:wrap;gap:var(--space-4);align-items:flex-end}@media(max-width:1024px){.admin-container{padding:var(--space-6) var(--space-4)}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}}@media(max-width:768px){:root{--space-6: 1.25rem;--space-8: 1.5rem}.admin-header{padding:var(--space-3) var(--space-4)}.header-content{gap:var(--space-2)}.admin-title{font-size:var(--text-xl);gap:var(--space-2)}.admin-title .logo{font-size:1.25em}.user-email{display:none}.logout-btn{padding:var(--space-2) var(--space-3);font-size:var(--text-xs)}.admin-nav{position:fixed;bottom:0;left:0;right:0;top:auto;z-index:var(--z-nav);background:var(--bg-surface);border-top:1px solid var(--color-neutral-700);border-bottom:none;padding-bottom:var(--safe-area-bottom);box-shadow:0 -4px 20px #0000004d}.nav-content{padding:0;max-width:none;flex-direction:column;align-items:stretch}.nav-links{display:flex;flex-wrap:nowrap;overflow-x:auto;padding:var(--space-2) var(--space-2);gap:0}.nav-link{flex-direction:column;padding:var(--space-4) var(--space-5);font-size:.9rem;gap:var(--space-2);min-width:80px;text-align:center;border-bottom:none;flex-shrink:0;border-radius:var(--radius-md)}.nav-link.active{background:#c6a8641a;border-bottom:none}.nav-link.active:after{display:none}.nav-badge{position:absolute;top:2px;right:2px;min-width:16px;height:16px;font-size:.6rem;padding:0 4px}.nav-breadcrumb{display:none}.App{padding-bottom:calc(80px + var(--safe-area-bottom))}.admin-container{padding:var(--space-4)}.card-header{flex-direction:column;gap:var(--space-4);padding:var(--space-4)}.card-header h2{font-size:var(--text-xl)}.card-body{padding:var(--space-4)}.action-buttons{flex-direction:column}.btn{width:100%;justify-content:center;min-height:60px;font-size:1.0625rem;padding:1rem 1.5rem}.stats-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.stat-card{padding:var(--space-4)}.stat-value{font-size:var(--text-2xl)}.table-container{margin:0 calc(-1 * var(--space-4));border-radius:0;border-left:none;border-right:none}.data-table{font-size:var(--text-xs);min-width:600px}.data-table th,.data-table td{padding:var(--space-3) var(--space-2)}.grid-2,.grid-3{grid-template-columns:1fr}.pending-banner{padding:var(--space-3) var(--space-4);flex-wrap:nowrap}.pending-banner-text{font-size:var(--text-xs);flex:1}.pending-banner-action{font-size:var(--text-xs);flex-shrink:0}.auth-container{padding:var(--space-8) var(--space-5);margin:var(--space-4)}.auth-logo{width:80px;height:80px}.auth-container h1{font-size:var(--text-2xl)}.login-btn{font-size:var(--text-base)}.form-input,.form-select,.form-textarea{font-size:16px}.filter-bar{flex-direction:column;align-items:stretch}.filter-bar .form-group{max-width:none!important;width:100%}}@media(max-width:380px){.admin-title{font-size:var(--text-lg)}.admin-title .logo{font-size:1.1em}.nav-link{font-size:.85rem;min-width:72px;padding:var(--space-3) var(--space-4)}.stats-grid{grid-template-columns:1fr}.stat-value{font-size:var(--text-xl)}.auth-logo{width:64px;height:64px}}@media(max-height:500px)and (orientation:landscape){.auth-screen,.auth-container{padding:var(--space-4)}.auth-logo{width:60px;height:60px;margin-bottom:var(--space-3)}.auth-container h1{font-size:var(--text-xl);margin-bottom:var(--space-1)}.auth-container>p{font-size:var(--text-sm);margin-bottom:var(--space-4)}.login-btn{min-height:48px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media print{.admin-header,.admin-nav,.admin-footer,.pending-banner,.btn{display:none!important}.App{background:#fff;padding:0}.admin-container{max-width:none;padding:0}.card{box-shadow:none;border:1px solid #ccc}}
