:root{font:15px system-ui,sans-serif;color:#273142;background:#f3f4f5;--red:#a82832}*{box-sizing:border-box}body{margin:0}header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 24px;background:white;border-bottom:1px solid #d9dfe4}.eyebrow{font-size:10px;letter-spacing:1.6px;font-weight:700;color:var(--red)}h1{font-size:26px;margin:4px 0 0}h1 span{font-size:15px;color:#657080;font-weight:500}h2{font-size:20px;margin:0 0 12px}h3{margin:0 0 12px}.account{display:flex;align-items:center;gap:12px}.account span{font-size:13px;color:#64707d}button,select,input{font:inherit}button{cursor:pointer;border:1px solid #cbd2d9;background:white;border-radius:7px;padding:8px 12px;color:inherit}button:hover{background:#f4f1ee}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--red);color:white;border-color:var(--red)}button:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #507ac5;outline-offset:2px}[hidden]{display:none!important}nav{display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding:12px 24px;background:#fafbfc;border-bottom:1px solid #d9dfe4}nav label{font-size:12px;color:#566273}select{display:block;border:1px solid #cbd2d9;border-radius:6px;padding:7px 10px;background:white;max-width:270px}nav label:first-child select{width:260px}.tools{display:flex;gap:5px;margin-left:auto;padding-top:13px}main{display:flex;height:calc(100dvh - 229px);min-height:450px}aside{flex:0 0 310px;overflow-y:auto;padding:20px 16px;background:white;border-right:1px solid #ddd}aside p{font-size:13px;line-height:1.55;margin:8px 0}.help{padding:12px 0;margin:12px 0;border-top:1px solid #e6e6e6;border-bottom:1px solid #e6e6e6}.help summary{font-size:13px;cursor:pointer}.help label{display:block;font-size:13px;margin:8px 0}.legend{display:flex;gap:8px;align-items:start;text-align:left;width:100%;border:0;border-radius:5px;padding:10px 7px;margin:1px 0}.legend.selected{background:#eef1f5}.legend.dim{opacity:.25}.legend span.label{flex:1}.sw{display:inline-block;flex:0 0 13px;height:13px;border-radius:50%;margin-top:3px}.legend small{display:block;font-size:11px;color:#68717d;margin-top:4px}.pill{font-size:10px;color:#696459;background:#eee9e1;border-radius:4px;padding:3px 5px;white-space:nowrap}.pill.assigned{color:#276747;background:#e2f0e8}.map{flex:1;min-width:0;overflow:hidden;position:relative;background:white;touch-action:none}svg{width:100%;height:100%;background:white;cursor:grab}.num{paint-order:stroke;stroke:white;stroke-width:2;stroke-linejoin:round;fill:#111;font-weight:600}.badge{paint-order:stroke;stroke:white;stroke-width:4;font-weight:800}#tip{position:absolute;bottom:18px;left:16px;max-width:85%;background:#fffffff2;border:1px solid #ddd;padding:9px 12px;font-size:12px;max-height:110px;overflow:auto;border-radius:6px}.scale{position:absolute;right:18px;top:18px;background:white;padding:7px;font-size:10px;border-bottom:2px solid #222}footer{font-size:11px;color:#6c7580;padding:10px 24px}.assignment{background:#f5f6f8;border-radius:7px;padding:12px;margin:15px 0}.assignment strong{font-size:14px}.assignment button{display:block;margin-top:12px;font-size:13px}details.addresses{margin:15px 0;font-size:13px;cursor:pointer}details.addresses div{font-size:12px;margin:5px 0}.small{font-size:12px!important;color:#637080}dialog{border:0;border-radius:12px;box-shadow:0 20px 80px #0005;width:520px;max-width:95vw;padding:25px;max-height:90dvh}dialog::backdrop{background:#15203388}dialog p{font-size:13px;line-height:1.5}dialog label{display:block;font-size:13px;font-weight:600;margin:15px 0}dialog input,dialog select{display:block;width:100%;max-width:none;padding:10px;border:1px solid #c9d1da;border-radius:6px;margin-top:6px}.buttons{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.error{color:#a21f29}#message{padding:10px 24px;background:#fff4d8;font-size:13px}
@media(max-width:800px){header{padding:12px;align-items:start}.eyebrow{font-size:8px;letter-spacing:.5px}h1{font-size:21px}.account{flex-direction:column;align-items:end;gap:5px}.account span{max-width:140px;font-size:11px}nav{padding:10px;gap:7px}nav label{flex:1;min-width:110px}nav label:first-child{flex:0 0 100%}nav label:first-child select{width:100%;max-width:none}nav select{width:100%;max-width:none}.tools{margin-left:0;width:100%;padding-top:2px}.tools button{font-size:12px;padding:7px}main{height:auto;min-height:0;flex-direction:column-reverse}.map{height:60dvh;min-height:350px;flex:none;width:100%}aside{border-right:0;border-top:1px solid #ddd;width:100%;flex:none;max-height:60dvh;padding:16px}.legend{display:inline-flex;width:49%;vertical-align:top}footer{padding:10px;font-size:10px}}
@media print{header,nav,aside,footer,#message,#tip,.scale{display:none!important}main{height:94vh;min-height:0}.map{height:94vh;flex:1}svg{cursor:default}@page{size:A4 landscape;margin:8mm}}
#collection-dates{margin:4px 0 0;font-size:18px;font-weight:600}.num{text-anchor:middle;paint-order:stroke;stroke:#fff;stroke-width:2px;stroke-linejoin:round;fill:#17242c;cursor:pointer;pointer-events:all}.num.flyer{text-decoration:underline;stroke:#fff4cf}.num.excluded{fill:#777;text-decoration:line-through}.address-checklist{max-height:38vh;overflow:auto;border:1px solid #ddd;padding:8px}.address-check{display:flex!important;flex-direction:row!important;align-items:start;gap:8px;font-size:13px}.address-check input{width:auto!important;flex:none}.matches:empty{display:none}.matches{max-height:180px;overflow:auto;border:1px solid #ccc}.matches button{display:block;width:100%;text-align:left;padding:8px;border:0;border-radius:0}.matches button:hover{background:#eef2f8}.address-row{display:block;width:100%;text-align:left;font-size:12px;padding:6px;border:0;border-bottom:1px solid #eee}.address-row:hover{background:#eef2f8}dialog{max-width:min(680px,94vw)}.tools{flex-wrap:wrap}#first-linked,#second-linked{display:block}#selection{pointer-events:none}@media(max-width:700px){nav{gap:8px}nav label{flex:1;min-width:100px}.tools{width:100%;display:flex;gap:4px}.tools button{font-size:12px;padding:6px}#collection-dates{font-size:15px}dialog{padding:16px}main{grid-template-columns:1fr!important}.map{min-height:65vh}.address-checklist{max-height:35vh}}@media print{.tools,#block-select,#address-list,#copy-year,#year-settings,dialog,.account{display:none!important}}
@media(min-width:801px){nav label:first-child select{width:95px}nav label:nth-child(2) select{width:260px}main{height:calc(100dvh - 285px)}}
