.section-cloud-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:14px;width:100%;align-items:stretch}
/* Match the V30 overview and analytics four-card rows, regardless of the
   original summary container's grid/flex styles. */
#personnelStats.section-cloud-tiles,#trainingSummary.section-cloud-tiles,#specialSummary.section-cloud-tiles,#inventorySummary.section-cloud-tiles,#meetingsSummary.section-cloud-tiles,#cloudStats.section-cloud-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;align-items:stretch;width:100%}
.section-cloud-tiles .metric-card{min-width:0;padding:18px;background:#fff;border:1px solid #dce3dd;border-radius:14px}
/* All metric tiles use a clean white surface, independent of the user's page palette. */
.metric-card,.cloud-stat{background:#fff}
/* V35.1: the Overview has the same four-column tile arrangement as the other sections. */
#metricGrid.metric-grid.configurable{grid-template-columns:repeat(4,minmax(0,1fr))}
.metric-card[draggable="true"]{cursor:grab}
.metric-card.tile-dragging{opacity:.45;cursor:grabbing;outline:2px dashed var(--ui-accent,#a58b45);outline-offset:2px}
.section-cloud-tiles .metric-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.section-cloud-tiles .metric-number{font-size:29px;margin-top:14px;font-weight:700}
.section-cloud-tiles .add-tile-card{min-height:110px;padding:18px;border:1px dashed #b8c6bd;border-radius:14px;cursor:pointer;background:transparent;text-align:center;font-weight:650;color:var(--ui-primary,#15382f)}
.section-tiles-caption{width:100%;font-size:12px;color:#667b70;margin:6px 0 10px}
#personnelStats .section-tiles-caption,#trainingSummary .section-tiles-caption,#specialSummary .section-tiles-caption,#inventorySummary .section-tiles-caption,#cloudStats .section-tiles-caption{grid-column:1 / -1}
.section-tiles-dialog{max-width:min(520px,94vw);width:100%;border:0;border-radius:16px;padding:24px;box-shadow:0 14px 80px #0004}
.section-tiles-dialog::backdrop{background:#102f27a8}
.section-tiles-dialog h2{margin:0 0 8px}
.section-tiles-dialog p{font-size:14px;color:#53665b}
.section-tiles-options{display:grid;gap:8px;margin:16px 0}
.section-tile-choice{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid #e0e7e0;border-radius:9px}
.section-tile-choice span{flex:1}
.section-tile-choice button,.section-tiles-actions button{min-height:36px;border:1px solid #cbd6ce;border-radius:8px;padding:5px 12px;cursor:pointer;background:#fff;color:#15382f}
.section-tiles-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.section-tiles-actions .btn-primary{background:var(--ui-primary,#15382f);color:#fff}
.inventory-watch-rows{display:grid;gap:10px}
.inventory-watch-row{display:flex;align-items:center;gap:14px;border-bottom:1px solid #e2e8e2;padding:12px 0}
.inventory-watch-row:last-child{border-bottom:0}
.inventory-watch-row strong,.inventory-watch-row small{display:block}
.inventory-watch-row small{color:#63766a;margin-top:3px}
.inventory-watch-flag{white-space:nowrap;min-width:130px;text-align:center;border-radius:20px;padding:6px 9px;font-size:12px;font-weight:700}
.inventory-watch-flag.out{background:#f9d8d8;color:#8e2020}
.inventory-watch-flag.overdue{background:#ffe2c1;color:#8c4b00}
.inventory-watch-flag.soon{background:#fff0b4;color:#685300}
@media(max-width:640px){.inventory-watch-row{align-items:flex-start;flex-direction:column}.section-tiles-actions{justify-content:stretch}.section-tiles-actions button{flex:1}}
@media(max-width:1050px){#personnelStats.section-cloud-tiles,#trainingSummary.section-cloud-tiles,#specialSummary.section-cloud-tiles,#inventorySummary.section-cloud-tiles,#meetingsSummary.section-cloud-tiles,#cloudStats.section-cloud-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){#personnelStats.section-cloud-tiles,#trainingSummary.section-cloud-tiles,#specialSummary.section-cloud-tiles,#inventorySummary.section-cloud-tiles,#meetingsSummary.section-cloud-tiles,#cloudStats.section-cloud-tiles{grid-template-columns:1fr}}
@media(max-width:1050px){#metricGrid.metric-grid.configurable{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){#metricGrid.metric-grid.configurable{grid-template-columns:1fr}}
