/* Products, assets and contracts (module 26-assets). Prefix: as- */

.as-bulk { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; padding: 10px 12px; border-bottom: 1px solid #e0e7ed; }
.as-bulk select, .as-bulk input { max-width: 260px; min-width: 0; }
.as-saved { flex-wrap: wrap; gap: 6px; }

.as-tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.as-tiles .ct-tile { min-width: 0; }
.as-tiles .sub { display: block; }
@media (max-width: 760px) { .as-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.as-two, .as-three { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.as-three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.as-two > *, .as-three > * { min-width: 0; }
@media (max-width: 640px) { .as-two, .as-three { grid-template-columns: minmax(0, 1fr); } }

.as-help { margin: 8px 0; color: #4a5d72; line-height: 1.5; }
.as-steps { margin: 0; padding-left: 18px; color: #4a5d72; line-height: 1.6; }
.as-h4 { margin: 14px 0 4px; font-size: 14px; }
.as-fieldset { border: 1px solid #e0e7ed; border-radius: 8px; padding: 8px 12px; min-width: 0; }
.as-fieldset legend { font-weight: 600; font-size: 13px; padding: 0 4px; }
.as-checks { display: flex; flex-wrap: wrap; gap: 6px 14px; }
.as-err { color: #b42318; font-size: 12.5px; }
.as-late { color: #b42318; }
.as-wait { color: #8a5a00; }
.as-bad td { background: #fff4f3; }
.as-note { margin-top: 4px; white-space: normal; overflow-wrap: anywhere; color: #3b4d61; }
.as-sub { display: block; margin-top: 8px; font-size: 13px; }
.as-links, .as-actions { display: flex; gap: 6px; flex-wrap: wrap; }
.as-actions { flex-direction: column; align-items: stretch; }
.as-actions form, .as-actions .ct-btn { width: 100%; }
.as-file { padding: 4px 0; overflow-wrap: anywhere; }
.as-upload { margin-top: 10px; }
.as-right { margin-left: auto; }
.as-decide { display: flex; gap: 6px; margin-top: 6px; flex-wrap: wrap; }

/* contract lines */
.as-line { border: 1px solid #e0e7ed; border-radius: 8px; padding: 10px 12px; margin-bottom: 10px; min-width: 0; }
.as-linehead { display: flex; gap: 8px; align-items: baseline; flex-wrap: wrap; }
.as-linehead .sub { margin-left: 4px; }
.as-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0; }
.as-chip { display: inline-flex; gap: 4px; align-items: center; padding: 3px 8px; border-radius: 999px; background: #eef4fb; color: #1d4f8f; font-size: 12.5px; text-decoration: none; margin: 2px; }
.as-coverform { display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: center; }
.as-inlineform { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 10px; align-items: end; }
.as-inlineform > * { min-width: 0; }
.as-addline { margin-top: 10px; padding-top: 10px; border-top: 1px dashed #d5dee8; }

/* the ticket, customer and organisation panels */
.as-panel { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.as-banner { margin: 0; }
.as-assetrow { display: flex; justify-content: space-between; gap: 8px; align-items: flex-start; padding: 6px 0; border-bottom: 1px solid #eef2f6; min-width: 0; }
.as-assetrow > div { min-width: 0; overflow-wrap: anywhere; }
.as-assetrow .sub { display: block; }
.as-linkform { gap: 6px; }
.as-entbox, .as-miles { border-top: 1px solid #eef2f6; padding-top: 8px; display: flex; flex-direction: column; gap: 6px; }
.as-entbox .sub { display: block; }
.as-hours { flex-wrap: wrap; }
.as-hours .ct-input { max-width: 140px; }
.as-mile { display: flex; justify-content: space-between; gap: 8px; align-items: center; padding: 4px 8px; border-radius: 6px; background: #f6f9fc; }
.as-mile.is-bad { background: #fff1f0; }
.as-mile.is-ok { background: #effaf5; }
.as-mile .sub { margin-left: 6px; }
.as-orgsum { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 6px; }
.as-mini td, .as-mini th { font-size: 12.5px; }

.as-tl li .as-note { font-size: 13px; }

/* Polish: dashboard panels, references that never wrap, meters */
.as-nw { white-space: nowrap; }
.as-pad { padding: 12px 16px; border-top: 1px solid #eef2f6; }
.as-meters { display: flex; flex-direction: column; gap: 10px; }
.as-meterlink { display: block; color: inherit; text-decoration: none; border-radius: 8px; }
.as-meterlink:hover .px-meter .top .l { color: #1d5fa8; }
.as-dash td .sub { display: block; }
.ct-tbl td .ct-code { white-space: nowrap; }
.as-feed { padding: 10px 16px 4px; border-top: 1px solid #eef2f6; display: flex; flex-direction: column; gap: 6px; }
.as-feedhead { font-size: 10.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #6b7d92; }
.as-feedrow { display: flex; gap: 10px; align-items: flex-start; font-size: 12.5px; min-width: 0; }
.as-feedrow > i { color: #1d5fa8; margin-top: 2px; }
.as-feedrow.bad > i { color: #c01d47; }
.as-feedrow span { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.as-feedrow small { display: block; color: #6b7d92; }
.as-feedrow em { font-style: normal; color: #8a9bb0; white-space: nowrap; font-size: 11.5px; }
.ct-filterpanel .ct-filters { margin: 0; }
/* Detail page KPI cards: word values (status, dates, references) at a size that never breaks mid-word */
.as-dkpis .ct-kpi strong { font-size: 24px; line-height: 1.2; overflow-wrap: normal; word-break: normal; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: calc(100% - 52px); display: block; }
