:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#193b3b;background:#f3f7f6;font-size:16px}*{box-sizing:border-box}body{margin:0}header{background:#fff;border-bottom:1px solid #dce6e3;padding:22px max(20px,calc((100vw - 1000px)/2));display:flex;align-items:center;justify-content:space-between;gap:14px}.brand{font-size:25px;font-weight:750;color:#10685f;text-decoration:none;letter-spacing:-.7px}.brand span{display:block;font-size:13px;color:#617571;font-weight:400;letter-spacing:0;margin-top:3px}main{max-width:1000px;margin:26px auto;padding:0 20px}h1{font-size:29px;letter-spacing:-.6px;margin:0 0 8px}h2{font-size:20px;margin:0 0 16px}h3{font-size:17px}p{color:#5a706b;line-height:1.55}.panel{background:#fff;border:1px solid #dce6e3;border-radius:18px;padding:24px;margin-bottom:20px}.narrow{max-width:470px;margin:40px auto}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.between{justify-content:space-between}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}label{display:block;font-weight:600;margin:16px 0 7px}input,select,textarea,button{font:inherit}input:not([type=checkbox]),select,textarea{width:100%;padding:12px;border:1px solid #baccc6;border-radius:10px;background:white;color:#193b3b}input[type=checkbox]{width:19px;height:19px;accent-color:#10685f}.check{display:flex;gap:10px;align-items:center;font-weight:400;min-height:44px}button{min-height:44px;padding:10px 16px;border-radius:10px;background:white;border:1px solid #cbd9d4;color:#193b3b;cursor:pointer}button.primary{background:#10685f;border-color:#10685f;color:white}button.danger{color:#ad3535}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #e4a744;outline-offset:3px}.block{width:100%;margin-top:20px}.muted,small{color:#5a706b}.badge{background:#e5f3ed;border-radius:7px;padding:5px 9px;font-size:13px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0}.tabs button{border:0;background:#e7efec}.tabs button.active{background:#10685f;color:white}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.dayhead{text-align:center;font-size:12px;color:#60766e;padding:8px 0}.day{min-height:80px;padding:9px 4px;display:flex;flex-direction:column;align-items:center;gap:6px}.day small{font-size:11px}.day.work{background:#e5edff;color:#214c87}.day.avail{background:#e4f5ec;color:#1c6748}.day.both{background:#f9efda;color:#745421}.today{box-shadow:inset 0 0 0 2px #10685f}.legend{margin:16px 0 0;display:flex;gap:15px;flex-wrap:wrap;font-size:13px}.swatch{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:5px}.datechoices{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.datechoices button{background:#e4f5ec}.request{border-bottom:1px solid #e1e9e6;padding:18px 0}.request:last-child{border-bottom:0}.hint{background:#eef4f1;border-radius:10px;padding:12px;margin:16px 0;color:#506963}.error{color:#a82626}.success{color:#176249}#message{max-width:960px;margin:12px auto;padding:0 20px;white-space:pre-wrap}#message:not(:empty){padding:14px 20px;background:#fff;border-radius:10px}footer{max-width:1000px;margin:20px auto 35px;padding:0 20px;font-size:13px;color:#657b73;line-height:1.5}dialog{border:1px solid #dce6e3;border-radius:18px;width:min(530px,calc(100% - 24px));padding:24px;color:#193b3b;max-height:90vh;overflow:auto}dialog::backdrop{background:#133a3a66}.adminrow{border-bottom:1px solid #e1e9e6;padding:16px 0}.adminrow select{max-width:230px}.adminrow input{max-width:230px}#account{font-size:14px}.timefields{margin-top:10px}[hidden]{display:none!important}@media(max-width:600px){.grid{grid-template-columns:1fr}header{padding:18px 16px}.brand{font-size:23px}main{padding:0 12px;margin:18px auto}.panel{padding:17px}.calendar{gap:4px}.day{min-height:65px;font-size:14px}.day small{font-size:10px}.tabs{gap:5px}.tabs button{padding:10px;font-size:14px}h1{font-size:25px}#account{max-width:130px}.narrow{margin:20px auto}}

.match-option{border:1px solid #dce6e3;padding:18px;border-radius:12px;margin:16px 0}.required-notice{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;border:0;border-radius:0;background:#f3f7f6;padding:24px}.notice-content{max-width:760px;margin:20px auto}.notice-instruction{font-size:19px;color:#193b3b}.required-notice .request{background:#fff;padding:18px;border-radius:12px;margin:12px 0;border:1px solid #dce6e3}.required-notice::backdrop{background:#f3f7f6}details summary{cursor:pointer;min-height:44px;padding:12px 0}
