:root{--ink:#173c32;--muted:#778078;--lime:#d6ee84;--canvas:#f6f7f2;--line:#e1e6dc;--white:#fff;--red:#aa453a;--gold:#b7872c;--green-light:#eaf2e7;--shadow:0 12px 40px #18392c09;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--canvas);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #97b756;outline-offset:3px}a{color:inherit;text-decoration:none}button{color:inherit}h1,h2,h3,p{margin:0}button svg{width:16px;height:16px;flex-shrink:0}.app-shell{display:flex;min-height:100vh}.sidebar{width:226px;flex-shrink:0;position:fixed;inset:0 auto 0 0;background:#fdfdf9;border-right:1px solid var(--line);padding:36px 22px 24px;display:flex;flex-direction:column;z-index:5}.brand{display:flex;align-items:center;gap:12px;font-size:22px;line-height:1.15;letter-spacing:-.8px;font-weight:700}.brand-mark{position:relative;display:flex;align-items:center;justify-content:center;width:43px;height:46px;background:var(--ink);border-radius:13px;color:var(--lime);font-size:46px;line-height:1;font-family:Georgia,serif;padding-bottom:9px;transform:rotate(-7deg)}.brand-mark span{font-size:16px;position:absolute;right:6px;top:7px;color:#f7faf1}.brand-sub{display:block;font-size:14px;letter-spacing:2px;line-height:2.6;color:#838b7f}.workspace-label{font-size:14px;letter-spacing:1.6px;color:#92998c;font-weight:600;margin:53px 14px 15px}nav{display:grid;gap:7px}.nav-item{border:0;background:transparent;border-radius:10px;display:flex;align-items:center;gap:13px;text-align:left;padding:13px 15px;font-size:17px;color:#748070;width:100%}.nav-item svg{width:19px;height:19px}.nav-item.active{background:var(--ink);color:white;box-shadow:0 4px 10px #173c3210}.nav-item:hover:not(.active){background:#edf1e8}.nav-count{font-size:14px;margin-left:auto;background:#ffffff24;padding:3px 7px;border-radius:5px}.sidebar-bottom{margin-top:auto;padding:26px 5px 0}.local-status{display:flex;align-items:center;gap:7px;font-size:14px;color:#73856e}.local-status i{height:6px;width:6px;background:#7b9c63;border-radius:50%}.sidebar-bottom p{font-size:16px;line-height:1.65;color:#92988d;margin-top:14px}.organizer{margin-top:26px;padding-top:22px;border-top:1px solid var(--line);display:flex;align-items:center;gap:9px}.avatar{width:35px;height:35px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#e7ecdc;font-size:15px;font-weight:600;flex-shrink:0}.organizer strong{font-size:15px;display:block}.organizer small{color:#90988b;font-size:14px;display:block;margin-top:4px}.organizer-dot{font-size:14px;margin-left:auto;color:#83a66d}.workspace{margin-left:226px;width:calc(100% - 226px);min-width:0}.topbar{height:81px;border-bottom:1px solid var(--line);padding:0 38px;display:flex;justify-content:space-between;align-items:center;background:#fafbf6}.breadcrumb{font-size:15px;color:#899180}.breadcrumb span{margin:0 13px;color:#b9c0b1}.breadcrumb strong{font-weight:500;color:#4f6555}.top-actions{display:flex;gap:10px;align-items:center}.simulation-badge{display:inline-flex;align-items:center;gap:7px;border:1px solid #d9e4b3;border-radius:6px;color:#657642;background:#f0f6de;font-size:14px;padding:6px 9px;font-weight:600}.simulation-badge span{font-size:14px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);border-radius:8px;padding:10px 14px;line-height:1.3;background:white;font-weight:600;font-size:16px;white-space:nowrap;transition:background .15s,transform .15s}.button:hover{background:#f1f4eb;transform:translateY(-1px)}.button-primary{background:var(--ink);color:white;border-color:var(--ink);box-shadow:0 3px 8px #173c3212}.button-primary:hover{background:#265042}.button-lime{background:var(--lime);border-color:var(--lime)}.button-lime:hover{background:#c8e273}.button-quiet{background:transparent}.button-danger-outline{color:#a34e43;background:transparent;border-color:#e5d9d0}.button-danger{background:#a54b40;border-color:#a54b40;color:white}.button.compact{font-size:14px;padding:7px 10px}.button.link{padding:0;border:0;background:none;color:#64813e}.button.icon-only{width:30px;height:30px;padding:6px}.button.wide{width:100%}main{padding:35px 38px 35px;max-width:1700px;margin:auto;min-height:calc(100vh - 141px)}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px}.eyebrow{font-size:14px;font-weight:700;color:#7b8b69;letter-spacing:1.7px;margin-bottom:11px}.page-heading h1{font-size:32px;font-weight:550;letter-spacing:-1.3px;line-height:1.2}.subtitle{font-size:16px;color:#87917e;line-height:1.6;margin-top:11px}.heading-actions{display:flex;gap:9px}.overview{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:12px;background:#fdfefa;box-shadow:var(--shadow);margin-bottom:28px}.stat{padding:21px 24px;display:flex;align-items:center;gap:16px;position:relative}.stat+.stat:before{content:"";width:1px;height:42px;background:var(--line);position:absolute;left:0}.stat-icon{width:38px;height:38px;border-radius:10px;background:#eef2e7;display:grid;place-items:center}.stat-icon svg{height:19px;width:19px;stroke:#748563}.stat-value{font-size:25px;font-weight:600;letter-spacing:-1px;line-height:1}.stat-label{display:block;font-size:14px;color:#8a947f;margin-top:7px}.stat-note{margin-left:auto;font-size:14px;color:#839077}.section-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:0 0 18px}.week-nav{display:flex;gap:12px;align-items:center}.week-title{font-size:17px;font-weight:550;letter-spacing:-.45px}.week-nav .week-arrows{display:flex;gap:3px}.toolbar-actions{display:flex;align-items:center;gap:12px}.muted-label{font-size:14px;color:#899080}.week-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;align-items:start}.day-heading{display:flex;align-items:center;justify-content:space-between;padding:0 3px 12px}.day-name{font-size:14px;letter-spacing:.6px;font-weight:600;color:#929b89;text-transform:uppercase}.day-date{font-size:15px;color:#7d8b72}.day-column.is-today .day-date{background:var(--ink);color:#fff;border-radius:50%;width:25px;height:25px;display:grid;place-items:center;margin-top:-7px}.game-card{cursor:pointer;border:1px solid var(--line);border-radius:11px;background:white;overflow:hidden;box-shadow:0 3px 10px #18392c03;margin-bottom:13px;transition:box-shadow .2s,border-color .2s}.game-card:hover{border-color:#b7c7a4;box-shadow:0 5px 20px #18392c0a}.game-card-top{padding:16px 15px 11px}.game-code-line{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-bottom:15px}.game-code{font-size:14px;font-weight:600;letter-spacing:.4px;color:#929a89}.status{font-size:14px;line-height:1.3;border-radius:4px;padding:4px 6px;font-weight:600;display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.status.green{color:#4c784d;background:#edf5e9}.status.gold{color:#a27938;background:#faf2df}.status.gray{color:#8b9285;background:#f1f3ed}.status.red{color:#a35145;background:#fcf0eb}.status.blue{color:#588084;background:#edf5f3}.game-time{font-size:20px;letter-spacing:-.6px;font-weight:550;white-space:nowrap}.game-time small{font-size:14px;font-weight:500;letter-spacing:0;color:#8f978a;margin-left:3px}.game-venue{font-size:14px;color:#929b89;margin-top:8px;display:flex;gap:5px;line-height:1.5;align-items:center}.game-venue svg{height:11px;width:11px;flex-shrink:0}.roster{padding:13px 15px 15px;display:grid;gap:13px}.roster-person{display:flex;align-items:center;gap:8px;font-size:14px;min-width:0}.roster-person .avatar{width:25px;height:25px;background:#eff1e8;font-size:14px}.roster-person.host .avatar{background:#e8edde}.person-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.person-name small{font-size:14px;color:#939d89;margin-left:4px}.roster-state{margin-left:auto;display:flex;align-items:center;color:#94b376}.roster-state svg{width:12px;height:12px}.roster-state.awaiting{color:#cfb470}.open-slot{height:27px;border:1px dashed #dce4d1;border-radius:6px;display:flex;align-items:center;gap:7px;padding:5px 7px;font-size:14px;color:#98a68b;background:#fbfcf7}.open-slot.held{color:#a17b37;background:#fdf8ed;border-color:#ebdcbd}.open-slot svg{width:12px;height:12px}.card-footer{padding:12px 14px;border-top:1px solid #edf0e7;background:#fcfdf9;display:grid;gap:8px}.card-footer-line{display:flex;align-items:center;justify-content:space-between;font-size:14px;color:#929b87;gap:5px}.card-footer-line strong{font-weight:500;color:#6b7e60}.game-card:focus-visible{outline:3px solid #97b756;outline-offset:3px}.day-empty{padding:24px 14px;border:1px dashed var(--line);border-radius:10px;color:#9aa58e;font-size:15px;text-align:center}.week-legend{display:flex;gap:20px;font-size:14px;color:#8c9680;margin:18px 2px 30px}.week-legend span{display:flex;align-items:center;gap:5px}.legend-dot{height:5px;width:5px;background:#91ac78;border-radius:50%}.legend-dot.gold{background:#cdb072}.legend-dot.gray{background:#a1a896}.bottom-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:20px}.panel{background:#fdfefa;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:var(--shadow)}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:19px 21px;border-bottom:1px solid #e8eddf}.panel-header h2{font-size:17px;letter-spacing:-.2px;font-weight:600}.panel-header small{font-size:14px;color:#939d87}.panel-content{padding:20px}.notice-card{display:flex;gap:11px;align-items:flex-start;padding:17px 21px}.notice-icon{display:grid;place-items:center;background:#f4eedb;color:#aa9858;width:30px;height:30px;border-radius:8px;flex-shrink:0}.notice-icon svg{height:15px;width:15px}.notice-card h3{font-size:15px;font-weight:550;line-height:1.5}.notice-card p{font-size:14px;color:#929c84;line-height:1.7;margin-top:4px}.notice-card .button{margin-top:9px}.timeline-row{display:flex;gap:12px;padding:12px 20px;border-bottom:1px solid #eef1e8}.timeline-row:last-child{border-bottom:0}.timeline-dot{margin-top:4px;flex-shrink:0;width:7px;height:7px;border:2px solid #bdd397;border-radius:50%}.timeline-copy{font-size:14px;line-height:1.6;flex:1;overflow-wrap:anywhere}.timeline-copy small{display:block;color:#96a18a;font-size:14px}.timeline-time{font-size:14px;color:#98a18e;white-space:nowrap;margin-top:3px}.page-footer{display:flex;justify-content:space-between;padding:23px 38px;border-top:1px solid #e5e9dc;font-size:14px;color:#a0a793}.page-footer span:first-child{letter-spacing:1.5px;font-size:14px;font-weight:600}.empty-state{text-align:center;padding:45px 24px;color:#89947c;font-size:16px;line-height:1.8}.empty-state h3{font-size:16px;color:var(--ink);margin-bottom:7px}.notice-banner{padding:13px 16px;border:1px solid #e4d7b2;background:#fbf5e6;border-radius:8px;font-size:15px;line-height:1.6;color:#9b783e;margin-bottom:18px}.notice-banner.danger{border-color:#e5c1b9;background:#fff0ed;color:#9d463c}.notice-banner.info{border-color:#d6e4d2;background:#eef4e9;color:#637d58}.loading{text-align:center;padding:100px 20px}.loading h1{font-size:24px;margin:20px 0 12px}.loading p{color:#809275;font-size:17px}.loader{display:inline-block;width:30px;height:30px;border-radius:50%;border:2px solid #dce4d1;border-top-color:var(--ink);animation:spin 1s infinite linear}@keyframes spin{to{transform:rotate(360deg)}}.search-box{display:flex;align-items:center;gap:9px;padding:10px 13px;background:#fff;border:1px solid var(--line);border-radius:8px;width:280px}.search-box svg{width:15px;height:15px;color:#98a28b}.search-box input{border:0;outline:none;width:100%;font-size:15px;color:var(--ink);background:transparent}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{font-size:14px;text-transform:uppercase;letter-spacing:.6px;font-weight:600;color:#8a9580;padding:15px 20px;background:#f7f9f2;border-bottom:1px solid var(--line)}td{padding:14px 20px;font-size:15px;border-bottom:1px solid #edf0e8;color:#6e8064}td strong{color:#355339;font-weight:550}.table-person{display:flex;align-items:center;gap:10px}.tier{display:inline-grid;place-items:center;width:24px;height:24px;background:#edf1e3;border-radius:6px;color:#798858;font-weight:600;font-size:14px}.tier.b{background:#f3eee4;color:#a18c60}.table-wrap .button{font-size:14px;padding:6px 9px}.mobile-card{display:none}.directory-summary{font-size:15px;color:#849378;margin-bottom:20px;line-height:1.7}.simulation-layout{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(350px,1.2fr);gap:25px;align-items:start}.clock-card{background:var(--ink);padding:25px;border-radius:12px;color:#eef4dc;margin-bottom:20px;position:relative;overflow:hidden}.clock-eyebrow{font-size:14px;letter-spacing:1.5px;color:#c0cea9;margin-bottom:17px}.clock-time{font-size:34px;letter-spacing:-1px}.clock-date{font-size:16px;margin-top:8px;color:#b4c8a9}.clock-actions{display:flex;gap:9px;margin-top:26px;flex-wrap:wrap}.clock-actions .button{background:#ffffff10;border-color:#ffffff25;color:white;font-size:15px}.clock-actions .button-lime{color:var(--ink);background:var(--lime);border-color:var(--lime)}.phone-panel{max-width:570px;min-width:0;width:100%}.phone-header{display:flex;align-items:center;gap:12px;padding:19px 22px;border-bottom:1px solid var(--line)}.phone-header select{flex:1;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fafcf7;color:var(--ink);font-size:16px}.phone-conversation{height:380px;overflow:auto;background:#f6f8f1;padding:23px;display:flex;flex-direction:column;gap:12px}.bubble{padding:12px 14px;border-radius:13px 13px 13px 3px;max-width:86%;background:white;box-shadow:0 1px 3px #173c3210;font-size:15px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}.bubble.inbound{align-self:flex-end;background:#dfedc4;border-radius:13px 13px 3px 13px}.bubble-meta{font-size:14px;color:#849371;margin-top:6px}.phone-compose{display:flex;gap:10px;padding:17px;border-top:1px solid var(--line);background:white}.phone-compose input{width:100%;min-width:0;border:1px solid var(--line);border-radius:8px;padding:11px 12px;font-size:15px;background:#fcfdf9}.phone-caption{font-size:14px;line-height:1.6;color:#94a087;margin:12px 5px;text-align:center}.command-list{display:grid;gap:13px;padding:20px}.command-row{display:flex;gap:14px;font-size:15px;line-height:1.5;color:#8a957f}.command-row code{color:#426636;font-size:14px;width:100px;flex-shrink:0}.section-stack{display:grid;gap:23px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.form-field{display:flex;flex-direction:column;gap:7px;min-width:0}.form-field.full{grid-column:1/-1}.form-field label{font-size:14px;font-weight:550;color:#708066}.form-field small{font-size:14px;color:#939f88;line-height:1.6}.form-field input,.form-field select,.form-field textarea{width:100%;border:1px solid #dce4d4;border-radius:7px;padding:10px 11px;font-size:15px;background:#fff;color:#315233;min-height:37px}.form-field textarea{min-height:90px;resize:vertical}.form-field input[type=checkbox]{width:auto;min-height:auto;accent-color:#315637;margin:0}.checkbox-label{display:flex;gap:9px;align-items:center;font-size:15px!important;font-weight:400!important;line-height:1.5}.form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:23px;padding-top:18px;border-top:1px solid var(--line)}.form-hint{font-size:14px;line-height:1.7;color:#8d9881;margin:13px 0}.template-list{display:grid;gap:10px;margin-bottom:20px}.template-row{padding:12px;border-radius:7px;background:#f5f8ed;font-size:15px;line-height:1.8}.template-row small{display:block;color:#8b957e}.activity-list .timeline-row{padding:18px 22px}.usage-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.usage-item{border:1px solid var(--line);border-radius:8px;padding:14px}.usage-item strong{display:block;font-size:22px}.usage-item span{font-size:14px;color:#86957a;line-height:1.6;display:block;margin-top:8px}.provider-note{font-size:15px;line-height:1.8;color:#8b977f;margin-top:15px}.provider-note strong{color:#647f53;font-weight:550}.private-label{font-size:14px;background:#eef1e7;color:#899777;padding:5px 8px;border-radius:5px}dialog{border:0;border-radius:16px;padding:0;color:var(--ink);box-shadow:0 30px 130px #0c261742;width:min(790px,calc(100vw - 36px));max-height:90vh;background:#fdfefa}dialog::backdrop{background:#17382970;backdrop-filter:blur(3px)}.modal-header{padding:25px 29px 19px;display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fdfefa;z-index:1}.modal-header h2{font-size:24px;letter-spacing:-.7px;font-weight:550}.modal-header p{font-size:15px;color:#8d9881;margin-top:8px;line-height:1.6}.modal-body{padding:24px 29px 28px}.modal-body .form-actions{margin-bottom:0}.modal-kicker{font-size:14px;text-transform:uppercase;letter-spacing:1.4px;color:#80916e;margin-bottom:10px}.detail-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:23px}.detail-stat{padding:16px;background:#f1f5e9;border-radius:9px}.detail-stat strong{font-size:22px;display:block}.detail-stat small{font-size:14px;color:#8a977e;display:block;margin-top:7px}.detail-section{margin-top:25px;border-top:1px solid var(--line);padding-top:21px}.detail-section h3{font-size:17px;font-weight:600;margin-bottom:15px}.detail-actions{display:flex;flex-wrap:wrap;gap:8px;margin:21px 0 8px}.detail-roster{display:grid;grid-template-columns:1fr 1fr;gap:10px}.detail-person{display:flex;gap:10px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:8px;font-size:15px}.detail-person small{display:block;font-size:14px;color:#89977c;margin-top:5px}.detail-person .avatar{height:30px;width:30px;font-size:14px}.detail-person .button{margin-left:auto}.preview-row{display:grid;grid-template-columns:130px 75px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid #edf0e7;font-size:14px;align-items:start;line-height:1.6}.preview-row strong{font-weight:500}.preview-row span{color:#8c967e}.preview-row .status{justify-self:start;color:#527d40}.preview-scroll{max-height:280px;overflow:auto}.day-checkboxes{display:flex;gap:7px;flex-wrap:wrap}.day-checkboxes label{display:flex;gap:4px;align-items:center;font-size:14px;border:1px solid var(--line);padding:8px;border-radius:6px}.day-checkboxes input{width:auto;min-height:auto;accent-color:var(--ink)}.code-block{background:#f1f4e9;padding:15px;border-radius:7px;white-space:pre-wrap;font-size:14px;line-height:1.8;color:#7c8f6d;overflow:auto;max-height:220px}.csv-preview{margin-top:19px}.csv-preview table{white-space:normal}.csv-preview td,.csv-preview th{padding:10px;font-size:14px}.inline-error{padding:10px 12px;background:#fff0e9;color:#a95343;border:1px solid #e7cdc4;border-radius:7px;font-size:15px;line-height:1.5;margin:12px 0}.login{max-width:380px;margin:75px auto;padding:28px}.login h1{font-size:26px;margin-bottom:13px}.login p{font-size:16px;color:#829376;line-height:1.7;margin-bottom:23px}#toast{position:fixed;bottom:25px;left:calc(50% + 95px);transform:translate(-50%,20px);padding:13px 20px;max-width:min(550px,90vw);background:#254d3c;color:white;box-shadow:0 8px 24px #173c3226;border-radius:9px;font-size:16px;z-index:30;opacity:0;pointer-events:none;transition:.2s;line-height:1.6}#toast.visible{opacity:1;transform:translate(-50%,0)}#toast.error{background:#a55343}.text-muted{color:#8c9880;font-size:15px;line-height:1.7}.spaced{margin-top:18px}.no-margin{margin:0}.mobile-nav-label{display:none}@media(min-width:1500px){main{padding-top:42px}.game-card-top{padding-top:20px}.game-time{font-size:24px}.roster{gap:16px}.roster-person{font-size:16px}.game-venue{font-size:14px}.game-card{min-height:365px}.card-footer{padding-top:15px;padding-bottom:15px}}@media(max-width:1200px){.sidebar{width:190px;padding-left:15px;padding-right:15px}.workspace{margin-left:190px;width:calc(100% - 190px)}main{padding:30px 24px}.topbar{padding:0 24px}.game-card-top{padding:13px 10px}.game-time{font-size:17px}.roster{padding:10px;gap:12px}.card-footer{padding:10px}.week-grid{gap:9px}.page-heading h1{font-size:29px}.stat{padding:18px}.stat-note{display:none}.game-code-line{flex-wrap:wrap;gap:7px}.game-venue{font-size:14px}.organizer strong{font-size:14px}.brand{font-size:20px}.brand-sub{font-size:14px}.sidebar-bottom{padding-left:2px}.roster-person{gap:5px}.person-name small{font-size:14px;margin-left:2px}.game-code{font-size:14px}.page-footer{padding:20px 24px}}@media(max-width:1000px){.sidebar{width:78px;padding:30px 14px}.brand>span:last-child,.workspace-label,.nav-item span,.sidebar-bottom{display:none}.brand{justify-content:center}.brand-mark{width:42px}.sidebar nav{margin-top:47px}.nav-item{justify-content:center;padding:14px}.workspace{margin-left:78px;width:calc(100% - 78px)}.page-heading{align-items:flex-start}.page-heading h1{font-size:28px}.heading-actions{padding-top:14px}.settings-grid{grid-template-columns:1fr}.simulation-layout{grid-template-columns:1fr 1.3fr;gap:17px}.clock-card{padding:22px}.clock-time{font-size:28px}.clock-actions{gap:7px}.clock-actions .button{padding:9px}.week-title{font-size:15px}.toolbar-actions{gap:8px}.button{padding:9px 11px;font-size:15px}#toast{left:calc(50% + 39px)}}@media(max-width:760px){.sidebar{position:fixed;inset:auto 0 0;width:100%;height:67px;display:block;padding:7px 10px;background:#fdfefa;box-shadow:0 -3px 20px #173c3207;border:0;border-top:1px solid var(--line)}.brand{display:none}.sidebar nav{display:flex;margin:0;justify-content:space-around;gap:5px}.nav-item{display:flex;flex-direction:column;gap:5px;padding:8px 11px;border-radius:8px;font-size:14px;width:auto;min-width:55px}.nav-item.active{background:#edf3df;color:var(--ink);box-shadow:none}.nav-item svg{height:17px;width:17px}.nav-item span{display:block}.nav-item .nav-count{display:none}.workspace{width:100%;margin:0;padding-bottom:66px}.topbar{height:64px;padding:0 18px}.breadcrumb{display:none}.top-actions{justify-content:space-between;width:100%;gap:7px}.simulation-badge{font-size:14px;padding:6px 8px}.top-actions .button{font-size:14px;padding:7px 8px}main{padding:27px 18px}.page-heading{display:block;margin-bottom:24px}.page-heading h1{font-size:29px;letter-spacing:-1.1px}.eyebrow{font-size:14px;margin-bottom:10px}.subtitle{font-size:15px;max-width:310px}.heading-actions{padding-top:20px}.heading-actions .button{font-size:15px;padding:10px 12px}.overview{margin-bottom:25px;border-radius:9px}.stat{padding:17px 10px;display:block;text-align:center}.stat-icon{display:none}.stat-value{font-size:24px}.stat-label{font-size:14px;margin-top:8px}.stat+.stat:before{height:40px;top:20px}.section-toolbar{flex-wrap:wrap;gap:15px;margin-bottom:19px}.week-nav{width:100%;justify-content:space-between;gap:8px}.week-title{font-size:16px;margin-right:auto}.toolbar-actions{width:100%;justify-content:space-between}.week-grid{display:block}.day-column{margin-bottom:24px}.day-heading{padding:0 4px 10px;justify-content:flex-start;gap:9px}.day-name{font-size:15px}.day-date{font-size:15px}.day-column.is-today .day-date{width:21px;height:21px;margin-top:0}.game-card{display:grid;grid-template-columns:1fr 1.1fr;position:relative;margin-bottom:12px}.game-card-top{padding:18px 16px 15px}.game-code-line{margin-bottom:19px}.game-time{font-size:22px}.game-venue{font-size:14px;max-width:150px;align-items:flex-start;line-height:1.6}.game-venue svg{margin-top:2px}.roster{padding:18px 14px 16px 5px;gap:11px;align-content:start}.roster-person{font-size:15px;gap:8px}.person-name small{font-size:14px}.roster-person .avatar{width:25px;height:25px}.card-footer{grid-column:1/-1;padding:13px 16px;display:grid;grid-template-columns:1fr auto;gap:7px 15px}.card-footer-line{font-size:14px;justify-content:flex-start;gap:8px}.card-details{grid-column:2;grid-row:1/3;font-size:14px;gap:10px}.week-legend{font-size:14px;gap:13px;margin-top:5px;flex-wrap:wrap}.bottom-grid{grid-template-columns:1fr;gap:17px}.page-footer{font-size:14px;padding:20px 18px;gap:16px;line-height:1.6}.page-footer span:first-child{font-size:14px;white-space:nowrap}.table-wrap th,.table-wrap td{padding:12px}.search-box{width:100%}.simulation-layout{grid-template-columns:1fr;gap:22px}.phone-panel{max-width:none}.clock-card{margin-bottom:18px}.clock-time{font-size:33px}.phone-conversation{height:380px}.phone-header{padding:15px}.phone-conversation{padding:18px}.phone-compose{padding:13px}.settings-grid{gap:19px}.form-grid{gap:15px 12px}.form-field input,.form-field select,.form-field textarea{font-size:16px;padding:10px 8px}.panel-content{padding:17px}.panel-header{padding:17px}.panel-header h2{font-size:16px}.modal-header{padding:21px 19px 17px}.modal-header h2{font-size:22px}.modal-body{padding:20px 19px 23px}.detail-roster{grid-template-columns:1fr}.detail-stats{gap:8px}.detail-stat{padding:13px}.preview-row{grid-template-columns:94px 65px 1fr;gap:8px;font-size:14px}.detail-actions .button{font-size:14px}.form-actions{flex-wrap:wrap}.form-actions .button{padding:10px}.day-checkboxes{gap:5px}.day-checkboxes label{padding:7px;font-size:14px}dialog{width:calc(100vw - 20px);max-height:92vh;border-radius:12px}#toast{left:50%;bottom:80px}.usage-item strong{font-size:20px}.usage-item span{font-size:14px}.directory-summary{font-size:14px}.status{font-size:14px}.activity-list .timeline-row{padding:16px}.timeline-time{font-size:14px}.day-empty{display:none}.day-column:has(.day-empty){margin-bottom:15px}.day-column:has(.day-empty) .day-heading:after{content:'No games';font-size:14px;color:#a1aa93;margin-left:auto}.modal-body .table-wrap{margin-left:-7px;margin-right:-7px}.modal-body .table-wrap td,.modal-body .table-wrap th{padding:10px 8px}.phone-compose input{font-size:16px}.notice-card{padding:17px}.settings-grid .form-field.full{grid-column:1/-1}.hide-mobile{display:none}}

@media(max-width:760px){.simulation-layout>div:first-child{display:contents}.simulation-layout .clock-card{grid-row:1;margin-bottom:0}.simulation-layout .phone-panel{grid-row:2}.simulation-layout>div:first-child>section.panel{grid-row:3}.simulation-layout>div:first-child>p.form-hint{grid-row:4}}

/* Readable text needs room to wrap instead of shrinking with the viewport. */
body{font-size:18px;line-height:1.5}
.week-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.button{white-space:normal;min-height:40px}
.button.icon-only{width:40px;height:40px}
.open-slot{height:auto;min-height:34px}
.game-code-line,.card-footer-line,.top-actions,.heading-actions,.week-nav{flex-wrap:wrap}
.topbar{height:auto;min-height:81px;padding-top:12px;padding-bottom:12px;gap:12px}
.person-name{white-space:normal;overflow-wrap:anywhere}
.form-grid>* ,.simulation-layout>*{min-width:0}
@media(max-width:760px){
 .sidebar{height:84px;padding:7px 4px}
 .sidebar nav{gap:0}
 .nav-item{font-size:12px;padding:8px 4px;min-width:0;flex:1}
 .workspace{padding-bottom:84px}
 .game-card{display:block}
 .roster{padding:12px 16px 18px}
 .card-footer{display:flex;flex-direction:column}
 .game-venue{max-width:none}
 .form-grid{grid-template-columns:1fr}
 .page-footer,.panel-header{flex-wrap:wrap;gap:10px}
 .page-footer span:first-child{white-space:normal}
 .preview-row{grid-template-columns:1fr;gap:4px}
 #toast{bottom:96px}
}

/* Guided practice keeps the next action, roster, and result together. */
.top-actions [hidden]{display:none}
.guided-entry{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px;margin-bottom:24px;border:1px solid #c6d6a8;border-radius:12px;background:#edf4df}
.guided-entry strong{font-size:20px}.guided-entry p{font-size:16px;margin-top:5px;color:#52644b}
.guide-intro{max-width:680px;margin:38px auto;text-align:center;padding:32px 20px}
.guide-icon{display:grid;place-items:center;width:76px;height:76px;margin:0 auto 28px;border-radius:22px;background:var(--lime)}
.guide-icon svg{width:40px;height:40px}
.guide-intro h1,.guide-action h1{font-size:clamp(28px,3vw,38px);line-height:1.2;letter-spacing:-1px}
.guide-intro>p:not(.eyebrow):not(.guide-note){font-size:20px;line-height:1.6;color:#52644b;margin:20px 0}
.guide-intro-example{display:flex;gap:14px;align-items:center;justify-content:center;background:white;border:1px solid var(--line);border-radius:12px;padding:24px;margin:30px 0}
.guide-intro-example .avatar{width:44px;height:44px;font-size:18px}
.button.guide-primary{font-size:19px;padding:17px 24px;min-height:60px;max-width:100%;text-align:center}
.guide-note{font-size:15px;line-height:1.6;color:#59694f;margin:18px 0}
.guide-shell{max-width:1000px;margin:auto}
.guide-progress{display:flex;justify-content:space-between;gap:12px;font-size:15px;color:#52644b;margin-bottom:10px}
.guide-progress-bar{display:block;appearance:none;width:100%;height:8px;border:0;border-radius:10px;overflow:hidden;background:#e1e8d7;color:#507641;margin-bottom:28px}
.guide-progress-bar::-webkit-progress-bar{background:#e1e8d7}.guide-progress-bar::-webkit-progress-value{background:#507641}.guide-progress-bar::-moz-progress-bar{background:#507641}
.guide-action{padding:28px;border:1px solid var(--line);border-radius:14px;background:white}
.guide-action>p:not(.guide-note):not(.inline-error){font-size:19px;line-height:1.6;margin:14px 0 22px;max-width:720px;color:#52644b}
.guide-action .guide-note{margin-bottom:0}
.guide-result{display:flex;gap:12px;align-items:flex-start;background:#eaf2df;border-radius:10px;padding:18px 20px;margin:20px 0;font-size:18px;line-height:1.5;color:#365a2f}
.guide-result svg{width:24px;height:24px;flex-shrink:0;margin-top:2px}
.guide-columns{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:20px;align-items:start}
.guide-columns .panel-header{gap:14px;flex-wrap:wrap}.guide-columns .panel-header h2{font-size:20px}.guide-columns .panel-header>span{font-size:14px;color:#59694f}
.guide-game-date{font-size:15px;line-height:1.6;color:#52644b;margin-bottom:16px}
.guide-players{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.guide-players li{display:flex;gap:10px;align-items:center;flex-wrap:wrap;min-height:54px;border:1px solid var(--line);border-radius:9px;padding:10px;font-size:18px;background:white}
.guide-players .avatar{width:32px;height:32px;font-size:15px}.guide-players li>span:last-child:not(.avatar){margin-left:auto;font-size:14px;color:#52644b}
.guide-players li.guide-open{border-style:dashed;background:#f5f8ed;color:#59694f;font-size:17px}
.guide-players li.guide-held{background:#fbf4df;border-color:#d6bd79}
.guide-waitlist{margin-top:18px;font-size:17px;line-height:1.5}
.guide-message{padding:16px;margin-bottom:14px;background:#edf2e6;border-radius:12px;font-size:17px;line-height:1.6;overflow-wrap:anywhere}
.guide-message:last-child{margin-bottom:0}.guide-message.guide-reply{background:#e3ebd4;margin-left:20px}
.guide-message .guide-message-label{font-weight:700;font-size:15px;color:#38542e;margin-bottom:8px}
#guide-title:focus{outline:none}
@media(max-width:900px){.guide-columns{grid-template-columns:1fr}.guided-entry{align-items:flex-start;flex-direction:column}}
@media(max-width:760px){.guide-intro{padding:12px 0;margin:10px auto}.guide-intro h1,.guide-action h1{font-size:29px}.guide-intro>p:not(.eyebrow):not(.guide-note){font-size:18px}.guide-action{padding:22px 18px}.guide-action>p:not(.guide-note):not(.inline-error){font-size:18px}.button.guide-primary{width:100%;font-size:18px;padding:15px 16px}.guide-columns{gap:16px}.guide-result{font-size:17px}.nav-item{font-size:12px}.guide-message{font-size:17px}.guide-progress{font-size:14px}}

.button.guide-primary{white-space:normal;overflow-wrap:anywhere}
.guide-other-messages{font-size:15px;color:#52644b}.guide-other-messages summary{cursor:pointer;margin:16px 0;line-height:1.6}

.button-preview-columns{max-width:1000px}.button-preview-intro{max-width:760px}
.button-preview-result{font-size:18px;margin-bottom:20px;line-height:1.6}
.preview-sms{white-space:pre-wrap;line-height:1.7}
.preview-message-link{display:inline-flex;align-items:center;gap:8px;font-weight:650;text-decoration:underline;text-underline-offset:4px;color:#275e34;white-space:normal;padding:10px 0;max-width:100%}
.preview-message-link svg{width:20px;height:20px;flex-shrink:0}

.topbar{height:auto;min-height:81px;gap:18px;padding-top:16px;padding-bottom:16px;flex-wrap:wrap}
.top-actions{flex-wrap:wrap;justify-content:flex-end}
.heading-actions{flex-wrap:wrap}
#fresh-simulation{font-size:15px;min-height:40px}
.simulation-notice{border:1px solid #c6d6a8;background:#edf4df;border-radius:12px;padding:20px 22px;margin-bottom:24px;line-height:1.6}
.simulation-notice strong{font-size:21px}.simulation-notice p{font-size:17px;margin-top:5px;color:#52644b;max-width:900px}
.simulation-history{font-size:15px;color:#59694f;margin:0 0 22px;line-height:1.6}
@media(max-width:760px){.topbar{padding:12px 18px}.top-actions{width:100%;justify-content:flex-start;gap:8px}.top-actions #fresh-simulation{margin-left:auto;white-space:normal;text-align:center}.simulation-notice{padding:17px}.simulation-notice p{font-size:16px}.heading-actions{width:100%}.heading-actions .button{white-space:normal}}

.conversation-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(290px,1fr);gap:24px;align-items:start}
.conversation-layout>*{min-width:0}.conversation-side{display:grid;gap:20px;position:sticky;top:20px}
.conversation-panel .panel-header{gap:12px;flex-wrap:wrap}.conversation-panel .panel-header h2{font-size:20px;line-height:1.5}
.conversation-panel .panel-header>span{font-size:14px;color:#59694f}
.conversation-thread{list-style:none;margin:0;padding:24px;display:flex;flex-direction:column;gap:18px;background:#f3f6ed;min-height:280px}
.conversation-message{max-width:91%;padding:17px 19px;border:1px solid #dfe6d6;border-radius:15px 15px 15px 3px;background:white;align-self:flex-start;min-width:0}
.conversation-message.from-player{align-self:flex-end;background:#dfeaC9;border-color:#c7d9ac;border-radius:15px 15px 3px 15px}
.conversation-sender{font-size:15px;font-weight:700;color:#315539;margin-bottom:8px}
.conversation-body{font-size:18px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}
.conversation-time{font-size:13px;color:#59694f;margin-top:9px}
.conversation-link{display:inline-flex;gap:7px;align-items:center;font-weight:650;color:#275e34;text-decoration:underline;text-underline-offset:4px;padding:7px 0;max-width:100%;white-space:normal}
.conversation-link svg{width:18px;height:18px;flex-shrink:0}
.conversation-empty{font-size:18px;line-height:1.7;color:#52644b}.conversation-empty strong{display:block;font-size:22px;color:var(--ink);margin-bottom:10px}
.conversation-reply .panel-header h2{font-size:22px}.conversation-reply .panel-content{padding:22px}
.conversation-help{font-size:17px;line-height:1.65;color:#52644b;margin-bottom:22px}
.conversation-reply label{display:block;font-size:16px;font-weight:650;margin-bottom:9px}
.conversation-reply textarea{display:block;width:100%;padding:13px;border:1px solid #b7c7a4;border-radius:9px;font:inherit;font-size:19px;line-height:1.55;color:var(--ink);background:#fdfefa;resize:vertical;min-height:110px;max-height:260px}
.conversation-reply form .button{margin-top:13px;min-height:48px;font-size:18px;white-space:normal}
.conversation-tip{margin-top:21px;padding-top:18px;border-top:1px solid var(--line);font-size:16px;line-height:1.65;color:#52644b}.conversation-tip strong{color:var(--ink);font-size:17px}.conversation-tip p{margin-top:6px}.conversation-tip code{font:inherit;font-weight:750;color:var(--ink)}
.conversation-notice{padding:13px;margin-bottom:20px;background:#fff3da;border:1px solid #e3cf9f;border-radius:9px;font-size:16px;line-height:1.6;color:#665021}
.conversation-roster .panel-header{gap:10px;flex-wrap:wrap}.conversation-roster .panel-header h2{font-size:20px}.conversation-roster .panel-content{padding:20px}.conversation-roster .panel-header>span{font-size:15px;color:#59694f}
.conversation-tools{font-size:16px;line-height:1.6;color:#52644b}.conversation-tools>summary{cursor:pointer;padding:15px 0;font-weight:650}.conversation-tools .clock-card{margin:8px 0 0}.conversation-tools .command-list{padding:15px 0}.conversation-tools .command-row code{width:90px;overflow-wrap:anywhere}
.conversation-chooser{display:flex;gap:13px;align-items:center;margin-bottom:20px;font-size:18px}.conversation-chooser label{font-weight:650}.conversation-chooser select{min-width:190px;max-width:100%;font:inherit;color:var(--ink);background:white;border:1px solid var(--line);border-radius:8px;padding:10px 13px}
.conversation-jump{display:none}
.player-page-link{margin-top:10px;white-space:normal;font-size:14px!important}.player-pages-intro{align-items:center}.player-pages-intro p{max-width:800px}.player-pages-intro small{display:block;margin-top:10px;font-size:14px;color:#5b6e51;line-height:1.6}.reminder-summary{background:#edf4e2;padding:16px;border-radius:10px;font-size:17px}.reminder-summary p{font-size:16px;line-height:1.6;margin-top:8px}.notification-schedule p{padding:10px 0;border-bottom:1px solid var(--line);font-size:18px}.notification-schedule small{display:block;font-size:15px;line-height:1.6;margin-top:16px;color:#53674d}.conversation-chooser:has([data-action="open-player-page"]){flex-wrap:wrap}.conversation-chooser:has([data-action="open-player-page"])>button{white-space:normal}
.player-window-intro{padding:34px;max-width:820px}.player-window-symbol{width:58px;height:58px;border-radius:16px;background:#eaf2d9;display:grid;place-items:center;margin-bottom:22px}.player-window-symbol svg{width:30px;height:30px}.player-window-intro h2{font-size:29px;margin-bottom:14px}.player-window-intro>p{font-size:19px;line-height:1.65;max-width:660px;color:#53674d}.player-window-intro .guide-note{font-size:16px;margin-top:20px;line-height:1.65}.player-window-sections{display:flex;flex-wrap:wrap;gap:16px 24px;margin:25px 0}.player-window-sections span{display:flex;align-items:center;gap:8px;font-size:17px;font-weight:600}.player-window-sections svg{width:20px;height:20px}.player-window-intro .guide-primary{font-size:20px;min-height:56px;white-space:normal}
.personal-qr-trigger{min-height:44px}
dialog.personal-qr-modal{width:min(480px,calc(100vw - 24px));max-height:calc(100dvh - 24px)}
.personal-qr-modal .modal-header{gap:14px;align-items:center}
.personal-qr-modal .modal-header>div{min-width:0}
.personal-qr-modal .modal-header h2{overflow-wrap:anywhere;font-size:23px}
.personal-qr-modal .modal-header>.button{min-width:44px;min-height:44px;flex-shrink:0}
.personal-qr-content{text-align:center;min-width:0}
.personal-qr-loading{padding:48px 0;font-size:17px;line-height:1.6}
.personal-qr-figure{margin:0}
.personal-qr-code{display:block;width:100%;max-width:320px;height:auto;aspect-ratio:1;margin:0 auto;background:#fff;forced-color-adjust:none}
.personal-qr-figure figcaption{font-size:19px;line-height:1.5;font-weight:600;margin-top:16px}
.personal-qr-private{font-size:15px;line-height:1.6;color:#52644b;margin-top:12px;overflow-wrap:anywhere}
.personal-qr-local{font-size:14px;line-height:1.6;text-align:left;color:#665021;background:#fff3da;border:1px solid #e3cf9f;border-radius:9px;padding:12px;margin-top:16px}
.personal-qr-actions{justify-content:center}
.personal-qr-actions .button{min-height:44px;white-space:normal}
@media(max-width:480px){.personal-qr-modal .modal-body{padding:18px 16px 22px}.personal-qr-modal .modal-header h2{font-size:21px}.personal-qr-actions .button{width:100%}}
dialog.player-window-modal{width:min(1080px,calc(100vw - 36px));height:min(920px,calc(100dvh - 36px));max-width:none;max-height:calc(100dvh - 36px);padding:0;overflow:hidden;border-radius:18px}dialog.player-window-modal #modal-content{height:100%;display:flex;flex-direction:column;overflow:hidden}dialog.player-window-modal .modal-header{flex:none;padding:15px 22px;border-bottom:1px solid var(--line);align-items:center}dialog.player-window-modal .modal-header h2{font-size:20px}dialog.player-window-modal .modal-header button{width:44px;height:44px}dialog.player-window-modal .modal-body{padding:0;flex:1;min-height:0;overflow:hidden}#player-window-frame{display:block;width:100%;height:100%;border:0;background:#f4f7ee}
.player-window-share{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 16px;border-bottom:1px solid var(--line);background:#fff}.player-window-share label{font-weight:700}.player-window-share input{flex:1 1 260px;min-width:0;font-size:15px}.player-window-share .button{min-height:42px;text-decoration:none}dialog.player-window-modal .modal-body{display:flex;flex-direction:column}#player-window-frame{flex:1;min-height:0;height:auto}
@media(max-width:760px){.player-window-intro{padding:24px 20px}.player-window-intro>p{font-size:18px}.player-window-sections{display:grid;gap:13px}dialog.player-window-modal{width:100vw;height:100dvh;max-height:100dvh;max-width:100vw;margin:0;border:0;border-radius:0}dialog.player-window-modal .modal-header{padding:7px 14px}dialog.player-window-modal .modal-header h2{font-size:18px}}
@media(max-width:760px){.player-window-share{gap:8px;padding:9px 12px}.player-window-share label{width:100%}.player-window-share input{flex-basis:100%}.player-window-share .button{flex:1 1 auto;justify-content:center}}
@media(max-width:760px){.conversation-layout{grid-template-columns:1fr;gap:20px}.conversation-side{position:static}.conversation-thread{padding:17px;gap:15px}.conversation-message{padding:14px;max-width:94%}.conversation-body{font-size:17px}.conversation-panel .panel-header{padding:17px}.conversation-panel .panel-header h2{font-size:19px}.conversation-panel .panel-header>span{display:none}.conversation-jump{display:inline-flex}.conversation-reply .panel-content{padding:18px}.conversation-chooser{font-size:17px}.conversation-chooser select{min-width:0;flex:1}.conversation-side .conversation-tools{margin-bottom:0}}

/* Organizer invitation groups stay private. */
.private-group-badge{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;flex-shrink:0;white-space:nowrap;border:1px solid;border-radius:7px;padding:3px 8px;font-size:14px;font-weight:650;line-height:1.5;letter-spacing:0;text-transform:none}
.private-group-badge.group-a{color:#174a84;background:#e8f1fc;border-color:#a6c4e9}
.private-group-badge.group-b{color:#6a327f;background:#f4eaf9;border-color:#cfaddd}
.private-group-badge.group-unassigned{color:#596557;background:#f0f2ec;border-color:#ccd3c5}
.private-group-badge.group-compact{min-width:27px;padding:1px 6px;font-size:13px}
.private-group-legend{display:flex;flex-wrap:wrap;gap:12px 22px;align-items:center;margin:-4px 0 20px;font-size:15px;color:#4c624b}
.private-group-legend>span{display:inline-flex;gap:8px;align-items:center}
.private-group-legend small{font-size:14px}
.directory-group{display:flex;flex-direction:column;gap:9px;align-items:flex-start}
.player-group-select{font:inherit;font-size:15px;color:#315339;background:#fff;border:1px solid #cfdcc4;border-radius:8px;padding:9px 10px;min-width:118px;min-height:42px}
.player-group-select:focus-visible{outline:3px solid #97b756;outline-offset:3px}
.invite-preview-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px}
.invite-preview-counts>div{padding:16px 13px;background:#edf3e5;border-radius:10px}
.invite-preview-counts strong{font-size:25px;line-height:1.2;display:block;color:#284d39}
.invite-preview-counts span{font-size:14px;color:#617653;display:block;margin-top:6px}
.invite-preview-list{max-height:300px;overflow:auto;border:1px solid #dee7d3;border-radius:10px;padding:0 15px;background:#fff}
.invite-preview-player{padding:13px 0;border-bottom:1px solid #e9eee2}
.invite-preview-player:last-child{border-bottom:0}
.invite-preview-player>div{display:flex;gap:12px;justify-content:space-between;align-items:center;flex-wrap:wrap}
.invite-preview-player strong{font-size:16px;font-weight:600;color:#315339}
.invite-preview-player p{font-size:14px;line-height:1.5;color:#78856b;margin-top:7px}
.invite-preview-list>.text-muted{padding:17px 0}
@media(max-width:480px){.invite-preview-counts{gap:7px}.invite-preview-counts>div{padding:13px 9px}.invite-preview-counts span{font-size:13px}.invite-preview-player>div{gap:7px}.invite-preview-player .status{font-size:12px}}

/* Collect a week's availability before the organizer selects each roster. */
.weekly-overview{border:1px solid #d7e2c8;border-radius:14px;background:#f0f5e7;padding:22px;margin:0 0 25px}
.weekly-section-heading{display:flex;justify-content:space-between;gap:20px;align-items:center}
.weekly-section-heading h2{font-size:22px;font-weight:600;margin:0}
.weekly-section-heading p{font-size:16px;line-height:1.6;color:#6c7d5e;margin-top:7px;max-width:680px}
.weekly-section-heading>.button{flex-shrink:0}
.weekly-request-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px}
.weekly-request-item{display:flex;flex-direction:column;gap:8px;min-width:0}
.weekly-request-item>.weekly-request-card{flex:1}
.weekly-delete-button{align-self:flex-end}
.weekly-request-card{background:#fff;border:1px solid #dbe4cf;border-radius:11px;padding:18px;display:flex;gap:17px;justify-content:space-between;align-items:center;cursor:pointer}
.weekly-request-card h3{font-size:18px;font-weight:600;margin-bottom:10px}
.weekly-request-card p{font-size:15px;color:#61744f;margin-top:10px}
.weekly-request-card small{display:block;font-size:14px;color:#879277;margin-top:6px}
.weekly-request-card>div{min-width:0;overflow-wrap:anywhere}
.weekly-request-card:hover{border-color:#a9be94;background:#fbfdf7}
.weekly-request-card:focus-visible{outline:3px solid #97b756;outline-offset:3px}
.weekly-card-arrow{display:grid;place-items:center;flex-shrink:0;color:#64813e}
.weekly-card-arrow svg{width:22px;height:22px}
.weekly-overview.weekly-overview-live{padding:0;border:0;background:transparent;margin-bottom:20px}
.weekly-overview-live .weekly-request-list{margin-top:0;gap:12px}
.weekly-overview-live .weekly-request-card{padding:13px 15px;gap:12px}
.weekly-overview-live .weekly-request-card h3{margin-bottom:6px}
.weekly-overview-live .weekly-request-card p{margin-top:6px}
.weekly-overview-live .weekly-request-card small{margin-top:4px}
.weekly-person-list{display:grid;gap:8px;min-width:0;margin:18px 0 25px}
.weekly-person{min-width:0;border:1px solid #dbe4cf;border-radius:10px;background:#fff}
.weekly-person-toggle{display:flex;align-items:center;gap:10px;width:100%;min-height:56px;border:0;border-radius:9px;background:transparent;padding:13px 15px;color:var(--ink);text-align:left;line-height:1.4;white-space:normal}
.weekly-person-toggle:hover{background:#f2f6eb}
.weekly-person-toggle>strong{flex:1;min-width:0;font-size:17px;font-weight:600;overflow-wrap:anywhere}
.weekly-person-summary{display:flex;align-items:center;gap:9px;flex-shrink:0;font-size:14px;font-weight:500;color:#66775b}
.weekly-person-chevron{display:grid;place-items:center;flex-shrink:0;color:#64813e}
.weekly-person-chevron svg{width:17px;height:17px}
.weekly-person-toggle[aria-expanded=true] .weekly-person-chevron{transform:rotate(180deg)}
.weekly-person-details{border-top:1px solid #e3e9db;padding:16px;min-width:0;overflow-wrap:anywhere}
.weekly-person-details h4{font-size:16px;font-weight:650;margin:0 0 11px}
.weekly-person-days{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:0;margin:0 0 20px}
.weekly-person-days>div{padding:10px;border:1px solid #e3e9db;border-radius:7px;background:#f8faf4;min-width:0}
.weekly-person-days dt{font-size:14px;color:#617454;line-height:1.5}
.weekly-person-days dd{margin:4px 0 0;font-size:15px;font-weight:550;line-height:1.45}
.weekly-person-days .weekly-person-available{background:#edf6df;border-color:#d1e1bd;color:#3f642e}
.weekly-person-bookings{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.weekly-person-bookings li{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:10px 0;border-top:1px solid #edf0e6}
.weekly-person-bookings li:first-child{border-top:0;padding-top:0}
.weekly-person-bookings li>div{min-width:0;flex:1 1 180px}
.weekly-person-bookings strong,.weekly-person-bookings span,.weekly-person-bookings small{display:block;font-size:15px;line-height:1.55}
.weekly-person-bookings small{font-size:14px;color:#6a7b60}
.weekly-person-bookings .button{flex-shrink:0}
.weekly-person-empty{font-size:15px;line-height:1.6;color:#65735d}
@media(max-width:760px){.weekly-person-toggle{padding:12px 10px;gap:8px}.weekly-person-toggle>strong{font-size:16px}.weekly-person-summary{gap:6px;font-size:13px}.weekly-person-details{padding:14px 12px}.weekly-person-days{grid-template-columns:repeat(2,minmax(0,1fr))}.weekly-person-bookings .button{min-height:44px}}

.weekly-planner-modal{width:min(1140px,calc(100vw - 32px))}
.weekly-review-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}
.weekly-day-plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}
.weekly-day-plan{padding:22px;border:1px solid #dbe4cf;border-radius:12px;background:#fff;min-width:0}
.weekly-day-plan h3{font-size:21px;line-height:1.4;margin:0 0 18px}
.weekly-day-plan .weekly-section-heading h3{margin-bottom:0}
.weekly-day-plan .weekly-section-heading p{font-size:15px}
.weekly-day-plan .weekly-section-heading{align-items:flex-start;flex-wrap:wrap}
.weekly-selection-count{font-size:16px;font-weight:600;color:#3b6436;padding:13px 0 10px}
.weekly-available-count{font-size:16px;font-weight:600;color:#315339;margin:0 0 12px}
.weekly-candidate-filter{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.weekly-candidate-filter .weekly-available-count{margin:0}
.weekly-no-candidates{padding:16px 0;font-size:16px;line-height:1.6;color:#65735d}
.weekly-player-choices{border:1px solid #e1e8d7;border-radius:9px;padding:0 13px;max-height:300px;overflow:auto}
.weekly-player-choice{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 18px;padding:15px 0;border-bottom:1px solid #e9eee2}
.weekly-player-choice:last-child{border-bottom:0}
.weekly-player-info{flex:1 1 185px;min-width:0}
.weekly-player-roles{display:flex;gap:15px;flex-wrap:wrap}
.weekly-player-roles label{display:flex;align-items:center;gap:7px;font-size:15px;min-height:30px;cursor:pointer}
.weekly-player-choice input{margin:0;width:18px;height:18px;accent-color:#315638;flex-shrink:0}
.weekly-player-choice strong{display:block;font-size:16px;font-weight:550}
.weekly-player-choice small{display:block;font-size:14px;line-height:1.5;color:#849275;margin-top:4px}
.weekly-player-choice.is-unavailable{color:#8e9885;cursor:default}
.weekly-player-choice.is-unavailable label{cursor:default}
.weekly-wait-remaining{margin-top:13px;width:100%;white-space:normal;text-align:left;line-height:1.5}
.weekly-selection-summary{font-size:15px;line-height:1.7;padding:14px;background:#f2f6eb;border-radius:9px;margin-top:15px;overflow-wrap:anywhere}
.weekly-selection-summary p+p,.weekly-saved-roster p+p{margin-top:9px}
.weekly-saved-roster{font-size:16px;color:#60754d;line-height:1.7;margin:14px 0}
.heading-actions:has([data-action=weekly-new]){flex-wrap:wrap}
@media(max-width:800px){.weekly-request-list,.weekly-day-plans{grid-template-columns:1fr}.weekly-request-card{flex-wrap:wrap}.weekly-section-heading{align-items:flex-start;flex-wrap:wrap}.weekly-overview{padding:18px}.weekly-section-heading h2{font-size:21px}.weekly-planner-modal{width:calc(100vw - 16px)}.weekly-day-plan{padding:18px}}

/* Phone organizer: readable cards, full-size choices, and reachable controls. */
.player-name-mobile,.directory-mobile-hint{display:none}
.player-name-desktop{border:0;background:transparent;color:inherit;padding:4px 0;min-height:36px;text-align:left;font:inherit;font-weight:600;text-decoration:underline;text-decoration-color:#b6c4a6;text-underline-offset:3px;cursor:pointer}
.player-name-desktop:hover{color:#315638;text-decoration-color:currentColor}
.directory-removed-toggle{min-height:44px}
.directory-removed-toggle[aria-pressed=true]{background:#e9eee2;border-color:#aabda0}
.directory-removed{background:#f6f5f0}
.directory-removed-label{display:block;color:#6b705f;font-size:14px;font-weight:400;line-height:1.5}
.directory-remove-action{min-height:44px}
.directory-removed-notice,.directory-change-explanation{font-size:17px;line-height:1.6;overflow-wrap:anywhere}
.directory-removed-notice{padding:14px 16px;background:#f1f1e9;border-radius:8px;margin-top:16px}
.directory-change-actions .button{min-height:44px;overflow-wrap:anywhere}
@media(max-width:760px){.directory-removed-toggle{flex:1 1 100%}.directory-remove-action{flex:1 1 100%}.directory-change-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.directory-change-actions .button{width:100%;min-width:0}}
@media(max-width:760px){
 .sidebar{height:calc(84px + env(safe-area-inset-bottom,0px));padding-bottom:calc(7px + env(safe-area-inset-bottom,0px))}
 .nav-item{min-height:58px;font-size:12px;line-height:1.2;justify-content:flex-start;overflow-wrap:anywhere}
 .nav-item span{max-width:100%;text-align:center}
 .workspace{padding-bottom:calc(92px + env(safe-area-inset-bottom,0px))}
 .button,.button.compact,.table-wrap .button,.top-actions .button{min-height:44px;font-size:15px;padding:10px 12px}
 .button.icon-only{width:44px;height:44px;min-width:44px;padding:10px}
 .topbar{padding:12px 16px;min-height:0}
 .top-actions{justify-content:flex-start;gap:8px}
 .top-actions .button{flex:1 1 auto}
 .top-actions .simulation-badge{margin-right:auto}
 .heading-actions,.detail-actions{gap:10px;flex-wrap:wrap}
 .heading-actions>.button{flex:1 1 145px}
 .form-field input,.form-field select,.form-field textarea,.player-group-select,.search-box input{font-size:16px;min-height:44px}
 .form-field label{font-size:16px}
 .form-field input[type=checkbox],.day-checkboxes input{width:22px;height:22px;min-height:22px;flex-shrink:0}
 .checkbox-label,.day-checkboxes label{min-height:44px}
 .form-hint{font-size:15px;color:#63745b}
 .form-actions>.button{flex:1 1 140px}
 .panel-header>*{min-width:0;overflow-wrap:anywhere}
 dialog,.weekly-planner-modal{width:calc(100vw - 16px);max-width:calc(100vw - 16px);max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain}
 .modal-header{padding:18px 16px 15px;gap:12px;z-index:5}
 .modal-header>div{min-width:0;flex:1}
 .modal-header h2,.modal-header p{overflow-wrap:anywhere}
 .modal-header>.button{flex-shrink:0}
 .modal-body{padding:18px 16px 22px;min-width:0}
 .weekly-review-actions>.button{flex:1 1 100%}
 .weekly-planner-modal #modal-content,.weekly-planner-modal .modal-body{min-width:0;max-width:100%}
 .weekly-planner-modal .form-hint{max-width:100%;white-space:normal;overflow-wrap:anywhere}
 .weekly-day-plan{padding:16px}
 .weekly-player-choices{padding:0 12px;max-height:440px}
 .weekly-player-info{flex-basis:100%}
 .weekly-player-info small{font-size:15px;color:#65735d}
 .weekly-player-roles{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .weekly-player-roles label{min-height:48px;padding:8px;border:1px solid #d2ddc7;border-radius:8px;font-size:15px;line-height:1.35;background:#fafcf7}
 .weekly-player-roles label:has(:checked){border-color:#315638;background:#e7f0dc;color:#244b2c}
 .weekly-player-roles label:has(:disabled){color:#74806b;background:#f3f5ef;border-color:#e0e6d9}
 .weekly-player-choice input{width:22px;height:22px}
 .weekly-day-form>.button[type=submit]{width:100%}
 .weekly-selection-summary{font-size:16px}
 .weekly-request-card>.button,.weekly-section-heading>.button{max-width:100%}
 .detail-person{flex-wrap:wrap;font-size:16px}
 .detail-person>span:nth-child(2){flex:1;min-width:0;overflow-wrap:anywhere}
 .detail-stat{min-width:0;overflow-wrap:anywhere}
 .detail-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
 .directory-table{border:0;background:transparent;box-shadow:none;overflow:visible}
 .directory-desktop-hint{display:none}
 .directory-mobile-hint{display:inline}
 .directory-table table,.directory-table tbody{display:block;width:100%;white-space:normal}
 .directory-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .directory-table tr{display:block;border:1px solid #dbe4d2;border-radius:9px;background:#fdfefa;margin-bottom:7px;padding:0}
 .directory-table td{display:none;border:0}
 .directory-table td:first-child{display:block;padding:0}
 .directory-table .table-person{display:none}
 .directory-table .player-name-mobile{display:block;width:100%;min-height:52px;border:0;border-radius:9px;background:transparent;padding:13px 15px;text-align:left;font-size:18px;font-weight:600;line-height:1.45;white-space:normal;overflow-wrap:anywhere}
 .directory-table .player-name-mobile:hover{background:#edf3e5}
 .directory-table td[colspan]{padding:16px;font-size:16px}
 .private-group-legend{gap:10px 16px}
 #toast{bottom:calc(100px + env(safe-area-inset-bottom,0px))}
}

/* Account readiness is separate from the simulator's outbound safety gate. */
.topbar{height:auto;min-height:81px;padding-top:12px;padding-bottom:12px}
.top-actions{flex-wrap:wrap;justify-content:flex-end}
.workspace-switcher{display:inline-flex;gap:3px;border:1px solid #cad7bf;border-radius:9px;background:#edf3e7;padding:3px}
.workspace-switcher button{min-height:44px;border:0;border-radius:6px;padding:9px 13px;background:transparent;font-size:15px;font-weight:650;color:#536b48}
.workspace-switcher button[aria-pressed=true]{background:#173c32;color:#fff}
.workspace-switcher button:hover:not([aria-pressed=true]){background:#dfead6}
.workspace-notice{border:1px solid #cedbc3;border-radius:10px;padding:16px 18px;background:#eef4e7;margin-bottom:24px;font-size:16px;line-height:1.6}
.workspace-notice strong{display:block;font-size:17px;font-weight:650;margin-bottom:4px}
.workspace-notice p{color:#526849}
.workspace-simulation{background:#fff8e7;border-color:#e6d7b3}
.workspace-simulation p{color:#78653e}
@media(max-width:760px){.topbar{min-height:0}.top-actions{justify-content:flex-start}.workspace-switcher{flex:1 1 auto}.workspace-switcher button{flex:1}.workspace-notice{padding:14px 16px;font-size:15px}.workspace-notice strong{font-size:16px}}
.twilio-panel{margin-bottom:24px;min-width:0}
.twilio-panel .panel-header{flex-wrap:wrap;gap:12px}
.twilio-sending-note{font-size:17px;line-height:1.6;color:#3b5941}
.twilio-sending-note strong{display:block}
.twilio-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0}
.twilio-status-grid>div{min-width:0;padding:15px;background:#f3f6ed;border-radius:9px}
.twilio-status-grid dt{font-size:14px;line-height:1.5;color:#607250;margin-bottom:8px}
.twilio-status-grid dd{font-size:17px;line-height:1.5;color:#2d513b;margin:0;overflow-wrap:anywhere}
.twilio-next-step{font-size:17px;line-height:1.6;color:#38553c;max-width:800px}
.twilio-check-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:18px}
.twilio-check-actions>span{font-size:14px;color:#607250;line-height:1.5}
.twilio-check-actions .button{min-height:44px}
.twilio-details{border-top:1px solid var(--line);margin-top:22px;padding-top:12px;min-width:0}
.twilio-details summary{cursor:pointer;min-height:44px;padding:10px 0;font-size:16px;color:#36583a}
.twilio-details p{font-size:15px;line-height:1.6;color:#607250;margin:10px 0 6px}
.twilio-details code{display:block;font-size:14px;line-height:1.7;color:#38553c;overflow-wrap:anywhere;white-space:normal}
@media(max-width:600px){.twilio-status-grid{grid-template-columns:1fr;gap:9px}.twilio-status-grid>div{padding:12px 14px}.twilio-status-grid dt{margin-bottom:3px}.twilio-panel .panel-header h2{font-size:18px}.twilio-panel .panel-header .status{white-space:normal}.twilio-details summary{padding-top:13px}.twilio-check-actions .button{width:100%;justify-content:center}}

/* Optional player photo in organizer details. */
.organizer-profile-photo{display:flex;align-items:center;gap:16px;margin:0 0 20px}
.profile-photo-avatar{width:80px;height:80px;flex:0 0 80px;object-fit:cover;border-radius:50%;background:var(--surface-muted,#edf0e6);display:grid;place-items:center;font-weight:700;font-size:26px;color:var(--green,#173c32)}
.organizer-profile-photo p{margin:5px 0 0;font-size:14px;line-height:1.5}
.new-player-photo{padding:16px;background:#f0f5e8;border:1px solid #d2dfc3;border-radius:11px;margin:0 0 20px;min-width:0}
.new-player-photo [hidden]{display:none!important}
.new-player-photo-row{display:flex;align-items:center;gap:14px;min-width:0}
.new-player-photo-row>div:last-child{flex:1;min-width:0}
.new-player-photo h3{font-size:18px;line-height:1.5;margin:0}
.new-player-photo h3>span{font-size:14px;font-weight:400;color:#617052;margin-left:6px}
.new-player-photo p{font-size:15px;line-height:1.6;color:#536b49;margin-top:4px;overflow-wrap:anywhere}
.new-player-photo-preview{display:grid;place-items:center;width:76px;height:76px;flex:0 0 76px;border-radius:50%;overflow:hidden;background:#dce8cd;color:#36533a}
.new-player-photo-preview img{display:block;width:100%;height:100%;object-fit:cover}
.new-player-photo-preview svg{width:34px;height:34px}
.new-player-photo-buttons{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px}
.new-player-photo .button{min-height:44px;font-size:15px;padding:8px 11px}
.new-player-photo .form-hint{margin-top:12px}
.new-player-photo-conflict{padding:12px;border:1px solid #dcb98f;border-radius:8px;margin-top:13px;background:#fff5e8}
.new-player-photo-conflict img{display:block;width:72px;height:72px;border-radius:50%;object-fit:cover;margin-top:8px}
#new-player-finish,#new-player-use-preview{margin-top:12px}
@media(max-width:540px){.new-player-photo{padding:13px}.new-player-photo-row{align-items:flex-start;gap:11px}.new-player-photo-preview{width:62px;height:62px;flex-basis:62px}.new-player-photo-buttons{flex-direction:column}.new-player-photo-buttons .button{width:100%;min-width:0}#new-player-finish,#new-player-use-preview{width:100%}}

.directory-group-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.directory-group-filter{min-height:44px;gap:8px;border:1px solid #d9ded2}
.directory-group-filter>span{font-size:13px;opacity:.8;font-variant-numeric:tabular-nums}
.directory-group-filter.filter-A{color:#365b8e;background:#eff4fc}
.directory-group-filter.filter-B{color:#754b8c;background:#f8f0fc}
.directory-group-filter.filter-active{color:#315f3b;background:#edf5e7}
.directory-group-filter[aria-pressed=true]{outline:2px solid currentColor;outline-offset:-2px;font-weight:700}
.directory-filter-reset{min-height:44px;font-weight:500}
.directory-group-filter.filter-deleted{color:#72584a;background:#faf3ec}
.directory-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:18px;min-width:0}
.directory-toolbar .search-box{flex:1 1 220px;min-width:150px;width:auto;max-width:none}
.directory-toolbar .search-box input{min-width:0;width:100%}
.directory-toolbar .button{flex:0 0 auto;min-height:44px}
.directory-toolbar .directory-add-player{margin-left:auto}
.directory-saved-groups[hidden]{display:none!important}
@media(max-width:980px){.directory-toolbar{flex-wrap:wrap}.directory-toolbar .search-box{flex-basis:100%;min-width:0}.directory-toolbar .button{font-size:15px}}
@media(max-width:540px){.directory-toolbar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.directory-toolbar .search-box{grid-column:1/-1;width:100%}.directory-toolbar .button{min-width:0;padding:10px 7px;white-space:normal;font-size:14px;gap:5px}.directory-toolbar .button svg{display:none}.directory-toolbar .directory-add-player{margin-left:0}}
.settings-simulation-access{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:24px;color:#69795d}
.settings-simulation-access .button{min-height:44px}
.settings-simulation-access small{font-size:14px;line-height:1.5}
.directory-saved-groups{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin:0 0 18px;min-width:0}
.directory-saved-groups>div{flex:1 1 240px;max-width:440px;min-width:0}
.directory-saved-groups label{display:block;font-size:15px;font-weight:600;margin-bottom:7px}
.directory-saved-groups select{width:100%;min-width:0;min-height:44px;border:1px solid #becbad;border-radius:7px;padding:9px 11px;background:#fff;color:#173c32;font-size:16px;text-overflow:ellipsis}
.directory-saved-groups .button{min-height:44px;white-space:normal}
.directory-group-review{padding:14px 17px;margin:16px 0;background:#f3f6ed;border:1px solid #d6e1cb;border-radius:9px;font-size:16px;line-height:1.6;overflow-wrap:anywhere}
.directory-group-review ul{margin:8px 0 0;padding-left:22px;max-height:230px;overflow:auto}
.manual-share-content{min-width:0}
.manual-share-instructions{font-size:17px;line-height:1.65;margin:0 0 17px;color:#365442}
.manual-share-instructions strong{display:block}
.manual-share-choices,.manual-share-messages{display:grid;gap:10px;min-width:0}
.manual-share-choice{display:flex;align-items:center;gap:12px;min-height:52px;padding:12px;border:1px solid #dbe4d2;border-radius:9px;cursor:pointer}
.manual-share-choice input{width:22px;height:22px;flex:0 0 22px;accent-color:#285543}
.manual-share-choice strong{display:block;font-size:17px;overflow-wrap:anywhere}
.manual-share-choice small{display:block;font-size:14px;line-height:1.5;color:#69745f}
.manual-share-prepare{width:100%;min-height:48px;margin-top:16px}
.manual-share-card{padding:14px;border:1px solid #d6e1cb;border-radius:10px;background:#f8faf4;min-width:0}
.manual-share-card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}
.manual-share-card-heading h3{font-size:18px;line-height:1.4;margin:0;overflow-wrap:anywhere;min-width:0}
.manual-share-card-heading .button{min-height:44px;flex-shrink:0}
.manual-share-card details{margin-top:12px;min-width:0}
.manual-share-card summary{cursor:pointer;font-size:15px;line-height:1.5;padding:6px 0}
.manual-share-card textarea{display:block;width:100%;min-width:0;min-height:150px;padding:12px;border:1px solid #bfcfb0;border-radius:8px;margin-top:8px;font-size:16px;line-height:1.6;background:white;color:#173c32;resize:vertical}
.manual-share-status,.manual-share-note{font-size:14px;line-height:1.5;margin:11px 0 0;color:#546b43;overflow-wrap:anywhere}
.manual-share-note{margin-top:16px}
@media(max-width:440px){.manual-share-card{padding:12px}.manual-share-card-heading{align-items:flex-start;flex-direction:column;gap:9px}.manual-share-card-heading .button{width:100%}}
.notification-template-list{display:grid;gap:13px;min-width:0}
.notification-template-card{padding:14px;border:1px solid #dbe4d2;border-radius:10px;background:#f9fbf5;min-width:0}
.notification-template-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:5px 10px}
.notification-template-heading h3{font-size:18px;line-height:1.4;margin:0}
.notification-template-heading span{font-size:12px;color:#657457}
.notification-schedule .notification-template-purpose{font-size:15px;line-height:1.55;margin:8px 0;color:#526849}
.notification-schedule .notification-example-label{font-size:12px;font-weight:650;color:#69795d;margin:12px 0 6px;text-transform:uppercase;letter-spacing:.06em}
.notification-template-preview{white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal;min-width:0;font-size:15px;line-height:1.65;color:#173c32;background:#fff;padding:12px;border:1px solid #e0e6d8;border-radius:8px}
.notification-template-card .button{min-height:44px;width:100%;margin-top:12px;font-size:15px}
.notification-schedule .notification-template-note{font-size:14px;line-height:1.6;margin:16px 0;color:#526849}
.notification-editor-preview{min-width:0;margin:18px 0}
.notification-editor-preview h3{font-size:17px;margin-bottom:8px}
#notification-template-body{min-height:180px;font-size:17px;line-height:1.6}
#notification-template-form code{overflow-wrap:anywhere;font-size:14px;color:#24483d}
.notification-editor-actions{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:20px}
.notification-editor-actions>.button{min-height:44px}
.notification-editor-actions .form-actions{margin-top:0;flex:1;justify-content:flex-end}
@media(max-width:540px){.notification-editor-actions{display:grid;grid-template-columns:1fr}.notification-editor-actions>.button{width:100%}.notification-editor-actions .form-actions{width:100%}.notification-template-card{padding:13px}}
@media(max-width:760px){.directory-saved-groups>div{flex-basis:100%;max-width:none}.directory-saved-groups .button{width:100%}}
@media(max-width:760px){.directory-group-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.directory-group-filter{padding:9px 4px;font-size:14px;gap:3px;flex-wrap:wrap;line-height:1.4}.directory-group-filter>span{font-size:12px}}
.directory-player-cell{display:flex;align-items:center;gap:8px;min-width:0}
main:has(>.directory-page-heading){padding-top:20px}
@media(max-width:760px){main:has(>.directory-page-heading){padding-top:16px}}
.directory-player-name{flex:1;min-width:0}
.directory-copy-invite{flex:0 0 100px;min-width:0;text-align:center}
.directory-copy-invite>.button{width:100%;min-height:44px;padding:8px 6px;font-size:14px;white-space:normal}
.directory-copy-invite>span{display:block;font-size:12px;line-height:1.4;overflow-wrap:anywhere;color:#385c46}
.directory-copy-invite>span:not(:empty){margin-top:4px}
.directory-invite-check{display:flex;align-items:center;justify-content:center;min-height:44px;width:44px;flex:0 0 44px;cursor:pointer}
.directory-invite-check input,.weekly-recipient-row input{width:22px;height:22px;min-height:22px;margin:0;flex:0 0 22px;accent-color:#285543;cursor:pointer}
.directory-invite-check input:focus-visible,.weekly-recipient-row input:focus-visible{outline:3px solid #668d30;outline-offset:4px}
.invitation-list-help{display:inline-block;margin-top:7px;color:#526849;max-width:800px}
.weekly-recipient-picker{margin-top:22px;padding-top:22px;border-top:1px solid var(--line);min-width:0}
.weekly-recipient-picker>h3{font-size:21px;margin-bottom:8px}
.weekly-recipient-picker>p{font-size:16px;line-height:1.6;color:#526849;margin-bottom:14px}
.game-audience-picker{min-width:0}
.game-audience-picker [hidden]{display:none!important}
.game-audience-picker>select{width:100%;min-width:0;max-width:100%}
.game-audience-picker>.button{justify-self:start;margin-top:12px;min-height:44px}
.game-audience-manual{min-width:0;margin-top:16px}
.game-audience-manual>p{font-size:16px;line-height:1.5;margin-bottom:12px;color:#526849}
.game-audience-picker .weekly-recipient-review{margin-bottom:0}
.game-audience-picker summary{cursor:pointer;min-height:44px;padding:8px 0;font-weight:600}
.game-invitees{margin:18px 0;padding:15px;border:1px solid var(--line);border-radius:10px;background:#f8faf4;min-width:0}
.game-invitees-heading{display:flex;align-items:center;gap:9px;margin-bottom:9px}
.game-invitees-heading h3{font-size:18px;font-weight:650}
.game-invitees-heading>span{font-size:14px;color:#647452}
.game-invitees-list{list-style:none;padding:0;margin:0;display:grid;gap:7px}
.game-invitees-list li{display:flex;align-items:center;justify-content:space-between;gap:8px 12px;flex-wrap:wrap;min-width:0;padding:7px 0;border-bottom:1px solid #e8ecdf}
.game-invitees-list li:last-child{border-bottom:0}
.game-invitees-list strong{flex:1 1 120px;min-width:0;font-size:16px;font-weight:600;overflow-wrap:anywhere}
.game-invitees-list .status{max-width:100%;white-space:normal;font-size:13px}
.game-invitees>p{font-size:13px;line-height:1.45;color:#69775d;margin-top:9px}
.weekly-recipient-picker [hidden]{display:none!important}
.weekly-manual-picker{margin-top:18px;min-width:0}
.weekly-manual-picker>p{font-size:16px;line-height:1.6;color:#526849;margin-bottom:14px}
.weekly-named-list{margin-top:18px;padding:15px;background:#f3f6ed;border:1px solid #d6e1cb;border-radius:9px;min-width:0}
.weekly-named-list>label{display:block;font-size:17px;font-weight:600;margin-bottom:9px}
.weekly-named-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px}
.weekly-named-list input{min-width:0;width:100%;min-height:44px;border:1px solid #becbad;border-radius:7px;padding:9px 11px;background:#fff;color:#173c32;font-size:16px}
.weekly-named-list small{display:block;font-size:14px;color:#586d4e;line-height:1.5;margin-top:9px}
.weekly-named-list .button{min-height:44px}
.weekly-selected-save{margin-top:15px;font-size:15px;line-height:1.6;color:#526849}
.weekly-selected-save>summary{min-height:44px;padding:10px 0;cursor:pointer;font-weight:600}
.weekly-selected-save p{margin:0 0 10px}
.weekly-selected-save .button{min-height:44px}
.weekly-adjust-recipients{margin-top:14px}
@media(max-width:540px){.weekly-named-list>div{grid-template-columns:1fr}.weekly-selected-save .button{width:100%}.weekly-recipient-picker select{max-width:100%;min-width:0}}
.weekly-recipient-search{width:100%;margin:0 0 15px}
.weekly-recipient-rows{max-height:320px;overflow:auto;overscroll-behavior:contain;border:1px solid #dbe4d1;border-radius:10px;background:white}
.weekly-recipient-rows>.text-muted{padding:15px}
.weekly-recipient-row{display:flex;align-items:center;gap:12px;min-height:60px;padding:10px 14px;cursor:pointer;border-bottom:1px solid #edf1e7}
.weekly-recipient-row:last-child{border-bottom:0}
.weekly-recipient-row>span{min-width:0;overflow-wrap:anywhere}
.weekly-recipient-row strong{font-size:17px;font-weight:600;display:block}
.weekly-recipient-row small{display:block;font-size:14px;color:#5b6e50;line-height:1.5;margin-top:3px}
.weekly-recipient-review{padding:16px;background:#edf4e6;border:1px solid #d2dec7;border-radius:10px;margin:17px 0;font-size:16px;line-height:1.6;overflow-wrap:anywhere}
.weekly-recipient-review h4{font-size:18px;margin:0 0 8px}
.weekly-recipient-review ul{margin:9px 0 12px;padding-left:21px}
.weekly-recipient-review li>span{font-size:14px;color:#785934}
.weekly-recipient-review p+p{margin-top:10px}
@media(max-width:760px){.directory-group-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.directory-player-cell{gap:0;padding-left:3px}.directory-table .player-name-mobile{padding-left:6px}.weekly-recipient-picker{padding-top:18px}.weekly-recipient-row{padding:10px;gap:10px}.weekly-recipient-review{padding:13px}.weekly-recipient-picker>.button{width:100%;min-height:44px}}

.manual-share-card .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.directory-group-filter.filter-enrollment{color:#365650;background:#f0f5f1}
.directory-enrollment-notice{margin:0 0 14px;color:#665f47;font-size:15px;line-height:1.5}
.directory-enrollment-mobile{display:none}
@media(max-width:760px){.directory-enrollment-mobile{display:block;margin:0 6px 8px}.directory-enrollment-mobile .status{white-space:normal;line-height:1.4}}

/* Reviewed weekly text batches, sized for phones and desktop. */
.weekly-sms-editor,.weekly-sms-history{margin-top:24px;padding-top:18px;border-top:1px solid var(--line,#dce3d9)}
.weekly-sms-editor textarea{display:block;width:100%;box-sizing:border-box;font:inherit;line-height:1.5;padding:12px;margin-top:8px;min-height:170px;border:1px solid var(--line,#dce3d9);border-radius:12px}
.weekly-sms-message,.weekly-sms-person{margin:12px 0;padding:14px;border:1px solid var(--line,#dce3d9);border-radius:12px}
.weekly-sms-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}
.weekly-sms-person summary{cursor:pointer;line-height:1.7}
/* Private player traffic, with readable cards on a phone. */
.player-traffic{margin-bottom:24px;overflow:hidden}
.traffic-controls{display:flex;gap:16px;align-items:end;flex-wrap:wrap;padding:20px}
.traffic-controls label{display:grid;gap:6px;font-size:14px;font-weight:600;min-width:140px}
.traffic-controls select{max-width:100%;min-height:44px;padding:9px;border:1px solid #cccfc5;border-radius:8px;background:white;color:inherit;font:inherit}
.traffic-controls .traffic-checkbox{display:flex;align-items:center;min-height:44px;gap:8px;min-width:0}
.traffic-checkbox input{width:20px;height:20px;accent-color:#264e43}
.traffic-totals{display:flex;gap:28px;padding:0 20px 12px;flex-wrap:wrap}
.traffic-totals strong{font-size:28px;display:block}
.traffic-note,.traffic-message{padding:0 20px 20px;margin:0;color:#58665d;line-height:1.6;font-size:14px}
.traffic-table-wrap{overflow:auto}.traffic-table{width:100%;min-width:0}
.traffic-table td:first-child small{display:block}.traffic-events{list-style:none;padding:0 20px;margin:0}
.traffic-events li{display:flex;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid #e4e6df}
.traffic-events li:last-child{border:0}.traffic-events span,.traffic-events small{display:block;margin-top:4px}
.traffic-events small,.traffic-events time{color:#58665d;font-size:14px}.traffic-events time{white-space:nowrap}
@media(max-width:700px){.traffic-controls{gap:12px;padding:16px}.traffic-controls label{min-width:0;flex:1 1 45%}.traffic-controls .traffic-checkbox{flex-basis:100%}.traffic-controls .button{width:100%}.traffic-totals{gap:20px;padding-left:16px}.traffic-totals span{font-size:13px}.traffic-note,.traffic-message{padding-left:16px;padding-right:16px}.traffic-table thead{display:none}.traffic-table tr{display:grid;grid-template-columns:repeat(3,1fr);padding:12px 16px;border-top:1px solid #e4e6df}.traffic-table td{border:0;padding:6px 0}.traffic-table td:first-child,.traffic-table td:nth-child(2){grid-column:1/-1}.traffic-table td[data-label]::before{content:attr(data-label);display:block;font-size:12px;color:#58665d;margin-bottom:3px}.traffic-table td:nth-child(2)::before{display:inline;margin-right:8px}.traffic-events{padding:0 16px}.traffic-events li{flex-direction:column;gap:8px}.traffic-events time{white-space:normal}}
/* Enrollment stays mounted in the organizer shell so unfinished review fields survive tab changes. */
#enrollment-main{max-width:1700px;min-height:0}
#enrollment-frame{display:block;width:100%;height:1000px;min-height:650px;border:0;background:transparent}
@media(max-width:760px){#enrollment-main{padding-top:20px;padding-bottom:24px}.sidebar nav{overflow-x:auto;scrollbar-width:none}.sidebar nav::-webkit-scrollbar{display:none}.nav-item{flex:0 0 auto;min-width:58px}}
.automation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0 26px}
.automation-card{min-width:0;padding:22px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow)}
.automation-card h2{font-size:20px;margin:0}.automation-card>p{color:#58665d;line-height:1.55;margin:12px 0}
.automation-rule-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}
.automation-rule-fields label{display:grid;gap:7px;font-size:14px;font-weight:650;color:#536459}
.automation-rule-fields input{width:100%;min-width:0;padding:10px;border:1px solid #cbd4c8;border-radius:8px;background:white;color:var(--ink);font-size:16px}
.automation-actions{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:14px}
.automation-card .notification-template-preview{white-space:pre-wrap;overflow-wrap:anywhere}
.automation-history{margin-top:20px}
.automation-history label{display:block;margin-bottom:7px;font-size:14px;font-weight:650;color:#536459}
.automation-history select{max-width:100%;min-height:44px;margin-bottom:16px;padding:9px 11px;border:1px solid #cbd4c8;border-radius:8px;background:#fff;color:var(--ink);font-size:16px}
.automation-preview-note{color:#58665d;line-height:1.5;margin-bottom:16px}.automation-preview-list{display:grid;gap:14px}.automation-preview-game{border:1px solid var(--line);border-radius:10px;padding:16px}.automation-preview-game h3{font-size:17px}.automation-preview-game p{margin:10px 0;line-height:1.5;overflow-wrap:anywhere}.automation-preview-game ul{list-style:none;margin:0;padding:0;display:grid;gap:7px}.automation-preview-game li{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:baseline}.automation-preview-game li span{min-width:150px}.automation-preview-game li em{font-style:normal;color:#667365;font-size:14px}
@media(max-width:1000px){.automation-grid{grid-template-columns:1fr}}
@media(max-width:600px){.automation-card{padding:16px}.automation-rule-fields{grid-template-columns:1fr}.automation-actions .button{flex:1}}
.workflow-panel{margin:0 0 22px;overflow:visible}.workflow-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;padding:18px 21px;list-style:none}.workflow-panel>summary::-webkit-details-marker{display:none}.workflow-panel>summary strong{display:block;font-size:18px;color:var(--ink)}.workflow-panel>summary small{display:block;margin-top:5px;color:#64775d;font-size:14px;line-height:1.4}.workflow-summary-cue{white-space:nowrap;font-size:13px;color:#59784f}.workflow-panel[open]>summary{border-bottom:1px solid var(--line)}.workflow-content{padding:19px 21px 23px}.workflow-intro,.workflow-footnote{font-size:14px;line-height:1.6;color:#526849;margin:0 0 18px}.workflow-stage{border-top:1px solid #e4eadc;padding:18px 0}.workflow-stage h3{font-size:16px;margin:0 0 14px;color:var(--ink)}.workflow-track{display:flex;align-items:stretch;gap:7px;flex-wrap:wrap}.workflow-node{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;text-align:left;gap:6px;min-width:145px;flex:1 1 155px;border:1px solid #cad8c3;border-radius:9px;padding:12px 13px;background:#f8fbf4;color:var(--ink);font:inherit;line-height:1.35;overflow-wrap:anywhere}.workflow-node strong{font-size:15px}.workflow-node small{font-size:13px;color:#536b4e;line-height:1.45}.workflow-node-type{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#526e48}.workflow-message{cursor:pointer;background:#fffdf5;border-color:#d7c990}.workflow-message:hover,.workflow-message:focus-visible{border-color:#7a914e;box-shadow:0 0 0 3px #b9d39c77;outline:none}.workflow-message small svg{width:13px;height:13px;vertical-align:middle}.workflow-event{background:#f6f8f3}.workflow-unavailable{opacity:.65}.workflow-proposed .workflow-node{border-style:dashed}.workflow-arrow{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:24px;color:#6b8064}.workflow-arrow span{font-size:21px}.workflow-arrow small{font-size:11px;line-height:1.3;max-width:115px;text-align:center}.workflow-messages{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:9px}.workflow-messages .workflow-node{min-width:0}.workflow-other{border-top:1px solid #e4eadc;padding-top:15px}.workflow-other>summary{cursor:pointer;font-size:15px;font-weight:600;color:var(--ink)}.workflow-other .workflow-messages{margin-top:15px}@media(max-width:760px){.workflow-panel>summary,.workflow-content{padding-left:16px;padding-right:16px}.workflow-track{display:grid;grid-template-columns:1fr}.workflow-arrow{min-height:22px}.workflow-arrow span{line-height:1}.workflow-arrow small{max-width:none}.workflow-messages{grid-template-columns:1fr 1fr}}@media(max-width:440px){.workflow-messages{grid-template-columns:1fr}}
.workflow-arrow-mobile{display:none}.workflow-decision{display:grid;grid-template-columns:minmax(180px,.75fr) minmax(0,1.75fr);gap:14px;align-items:stretch}.workflow-decision>.workflow-node{min-width:0}.workflow-fork{display:grid;grid-template-columns:1fr 1fr;gap:12px}.workflow-branch{display:flex;flex-direction:column;gap:7px;min-width:0}.workflow-branch>span{font-size:12px;font-weight:700;color:#627956}.workflow-branch>.workflow-node{min-width:0;flex:1}@media(max-width:760px){.workflow-arrow-desktop{display:none}.workflow-arrow-mobile{display:block}.workflow-decision{grid-template-columns:1fr}.workflow-fork{grid-template-columns:1fr 1fr}}@media(max-width:440px){.workflow-fork{grid-template-columns:1fr}}
.workflow-message.workflow-inactive{border-style:dashed}
.workflow-message-wrap{display:flex;flex:1 1 155px;min-width:0;flex-direction:column}
.workflow-message-wrap>.workflow-node{width:100%;flex:1}
.workflow-message-wrap.workflow-message-open{flex-basis:100%}
.workflow-message-wrap.workflow-message-open>.workflow-node{flex:0 0 auto}
.workflow-messages .workflow-message-wrap.workflow-message-open{grid-column:1/-1}
.workflow-inline-editor{background:#fff;border:1px solid #d7c990;border-top:0;border-radius:0 0 9px 9px;padding:14px;min-width:0;line-height:1.45}
.workflow-inline-editor label{display:block;font-weight:700;margin-bottom:6px}
.workflow-inline-editor textarea{display:block;width:100%;min-height:132px;box-sizing:border-box;font:16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;padding:10px;border:1px solid #a8b5a0;border-radius:7px;resize:vertical}
.workflow-inline-editor p{font-size:13px;color:#526849;margin:9px 0}
.workflow-inline-editor .workflow-editor-feedback{font-weight:700;color:#173c32}
.workflow-inline-editor button{min-height:44px;margin-top:4px}
.sidebar-sign-in{margin-top:18px;width:100%}
.sidebar-sign-in[hidden],#topbar-sign-in[hidden]{display:none!important}
.card-waiting{padding:10px 14px;border-top:1px solid #edf0e7;display:grid;gap:4px;background:#f7faf3;font-size:14px;line-height:1.4}
.card-waiting strong{font-weight:650;color:#4c624c}
.card-waiting span{color:#526554;overflow-wrap:anywhere}
@media(max-width:760px){.card-waiting{grid-column:1/-1;padding:12px 16px}}
@media(max-width:760px){.toolbar-actions{flex-wrap:wrap}}

/* Give the organizer's week cards room to show both lists at a glance. */
.week-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.day-column{min-width:0}
.game-card-top{padding:18px 18px 12px}
.game-card .roster{padding:15px 18px 18px;gap:9px}
.game-card .roster-person{min-height:30px;gap:10px;font-size:16px}
.game-card .roster-person .avatar{width:29px;height:29px}
.game-card .person-name{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
.card-section-label{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#304e3c;font-size:15px;line-height:1.4}
.card-section-label strong{font-weight:700}
.card-section-label span{font-weight:600;color:#687d68}
.card-hold-label,.card-open-label{margin-top:7px;padding-top:10px;border-top:1px solid #edf0e7}
.card-hold-label{color:#8d6b29}
.game-card .card-waiting{padding:16px 18px;border-top:1px solid #cbdcc2;display:grid;gap:8px;background:#edf5e8;font-size:16px;line-height:1.5}
.card-waiting-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.card-waiting-heading strong{font-size:16px;color:#284b36;font-weight:750}
.card-waiting-heading span{font-size:14px;color:#506c54;font-weight:650;white-space:nowrap}
.card-waiting-names{margin:0;padding-left:23px;display:grid;gap:5px;color:#234431}
.card-waiting-names li{padding-left:2px;overflow-wrap:anywhere;font-weight:600}
@media(max-width:1300px){.week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.week-grid{display:block}.game-card{display:block}.game-card .card-waiting{padding:16px 18px}}

/* Factual, organizer-only history beside a weekly roster choice. */
.weekly-history{display:flex;align-items:center;flex-wrap:wrap;gap:2px 12px;margin-top:5px}
.weekly-history-inline{font-size:13px;line-height:1.4;color:#4e6852}
.weekly-history-details{max-width:100%;color:#294b37}
.weekly-history-details summary{display:inline-flex;align-items:center;min-height:44px;cursor:pointer;font-size:14px;font-weight:700;color:#3e673f;text-decoration:underline;text-underline-offset:3px}
.weekly-history-details summary:hover{color:#21472d}
.weekly-history-details summary:focus-visible{outline:3px solid #97b756;outline-offset:3px;border-radius:3px}
.weekly-history-details[open]{flex-basis:100%}
.weekly-history-content{max-width:460px;padding:13px 15px;border:1px solid #d9e4d2;border-radius:9px;background:#f8fbf6;font-size:14px;line-height:1.45;color:#304b37}
.weekly-history-content h4{margin:0 0 9px;font-size:15px}
.weekly-history-weeks{display:grid;gap:5px;margin:0 0 13px}
.weekly-history-week{display:grid;grid-template-columns:58px minmax(0,1fr) 24px;align-items:center;gap:8px;font-size:13px}
.weekly-history-week .weekly-history-track{height:8px;border-radius:99px;background:#e3eadf;overflow:hidden}
.weekly-history-track i{display:block;height:100%;border-radius:99px;background:#5f8c64}
.weekly-history-week strong{display:inline;font-size:13px;font-weight:700;text-align:right}
.weekly-history-content dl{display:grid;gap:7px;margin:0}
.weekly-history-content dl>div{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #e5ece1;padding-top:6px}
.weekly-history-content dt{font-weight:600}
.weekly-history-content dd{margin:0;text-align:right;font-weight:700}
.weekly-history-content p{font-size:13px;line-height:1.5;color:#657766;margin-top:12px}
@media(max-width:760px){.weekly-history{align-items:flex-start}.weekly-history-details[open]{width:100%}.weekly-history-content{max-width:none}.weekly-history-content dl>div{display:block}.weekly-history-content dd{text-align:left;margin-top:2px}}
.nav-item{position:relative}
.nav-count.nav-alert{background:#b5372e;color:#fff;font-weight:700;min-width:22px;text-align:center;border-radius:999px}
@media(max-width:760px){.sidebar nav{overflow-x:auto;overflow-y:hidden;justify-content:flex-start;scrollbar-width:none;scroll-snap-type:x proximity}.sidebar nav::-webkit-scrollbar{display:none}.nav-item{flex:0 0 64px;scroll-snap-align:start;position:relative}.nav-item .nav-count.nav-alert{display:grid;place-items:center;position:absolute;top:0;right:0;min-width:17px;height:17px;padding:0 3px;font-size:11px;line-height:1}}
.notification-attention,.notification-week-availability{margin-bottom:18px}
.notification-attention .panel-header{display:flex;justify-content:space-between;align-items:center}
.notification-attention .panel-content{display:grid;gap:10px}
.notification-week-availability>summary{display:flex;align-items:center;min-height:56px;padding:16px 22px;font-weight:650;cursor:pointer}
.notification-week-lists{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:14px}
.notification-week-lists>div{min-width:0;background:#f6f8f1;border-radius:9px;padding:14px}
.notification-week-lists h3{margin-bottom:10px}.notification-week-lists p{padding:6px 0;border-top:1px solid var(--line);overflow-wrap:anywhere}
@media(max-width:600px){.notification-week-lists{grid-template-columns:1fr}.notification-week-availability>summary{padding:14px 16px}}
.directory-toolbar{align-items:center}.directory-tools{position:relative;flex:0 0 auto}.directory-tools>summary{cursor:pointer;border:1px solid var(--line);border-radius:9px;padding:10px 14px;background:var(--white);font-weight:650}.directory-tools>div{display:flex;gap:8px;position:absolute;right:0;top:calc(100% + 6px);z-index:4;background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow);padding:10px;border-radius:10px;min-width:max-content}.settings-simple-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:18px}.settings-simple-grid .section-stack{min-width:0}.settings-simple-grid .panel>summary,.automation-message-wording>summary{padding:18px 20px;font-size:18px;font-weight:700;cursor:pointer;border-bottom:1px solid var(--line)}.settings-simple-grid .panel-content{overflow-wrap:anywhere}.settings-account .twilio-panel{margin-top:14px}.automation-message-wording{margin:18px 0}.automation-message-wording>p{padding:12px 20px}.automation-message-wording .workflow-messages{padding:0 20px 20px}.automation-message-wording .workflow-message-wrap{min-width:190px}.workflow-message-wrap>.workflow-node{min-height:96px}.workflow-stage,.workflow-track,.workflow-branch{min-width:0}.workflow-node{overflow-wrap:anywhere}
@media(max-width:800px){.settings-simple-grid{grid-template-columns:minmax(0,1fr)}.directory-tools{width:100%}.directory-tools>summary{text-align:center}.directory-tools>div{left:0;right:0;min-width:0;flex-wrap:wrap}.directory-tools>div>.button{flex:1 1 160px}.automation-message-wording .workflow-messages{display:grid;grid-template-columns:minmax(0,1fr);padding:0 14px 16px}.workflow-track{display:flex;flex-direction:column;align-items:stretch}.workflow-track>.workflow-arrow{align-self:center}.workflow-message-wrap{width:100%}.workflow-message-wrap>.workflow-node{min-height:0}.notification-week-lists{grid-template-columns:minmax(0,1fr)}.notification-attention .notice-card{display:block}.settings-simple-grid .form-grid{grid-template-columns:minmax(0,1fr)}}
.message-history{margin:18px 0}.message-history-row{border-bottom:1px solid var(--line);padding:10px 0;min-width:0}.message-history-row>summary{display:flex;align-items:center;gap:12px;cursor:pointer;flex-wrap:wrap}.message-history-row>summary>strong{min-width:130px}.message-history-row>summary>time{margin-left:auto;color:var(--muted);font-size:13px}.message-history-body{white-space:pre-wrap;overflow-wrap:anywhere;background:#f6f8f1;border-radius:8px;padding:12px;margin:10px 0}.message-history-full{margin-top:18px}.message-history-full>summary{cursor:pointer;font-weight:700;padding:10px;border:1px solid var(--line);border-radius:8px}.message-history-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}.message-history-filters label{display:grid;gap:6px;font-weight:650}.message-history-filters input,.message-history-filters select{width:100%;min-width:0;padding:9px;border:1px solid var(--line);border-radius:8px}
@media(max-width:700px){.message-history-filters{grid-template-columns:minmax(0,1fr)}.message-history-row>summary{display:grid;grid-template-columns:1fr auto}.message-history-row>summary>time{margin-left:0;grid-column:1/-1}}
.fairness-count{display:inline-flex;gap:2px;align-items:center;flex:0 0 auto;margin-left:auto;white-space:nowrap}.fairness-count b{display:inline-grid;place-items:center;min-width:17px;height:17px;padding:0 2px;border:1px solid var(--ink);border-radius:3px;font-size:10px;line-height:1;font-weight:700}.card-waiting-names li{display:flex;align-items:center;gap:5px;min-width:0}.card-waiting-names li>span:first-child{min-width:0;overflow-wrap:anywhere;margin-right:auto}.roster-person .person-name{min-width:0;overflow-wrap:anywhere}.roster-person .fairness-count{margin-left:0}.card-waiting-names .fairness-count{margin-left:0}
@media(max-width:760px){.roster-person{flex-wrap:wrap}.roster-person .fairness-count{margin-left:auto}.card-waiting-names li{flex-wrap:wrap}.card-waiting-names .fairness-count{margin-left:auto}}
@media(max-width:760px){.nav-item>span:not(.nav-count){display:none}.nav-item::after{content:attr(data-mobile-label);font-size:10px;line-height:1.15;white-space:nowrap}.week-day-action{margin-top:auto}}
.week-day-action{display:grid;gap:7px;margin-top:auto;padding:13px 10px;border:1px solid var(--line);border-radius:9px;background:#fcfdf9;font-size:13px;color:#536b4e}.week-day-action .button{width:100%;white-space:normal}
.automation-primary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0 26px}.automation-primary-grid .panel-content{display:grid;gap:12px;line-height:1.55}.automation-primary-grid .button{justify-self:start;white-space:normal}.automation-other-rules{padding:18px;margin-top:20px}.automation-other-rules>summary{cursor:pointer;font-weight:700}.automation-other-rules>p{margin-top:12px;color:var(--muted)}.automation-other-rules .automation-grid{margin:18px 0 0}@media(max-width:760px){.automation-primary-grid{grid-template-columns:1fr}.automation-primary-grid .button{width:100%}}
.activity-older,.activity-technical{padding:15px 18px}.activity-older>summary,.activity-technical>summary{cursor:pointer;font-weight:700}.activity-technical>.table-wrap{margin-top:15px;overflow-x:auto}
.weekly-roster-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.weekly-roster-column{min-width:0;display:grid;align-content:start;gap:8px;padding:14px;border:1px solid var(--line);border-radius:10px;background:#f9fbf6}.weekly-roster-column h3{font-size:16px;margin-bottom:5px}.weekly-drag-person,.weekly-drag-empty,.weekly-drag-host{min-width:0;display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:10px;border:1px solid var(--line);border-radius:8px;background:white}.weekly-drag-person{cursor:grab}.weekly-drag-person strong{min-width:0;overflow-wrap:anywhere}.weekly-drag-person .fairness-count{margin-left:auto}.weekly-drag-empty{border-style:dashed;color:#758472}.weekly-drag-host{background:#edf2e8}.weekly-drag-actions{width:100%;display:flex;flex-wrap:wrap;gap:6px}.weekly-drag-actions .button{white-space:normal}.weekly-roster-editor>.form-hint,.weekly-roster-editor>.form-field,.weekly-roster-editor>.inline-error,.weekly-roster-editor>.form-actions{grid-column:1/-1}.weekly-roster-editor .form-field textarea{width:100%}@media(max-width:760px){.weekly-roster-editor{grid-template-columns:1fr}.weekly-drag-actions .button{min-height:40px}}
.week-planning-card{min-width:0;display:grid;gap:8px;margin-top:10px;padding:12px;border:1px solid var(--line);border-radius:11px;background:#fdfefa;box-shadow:var(--shadow)}.week-planning-card h3{font-size:15px}.week-planning-heading{display:flex;justify-content:space-between;gap:8px}.week-planning-heading span{font-size:13px;color:#7b8a71}.week-planning-time{display:grid;gap:4px;font-size:13px;color:#667b63}.week-planning-time select{width:100%;min-width:0;padding:7px;border:1px solid var(--line);border-radius:7px;background:white;color:var(--ink)}.week-planning-dropzone{min-width:0;border:1px solid transparent;border-radius:8px}.week-planning-dropzone.is-drop-target{border-color:#609d62;background:#e9f4e8}.week-planning-dropzone h3{margin-bottom:5px}.week-planning-list{list-style:none;margin:0;padding:0;display:grid;gap:3px;min-width:0}.week-planning-person,.week-planning-empty{min-width:0;border:1px solid #e9eee4;border-radius:7px;background:#fff;font-size:13px}.week-planning-host,.week-planning-empty{display:flex;align-items:center;padding:6px 8px}.week-planning-move{display:flex;align-items:center;gap:5px;width:100%;min-width:0;min-height:29px;padding:5px 7px;border:0;background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:grab;touch-action:none;user-select:none}.week-planning-move:active{cursor:grabbing}.week-planning-move:focus-visible{outline:2px solid #3d7f51;outline-offset:2px}.week-planning-move:disabled{cursor:not-allowed;opacity:.55}.week-planning-name{min-width:0;flex:1;overflow-wrap:anywhere}.week-planning-grip{flex:none;color:#7b8a71;letter-spacing:-3px;font-weight:700}.week-planning-move small{flex:none;color:#71816c;white-space:nowrap}.week-planning-move.is-dragging{position:relative;z-index:3;background:#e9f4e8;box-shadow:0 5px 15px #214c2733}.week-planning-empty{border-style:dashed;color:#82917b}.week-planning-note{font-size:11px;line-height:1.4;color:#71816c}.week-planning-card>.button{width:100%;white-space:normal}@media(max-width:760px){.week-planning-card{margin-top:8px;padding:10px}.week-planning-move{flex-wrap:wrap;min-height:36px}.week-planning-move small{font-size:11px}.toolbar-actions{flex-wrap:wrap}.toolbar-actions .button{white-space:normal}}
.week-planning-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 18px;align-items:center;margin:0 0 20px;padding:16px 18px;border:1px solid var(--line);border-radius:11px;background:#fdfefa}.week-planning-toolbar strong{font-size:15px}.week-planning-toolbar p{margin-top:4px;font-size:13px;line-height:1.5;color:#71816c}.week-planning-toolbar-actions{display:flex;gap:8px;flex-wrap:wrap}.week-planning-invited{grid-column:1/-1;border-top:1px solid var(--line);padding-top:9px;min-width:0}.week-planning-invited>summary{cursor:pointer;font-size:14px;font-weight:650}.week-planning-invited .weekly-sms-history{margin-top:12px}.week-planning-invited .weekly-sms-history h3{display:none}@media(max-width:760px){.week-planning-toolbar{grid-template-columns:1fr;padding:14px}.week-planning-toolbar-actions .button{flex:1;white-space:normal}}

/* Week cards keep the game time and state together on the first line. */
.game-card-top .game-code-line{margin-bottom:0;align-items:baseline}
.game-card-top .game-code-line .game-time{margin:0}

/* Keep time, court and state in one scan line; the full court remains in game details. */
.game-card-meta{display:flex;align-items:center;gap:6px;min-width:0;white-space:nowrap}
.game-card-meta .game-time{flex:none;margin:0;font-size:16px;letter-spacing:-.3px}
.game-card-meta .game-venue{min-width:0;flex:1;margin:0;overflow:hidden;font-size:12px;line-height:1.2;white-space:nowrap;display:flex;align-items:center;gap:3px}
.game-card-meta .game-venue svg{width:12px;height:12px;flex:none;margin:0}
.game-card-meta .game-venue span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.game-card-meta .status{flex:none;font-size:11px;white-space:nowrap;padding:3px 5px}
@media(max-width:700px){.game-card-top{grid-column:1/-1;padding-bottom:5px}.game-card-meta .game-time{font-size:16px}.game-card-meta .game-venue{font-size:12px}}

/* Lift each day card while preserving the green keyboard-focus outline. */
.week-grid .game-card,.week-grid .week-planning-card,.week-grid .day-empty{box-shadow:0 8px 22px #18392c20,0 2px 5px #18392c12}
.settings-messaging-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}

/* Make weekday headings easy to scan without adding height to the phone cards. */
.week-grid .day-name{font-size:17px;font-weight:800;letter-spacing:.3px;color:var(--ink)}

.week-grid .day-date{font-size:17px;font-weight:800;color:var(--ink)}
.week-grid .day-column.is-today .day-date{color:#fff}

@media(max-width:700px){.directory-toolbar{display:flex;flex-wrap:nowrap}.directory-toolbar .search-box{flex:1 1 0;min-width:0}.directory-toolbar .directory-add-player{flex:0 0 auto;white-space:nowrap}}
.signup-qr-preview iframe{display:block;width:100%;height:min(620px,65dvh);border:0;border-radius:12px;background:#fff}.signup-qr-preview p{margin:12px 0 0}.signup-qr-preview{max-width:540px;margin:auto}
@media(max-width:700px){.directory-toolbar:has([data-action="new-player-qr"]){flex-wrap:wrap}.directory-toolbar:has([data-action="new-player-qr"]) .search-box{flex-basis:100%}.directory-toolbar [data-action="new-player-qr"]{flex:1 1 auto;justify-content:center}}

.player-contact-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.player-contact-header .button{margin-left:auto}

/* A home-screen shortcut has no browser toolbar, so refresh stays visible. */
.topbar-refresh{min-height:44px}
.pull-refresh-indicator:not([hidden]){position:fixed;z-index:30;top:calc(env(safe-area-inset-top,0px) + 10px);left:50%;transform:translateX(-50%);padding:9px 15px;border-radius:999px;background:var(--ink);color:#fff;box-shadow:0 6px 20px #173c3233;font-size:14px;font-weight:650;white-space:nowrap;pointer-events:none}
@media(max-width:760px){.top-actions .topbar-refresh{flex:0 0 auto;margin-left:auto;min-width:88px}}

.notification-queued{margin-bottom:18px}.notification-queued .panel-header{display:flex;align-items:center;justify-content:space-between}.notification-queued-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:4px 10px;padding:9px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.notification-queued-row:last-child{border-bottom:0}.notification-queued-row small{grid-column:1/-1;color:var(--muted)}.notification-queued-age{font-size:13px;color:var(--muted)}
@media(max-width:600px){.notification-queued-row{grid-template-columns:minmax(0,1fr) auto}.notification-queued-row>strong{grid-column:1}.notification-queued-row>span:not(.notification-queued-age){grid-column:1;font-size:13px}.notification-queued-age{grid-column:2;grid-row:1/3;align-self:center}}

/* Individual confirmation remains a sibling of the draggable player button. */
.week-planning-person{display:flex;align-items:center;gap:3px}.week-planning-person>.week-planning-move{flex:1;min-width:0}.week-planning-person>.fairness-count{margin-left:0}.week-player-confirm{flex:0 0 auto;padding:5px 7px;font-size:12px;min-height:32px}.early-confirmed{font-size:11px;color:#326343;white-space:normal}.game-card .week-player-confirm{margin-left:auto}.card-waiting-names .week-player-confirm{margin-left:auto}@media(max-width:760px){.game-card .week-player-confirm{font-size:12px}.early-confirmed{max-width:95px}}
@media(max-width:760px){
  .game-card .roster-person:has(.week-player-confirm){display:grid;grid-template-columns:29px minmax(0,1fr) auto;gap:3px 6px;align-items:center}
  .game-card .roster-person:has(.week-player-confirm)>.avatar{grid-column:1;grid-row:1}
  .game-card .roster-person:has(.week-player-confirm)>.person-name{grid-column:2;grid-row:1;min-width:0}
  .game-card .roster-person:has(.week-player-confirm)>.week-player-confirm{grid-column:3;grid-row:1;margin-left:0;justify-self:end}
  .game-card .roster-person:has(.week-player-confirm)>.private-group-badge{grid-column:1;grid-row:2;justify-self:center}
  .game-card .roster-person:has(.week-player-confirm)>.fairness-count{grid-column:2;grid-row:2;margin-left:0;justify-self:start}
  .game-card .roster-person:has(.week-player-confirm)>.roster-state{grid-column:3;grid-row:2;justify-self:end}
}
