@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;600;700;800&display=swap";:root{color:#203b33;font-synthesis:none;background:#f5f4ee;font-family:DM Sans,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0;border-radius:9px;padding:12px 18px;font-weight:600;transition:background .15s}button:disabled{opacity:.55;cursor:wait}button:hover{filter:brightness(.95)}:is(button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible){outline-offset:3px;outline:3px solid #ca9e52}.app{max-width:1140px;margin:auto;padding:0 32px}header{border-bottom:1px solid #dcded3;justify-content:space-between;align-items:center;padding:28px 0;display:flex}.brand{align-items:center;gap:13px;display:flex}.logo{color:#f1eccb;background:#264f41;border-radius:50%;place-items:center;width:50px;height:50px;font-size:30px;display:grid}.brand strong{font-family:Manrope,system-ui;font-size:22px;font-weight:800;display:block}.brand small{letter-spacing:2px;color:#67786c;margin-top:5px;font-size:9px;display:block}main{padding:46px 0}.topline{justify-content:space-between;align-items:center;gap:32px;display:flex}.eyebrow{text-transform:uppercase;letter-spacing:1.5px;color:#77805f;font-size:11px;font-weight:700}h1{letter-spacing:-1.5px;margin:13px 0;font-family:Manrope,system-ui;font-size:38px;font-weight:800;line-height:1.2}p{color:#6a756c;margin:10px 0 20px;line-height:1.6}h2{letter-spacing:-.5px;margin:0;font-family:Manrope,system-ui;font-size:21px}h3{margin:22px 0 10px;font-size:13px}small{color:#718071;font-size:12px}nav{border-bottom:1px solid #dcded3;gap:8px;margin:27px 0 30px;padding-bottom:10px;display:flex}nav button{color:#748071;background:0 0}nav .active,.primary{color:#fff;background:#254b3d}.secondary{color:#254b3d;background:#e9eddf;border:1px solid #d7decc}.text{color:#4f695b;background:0 0;padding:10px}.danger{color:#a15a48}.identity{flex-shrink:0;width:190px}label{margin-bottom:16px;font-size:13px;font-weight:600;display:block}input,select,textarea{color:#263f33;background:#fff;border:1px solid #d4dbd0;border-radius:8px;width:100%;min-height:45px;margin-top:7px;padding:12px;display:block}textarea{resize:vertical}.sectiontitle{justify-content:space-between;align-items:center;gap:12px;margin:24px 0 18px;display:flex}.sectiontitle h2{align-items:center;gap:10px;display:flex}.count{letter-spacing:0;background:#e5e8db;border-radius:20px;padding:5px 9px;font-size:12px}.rounds{gap:18px;display:grid}.round{background:#fff;border:1px solid #e0e3d9;border-radius:16px;padding:27px;box-shadow:0 4px 14px #24382b04}.roundhead{justify-content:space-between;gap:20px;display:flex}.round h2{margin:9px 0 13px}.teetimes{flex-wrap:wrap;gap:8px;display:flex}.teetimes span{background:#f2f3ec;border-radius:6px;padding:7px 10px;font-size:12px}.status{white-space:nowrap;color:#6c7953;background:#eff1e5;border-radius:20px;height:fit-content;padding:9px 12px;font-size:11px;font-weight:700}.status.green{color:#326b42;background:#e6f2e7}.status.amber{color:#936522;background:#fff1d8}.status.red{color:#9a5545;background:#fae8e4}.lineup{border-top:1px solid #eff0e8;margin-top:22px}.lineup .sectiontitle{margin:17px 0 12px}.lineup strong{font-size:13px}.names{flex-wrap:wrap;gap:8px;display:flex}.names span{background:#f7f8f2;border:1px solid #e5e8dd;border-radius:8px;padding:8px 12px;font-size:13px}.names .mine{background:#eff7ed;border-color:#91b49a}.names button{color:#987362;background:0 0;padding:0 0 0 10px}.names.wait span{background:#fff9ef}.roundfoot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:23px;display:flex}.adminactions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.adminactions select{width:170px;margin:0;font-size:12px}.adminbar{background:#e8eadb;border:1px solid #d4d9c4;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:22px;display:flex}.adminbar p{margin:5px 0 0;font-size:13px}.panel{background:#fff;border:1px solid #dee2d5;border-radius:14px;margin:24px 0;padding:26px}.panel .sectiontitle{margin:0 0 22px}.fields{grid-template-columns:1fr 2fr;gap:18px;display:grid}.times{flex-wrap:wrap;gap:12px;margin-bottom:20px;display:flex}.times>div{width:145px}.times .secondary{align-self:start;margin-top:7px}.check{align-items:center;gap:8px;display:flex}.check input,.weekdays input{accent-color:#254b3d;width:18px;min-height:18px;margin:0}.repeat{background:#f6f7ef;border-radius:10px;margin-bottom:20px;padding:18px}.weekdays{flex-wrap:wrap;gap:15px;display:flex}.weekdays label{align-items:center;gap:6px;display:flex}.roster p{font-size:13px}.roster form{margin-top:20px}.empty{text-align:center;background:#eceee2;border:1px dashed #c9d0b8;border-radius:16px;padding:50px 20px}.empty>span{color:#6c8059;font-size:40px}.empty h2{margin:15px 0 6px}.empty p{font-size:14px}.login{max-width:470px;margin:65px auto}.login h1{letter-spacing:-2px;font-size:56px}.login form{margin-top:32px}.login .primary{width:100%}.error,.notice{border-radius:8px;margin:15px 0;padding:14px;font-size:14px}.error{color:#8a423a;background:#fae8e4}.notice{color:#446a38;background:#e7f0df}.notes{white-space:pre-wrap;margin:17px 0 0;font-size:13px}footer{text-align:center;color:#7c8574;margin:36px 0 10px;font-size:12px;line-height:1.8}.cancelled{background:#faf9f5}@media (max-width:650px){.app{padding:0 18px}header{padding:20px 0}.brand strong{font-size:19px}.brand small{letter-spacing:1.3px;font-size:8px}main{padding:28px 0}.topline{display:block}.identity{width:100%;margin:20px 0 0}h1{font-size:31px}.login{margin:40px auto}.login h1{font-size:45px}.round{padding:20px}.roundhead{display:block}.status{margin-top:15px;display:inline-block}.round h2{font-size:20px}.adminbar{display:block}.adminbar .primary{margin-top:17px}.fields{grid-template-columns:1fr;gap:0}.panel{padding:20px}.roundfoot>.primary,.roundfoot>.secondary,.adminactions{width:100%}.adminactions select{flex:1}nav{margin-top:20px}.sectiontitle h2{font-size:19px}}body[data-mode=admin]{color:#512b18;background:#fff3e8}.admin-mode header{border-color:#e8cab7}.admin-mode .logo{color:#fff5e5;background:#8e401b}.admin-mode .brand small,.admin-mode .eyebrow{color:#85502e}.admin-mode nav{border-color:#e5c5b0}.admin-mode nav .active,.admin-mode .primary{color:#fff;background:#8e401b}.admin-mode .secondary{color:#723819;background:#fff0dc;border-color:#d8ab89}.admin-mode .text{color:#794626}.admin-mode .adminbar{background:#fbd6ad;border:2px solid #b36029;box-shadow:0 3px #b3602918}.admin-mode .adminbar strong{color:#612c12;font-size:22px}.admin-mode .adminbar p{color:#69371e;font-size:15px}.adminbar-actions{flex-wrap:wrap;gap:12px;display:flex}.admin-mode .panel,.admin-mode .round{border-color:#e8c6ad}.admin-mode .repeat,.admin-mode .teetimes span,.admin-mode .count{background:#fff0dc}.admin-mode .empty{background:#fff0dc;border-color:#cb9974}.admin-mode label{font-size:15px}.admin-mode button{min-height:44px}.admin-mode input,.admin-mode select,.admin-mode textarea{border-color:#cfae95;min-height:48px;font-size:16px}.admin-mode p,.admin-mode small{color:#76563f}.admin-mode .check input,.admin-mode .weekdays input{accent-color:#8e401b;min-height:20px}.add-course{background:#fff2df;border:1px solid #d4a77f;border-radius:10px;margin:0 0 22px;padding:20px}.add-course h3{margin:0 0 16px;font-size:18px}.add-course p{margin:12px 0 0;font-size:14px}.course-actions{gap:12px;display:flex}@media (max-width:650px){.adminbar-actions{margin-top:18px;display:grid}.admin-mode .adminbar .primary{margin:0}.admin-mode .adminbar strong{font-size:21px}.course-actions button{flex:1}}.schedule-picker{background:#fff;border:1px solid #dce2d3;border-radius:14px;margin-top:28px;padding:22px}.view-toolbar,.calendar-guide{justify-content:space-between;align-items:center;gap:14px;display:flex}.view-switch{background:#eef1e6;border-radius:10px;gap:4px;padding:4px;display:flex}.view-switch button{color:#405940;background:0 0;min-height:44px;padding:10px 18px}.view-switch .selected{color:#fff;background:#254b3d}.calendar-nav{grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin-top:22px;display:grid}.calendar-nav h3{text-align:center;margin:0;font-size:23px}.calendar-guide p{margin:17px 0;font-size:14px}.calendar-guide .text{white-space:nowrap}.weekday-headings,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.weekday-headings{text-align:center;color:#6a795d;padding:8px 0;font-size:13px;font-weight:700}.calendar-day{color:#526149;text-align:left;background:#f8f9f4;border:1px solid #e4e8db;border-radius:8px;flex-direction:column;align-items:flex-start;gap:9px;min-width:0;min-height:84px;padding:11px 9px;display:flex;position:relative}.calendar-day.has-golf{color:#294824;background:#e9f1df;border-color:#a5bd8a}.calendar-day.chosen{outline-offset:-3px;color:#1b3a21;background:#dceacc;outline:3px solid #254b3d}.calendar-day.outside{opacity:.6}.calendar-date{align-items:center;gap:6px;font-size:16px;font-weight:700;display:flex}.today-dot{background:currentColor;border-radius:50%;width:6px;height:6px;display:inline-block}.calendar-summary{flex-direction:column;gap:8px;min-width:0;display:flex}.golf-marker{font-size:12px;font-weight:700;line-height:1.3}.calendar-week .calendar-day{min-height:155px}.calendar-week .calendar-date{font-size:13px}.week-round{overflow-wrap:anywhere;flex-direction:column;gap:5px;font-size:13px;line-height:1.4;display:flex}.week-round small{font-size:11px;line-height:1.4}.no-golf{color:#7b8575;font-size:12px;line-height:1.4}.calendar-legend{color:#5b6f50;flex-wrap:wrap;gap:16px;margin:17px 0 0;font-size:12px;line-height:1.5;display:flex}.selected-day-title h2{font-size:21px}.admin-mode .schedule-picker{border-color:#e8c6ad}.admin-mode .view-switch{background:#ffebd5}.admin-mode .view-switch .selected{color:#fff;background:#8e401b}.admin-mode .calendar-day.has-golf{color:#6c371c;background:#ffecd5;border-color:#d6ab83}.admin-mode .calendar-day.chosen{color:#542b17;background:#ffdeb7;outline-color:#8e401b}@media (max-width:650px){.schedule-picker{padding:12px}.view-toolbar{flex-wrap:wrap}.view-toolbar h2{font-size:20px}.view-switch{width:100%}.view-switch button{flex:1;padding:10px}.calendar-nav{gap:7px}.calendar-nav h3{font-size:18px}.calendar-nav button{padding:10px 8px;font-size:13px}.calendar-guide{align-items:flex-start;gap:6px}.calendar-guide p{font-size:13px}.calendar-guide .text{margin-top:6px;padding:10px 5px;font-size:12px}.weekday-headings,.calendar-grid{gap:3px}.weekday-headings{font-size:11px}.calendar-month .calendar-day{gap:6px;min-height:72px;padding:9px 4px}.calendar-date{gap:3px;font-size:15px}.today-dot{width:4px;height:4px}.calendar-month .golf-marker{overflow-wrap:anywhere;font-size:10px}.calendar-week{grid-template-columns:1fr}.calendar-week .calendar-day{grid-template-columns:94px 1fr;gap:12px;min-height:70px;padding:13px;display:grid}.calendar-week .calendar-date{align-self:start;font-size:14px}.week-round{font-size:14px}.week-round small{font-size:12px}.calendar-legend{flex-direction:column;gap:6px;font-size:11px}.selected-day-title h2{font-size:19px;line-height:1.4}.admin-mode .calendar-month button{min-height:72px}}.repeat-instructions{margin:12px 0 18px;font-size:15px}.repeat-preview{border-top:1px solid #d7b493;margin-top:12px;padding-top:14px}.repeat-preview h3{margin:0;font-size:17px}.repeat-preview p{margin:10px 0;font-size:14px}.repeat-preview ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 22px;margin:12px 0 0;padding-left:20px;font-size:14px;line-height:1.5;display:grid}@media (max-width:650px){.repeat-preview ul{grid-template-columns:1fr}.weekdays{gap:12px}.weekdays label{min-height:36px}}.date-dialog{color:#203b33;background:#f5f4ee;border:1px solid #cbd6c0;border-radius:18px;width:min(760px,100vw - 28px);max-height:88dvh;padding:24px;overflow:auto;box-shadow:0 20px 80px #152f2855}.date-dialog::backdrop{background:#142b2566}.date-dialog .selected-day-title{align-items:flex-start;margin:0 0 20px}.modal-close{white-space:nowrap;flex-shrink:0;min-height:48px;font-size:16px}.date-dialog .empty{padding:30px 20px}.admin-mode .date-dialog{color:#512b18;background:#fff3e8;border-color:#d9aa86}@media (max-width:650px){.date-dialog{border-radius:14px;padding:17px}.date-dialog .selected-day-title h2{font-size:19px}.date-dialog .modal-close{padding:11px}.date-dialog .round{padding:16px}}.delete-button{color:#a33128;background:#fff0ed;border:1px solid #cf9288;min-height:44px}.admin-mode .delete-button{color:#92291f;background:#fff0ed;border-color:#cf9288}.edit-dialog .panel{box-shadow:none;background:0 0;border:0;margin:0;padding:0}nav{flex-wrap:wrap}.my-rounds{margin-top:28px}.my-round-list{gap:12px;display:grid}.my-round{background:#fff;border:1px solid #dce2d3;border-radius:14px;align-items:center;gap:20px;padding:20px;display:flex}.my-round>div{flex:1}.my-round h3{margin:0;font-size:19px}.my-round p{margin:7px 0 12px}.my-round .status{font-size:13px}@media (max-width:650px){.my-round{flex-wrap:wrap;gap:14px}.my-round>div{flex-basis:100%}.my-round button{margin-left:auto}nav button{padding:12px}}.add-player-form{align-items:end;gap:14px;margin:20px 0;display:flex}.add-player-form label{flex:1}.add-player-form input{margin-bottom:0}.add-player-form button{min-height:46px}.player-list{gap:8px;margin-top:22px;display:grid}.player-row{background:#fff;border:1px solid #e5c5b0;border-radius:9px;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;display:flex}.player-row .danger{color:#963b2d}@media (max-width:650px){.add-player-form{flex-wrap:wrap}.add-player-form label,.add-player-form button{flex-basis:100%;width:100%}}.calendar-players,.calendar-waitlist{white-space:normal;overflow-wrap:anywhere;margin-top:5px;font-size:13px;line-height:1.5;display:block}.calendar-waitlist{color:#805719}.calendar-me{text-underline-offset:2px;font-weight:700;text-decoration:underline}.calendar-month .week-round{margin-top:8px;font-size:12px}.calendar-month .calendar-players,.calendar-month .calendar-waitlist{font-size:12px}.calendar-month .calendar-day{height:auto}.calendar-summary,.week-round{min-width:0}.edit-scope{border:1px solid #d9aa86;border-radius:10px;margin:0 0 22px;padding:16px}.edit-scope legend{padding:0 6px;font-weight:700}.edit-scope .check{align-items:flex-start;margin:12px 0}.edit-scope input{flex-shrink:0}.edit-scope p{font-size:14px;line-height:1.5}.edit-scope .repeat-preview ul{max-height:180px;overflow:auto}nav a{color:inherit;border-radius:9px;padding:12px 18px;font-weight:600;text-decoration:none;display:inline-block}nav a.active{color:#fff;background:#8e401b}nav a:focus-visible{outline-offset:3px;outline:3px solid #ca9e52}.bulk-players{background:#fff3e8;border:1px solid #d9aa86;border-radius:10px;margin-top:20px;padding:18px}.bulk-players fieldset{border:0;margin:0;padding:0}.bulk-players legend{margin-bottom:12px;font-size:17px;font-weight:700}.bulk-player-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.bulk-player-grid .check{background:#fff;border-radius:8px;min-height:48px;margin:0;padding:10px}.bulk-player-grid input{flex-shrink:0}.bulk-players p{font-size:14px;line-height:1.5}.bulk-actions{flex-wrap:wrap;gap:12px;display:flex}@media (max-width:650px){.bulk-player-grid{grid-template-columns:1fr}.bulk-actions button{width:100%}nav a{padding:12px}}.signed-in{justify-content:flex-end;align-items:center;gap:12px;font-size:15px;display:flex}.signed-in .text{padding:8px;font-size:13px}.signed-in strong{font-weight:700}@media (max-width:650px){.signed-in{text-align:right;flex-direction:column;align-items:flex-end;gap:3px;font-size:13px}.signed-in .text{padding:5px 0}header{gap:12px}}.notes{font-weight:700}
