.facility-service-workspace {
  --facility-ink: #183b36;
  --facility-muted: #6b7a72;
  --facility-line: rgba(24, 59, 54, 0.12);
  --facility-teal: #1f5b61;
  --facility-amber: #c8793c;
  padding: 14px 0 32px;
  color: var(--facility-ink);
}

.facility-kicker { color: var(--facility-muted); font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.facility-location-bar { display:flex; align-items:stretch; flex-direction:column; justify-content:flex-start; gap:8px; margin-bottom:12px; }
.facility-location-bar > div { display:flex; min-width:0; flex-direction:column; gap:4px; }
.facility-location-bar strong { overflow:hidden; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
.facility-select-wrap { position:relative; display:flex; align-items:center; flex-shrink:0; }
.facility-select-wrap { width:100%; }
.facility-select-wrap select { width:100%; min-width:0; appearance:none; border:1px solid var(--facility-line); border-radius:7px; background:#fffdf8; color:var(--facility-ink); cursor:pointer; font-size:13px; font-weight:700; outline:0; padding:9px 44px 9px 10px; }
.facility-select-wrap select:focus { border-color:var(--facility-teal); box-shadow:0 0 0 3px rgba(31,91,97,.12); }
.facility-select-wrap .sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; clip-path:inset(50%); }
.facility-select-wrap > span.material-symbols-outlined { position:absolute; right:10px; display:flex; width:20px; align-items:center; justify-content:center; pointer-events:none; }
.facility-weather { border-radius:8px; color:#fff; padding:15px; }
.facility-weather--rain { background:#1f5b61; } .facility-weather--sun { background:#b96238; } .facility-weather--cloud { background:#586e66; }
.facility-weather__top, .facility-weather__top > div, .facility-weather__metrics, .facility-advice { display:flex; align-items:center; }
.facility-weather__top { justify-content:space-between; gap:12px; }
.facility-weather__top > div { min-width:0; gap:9px; }
.facility-weather__top > div > div { display:flex; min-width:0; flex-direction:column; gap:2px; }
.facility-weather__top strong { font-size:17px; line-height:1.1; } .facility-weather__top small { color:rgba(255,255,255,.76); font-size:10px; }
.facility-weather__top > b { font-size:35px; letter-spacing:-.04em; line-height:1; }
.facility-weather__metrics { flex-wrap:wrap; gap:8px 14px; margin-top:13px; color:rgba(255,255,255,.82); font-size:11px; }
.facility-advice { align-items:flex-start; gap:8px; margin-top:13px; border-top:1px solid rgba(255,255,255,.2); padding-top:11px; }
.facility-advice p { margin:0; color:rgba(255,255,255,.9); font-size:12px; line-height:1.55; } .facility-advice b { display:block; color:#fff; font-size:11px; }
.facility-overview-grid { display:grid; grid-template-columns:1fr 1.08fr; gap:8px; margin-top:8px; }
.facility-overview-card { min-width:0; border:1px solid var(--facility-line); border-radius:8px; background:#fffdf8; padding:12px; }
.facility-overview-card--crowd { background:#eef5ef; } .facility-overview-card--notice { background:#fff6e8; }
.facility-label { display:flex; align-items:center; gap:5px; color:var(--facility-muted); font-size:10px; font-weight:700; } .facility-label em { margin-left:auto; color:var(--facility-amber); font-style:normal; }
.facility-overview-card--crowd > strong { display:block; margin:8px 0 6px; color:var(--facility-teal); font-size:21px; }
.facility-overview-card--notice > strong { display:block; margin-top:8px; font-size:12px; line-height:1.4; }
.facility-overview-card p { margin:8px 0 0; color:var(--facility-muted); font-size:11px; line-height:1.45; }
.facility-progress { height:5px; overflow:hidden; border-radius:99px; background:rgba(31,91,97,.12); } .facility-progress span { display:block; height:100%; border-radius:inherit; background:var(--facility-teal); }
.facility-section { margin-top:22px; } .facility-section__heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:9px; }
.facility-section__heading > div { min-width:0; } .facility-section__heading h2 { margin:2px 0 0; color:var(--facility-ink); font-family:"Newsreader",serif; font-size:21px; font-weight:600; line-height:1.05; }
.facility-heading-icon { color:var(--facility-teal); } .facility-refresh-button, .facility-date { display:inline-flex; align-items:center; gap:5px; border:0; color:var(--facility-muted); font-size:10px; }
.facility-refresh-button { background:transparent; cursor:pointer; padding:5px 0; } .facility-refresh-button:hover { color:var(--facility-teal); }
.facility-date { border-radius:5px; background:#edf2ee; color:var(--facility-teal); padding:5px 7px; }
.facility-count { display:flex; justify-content:space-between; gap:8px; margin-bottom:10px; color:var(--facility-muted); font-size:10px; } .facility-count b { color:var(--facility-teal); }
.facility-tabs { display:flex; gap:5px; overflow-x:auto; scrollbar-width:none; margin:0 -2px 9px; padding:0 2px 2px; } .facility-tabs::-webkit-scrollbar { display:none; }
.facility-tabs button { flex:0 0 auto; border:1px solid var(--facility-line); border-radius:6px; background:transparent; color:var(--facility-muted); cursor:pointer; font-size:11px; padding:6px 9px; }
.facility-tabs button.is-active { border-color:var(--facility-teal); background:var(--facility-teal); color:#fff; }
.facility-list, .facility-performance-list, .facility-transport-list { display:flex; flex-direction:column; gap:7px; }
.facility-card { display:flex; align-items:flex-start; gap:9px; min-width:0; border:1px solid var(--facility-line); border-left:3px solid var(--facility-teal); border-radius:7px; background:#fffdf8; padding:10px; }
.facility-card--busy { border-left-color:var(--facility-amber); } .facility-card--full { border-left-color:#ae5a50; background:#fff9f6; }
.facility-card__icon { display:flex; flex-shrink:0; align-items:center; justify-content:center; width:31px; height:31px; border-radius:7px; background:#e8f1ed; color:var(--facility-teal); }
.facility-card--busy .facility-card__icon { background:#fff0dd; color:var(--facility-amber); } .facility-card--full .facility-card__icon { background:#fbe8e2; color:#ae5a50; }
.facility-card__body { flex:1; min-width:0; } .facility-card__title { display:flex; align-items:center; gap:6px; min-width:0; } .facility-card__title strong { overflow:hidden; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
.facility-status { flex-shrink:0; border-radius:4px; font-size:9px; font-weight:700; padding:3px 5px; } .facility-status--available { background:#e3f1e6; color:#28704e; } .facility-status--busy { background:#fff0db; color:#a6612e; } .facility-status--full { background:#f8e4df; color:#a94d46; }
.facility-card__body p { overflow:hidden; margin:3px 0 5px; color:var(--facility-muted); font-size:10px; text-overflow:ellipsis; white-space:nowrap; } .facility-card__meta { display:flex; flex-wrap:wrap; gap:7px; color:var(--facility-muted); font-size:10px; } .facility-card__meta span { display:inline-flex; align-items:center; gap:3px; }
.facility-go-now, .facility-remind-button { display:inline-flex; flex-shrink:0; align-items:center; align-self:center; gap:3px; border-radius:5px; font-size:10px; font-weight:700; white-space:nowrap; } .facility-go-now { color:#28704e; }
.facility-remind-button { border:1px solid rgba(200,121,60,.28); background:#fff8ed; color:#a6612e; cursor:pointer; padding:6px 7px; } .facility-remind-button.is-on { border-color:var(--facility-teal); background:#e7f1ed; color:var(--facility-teal); }
.facility-urgent, .facility-footnote, .facility-reminder-empty { display:flex; align-items:flex-start; gap:6px; color:var(--facility-muted); font-size:10px; line-height:1.45; }
.facility-urgent { margin-top:9px; border-radius:6px; background:#fff5e4; color:#8b5c30; padding:8px 9px; }
.facility-performance { display:flex; align-items:flex-start; gap:8px; border-bottom:1px solid var(--facility-line); padding:4px 0 10px; } .facility-performance:last-child { border-bottom:0; }
.facility-performance__status { min-width:49px; border-radius:4px; padding:4px 3px; text-align:center; font-size:9px; font-weight:700; line-height:1.2; } .facility-performance__status--即将开始 { background:#fff0db; color:#a6612e; } .facility-performance__status--正在进行 { background:#e3f1e6; color:#28704e; } .facility-performance__status--未开始 { background:#e8eff4; color:#36647a; } .facility-performance__status--暂停 { background:#f0e9e3; color:#7b6b5d; }
.facility-performance__body { flex:1; min-width:0; } .facility-performance__body strong { display:block; font-size:13px; } .facility-performance__body p { display:flex; align-items:center; flex-wrap:wrap; gap:3px; margin:3px 0 0; color:var(--facility-muted); font-size:10px; } .facility-performance__body small { display:block; margin-top:4px; color:var(--facility-muted); font-size:10px; }
.facility-icon-button { display:flex; flex-shrink:0; align-items:center; justify-content:center; width:30px; height:30px; border:1px solid var(--facility-line); border-radius:6px; background:transparent; color:var(--facility-muted); cursor:pointer; } .facility-icon-button.is-on { border-color:var(--facility-teal); background:#e7f1ed; color:var(--facility-teal); }
.facility-transport { border:1px solid var(--facility-line); border-radius:7px; background:#fffdf8; padding:10px; } .facility-transport__route { display:flex; align-items:center; justify-content:space-between; gap:7px; font-size:12px; } .facility-transport__route span { display:inline-flex; align-items:center; gap:3px; color:var(--facility-teal); font-size:10px; font-weight:700; }
.facility-transport__details, .facility-transport__footer { display:flex; align-items:center; flex-wrap:wrap; gap:8px; } .facility-transport__details { margin-top:8px; color:var(--facility-muted); font-size:10px; } .facility-transport__details span { display:inline-flex; align-items:center; gap:3px; } .facility-transport__footer { margin-top:9px; color:var(--facility-muted); font-size:10px; }
.facility-transport__status { border-radius:4px; padding:3px 5px; } .facility-transport__status--运行中 { background:#e3f1e6; color:#28704e; } .facility-transport__status--即将发车 { background:#fff0db; color:#a6612e; } .facility-transport__status--暂停运营 { background:#f8e4df; color:#a94d46; }
.facility-reminder-tray { display:none !important; }
.facility-reminder-count { display:flex; align-items:center; justify-content:center; min-width:23px; height:23px; border-radius:50%; background:var(--facility-teal); color:#fff; font-size:11px; }
.facility-reminder-list { display:flex; flex-direction:column; gap:5px; } .facility-reminder-list > div { display:flex; align-items:center; gap:6px; border-bottom:1px solid rgba(31,91,97,.1); color:var(--facility-ink); font-size:11px; padding:5px 0; } .facility-reminder-list > div > span:nth-child(2) { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; } .facility-reminder-list button { display:flex; border:0; background:transparent; color:var(--facility-teal); cursor:pointer; padding:3px; }
.facility-footnote { margin-top:16px; } .material-symbols-outlined { line-height:1; }
.facility-service-toast { position:fixed; left:50%; bottom:76px; z-index:90; width:min(360px, calc(100vw - 32px)); transform:translate(-50%, 12px); border:1px solid rgba(31,91,97,.2); border-radius:8px; background:#183b36; box-shadow:0 10px 30px rgba(24,59,54,.22); color:#fff; font-size:12px; line-height:1.45; opacity:0; pointer-events:none; padding:11px 13px; text-align:center; transition:opacity .2s ease, transform .2s ease; }
.facility-service-toast.is-visible { transform:translate(-50%, 0); opacity:1; }
body[data-active-workspace="services"] #composer-open-button,
body[data-active-workspace="services"] #composer-form,
body[data-active-workspace="services"] .composer-dock,
body[data-active-workspace="services"] .camera-scan-dock { display:none !important; }
@media (max-width:360px) { .facility-overview-grid { grid-template-columns:1fr; } }
