:root{--scbv-maroon: #7a1f1f;--scbv-maroon-dark: #5c1515;--scbv-green: #2e8b3d;--scbv-green-dark: #226b2f;--scbv-bg: #f7f6f4;--scbv-surface: #ffffff;--scbv-text: #1f2223;--scbv-muted: #6b7280;--scbv-border: #e2e0dc;--scbv-danger: #b3261e;--scbv-radius: 10px;--scbv-gap: 16px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--scbv-bg);color:var(--scbv-text);line-height:1.5}.app-shell{max-width:720px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column}.app-header{display:flex;align-items:center;gap:12px;padding:16px;background:var(--scbv-maroon);color:#fff}.app-header img{width:44px;height:44px}.app-header h1{font-size:1.1rem;margin:0;font-weight:600}.app-home-link{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}.app-home-link:hover h1{text-decoration:underline}.app-main{flex:1;padding:var(--scbv-gap)}.app-footer{padding:12px 16px;font-size:.75rem;color:var(--scbv-muted);text-align:center}.app-footer a{color:var(--scbv-muted)}.card{background:var(--scbv-surface);border:1px solid var(--scbv-border);border-radius:var(--scbv-radius);padding:var(--scbv-gap);margin-bottom:var(--scbv-gap)}.field{margin-bottom:14px;display:flex;flex-direction:column;gap:4px}.field label{font-weight:600;font-size:.9rem}.field-inline{flex-direction:row;align-items:baseline;gap:10px;margin-bottom:8px}.field-inline label{white-space:nowrap}.field-inline input{flex:1;min-width:0}input,select,button{font:inherit}input[type=text],input[type=number],input[type=datetime-local],input[type=password],select{width:100%;padding:10px 12px;border:1px solid var(--scbv-border);border-radius:8px;background:#fff}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border:none;border-radius:8px;background:var(--scbv-green);color:#fff;font-weight:600;cursor:pointer;min-height:44px}.btn:hover{background:var(--scbv-green-dark)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:var(--scbv-maroon)}.btn-secondary:hover{background:var(--scbv-maroon-dark)}.btn-ghost{background:transparent;color:var(--scbv-maroon);border:1px solid var(--scbv-border)}.field-error{color:var(--scbv-danger);font-size:.82rem}.notice{padding:10px 12px;border-radius:8px;background:#fdecea;color:var(--scbv-danger);font-size:.9rem}.muted{color:var(--scbv-muted)}.autocomplete-list{list-style:none;margin:4px 0 0;padding:0;border:1px solid var(--scbv-border);border-radius:8px;overflow:hidden;background:#fff}.autocomplete-list li{border-bottom:1px solid var(--scbv-border)}.autocomplete-list li:last-child{border-bottom:none}.autocomplete-list .btn-ghost{width:100%;border:none;border-radius:0;text-align:left;padding:10px 12px;min-height:44px}.copy-link{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.copy-link input{flex:1 1 60%;min-width:0}.btn-icon{flex:none;width:44px;padding:0;gap:0;font-size:1.1rem;line-height:1}.btn-whatsapp{background:#25d366}.btn-whatsapp:hover{background:#1da851}.copy-link-hint{flex:1 1 100%;font-size:.82rem}h2{margin-top:0;color:var(--scbv-maroon);font-size:1.15rem}fieldset.card{border:1px solid var(--scbv-border)}fieldset.card legend{font-weight:600;color:var(--scbv-maroon);padding:0 6px}.checkbox{display:flex;align-items:center;gap:8px;font-size:.9rem}.checkbox input{width:auto}.assign-list{list-style:none;padding:0;margin:8px 0 0}.assign-list li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 0}h3{margin-top:0;font-size:1rem;color:var(--scbv-maroon)}h4{margin:14px 0 4px;font-size:.9rem;color:var(--scbv-text)}.assign-list.nested{margin:4px 0 0 12px;border-left:2px solid var(--scbv-border);padding-left:10px}.assign-list.nested li{border-bottom:none;padding:4px 0}.assign-list li.driver-row{flex-direction:column;align-items:flex-start;justify-content:flex-start;width:100%;text-align:left}.roster-list{list-style:none;padding:0;margin:4px 0 0}.roster-list li{padding:3px 0;text-align:left}.roster-group{margin-bottom:8px}.roster-group h5{margin:6px 0 2px;font-size:.8rem;color:var(--scbv-muted);text-transform:uppercase;letter-spacing:.02em}.roster-dir+.roster-dir{margin-top:14px;padding-top:14px;border-top:1px solid var(--scbv-border)}.roster-dir-title{margin:0 0 6px;color:var(--scbv-maroon)}.admin-view,.admin-view .card,.admin-view h3,.admin-view h4,.admin-view h5,.admin-view p,.admin-view li,.admin-view legend,.user-view,.user-view .card,.user-view h3,.user-view h4,.user-view h5,.user-view p,.user-view li,.user-view legend{text-align:left}.user-view .role-choice,.user-view .stepper input{text-align:center}.user-view .row-actions+.card{margin-top:var(--scbv-gap)}.roster-dir{margin-top:8px}.roster-dir h4{margin:12px 0 4px}.roster-group h5{margin:8px 0 2px;font-size:.85rem;color:var(--scbv-muted)}.event-header h2{margin-bottom:8px}.event-facts{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:0}.event-facts dt{font-weight:600;white-space:nowrap}.event-facts dd{margin:0}.role-choices{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:8px}.role-choice{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 8px;border:2px solid var(--scbv-border);border-radius:var(--scbv-radius);background:#fff;cursor:pointer;font-weight:600;font-size:.85rem;text-align:center;color:var(--scbv-text);min-height:84px}.role-choice:hover{border-color:var(--scbv-green)}.role-choice.selected{border-color:var(--scbv-green);background:#eef7ef}.role-emoji{font-size:1.6rem;line-height:1}.role-detail{margin-top:12px;padding-top:12px;border-top:1px solid var(--scbv-border)}.trip-section{border:1px solid var(--scbv-border);border-radius:10px;padding:12px;margin-top:12px;background:#fafbfc}.trip-section-title{margin:0 0 10px;padding:6px 10px;border-radius:8px;font-size:.82rem;letter-spacing:.02em;text-transform:uppercase}.trip-section-hin{background:#f6faf7;border-color:#bfe0c7}.trip-section-hin .trip-section-title{background:#e7f3ea;color:var(--scbv-green-dark)}.trip-section-rueck{background:#fbf7f7;border-color:#e3cccc}.trip-section-rueck .trip-section-title{background:#f4e9e9;color:var(--scbv-maroon)}.trip-section .trip-section-title:not(.trip-section-hin .trip-section-title):not(.trip-section-rueck .trip-section-title){color:var(--scbv-muted)}.trip-config>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:flex-start;gap:10px;text-align:left}.trip-config>summary::-webkit-details-marker{display:none}.trip-config>summary:before{content:"▸";color:var(--scbv-maroon);font-size:1rem;line-height:1;flex:none}.trip-config[open]>summary:before{content:"▾"}.trip-config-title{font-weight:700;color:var(--scbv-maroon);font-size:1rem;text-align:left}.trip-config-digest{margin-left:auto;color:var(--scbv-muted);font-size:.86rem;font-weight:600;text-align:right}.row-actions-compact{margin-top:14px}.row-actions-compact .btn{padding:8px 14px;min-height:38px;font-size:.9rem}.roster-dir-details{border:1px solid var(--scbv-border);border-radius:10px;margin-top:12px;padding:0 12px 10px}.roster-dir-details>summary{list-style:none;cursor:pointer;margin:0 -12px;padding:8px 12px;border-radius:10px 10px 0 0;font-weight:700;font-size:.86rem;text-transform:uppercase;letter-spacing:.02em}.roster-dir-details>summary::-webkit-details-marker{display:none}.roster-dir-details>summary:before{content:"▸ ";font-size:.8rem}.roster-dir-details[open]>summary:before{content:"▾ "}.roster-dir-hin{border-color:#bfe0c7}.roster-dir-hin>summary{background:#e7f3ea;color:var(--scbv-green-dark)}.roster-dir-rueck{border-color:#e3cccc}.roster-dir-rueck>summary{background:#f4e9e9;color:var(--scbv-maroon)}.segmented{display:inline-flex;gap:8px;flex-wrap:wrap}.segmented-option{padding:7px 16px;border:1px solid var(--scbv-border);border-radius:999px;background:#fff;color:var(--scbv-muted);font-size:.88rem;font-weight:600;cursor:pointer;min-height:36px}.segmented-option.selected{border-color:var(--scbv-green);background:#eef7ef;color:var(--scbv-text)}.pickup-privacy-note{margin:6px 0 0;padding:8px 10px;border-radius:8px;background:#fff6e5;border:1px solid #f0d8a0;color:#7a5200;font-size:.82rem}.pax-line{display:flex;flex-direction:column;gap:1px}.pickup-subtitle{font-size:.78rem;color:var(--scbv-muted)}.split-return-toggle{display:flex;align-items:center;gap:8px;margin:12px 2px 0;font-size:.84rem;color:var(--scbv-muted);cursor:pointer}.split-return-toggle input{width:auto}.subcard{border:1px solid var(--scbv-border);border-radius:8px;padding:12px;margin:0 0 12px}.subcard legend{font-weight:600;color:var(--scbv-maroon);padding:0 6px}.stepper{display:flex;align-items:stretch;gap:8px;max-width:200px}.stepper .btn-ghost{width:44px;min-height:44px;font-size:1.3rem;padding:0;display:flex;align-items:center;justify-content:center}.stepper input{text-align:center;width:72px}.btn-block{width:100%}.btn-half{flex:1 1 0;min-width:8rem}.success-note{padding:10px 12px;border-radius:8px;background:#eef7ef;color:var(--scbv-green-dark);font-size:.9rem;margin-bottom:var(--scbv-gap)}.row-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.totals{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.pill{display:inline-block;padding:3px 10px;border-radius:999px;background:#f0efec;font-size:.8rem;font-weight:600}.pill-accent{background:#eef7ef;color:var(--scbv-green-dark)}.btn-sm{padding:4px 10px;min-height:32px;font-size:.82rem}.driver-name{font-weight:600}.seat-badge{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.seat-pill-free{background:#eef7ef;color:var(--scbv-green-dark)}.seat-pill-full{background:#fdecec;color:var(--scbv-danger)}.seat-dots{display:inline-flex;gap:4px}.seat-dot{width:10px;height:10px;border-radius:999px;border:1px solid var(--scbv-border)}.seat-dot-taken{background:var(--scbv-green);border-color:var(--scbv-green)}.seat-dot-free{background:var(--scbv-surface)}.driver-head{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%}.roster-unassigned{margin-top:10px;padding:10px 12px;border-radius:var(--scbv-radius);background:#fffdf5;border:1px solid #f0e3b8}.roster-unassigned h5{margin:0 0 4px;color:#8a6d00}.user-roster .assign-list.nested,.admin-roster .assign-list.nested{border-left:none;margin-left:0;padding-left:18px}.user-roster .assign-list li,.user-roster .assign-list.nested li{justify-content:flex-start;gap:6px;padding:3px 0}.admin-roster .assign-list.nested li{gap:6px;padding:3px 0}.assign-select{width:auto;max-width:100%;padding:8px 34px 8px 14px;border:1px solid #d8c6c6;border-radius:999px;background-color:#fff;color:var(--scbv-maroon);font-weight:600;font-size:.86rem;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%237a1f1f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;transition:border-color .15s ease,box-shadow .15s ease}.assign-select:hover:not(:disabled){border-color:var(--scbv-green)}.assign-select:focus-visible{outline:none;border-color:var(--scbv-green);box-shadow:0 0 0 3px #2e8b3d2e}.assign-select:disabled{opacity:.6;cursor:not-allowed}.assign-remove{flex:none;padding:4px 12px;border:none;border-radius:999px;background:#fdecec;color:var(--scbv-danger);font-weight:600;font-size:.78rem;cursor:pointer;white-space:nowrap;transition:background .15s ease}.assign-remove:hover:not(:disabled){background:#f8d7d7}.assign-remove:focus-visible{outline:none;box-shadow:0 0 0 3px #b3261e2e}.assign-remove:disabled{opacity:.55;cursor:not-allowed}.assign-add{flex:none;padding:4px 12px;border:none;border-radius:999px;background:#eef7ef;color:var(--scbv-green-dark);font-weight:600;font-size:.78rem;cursor:pointer;white-space:nowrap;transition:background .15s ease}.assign-add:hover:not(:disabled){background:#dcefdd}.assign-add:focus-visible{outline:none;box-shadow:0 0 0 3px #2e8b3d2e}.assign-add:disabled{opacity:.55;cursor:not-allowed}.assign-list select{max-width:60%}@media(max-width:380px){.role-choices{grid-template-columns:1fr}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;padding:16px;z-index:1000}.modal{background:#fff;border-radius:var(--scbv-radius);padding:20px;max-width:420px;width:100%;box-shadow:0 10px 30px #0003}.modal p{margin-top:0}.notice-warning{padding:10px 12px;border-radius:8px;background:#fff6e5;border:1px solid #f0d8a0;color:#7a5200;font-size:.88rem;margin-bottom:var(--scbv-gap)}.notice-dismiss{display:inline-flex;align-items:center;gap:4px;margin-top:8px;font-size:.82rem;cursor:pointer}.default-value{padding:10px 12px;border:1px solid var(--scbv-border);border-radius:8px;background:#f7f5f1;color:#333}.btn-link{align-self:flex-start;margin-top:6px;padding:0;border:none;background:none;color:var(--scbv-maroon);font-weight:600;font-size:.85rem;text-decoration:underline;cursor:pointer}.btn-link:hover{color:var(--scbv-maroon-dark)}.btn-link-right{display:block;align-self:flex-end;margin-left:auto;margin-top:6px}.event-history{list-style:none;padding:0;margin:8px 0 0}.my-events>summary{cursor:pointer;font-weight:600;color:var(--scbv-maroon);font-size:1rem}.my-events>summary::-webkit-details-marker{color:var(--scbv-maroon)}.event-history-row{border-top:1px solid var(--scbv-border);padding:8px 0}.event-history-row:first-child{border-top:none}.event-row-main{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap}.event-row-title{font-weight:600;color:var(--scbv-maroon);text-decoration:none}.event-row-title:hover{text-decoration:underline}.event-row-date{font-size:.82rem}.event-row-links>summary{cursor:pointer;font-size:.82rem;color:var(--scbv-green-dark);margin-top:4px}.event-row-links[open]>summary{margin-bottom:6px}a.btn,a.btn-ghost{text-decoration:none}.title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}.title-row h2{margin:0}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.badge-admin{background:var(--scbv-maroon);color:#fff}.badge-user{background:var(--scbv-green);color:#fff}.event-facts-compact{list-style:none;margin:0;padding:0;font-size:.92rem}.place-fact{padding:6px 0;border-bottom:1px solid var(--scbv-border)}.place-fact:last-child{border-bottom:none}.place-label{font-weight:700}.place-name{font-weight:600}.maps-link{display:inline-block;margin-top:2px;font-size:.82rem;color:var(--scbv-green-dark);text-decoration:none}.maps-link:hover{text-decoration:underline}.last-updated{margin:8px 0 0;font-size:.78rem}.prose h3{margin:16px 0 4px;color:var(--scbv-text);font-size:.95rem}.prose p,.prose ul{font-size:.9rem;line-height:1.55}.prose ul{padding-left:20px}
