/* Scoped to fare components; existing portal modules keep their styles. */
.fare-box{border-top:1px solid #d6e4dd;background:#f7faf8;border-radius:0 0 12px 12px;overflow:hidden}
.fare-box summary{display:flex;align-items:center;gap:10px;cursor:pointer;min-height:52px;padding:14px 20px;color:#00696c;font-weight:600;list-style:none}
.fare-box summary::-webkit-details-marker{display:none}.fare-box summary:after{content:'＋';margin-left:auto}.fare-box[open] summary:after{content:'−'}
.fare-icon{width:22px;height:22px;flex:none;vertical-align:middle}.fare-body{padding:0 20px 20px}.fare-muted{color:#526a64;font-size:13px}.fare-body p{white-space:pre-line}.fare-tabs{display:flex;gap:8px;margin:16px 0}.fare-tabs button{flex:1;min-width:0;border:1px solid #afc9be;border-radius:8px;padding:10px;background:white;color:#145c59;white-space:normal;font:inherit;cursor:pointer;min-height:46px}.fare-tabs button[aria-pressed=true]{background:#006f73;color:white;border-color:#006f73}
.fare-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:14px}.fare-card{background:white;border:1px solid #d5e2da;border-radius:10px;padding:18px;min-width:0;overflow-wrap:anywhere}.fare-card h4{font-size:20px;color:#154a4b;margin:0 0 5px}.fare-basis{display:inline-block;background:#e9f3ee;padding:4px 8px;border-radius:5px;font-size:12px;margin:4px 0}.fare-amenities{display:flex;gap:12px;flex-wrap:wrap;font-size:13px;margin:12px 0}.fare-prices{margin:12px 0 0}.fare-prices div{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #e5ece7;padding:10px 0;align-items:baseline}.fare-prices dt{font-weight:400}.fare-prices dd{margin:0;text-align:right;font-weight:600;white-space:nowrap}.fare-prices div:first-child dd{font-size:22px;color:#006f73}.fare-note{padding:14px;background:#eef4ef;border-radius:8px;margin-top:14px}.fare-body a{display:inline-block;padding-block:10px}.fare-body button:focus-visible,.fare-box summary:focus-visible{outline:3px solid #b47b1c;outline-offset:3px}
.fare-admin{color:#214550}.fare-admin *{box-sizing:border-box}.fare-admin .fare-tools{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:20px}.fare-admin button{min-height:44px}.fare-admin label{display:block;font-size:14px;font-weight:600}.fare-admin input:not([type=checkbox]),.fare-admin select,.fare-admin textarea{display:block;width:100%;min-width:0;padding:10px;border:1px solid #bdcfd4;border-radius:7px;font:inherit;background:white;color:#214550}.fare-admin textarea{min-height:80px}.fare-admin .fare-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.fare-admin fieldset{border:1px solid #cfdee3;border-radius:12px;padding:18px;margin:18px 0;background:white;min-width:0}.fare-admin legend{float:none;width:auto;font-size:18px;font-weight:600;padding:0 6px}.fare-admin .fare-check{display:flex;gap:10px;align-items:center;font-weight:400;margin:8px 0}.fare-admin .fare-check input{width:18px;height:18px;flex:none}.fare-admin .fare-selection{max-height:240px;overflow:auto}.fare-admin .fare-edit-row{padding:16px;background:#f3f7f8;border-radius:9px;margin:14px 0}.fare-admin .fare-error{background:#fff0ed;border-left:4px solid #b64231;padding:14px;white-space:pre-line}.fare-admin .fare-save{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.fare-admin .fare-row-head{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:12px}.fare-admin .fare-status{border-radius:20px;background:#e6f0ec;padding:3px 9px;font-size:12px}.fare-admin .fare-list{display:grid;gap:12px}.fare-admin .fare-list article{background:white;padding:18px;border:1px solid #d0e0e2;border-radius:10px;overflow-wrap:anywhere}.fare-admin .fare-list h3{font-size:18px}.fare-admin .fare-muted{margin:8px 0}
@media(max-width:600px){.fare-body{padding:0 12px 14px}.fare-box summary{padding:12px}.fare-card{padding:14px}.fare-admin .fare-grid{grid-template-columns:1fr}.fare-admin .fare-save button,.fare-admin .fare-tools button{flex:1}.fare-tabs button{font-size:14px}.fare-admin fieldset{padding:12px}}
.fare-admin .fare-vehicle-row{padding:18px;border:1px solid #c4d9db;border-left:4px solid #007f80;border-radius:10px;background:#f5faf9;margin:16px 0}
.fare-admin .fare-vehicle-fields{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:16px;align-items:start}
.fare-admin .fare-vehicle-fields label{min-width:0}.fare-admin .fare-vehicle-fields small{display:block;font-weight:400;margin-top:6px;color:#526a64}
@media(max-width:700px){.fare-admin .fare-vehicle-fields{grid-template-columns:1fr}.fare-admin .fare-vehicle-row{padding:14px}}
@media print{.fare-tabs{display:none}.fare-box{break-inside:avoid}}
