/* Facilities Maintenance phase 1. Uses the scoped employee-theme palette; load after employee-theme.css. */
.app-shell{--fac-panel:var(--employee-panel,#0B0B0D);--fac-bg:var(--employee-bg,#1C1E22);--fac-line:var(--employee-line,#393B40);--fac-ink:var(--employee-ink,#F5F5F5);--fac-muted:var(--employee-muted,#B5B7BB);--fac-red:var(--employee-accent,#C52F3D)}
.fac-safety{border:1px solid var(--fac-line);border-left:3px solid var(--fac-red);background:var(--fac-panel);color:var(--fac-ink);border-radius:12px;padding:12px 14px;margin-bottom:14px;font-size:14px;line-height:1.5}
.fac-safety b{display:block;margin-bottom:2px}
.fac-safety.is-urgent{border-color:var(--fac-red);background:#C52F3D1f}
.fac-upload{display:grid;gap:6px}
.fac-upload-btns{display:flex;flex-wrap:wrap;gap:6px}
.fac-pick{cursor:pointer;position:relative}
.fac-pick:focus-within{outline:2px solid var(--fac-ink);outline-offset:2px}
.fac-files{display:grid;gap:6px}
.fac-file{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border:1px solid var(--fac-line);border-radius:10px;padding:7px 10px;background:var(--fac-bg)}
.fac-file.is-error{border-color:var(--fac-red)}
.fac-file.is-error .tiny{color:#ff9aa2!important}
.fac-file-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}
.fac-x{background:transparent;border:0;color:var(--fac-muted);font:inherit;font-size:12px;text-decoration:underline;cursor:pointer}
.fac-err{margin:0}
.app-shell.employee-theme .fac-err[hidden],.app-shell.employee-theme .fac-err:empty{display:none!important}
.fac-ok{color:var(--fac-muted)}
.fac-filters{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:8px;margin-bottom:10px}
.fac-filters .form-field{margin:0}
.fac-rows{display:grid;gap:6px}
.fac-row{display:flex;justify-content:space-between;gap:12px;width:100%;text-align:left;font:inherit;color:var(--fac-ink);background:var(--fac-bg);border:1px solid var(--fac-line);border-radius:12px;padding:10px 12px;cursor:pointer;transition:border-color .15s,transform .15s}
.fac-row:hover{border-color:var(--fac-muted);transform:translateY(-1px)}
.fac-row.is-urgent{box-shadow:inset 3px 0 0 var(--fac-red)}
.fac-row-main{display:grid;gap:3px;min-width:0}
.fac-row-top{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.fac-row-desc{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fac-row-side{display:grid;gap:2px;text-align:right;flex:none}
.fac-st,.fac-pri{display:inline-block;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.04em;border:1px solid var(--fac-line);color:var(--fac-ink);background:var(--fac-panel);white-space:nowrap}
.fac-pri-low{color:var(--fac-muted)}
.fac-pri-high{border-color:var(--fac-muted)}
.fac-pri-urgent{background:var(--fac-red);border-color:var(--fac-red);color:#F5F5F5}
.fac-st-completed,.fac-st-closed{border-style:dashed;color:var(--fac-muted)}
.fac-st-rejected,.fac-st-cancelled{color:var(--fac-muted);text-decoration:line-through}
.fac-st-in-progress{border-color:var(--fac-ink)}
.fac-st-waiting-on-parts,.fac-st-waiting-on-outside-vendor{border-color:#8a6d3b}
.fac-empty{display:grid;gap:6px;justify-items:start;padding:18px;border:1px dashed var(--fac-line);border-radius:12px}
.fac-asof{margin-top:8px}
.fac-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin-bottom:14px}
.fac-kpi{display:grid;gap:2px;text-align:left;font:inherit;color:var(--fac-ink);background:var(--fac-panel);border:1px solid var(--fac-line);border-radius:12px;padding:10px 12px;cursor:pointer}
.fac-kpi small{color:var(--fac-muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.fac-kpi b{font-size:24px}
.fac-kpi:hover{border-color:var(--fac-muted)}
.fac-kpi.is-urgent{border-color:var(--fac-red);box-shadow:inset 0 -3px 0 var(--fac-red)}
.fac-bars{display:grid;gap:6px}
.fac-bar{display:grid;grid-template-columns:150px 1fr 28px;gap:8px;align-items:center;font-size:13px}
.fac-bar i{display:block;height:8px;border-radius:4px;background:var(--fac-ink);transform-origin:left;transition:transform .3s ease}
.fac-bar b{text-align:right}
.fac-set-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.fac-back{margin-bottom:10px}
.fac-head.is-urgent{box-shadow:inset 0 3px 0 var(--fac-red)}
.app-shell .fac-head h2{margin:2px 0}
.fac-desc{white-space:pre-wrap;line-height:1.55;margin:10px 0}
.fac-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px 16px;margin:12px 0 0}
.fac-info dt{font-size:11px;color:var(--fac-muted);text-transform:uppercase;letter-spacing:.08em}
.fac-info dd{margin:2px 0 0;overflow-wrap:anywhere}
.fac-notes{margin-top:12px;border-top:1px solid var(--fac-line);padding-top:10px}
.fac-notes p{white-space:pre-wrap;margin:4px 0 0}
.fac-detail-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:16px;margin-top:16px;align-items:start}
.fac-claim{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px;padding:10px;border:1px dashed var(--fac-line);border-radius:10px}
.fac-cancel{margin-top:12px}
.fac-atts{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
.fac-att{display:grid;gap:4px;width:132px;color:var(--fac-ink);text-decoration:none;border:1px solid var(--fac-line);border-radius:10px;padding:6px;background:var(--fac-bg)}
.fac-att img{width:100%;height:84px;object-fit:cover;border-radius:6px;display:block}
.fac-att-kind{height:84px;display:flex;align-items:center;justify-content:center;border-radius:6px;background:var(--fac-panel);font-weight:800;font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.fac-att .tiny{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fac-msgs{display:grid;gap:8px;margin-bottom:12px;max-height:420px;overflow-y:auto}
.fac-msg{border:1px solid var(--fac-line);border-radius:12px;padding:8px 12px;background:var(--fac-bg)}
.fac-msg.is-me{border-color:var(--fac-muted)}
.fac-msg.is-info{box-shadow:inset 3px 0 0 var(--fac-red)}
.fac-msg header{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}
.fac-msg p{margin:4px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
.fac-info-tag{display:inline-block;margin-top:4px;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#ff9aa2}
.fac-hist{list-style:none;margin:0;padding:0;display:grid;gap:0}
.fac-hist li{display:grid;gap:2px;padding:8px 0 8px 14px;border-left:2px solid var(--fac-line);position:relative}
.fac-hist li:before{content:"";position:absolute;left:-5px;top:13px;width:8px;height:8px;border-radius:50%;background:var(--fac-muted)}
.fac-hist li span:not(.tiny){white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}
.fac-stale-box{margin-bottom:12px}
#fac-req-error[hidden],#fac-set-error[hidden],#fac-msg-error[hidden],#fac-act-error[hidden]{display:none!important}
@media(max-width:900px){.fac-detail-grid{grid-template-columns:1fr}.fac-set-grid{grid-template-columns:1fr}}
@media(max-width:720px){.fac-filters{grid-template-columns:1fr 1fr}.fac-filters .form-field:first-child{grid-column:1/-1}.fac-row{flex-direction:column}.fac-row-side{text-align:left;display:flex;gap:10px}.fac-bar{grid-template-columns:110px 1fr 24px}.fac-att{width:calc(50% - 4px)}}
@media(prefers-reduced-motion:reduce){.fac-row,.fac-bar i{transition:none}}
