/* CITY_MANAGEMENT_UI_V2 -- scoped presentation layer */
.cm-page-header{align-items:flex-end;gap:18px}
.cm-title-block{display:flex;flex-direction:column;gap:3px;min-width:0}
.cm-page-subtitle{font-size:13px;color:var(--text2);font-weight:400}
.cm-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px}
.cm-metrics{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.cm-metrics span{display:inline-flex;align-items:center;gap:4px;min-height:30px;padding:5px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text2);font-size:12px;white-space:nowrap}
.cm-metrics b{color:var(--text);font-size:13px;font-variant-numeric:tabular-nums}
.cm-picker-v2{padding:16px;margin-bottom:16px;overflow:hidden}
.cm-picker-v2 .cm-search-row{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:9px;align-items:center;margin-bottom:16px}
.cm-picker-v2 .cm-search-row .form-input{height:38px;padding:8px 12px;border-radius:8px;background:var(--surface2)}
.cm-picker-v2 .cm-search-row .btn{height:38px;border-radius:8px;padding-left:17px;padding-right:17px}
.cm-picker-v2 .cm-systems{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start}
.cm-picker-v2 .cm-system{min-width:0;padding:13px;border:1px solid var(--border);border-radius:9px;background:rgba(255,255,255,.018);box-shadow:0 4px 14px rgba(0,0,0,.08)}
.cm-picker-v2 .cm-system-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.cm-picker-v2 .cm-system-name{min-width:0;color:var(--text);font-size:13px;font-weight:700;line-height:1.25}
.cm-picker-v2 .cm-system-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:22px;padding:0 7px;border:1px solid var(--border2);border-radius:999px;background:var(--surface2);color:var(--text2);font-size:11px;font-weight:700;font-variant-numeric:tabular-nums}
.cm-picker-v2 .cm-family-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.cm-picker-v2 .cm-family{appearance:none;-webkit-appearance:none;display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;min-height:34px;padding:6px 8px;border:1px solid var(--border);border-radius:7px;background:var(--surface2);color:var(--text2);font-family:inherit;font-size:12px;line-height:1.2;text-align:left;cursor:pointer;transition:border-color .12s,background .12s,color .12s,transform .06s}
.cm-picker-v2 .cm-family:hover{border-color:var(--border2);background:rgba(255,255,255,.055);color:var(--text)}
.cm-picker-v2 .cm-family:active{transform:translateY(1px)}
.cm-picker-v2 .cm-family:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.cm-picker-v2 .cm-family-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cm-picker-v2 .cm-family-count{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:21px;height:20px;padding:0 6px;border-radius:999px;background:rgba(148,163,184,.14);color:var(--text2);font-size:10.5px;font-weight:700;font-variant-numeric:tabular-nums}
.cm-picker-v2 .cm-family-zero{opacity:.66}
.cm-picker-v2 .cm-family-zero:hover{opacity:1}
.cm-picker-v2 .cm-family-on{border-color:var(--accent);background:rgba(245,158,11,.12);color:var(--text)}
.cm-picker-v2 .cm-family-on .cm-family-count{background:var(--accent);color:#161a22}
.cm-picker-v2 .cm-system-empty{box-shadow:none}
.cm-system-toggle{appearance:none;display:flex;align-items:center;justify-content:center;gap:7px;margin:13px auto 0;padding:6px 11px;border:0;background:transparent;color:var(--text2);font:600 12px/1.2 inherit;cursor:pointer;border-radius:7px}
.cm-system-toggle:hover{background:var(--surface2);color:var(--accent)}
.cm-list-card{overflow:hidden;margin-bottom:16px}
.cm-list-card .cm-list-head{display:flex;align-items:baseline;justify-content:flex-start;gap:10px;padding:13px 16px;border-bottom:1px solid var(--border);color:var(--text);font-size:14px;font-weight:700}
.cm-list-card .cm-list-head small{color:var(--text3);font-size:12px;font-weight:500}
.cm-table-wrap{width:100%;overflow-x:auto}
.cm-list-card .data-table{min-width:820px}
.cm-list-card .data-table th{background:var(--surface)}
.cm-list-card .data-table td{padding-top:10px;padding-bottom:10px}
.cm-asset-id{font-family:'JetBrains Mono',monospace;color:var(--text)!important;font-size:12px}
.cm-asset-name{color:var(--text)!important;font-weight:550}
.cm-status{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border-radius:999px;background:rgba(148,163,184,.12);color:var(--text2);font-size:10.5px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}
.cm-status:before{content:'';width:6px;height:6px;border-radius:50%;background:var(--text3)}
.cm-status-active{background:rgba(34,197,94,.12);color:#4ade80}
.cm-status-active:before{background:#22c55e}
.cm-status-planned{background:rgba(59,130,246,.14);color:#60a5fa}
.cm-status-planned:before{background:#3b82f6}
.cm-status-out-of-service{background:rgba(239,68,68,.14);color:#f87171}
.cm-status-out-of-service:before{background:#ef4444}
.cm-empty{padding:44px 22px;text-align:center;color:var(--text3);font-size:13px}
.cm-detail{padding:18px;margin-bottom:16px}
.cm-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:15px;margin-bottom:16px;border-bottom:1px solid var(--border)}
.cm-detail-id{font:600 12px/1.3 'JetBrains Mono',monospace;color:var(--accent)}
.cm-detail-name{margin-top:3px;color:var(--text);font-size:20px;font-weight:750;line-height:1.25}
.cm-detail-meta{margin-top:5px;color:var(--text2);font-size:12px}
.cm-detail-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.cm-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.cm-field{display:flex;flex-direction:column;gap:3px;min-width:0;padding:10px 11px;border:1px solid var(--border);border-radius:8px;background:rgba(255,255,255,.018)}
.cm-field-label{color:var(--text3);font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.cm-field-value{color:var(--text);font-size:13px;overflow-wrap:anywhere}
.cm-field-value em{color:var(--text3);font-size:11px;font-style:normal}
.cm-children{margin-top:16px}
.cm-child{display:inline-flex;margin:0 7px 7px 0;padding:7px 10px;border:1px solid var(--border);border-radius:7px;background:var(--surface2);color:var(--text2);font:500 12px/1.3 inherit;cursor:pointer}
.cm-child:hover{border-color:var(--accent);color:var(--text)}
.cm-freshness{margin-top:16px;padding-top:11px;border-top:1px solid var(--border);color:var(--text3);font-size:11px}
.cm-form-family{margin:-2px 0 16px;padding:9px 11px;border-left:3px solid var(--accent);border-radius:0 7px 7px 0;background:rgba(245,158,11,.08);color:var(--text);font-size:13px;font-weight:650}
@media(max-width:1180px){.cm-picker-v2 .cm-systems{grid-template-columns:repeat(2,minmax(0,1fr))}.cm-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.cm-page-header{align-items:flex-start}.cm-header-actions{width:100%;justify-content:space-between;align-items:flex-end}.cm-metrics{gap:6px}.cm-metrics span{min-height:27px;padding:4px 8px}.cm-picker-v2{padding:12px}.cm-picker-v2 .cm-search-row{grid-template-columns:1fr auto;margin-bottom:12px}.cm-picker-v2 .cm-search-row .form-input{grid-column:1/-1;font-size:16px}.cm-picker-v2 .cm-search-row .btn{justify-content:center}.cm-picker-v2 .cm-systems{grid-template-columns:1fr}.cm-picker-v2 .cm-family-row{grid-template-columns:repeat(2,minmax(0,1fr))}.cm-detail-head{flex-direction:column}.cm-detail-actions{justify-content:flex-start}.cm-fields{grid-template-columns:1fr}.cm-table-wrap{overflow-x:visible}.cm-list-card .data-table{min-width:0}.cm-list-card .data-table tr{margin:0 10px 10px}}
@media(max-width:430px){.cm-header-actions{align-items:stretch;flex-direction:column}.cm-header-actions>.btn{justify-content:center}.cm-picker-v2 .cm-family-row{grid-template-columns:1fr}}
