/* 관리자 설정 › 차량·장비 관리 (js/assets.js) */
.as-add{display:inline-flex;align-items:center;gap:6px}
.as-add svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}

/* 요약 숫자 */
.as-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px}
.as-stat{background:var(--surface);border:1px solid var(--card-line);border-radius:var(--r-card);box-shadow:var(--card-shadow);padding:16px 18px;display:grid;gap:4px}
.as-stat span{font-size:var(--fs-sm);font-weight:600;color:var(--muted)}
.as-stat b{font-size:var(--fs-3xl);font-weight:700;letter-spacing:-.03em;line-height:1.15}
.as-stat b small{font-size:var(--fs-sm);font-weight:600;color:var(--muted);margin-left:3px;letter-spacing:0}
.as-stat.live b{color:var(--accent)}
.as-stat.warn b{color:var(--warn)}

/* 종류 탭·필터·검색 */
.as-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:22px 0 14px}
.as-bar-r{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
/* 모양은 styles.css 의 공통 세그먼트 버튼. 여기서는 아이콘·숫자만 */
.as-seg-b svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.as-seg-b span{font-size:var(--fs-xs);font-weight:700;min-width:20px;padding:1px 6px;border-radius:var(--r-pill);background:var(--line);color:var(--muted)}
.as-seg-b[aria-pressed="true"] span{background:var(--accent-soft);color:var(--accent)}
.as-search{display:flex;align-items:center;gap:8px;padding:0 12px;height:36px;border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--surface);width:240px}
.as-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.as-search svg{width:16px;height:16px;flex:none;fill:none;stroke:var(--muted);stroke-width:2;stroke-linecap:round}
.as-search input{border:0;outline:none;background:none;min-width:0;flex:1;font-size:var(--fs-sm)}

/* 카드 */
.as-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px}
.as-card{display:flex;flex-direction:column;text-align:left;padding:0;border:1px solid var(--card-line);border-radius:var(--r-card);background:var(--surface);box-shadow:var(--card-shadow);overflow:hidden;min-width:0}
.as-card:hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--card-line));box-shadow:0 2px 4px rgba(25,31,40,.04),0 10px 28px rgba(25,31,40,.08)}
.as-card.dim .as-top,.as-card.dim .as-kv{opacity:.62}
.as-top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:16px 16px 12px}
.as-ic{width:42px;height:42px;border-radius:var(--r-card);display:grid;place-items:center;flex:none}
.as-ic svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.as-ic.k-차량{background:var(--accent-soft);color:var(--accent)}
.as-ic.k-장비{background:var(--violet-soft);color:var(--violet)}
.as-ic.k-회의실{background:var(--ok-soft);color:var(--ok)}
.as-name{display:flex;flex-direction:column;min-width:0}
.as-name b{font-size:var(--fs-lg);font-weight:700;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.as-code{font-size:var(--fs-sm);color:var(--muted);font-weight:600;letter-spacing:.02em}
.as-code.none{font-weight:500;opacity:.7}
.as-st{font-size:var(--fs-xs);font-weight:700;padding:3px 9px;border-radius:var(--r-pill);white-space:nowrap;align-self:start}
.as-st.ok{background:var(--ok-soft);color:var(--ok)}
.as-st.repair{background:var(--warn-soft);color:var(--warn)}
.as-st.off{background:var(--off-soft);color:var(--off)}
.as-kv{display:grid;grid-template-columns:auto minmax(0,1fr);gap:5px 14px;margin:0;padding:2px 18px 14px;font-size:var(--fs-sm)}
.as-kv dt{color:var(--muted)}
.as-kv dd{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.as-kv.none{display:block;color:var(--muted);font-size:var(--fs-sm)}
.as-use{margin-top:auto;display:flex;align-items:center;gap:8px;padding:11px 18px;border-top:1px solid var(--line);background:var(--surface-2);font-size:var(--fs-sm);color:var(--muted)}
.as-use b{color:var(--fg);font-weight:700}
.as-use.live{background:var(--accent-soft);color:var(--accent)}
.as-use.live b{color:inherit}
.as-use.live i{width:7px;height:7px;border-radius:50%;background:var(--accent);flex:none}
.as-use.repair{background:var(--warn-soft);color:var(--warn)}
.as-use.off{color:var(--off)}

/* 비었을 때 */
.as-empty{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:48px 20px;text-align:center;border:1.5px dashed var(--line);border-radius:var(--r-card)}
.as-empty-ic{width:56px;height:56px;border-radius:var(--r-card);background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;margin-bottom:6px}
.as-empty-ic svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.as-empty b{font-size:var(--fs-lg)}
.as-empty p{margin:0 0 10px;color:var(--muted);font-size:var(--fs-sm)}
.as-none{grid-column:1/-1;padding:36px;text-align:center;color:var(--muted);font-size:var(--fs-sm)}

/* 등록 창 */
.as-dlg .seg{display:flex}
.as-dlg .as-state .s-ok{color:var(--ok)} .as-dlg .as-state .s-repair{color:var(--warn)} .as-dlg .as-state .s-off{color:var(--off)}
.as-dlg .as-state input:not(:checked)+span{color:var(--muted)}
.as-dlg textarea{resize:vertical}
.as-dlg .f small.hint{margin-top:2px}

@media (prefers-reduced-motion:no-preference){
  .as-card{transition:border-color .15s,box-shadow .2s,transform .15s}
  .as-card:hover{transform:translateY(-1px)}
  .as-seg-b{transition:background-color .15s,color .15s,box-shadow .15s}
}
@media (max-width:900px){ .as-stats{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:560px){
  .as-bar,.as-bar-r{align-items:stretch} .as-bar-r{width:100%} .as-search{width:100%}
  .as-seg{width:100%} .as-seg-b{flex:1;justify-content:center;padding:8px 6px}
}
