.equipment-module { min-width: 0; padding: 28px 30px 36px; color: #182a30; }
.equipment-toolbar { display: grid; grid-template-columns: minmax(280px, 1.4fr) minmax(170px, .55fr) auto auto; gap: 14px; align-items: stretch; margin-bottom: 20px; }
.equipment-search, .equipment-filter { display: flex; min-width: 0; min-height: 52px; align-items: center; gap: 10px; padding: 0 16px; border: 1px solid #d8e4e2; border-radius: 14px; background: #fff; }
.equipment-search svg { width: 20px; height: 20px; color: #71858c; }
.equipment-search input, .equipment-filter select { width: 100%; min-width: 0; border: 0; outline: 0; background: transparent; color: #243a41; font: inherit; }
.equipment-filter span { flex: 0 0 auto; color: #7a8d93; font-size: 13px; }
.equipment-tabs { display: flex; align-items: center; padding: 4px; border: 1px solid #d8e4e2; border-radius: 14px; background: #f8fbfa; }
.equipment-tabs button { min-height: 42px; padding: 0 16px; border: 0; border-radius: 10px; background: transparent; color: #64787f; font-weight: 800; white-space: nowrap; }
.equipment-tabs button.active { background: #168c80; color: #fff; box-shadow: 0 7px 16px rgba(22,140,128,.18); }
.equipment-metric-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); overflow: hidden; margin-bottom: 20px; border: 1px solid #dce7e5; border-radius: 18px; background: #fff; box-shadow: 0 8px 26px rgba(25,59,62,.055); }
.equipment-metric { display: flex; min-width: 0; min-height: 112px; align-items: center; gap: 16px; padding: 22px 24px; border-right: 1px solid #e1eae8; }
.equipment-metric:last-child { border-right: 0; }
.equipment-metric > span { display: grid; width: 48px; height: 48px; flex: 0 0 auto; place-items: center; border-radius: 16px; background: #edf8f6; color: #168c80; }
.equipment-metric > span svg { width: 23px; height: 23px; }
.equipment-metric.repair > span { background: #fff6e9; color: #d98221; }
.equipment-metric.overdue > span { background: #fff0ef; color: #d84743; }
.equipment-metric.closed > span { background: #eff5ff; color: #397dcc; }
.equipment-metric small { display: block; color: #778a90; font-size: 13px; }
.equipment-metric strong { display: block; margin-top: 5px; color: #173138; font-size: 28px; line-height: 1; }
.equipment-metric em { margin-left: 4px; color: #71858c; font-size: 13px; font-style: normal; }
.equipment-workspace { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(370px,.72fr); gap: 18px; align-items: start; }
.equipment-panel { min-width: 0; overflow: hidden; border: 1px solid #dce7e5; border-radius: 18px; background: #fff; box-shadow: 0 8px 26px rgba(25,59,62,.05); }
.equipment-panel-head { display: flex; min-height: 82px; align-items: center; justify-content: space-between; gap: 18px; padding: 18px 22px; border-bottom: 1px solid #e4eceb; }
.equipment-panel-head h2 { margin: 0; font-size: 20px; }.equipment-panel-head p { margin: 5px 0 0; color: #7a8d93; font-size: 13px; }.equipment-panel-head > strong { color: #168c80; white-space: nowrap; }
.equipment-list { min-height: 350px; }
.equipment-row { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(125px,.65fr) 116px 110px 22px; gap: 14px; align-items: center; width: 100%; min-height: 98px; padding: 16px 18px; border: 0; border-bottom: 1px solid #e8efee; background: #fff; color: inherit; text-align: left; cursor: pointer; }
.equipment-row:hover { background: #f8fbfa; }.equipment-row.active { box-shadow: inset 4px 0 #168c80; background: #f1f8f6; }
.equipment-row-main { display: grid; min-width: 0; grid-template-columns: 42px minmax(0,1fr); gap: 12px; align-items: center; }
.equipment-row-icon { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 14px; background: #edf8f6; color: #168c80; }.equipment-row-icon svg { width: 21px; height: 21px; }.equipment-row-icon.high { background: #fff5e8; color: #d97819; }.equipment-row-icon.urgent { background: #fff0ef; color: #d84743; }
.equipment-row span { min-width: 0; }.equipment-row strong { display: block; overflow: hidden; color: #314a51; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }.equipment-row-main strong { color: #20363c; font-size: 15px; }.equipment-row small { display: block; overflow: hidden; margin-top: 5px; color: #87979c; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }.equipment-row-arrow { width: 18px; height: 18px; color: #91a2a6; }
.equipment-badge { display: inline-flex; align-items: center; min-height: 26px; padding: 0 9px; border-radius: 999px; font-size: 12px; font-weight: 800; white-space: nowrap; }.asset-active,.order-handling { background: #ecf8f6; color: #137d72; }.asset-maintenance,.order-pending { background: #fff5e6; color: #bb6d12; }.asset-out_of_service { background: #fff0ef; color: #c94440; }.asset-retired,.order-closed { background: #eef2f3; color: #64777d; }.order-review { background: #edf4ff; color: #3975b9; }.equipment-danger { color: #d84743 !important; }
.equipment-detail-panel { position: sticky; top: 18px; min-height: 520px; max-height: calc(100vh - 178px); overflow-y: auto; }
.equipment-detail-empty,.equipment-empty { display: grid; min-height: 340px; place-items: center; align-content: center; padding: 34px; color: #7a8d93; text-align: center; }.equipment-detail-empty > span,.equipment-empty > span { display: grid; width: 60px; height: 60px; place-items: center; border-radius: 20px; background: #edf8f6; color: #168c80; }.equipment-detail-empty svg,.equipment-empty svg { width: 27px; height: 27px; }.equipment-detail-empty h3,.equipment-empty h3 { margin: 16px 0 5px; color: #2d444b; }.equipment-detail-empty p,.equipment-empty p { margin: 0; }
.equipment-detail-content { padding: 24px; }.equipment-detail-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding-bottom: 18px; border-bottom: 1px solid #e4eceb; }.equipment-detail-head p { margin: 0 0 5px; color: #168c80; font-size: 12px; font-weight: 800; text-transform: uppercase; }.equipment-detail-head h2 { margin: 0; color: #1e353b; font-size: 21px; line-height: 1.35; }
.equipment-detail-actions { display: flex; flex-wrap: wrap; gap: 10px; padding: 16px 0; }.equipment-detail-meta { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin: 0; padding: 0 0 18px; border-bottom: 1px solid #e4eceb; }.equipment-detail-meta div { min-width: 0; }.equipment-detail-meta dt { color: #819298; font-size: 12px; }.equipment-detail-meta dd { overflow-wrap: anywhere; margin: 5px 0 0; color: #30474e; font-size: 14px; font-weight: 700; }.equipment-detail-section { padding: 18px 0 0; }.equipment-detail-section h3 { margin: 0 0 10px; font-size: 15px; }.equipment-detail-section > p { margin: 0; color: #556a71; line-height: 1.75; white-space: pre-wrap; }.equipment-detail-section.solution { margin-top: 18px; padding: 16px; border-radius: 14px; background: #edf8f6; }
.equipment-attachment-links { display: flex; flex-wrap: wrap; gap: 8px; padding-top: 12px; }.equipment-attachment-links a { display: inline-flex; align-items: center; gap: 7px; max-width: 100%; padding: 8px 10px; border-radius: 10px; background: #f2f7f6; color: #167e74; text-decoration: none; }.equipment-attachment-links svg { width: 16px; height: 16px; }.equipment-attachment-links span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.equipment-timeline > div { display: grid; grid-template-columns: 12px minmax(0,1fr); gap: 10px; position: relative; padding: 0 0 18px; }.equipment-timeline > div:not(:last-child)::after { position: absolute; top: 12px; bottom: 0; left: 5px; width: 1px; background: #dce7e5; content: ""; }.equipment-timeline i { z-index: 1; width: 11px; height: 11px; margin-top: 4px; border: 3px solid #cae8e3; border-radius: 50%; background: #168c80; }.equipment-timeline span { min-width: 0; }.equipment-timeline strong { color: #334c53; font-size: 13px; }.equipment-timeline small { float: right; color: #8a999e; font-size: 11px; }.equipment-timeline p { margin: 6px 0 0; color: #61757b; font-size: 13px; line-height: 1.55; white-space: pre-wrap; }
.equipment-editor-dialog { width: min(1060px,calc(100vw - 32px)); }.equipment-report-dialog,.equipment-progress-dialog { width: min(900px,calc(100vw - 32px)); }.equipment-dialog-scroll { overflow-y: auto; max-height: calc(100vh - 210px); padding: 26px 34px 28px; }.equipment-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }.equipment-form-grid .equipment-span-2 { grid-column: 1 / -1; }.equipment-upload-section { margin-top: 22px; padding-top: 20px; border-top: 1px solid #e1eae8; }.equipment-upload-section > div:first-child { display: flex; justify-content: space-between; gap: 14px; margin-bottom: 12px; }.equipment-upload-section strong { color: #30474e; }.equipment-upload-section span { color: #819298; font-size: 12px; }.equipment-upload-box { display: flex; min-height: 74px; align-items: center; justify-content: center; gap: 10px; border: 1px dashed #86c5bc; border-radius: 14px; background: #f8fcfb; color: #168c80; cursor: pointer; }.equipment-upload-box input { position: absolute; width: 1px; height: 1px; opacity: 0; }.equipment-upload-box svg { width: 21px; height: 21px; }.equipment-upload-box span { color: #168c80; font-size: 14px; font-weight: 800; }
.equipment-upload-preview { display: grid; gap: 8px; margin-top: 10px; }.equipment-upload-item { display: grid; grid-template-columns: 42px minmax(0,1fr) 34px; gap: 10px; align-items: center; padding: 9px; border: 1px solid #e1eae8; border-radius: 12px; }.equipment-upload-item > span { display: grid; width: 42px; height: 42px; overflow: hidden; place-items: center; border-radius: 9px; background: #eef7f5; color: #168c80; }.equipment-upload-item img { width: 100%; height: 100%; object-fit: cover; }.equipment-upload-item svg { width: 19px; height: 19px; }.equipment-upload-item strong,.equipment-upload-item small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.equipment-upload-item small { margin-top: 3px; color: #8b9a9f; font-size: 11px; }.equipment-upload-item button { display: grid; width: 32px; height: 32px; place-items: center; border: 0; border-radius: 8px; background: transparent; color: #7c8d92; }.equipment-upload-item button:hover { background: #fff0ef; color: #d84743; }
@media (max-width: 1180px) { .equipment-toolbar { grid-template-columns: minmax(260px,1fr) minmax(160px,.55fr) auto; }.equipment-toolbar > .btn { grid-column: 3; }.equipment-metric { padding: 18px; }.equipment-workspace { grid-template-columns: minmax(0,1.25fr) minmax(330px,.75fr); }.equipment-row { grid-template-columns: minmax(0,1fr) 118px 104px 22px; }.equipment-row > span:nth-child(2) { display: none; } }
@media (max-width: 940px) { .equipment-module { padding: 18px 16px 28px; }.equipment-toolbar { grid-template-columns: 1fr 1fr; }.equipment-search { grid-column: 1 / -1; }.equipment-tabs { order: 3; }.equipment-toolbar > .btn { grid-column: auto; order: 4; }.equipment-metric-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.equipment-metric { min-height: 92px; border-bottom: 1px solid #e1eae8; }.equipment-workspace { grid-template-columns: 1fr; }.equipment-detail-panel { position: static; max-height: none; }.equipment-row { grid-template-columns: minmax(0,1fr) 106px 22px; }.equipment-row > span:nth-child(2),.equipment-row > span:nth-child(4) { display: none; }.equipment-dialog-scroll { max-height: calc(100dvh - 185px); padding: 22px 20px; } }
@media (max-width: 620px) { .equipment-toolbar { grid-template-columns: 1fr; }.equipment-search,.equipment-filter,.equipment-tabs,.equipment-toolbar > .btn { grid-column: 1; }.equipment-tabs button { flex: 1; }.equipment-metric-grid { gap: 10px; overflow: visible; border: 0; background: transparent; box-shadow: none; }.equipment-metric { min-height: 92px; padding: 14px; border: 1px solid #dce7e5 !important; border-radius: 15px; background: #fff; }.equipment-metric > span { width: 40px; height: 40px; border-radius: 13px; }.equipment-metric strong { font-size: 23px; }.equipment-panel-head { padding: 16px; }.equipment-row { min-height: 88px; padding: 14px; }.equipment-row-main { grid-template-columns: 38px minmax(0,1fr); }.equipment-row-icon { width: 38px; height: 38px; }.equipment-detail-content { padding: 19px; }.equipment-detail-meta { grid-template-columns: 1fr; }.equipment-form-grid { grid-template-columns: 1fr; }.equipment-form-grid .equipment-span-2 { grid-column: auto; }.equipment-upload-section > div:first-child { display: block; }.equipment-upload-section > div:first-child span { display: block; margin-top: 5px; }.equipment-editor-dialog,.equipment-report-dialog,.equipment-progress-dialog { width: 100%; max-width: none; margin: 0; border-radius: 18px 18px 0 0; }.equipment-dialog-scroll { padding: 18px 16px 28px; }.equipment-row { grid-template-columns: minmax(0,1fr) 22px; }.equipment-row > span:nth-child(3) { display: none; } }
