:root{--color-bg: #1a1814;--color-surface: #252119;--color-surface-elevated: #2f2a22;--color-border: #3d362d;--color-text: #e8e4de;--color-text-muted: #9a9389;--color-accent: #c9a227;--color-accent-hover: #ddb83a;--color-error: #c44;--font-serif: "Crimson Pro", Georgia, serif;--font-sans: "Source Sans 3", system-ui, sans-serif;--radius: 6px}*{box-sizing:border-box}body{margin:0;font-family:var(--font-sans);font-size:16px;line-height:1.5;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-serif);font-weight:600;margin:0 0 .5em}h1{font-size:1.75rem}h2{font-size:1.35rem}h3{font-size:1.1rem}a{color:var(--color-accent);text-decoration:none}a:hover{color:var(--color-accent-hover);text-decoration:underline}a.active{color:var(--color-accent);font-weight:500}input,textarea,select,button{font-family:inherit;font-size:1rem}button{cursor:pointer;background:var(--color-accent);color:var(--color-bg);border:none;padding:.5rem 1rem;border-radius:var(--radius);font-weight:500}button:hover{background:var(--color-accent-hover)}button.secondary{background:var(--color-surface-elevated);color:var(--color-text)}button.secondary:hover{background:var(--color-border)}button.danger{background:var(--color-error)}button:disabled{opacity:.6;cursor:not-allowed}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.25rem;color:var(--color-text-muted);font-size:.9rem}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.5rem .75rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-accent)}.typeahead{position:relative}.typeahead-results{position:absolute;z-index:20;top:calc(100% + .25rem);left:0;right:0;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden;box-shadow:0 10px 24px #00000047}.typeahead-option{display:block;width:100%;padding:.65rem .75rem;text-align:left;background:transparent;color:var(--color-text);border:none;border-radius:0;border-bottom:1px solid var(--color-border)}.typeahead-option:last-child{border-bottom:none}.typeahead-option:hover{background:var(--color-surface)}.typeahead-meta,.typeahead-empty{font-size:.9rem;color:var(--color-text-muted)}.typeahead-empty{padding:.65rem .75rem}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.25rem}.stoplist-manual+.stoplist-manual{margin-top:1.5rem}.stoplist-manual-header{margin-bottom:.75rem;padding:.45rem .75rem;border-left:3px solid var(--color-accent);background:var(--color-surface-elevated);color:var(--color-text);font-family:var(--font-serif);font-size:1rem;font-weight:600;border-radius:var(--radius)}.stoplist-table{width:max-content;border-collapse:collapse}.stoplist-row td{padding:.4rem .25rem;text-align:left;vertical-align:baseline}.stoplist-row td:first-child{padding-right:.5rem}.stoplist-row td{border-top:1px solid var(--color-border)}.stoplist-name{white-space:nowrap}.stoplist-pitch{color:var(--color-text-muted);text-align:left;white-space:nowrap}.empty-state{text-align:center;padding:2rem;color:var(--color-text-muted)}.registration-stops{margin-bottom:1rem}.registration-stops label:first-child{display:block;margin-bottom:.5rem;color:var(--color-text-muted);font-size:.9rem}.registration-stops-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}@media (max-width: 600px){.registration-stops-grid{grid-template-columns:1fr}}.registration-stops-column{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.registration-stops-manual-header{padding:.5rem .75rem;background:var(--color-surface);border-bottom:1px solid var(--color-border);font-weight:600;font-size:.95rem}.registration-stops-list{padding:.5rem;max-height:280px;overflow-y:auto}.registration-stop-row{display:flex;align-items:center;gap:.5rem;padding:.35rem 0;cursor:pointer;font-size:.9rem}.registration-stop-row--disabled{opacity:.5;cursor:not-allowed;color:var(--color-text-muted)}.registration-stop-row--disabled .registration-stop-caption{color:var(--color-text-muted)}.registration-stop-row input[type=checkbox]{width:auto;flex-shrink:0}.registration-stop-caption{flex:1}
