.services-page{min-height:100vh;background:#090c0e}.map-nav{margin-bottom:0}.nav-links .active{color:var(--orange)}
.services-shell{padding:58px 0 80px}.services-heading{display:flex;justify-content:space-between;gap:35px;align-items:end;margin-bottom:28px}.services-title{font-size:clamp(3.4rem,8vw,6.6rem);margin:.05em 0;line-height:.88}.services-subtitle{color:var(--muted);font-size:1.08rem;margin:18px 0 0}
.settlement-status{min-width:250px;border:1px solid #39444a;background:#11171a;padding:15px 18px;display:flex;align-items:center;gap:13px}.settlement-status strong,.settlement-status span{display:block}.settlement-status span{color:#aeb6ba;font-size:.82rem}.status-pulse{width:11px;height:11px;border-radius:50%;background:#6dcf58;box-shadow:0 0 0 5px rgba(109,207,88,.09)}
.settlement-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.65fr);gap:18px;align-items:start}.settlement-map-card,.service-directory,.service-detail{border:1px solid #303940;background:#0f1417}.settlement-map-head{min-height:64px;display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid #303940}.settlement-map-head .terminal-title{margin:0 0 3px}.settlement-map-head strong{font-size:.93rem}.settlement-map-head button{border:1px solid #4d5960;background:#151b1f;color:#fff;padding:9px 12px;font-weight:800;cursor:pointer}.settlement-map-head button:hover{border-color:var(--orange);color:var(--orange)}
.settlement-map{position:relative;overflow:hidden;background:#13181b;aspect-ratio:1460/695}.settlement-map>img{display:block;width:100%;height:100%;object-fit:cover;user-select:none}.settlement-markers{position:absolute;inset:0}.settlement-marker{position:absolute;transform:translate(-50%,-50%);background:transparent;border:0;color:#fff;cursor:pointer;z-index:2;padding:0}.settlement-marker-icon{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;border:2px solid #fff;background:#f28a1a;color:#111;font-weight:900;box-shadow:0 3px 12px rgba(0,0,0,.75)}.settlement-marker.planned .settlement-marker-icon{background:#555f65;color:#fff}.settlement-marker-name{position:absolute;top:35px;left:50%;transform:translateX(-50%);white-space:nowrap;background:#000;border:1px solid #fff;color:#fff;padding:3px 7px;font-size:.68rem;font-weight:800;opacity:0;visibility:hidden;pointer-events:none;z-index:10001;transition:opacity .12s ease}.settlement-marker{z-index:10}.settlement-marker:hover,.settlement-marker:focus-visible,.settlement-marker.selected{z-index:10000}.settlement-marker:hover .settlement-marker-name,.settlement-marker:focus-visible .settlement-marker-name,.settlement-marker.selected .settlement-marker-name{opacity:1;visibility:visible}.settlement-marker.selected .settlement-marker-icon{outline:3px solid rgba(242,138,26,.42);transform:scale(1.12)}.map-disclaimer{margin:0;padding:10px 14px;color:#879096;font-size:.76rem;border-top:1px solid #252d32}
.service-directory{max-height:625px;overflow:auto}.directory-head{position:sticky;top:0;background:#11171a;padding:15px;border-bottom:1px solid #303940;z-index:2}.directory-head .terminal-title{margin:0 0 3px}.directory-item{width:100%;display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;text-align:left;border:0;border-bottom:1px solid #262e33;background:#101518;color:#fff;padding:12px;cursor:pointer}.directory-item:hover,.directory-item.selected{background:#171e22}.directory-item.selected{box-shadow:inset 3px 0 var(--orange)}.dir-icon{width:32px;height:32px;display:grid;place-items:center;background:#f28a1a;color:#111;font-weight:900}.directory-item.planned .dir-icon{background:#566067;color:#fff}.directory-item strong,.directory-item small{display:block}.directory-item small{color:#9ea7ab;font-size:.73rem;line-height:1.35;margin-top:2px}.directory-item em{font-style:normal;font-size:.62rem;font-weight:900;letter-spacing:.08em;color:#7ed768}.directory-item.planned em{color:#a6afb3}
.service-detail{margin-top:18px;padding:28px}.detail-empty{max-width:720px}.detail-empty p:last-child,.detail-top p{color:var(--muted)}.detail-top{display:grid;grid-template-columns:1fr 90px;gap:30px;align-items:start}.detail-top h2{font-size:clamp(2rem,4vw,3.4rem)}.detail-icon{width:82px;height:82px;display:grid;place-items:center;background:var(--orange);color:#111;font-size:2.1rem;font-weight:900}.detail-bottom{display:grid;grid-template-columns:.7fr 1.3fr;gap:35px;padding-top:22px;margin-top:20px;border-top:1px solid #303940}.detail-bottom h3{margin-top:0}.detail-bottom ul{padding-left:20px;color:#c0c7ca}.service-note{border-left:3px solid var(--orange);padding-left:12px}.service-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.service-action{display:flex;justify-content:space-between;align-items:center;gap:10px;text-decoration:none;border:1px solid #414b51;background:#171d21;padding:12px 13px;font-weight:800}.service-action:hover{border-color:var(--orange);background:#1c2226}.service-action small{font-size:.66rem;color:#8f989d;font-weight:700;text-align:right}.coming-soon-box{border:1px dashed #485259;color:#aab2b6;padding:14px;background:#111619}.services-note-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.services-note-grid .terminal-card{margin:0}
@media(max-width:900px){.services-heading{align-items:flex-start;flex-direction:column}.settlement-layout{grid-template-columns:1fr}.service-directory{max-height:none}.detail-bottom{grid-template-columns:1fr}.service-actions{grid-template-columns:1fr}}
@media(max-width:600px){.services-shell{padding-top:35px}.services-title{font-size:3.3rem}.settlement-marker-icon{width:26px;height:26px;font-size:.75rem}.settlement-marker-name{display:none}.services-note-grid{grid-template-columns:1fr}.service-detail{padding:20px}.detail-top{grid-template-columns:1fr}.detail-icon{display:none}}


/* Authenticated Junction web services */
.services-head-actions{display:grid;gap:10px;justify-items:stretch;min-width:260px}
.web-account{border:1px solid #303941;background:#0f1417;padding:11px 13px;display:grid;gap:3px;text-align:left}
.web-account strong,.web-account-state{color:#f4f1ea;font-weight:800;font-size:.85rem}
.web-account small{color:#9eabb4;font-size:.7rem}
.web-login{display:inline-block;background:#ff8c13;color:#090b0d;text-decoration:none;font-weight:900;padding:9px 12px;text-align:center}
.web-login:hover{filter:brightness(1.08)}
.web-logout{color:#ff9b34;font-size:.7rem;text-decoration:none;margin-top:2px}
.web-service-action{width:100%;font:inherit;text-align:left;cursor:pointer}
.web-service-action:disabled{opacity:.42;cursor:not-allowed;filter:none}
.laundry-login-note{border:1px solid #303941;background:#0b0f11;color:#b9c4ca;padding:10px 12px;font-size:.78rem;line-height:1.45;margin-bottom:10px}
.service-result{margin-top:10px;border:1px solid #3b4650;background:#0b0f11;padding:11px 12px;font-size:.8rem;line-height:1.45;color:#dfe6e9}
.service-result.success{border-color:#52b788;color:#c8f5db}
.service-result.error{border-color:#c95b5b;color:#ffd0d0}
.service-result.warning{border-color:#d79a32;color:#ffe2ad}
.service-result.working{border-color:#4b91c9;color:#cdeaff}
@media(max-width:800px){.services-head-actions{min-width:0;width:100%}}

/* Junction Cafe website ordering */
.cafe-web-panel{min-width:0}
.cafe-placeholder{border:1px solid #303941;background:#0b0f11;color:#9facb2;padding:14px;font-size:.8rem}
.cafe-placeholder.cafe-error{border-color:#c95b5b;color:#ffd0d0}
.cafe-category{margin-top:12px}
.cafe-category h4{margin:0 0 7px;color:#f2f4f5;font-size:.82rem;letter-spacing:.08em}
.cafe-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.cafe-item{display:block;border:1px solid #384249;background:#141a1e;cursor:pointer}
.cafe-item:hover,.cafe-item.selected{border-color:var(--orange);background:#1b2226}
.cafe-item input{position:absolute;opacity:0;pointer-events:none}
.cafe-item span{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 11px}
.cafe-item strong{font-size:.77rem}
.cafe-item small{color:#aab3b8;font-size:.7rem;white-space:nowrap}
.cafe-order-bar{display:grid;grid-template-columns:1fr minmax(220px,.9fr);gap:10px;align-items:stretch;margin-top:14px;padding-top:12px;border-top:1px solid #303940}
.cafe-order-bar>div{display:flex;flex-direction:column;justify-content:center;border:1px solid #303941;background:#0b0f11;padding:9px 11px}
.cafe-order-bar>div strong{font-size:.78rem}.cafe-order-bar>div small{color:#aab3b8;margin-top:3px}
.cafe-order-button{justify-content:space-between}
@media(max-width:900px){.cafe-items{grid-template-columns:1fr}.cafe-order-bar{grid-template-columns:1fr}}


/* Sponsor Collection website controls */
.sponsor-web-panel{min-width:0}
.sponsor-placeholder,.sponsor-empty{border:1px solid #303941;background:#0b0f11;color:#aeb9be;padding:14px;font-size:.8rem}
.sponsor-placeholder.sponsor-error{border-color:#c95b5b;color:#ffd0d0}
.sponsor-empty{display:grid;gap:6px}.sponsor-empty strong{color:#f4f1ea;font-size:.9rem}.sponsor-empty a{color:var(--orange);font-weight:800;text-decoration:none;margin-top:4px}
.sponsor-order-card{border:1px solid #384249;background:#11171a;padding:13px}
.sponsor-order-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding-bottom:10px;border-bottom:1px solid #303940}
.sponsor-order-head div{display:grid;gap:3px}.sponsor-order-head small{color:#8f9aa0;font-size:.67rem;font-weight:800;letter-spacing:.08em}.sponsor-order-head strong{font-size:1rem;color:#f4f1ea}.sponsor-order-head b{color:#ffad58;font-size:.78rem;text-align:right}
.sponsor-items{list-style:none!important;padding:0!important;margin:10px 0!important;display:grid;gap:5px}.sponsor-items li{display:flex;justify-content:space-between;gap:12px;background:#0c1113;border:1px solid #293137;padding:8px 10px;font-size:.76rem}.sponsor-items li strong{color:#ffad58}
.sponsor-order-meta{display:flex;justify-content:space-between;gap:10px;color:#95a0a5;font-size:.68rem;margin-bottom:10px}.sponsor-collect-button{width:100%}
@media(max-width:600px){.sponsor-order-head,.sponsor-order-meta{flex-direction:column}.sponsor-order-head b{text-align:left}}


/* Vehicle registration website controls */
.vehicle-web-panel{min-width:0}.vehicle-placeholder,.vehicle-empty,.vehicle-limit-warning{border:1px solid #303941;background:#0b0f11;color:#aeb9be;padding:14px;font-size:.8rem}.vehicle-placeholder.vehicle-error{border-color:#c95b5b;color:#ffd0d0}.vehicle-registry{display:grid;gap:12px}.vehicle-section-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.vehicle-section-head strong{font-size:.84rem;color:#f4f1ea}.vehicle-section-head small{font-size:.68rem;color:#96a2a8}.vehicle-section-head button{border:1px solid #3b464c;background:#171d21;color:#f4f1ea;padding:6px 10px;font-size:.7rem;font-weight:800;cursor:pointer}.vehicle-section-head button:hover{border-color:var(--orange);color:var(--orange)}.vehicle-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.vehicle-card{border:1px solid #374148;background:#12181b;padding:10px;display:grid;grid-template-columns:1fr auto;gap:5px 12px;align-items:start}.vehicle-card div{display:grid;gap:2px}.vehicle-card small{color:#8f9aa0;font-size:.65rem;text-transform:uppercase;letter-spacing:.06em}.vehicle-card strong{font-size:.84rem}.vehicle-card span{font-size:.68rem;color:#aeb8bd}.vehicle-card em{grid-column:1/-1;font-size:.67rem;color:#9eaaaf;font-style:normal}.vehicle-limits,.vehicle-detected{border:1px solid #303941;background:#0e1316;padding:12px}.vehicle-limit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:9px}.vehicle-limit-grid div{border:1px solid #293137;background:#12181b;padding:8px;display:grid;gap:3px}.vehicle-limit-grid span{font-size:.64rem;color:#939da2}.vehicle-limit-grid b{font-size:.8rem;color:#f4f1ea}.vehicle-detected-main{display:grid;grid-template-columns:1fr minmax(230px,.8fr);gap:10px;margin-top:9px}.vehicle-detected-main>div{border:1px solid #293137;background:#12181b;padding:10px;display:grid;gap:3px}.vehicle-detected-main small{font-size:.65rem;color:#ffad58}.vehicle-detected-main strong{font-size:.9rem}.vehicle-detected-main span{font-size:.69rem;color:#a9b3b8}.vehicle-help{font-size:.7rem;line-height:1.45;color:#9ca8ad;margin:9px 0 0}.vehicle-help.vehicle-warning{color:#ffd39a}.vehicle-limit-warning{border-color:#8b6a32;color:#ffe0ad}
@media(max-width:900px){.vehicle-cards{grid-template-columns:1fr}.vehicle-limit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vehicle-detected-main{grid-template-columns:1fr}}

/* Insurance website controls */
.insurance-section{border-top:1px solid #303941;padding-top:12px;display:grid;gap:10px}.insurance-placeholder{border:1px solid #303941;background:#0b0f11;color:#aeb9be;padding:14px;font-size:.8rem}.insurance-placeholder.insurance-error{border-color:#c95b5b;color:#ffd0d0}.insurance-office-note{padding:9px 11px;border:1px solid #3a454b;background:#0b1012;font-size:.7rem;color:#aeb8bd}.insurance-office-note.ok{border-color:#3f7d56;color:#bce4c7}.insurance-office-note.warn{border-color:#896a34;color:#ffdca6}.insurance-subsection{display:grid;gap:7px}.insurance-subsection h4{margin:0;color:#ffad58;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.insurance-buy-row{display:grid;grid-template-columns:1fr minmax(220px,.6fr);gap:8px;border:1px solid #303941;background:#0f1518;padding:9px}.insurance-buy-row>div{display:grid;gap:3px}.insurance-buy-row strong{font-size:.8rem}.insurance-buy-row small{color:#9aa6ab;font-size:.66rem}.insurance-buy-row button,.insurance-claim-form button{border:1px solid #46535a;background:#182025;color:#f4f1ea;padding:8px 10px;font-weight:800;cursor:pointer}.insurance-buy-row button{display:flex;justify-content:space-between;align-items:center;gap:8px}.insurance-buy-row button small{color:#ffad58}.insurance-buy-row button:hover:not(:disabled),.insurance-claim-form button:hover:not(:disabled){border-color:var(--orange);color:var(--orange)}.insurance-buy-row button:disabled,.insurance-claim-form button:disabled{opacity:.45;cursor:not-allowed}.insurance-policy-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.insurance-policy-card{border:1px solid #303941;background:#101619;padding:10px;display:grid;gap:8px}.insurance-policy-card.active{border-color:#4c6654}.insurance-policy-head{display:flex;justify-content:space-between;gap:10px}.insurance-policy-head>div{display:grid;gap:2px}.insurance-policy-head small{color:#8f9aa0;font-size:.64rem}.insurance-policy-head strong{font-size:.8rem}.insurance-policy-head span{color:#a7b1b6;font-size:.65rem}.insurance-policy-head b{color:#ffad58;font-size:.67rem}.insurance-policy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.insurance-policy-grid span{border:1px solid #293137;background:#0b1012;padding:6px;font-size:.62rem;color:#929da2}.insurance-policy-grid strong{display:block;color:#f4f1ea;margin-top:2px}.insurance-policy-card p{margin:0;color:#9da8ad;font-size:.65rem}.insurance-claim-form{display:grid;gap:7px;border:1px solid #303941;background:#0f1518;padding:10px}.insurance-claim-form select,.insurance-claim-form textarea{width:100%;box-sizing:border-box;background:#0a0f11;border:1px solid #394349;color:#f4f1ea;padding:9px;font:inherit}.insurance-claim-form textarea{min-height:80px;resize:vertical}.insurance-claim-form small{color:#929ea3;font-size:.64rem;line-height:1.4}.insurance-claim-list{display:grid;gap:6px}.insurance-claim-row{display:flex;justify-content:space-between;gap:12px;border:1px solid #303941;background:#101619;padding:9px}.insurance-claim-row>div{display:grid;gap:2px}.insurance-claim-row small{font-size:.63rem;color:#8f9aa0}.insurance-claim-row strong{font-size:.74rem;color:#f4f1ea}.insurance-claim-row span{font-size:.65rem;color:#a5b0b5}.insurance-claim-row b{font-size:.7rem;color:#ffad58;white-space:nowrap}
@media(max-width:900px){.insurance-policy-list{grid-template-columns:1fr}.insurance-buy-row{grid-template-columns:1fr}.insurance-policy-grid{grid-template-columns:1fr 1fr 1fr}}


/* The Junction Lodge website booking */
.lodge-web-panel{min-width:0}.lodge-placeholder{border:1px solid #303941;background:#0b0f11;color:#aeb9be;padding:14px;font-size:.8rem}.lodge-placeholder.lodge-error{border-color:#c95b5b;color:#ffd0d0}.lodge-panel{display:grid;gap:10px}.lodge-section-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.lodge-section-head>div{display:grid;gap:2px}.lodge-section-head strong{font-size:.84rem;color:#f4f1ea}.lodge-section-head small{font-size:.66rem;color:#96a2a8}.lodge-section-head button{border:1px solid #3b464c;background:#171d21;color:#f4f1ea;padding:6px 10px;font-size:.7rem;font-weight:800;cursor:pointer}.lodge-section-head button:hover{border-color:var(--orange);color:var(--orange)}.lodge-room-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.lodge-room{border:1px solid #374148;background:#101619;padding:11px;display:grid;gap:9px}.lodge-room.available{border-color:#3f6650}.lodge-room.your_room{border-color:var(--orange);box-shadow:inset 0 0 0 1px rgba(255,140,19,.12)}.lodge-room.grace{border-color:#8b6a32}.lodge-room.occupied{opacity:.72}.lodge-room-head{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center}.lodge-room-head>span{font-size:1.45rem}.lodge-room-head>div{display:grid;gap:2px}.lodge-room-head strong{font-size:.82rem;color:#f4f1ea}.lodge-room-head small{font-size:.64rem;color:#98a4aa}.lodge-room-head b{font-size:.6rem;letter-spacing:.07em;color:#aab5ba;border:1px solid #39444a;padding:4px 6px}.lodge-room.available .lodge-room-head b{color:#aee2c0;border-color:#406950}.lodge-room.your_room .lodge-room-head b{color:#ffad58;border-color:#8c5b26}.lodge-room.grace .lodge-room-head b{color:#ffe0ad;border-color:#8b6a32}.lodge-plan-buttons{display:grid;grid-template-columns:1fr 1fr;gap:6px}.lodge-plan-buttons button{border:1px solid #46535a;background:#171f23;color:#f4f1ea;padding:8px;display:flex;justify-content:space-between;gap:8px;align-items:center;cursor:pointer;font:inherit}.lodge-plan-buttons button strong{font-size:.68rem}.lodge-plan-buttons button small{font-size:.66rem;color:#ffad58}.lodge-plan-buttons button:hover:not(:disabled){border-color:var(--orange)}.lodge-plan-buttons button:disabled{opacity:.42;cursor:not-allowed}.lodge-my-stay{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.lodge-my-stay span{border:1px solid #293137;background:#0b1012;padding:6px;font-size:.61rem;color:#929da2}.lodge-my-stay strong{display:block;color:#f4f1ea;margin-top:2px;font-size:.66rem}.lodge-current{border:1px solid #4b7758;background:#0d1510;padding:10px 11px;display:grid;gap:3px}.lodge-current.grace{border-color:#8b6a32;background:#17130c}.lodge-current strong{font-size:.76rem;color:#d6f1df}.lodge-current.grace strong{color:#ffe0ad}.lodge-current span{font-size:.66rem;color:#9facb2}.lodge-rules{border:1px solid #303941;background:#0b0f11;padding:10px 11px;display:grid;gap:4px}.lodge-rules strong{color:#ffad58;font-size:.7rem;text-transform:uppercase;letter-spacing:.07em}.lodge-rules span{color:#9ca8ad;font-size:.66rem;line-height:1.4}
@media(max-width:900px){.lodge-room-grid{grid-template-columns:1fr}.lodge-my-stay{grid-template-columns:1fr}}

.lodge-manage{border:1px solid #465159;background:#101619;padding:11px;display:grid;gap:9px}.lodge-manage-head{display:grid;gap:2px}.lodge-manage-head strong{color:#ffad58;font-size:.76rem;text-transform:uppercase;letter-spacing:.06em}.lodge-manage-head small,.lodge-manage p{color:#98a4aa;font-size:.66rem;line-height:1.45;margin:0}.lodge-manage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.lodge-manage-grid button{border:1px solid #46535a;background:#171f23;color:#f4f1ea;padding:9px 10px;display:flex;justify-content:space-between;gap:8px;align-items:center;cursor:pointer;font:inherit}.lodge-manage-grid button strong{font-size:.68rem}.lodge-manage-grid button small{font-size:.64rem;color:#ffad58}.lodge-manage-grid button:hover:not(:disabled){border-color:var(--orange)}.lodge-manage-grid button.checkout.returned{border-color:#47765a}.lodge-manage-grid button.checkout.returned small{color:#aee2c0}.lodge-manage-grid button.checkout.missing{border-color:#7a4a42}.lodge-manage-grid button.checkout.missing small{color:#ffb5aa}.lodge-manage-grid button:disabled{opacity:.45;cursor:not-allowed}@media(max-width:900px){.lodge-manage-grid{grid-template-columns:1fr}}


/* =========================================================
   Junction Services visual polish - v11
   ========================================================= */
.services-page{
  background:
    radial-gradient(circle at 15% -10%,rgba(242,138,26,.08),transparent 29rem),
    linear-gradient(180deg,#090c0e 0%,#070a0c 100%);
}
.services-shell{padding:64px 0 90px}
.services-title{letter-spacing:-.045em;text-shadow:0 8px 28px rgba(0,0,0,.22)}
.services-subtitle{max-width:62ch}

.settlement-status,.web-account,.settlement-map-card,.service-directory,.service-detail,.services-note-grid .terminal-card{
  border-color:#303a40;
  border-radius:12px;
  box-shadow:0 14px 34px rgba(0,0,0,.24);
}
.settlement-status,.web-account{background:linear-gradient(180deg,#12181b,#0d1215)}
.status-pulse{box-shadow:0 0 0 5px rgba(109,207,88,.09),0 0 18px rgba(109,207,88,.28)}

.settlement-map-head,.directory-head{
  background:linear-gradient(180deg,#141b1f,#101518);
  border-bottom-color:#303a40;
}
.settlement-map-head button{border-radius:7px;transition:.16s ease}
.settlement-map-head button:hover{transform:translateY(-1px)}
.map-disclaimer{background:#0c1114}

/* Service icon system */
.dir-icon,.detail-icon,.settlement-marker-icon{overflow:hidden}
.dir-icon svg,.detail-icon svg,.settlement-marker-icon svg{
  width:58%;height:58%;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;
}
.dir-icon{
  width:38px;height:38px;border-radius:9px;
  background:linear-gradient(145deg,#ff9d2c,#e97c0b);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 5px 12px rgba(0,0,0,.22);
}
.directory-item.planned .dir-icon{background:linear-gradient(145deg,#667178,#4e585e)}
.detail-icon{
  border-radius:17px;background:linear-gradient(145deg,#ff9d2c,#e97c0b);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 10px 24px rgba(0,0,0,.25)
}
.detail-icon svg{width:46%;height:46%;stroke-width:1.8}
.settlement-marker-icon{
  width:34px;height:34px;
  background:linear-gradient(145deg,#ffa33b,#ed8210);
  box-shadow:0 5px 16px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.18);
  transition:transform .15s ease,box-shadow .15s ease;
}
.settlement-marker-icon svg{width:56%;height:56%;stroke-width:2}
.settlement-marker.planned .settlement-marker-icon{background:linear-gradient(145deg,#69747b,#4e585e)}
.settlement-marker:hover .settlement-marker-icon,.settlement-marker:focus-visible .settlement-marker-icon{transform:scale(1.08)}
.settlement-marker.selected .settlement-marker-icon{box-shadow:0 0 0 4px rgba(242,138,26,.26),0 6px 18px rgba(0,0,0,.6)}
.settlement-marker-name{border-color:#465159;border-radius:6px;background:#080b0d;padding:4px 7px}

/* Directory cards */
.service-directory{scrollbar-color:#3b464c #0d1215;scrollbar-width:thin}
.directory-item{
  grid-template-columns:46px 1fr auto;gap:12px;padding:13px 12px;
  transition:background .15s ease,transform .15s ease,box-shadow .15s ease;
}
.directory-item:hover{background:#151c20;transform:translateX(2px)}
.directory-item.selected{background:#171f23;box-shadow:inset 3px 0 var(--orange),inset 0 0 0 1px rgba(242,138,26,.07)}
.directory-item strong{font-size:.9rem}
.directory-item small{margin-top:3px;line-height:1.4}
.directory-item em{padding:4px 7px;border-radius:999px;background:rgba(126,215,104,.06);border:1px solid rgba(126,215,104,.16)}
.directory-item.planned em{background:rgba(166,175,179,.05);border-color:rgba(166,175,179,.13)}

/* Detail panel */
.service-detail{padding:30px;background:linear-gradient(180deg,#101518,#0c1114)}
.detail-top{grid-template-columns:1fr 96px}
.detail-top h2{letter-spacing:-.025em}
.detail-bottom{border-top-color:#303a40}
.service-action,.coming-soon-box,.laundry-login-note,.service-result,.cafe-item,.sponsor-order-card,.vehicle-card,.vehicle-limits,.vehicle-detected,.insurance-buy-row,.insurance-policy-card,.insurance-claim-form,.insurance-claim-row,.lodge-room,.lodge-current,.lodge-rules,.lodge-manage{
  border-radius:8px;
}
.service-action{transition:border-color .15s ease,background .15s ease,transform .15s ease}
.service-action:hover{transform:translateY(-1px)}
.services-note-grid .terminal-card{background:linear-gradient(180deg,#101518,#0c1114)}

@media(max-width:600px){
  .directory-item{grid-template-columns:42px 1fr auto}
  .dir-icon{width:34px;height:34px}
  .settlement-marker-icon{width:29px;height:29px}
}
