:root{--ink:#172f28;--forest:#123c32;--muted:#5c6d64;--lime:#d6ee72;--paper:#f6f7f2;--line:#dce2d7;--white:#fff;--red:#a4322e;--orange:#82551b;--radius:18px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-size:16px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}a{color:var(--forest)}button,.button{border:0;border-radius:10px;min-height:46px;padding:11px 17px;background:var(--forest);color:white;font-weight:650;cursor:pointer;display:inline-flex;gap:8px;align-items:center;justify-content:center;text-decoration:none}button:hover,.button:hover{filter:brightness(1.1)}button:disabled{opacity:.5;cursor:not-allowed}button.secondary,.button.secondary{background:#edf1e7;color:var(--forest);border:1px solid var(--line)}button.ghost{background:transparent;color:var(--forest)}button.danger{background:#f8e6e3;color:var(--red)}button.small,.button.small{font-size:.86rem;min-height:40px;padding:8px 12px}button.lime,.button.lime{background:var(--lime);color:var(--forest)}input,select,textarea{border:1px solid #bac7bd;border-radius:9px;padding:11px;background:#fff;color:var(--ink);width:100%;min-height:46px}textarea{min-height:86px;resize:vertical}input[type=checkbox],input[type=radio]{width:22px;min-height:22px;height:22px;accent-color:var(--forest);flex-shrink:0}input[type=file]{padding:10px;max-width:100%}label{display:block;font-size:.9rem;font-weight:600;margin-bottom:7px}label.check{display:flex;align-items:flex-start;gap:12px;font-weight:450;margin:12px 0;line-height:1.5}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(1.9rem,4vw,2.7rem);letter-spacing:-1.5px;line-height:1.12;margin-bottom:10px}h2{font-size:1.3rem;letter-spacing:-.4px;margin-bottom:17px}h3{font-size:1rem;margin-bottom:8px}p{line-height:1.6}.muted{color:var(--muted)}.eyebrow{font-size:.73rem;letter-spacing:1.7px;text-transform:uppercase;font-weight:750;margin-bottom:13px}.small-text{font-size:.84rem}.shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.sidebar{background:var(--forest);color:#edf5e7;padding:30px 22px;display:flex;flex-direction:column;position:fixed;width:240px;height:100vh;z-index:5}.brand{display:flex;align-items:center;gap:11px;color:white;text-decoration:none;font-size:1.26rem;line-height:1.15;font-weight:750;letter-spacing:-.6px;margin-bottom:44px}.brand img{width:46px;height:46px}.sidebar .eyebrow{color:#a2b8a8}.nav{display:flex;flex-direction:column;gap:6px}.nav a{padding:13px 15px;border-radius:10px;color:#c2d5c7;text-decoration:none;font-weight:600;display:flex;gap:12px;align-items:center;font-size:.92rem}.nav a.active{background:var(--lime);color:var(--forest)}.nav a:hover{background:#2e5548;color:white}.nav a.active:hover{background:var(--lime);color:var(--forest)}.nav .symbol{width:22px;text-align:center;font-size:1.15rem}.sidebar-footer{margin-top:auto;border-top:1px solid #456253;padding-top:22px;font-size:.82rem;line-height:1.5;color:#b8cbbd}.sidebar-footer button{color:#e5eddf}.main-wrap{grid-column:2;min-width:0}.topbar{padding:18px 42px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:.83rem;min-height:77px}.topbar .mode{display:flex;gap:8px;align-items:center}.dot{width:7px;height:7px;border-radius:50%;background:#689858;display:inline-block}.avatar{border-radius:50%;background:#e7eecf;width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-weight:750;flex-shrink:0}.user{display:flex;gap:10px;align-items:center}.topbar select{font-size:.8rem;min-height:36px;width:auto;padding:5px 8px}.content{max-width:1280px;margin:auto;padding:38px 42px 65px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.page-heading p{margin:0;color:var(--muted)}.actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:25px;min-width:0;margin-bottom:22px}.grid>.card{margin-bottom:0}.card h2 .muted{font-size:.85rem;font-weight:450;letter-spacing:0}.card-header{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px}.card-header h2{margin:0}.hero{background:var(--forest);color:#f4f8ec;border-radius:22px;padding:31px;display:grid;grid-template-columns:1.4fr 1fr;gap:25px;margin-bottom:24px;position:relative;overflow:hidden}.hero .eyebrow{color:var(--lime)}.hero h2{font-size:2.1rem;letter-spacing:-.8px}.hero p{color:#c3d3c5}.hero .detail{display:flex;gap:25px;margin:24px 0;font-size:.94rem}.hero .detail strong{display:block;color:#f7faef;margin-top:4px}.hero .detail span{font-size:.8rem;color:#b9ccbd}.court-art{border:2px solid #8eaf8f;border-radius:3px;width:100%;max-width:245px;height:190px;align-self:center;justify-self:center;position:relative;transform:rotate(-7deg);opacity:.9;display:grid;grid-template-rows:1fr 1fr}.court-art:before{content:'';position:absolute;left:0;right:0;top:50%;border-top:2px dashed #bdcdb5}.court-art:after{content:'';position:absolute;top:27%;bottom:27%;left:0;right:0;border-top:2px solid #8eaf8f;border-bottom:2px solid #8eaf8f}.court-art .ball{position:absolute;width:50px;height:50px;border-radius:50%;background:var(--lime);right:-16px;top:30px;box-shadow:0 8px 18px #0b241d55;color:var(--forest);display:grid;place-content:center;font-size:38px;font-weight:900}.court-art .midline{position:absolute;left:50%;top:0;bottom:0;border-left:2px solid #8eaf8f}.stat{padding:21px 23px}.stat .value{font-size:2rem;font-weight:720;letter-spacing:-1px;margin:8px 0 2px}.stat .label{color:var(--muted);font-size:.82rem}.stat .caption{font-size:.76rem;color:var(--muted);margin-top:8px}.section-gap{margin-top:28px}.pill{display:inline-block;border-radius:50px;padding:5px 10px;font-size:.72rem;font-weight:700;line-height:1.3;white-space:nowrap}.pill.accepted,.pill.confirmed,.pill.received,.pill.delivered,.pill.active{background:#e3efdc;color:#345b2b}.pill.pending,.pill.offered,.pill.waitlisted,.pill.uncertain{background:#fff0cf;color:#765313}.pill.declined,.pill.canceled,.pill.failed,.pill.denied{background:#f8e6e3;color:#9c332c}.pill.draft,.pill.suppressed,.pill.default{background:#eef0eb;color:#536459}.pill.published{background:#e3efdc;color:#345b2b}.pill.simulated_accepted{background:#e9e4f4;color:#64418d}.pill.provider_accepted,.pill.push_service_accepted{background:#e5edf8;color:#29527e}.roster{list-style:none;margin:0;padding:0}.roster li{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #edf0e9;padding:12px 0}.roster li:first-child{border:0}.person{display:flex;align-items:center;gap:10px}.person .avatar{width:32px;height:32px;font-size:.72rem}.person span small{display:block;color:var(--muted);font-size:.75rem;margin-top:3px}.capacity{height:5px;background:#edf0e8;border-radius:10px;display:flex;gap:3px;margin:16px 0}.capacity span{flex:1;border-radius:10px;background:#e8eee0}.capacity span.filled{background:#6f945d}.court-number{font-size:1.4rem;font-weight:750;letter-spacing:-.7px}.court-note{font-size:.82rem;color:var(--muted)}.notice{padding:16px 18px;border:1px solid #dbe6be;background:#f3f7e8;border-radius:12px;margin-bottom:20px;font-size:.88rem;line-height:1.55}.notice.warning{background:#fff6df;border-color:#eedba8;color:#6f511d}.notice.error{background:#fff0ed;border-color:#eec1ba;color:var(--red)}.empty{text-align:center;padding:30px;color:var(--muted)}.table-wrap{overflow:auto;max-width:100%}table{border-collapse:collapse;width:100%;font-size:.85rem}th{text-align:left;font-weight:650;color:var(--muted);font-size:.74rem;white-space:nowrap}td,th{padding:13px 10px;border-bottom:1px solid #e8ede3;vertical-align:middle}tr:last-child td{border-bottom:0}td:first-child,th:first-child{padding-left:0}td input,td select{min-width:110px;font-size:.85rem}td .actions{min-width:110px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:20px}.fields .full{grid-column:1/-1}.field{margin-bottom:18px}.field-help{display:block;color:var(--muted);font-size:.78rem;line-height:1.5;margin-top:6px}.divider{border-top:1px solid var(--line);margin:24px 0}.row-link{display:block;text-decoration:none;color:inherit}.session-row{display:flex;gap:18px;align-items:center;padding:19px 0;border-top:1px solid var(--line)}.session-row:first-of-type{border-top:0}.date-tile{background:#eff3e7;border-radius:12px;min-width:59px;padding:10px;text-align:center}.date-tile span{font-size:.67rem;font-weight:750;text-transform:uppercase;display:block}.date-tile strong{font-size:1.65rem;display:block;line-height:1.2}.grow{flex:1;min-width:0}.session-row p{margin:5px 0 0;font-size:.82rem;color:var(--muted)}.login{max-width:540px;margin:6vh auto;padding:25px}.login .brand{color:var(--forest);margin:0 0 35px;font-size:1.7rem}.login .brand img{width:62px;height:62px}.login .card{padding:30px}.login h1{font-size:2.1rem}.login .actions{justify-content:center}.login button.fullwidth{width:100%}.progress{display:flex;gap:6px;margin:20px 0 30px}.progress span{height:5px;border-radius:3px;background:#dfe7d8;flex:1}.progress span.done{background:#5f8553}.setup{max-width:730px;margin:auto}.setup .card{padding:32px}.step-number{font-size:.75rem;letter-spacing:1px;color:var(--muted);text-transform:uppercase;margin-bottom:12px}.setup .actions{justify-content:space-between;margin-top:25px}.setup .feature-icon{font-size:2.7rem;margin-bottom:20px}.pairing{display:flex;align-items:center;gap:16px;justify-content:space-between;text-align:center;background:#f4f6ef;padding:20px;border-radius:12px}.pairing strong{display:block;margin-bottom:5px}.pairing .versus{font-size:.72rem;color:var(--muted);font-weight:750}.resting{padding:12px 0;color:var(--muted);font-size:.85rem}.score{font-size:1.7rem;font-weight:750}.score-form input[type=number]{font-size:1.5rem;font-weight:700;text-align:center}.inline-input{max-width:100px}.policy{max-width:780px;padding:40px 24px;margin:auto}.policy h1{margin-top:35px}.policy h2{margin-top:30px}dialog{border:1px solid var(--line);border-radius:18px;max-width:650px;width:calc(100% - 30px);padding:28px;color:var(--ink)}dialog::backdrop{background:#123c3288}dialog input{margin-bottom:15px}.loading{padding:60px;text-align:center}.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;z-index:50;background:white;padding:15px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:30;max-width:min(90vw,640px);padding:15px 23px;background:#173e32;color:white;border-radius:12px;box-shadow:0 6px 30px #123c3230;display:none;font-size:.9rem}#toast.visible{display:block}#toast.error{background:#852e28}:focus-visible{outline:3px solid #7ba331;outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.bottom-note{text-align:center;color:var(--muted);font-size:.75rem;margin-top:30px}.chip{font-size:.8rem;background:#eef2e7;padding:5px 9px;border-radius:7px}.mobile-brand{display:none}.import-preview input[type=checkbox]{min-width:22px}.import-preview td{min-width:140px}.import-preview td:first-child{min-width:40px}.import-preview .merge{font-size:.76rem;max-width:180px;white-space:normal}.subtitle{font-size:.87rem;color:var(--muted);line-height:1.5}.row-actions{display:flex;gap:5px;flex-wrap:wrap}.checklist{padding:0;list-style:none}.checklist li{padding:13px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px}.error-message{color:var(--red);font-size:.9rem;margin:12px 0}.details-toggle{font-size:.85rem;color:var(--muted);cursor:pointer;padding:10px 0}code{font-size:.86em;overflow-wrap:anywhere}details{margin-bottom:12px}summary{cursor:pointer;font-weight:600}details p{margin:10px 0}.report-pairs{font-size:.78rem;line-height:1.6}.unsaved{border:2px solid #c79437}.filter{display:flex;flex-wrap:wrap;gap:12px;align-items:end}.filter label{margin:0}.filter input,.filter select{width:auto}.grow-text{overflow-wrap:anywhere;word-break:break-word}
@media(min-width:1450px){.content{padding-top:45px}.hero{padding:38px}}@media(max-width:1050px){.sidebar{width:200px;padding:25px 15px}.shell{grid-template-columns:200px 1fr}.content{padding:30px 25px}.topbar{padding:16px 25px}.hero{grid-template-columns:1.7fr 1fr}.court-art{height:150px;max-width:180px}.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.hero .detail{gap:15px}.brand{font-size:1.1rem}.grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:740px){.shell{display:block}.sidebar{position:fixed;bottom:0;top:auto;width:100%;height:auto;padding:8px 7px max(8px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fff;box-shadow:0 -3px 20px #123c3208}.sidebar .brand,.sidebar .eyebrow,.sidebar-footer{display:none}.nav{display:flex;flex-direction:row;justify-content:space-around;gap:0}.nav a{display:flex;flex-direction:column;gap:4px;padding:7px 5px;color:var(--muted);font-size:.63rem;border-radius:9px;min-width:44px}.nav a.active{background:#edf3dd;color:var(--forest)}.nav .symbol{font-size:1.12rem}.topbar{padding:13px 18px;min-height:67px;flex-wrap:wrap;gap:10px}.mobile-brand{display:flex;align-items:center;gap:8px;font-weight:750;font-size:.95rem}.mobile-brand img{width:32px;height:32px}.topbar .mode{font-size:.66rem}.topbar .user .avatar,.topbar .user .user-name{display:none}.topbar select{max-width:120px;font-size:.7rem}.content{padding:26px 17px 115px}.page-heading{align-items:flex-start;gap:12px;margin-bottom:23px}.page-heading .actions button{padding:10px 12px;white-space:nowrap;font-size:.8rem}.page-heading p{font-size:.84rem}.grid,.grid.three{grid-template-columns:1fr;gap:17px}.grid.four{gap:12px}.card{padding:20px;border-radius:16px;margin-bottom:17px}.hero{padding:25px;grid-template-columns:1fr;border-radius:18px}.hero h2{font-size:1.85rem}.hero .detail{flex-wrap:wrap;margin:20px 0}.hero .court-art{display:none}.hero .detail span{font-size:.75rem}.hero .detail strong{font-size:.88rem}.hero p{font-size:.9rem}.stat{padding:17px}.stat .value{font-size:1.75rem}.stat .caption{font-size:.7rem}.fields{grid-template-columns:1fr;gap:16px}.setup .card{padding:24px}.setup .actions{gap:10px}.setup .actions button{flex:1;font-size:.83rem}.login{margin:2vh auto;padding:20px 16px}.login .card{padding:25px}.topbar .mode{order:3;width:100%}.session-row{gap:12px}.session-row h3{font-size:.9rem}.session-row>.pill{display:none}.card-header h2{font-size:1.1rem}.card-header .actions{gap:5px}.card-header button{font-size:.75rem;padding:8px}.pairing{padding:15px;gap:10px;font-size:.85rem}#toast{bottom:95px}.filter>*{max-width:100%}td,th{padding:12px 8px}}
