.sticker-generator .wrap{max-width:1040px}
.sticker-generator .page-header{margin-bottom:28px;padding:26px}
.sticker-generator .app-title{font-size:28px}
.generator-home{font-size:12px;white-space:nowrap}
.generator-section{background:#fffefa;border:1px solid #e1e3d9;border-radius:18px;padding:26px;margin:18px 0}
.generator-section-heading{display:flex;gap:14px;align-items:flex-start;margin-bottom:22px}
.step-number{display:grid;place-items:center;width:30px;height:30px;flex-shrink:0;background:#e9efda;border-radius:50%;font-size:13px;font-weight:700}
.generator-section h2,.preview-toolbar h2{font-size:20px;letter-spacing:-.5px;margin:2px 0 7px}
.generator-section-heading p{margin:0;color:#728074;font-size:13px;line-height:1.6}
.generator-fields{display:grid;grid-template-columns:1fr 1.4fr 1.2fr;gap:18px}
.generator-section label{display:grid;gap:8px;font-size:12px;font-weight:650;color:#365346}
.generator-section input:not([type=checkbox]),.generator-section select{font:inherit;font-size:14px;color:#203e35;background:#fff;border:1px solid #cdd6c8;border-radius:9px;min-height:44px;padding:11px;width:100%;min-width:0}
.generator-section input:focus-visible,.generator-section select:focus-visible{outline:3px solid #327b62;outline-offset:2px}
.selection-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:16px 0 8px;font-size:12px;color:#67776b}
.text-button{border:0;background:none;color:#365b44;text-decoration:underline;padding:10px 12px 10px 0;font-size:12px;min-height:44px}
.text-button:disabled{opacity:.45;cursor:default}
.stop-picker{max-height:390px;overflow-y:auto;border:1px solid #dce1d1;border-radius:12px;padding:4px 14px 12px;overscroll-behavior:contain}
.stop-group{border:0;margin:16px 0 0;padding:0;min-width:0}
.stop-group legend{font-size:12px;font-weight:700;color:#506c5a;line-height:1.5;padding:8px 0}
.generator-section .stop-choice{display:flex;align-items:center;gap:12px;min-height:44px;border-top:1px solid #e9ebe3;font-size:13px;font-weight:500;cursor:pointer;padding:9px 2px}
.stop-choice input{width:18px;height:18px;accent-color:#244a3d;flex-shrink:0}
.stop-choice-name{flex:1}.stop-choice-id{font-size:11px;color:#728074;white-space:nowrap}
.stop-choice:has(input:checked){background:#f0f3e7}
.no-stops,.field-hint{font-size:12px;line-height:1.6;color:#728074}
.field-hint{margin:10px 0 0}.address-field{max-width:100%}
.sheet-settings{margin-top:20px;grid-template-columns:1fr 1fr 1.3fr}
.format-note{display:flex;flex-direction:column;justify-content:center;gap:8px;font-size:13px}
.format-note span{font-size:11px;color:#728074;line-height:1.5}
.generate-row{display:flex;align-items:center;gap:18px;margin-top:16px}
.generator-section .warning{margin:15px 0 0}
.preview-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:32px}
.preview-toolbar p:not(.eyebrow){font-size:13px;color:#728074;line-height:1.5;margin:9px 0 0}
.print-instructions{font-size:12px;line-height:1.8;color:#728074;max-width:760px;margin:16px 0 26px}
.sheet-preview{overflow-x:auto;padding:0 18px 30px}
.sheet-preview:empty{display:none}
.sticker-sheet{--sheet-width:8.5in;--sheet-height:11in;width:var(--sheet-width);height:var(--sheet-height);padding:.3in;margin:0 auto 24px;background:white;color:#111;box-shadow:0 2px 18px #203e3518;font-family:Arial,sans-serif;display:flex;flex-direction:column;justify-content:center;box-sizing:border-box}
.sticker-grid{display:grid;grid-template-columns:repeat(var(--sticker-columns,2),var(--sticker-size,2.5in));grid-auto-rows:var(--sticker-size,2.5in);gap:var(--sticker-row-gap,.125in) var(--sticker-gap,.35in);justify-content:center}
.sticker-cell{width:var(--sticker-size,2.5in);break-inside:avoid;page-break-inside:avoid}
.public-sticker{width:var(--sticker-size,2.5in);height:var(--sticker-size,2.5in);padding:calc(.07in * var(--sticker-scale,1)) calc(.1in * var(--sticker-scale,1));border:1px dashed #777;display:flex;flex-direction:column;align-items:center;text-align:center;box-sizing:border-box;overflow:hidden;background:white;color:#111}
.sticker-brand{font-size:calc(7pt * var(--sticker-scale,1));line-height:1.2;font-weight:700;letter-spacing:.3pt}
.sticker-question{font-size:calc(15pt * var(--sticker-scale,1));letter-spacing:-.5pt;line-height:1.1;font-weight:700;margin:calc(3pt * var(--sticker-scale,1)) 0 calc(2pt * var(--sticker-scale,1))}
.sticker-qr{display:block;flex-shrink:0;width:calc(1.3in * var(--sticker-scale,1));height:calc(1.3in * var(--sticker-scale,1));color:#000}
.sticker-qr svg{display:block;width:100%;height:100%;shape-rendering:crispEdges}
.sticker-public-route{font-size:calc(8pt * var(--sticker-scale,1));line-height:1.2;font-weight:700;margin:calc(2pt * var(--sticker-scale,1)) 0 0;max-width:100%;overflow-wrap:anywhere}
.sticker-public-stop{font-size:calc(7pt * var(--sticker-scale,1));line-height:1.2;margin:calc(2pt * var(--sticker-scale,1)) 0 0;max-width:100%;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.print-empty{display:none}
@media(max-width:680px){.sticker-generator .page-header{align-items:flex-start;gap:18px;flex-wrap:wrap;padding:22px}.sticker-generator .app-title{font-size:25px}.generator-section{padding:20px 16px}.generator-fields,.sheet-settings{grid-template-columns:1fr}.generator-section-heading{gap:10px}.generator-section h2,.preview-toolbar h2{font-size:19px}.selection-toolbar{align-items:flex-start;flex-direction:column;gap:0}.generate-row,.preview-toolbar{align-items:flex-start;flex-direction:column;gap:8px}.generate-row .field-hint{margin:0}.sheet-preview{padding-left:18px;padding-right:18px}.sticker-sheet{margin-left:0}.format-note{padding:4px 0}.print-instructions{margin-bottom:20px}}
@media print{
  html,body.sticker-generator{background:#fff!important;margin:0!important;padding:0!important;color:#000}
  .generator-controls{display:none!important}
  .sheet-preview{display:block;overflow:visible;padding:0;margin:0}
  .sticker-sheet{box-shadow:none;margin:0;break-after:page;page-break-after:always;break-inside:avoid;page-break-inside:avoid;print-color-adjust:exact;-webkit-print-color-adjust:exact}
  .sticker-sheet:last-child{break-after:auto;page-break-after:auto}
  .sticker-generator:not(.has-sheets) .print-empty{display:block;margin:1in;font-size:14pt}
}

.stop-choice-services{display:block;font-size:11px;line-height:1.5;color:#728074;margin-top:4px}.selected-stop{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:12px;border-bottom:1px solid #e9ebe3}#selected-stops{list-style:none;padding:0;margin:10px 0}.selected-stop .text-button{flex-shrink:0}

.example-preview{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:center}.example-copy>p:not(.eyebrow){font-size:13px;line-height:1.7;color:#728074;max-width:520px}.example-link{display:block;overflow-wrap:anywhere;font-size:12px;line-height:1.6;margin-top:12px}.example-sticker .public-sticker{font-family:Arial,sans-serif;box-shadow:0 3px 14px #203e3510}@media(max-width:680px){.example-preview{grid-template-columns:minmax(0,1fr);gap:20px}.example-sticker{justify-self:center}}
.example-sticker{min-width:0;max-width:100%;overflow-x:auto}.sheet-settings .field-hint{margin:0;font-weight:400}
