:root{--bg: #0e0a12;--surface: #1a1420;--surface-2: #221a29;--surface-3: #2a2135;--border: #2e2436;--text: #f3eef5;--text-dim: #a89bb0;--text-invert: #ffffff;--brand-red: #d43552;--brand-purple: #6d28a8;--brand-gradient: linear-gradient(135deg, var(--brand-red), var(--brand-purple));--status: #8b7cf0;--status-dim: #241f3a;--status-border: #3a3163;--warn: #e8a33d;--warn-dim: #3a2f14;--danger: var(--brand-red);--danger-dim: #3a1826;--danger-text: #ff8fa3;--radius: 14px;--radius-sm: 9px;--shadow: 0 2px 10px rgba(0, 0, 0, .25)}*{box-sizing:border-box}button,select,input,textarea{font-family:inherit;color:inherit}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:15px}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:28px 24px;width:100%;max-width:340px;box-shadow:var(--shadow)}.login-title{font-size:19px;font-weight:700;margin-bottom:18px;text-align:center}.login-logo{display:block;width:100%;max-width:260px;margin:0 auto 4px}.login-subtitle{font-size:13px;color:var(--text-dim);text-align:center;text-transform:uppercase;letter-spacing:.6px;margin-bottom:20px}.login-input{width:100%;padding:11px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:15px;margin-bottom:10px}.login-input:focus{outline:none;border-color:var(--brand-purple)}.login-btn{width:100%;padding:12px;border-radius:var(--radius-sm);border:none;background:var(--brand-gradient);color:var(--text-invert);font-weight:700;font-size:15px;cursor:pointer;transition:filter .15s,transform .05s}.login-btn:hover{filter:brightness(1.08)}.login-btn:active{transform:scale(.99)}.login-error{color:var(--danger);font-size:13px;margin-bottom:10px;text-align:center}.login-forgot-link{align-self:flex-end;font-size:13px;margin:-4px 0 4px;padding:2px}header{padding:18px 16px 14px;background:linear-gradient(180deg,var(--surface) 0%,var(--bg) 100%);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.brand{display:flex;align-items:center;gap:10px}.brand-logo{height:42px}.brand-sub{font-size:12px;color:var(--text-dim);margin-top:1px}.logout-btn{font-size:13px;color:var(--text-dim);background:none;border:none;cursor:pointer}.logout-btn:hover{color:var(--text)}main{padding:16px;max-width:480px;margin:0 auto}.section-title{font-size:14px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.6px;margin:18px 0 10px;font-weight:600}.my-entry{background:var(--status-dim);border:1px solid var(--status-border);border-radius:var(--radius);padding:14px 16px;margin-bottom:8px}.my-entry-title{font-weight:700;font-size:16px;color:var(--status)}.my-entry-detail{font-size:14px;color:var(--text-dim);margin-top:4px}.my-entry-seated-note{font-size:13px;color:var(--text-dim);margin-top:10px;padding:10px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm)}.btn-leave{width:100%;margin-top:10px;padding:10px;border-radius:var(--radius-sm);border:1px solid var(--danger-dim);background:transparent;color:var(--danger);font-weight:600;font-size:14px;cursor:pointer;transition:background .15s}.btn-leave:hover{background:var(--danger-dim)}.empty-state{font-size:14px;color:var(--text-dim);padding:14px 4px}.table-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:12px;box-shadow:var(--shadow)}.table-card-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}.table-name{font-size:17px;font-weight:700}.table-game{font-size:13px;color:var(--text-dim);margin-top:2px}.badge{font-size:12px;font-weight:700;padding:4px 10px;border-radius:20px;white-space:nowrap}.badge-open{background:var(--status-dim);color:var(--status)}.badge-starting{background:var(--warn-dim);color:var(--warn)}.badge-full,.badge-closed{background:var(--surface-3);color:var(--text-dim)}.blinds-row{display:flex;gap:18px;margin:12px 0;padding:10px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.stat{flex:1}.stat-label{font-size:12px;color:var(--text-dim);margin-bottom:2px}.stat-value{font-size:15px;font-weight:600}.occupancy-row{display:flex;align-items:center;gap:10px;margin-bottom:6px}.occupancy-bar{flex:1;height:6px;background:var(--surface-2);border-radius:4px;overflow:hidden}.occupancy-fill{height:100%;background:var(--status);border-radius:4px;transition:width .3s}.occupancy-text{font-size:13px;color:var(--text-dim);white-space:nowrap}.waiting-text{font-size:13px;color:var(--warn);margin:6px 0 12px}.btn-join{width:100%;padding:12px;border-radius:var(--radius-sm);border:none;background:var(--brand-gradient);color:var(--text-invert);font-weight:700;font-size:15px;margin-top:12px;cursor:pointer;transition:filter .15s,transform .05s}.btn-join:hover:not(:disabled){filter:brightness(1.08)}.btn-join:active:not(:disabled){transform:scale(.99)}.btn-join:disabled{background:var(--surface-2);color:var(--text-dim);cursor:default}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:var(--surface-2);border:1px solid var(--border);color:var(--text);padding:10px 18px;border-radius:30px;font-size:14px;z-index:50;box-shadow:var(--shadow)}.header-right{display:flex;align-items:center;gap:14px}.view-switch{display:flex;gap:4px;background:var(--surface-2);border-radius:8px;padding:3px}.view-switch button{border:none;background:none;color:var(--text-dim);font-size:13px;font-weight:600;padding:7px 12px;border-radius:6px;cursor:pointer;transition:background .15s,color .15s}.view-switch button:hover{color:var(--text)}.view-switch button.active{background:var(--brand-gradient);color:var(--text-invert)}.admin-panel{max-width:960px;margin:0 auto;padding:16px;display:flex;gap:18px;align-items:flex-start;flex-wrap:wrap}.admin-tables-list{flex:1;min-width:280px;display:flex;flex-direction:column;gap:8px}.admin-table-row{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px 14px;cursor:pointer;transition:border-color .15s}.admin-table-row:hover{border-color:var(--brand-purple)}.admin-table-row.selected{border-color:var(--brand-purple);box-shadow:0 0 0 1px var(--brand-purple)}.admin-table-name{font-weight:700;font-size:15px}.admin-table-sub{font-size:12px;color:var(--text-dim);margin-top:2px}.admin-table-counts{display:flex;flex-direction:column;align-items:flex-end;font-size:13px;color:var(--text-dim);gap:2px}.admin-waiting-count{color:var(--warn);font-size:12px}.admin-toggle-btn{font-size:12px;font-weight:700;padding:7px 12px;border-radius:7px;border:1px solid var(--border);background:transparent;color:var(--text);cursor:pointer;transition:background .15s}.admin-toggle-btn:hover{background:var(--surface-2)}.admin-toggle-btn.accent{color:var(--status);border-color:var(--status-border)}.admin-toggle-btn.danger{color:var(--danger);border-color:var(--danger-dim)}.admin-detail{flex:1.3;min-width:320px}.admin-section-title{font-size:13px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.6px;margin:16px 0 8px;font-weight:600}.admin-empty{font-size:13px;color:var(--text-dim);padding:8px 0}.admin-entry-row{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:10px 12px;margin-bottom:6px}.admin-entry-name{font-weight:600;font-size:14px}.admin-entry-sub{font-size:12px;color:var(--text-dim);margin-top:2px}.admin-entry-actions{display:flex;gap:6px}.admin-action-btn{font-size:12px;font-weight:700;padding:6px 10px;border-radius:7px;border:1px solid var(--border);background:transparent;color:var(--text);cursor:pointer;transition:background .15s}.admin-action-btn:hover{background:var(--surface-2)}.admin-action-btn.accent{color:var(--status);border-color:var(--status-border)}.admin-action-btn.danger{color:var(--danger);border-color:var(--danger-dim)}.admin-search-input{width:100%;padding:10px 12px;border-radius:8px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:14px;margin-bottom:8px}.admin-search-input:focus{outline:none;border-color:var(--brand-purple)}.auth-card{max-width:420px;margin:40px auto;padding:24px;background:var(--surface);border-radius:16px;display:flex;flex-direction:column;gap:12px;box-shadow:var(--shadow)}.auth-card h2{text-align:center;margin-bottom:8px}.auth-card input,.auth-card select{padding:10px 12px;border-radius:8px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:15px;width:100%}.auth-card input:focus,.auth-card select:focus{outline:none;border-color:var(--brand-purple)}.form-row{display:flex;gap:10px}.form-row>*{flex:1;min-width:0}.checkbox-row{display:flex;align-items:center;gap:8px;font-size:14px}.checkbox-row input{width:auto}.auth-card button[type=submit],.auth-card .btn-primary{background:var(--brand-gradient);color:var(--text-invert);border:none;padding:12px;border-radius:8px;font-weight:700;font-size:15px;cursor:pointer;margin-top:8px;transition:filter .15s}.auth-card button[type=submit]:hover,.auth-card .btn-primary:hover{filter:brightness(1.08)}.link-button{background:none;border:none;color:var(--brand-red);text-decoration:underline;cursor:pointer;font-size:14px;padding:4px}.auth-card .error{background:var(--danger-dim);color:var(--danger-text);padding:8px 12px;border-radius:8px;font-size:14px}.auth-card-icon{width:52px;height:52px;border-radius:50%;background:var(--status-dim);border:1px solid var(--status-border);display:flex;align-items:center;justify-content:center;font-size:24px;margin:0 auto 4px}.auth-card-icon.success{background:var(--status-dim);border-color:var(--status-border)}.auth-card p{color:var(--text-dim);font-size:14px;line-height:1.5;margin:0}.auth-card p strong{color:var(--text)}.admin-new-table-btn{width:100%;margin-bottom:12px}.admin-row-actions{display:flex;gap:6px;flex-wrap:wrap}.admin-table-form{display:flex;flex-direction:column;gap:12px}.admin-table-form label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--text-dim)}.admin-table-form input,.admin-table-form select{padding:8px 10px;border-radius:8px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:15px}.admin-table-form input:focus,.admin-table-form select:focus{outline:none;border-color:var(--brand-purple)}.admin-form-full{width:100%}.admin-form-error{background:var(--danger-dim);color:var(--danger-text);padding:8px 12px;border-radius:8px;font-size:14px}.admin-form-actions{display:flex;gap:10px}.admin-form-actions button[type=submit]{background:var(--brand-gradient);color:var(--text-invert);border:none}.admin-form-actions button[type=submit]:hover{filter:brightness(1.08)}.public-tabs{margin:16px;display:flex;width:calc(100% - 32px)}.public-tabs button{flex:1;text-align:center}.login-btn-header{background:var(--brand-gradient);color:var(--text-invert);border:none;padding:8px 16px;border-radius:8px;font-weight:700;font-size:14px;cursor:pointer;transition:filter .15s}.login-btn-header:hover{filter:brightness(1.08)}.auth-close-btn{position:absolute;top:12px;right:12px;background:none;border:none;color:var(--text-dim);font-size:19px;cursor:pointer}.auth-close-btn:hover{color:var(--text)}.login-card,.auth-card{position:relative}.tournament-datetime{color:var(--text-dim);font-size:14px;margin:4px 0}.tournament-extra-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px;font-size:13px;color:var(--text-dim)}.tournament-extra-row span{background:var(--surface-2);padding:3px 8px;border-radius:6px}.tournament-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:flex-start;justify-content:center;padding:20px;overflow-y:auto;z-index:100}.tournament-modal{position:relative;background:var(--surface);border-radius:16px;padding:24px;max-width:480px;width:100%;margin-top:20px;box-shadow:var(--shadow)}.tournament-modal-close{position:absolute;top:12px;right:12px;background:none;border:none;color:var(--text-dim);font-size:19px;cursor:pointer}.tournament-modal-close:hover{color:var(--text)}.tournament-modal-sub{color:var(--text-dim);font-size:14px;margin-bottom:16px}.tournament-modal-details{display:flex;flex-direction:column;gap:6px;font-size:15px;margin-bottom:16px}.tournament-modal-image-section{margin-top:16px}.tournament-modal-image-title{font-size:13px;color:var(--text-dim);margin-bottom:6px}.tournament-modal-image-section img{width:100%;border-radius:10px}.admin-section-switch{margin:16px;display:flex;width:calc(100% - 32px)}.admin-section-switch button{flex:1;text-align:center}.admin-table-row{flex-wrap:wrap;row-gap:8px}.admin-row-actions{width:100%;justify-content:flex-end}.admin-toggle-btn{font-size:12px;padding:6px 10px}.admin-walkin-row{flex-wrap:wrap;row-gap:8px}.admin-walkin-actions{display:flex;gap:8px;align-items:center}.admin-walkin-select{padding:6px 8px;border-radius:8px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:14px}.theme-toggle-btn{background:none;border:1px solid var(--border);border-radius:8px;padding:6px 10px;cursor:pointer;font-size:15px;transition:background .15s}.theme-toggle-btn:hover{background:var(--surface-2)}.admin-audit-log{display:flex;flex-direction:column}.admin-audit-filters{margin-bottom:10px}.admin-audit-filters select{padding:8px 10px;border-radius:8px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:14px}.admin-audit-row{background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-bottom:6px;overflow:hidden}.admin-audit-row-main{display:grid;grid-template-columns:140px 140px 1fr 140px;gap:10px;align-items:center;padding:10px 12px;cursor:pointer;transition:background .15s}.admin-audit-row-main:hover{background:var(--surface-2)}.admin-audit-date{font-size:12px;color:var(--text-dim);white-space:nowrap}.admin-audit-actor{font-size:13px;font-weight:600}.admin-audit-action{font-size:13px}.admin-audit-entity{font-size:12px;color:var(--text-dim);text-align:right;white-space:nowrap}.admin-audit-detail{padding:12px;border-top:1px solid var(--border);background:var(--surface-2);font-size:13px;display:flex;flex-direction:column;gap:10px}.admin-audit-detail strong{font-size:12px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.4px}.admin-audit-detail pre{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:10px;margin:6px 0 0;font-size:12px;overflow-x:auto;color:var(--text)}.admin-audit-diff{display:flex;flex-direction:column;gap:5px;margin-top:6px;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:10px}.admin-audit-diff-row{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;font-size:13px}.admin-audit-diff-field{color:var(--text-dim);min-width:130px;flex-shrink:0}.admin-audit-diff-arrow{color:var(--text-dim)}.admin-audit-pagination{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:14px;font-size:13px;color:var(--text-dim)}@media (max-width: 640px){.admin-audit-row-main{grid-template-columns:1fr 1fr;grid-template-rows:auto auto}.admin-audit-entity{text-align:left}}.admin-users{display:block}.admin-users h2{margin:0 0 14px;font-size:18px}.admin-users-search{display:flex;gap:8px;margin-bottom:16px}.admin-users-search input{flex:1;padding:10px 12px;border-radius:8px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:14px}.admin-users-search input:focus{outline:none;border-color:var(--brand-purple)}.admin-users-search button{padding:10px 16px;border-radius:8px;border:none;background:var(--brand-gradient);color:var(--text-invert);font-weight:700;font-size:14px;cursor:pointer;transition:filter .15s}.admin-users-search button:hover:not(:disabled){filter:brightness(1.08)}.admin-users-search button:disabled{opacity:.6;cursor:default}.admin-users-layout{display:flex;gap:18px;align-items:flex-start;flex-wrap:wrap}.admin-users-results{flex:1;min-width:280px;display:flex;flex-direction:column;gap:6px}.admin-users-row{display:block;width:100%;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:10px 12px;cursor:pointer;transition:border-color .15s;font-family:inherit;color:inherit}.admin-users-row:hover{border-color:var(--brand-purple)}.admin-users-row.selected{border-color:var(--brand-purple);box-shadow:0 0 0 1px var(--brand-purple)}.admin-users-row-main{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:14px}.admin-users-row-sub{font-size:12px;color:var(--text-dim);margin-top:3px}.admin-user-status{font-size:11px;font-weight:700;padding:3px 9px;border-radius:20px;white-space:nowrap}.admin-user-status.status-pendiente{background:var(--warn-dim);color:var(--warn)}.admin-user-status.status-activa{background:var(--status-dim);color:var(--status)}.admin-user-status.status-bloqueada{background:var(--danger-dim);color:var(--danger-text)}.admin-user-status.status-deshabilitada{background:var(--surface-3);color:var(--text-dim)}.admin-users-detail{flex:1.3;min-width:320px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.admin-users-detail-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.admin-users-detail-header h3{margin:0;font-size:16px}.admin-users-nickname{color:var(--text-dim);font-weight:400;font-size:14px}.admin-users-fields{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:13px;margin:0 0 14px}.admin-users-fields dt{color:var(--text-dim)}.admin-users-fields dd{margin:0}.admin-users-verified{color:var(--status);font-size:12px}.admin-users-unverified{color:var(--warn);font-size:12px}.admin-users-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.admin-users-history{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.admin-users-history li{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:8px 10px}.admin-users-history-line{display:flex;justify-content:space-between;gap:10px;font-size:13px}.admin-users-history-sub{font-size:12px;color:var(--text-dim);margin-top:2px}.admin-users-empty{font-size:13px;color:var(--text-dim);padding:8px 0}@media (max-width: 640px){.admin-users-fields{grid-template-columns:1fr}.admin-users-fields dt{margin-top:6px;font-size:11px;text-transform:uppercase;letter-spacing:.4px}}.brand{cursor:pointer}.profile-view{max-width:480px;margin:0 auto;padding:16px;display:flex;flex-direction:column;gap:16px}.profile-loading{padding:40px 16px;text-align:center;color:var(--text-dim)}.profile-header{display:flex;align-items:center;justify-content:space-between}.profile-header h2{margin:0;font-size:19px}.profile-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;display:flex;flex-direction:column;gap:10px}.profile-readonly{gap:0}.profile-readonly-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--border);font-size:14px}.profile-readonly-row:last-child{border-bottom:none}.profile-label{color:var(--text-dim);flex-shrink:0}.profile-value{font-weight:600;text-align:right}.profile-msg-ok{background:var(--status-dim);color:var(--status);padding:8px 12px;border-radius:8px;font-size:14px}.profile-view button[type=submit]{background:var(--brand-gradient);color:var(--text-invert);border:none;padding:10px;border-radius:8px;font-weight:700;font-size:14px;cursor:pointer;transition:filter .15s}.profile-view button[type=submit]:hover:not(:disabled){filter:brightness(1.08)}.profile-view button[type=submit]:disabled{opacity:.6;cursor:default}@media (max-width: 480px){.profile-readonly-row{flex-direction:column;align-items:flex-start;gap:2px}.profile-value{text-align:left}}.admin-guest-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px;margin-top:10px;display:flex;flex-direction:column;gap:12px}.admin-guest-form label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--text-dim)}.admin-guest-form input,.admin-guest-form select{padding:8px 10px;border-radius:8px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:15px}.admin-guest-form input:focus,.admin-guest-form select:focus{outline:none;border-color:var(--brand-purple)}[data-theme=light]{--bg: #f5f3f8;--surface: #ffffff;--surface-2: #f0edf5;--surface-3: #e6e0f0;--border: #ddd6e8;--text: #221a29;--text-dim: #6b5f7a;--status-dim: #ece7fb;--status-border: #c7bdf0;--warn-dim: #fdf1de;--danger-dim: #fde3e9;--danger-text: var(--brand-red);--shadow: 0 2px 10px rgba(30, 20, 40, .08)}[data-theme=light] header{background:linear-gradient(180deg,#ffffff 0%,var(--bg) 100%)}
