:root{font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;color:#153849;background:#f1f5f8;font-size:16px;line-height:1.65;--navy:#103e54;--lime:#cff17d;--line:#dce5e9}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer;border:0;border-radius:9px;font-weight:650;min-height:44px}button:disabled{cursor:wait;opacity:.55}button:hover:not(:disabled){filter:brightness(.96)}:focus-visible{outline:3px solid #1683b4;outline-offset:3px}a{color:#176589}header{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 4%;background:var(--navy);color:white}.brand{display:flex;gap:12px;align-items:center;color:white;text-decoration:none;font-size:23px;font-weight:750;letter-spacing:.06em}.brandmark{background:var(--lime);color:var(--navy);width:37px;height:39px;border-radius:10px;text-align:center;font-size:30px;line-height:1.25}.brandtag{font-size:12px;font-weight:500;letter-spacing:0;margin-left:13px;opacity:.7}header .quiet{color:white;border:1px solid #ffffff40;background:transparent;padding:8px 15px;font-size:14px}main{max-width:1500px;margin:auto;padding:36px 4% 16px}.pageheading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:26px}.eyebrow{font-size:13px;letter-spacing:.12em;margin:0 0 6px;color:#477286;font-weight:700}h1{font-size:29px;letter-spacing:.035em;margin:0;font-weight:750}h2{font-size:18px;margin:0}h3{font-size:22px}p{margin:12px 0}small,.small{font-size:13px}.secondary{background:white;border:1px solid #ccd9df;padding:10px 20px;color:var(--navy);white-space:nowrap}.rules{display:flex;gap:0;background:#e5edf2;border:1px solid #d7e3e9;border-radius:12px;margin-bottom:28px;padding:13px 0}.rules span{flex:1;text-align:center;border-right:1px solid #cbd9e2;font-size:14px}.rules span:last-child{border:0}.rules b{font-size:21px;font-variant-numeric:tabular-nums}.workspace{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(350px,1fr);gap:30px;align-items:start}.panel{min-width:0;background:white;border:1px solid var(--line);border-radius:14px;padding:22px;margin:0 0 18px}fieldset{padding-top:14px!important}legend{float:left;width:100%;padding:0;margin:6px 0 20px;font-size:18px;font-weight:700}fieldset>legend+*{clear:both}.step{font-size:12px;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;color:#5d7b8b;border:1px solid #d9e5eb;border-radius:7px;vertical-align:middle;margin-right:6px}.mode{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mode label{border:1px solid var(--line);padding:11px;border-radius:8px;display:block}.mode label:has(input:checked){border-color:#216386;background:#edf6fb}.mode small{display:block;margin-left:23px;color:#637c89;font-size:12px}.basegrid{display:grid;grid-template-columns:1fr 145px;gap:14px;margin-top:20px}label{font-size:14px;font-weight:600;display:block}input:not([type=checkbox]):not([type=radio]),select{display:block;width:100%;min-width:0;min-height:44px;padding:9px 10px;border:1px solid #cddbe2;border-radius:7px;background:#fff;color:#153849;font-size:16px;margin-top:6px}input[type=checkbox],input[type=radio]{accent-color:#145371;width:17px;height:17px;vertical-align:middle;margin-right:6px}.hint{font-size:13px;color:#617785;line-height:1.8}.checkline{font-size:14px;margin-top:14px;font-weight:500}.vehicles{display:grid;grid-template-columns:1fr 1fr;gap:10px}.vehicle{padding:12px;border:1px solid var(--line);border-radius:9px;background:#f8fafb}.vehicle:has(.enabled:checked){background:white;border-color:#9eb8c6}.vehicle:not(:has(.enabled:checked)){opacity:.6}.vehiclehead{display:flex;justify-content:space-between;align-items:center;gap:6px}.capacity{font-size:13px;color:#1a6880;background:#eaf3f7;padding:2px 7px;border-radius:5px}.vehicle .checkline{margin:8px 0 0}.sectiontitle{display:flex;justify-content:space-between;align-items:center}.badge{font-size:13px;background:#e7eff4;color:#446979;padding:4px 10px;border-radius:20px;white-space:nowrap}.place{border-top:1px solid var(--line);padding:18px 0 12px}.placetop{display:flex;align-items:center;gap:9px;margin-bottom:10px}.placetop .number{font-size:13px;font-weight:700;color:#75909e}.placetop input{margin-top:0!important;font-weight:650}.remove{background:transparent;color:#8a5360;flex-shrink:0;padding:6px 9px;font-size:13px}.placebottom{display:grid;grid-template-columns:1.2fr .65fr 1fr;gap:10px;margin-top:12px}.add{width:100%;background:#f1f7fa;border:1px dashed #9db8c7;color:#285b73;margin-top:8px}.calculatebar{padding:4px 0 20px}.calculatebar p{font-size:14px}.calculatebar small{display:block;text-align:center;color:#637b89;margin-top:8px}.primary{background:var(--navy);color:white;padding:13px 18px;width:100%;font-size:16px}.primary span{float:right;color:var(--lime)}.resultheading{display:flex;align-items:center;justify-content:space-between;margin:0 0 18px}.results{position:sticky;top:20px}.empty{padding:62px 18px;background:#e8eff4;border:1px dashed #bccfda;border-radius:16px;text-align:center;color:#59798a;min-height:425px}.empty h3{color:#284e62;margin:28px 0 15px}.empty p{font-size:14px}.routeglyph{color:#30637b;font-size:25px;letter-spacing:4px;background:#f7fbfd;padding:15px;border-radius:11px;display:inline-block}.resultfoot{font-size:13px;color:#6d818c;border-top:1px solid #d6e2e8;margin-top:24px;padding-top:16px}.resultfoot b{color:#355c70}.resultfoot p{margin:8px 0}.summary{display:flex;background:var(--navy);border-radius:13px;padding:18px;color:white;gap:18px;margin-bottom:18px}.summary>div{flex:1}.summary b{font-size:26px;line-height:1.2;display:block}.summary span{font-size:12px;color:#c8d9e2}.summary .accent{color:var(--lime)}.routecard{background:white;border:1px solid var(--line);border-radius:13px;margin-bottom:16px;overflow:hidden}.routehead{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;background:#f7fafb;border-bottom:1px solid var(--line)}.routehead b{font-size:17px}.routehead small{color:#607f8f}.routebody{padding:12px 18px}.visit{display:grid;grid-template-columns:57px 1fr auto;gap:11px;padding:13px 0;border-bottom:1px solid #edf2f5;font-size:14px}.visit:last-child{border:0}.visit time{font-weight:750;font-variant-numeric:tabular-nums;color:#315c72}.visit .detail{font-size:12px;color:#6e8591;margin-top:3px}.visit .name{font-weight:650;overflow-wrap:anywhere}.visit .actions{display:flex;gap:2px}.visit button{min-height:32px;background:#f1f5f8;padding:0 8px;color:#406476}.routeinfo{padding:0 18px 14px;font-size:13px;color:#597383}.alert{padding:15px;background:#fff4e4;border:1px solid #ebd2a7;border-radius:10px;font-size:14px;margin-bottom:16px;color:#705322}.alert ul{padding-left:21px}.sampleflag{background:#eef3d9;border:1px solid #d1dfae;color:#4b6230;padding:10px 13px;border-radius:8px;font-size:13px;margin:0 0 14px}#notice{padding:13px 18px;margin-bottom:20px;border-radius:10px;background:#fff4e4;border:1px solid #e9c68c;color:#70511c;font-size:14px}#notice[hidden], [hidden]{display:none!important}footer{display:flex;gap:15px;flex-wrap:wrap;align-items:center;font-size:12px;color:#758c99;border-top:1px solid #d7e2e8;padding-top:20px;margin-top:34px}footer span{flex:1}dialog{border:0;border-radius:16px;max-width:660px;width:calc(100% - 32px);max-height:90vh;overflow:auto;padding:28px;color:#153849;box-shadow:0 20px 90px #09243140}dialog::backdrop{background:#102e4670}.dialoghead{display:flex;align-items:center;justify-content:space-between;gap:12px}.quiet{padding:7px 13px;background:#eff4f7;color:#345b70}.instructions{padding-left:24px;font-size:14px}.instructions li{padding:5px 0}.instructions a{font-weight:600}dialog .primary{margin-top:18px}.addressitem{padding:15px 0;border-bottom:1px solid var(--line);font-size:14px}.addressitem p{margin:6px 0}.addressitem .checkline{color:#486878}.google{font-family:Arial,sans-serif;font-size:16px;color:#52606d;font-weight:600;letter-spacing:.2px}.print{margin-bottom:12px;font-size:14px}
@media(max-width:1000px){.brandtag{display:none}.workspace{grid-template-columns:1fr}.results{position:static}.empty{min-height:260px;padding:30px}.pageheading h1{font-size:25px}}@media(max-width:600px){header{height:auto;min-height:72px;gap:10px;padding:12px 5%}.brand{font-size:19px;gap:8px;white-space:normal;min-width:0;line-height:1.4}.brandmark{flex-shrink:0}header .quiet{font-size:12px;padding:7px 9px}main{padding:25px 4% 16px}.pageheading{align-items:flex-start;flex-direction:column}.pageheading h1{font-size:24px}.rules{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px}.rules span{font-size:12px;border:0}.rules b{font-size:18px}.panel{padding:17px}.basegrid{grid-template-columns:1fr}.vehicles{gap:8px}.vehicle{padding:9px}.capacity{font-size:12px}.vehiclehead{flex-wrap:wrap}.mode small{font-size:12px;margin:4px 0}.placebottom{grid-template-columns:1fr .7fr 1fr;gap:7px}.placebottom label{font-size:12px}dialog{padding:20px}.visit{gap:7px}.summary{gap:12px}.summary b{font-size:24px}}
@media print{header,.inputs,.pageheading,.rules,footer,.resultfoot,.print,.actions,#notice,dialog{display:none!important}main{padding:0}.workspace{display:block}.results{position:static}.routecard{break-inside:avoid}.summary{background:white;color:black;border:1px solid #aaa}.summary span,.summary .accent{color:black}body{background:white}}
nav{display:flex;gap:18px;font-size:14px}nav a{color:white;text-decoration:none}nav a:hover{text-decoration:underline}.member{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0;border-top:1px solid var(--line);font-size:14px;overflow-wrap:anywhere}details{font-size:14px;margin:15px 0}summary{cursor:pointer;font-weight:650}#keyForm>button,#memberForm>button{margin:14px 0}#account{max-width:100%;white-space:normal;overflow-wrap:anywhere}.dailycontrols{display:flex;gap:14px;align-items:end;flex-wrap:wrap;margin:20px 0}.dailycontrols input{min-width:170px}.planbanner{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.planlist{display:grid;grid-template-columns:1fr 1fr;gap:22px}.plan{min-width:0}.muted{color:#67808e;font-size:14px}input[readonly],select:disabled{background:#f1f5f8!important;color:#506f80!important}.readonly-notice{padding:12px 16px;background:#e8f2f8;border-radius:9px;font-size:14px;margin-bottom:20px}.datebar{display:flex;gap:15px;align-items:center;margin-bottom:20px}.datebar label{max-width:220px}#masterPicker{margin:14px 0}#setupOpen{display:none!important}#sampleNotice{font-size:13px;color:#5b772b}@media(max-width:600px){nav{gap:10px;font-size:12px}.planlist{grid-template-columns:1fr}.planbanner{align-items:flex-start;flex-direction:column}.datebar{align-items:start;flex-direction:column}}@media print{nav,.dailycontrols,.datebar,.planbanner button,.readonly-notice{display:none!important}.planlist{display:block}}

#adminVehicles{margin-top:18px}
