.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:1rem}.login-card{background:#fff;border-radius:1rem;padding:2.5rem;box-shadow:var(--shadow-lg);width:100%;max-width:400px}.login-card h1{text-align:center;color:var(--primary);margin-bottom:.5rem;font-size:2rem}.subtitle{text-align:center;color:var(--text-light);margin-bottom:2rem}.btn-block{width:100%;justify-content:center}.login-info{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--border);font-size:.875rem;color:var(--text-light);text-align:center}.login-info p{margin:.25rem 0}@media (max-width: 768px){.login-card{padding:1.5rem}}.page-header{margin-bottom:2rem;text-align:center}.page-header h1{font-size:2rem;color:var(--text);margin-bottom:.5rem}.page-header p{color:var(--text-light)}.matches-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.match-card{background:#fff;border-radius:1rem;padding:1.5rem;box-shadow:var(--shadow);text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s;display:block}.match-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.match-card-bidding-closed{opacity:.72;filter:grayscale(.25)}.match-card-bidding-closed:hover{opacity:.85}.match-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.match-id{color:var(--text-light);font-size:.875rem}.match-teams{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.team{flex:1;text-align:center}.team-name{font-size:1.25rem;font-weight:600;color:var(--text);margin-bottom:.5rem}.team-bids{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.5rem}.bid-count{font-size:1.5rem;font-weight:700;color:var(--primary)}.bid-label{font-size:.75rem;color:var(--text-light);text-transform:uppercase}.team-points{font-size:.875rem;color:var(--secondary);font-weight:600}.vs{font-weight:700;color:var(--text-light);font-size:1.25rem}.match-footer{display:flex;justify-content:space-between;align-items:center;padding-top:1rem;border-top:1px solid var(--border);font-size:.875rem;color:var(--text-light)}.match-total{font-weight:600;color:var(--text)}.badge{padding:.25rem .75rem;border-radius:1rem;font-size:.75rem;font-weight:600;text-transform:uppercase}.badge-info{background:#dbeafe;color:#1e40af}.badge-success{background:#d1fae5;color:#065f46}.badge-secondary{background:#e0e7ff;color:#3730a3}.badge-danger{background:#fee2e2;color:#991b1b}.tournament-section-title{font-size:1.35rem;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid var(--border, #e5e7eb)}.tournament-desc{color:var(--text-light);font-size:.95rem;margin-bottom:1rem}.matches-subsection{margin-bottom:1.75rem}.matches-subsection-completed{margin-top:.5rem;padding-top:1rem;border-top:1px dashed var(--border, #e5e7eb)}.matches-subsection-title{font-size:1.05rem;font-weight:600;color:var(--text);margin:0 0 .75rem}.matches-subsection-empty{color:var(--text-light);font-size:.95rem;margin:0 0 .5rem}.match-result-line{margin-top:.75rem;font-size:.9rem;font-weight:600;color:var(--primary, #2563eb)}@media (max-width: 768px){.matches-grid{grid-template-columns:1fr}}.match-details{max-width:800px;margin:0 auto}.match-header-card{margin-bottom:2rem}.match-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.match-title h1{font-size:2rem;color:var(--text)}.status-badge{padding:.5rem 1rem;border-radius:.5rem;font-weight:600;font-size:.875rem}.status-upcoming{background:#dbeafe;color:#1e40af}.status-live{background:#d1fae5;color:#065f46}.status-completed{background:#e0e7ff;color:#3730a3}.match-info{display:flex;flex-direction:column;gap:1rem}.info-item{display:flex;gap:1rem}.info-item .label{font-weight:600;color:var(--text-light);min-width:120px}.info-item .value{color:var(--text)}.time-remaining{color:var(--warning);font-weight:600}.stat-card{text-align:center}.stat-card h3{font-size:1.5rem;margin-bottom:1rem;color:var(--text)}.stat-value{font-size:3rem;font-weight:700;color:var(--primary);margin-bottom:.5rem}.stat-label{color:var(--text-light);margin-bottom:.5rem}.stat-points{color:var(--secondary);font-weight:600}.my-bid-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;margin-bottom:2rem}.my-bid-card h3{margin-bottom:1rem}.my-bid-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.my-bid-info .label{display:block;font-size:.875rem;opacity:.9;margin-bottom:.25rem}.my-bid-info .value{font-size:1.25rem;font-weight:600}.bid-card{margin-top:2rem}.bid-card h3{margin-bottom:1.5rem}.input-hint{font-size:.875rem;color:var(--text-light);margin-top:.5rem}@media (max-width: 768px){.match-title{flex-direction:column;align-items:flex-start;gap:1rem}.info-item{flex-direction:column;gap:.25rem}.my-bid-info{grid-template-columns:1fr}}.bid-card-disabled{opacity:.85;background:var(--surface-muted, #f1f5f9)!important;border:1px dashed var(--border, #cbd5e1)}.bid-card-disabled .input-disabled,.bid-card-disabled select:disabled{opacity:.7;cursor:not-allowed}.bid-count-toggle{background:none;border:none;padding:0;font:inherit;color:var(--primary, #2563eb);cursor:pointer;text-decoration:underline;text-align:left}.bid-count-toggle:disabled{opacity:.7;cursor:wait}.bid-count-hint{font-size:.85rem;color:var(--text-light);margin:.25rem 0 0}.bid-log-card .admin-table-wrap{overflow-x:auto}.bid-log-card table{width:100%;border-collapse:collapse;font-size:.9rem}.bid-log-card th,.bid-log-card td{padding:.5rem .75rem;border-bottom:1px solid var(--border, #e5e7eb);text-align:left}.bid-log-card th{font-weight:600;color:var(--text)}.wallet-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;text-align:center;margin-bottom:2rem}.wallet-balance{padding:1rem 0}.balance-label{font-size:1rem;opacity:.9;margin-bottom:1rem}.balance-amount{font-size:4rem;font-weight:700;margin-bottom:.5rem}.balance-unit{font-size:1.25rem;opacity:.9}.wallet-info h3{margin-bottom:1.5rem;color:var(--text)}.info-grid{display:grid;gap:1rem}.info-item{display:flex;justify-content:space-between;padding:1rem;background:var(--bg);border-radius:.5rem}.info-item .label{color:var(--text-light);font-weight:500}.info-item .value{color:var(--text);font-weight:600}.wallet-actions{text-align:center;margin-top:2rem}@media (max-width: 768px){.balance-amount{font-size:3rem}}.transactions-list{display:flex;flex-direction:column;gap:1rem}.transaction-card{border-left:4px solid var(--border)}.transaction-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.transaction-amount{font-size:1.5rem;font-weight:700}.transaction-amount.positive{color:var(--secondary)}.transaction-amount.negative{color:var(--danger)}.transaction-details{display:flex;flex-direction:column;gap:.5rem}.detail-item{display:flex;gap:1rem;font-size:.875rem}.detail-item .label{color:var(--text-light);min-width:120px}.detail-item .value{color:var(--text)}.type-badge{padding:.25rem .75rem;border-radius:.5rem;font-size:.75rem;font-weight:600}.type-bid{background:#dbeafe;color:#1e40af}.type-payout{background:#d1fae5;color:#065f46}.type-refund{background:#fef3c7;color:#92400e}.type-adjustment{background:#e0e7ff;color:#3730a3}@media (max-width: 768px){.transaction-header{flex-direction:column;align-items:flex-start;gap:.5rem}.detail-item{flex-direction:column;gap:.25rem}}.grid-4{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.admin-metric-label{color:var(--text-light);font-size:.9rem}.admin-metric-value{font-size:2rem;font-weight:700;color:var(--primary)}.admin-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.admin-span-2{grid-column:span 2}.admin-table-wrap{overflow-x:auto}.admin-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;gap:.75rem}.admin-muted{color:var(--text-light);font-size:.9rem}.stats-calc-link{font-size:.95rem;font-weight:500;white-space:nowrap}.help-cursor{cursor:help}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid var(--border);padding:.65rem .5rem;vertical-align:middle}.admin-table th{color:var(--text-light);font-weight:600;font-size:.9rem}.admin-matrix-table td,.admin-matrix-table th{white-space:nowrap}.admin-matrix-table .matrix-cell-bid{white-space:normal;min-width:7rem}.admin-matrix-table .matrix-cell-simple{font-weight:600;font-size:.95rem}.admin-matrix-table .matrix-cell-net-pos{color:#15803d}.admin-matrix-table .matrix-cell-net-neg{color:#b91c1c}.admin-matrix-table .matrix-total-row td{background:#2563eb14;border-top:2px solid var(--border);border-bottom:2px solid var(--border);vertical-align:middle}.admin-matrix-table .matrix-total-pos{color:#15803d}.admin-matrix-table .matrix-total-neg{color:#b91c1c}.admin-actions{display:flex;gap:.5rem;flex-wrap:wrap}@media (max-width: 768px){.admin-form-grid{grid-template-columns:1fr}.admin-span-2{grid-column:span 1}}.stats-calc-page{max-width:960px;margin:0 auto}.stats-calc-back{margin-bottom:1rem}.stats-calc-back-bottom{margin-top:2rem;padding-top:1rem}.stats-calc-lead{color:var(--text-light);font-size:1.05rem;line-height:1.55}.stats-calc-section{margin-bottom:1.25rem;text-align:left}.stats-calc-section h2{margin-top:0;font-size:1.25rem;color:var(--text)}.stats-calc-section h3{font-size:1.05rem;margin:1rem 0 .5rem;color:var(--text)}.stats-calc-section p,.stats-calc-section li{line-height:1.55;color:var(--text)}.stats-calc-section ul{margin:.5rem 0 .75rem 1.25rem}.stats-calc-formula{background:var(--surface-alt, #f4f4f5);border:1px solid var(--border);border-radius:.5rem;padding:.75rem 1rem;margin:.75rem 0;font-size:.95rem;line-height:1.5}.stats-calc-note{background:#fffbeb;border-left:4px solid #f59e0b;padding:.75rem 1rem;margin-top:1rem;border-radius:0 .25rem .25rem 0}.stats-calc-section code{font-size:.9em;background:var(--surface-alt, #f4f4f5);padding:.1rem .35rem;border-radius:.25rem}.stats-calc-controls-title{margin-top:0;font-size:1.2rem}.stats-calc-match-list{margin-bottom:2rem}.stats-calc-match-list-title{font-size:1.25rem;margin:0 0 1rem;text-align:left}.stats-calc-match-card{margin-bottom:1.5rem;text-align:left}.stats-calc-match-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.stats-calc-match-head h3{margin:0;font-size:1.1rem}.stats-calc-vs{color:var(--text-light);font-weight:500}.stats-calc-status{font-size:.8rem;font-weight:600;text-transform:uppercase;padding:.2rem .5rem;border-radius:.25rem}.stats-calc-status-completed{background:#e0e7ff;color:#3730a3}.stats-calc-status-upcoming{background:#dbeafe;color:#1e40af}.stats-calc-status-closed{background:#fef3c7;color:#92400e}.stats-calc-result-line{margin:0 0 .75rem;font-size:.95rem}.stats-calc-pool-box{background:var(--surface-alt, #f8fafc);border:1px solid var(--border);border-radius:.5rem;padding:.75rem 1rem;margin-bottom:1rem}.stats-calc-pool-title{font-weight:600;margin-bottom:.35rem}.stats-calc-pool-formula{margin:0 0 .5rem;font-size:.9rem;color:var(--text-light)}.stats-calc-pool-lines{margin:0 0 .5rem 1.1rem;font-size:.9rem}.stats-calc-pool-total{margin:.5rem 0;font-size:.95rem}.stats-calc-pool-note{margin:.5rem 0 0;font-size:.88rem;color:var(--text-light);line-height:1.45}.stats-calc-table-wrap{overflow-x:auto}.stats-calc-user-table{width:100%;border-collapse:collapse;font-size:.9rem}.stats-calc-user-table th,.stats-calc-user-table td{text-align:left;padding:.5rem .65rem;border-bottom:1px solid var(--border);vertical-align:top}.stats-calc-user-table th{color:var(--text-light);font-weight:600;font-size:.85rem}.stats-calc-pos{color:#15803d;font-weight:600}.stats-calc-neg{color:#b91c1c;font-weight:600}.stats-calc-footnote{margin:.75rem 0 0;font-size:.85rem}.layout{min-height:100vh;display:flex;flex-direction:column}.navbar{background:#fff;box-shadow:var(--shadow);position:sticky;top:0;z-index:100;border-bottom:1px solid var(--border)}.nav-content{display:flex;justify-content:space-between;align-items:center;padding:1rem 0}.logo{font-size:1.5rem;font-weight:700;color:var(--primary);text-decoration:none}.nav-links{display:flex;align-items:center;gap:2rem}.nav-links a{color:var(--text);text-decoration:none;font-weight:500;transition:color .2s}.nav-links a:hover{color:var(--primary)}.user-info{display:flex;align-items:center;gap:1rem;padding-left:1rem;border-left:1px solid var(--border)}.user-name{font-weight:600;color:var(--text)}.wallet-balance{color:var(--secondary);font-weight:600}.btn-sm{padding:.5rem 1rem;font-size:.875rem}.main-content{flex:1;padding:2rem 0}@media (max-width: 768px){.nav-content{flex-direction:column;gap:1rem}.nav-links{flex-direction:column;gap:1rem;width:100%}.user-info{border-left:none;border-top:1px solid var(--border);padding-top:1rem;padding-left:0;width:100%;justify-content:space-between}}*{margin:0;padding:0;box-sizing:border-box}:root{--primary: #2563eb;--primary-dark: #1e40af;--secondary: #10b981;--danger: #ef4444;--warning: #f59e0b;--bg: #f9fafb;--card-bg: #ffffff;--text: #1f2937;--text-light: #6b7280;--border: #e5e7eb;--shadow: 0 1px 3px 0 rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg);color:var(--text);line-height:1.6}.container{max-width:1200px;margin:0 auto;padding:1rem}.btn{padding:.75rem 1.5rem;border:none;border-radius:.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:.5rem}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-secondary{background:var(--secondary);color:#fff}.btn-secondary:hover{opacity:.9}.btn-danger{background:var(--danger);color:#fff}.btn-outline{background:transparent;border:2px solid var(--primary);color:var(--primary)}.btn-outline:hover{background:var(--primary);color:#fff}.btn:disabled{opacity:.5;cursor:not-allowed}.card{background:var(--card-bg);border-radius:.75rem;padding:1.5rem;box-shadow:var(--shadow);margin-bottom:1rem}.input-group{margin-bottom:1rem}.input-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text)}.input-group input,.input-group select{width:100%;padding:.75rem;border:2px solid var(--border);border-radius:.5rem;font-size:1rem;transition:border-color .2s}.input-group input:focus,.input-group select:focus{outline:none;border-color:var(--primary)}.alert{padding:1rem;border-radius:.5rem;margin-bottom:1rem}.alert-error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.alert-success{background:#d1fae5;color:#065f46;border:1px solid #a7f3d0}.alert-info{background:#dbeafe;color:#1e40af;border:1px solid #93c5fd}.loading{text-align:center;padding:2rem;color:var(--text-light)}.grid{display:grid;gap:1rem}.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}@media (max-width: 768px){.container{padding:.5rem}.card{padding:1rem}.grid-2,.grid-3{grid-template-columns:1fr}}
