/* Noble Steed v60.9 — bright, scoped buildings and single-horse room workspace. */
#stableFacilitiesRoot { --sf-ink:#30283b; --sf-muted:#81788e; --sf-line:#e9e5ef; --sf-purple:#7452d6; --sf-green:#188565; --sf-amber:#b77917; --sf-red:#b64055; direction:rtl; width:100%; min-width:0; color:var(--sf-ink); font:inherit; }
#operationsSection.facilities-map-surface { width:100%!important; max-width:none!important; min-width:0; grid-column:1/-1!important; }
.stable-main:has(#operationsSection.facilities-map-surface:not(.hidden):not(.workspace-hidden)) { width:100%; max-width:none!important; }
#operationsSection.facilities-map-surface #operationsHub { width:100%; max-width:none; }
#operationsSection.facilities-map-surface .ops-context, #operationsSection.facilities-map-surface .ops-tabs, #operationsSection.facilities-map-surface > .section-title { display:none; }
.facilities-secondary { margin-top:20px; border:1px solid #e9e5ef; border-radius:18px; background:#fff; padding:16px; }
.facilities-secondary > summary { cursor:pointer; color:#635471; font-weight:800; font-size:13px; padding:4px; }
.facilities-secondary .ops-grid { margin-top:16px; }
.sf, .sf * { box-sizing:border-box; }
.sf button, .sf input, .sf select, .sf textarea, .sf-dialog button, .sf-dialog input, .sf-dialog select, .sf-dialog textarea { font:inherit; }
.sf button, .sf-dialog button { cursor:pointer; }
.sf button:disabled, .sf-dialog button:disabled { cursor:not-allowed; opacity:.5; }
.sf button:focus-visible, .sf-dialog button:focus-visible, .sf input:focus-visible, .sf select:focus-visible, .sf-dialog input:focus-visible, .sf-dialog select:focus-visible, .sf-dialog textarea:focus-visible { outline:3px solid #c3b2ff; outline-offset:3px; }
.sf-hero { display:flex; align-items:center; justify-content:space-between; gap:22px; padding:25px 27px; border:1px solid #e9e2f6; border-radius:24px; background:linear-gradient(125deg,#f1fbf8,#fff 48%,#f5f0ff); margin-bottom:18px; }
.sf-eyebrow { display:flex; align-items:center; gap:8px; color:#8662bd; font-size:10px; letter-spacing:1.7px; font-weight:800; margin-bottom:8px; }
.sf-eyebrow:before { content:''; width:7px; height:7px; border-radius:50%; background:#4fc3a7; }
.sf-hero h2 { margin:0; font-size:clamp(21px,2.3vw,29px); line-height:1.4; color:#332843; }
.sf-hero p { margin:7px 0 0; color:var(--sf-muted); font-size:12px; line-height:1.8; max-width:650px; }
.sf-actions { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.sf-btn { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:42px; border:1px solid var(--sf-line,#e9e5ef); border-radius:12px; padding:9px 14px; color:#625275; background:#fff; font-size:11px!important; font-weight:800!important; text-decoration:none; }
.sf-btn.primary { color:#fff; background:#7452d6; border-color:#7452d6; box-shadow:0 5px 12px #7452d620; }
.sf-btn.soft { color:#7653ce; background:#f6f1ff; border-color:#e9ddff; }
.sf-btn.compact { min-height:34px; padding:6px 10px; font-size:10px!important; border-radius:10px; }
.sf-btn:hover { filter:brightness(.975); }
.sf-stats { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px; margin-bottom:18px; }
.sf-stat { position:relative; overflow:hidden; padding:16px; border:1px solid var(--sf-line); border-radius:17px; background:#fff; }
.sf-stat:before { content:''; position:absolute; width:42px; height:42px; border-radius:50%; left:-12px; bottom:-14px; background:var(--sf-tone,#e8ddff); }
.sf-stat strong { display:block; font-size:25px; line-height:1.3; color:#352b43; font-variant-numeric:tabular-nums; }
.sf-stat span { display:block; margin-top:5px; color:var(--sf-muted); font-size:10.5px; font-weight:700; }
.sf-notice { display:flex; align-items:center; justify-content:space-between; gap:12px; border:1px solid #f2d6ad; border-radius:14px; background:#fff8ea; padding:12px 15px; color:#94600d; font-size:11px; line-height:1.8; margin-bottom:15px; }
.sf-notice.success { border-color:#c6e9db; background:#f0fbf5; color:#147d58; }
.sf-notice.error { border-color:#efcbd2; background:#fff3f5; color:#a13749; }
.sf-toolbar { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; padding:14px 17px; border:1px solid var(--sf-line); border-radius:17px 17px 0 0; background:#fff; }
.sf-search { display:flex; align-items:center; gap:8px; border:1px solid var(--sf-line); border-radius:11px; padding:0 11px; min-width:230px; background:#faf9fc; color:#8b8298; }
.sf-search input { width:100%; min-width:0; border:0; outline:0; padding:10px 0; background:transparent; color:var(--sf-ink); font-size:11px; }
.sf-search:focus-within { border-color:#ac95e7; box-shadow:0 0 0 3px #7452d610; }
.sf-filters { display:flex; gap:6px; flex-wrap:wrap; }
.sf-filter { border:1px solid #e9e5ef; background:#fff; border-radius:10px; color:#81758f; padding:8px 11px; min-height:35px; font-size:10px!important; font-weight:700!important; }
.sf-filter.active { background:#f1eaff; color:#7048c6; border-color:#dcd0f6; }
.sf-layout { display:grid; grid-template-columns:220px minmax(0,1fr); border:1px solid var(--sf-line); border-top:0; border-radius:0 0 19px 19px; background:#fff; overflow:hidden; }
.sf-buildings { padding:18px 13px; border-inline-end:1px solid var(--sf-line); background:#fbfaff; min-width:0; }
.sf-section-label { display:flex; align-items:center; justify-content:space-between; color:#887995; margin:0 5px 13px; font-size:10px; font-weight:800; }
.sf-building { display:flex; align-items:center; gap:10px; width:100%; border:1px solid transparent; border-radius:13px; padding:11px 10px; background:transparent; text-align:start; color:#70637d; margin-bottom:6px; min-width:0; }
.sf-building.active { border-color:#e0d4f5; background:#f0eaff; color:#6945b6; }
.sf-building:hover { background:#f3eefb; }
.sf-building-icon { display:grid; place-items:center; width:34px; height:34px; border-radius:10px; background:#ede6fb; font-size:18px; flex:0 0 34px; }
.sf-building.active .sf-building-icon { background:#fff; }
.sf-building-copy { min-width:0; flex:1; }
.sf-building-copy strong { display:block; font-size:11px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sf-building-copy small { display:block; color:#9a8daa; margin-top:3px; font-size:9px; }
.sf-building-count { flex:0 0 auto; background:#fff; border:1px solid #eae2f6; border-radius:7px; min-width:23px; padding:2px 5px; font-size:10px; text-align:center; }
.sf-map { min-width:0; padding:20px; }
.sf-map-head { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; margin-bottom:18px; }
.sf-map-head h3 { margin:0; font-size:16px; color:#443450; }
.sf-map-head p { margin:5px 0 0; font-size:10.5px; color:#92839e; line-height:1.7; }
.sf-room-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(175px,1fr)); gap:13px; }
.sf-room { position:relative; min-width:0; overflow:hidden; border:1px solid #e6e1ee; border-radius:17px; background:#fff; padding:15px; box-shadow:0 4px 13px #33244704; }
.sf-room:before { content:''; position:absolute; top:0; right:0; left:0; height:3px; background:#bcb0df; }
.sf-room.available { background:linear-gradient(145deg,#fff,#f6fdf9); border-color:#d6eee0; }
.sf-room.available:before { background:#70c9a4; }
.sf-room.maintenance { background:linear-gradient(145deg,#fff,#fffbf0); border-color:#f1dfbc; }
.sf-room.maintenance:before { background:#e3b568; }
.sf-room.conflict { border-color:#efcbd5; background:#fff8fa; }
.sf-room.conflict:before { background:#d87492; }
.sf-room.closed { background:#faf9fc; }
.sf-room-top { display:flex; align-items:flex-start; justify-content:space-between; gap:8px; }
.sf-room-name { border:0; padding:0; background:transparent; color:#3d324b; text-align:start; font-size:14px!important; font-weight:800!important; }
.sf-room-name:hover { color:#7351c8; text-decoration:underline; }
.sf-room-building { display:block; margin-top:4px; font-size:9px; color:#9a8ca8; }
.sf-pill { display:inline-flex; align-items:center; gap:4px; padding:4px 7px; border-radius:7px; background:#f1eaff; color:#7457bd; font-size:9px; font-weight:700; white-space:nowrap; }
.sf-pill.available { background:#e6f7ee; color:#198458; }
.sf-pill.maintenance { background:#fff0d3; color:#a06c0c; }
.sf-pill.conflict { background:#ffedf1; color:#b84969; }
.sf-pill.closed { background:#eeedf2; color:#8c8793; }
.sf-room-center { min-height:95px; display:flex; align-items:center; justify-content:center; padding:16px 0 12px; }
.sf-horse { display:flex; align-items:center; gap:9px; width:100%; min-width:0; }
.sf-avatar { display:grid; place-items:center; width:45px; height:45px; border-radius:13px; flex:0 0 45px; background:#f4edf9; color:#9575b6; overflow:hidden; font-size:24px; }
.sf-avatar img { width:100%; height:100%; object-fit:cover; }
.sf-horse-copy { min-width:0; }
.sf-horse-copy strong { display:block; color:#4d3e5a; font-size:12px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sf-horse-copy small { display:block; color:#9a8ba6; font-size:9px; margin-top:5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sf-free-icon { display:grid; place-items:center; width:44px; height:44px; border-radius:14px; background:#e9f8ef; color:#58b991; font-size:23px; margin:0 auto 6px; }
.sf-empty-room { color:#8aae9d; text-align:center; font-size:10px; }
.sf-maintenance-icon { background:#fff1d5; color:#c49741; }
.sf-closed-icon { background:#eeecf3; color:#a19aaa; }
.sf-room-actions { display:flex; gap:7px; padding-top:11px; border-top:1px solid #eeeaf3; }
.sf-room-actions .sf-btn { width:100%; }
.sf-room-horse-stack { display:grid; gap:9px; width:100%; }
.sf-room-horse-stack .sf-avatar { width:34px; height:34px; flex-basis:34px; border-radius:10px; }
.sf-empty { display:grid; justify-items:center; align-content:center; gap:8px; min-height:210px; border:1px dashed #e5dced; border-radius:16px; padding:27px; background:#fdfbff; text-align:center; color:#8a7a96; grid-column:1/-1; }
.sf-empty strong { color:#655374; font-size:14px; }
.sf-empty p { margin:0; line-height:1.8; font-size:11px; max-width:480px; }
.sf-empty-mark { width:58px; height:58px; border-radius:17px; display:grid; place-items:center; background:#f0e8fb; color:#9a7dbe; font-size:28px; }
.sf-unassigned { margin-top:18px; padding:19px; border:1px solid #eee2c8; border-radius:19px; background:linear-gradient(120deg,#fff,#fffdf7); }
.sf-unassigned-head { display:flex; justify-content:space-between; gap:10px; align-items:center; margin-bottom:14px; }
.sf-unassigned h3 { margin:0; font-size:14px; color:#685b45; }
.sf-unassigned p { margin:5px 0 0; font-size:10px; color:#a1937b; }
.sf-unassigned-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:10px; }
.sf-unassigned-item { display:flex; align-items:center; gap:8px; padding:11px; background:#fff; border:1px solid #ede6d8; border-radius:13px; min-width:0; }
.sf-unassigned-item .sf-horse { flex:1; }
.sf-history { margin-top:18px; padding:19px; border:1px solid var(--sf-line); border-radius:19px; background:#fff; }
.sf-history-head { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:13px; }
.sf-history h3 { margin:0; font-size:14px; }
.sf-history-items { display:grid; gap:7px; }
.sf-history-item { display:flex; align-items:flex-start; gap:9px; border:1px solid #efebf4; border-radius:12px; padding:11px; background:#fcfbfe; }
.sf-history-mark { display:grid; place-items:center; width:29px; height:29px; border-radius:9px; flex:0 0 29px; background:#ede7fb; color:#9370c7; }
.sf-history-item b { display:block; font-size:11px; color:#554262; }
.sf-history-item p { font-size:10px; color:#8a7a99; margin:4px 0 0; line-height:1.8; }
.sf-history-date { margin-inline-start:auto; font-size:9px; color:#a398ae; white-space:nowrap; }
.sf-status { display:grid; place-items:center; min-height:230px; gap:9px; padding:30px; text-align:center; border:1px solid #e7dff1; border-radius:20px; background:#fff; color:#8a799b; font-size:12px; }
.sf-status strong { font-size:16px; color:#685174; }
.sf-status p { margin:0; max-width:500px; line-height:1.8; }
.sf-spinner { width:29px; height:29px; border:3px solid #eee5f7; border-top-color:#9269d2; border-radius:50%; animation:sf-spin .8s linear infinite; }
@keyframes sf-spin { to { transform:rotate(360deg); } }
.sf-dialog { direction:rtl; color:#352b43; border:1px solid #e7dff1; border-radius:22px; width:min(650px,calc(100vw - 28px)); max-height:calc(100dvh - 35px); padding:0; background:#fff; box-shadow:0 22px 90px #2c1c4740; }
.sf-dialog::backdrop { background:#33254b60; backdrop-filter:blur(3px); }
.sf-dialog-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:21px 23px 18px; border-bottom:1px solid #ece6f3; background:linear-gradient(120deg,#fff,#f7f3fd); }
.sf-dialog-head h2 { margin:0; font-size:18px; line-height:1.6; }
.sf-dialog-head p { margin:5px 0 0; color:#92819f; font-size:11px; line-height:1.8; }
.sf-dialog-close { display:grid; place-items:center; border:1px solid #e7dfef; border-radius:10px; width:33px; height:33px; flex:0 0 33px; color:#927aa4; background:#fff; font-size:20px!important; }
.sf-dialog-body { padding:21px 23px; }
.sf-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.sf-field { display:grid; align-content:start; gap:7px; min-width:0; }
.sf-field.wide { grid-column:1/-1; }
.sf-field label { font-size:11px; font-weight:800; color:#665274; }
.sf-field input, .sf-field select, .sf-field textarea { border:1px solid #e6deee; border-radius:12px; width:100%; background:#fdfbff; color:#4c385b; font-size:12px; padding:11px 12px; min-height:43px; }
.sf-field textarea { min-height:88px; resize:vertical; }
.sf-field small { color:#a48daa; font-size:9px; line-height:1.7; }
.sf-form-error { min-height:20px; color:#b74058; font-size:11px; line-height:1.8; margin-top:13px; }
.sf-dialog-actions { display:flex; gap:8px; justify-content:flex-end; flex-wrap:wrap; padding-top:15px; border-top:1px solid #eee8f4; margin-top:8px; }
.sf-detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin-bottom:17px; }
.sf-detail-item { padding:11px 13px; border:1px solid #ebe4f2; border-radius:12px; background:#faf7ff; }
.sf-detail-item span { display:block; font-size:10px; color:#9a85a7; }
.sf-detail-item b { display:block; margin-top:5px; font-size:12px; color:#665274; overflow-wrap:anywhere; }
.sf-detail-horse { display:flex; align-items:center; justify-content:space-between; gap:10px; border:1px solid #ebe4f2; border-radius:13px; padding:12px; margin:9px 0; flex-wrap:wrap; }
.sf-detail-horse .sf-horse { width:auto; flex:1; min-width:150px; }
.sf-detail-note { color:#8c7898; font-size:11px; line-height:1.9; white-space:pre-wrap; }
.sf-confirm { display:grid; gap:9px; padding:15px; margin-bottom:15px; border:1px solid #e5d9f5; border-radius:14px; background:#f8f3ff; font-size:12px; color:#6d5682; }
.sf-confirm strong { color:#554263; }
.sf-preview { display:flex; align-items:center; gap:8px; flex-wrap:wrap; padding:10px 12px; border:1px dashed #decfed; border-radius:12px; background:#fdfaff; margin-top:14px; color:#9474a9; font-size:10px; }
.sf-preview b { direction:ltr; font-weight:800; color:#6c4f86; }
@media(max-width:1200px) { .sf-stats { grid-template-columns:repeat(3,minmax(0,1fr)); } .sf-layout { grid-template-columns:195px minmax(0,1fr); } .sf-room-grid { grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); } }
@media(max-width:760px) { .sf-hero { padding:20px; align-items:flex-start; flex-direction:column; gap:14px; } .sf-hero p { font-size:11px; } .sf-stats { gap:8px; } .sf-stat { padding:12px 10px; } .sf-stat strong { font-size:22px; } .sf-stat span { font-size:9px; } .sf-toolbar { padding:12px; } .sf-search { min-width:0; width:100%; } .sf-filters { width:100%; } .sf-filter { flex:1 1 auto; } .sf-layout { display:block; } .sf-buildings { display:flex; align-items:stretch; overflow:auto; gap:7px; border-inline-end:0; border-bottom:1px solid var(--sf-line); padding:11px; scrollbar-width:thin; } .sf-section-label { display:none; } .sf-building { width:auto; min-width:145px; flex:0 0 auto; margin:0; padding:9px; } .sf-building-icon { width:28px; height:28px; flex-basis:28px; } .sf-map { padding:14px; } .sf-map-head { flex-wrap:wrap; } .sf-room-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; } .sf-room { padding:12px 10px; border-radius:14px; } .sf-room-top { flex-wrap:wrap; } .sf-room-name { font-size:13px!important; } .sf-horse { gap:6px; } .sf-avatar { width:35px; height:35px; flex-basis:35px; border-radius:10px; } .sf-horse-copy strong { font-size:11px; } .sf-unassigned,.sf-history { padding:14px; } .sf-history-item { flex-wrap:wrap; } .sf-history-date { margin-inline-start:38px; width:100%; } .sf-dialog-head,.sf-dialog-body { padding:18px; } .sf-form-grid { grid-template-columns:1fr; } .sf-detail-grid { grid-template-columns:1fr 1fr; } }
@media(prefers-reduced-motion:reduce) { .sf-spinner { animation:none; } }
@media(max-width:760px) { .sf-stat span { font-size:11px; } .sf-filter { font-size:11px!important; min-height:40px; } .sf-btn.compact { min-height:42px; font-size:11px!important; } .sf-horse-copy strong { font-size:12px; } .sf-horse-copy small { font-size:10px; } .sf-room-name { font-size:15px!important; } }
