:root{font-family:Avenir Next,Segoe UI,sans-serif;line-height:1.5;font-weight:400;color:#14281d;background-color:#f6f1e7;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#1d5a86;text-decoration:inherit}a:hover{color:#154667}body{margin:0;min-width:320px;min-height:100vh}*,*:before,*:after{box-sizing:border-box}body{margin:0;padding:0;font-family:Avenir Next,Segoe UI,sans-serif;background:radial-gradient(circle at top left,rgba(246,213,92,.22),transparent 28%),radial-gradient(circle at top right,rgba(19,87,52,.2),transparent 30%),linear-gradient(180deg,#f6f1e7,#ddd1bb);color:#14281d}.player-name-header.team-red{background-color:red;color:#d3d3d3}.player-name-header.team-gold{background-color:#ff0;color:#000}.player-name-header.team-black{background-color:#000;color:#fff}.player-name-header.team-blue{background-color:#01a2ff;color:#90ee90}.team-red{background-color:red;color:#d3d3d3;border:2px solid black}.team-gold{background-color:#e7eb0b;color:#000;border:2px solid white}.team-black{background-color:#000;color:#d3d3d3;border:2px solid white}.team-blue{background-color:#01a2ff;color:#90ee90;border:2px solid lightgreen}.highlight-red{background-color:pink;color:#d3d3d3}.highlight-gold{background-color:#ffffe0;color:#000}.highlight-black{background-color:gray;color:#d3d3d3}.highlight-blue{background-color:#add8e6;color:#90ee90}.container{max-width:1000px;margin-left:auto;margin-right:auto;padding:0% 20px 20px;text-align:center;box-sizing:border-box}.section{margin-bottom:20px}.total-cell{background-color:#f0f0f0;font-weight:700}input{width:100%;padding:10px;font-size:18px;margin-bottom:12px;box-sizing:border-box;border:1px solid rgb(158,158,158);border-radius:15px}select{padding:5px;font-size:12px;margin:5px;width:auto;max-width:200px;border:2px solid rgb(158,158,158);border-radius:10px;background-color:#fff;box-shadow:0 4px 8px #0000001a}.form-row{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:12px}.form-row label{margin:0;font-weight:700}.form-row select{padding:5px;font-size:14px;border-radius:10px;width:auto;max-width:100px}.vertical-text{white-space:nowrap;padding:5px;max-height:100px;overflow:hidden;font-weight:700;font-size:10px;text-align:center;vertical-align:middle}button{padding:10px;font-size:14px;background-color:#696969;color:#cecece;border:rgb(255,255,255);border-radius:10px;cursor:pointer;width:auto;margin:10px}button:hover{background-color:#b8b8b8}button:focus,button:focus-visible{outline:none;box-shadow:0 0 0 3px #00000080;border:2px solid black}.vertical-button-stack{display:flex;flex-direction:column;gap:10px;align-items:center}label{display:block;margin-bottom:5px;font-weight:700;font-size:16px}.table-wrapper{max-height:300px;max-width:100vw;overflow-y:auto;overflow-x:auto;margin-top:5px;border:5px solid rgb(75,75,75);background-color:#4b4b4b;border-radius:10px}table{width:auto;max-width:100%;min-width:300px;border-collapse:collapse;background-color:#5ac87b;margin-bottom:0;border-radius:10px;overflow:hidden;table-layout:auto}th,td{padding:5px;text-align:center;vertical-align:middle;font-size:12px;border:2px solid rgb(78,78,78);min-width:10px;max-width:60px}thead th{position:sticky;top:0;background-color:#fff;z-index:2;text-align:center}tfoot,thead{background-color:#f0f0f0;font-weight:700}.team-row{background-color:#006674;font-weight:700}.hole-winner-cell{font-weight:700;color:green}.course-details p,.course-details h3,.course-details label{margin-bottom:2px;margin-top:0}@media (max-width: 600px){th,td{padding:6px;font-size:12px}}input.player-input{width:30%;padding:5px;font-size:12px;margin-bottom:12px;box-sizing:border-box;border:3px solid rgb(75,75,75);border-radius:10px;background-color:#fff;box-shadow:0 4px 8px #0000001a}input.handicap-input{width:25%;padding:5px;font-size:12px;margin-bottom:12px;box-sizing:border-box;border:3px solid rgb(255,255,255);border-radius:10px;background-color:#fff;box-shadow:0 4px 8px #0000001a}body{background-color:#a5a5a5}table{background-color:#fff}thead,tfoot{background-color:#a5d6a7}.player-info-row{display:flex;gap:10px;margin-bottom:15px}.player-info-row input{flex:1;padding:5px;font-size:12px;box-sizing:border-box}.team-input{width:50%;padding:14px;font-size:12px;margin-bottom:12px;box-sizing:border-box;border:2px solid rgb(75,75,75);border-radius:10px;background-color:#fff;box-shadow:0 4px 8px #0000001a}.course-input{width:75%;padding:14px;font-size:18px;margin-bottom:12px;box-sizing:border-box;color:#fff;border:2px solid rgb(75,75,75);border-radius:10px;background-color:#000;box-shadow:0 4px 8px #0000001a}select{font-size:16px;padding:10px 12px;width:100%;max-width:300px;border:2px solid rgb(255,255,255);border-radius:10px;background-color:#fff;color:#000;box-sizing:border-box;margin-bottom:10px}.narrow-column{width:40px;min-width:20px;max-width:60px;text-align:center;font-weight:700}.player-column{min-width:20px;max-width:50px}.winner-column{min-width:10px;max-width:120px}.match-status{font-size:15px;font-weight:700;color:#4b4b4b;margin:15px 0;text-align:center}.score-entry-page-shell{gap:18px}.score-entry-page-shell .player-select-hero{padding:12px 18px}.score-entry-page-shell .player-select-hero-intro{margin:0 0 4px;font-size:1rem}.score-entry-page-shell .player-select-hero .admin-hero-copy h2{margin:0;font-size:1.02rem;line-height:1.2}.score-entry-section-card{padding:18px 20px}.score-entry-section-card .course-details{margin-bottom:10px}.score-entry-section-card .match-status{margin:12px auto;padding:12px 14px;border-radius:16px;background:color-mix(in srgb,var(--theme-card, #f5efe3) 72%,white 28%);border:1px solid color-mix(in srgb,var(--theme-accent, #2f7b49) 14%,transparent 86%);color:var(--theme-text, #173321);max-width:720px}.score-entry-toggle-row{display:flex;justify-content:center;gap:10px;margin:8px 0 14px}.score-entry-toggle-button{margin:0;min-width:110px;background:color-mix(in srgb,var(--theme-card, #f5efe3) 68%,white 32%);color:var(--theme-text, #173321);border:1px solid color-mix(in srgb,var(--theme-accent, #2f7b49) 24%,transparent 76%)}.score-entry-toggle-button.active{background:color-mix(in srgb,var(--theme-card, #f5efe3) 80%,white 20%);color:var(--theme-text, #173321);border:1px solid color-mix(in srgb,var(--theme-accent, #2f7b49) 30%,transparent 70%)}.score-entry-actions .admin-primary-button{background:color-mix(in srgb,var(--theme-card, #f5efe3) 68%,white 32%);color:var(--theme-text, #173321);border:1px solid color-mix(in srgb,var(--theme-accent, #2f7b49) 24%,transparent 76%)}.score-entry-actions .admin-primary-button:hover{background:color-mix(in srgb,var(--theme-card, #f5efe3) 80%,white 20%)}.score-input{width:30px;height:30px;padding:4px;font-size:14px;text-align:center;border:2px solid rgb(73,73,73);border-radius:6px;box-sizing:border-box;background-color:#fff;color:#000}.score-entry-input-row{display:inline-flex;align-items:center;justify-content:center}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.header-table,.body-table{width:100%;border-color:#000;background-color:#fff;border-radius:5px;overflow:hidden;table-layout:fixed;margin:0;padding:0}.header-table th,.body-table td,.body-table th{padding:2px;text-align:center;vertical-align:middle;font-size:12px;border:4px solid rgb(0,0,0)}.header-table th.vertical-text{text-align:center;vertical-align:middle;height:100px}.player-total{background-color:#d2d2d2;font-weight:700;font-size:14px;padding:4px}.export-button{padding:10px 20px;font-size:16px;background-color:#006400;color:#fff;border:none;border-radius:10px;cursor:pointer;margin:10px 0}.export-button:hover{background-color:green}.reset-button{padding:10px 15px;font-size:14px;background-color:red;color:#fff;border:none;border-radius:8px;cursor:pointer;margin:5px}.reset-button:hover{background-color:#8b0000}.app-logo{width:230px;max-width:100%;height:auto;margin:6px auto;display:block}.app-header{text-align:center;margin-bottom:1px}.scorecard-wrapper{width:100%;overflow:hidden;border-radius:18px;border:1px solid color-mix(in srgb,var(--theme-accent, #2f7b49) 18%,transparent 82%);background:color-mix(in srgb,var(--theme-card, #f5efe3) 48%,white 52%);box-shadow:inset 0 1px #fff9}.scorecard-wrapper .narrow-column{width:28px;min-width:28px;max-width:28px}.scorecard-wrapper .header-table th,.scorecard-wrapper .body-table td{padding:3px 1px}.scorecard-wrapper .header-table th:nth-child(-n+4),.scorecard-wrapper .body-table td:nth-child(-n+4){font-size:10px}.header-table{width:100%;border:2px solid black;background-color:#fff;table-layout:fixed}.scrollable-body{max-height:350px;overflow-y:auto;overflow-x:hidden}.score-entry-actions{display:flex;justify-content:center;gap:12px;margin-top:16px}.body-table{width:100%;border-collapse:collapse;background-color:#fff;table-layout:fixed}.header-table th,.body-table td{padding:5px;font-size:12px;border:2px solid rgb(0,0,0);text-align:center}.admin-button{font-size:10px;padding:4px 8px;opacity:.25;background-color:transparent;color:#686868;border:1px solid rgb(104,104,104);border-radius:6px;position:center;bottom:10px;right:10px;z-index:999}.admin-button:hover{opacity:1;background-color:#858585;color:#fff;cursor:pointer}.stableford-team-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:5px;justify-content:center;margin:1px auto;max-width:600px}.team-score-box{border-radius:10px;padding:1px;text-align:center;font-weight:700;box-shadow:2px 2px 6px #0000001a}.stableford-breakdown-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px 0px;margin:10px auto;font-size:.6em;text-align:center;max-width:300px;color:#3b3b3b}.hole-image-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000c;display:flex;align-items:center;justify-content:center;z-index:999}.hole-image-modal{background:#fff;padding:1rem;border-radius:10px;max-width:90%;max-height:90%;text-align:center}.hole-image-modal img{max-width:100%;max-height:80vh;border-radius:8px}.housing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5px 10px;margin:10px auto;font-size:.6em;text-align:center;max-width:300px;color:#fff}.player-info-row{display:flex;gap:0px;margin-bottom:5px}.player-name-input{flex:3;padding:10px;font-size:14px;border:1px solid rgb(255,255,255);border-radius:10px;box-shadow:1px 1px 3px #0000001a}.player-handicap-input{flex:1;padding:10px;font-size:14px;border:1px solid rgb(255,255,255);border-radius:10px;box-shadow:1px 1px 3px #0000001a}.checkbox-label{display:flex;align-items:center;gap:10px;margin:4px auto;font-size:14px;cursor:pointer;width:fit-content}.login-shell{position:relative;min-height:100vh;overflow:hidden}.login-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 15% 20%,rgba(255,255,255,.75),transparent 22%),radial-gradient(circle at 85% 15%,rgba(255,255,255,.42),transparent 18%),linear-gradient(135deg,#104d2d1a,#7d54202e);pointer-events:none}.login-page{position:relative;z-index:1;max-width:1180px;min-height:100vh;margin:0 auto;padding:48px 24px;display:grid;grid-template-columns:1.05fr .95fr;gap:28px;align-items:center}.login-hero{text-align:left;padding:24px 8px}.login-badge{display:inline-block;margin-bottom:20px;padding:8px 14px;border-radius:999px;background:#14281d14;color:#2f5e40;font-size:.85rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.login-hero-logo-frame{display:inline-flex;align-items:center;justify-content:center;margin:6px 0 8px;padding:18px;border-radius:28px;background:linear-gradient(180deg,#fffdf8e6,#f1e6d2b8);box-shadow:inset 0 1px #ffffffe6,0 22px 44px #39412e1f}.login-hero-logo-ring{display:flex;align-items:center;justify-content:center;padding:10px 16px;border-radius:22px;border:1px solid rgba(20,40,29,.08);background:#ffffff94}.login-hero-logo{width:min(250px,56vw);max-width:100%;filter:drop-shadow(0 10px 18px rgba(20,40,29,.12))}.login-hero h1{margin:20px 0 12px;max-width:620px;font-family:Avenir Next,Segoe UI,sans-serif;font-size:clamp(2rem,4vw,3.35rem);font-weight:800;line-height:1.02;letter-spacing:-.03em;color:#143120}.login-hero-copy{max-width:560px;margin:0;font-size:1.08rem;line-height:1.7;color:#14281dd1}.login-feature-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.login-feature-row span{padding:10px 14px;border:1px solid rgba(20,40,29,.12);border-radius:999px;background:#ffffff8c;font-size:.92rem;font-weight:600}.login-panel{display:grid;gap:18px}.login-card{padding:28px;border:1px solid rgba(20,40,29,.1);border-radius:24px;background:#fffbf3e6;box-shadow:0 24px 60px #2f3d2c24;text-align:left;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.login-card-primary{background:linear-gradient(180deg,#fffffff2,#f5eddcf2)}.login-card-header h2{margin:0 0 8px;font-size:1.75rem;color:#173321}.login-card-header p:last-child{margin:0;color:#14281db8;line-height:1.6}.login-eyebrow{margin:0 0 10px;color:#916628;font-size:.82rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.login-field-group{margin-top:18px}.login-field-group label{margin-bottom:8px;font-size:.95rem;color:#254230}.login-field-group input{margin-bottom:0;border:1px solid rgba(20,40,29,.14);border-radius:16px;background:#fffffff2;box-shadow:inset 0 1px #ffffffb3}.login-code-input{font-size:1.1rem;letter-spacing:.16em}.login-action{width:100%;margin:20px 0 0;padding:14px 18px;border:none;border-radius:16px;background:linear-gradient(135deg,#1f5c36,#2f7b49);color:#f4f0e7;font-size:1rem;font-weight:700;letter-spacing:.02em}.login-action:hover{background:linear-gradient(135deg,#1a4a2c,#28683f)}.login-action-accent{background:linear-gradient(135deg,#9b6a22,#c38b33)}.login-action-accent:hover{background:linear-gradient(135deg,#83571b,#aa772b)}.login-mode-toggle{margin:18px 0 0;padding:0;border:none;background:transparent;color:#1d5a86;font-size:.95rem;font-weight:700;text-decoration:underline;text-underline-offset:3px}.login-mode-toggle:hover{background:transparent;color:#154667;border-color:transparent}.login-message{margin-top:18px;padding:12px 14px;border-radius:14px;font-size:.94rem;font-weight:600}.login-message-success{background:#357a4a1f;color:#215b33}.login-message-error{background:#b530301f;color:#8f2525}@media (max-width: 860px){.login-page{grid-template-columns:1fr;padding:24px 16px 40px}.login-hero{text-align:center;padding:0}.login-hero-logo-frame{margin-top:2px}.login-hero-copy{margin:0 auto}.login-hero h1{margin-left:auto;margin-right:auto}.login-feature-row{justify-content:center}.login-card{padding:22px 18px}}.admin-page-shell{display:grid;gap:22px;padding:8px 0 32px}.admin-hero-card,.admin-section-card{box-sizing:border-box;width:100%;max-width:100%;border:1px solid rgba(20,40,29,.1);border-radius:26px;background:color-mix(in srgb,var(--theme-card, #f5efe3) 82%,white 18%);box-shadow:0 24px 60px #2f3d2c1f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.admin-hero-card{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:28px 30px;background:linear-gradient(135deg,color-mix(in srgb,var(--theme-card, #f5efe3) 76%,white 24%),color-mix(in srgb,var(--theme-bg, #ddd1bb) 84%,white 16%))}.admin-hero-card.compact{justify-content:flex-start}.admin-hero-copy h2,.admin-section-header h3,.setup-panel-header h3,.team-setup-card h3{margin:0;color:#173321}.admin-hero-copy p:last-child,.setup-panel-header p,.admin-empty-state p,.players-block-header p,.tournament-card-subtitle,.tournament-card-meta span,.setup-help-text{color:#14281db8}.admin-eyebrow{margin:0 0 8px;color:#916628;font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.admin-primary-button,.admin-secondary-button,.admin-danger-button{border:none;border-radius:16px;padding:14px 18px;font-size:.96rem;font-weight:700}.admin-primary-button{background:linear-gradient(135deg,color-mix(in srgb,var(--theme-accent, #2f7b49) 88%,black 12%),var(--theme-accent, #2f7b49));color:color-mix(in srgb,var(--theme-text, #173321) 20%,white 80%)}.admin-primary-button:hover{background:linear-gradient(135deg,color-mix(in srgb,var(--theme-accent, #2f7b49) 72%,black 28%),color-mix(in srgb,var(--theme-accent, #2f7b49) 92%,black 8%))}.admin-secondary-button{background:color-mix(in srgb,var(--theme-card, #f5efe3) 68%,white 32%);color:var(--theme-text, #173321);border:1px solid color-mix(in srgb,var(--theme-accent, #2f7b49) 24%,transparent 76%)}.admin-secondary-button:hover{background:color-mix(in srgb,var(--theme-card, #f5efe3) 80%,white 20%)}.admin-danger-button{background:#a62f2f1f;color:#8d2929}.admin-danger-button:hover{background:#a62f2f33}.admin-section-card{padding:26px 28px}.admin-section-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.admin-hero-actions{display:flex;flex-wrap:nowrap;justify-content:flex-end;gap:6px}.admin-hero-actions .admin-primary-button,.admin-hero-actions .admin-secondary-button{padding:9px 12px;font-size:.82rem;background:color-mix(in srgb,var(--theme-card, #f5efe3) 68%,white 32%);color:var(--theme-text, #173321);border:1px solid color-mix(in srgb,var(--theme-accent, #2f7b49) 24%,transparent 76%);white-space:nowrap}.admin-hero-actions .admin-primary-button:hover,.admin-hero-actions .admin-secondary-button:hover{background:color-mix(in srgb,var(--theme-card, #f5efe3) 80%,white 20%)}.admin-count-pill{min-width:42px;padding:8px 12px;border-radius:999px;background:#14281d14;font-weight:700}.tournament-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px}.tournament-card{box-sizing:border-box;width:100%;max-width:100%;padding:20px;border-radius:22px;border:1px solid color-mix(in srgb,var(--theme-accent, #2f7b49) 16%,transparent 84%);background:color-mix(in srgb,var(--theme-card, #f5efe3) 62%,white 38%);text-align:left}.tournament-card-top,.team-setup-card-header,.admin-section-header{display:flex;align-items:flex-start;justify-content:space-between}.tournament-card h4,.admin-empty-state h4,.players-block-header h4{margin:0;color:#173321}.tournament-card-subtitle{margin:6px 0 0;font-size:.92rem}.tournament-theme-dot{width:14px;height:14px;border-radius:999px;flex:0 0 auto;margin-top:6px}.tournament-card-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;font-size:.92rem}.tournament-card-meta span{padding:7px 10px;border-radius:999px;background:color-mix(in srgb,var(--theme-bg, #ddd1bb) 24%,white 76%)}.tournament-card-actions,.setup-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}.setup-format-pill{display:inline-flex;align-items:center;margin-bottom:18px;padding:8px 12px;border-radius:999px;background:color-mix(in srgb,var(--theme-bg, #ddd1bb) 28%,white 72%);color:var(--theme-text, #173321);font-size:.84rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.admin-empty-state{padding:30px 18px;border-radius:22px;background:color-mix(in srgb,var(--theme-card, #f5efe3) 56%,white 44%)}.setup-form-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:20px}.setup-main-column,.setup-side-column{min-width:0}.setup-panel{box-sizing:border-box;width:100%;max-width:100%;height:100%;padding:22px;border-radius:22px;border:1px solid color-mix(in srgb,var(--theme-accent, #2f7b49) 12%,transparent 88%);background:color-mix(in srgb,var(--theme-card, #f5efe3) 62%,white 38%);text-align:left}.setup-panel-header{margin-bottom:18px}.theme-picker-header{margin-bottom:14px}.setup-field-group{margin-bottom:18px;text-align:left}.setup-field-group label{margin-bottom:8px;color:#254230}.setup-field-group input,.setup-field-group textarea,.setup-field-group select{width:100%;max-width:none;margin:0;border:1px solid rgba(20,40,29,.14);border-radius:16px;background:#fffffff5}.setup-field-group textarea{min-height:180px;padding:12px;font-size:16px;box-sizing:border-box;resize:vertical}.setup-help-text{margin:8px 0 0;font-size:.9rem;line-height:1.5}.setup-split-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.theme-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:18px}.theme-preview-card{display:flex;align-items:center;gap:10px;width:100%;margin:0;padding:8px 10px;border:1px solid color-mix(in srgb,var(--theme-accent, #2f7b49) 12%,transparent 88%);border-radius:14px;background:color-mix(in srgb,var(--theme-card, #f5efe3) 58%,white 42%);color:var(--theme-text, #173321);font-size:.88rem}.theme-preview-card.active{border-color:#1f5c3673;box-shadow:0 0 0 3px #1f5c3614}.custom-theme-editor{margin-bottom:18px;padding:18px;border-radius:18px;background:color-mix(in srgb,var(--theme-card, #f5efe3) 45%,white 55%)}.custom-theme-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.custom-color-field{display:grid;gap:8px;font-weight:700;color:#254230}.custom-color-field input[type=color]{width:100%;max-width:none;height:52px;padding:6px;border-radius:14px;cursor:pointer}.custom-theme-preview{margin-top:18px;padding:16px;border-radius:18px}.custom-theme-preview.always-visible{margin-bottom:18px}.custom-theme-preview-card{display:grid;gap:8px;padding:18px;border-radius:16px;border:1px solid rgba(255,255,255,.22)}.custom-theme-preview-button{width:fit-content;margin:6px 0 0;border:none}.theme-preview-swatch{width:26px;height:26px;border-radius:10px;flex:0 0 auto}.logo-preview-card{display:grid;gap:12px;margin-top:16px;padding:16px;border-radius:18px;background:color-mix(in srgb,var(--theme-bg, #ddd1bb) 28%,white 72%);text-align:left}.logo-preview-card p{margin:0;font-weight:600}.logo-preview-image{width:100%;max-width:180px;border-radius:18px;background:#fff;padding:10px;box-sizing:border-box}.team-setup-grid,.player-setup-grid{display:grid;gap:18px}.team-setup-card{box-sizing:border-box;width:100%;max-width:100%;padding:22px;border-radius:22px;border:1px solid color-mix(in srgb,var(--theme-accent, #2f7b49) 16%,transparent 84%);background:color-mix(in srgb,var(--theme-card, #f5efe3) 62%,white 38%);text-align:left}.team-color-pill,.team-color-swatch{border-radius:999px;flex:0 0 auto}.team-color-pill{width:18px;height:18px;margin-top:4px}.team-color-row{display:flex;align-items:center;gap:12px}.team-inline-field{display:grid;grid-template-columns:120px minmax(0,280px);align-items:center;gap:12px;margin-bottom:14px}.team-inline-field label{margin-bottom:0}.team-inline-field input[type=text]{width:100%;max-width:280px;margin-bottom:0}.team-inline-field.compact{grid-template-columns:120px 72px}.team-color-input{width:72px;min-width:72px;height:42px;padding:4px;margin:0}.team-color-value{font-weight:700;color:#48624f}.team-color-swatch{width:26px;height:26px;border:1px solid rgba(20,40,29,.12)}.players-block{margin-top:20px}.players-block-header{margin-bottom:12px}.players-block-header p{margin:4px 0 0}.team-player-grid-header{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:10px;margin-bottom:8px;padding:0 2px;font-size:.82rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#7b6232}.player-info-row.polished{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:10px;margin-bottom:10px;align-items:center}.player-info-row.polished .player-name-input,.player-info-row.polished .player-handicap-input{width:100%;max-width:none;margin-bottom:0}.player-info-row.polished .player-handicap-input{text-align:center;justify-self:stretch}.player-setup-grid-header{grid-template-columns:minmax(0,1fr) 96px 72px}.player-setup-row{display:grid;grid-template-columns:minmax(0,1fr) 78px;gap:10px;align-items:center}.player-setup-row .player-name-input,.player-setup-row .player-handicap-input{width:100%;max-width:100%;margin-bottom:0}.player-setup-row .player-name-input,.player-setup-row .player-handicap-input{height:42px}.player-setup-color-row{display:flex;align-items:center;gap:10px;margin-top:10px}.player-setup-color-row label{margin:0;font-size:.92rem;font-weight:700;color:#254230}.player-setup-remove-button{margin-left:auto}.player-setup-add-row{display:flex;justify-content:center;margin-top:18px}.app-shell{background:radial-gradient(circle at top left,rgba(255,255,255,.3),transparent 25%),linear-gradient(180deg,color-mix(in srgb,var(--theme-bg) 72%,white 28%),color-mix(in srgb,var(--theme-card) 78%,#e9dcc4 22%));border-radius:0}.app-shell-header{margin:0 -20px 16px;padding:18px 20px 14px;border-bottom:4px solid var(--theme-accent);background:linear-gradient(180deg,color-mix(in srgb,var(--theme-card) 82%,white 18%),color-mix(in srgb,var(--theme-card) 92%,#eadcc2 8%));box-shadow:0 18px 40px #2f3d2c14}.app-logout-button{position:sticky;bottom:14px;margin-left:auto;margin-right:0;display:block;background:#ffffffc2;color:#173321;border:1px solid rgba(20,40,29,.12)}.player-nav-shell{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;margin-bottom:16px;padding:18px 20px;border:1px solid rgba(20,40,29,.08);border-radius:22px;background:color-mix(in srgb,var(--theme-card) 78%,white 22%);box-shadow:0 18px 40px #2f3d2c14}.player-nav-title-block{width:100%;text-align:center}.player-nav-title{font-size:1.45rem;font-weight:800;color:#173321;text-align:center}.player-nav-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;align-items:center}.player-nav-actions button{margin:0;background:color-mix(in srgb,var(--theme-card, #f5efe3) 60%,white 40%);color:var(--theme-text, #173321);border:1px solid color-mix(in srgb,var(--theme-accent, #2f7b49) 12%,transparent 88%);min-height:44px}.player-nav-menu-wrap{position:relative}.player-nav-menu-button{min-width:116px;min-height:44px}.player-nav-menu-panel{position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:6px;min-width:230px;padding:10px;border-radius:18px;border:1px solid color-mix(in srgb,var(--theme-accent, #2f7b49) 14%,transparent 86%);background:color-mix(in srgb,var(--theme-card, #f5efe3) 88%,white 12%);box-shadow:0 18px 36px #17332124;z-index:40}.player-nav-menu-item{width:100%;margin:0;text-align:left;background:transparent;color:var(--theme-text, #173321);border:1px solid transparent;box-shadow:none}.player-nav-menu-item:hover{background:color-mix(in srgb,var(--theme-bg, #ddd1bb) 34%,white 66%)}.player-nav-modal{background:#fff;border-radius:18px;padding:20px;width:90%;max-width:800px;position:relative}.player-nav-modal-close{position:absolute;top:10px;right:10px;z-index:9999}.player-select-hero{padding:18px 24px}.player-select-hero .admin-hero-copy{width:100%;text-align:center}.player-select-hero-intro,.player-select-hero-course{margin:0 0 6px;font-size:1.28rem;font-weight:800;color:#173321}.match-select-date-line{font-size:clamp(.94rem,4.4vw,1.18rem);white-space:nowrap}.player-select-hero .admin-hero-copy h2{font-size:1.3rem;font-weight:700}.selection-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.selection-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;width:100%;margin:0;padding:18px;border-radius:20px;border:1px solid color-mix(in srgb,var(--theme-accent, #2f7b49) 16%,transparent 84%);background:color-mix(in srgb,var(--theme-card, #f5efe3) 62%,white 38%);color:var(--theme-text, #173321);text-align:left}.selection-card:hover{background:color-mix(in srgb,var(--theme-card, #f5efe3) 78%,white 22%)}.selection-card-label{font-size:.76rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#916628}.match-type-card strong,.selection-card strong{font-size:1.05rem}.match-day-grid{gap:12px}.match-day-card{padding:14px 16px;gap:4px;border-radius:18px}.match-day-card-topline{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%}.match-day-card .selection-card-label{font-size:.74rem;flex:0 0 auto}.match-day-date{font-size:.82rem;color:#14281db8;flex:0 0 auto}.match-day-card strong{font-size:1.08rem;font-weight:800;flex:1 1 auto;text-align:center}.match-type-grid{gap:12px}.match-type-card{padding:14px 16px;gap:4px;border-radius:18px}.match-type-card-topline{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%}.match-type-card .selection-card-label{font-size:.74rem;flex:0 0 auto}.match-type-date{font-size:.82rem;color:#14281db8;flex:0 0 auto}.match-type-card strong{font-size:1rem;font-weight:800;width:100%;text-align:left}.leaderboard-page-shell{gap:18px}.leaderboard-section-card{padding:20px 22px}.leaderboard-summary-row{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:14px}.leaderboard-summary-pill{padding:8px 12px;border-radius:999px;background:color-mix(in srgb,var(--theme-bg, #ddd1bb) 30%,white 70%);color:var(--theme-text, #173321);font-size:.84rem;font-weight:700}.leaderboard-table-wrapper{max-height:none;border:1px solid color-mix(in srgb,var(--theme-accent, #2f7b49) 28%,transparent 72%);background:linear-gradient(180deg,color-mix(in srgb,var(--theme-card, #f5efe3) 68%,white 32%),color-mix(in srgb,var(--theme-bg, #ddd1bb) 26%,white 74%));border-radius:20px;box-shadow:inset 0 1px #ffffff8c;width:100%;max-width:100%;margin:0 auto}.leaderboard-table{width:100%;min-width:0;background:transparent;margin:0 auto;table-layout:auto}.leaderboard-table th:first-child,.leaderboard-table td:first-child{width:30px;min-width:30px;max-width:30px}.leaderboard-table th:nth-child(2),.leaderboard-table td:nth-child(2){width:75px;min-width:75px}.leaderboard-table th:not(:first-child):not(:nth-child(2)):not(:last-child),.leaderboard-table td:not(:first-child):not(:nth-child(2)):not(:last-child){width:40px;min-width:40px;max-width:40px}.leaderboard-table th:last-child,.leaderboard-table td:last-child{width:48px;min-width:48px;max-width:48px}.leaderboard-table th.leaderboard-metric-column,.leaderboard-table td.leaderboard-metric-column{width:42px;min-width:42px;max-width:42px;padding-left:4px;padding-right:4px}.leaderboard-table thead th{background:linear-gradient(180deg,#29573a,#1f442d);color:#f6f1e7;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.leaderboard-table th,.leaderboard-table td{padding:12px 10px;border:1px solid rgba(255,255,255,.9)}.leaderboard-table td{font-size:.9rem;line-height:1.25;font-weight:650}.leaderboard-table td:nth-child(2){font-size:.9rem;font-weight:650;letter-spacing:.01em}.leaderboard-table tbody tr:nth-child(2n){filter:brightness(.98)}.leaderboard-rank-cell{width:30px;text-align:center;font-weight:650}.leaderboard-total-cell{font-size:.9rem;font-weight:650;letter-spacing:.01em;padding-left:4px;padding-right:4px}.leaderboard-day-cell{white-space:nowrap}.leaderboard-day-to-par{display:block;font-size:.9rem;font-weight:650;line-height:1.1}.team-leaderboard-table th:nth-child(2),.team-leaderboard-table td:nth-child(2){width:75px;min-width:75px}.team-leaderboard-table td:nth-child(2){font-size:.9rem;font-weight:650;letter-spacing:.01em}.team-leaderboard-table th:not(:first-child):not(:nth-child(2)):not(:last-child),.team-leaderboard-table td:not(:first-child):not(:nth-child(2)):not(:last-child){width:40px;min-width:40px;max-width:40px}.team-leaderboard-day-cell{font-size:.9rem;font-weight:650}.match-planner-page .setup-panel{background:color-mix(in srgb,var(--theme-card, #f5efe3) 66%,white 34%);height:auto;padding-bottom:10px}.match-planner-page .admin-hero-card{padding:18px 22px;justify-content:center}.match-planner-page .admin-hero-copy p:last-child{margin-bottom:0}.match-planner-page .admin-hero-copy,.match-planner-page .admin-hero-copy h2,.match-planner-page .admin-hero-copy p{text-align:center}.match-planner-page h2,.match-planner-page h3,.match-planner-page h4{text-align:left}.match-planner-page .setup-panel>h2,.match-planner-page .setup-panel>h3,.match-planner-page .setup-panel>h4,.match-planner-page .admin-section-header h3,.match-planner-page .tournament-card h4{text-align:center}.match-planner-page .admin-section-header{justify-content:center;width:100%}.match-planner-page .admin-section-header>div{margin:0 auto;text-align:center}.match-planner-page .admin-section-header .admin-eyebrow,.match-planner-page .admin-section-header h3{text-align:center}.match-planner-page .checkbox-label{display:inline-flex;align-items:center;gap:8px;width:auto;margin:4px 0}.match-planner-page .checkbox-label input[type=checkbox]{width:auto;margin:0;flex:0 0 auto}.match-planner-page .checkbox-label span{display:inline}.match-planner-inline-field{display:grid;grid-template-columns:110px 180px;align-items:center;gap:12px;margin-bottom:10px}.match-planner-inline-field label{margin-bottom:0}.match-planner-inline-field input{width:180px;max-width:180px;margin-bottom:0}.match-setup-inline-field{display:inline-flex;align-items:center;justify-content:flex-start;gap:8px;margin:0 0 10px;width:auto;max-width:100%}.match-setup-inline-field label{margin:0;text-align:left;flex:0 0 auto}.match-setup-inline-field select{width:220px;max-width:240px;margin:0}.individual-nine-builder{margin-top:12px;padding:12px;border-radius:16px;border:1px solid color-mix(in srgb,var(--theme-accent, #2f7b49) 14%,transparent 86%);background:color-mix(in srgb,var(--theme-card, #f5efe3) 54%,white 46%)}.individual-nine-builder h4{margin:0}.individual-nine-team-picker{margin-top:12px}.individual-nine-preview{display:grid;gap:6px;margin-top:14px;padding:10px 12px;border-radius:14px;background:color-mix(in srgb,var(--theme-bg, #ddd1bb) 30%,white 70%);color:var(--theme-text, #173321);font-size:.9rem}.individual-match-card{border:1px solid color-mix(in srgb,var(--theme-accent, #2f7b49) 16%,transparent 84%);border-radius:18px;padding:12px 14px;margin-bottom:16px;background:color-mix(in srgb,var(--theme-card, #f5efe3) 54%,white 46%)}.individual-match-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.individual-match-card-header h3{margin:0}.individual-participant-block,.individual-pairings-block{display:grid;gap:6px;margin-top:12px}.individual-pairing-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.individual-hole-editor{margin:16px 0 20px}.individual-hole-table{border-collapse:collapse;width:100%;max-width:650px;margin-bottom:12px}.individual-hole-table th,.individual-hole-table td{text-align:left;padding:6px 8px}.individual-hole-table input{width:84px;margin:0}.match-planner-page .tournament-card{padding:10px 12px}.match-planner-page .tournament-card h4{margin-bottom:0;font-size:1rem}.match-planner-page .tournament-card-subtitle{margin-top:0;margin-bottom:0;font-size:.88rem}.match-planner-page .tournament-card-meta{margin-top:8px;gap:6px}.match-planner-page .tournament-card-meta span{padding:4px 8px;font-size:.8rem}.match-planner-page .tournament-card-actions{margin-top:8px;gap:8px}.match-planner-page .tournament-card-actions button{padding:6px 10px;font-size:.8rem}@media (max-width: 860px){.container.app-shell{width:100%;max-width:100%;padding-left:14px;padding-right:14px;overflow-x:hidden}.admin-page-shell{width:100%;max-width:100%;min-width:0;gap:16px;padding-left:0;padding-right:0}.admin-hero-card,.admin-section-card,.setup-panel,.tournament-card,.team-setup-card,.selection-card{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.admin-hero-card>*,.admin-section-card>*,.setup-panel>*,.tournament-card>*,.team-setup-card>*,.selection-card>*{max-width:100%;min-width:0}.admin-hero-card,.admin-section-card{padding:16px 14px;border-radius:22px}.setup-panel,.tournament-card,.team-setup-card{padding:14px;border-radius:20px}.tournament-card-grid,.team-setup-grid,.player-setup-grid,.selection-card-grid,.setup-form-grid{grid-template-columns:minmax(0,1fr);width:100%;max-width:100%;min-width:0}.admin-hero-card,.admin-section-header,.team-setup-card-header,.player-nav-shell{flex-direction:column;align-items:center}.admin-hero-actions{width:100%;justify-content:center}.setup-form-grid,.setup-split-fields,.player-info-row.polished,.custom-theme-grid,.player-setup-grid-header{grid-template-columns:minmax(0,1fr)}.player-setup-row{grid-template-columns:minmax(0,1fr) 78px}.individual-pairing-row,.individual-match-card-header{flex-direction:column;align-items:stretch}.individual-hole-table{display:block;overflow-x:auto}.admin-primary-button,.admin-secondary-button,.admin-danger-button,.tournament-card-actions button,.setup-actions button{max-width:100%;white-space:normal}.tournament-card-top,.tournament-card-meta,.tournament-card-actions{width:100%;max-width:100%;min-width:0}.tournament-card-top{gap:10px}.tournament-card h4,.tournament-card-subtitle,.tournament-card-meta span{overflow-wrap:anywhere}.tournament-card-actions button{flex:1 1 120px;margin-left:0;margin-right:0}.team-player-grid-header{display:none}.team-inline-field,.team-inline-field.compact{grid-template-columns:minmax(0,1fr);width:100%;max-width:100%;gap:8px;align-items:stretch}.team-inline-field input[type=text]{width:100%;max-width:100%}.team-color-row{flex-wrap:wrap}.player-nav-actions{justify-content:center}.app-shell-header{margin-left:0;margin-right:0;border-radius:0 0 20px 20px}}.map-container{height:600px;width:100%;border:1px solid #ccc;border-radius:8px}
