:root{color:#2c3e50;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#fff;font-family:AvenirNext,Trebuchet MS,sans-serif;font-weight:400;line-height:1.5}html,body,#root{min-height:100vh;margin:0}*{box-sizing:border-box}body{margin:0}@font-face{font-family:AvenirNext;src:url(/fonts/AvenirNext-Regular.ttf)format("truetype");font-weight:400}@font-face{font-family:AvenirNextUltraLight;src:url(/fonts/AvenirNext-UltraLight.ttf)format("truetype");font-weight:300}:root{--ink:#2c3e50;--blue:#0069a6;--orange:#e67e22;--line:#dfe4e7;--muted:#82909a}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.login-page{background:#fff url(/laddero2.jpg) top/100% no-repeat;justify-content:center;align-items:flex-start;min-height:100vh;padding-top:12.5vh;font-family:AvenirNext,Trebuchet MS,sans-serif;display:flex}.login-card{background:#fff;grid-template-columns:40% 60%;width:min(55vw,890px);min-height:590px;display:grid;box-shadow:2px 2px 10px #374140}.login-brand-panel{color:#fff;text-align:center;background:#0069a6;justify-content:center;align-items:flex-start;padding:14% 1.5rem;display:flex}.login-brand-panel h1{color:#fff;margin:0;font-size:1.05rem;font-weight:400;line-height:1.5}.login-panel{background:#fff;padding:2.1rem 2rem}.login-logo{width:45%;max-width:180px;height:auto;margin:0 auto 1.2rem;display:block}.login-tabs{border-bottom:1px solid var(--line);gap:1.5rem;margin-bottom:3rem;display:flex}.login-tabs button{color:#d8dcdf;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:0 0 .8rem;font-size:1.1rem}.login-tabs button.tab-active{color:#f5a623;border-bottom-color:#f5a623}.login-form,.feature-list{max-width:390px;margin:0 auto}.form-intro{color:var(--muted);margin:0 0 2rem;font-size:.95rem}.login-form label{display:none}.registration-form label{color:var(--ink);margin-top:.7rem;font-size:.82rem;display:block}.login-form input,.login-form select{color:#1e1e20;background:#e7eefb;border:0;border-bottom:2px solid #cecfd3;outline:none;width:100%;padding:.9rem .5rem .55rem;font-size:1rem}.login-form input:focus,.login-form select:focus{border-bottom-color:var(--blue)}.honeypot-field{opacity:0;height:1px;position:absolute;left:-10000px;width:1px!important}.system-admin-page{min-height:100vh;color:var(--ink);background:#fff}.system-admin-page .site-header{justify-content:space-between}.system-admin-number{border:1px solid #b9c2c7;border-radius:2px;width:130px;padding:.5rem}.system-admin-save-form{align-items:center;gap:.5rem;display:flex}.contact-players-page{padding-bottom:3rem}.contact-email-label{color:var(--ink);margin:1rem 0 .35rem;font-weight:600;display:block}.contact-email-list{border:1px solid var(--line);width:100%;min-height:4.5rem;color:var(--ink);resize:vertical;background:#f8fafb;padding:.75rem}.contact-table-wrap{margin-top:1.5rem;overflow:auto}.contact-table-wrap .ladder-table{min-width:1250px}.contact-table-wrap th input{border:1px solid #b9c2c7;width:100%;min-width:80px;margin-top:.35rem;padding:.35rem;font-weight:400;display:block}.quick-filters{flex-wrap:wrap;align-items:center;gap:.5rem;margin:1.2rem 0 .8rem;display:flex}.quick-filters strong{color:var(--ink);margin-right:.35rem}.quick-filters button{color:var(--ink);cursor:pointer;background:#fff;border:1px solid #b9c2c7;border-radius:3px;padding:.45rem .7rem}.quick-filters button.quick-filter-active{border-color:var(--orange);background:var(--orange);color:#fff}.contact-table-wrap th:first-child,.contact-table-wrap td:first-child{text-align:center;width:78px;min-width:78px}.login-actions{justify-content:space-between;align-items:center;gap:1rem;margin-top:2.5rem;display:flex}.primary-button,.outline-button,.table-action,.ladder-notice button{cursor:pointer;border:1px solid #0000;border-radius:3px;padding:.65rem 1rem;text-decoration:none;display:inline-block}.primary-button{background:var(--orange);color:#fff}.primary-button:hover,.primary-button:focus{background:var(--ink)}.login-actions a,.feature-list a,.coming-section a{color:#3a69ba;font-size:.85rem}.error-box{color:#8e2b24;background:#fff4f3;border-left:3px solid #bd3c32;margin-top:1.2rem;padding:.7rem;font-size:.85rem}.success-box{color:#27643a;background:#f1fbf3;border-left:3px solid #3d8b55;margin-top:1.2rem;padding:.7rem;font-size:.85rem}.capacity-message{color:var(--orange);margin:1rem 0;font-size:1rem}.create-ladder-page .panel-heading:after{color:var(--muted);content:"You can register up to 15 players for free. Also, no emails will be sent except for the registration of new players. Please contact info@laddero.com for pricing options for higher tiers with more functionality";margin-top:.4rem;display:block}.feature-list p{color:var(--ink);border-bottom:1px solid #f0f1f2;margin:0;padding:.65rem 0;font-size:.9rem}.feature-list p:not(.form-intro):before{content:"- ";color:var(--orange)}.feature-list a{margin-top:1.5rem;display:inline-block}.home-page{min-height:100vh;color:var(--ink);background:#fff}.site-header{border-bottom:1px solid var(--line);align-items:center;gap:3rem;min-height:70px;padding:0 4vw;display:flex;box-shadow:0 2px 8px #3741401a}.site-logo{color:var(--blue);align-items:center;gap:.6rem;font-size:1.35rem;text-decoration:none;display:flex}.site-logo-image{width:145px;height:auto;display:block}.mini-mark{border:1px solid var(--blue);width:34px;height:34px;font-size:1.3rem}.main-nav{align-items:center;gap:1.5rem;display:flex}.main-nav a,.main-nav button{color:var(--ink);cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;padding:1.5rem 0;font-size:.9rem;text-decoration:none}.main-nav a:hover,.main-nav .nav-active{color:var(--blue);border-bottom-color:var(--orange)}.home-content{width:min(100% - 2rem,1050px);margin:3rem auto}.welcome-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:2rem;padding-bottom:2rem;display:flex}.eyebrow{color:var(--orange);text-transform:uppercase;letter-spacing:.12em;margin:0 0 .4rem;font-size:.75rem}.welcome-row h1{color:var(--ink);margin:0;font-size:2rem;font-weight:400}.muted,.empty-state{color:var(--muted)}.home-actions{align-items:center;gap:.7rem;display:flex}.outline-button{color:var(--ink);background:#fff;border-color:#b9c2c7}.stats-strip{border-bottom:1px solid var(--line);gap:3rem;padding:1.5rem 0;display:flex}.stats-strip div{flex-direction:column;gap:.2rem;display:flex}.stats-strip strong{color:var(--blue);font-size:1.7rem;font-weight:400}.stats-strip span,.section-heading span{color:var(--muted);font-size:.8rem}.stats-panels{grid-template-columns:1fr 1fr;gap:1rem;margin:1.5rem 0 2rem;display:grid}.stats-panels article{border:1px solid var(--line);border-top:3px solid var(--orange);background:#fff;min-height:145px;padding:1.2rem 1.4rem;box-shadow:2px 2px 6px #3741401f}.stats-panels h2{color:var(--blue);margin:0 0 .8rem;font-size:1.05rem;font-weight:400}.stats-panels p{color:var(--ink);margin:0;font-size:.9rem;line-height:1.75}.toolbar{justify-content:flex-start;align-items:center;gap:1rem;padding:2rem 0 1rem;display:flex}.toolbar label{font-size:1.15rem}.toolbar input{border:1px solid #b9c2c7;border-radius:2px;width:min(100%,280px);padding:.7rem .8rem}.home-section{margin:1.5rem 0 2.5rem}.section-heading{border-bottom:2px solid var(--blue);justify-content:space-between;align-items:baseline;margin-bottom:.7rem;display:flex}.section-heading h2,.coming-section h2{color:var(--ink);margin:0;padding-bottom:.55rem;font-size:1.3rem;font-weight:400}.standings-heading{align-items:flex-end;gap:1.5rem;display:flex}.standings-heading h2{color:var(--orange)}.standings-heading>div:first-child{min-width:max-content}.detail-nav{align-items:center;gap:.2rem;min-width:0;display:flex;overflow-x:auto}.detail-nav button{color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:3px solid #0000;padding:.55rem .75rem;font-size:.82rem}.detail-nav button:hover,.detail-nav button:focus,.detail-nav .detail-nav-active{color:var(--blue);border-bottom-color:var(--blue)}.detail-nav .detail-nav-report{background:var(--orange);color:#fff;border-radius:3px;margin-left:.35rem}.detail-nav .detail-nav-report:hover,.detail-nav .detail-nav-report:focus{border-bottom-color:var(--orange);background:var(--ink);color:#fff}.ladder-detail>.back-link,.ladder-detail>.detail-header,.settings-page>.back-link,.report-panel>.back-link,.match-history-page>.back-link,.tournament-page>.back-link,.add-players-page>.back-link,.admin-controls-page>.back-link{display:none}.ladder-detail>.detail-section:first-of-type:before{color:var(--orange);text-transform:uppercase;letter-spacing:.12em;content:var(--ladder-view-label) " · " var(--ladder-name);margin-bottom:.4rem;font-size:.75rem;font-weight:400;display:block}.add-players-form{margin-top:1.5rem}.add-players-table{overflow-x:auto}.add-players-row{border-bottom:1px solid var(--line);grid-template-columns:110px 1.2fr 1.4fr 1fr;align-items:center;gap:.6rem;min-width:700px;padding:.45rem 0;display:grid}.add-players-row.names-only{grid-template-columns:110px 1.2fr;min-width:360px}.add-players-row input{border:1px solid #b9c2c7;border-radius:2px;width:100%;padding:.55rem}.add-players-heading{border-bottom:2px solid var(--blue);color:var(--ink)}.add-players-form>.outline-button{margin-left:.6rem}.pending-members-panel{border:1px solid var(--line);border-top:3px solid var(--orange);background:#fff;margin:1rem 0 1.5rem;padding:1rem 1.2rem}.pending-members-panel .section-heading{margin-bottom:.5rem}.pending-members-panel .member-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:.55rem 0;display:flex}.pending-members-panel .member-row small{color:var(--muted);display:block}.ladder-detail>.outline-button{align-self:flex-start;margin:0 0 1rem}.standings-export-button{transform:translateY(1.7rem);margin-bottom:-2.8rem!important;margin-left:7rem!important}.ladder-detail>.detail-section .standings-toolbar{align-items:center;gap:.8rem;display:flex}.standings-export-link{color:var(--blue);cursor:pointer;background:0 0;border:0;margin-right:.8rem;padding:0;text-decoration:underline}.elo-info{display:none}.persistent-ladder-nav{border-bottom:2px solid var(--blue);justify-content:space-between;align-items:flex-end;gap:1.5rem;margin:0 0 1.5rem;padding-bottom:.7rem;display:flex}.persistent-ladder-nav h2{color:var(--ink);margin:0;font-size:1.3rem;font-weight:400}.persistent-ladder-nav span{color:var(--muted);font-size:.8rem}.ladder-table-wrap{overflow-x:auto;box-shadow:2px 2px 6px #aaa}.ladder-table{border-collapse:collapse;width:100%;font-size:.88rem}.ladder-table th,.ladder-table td{text-align:left;white-space:nowrap;border:1px solid #d9dfe2;padding:.48rem .55rem}.ladder-table th{color:var(--ink);background:#f2f5f6;font-weight:600}.local-ladders-table{font-size:.82rem}.local-ladders-table th,.local-ladders-table td{padding:.32rem .4rem}.local-ladders-table .table-action{margin-right:.25rem;padding:.24rem .45rem;font-size:.76rem}.detail-section .ladder-table{table-layout:fixed;min-width:1080px}.detail-section .ladder-table th:first-child,.detail-section .ladder-table td:first-child{text-align:center;width:48px}.detail-section .ladder-table th:nth-child(2),.detail-section .ladder-table td:nth-child(2){width:170px}.detail-section .ladder-table th:nth-child(3),.detail-section .ladder-table td:nth-child(3){text-align:right;width:72px}.detail-section .ladder-table th:nth-child(4),.detail-section .ladder-table td:nth-child(4){text-align:center;width:62px}.detail-section .ladder-table th:nth-child(5),.detail-section .ladder-table td:nth-child(5){text-align:center;width:86px}.detail-section .ladder-table th:nth-child(6),.detail-section .ladder-table td:nth-child(6){text-align:center;width:92px}.detail-section .ladder-table th:nth-child(7),.detail-section .ladder-table td:nth-child(7){text-align:center;width:86px}.detail-section .ladder-table th:nth-child(8),.detail-section .ladder-table td:nth-child(8){text-align:center;width:92px}.detail-section .ladder-table th:nth-child(9),.detail-section .ladder-table td:nth-child(9){text-align:center;width:104px}.detail-section .ladder-table th:nth-child(10),.detail-section .ladder-table td:nth-child(10){text-align:center;width:62px}.detail-section .ladder-table th:nth-child(11),.detail-section .ladder-table td:nth-child(11){text-align:center;width:76px}.detail-section .ladder-table th,.detail-section .ladder-table td{text-overflow:ellipsis;overflow:hidden}.sort-button{color:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}.sort-button:hover,.sort-button:focus{color:var(--blue)}.ladder-table tbody tr:hover{background:#f8fbfc}.status-label{color:var(--blue);font-size:.75rem}.table-action{border-color:var(--blue);color:var(--blue);background:#fff;padding:.35rem .65rem}.ladder-notice{border-left:3px solid var(--orange);background:#fff8f0;align-items:center;gap:1rem;padding:1rem;display:flex}.ladder-notice span{color:var(--muted);font-size:.85rem}.ladder-notice button{color:var(--blue);background:0 0;margin-left:auto}.coming-section{border-top:1px solid var(--line);margin-top:3rem;padding-top:1.5rem}.coming-section div{flex-wrap:wrap;gap:1.5rem;padding-top:1rem;display:flex}.ladder-detail{padding-bottom:3rem}.back-link{color:#3a69ba;cursor:pointer;background:0 0;border:0;margin-bottom:1.5rem;padding:0}.detail-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:2rem;padding-bottom:1.5rem;display:flex}.detail-header h1{color:var(--ink);margin:0;font-size:2rem;font-weight:400}.detail-actions,.admin-controls{flex-wrap:wrap;gap:.6rem;display:flex}.detail-summary{grid-template-columns:2fr 1fr 1fr;gap:1rem;margin:1.5rem 0 2rem;display:grid}.detail-summary div{border-left:3px solid var(--blue);background:#f2f5f6;flex-direction:column;gap:.35rem;padding:.9rem;display:flex}.detail-summary strong{color:var(--blue);text-transform:uppercase;font-size:.8rem}.detail-summary span{font-size:.9rem}.detail-section{margin:2rem 0}.action-panel{border:1px solid var(--line);background:#f8fafb;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.2rem;display:flex}.action-panel h2{color:var(--ink);margin:0;font-size:1.1rem;font-weight:400}.action-panel p{margin:.25rem 0 0}.match-history-page,.tournament-page{padding-bottom:3rem}.legacy-bracket-table-wrap{padding:1rem 0 2rem;overflow:auto}.legacy-bracket-table{border-collapse:collapse;background:#fff;min-width:1100px}.legacy-bracket-table th{border-bottom:2px solid var(--blue);color:var(--ink);text-align:left;white-space:nowrap;padding:.5rem .65rem}.legacy-bracket-table td{vertical-align:middle;border:1px solid #eef2f4;min-width:190px;height:30px;padding:.25rem .45rem;font-size:.82rem}.legacy-bracket-table .seed-cell{min-width:230px;color:var(--ink);font-weight:600}.legacy-bracket-table .score-cell{color:var(--blue);background:#f8fafb;font-weight:600}.legacy-bracket-table .empty-cell{background:#fff}.legacy-bracket-table input{border:1px solid #cbd5db;width:100%;min-width:110px;padding:.2rem .3rem;font-size:.76rem}.link-button{color:#3a69ba;cursor:pointer;font:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.modal-backdrop{z-index:30;background:#00000059;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal-panel{color:#666;background:#e6e6fa;width:min(100%,760px);max-height:85vh;padding:1.2rem;font-size:.86rem;overflow:auto;box-shadow:0 20px 45px #00000040}.modal-panel h2{color:var(--ink);margin:0 0 1rem;font-size:1.4rem}.modal-panel h3{color:var(--blue);margin:1.2rem 0 .6rem;font-size:1rem}.modal-close{float:right;color:var(--ink);cursor:pointer;background:#fff;border:1px solid #aaa;padding:.35rem .6rem}.modal-record{font-size:1.1rem;font-weight:700}.modal-table{border-collapse:collapse;background:#fff;width:100%}.modal-table td{vertical-align:top;border-bottom:1px solid #ddd;padding:.45rem}.announcement-backdrop{z-index:40;background:#19232a94;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.announcement-modal{border-top:4px solid var(--orange);width:min(100%,700px);max-height:85vh;color:var(--ink);background:#fff;padding:2rem 2.2rem;position:relative;overflow:auto;box-shadow:0 20px 50px #0000004d}.announcement-modal h2{color:var(--blue);margin:0 2rem 1.2rem 0;font-size:1.5rem;font-weight:400}.announcement-modal p{margin:0 0 1rem;line-height:1.7}.announcement-modal a{color:var(--blue)}.announcement-modal .modal-close{float:none;color:var(--muted);background:0 0;border:0;font-size:1.7rem;line-height:1;position:absolute;top:.8rem;right:.8rem}.announcement-modal .primary-button{margin-top:.5rem}.ladder-stats{margin-top:1.5rem}.settings-page{padding-bottom:3rem}.settings-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.settings-grid section{border:1px solid var(--line);border-top:3px solid var(--blue);background:#fff;padding:1.2rem;box-shadow:2px 2px 6px #3741401f}.settings-grid h2{color:var(--blue);margin:0 0 1rem;font-size:1.1rem;font-weight:400}.settings-grid dl{margin:0}.settings-grid dt{color:var(--muted);text-transform:uppercase;margin-top:.8rem;font-size:.75rem}.settings-grid dt:first-child{margin-top:0}.settings-grid dd{color:var(--ink);margin:.2rem 0 0;font-size:.88rem;line-height:1.45}.settings-form{gap:1rem;display:grid}.settings-form label{color:var(--ink);gap:.35rem;margin-bottom:.8rem;font-size:.85rem;display:grid}.settings-form input,.settings-form textarea,.settings-form select{width:100%;color:var(--ink);background:#f8fafb;border:1px solid #b9c2c7;border-radius:2px;padding:.6rem .7rem}.settings-form textarea{resize:vertical}.standings-toolbar{justify-content:flex-end;align-items:center;gap:.7rem;margin:.8rem 0;display:flex}.standings-toolbar label{color:var(--muted);font-size:.85rem}.standings-toolbar input{border:1px solid #b9c2c7;border-radius:2px;width:min(100%,280px);padding:.6rem .7rem}.admin-panel{border-top:1px solid var(--line);margin-top:2.5rem;padding:1rem 0 0}.admin-controls .outline-button{font-size:.85rem}.member-request-panel{border:1px solid var(--line);background:#f8fafb;margin:1rem 0;padding:1rem}.member-request-panel h3{color:var(--blue);margin:0 0 .7rem;font-size:.95rem;font-weight:400}.member-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:.6rem 0;display:flex}.member-row span:first-child{flex-direction:column;gap:.15rem;display:flex}.member-row small{color:var(--muted);font-size:.78rem}.text-danger{color:#a33b32;cursor:pointer;background:0 0;border:0;padding:.35rem .55rem}.session-loading{min-height:100vh;color:var(--blue);place-items:center;font-family:AvenirNext,sans-serif;display:grid}.loading-overlay{color:var(--blue);justify-content:center;align-items:center;gap:.7rem;padding:1rem;font-size:.9rem;display:flex}.loading-overlay:has(.spinner){z-index:20;background:#ffffffc7;position:fixed;inset:0}.spinner{border:3px solid #d8e5ed;border-top-color:var(--orange);border-radius:50%;width:24px;height:24px;animation:.75s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.report-panel{max-width:820px;margin:0 auto;padding-bottom:3rem}.panel-heading{margin-bottom:1.5rem}.panel-heading h1{color:var(--ink);margin:0;font-size:2rem;font-weight:400}.report-form{border:1px solid var(--line);background:#fff;gap:1.2rem;padding:1.5rem;display:grid;box-shadow:2px 2px 6px #aaa}.form-grid{grid-template-columns:1fr 1fr 1fr;gap:1rem;display:grid}.report-form label{color:var(--ink);gap:.35rem;font-size:.85rem;display:grid}.report-form select,.report-form input,.report-form textarea{width:100%;color:var(--ink);background:#f8fafb;border:1px solid #b9c2c7;border-radius:2px;padding:.65rem}.report-form fieldset{border:1px solid var(--line);margin:0;padding:1rem}.report-form legend{color:var(--blue);padding:0 .4rem;font-size:.9rem}.score-grid{grid-template-columns:1.2fr 1fr 1fr;align-items:center;gap:.5rem;display:grid}.score-grid strong{color:var(--ink);font-size:.8rem}.score-grid span{color:var(--muted);font-size:.85rem}.form-actions{justify-content:flex-end;gap:.6rem;display:flex}@media (width<=720px){.login-page{background-size:auto 100%;padding:1rem}.login-card{grid-template-columns:1fr;width:min(100%,520px);min-height:0}.login-brand-panel{min-height:180px;padding:2rem}.login-panel{padding:2rem 1.5rem 3rem}.login-logo{width:45%}.site-header,.welcome-row{flex-direction:column;align-items:flex-start;gap:1rem}.site-header{padding:1rem}.main-nav{justify-content:space-between;gap:.5rem;width:100%}.main-nav a,.main-nav button{padding:.5rem 0}.home-content{margin-top:2rem}.home-actions,.toolbar{flex-direction:column;align-items:stretch;width:100%}.toolbar input{width:100%}.stats-strip{justify-content:space-between;gap:1.5rem}.stats-panels,.settings-grid{grid-template-columns:1fr}.standings-heading,.persistent-ladder-nav{flex-direction:column;align-items:stretch;gap:.5rem}.detail-nav{width:100%}.detail-header,.detail-summary{flex-direction:column;grid-template-columns:1fr;align-items:flex-start}.detail-summary{width:100%;display:grid}.form-grid{grid-template-columns:1fr}.report-form{padding:1rem}}
