.subscriptions-view { max-width: 1400px; margin: 0 auto; }
.subscriptions-view .view-heading p { max-width: 760px; }
.subscription-metrics { display:flex; gap:20px; margin:24px 0; flex-wrap:wrap; }
.subscription-metrics > div { display:flex; flex-direction:column; gap:8px; background:#fff; border:1px solid var(--line); border-radius:10px; padding:22px 28px; min-width:240px; }
.subscription-metrics strong { font-size:2rem; color:var(--teal-strong); }
.subscription-toolbar { display:flex; justify-content:space-between; align-items:center; gap:16px; margin:24px 0; flex-wrap:wrap; }
.subscription-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.subscription-card { background:white; border:1px solid var(--line); border-top:4px solid var(--teal-strong); border-radius:9px; padding:26px; box-shadow:0 5px 18px #213c2f06; min-width:0; }
.subscription-card header { display:flex; justify-content:space-between; gap:12px; align-items:center; }
.subscription-pill { border-radius:20px; background:#fff1da; color:#875511; padding:6px 12px; font-size:.8rem; font-weight:700; }
.subscription-status { color:var(--text-muted); font-size:.8rem; text-transform:capitalize; }
.subscription-card h3 { font-size:1.35rem; margin:24px 0 6px; overflow-wrap:anywhere; }
.subscription-service { color:var(--text-muted); margin:0 0 24px; }
.subscription-card dl { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.subscription-card dt { color:var(--text-muted); font-size:.8rem; margin-bottom:8px; }
.subscription-card dd { margin:0; font-size:1.1rem; }
.subscription-reason { color:#7e5b29; font-size:.85rem; }
.subscription-evidence { border-top:1px solid var(--line); margin:22px 0 18px; padding-top:16px; font-size:.85rem; }
.subscriptions-view summary { cursor:pointer; color:var(--teal-strong); }
.subscription-evidence pre { white-space:pre-wrap; overflow-wrap:anywhere; }
.subscription-secondary,.subscription-import { margin-top:28px; padding:20px; border:1px solid var(--line); border-radius:8px; }
.subscription-secondary .subscription-grid { margin-top:20px; }
.subscription-import form { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:20px; }
.subscription-import label { display:flex; flex-direction:column; gap:8px; }
.subscription-error { color:#a12f28; }
.subscriptions-view[aria-busy=true] button { opacity:.6; pointer-events:none; }
@media(max-width:760px) { .subscription-grid,.subscription-import form { grid-template-columns:1fr; } .subscription-card { padding:20px; } .subscription-metrics > div { min-width:0; flex:1; } }

.subscription-real-import { padding:24px; border:1px solid var(--line); border-radius:10px; background:white; margin:20px 0; }
.subscription-real-import form { display:flex; gap:20px; align-items:end; flex-wrap:wrap; }
.subscription-real-import label { display:flex; flex-direction:column; gap:10px; max-width:100%; }
.subscription-real-import input { max-width:100%; }
.subscription-card[data-classification=needs_review] { border-top-color:#89958e; box-shadow:none; }
.subscription-card[data-classification=needs_review] .subscription-pill { background:#edf0ee; color:var(--text-muted); }
.subscription-demo button { margin-top:12px; }
[data-update-data] .subscription-demo { margin-top:20px; }
[data-mapping-admin] pre { white-space:pre-wrap; overflow-wrap:anywhere; }

.subscription-storage { border:1px solid var(--line); border-radius:12px; background:var(--background); padding:24px; margin:28px 0; }
.subscription-storage header h3 { font-size:1.6rem; margin:8px 0; }
.subscription-storage-card { background:white; border:1px solid var(--line); border-top:4px solid var(--teal-strong); border-radius:9px; padding:24px; min-width:0; }
.subscription-storage-card h4 { font-size:1.25rem; margin:18px 0; }
.subscription-storage-card dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.subscription-storage-card dt { font-size:.8rem; color:var(--text-muted); margin-bottom:6px; }
.subscription-storage-card dd { font-size:1.15rem; margin:0; }
.subscription-storage-card small { color:var(--text-muted); font-size:.75rem; }
.subscription-storage-card .storage-components { border-top:1px solid var(--line); padding-top:16px; }
.subscription-storage-card[data-storage-classification=needs_review] { border-top-color:#89958e; }
.subscription-storage-card[data-storage-classification=within_entitlement] .subscription-pill { background:#e6f3ec; color:var(--teal-strong); }
@media(max-width:760px) { .subscription-storage { padding:16px; } .subscription-storage-card { padding:18px; } }

.subscription-summary { margin:24px 0; }
.subscription-devices { border:1px solid #ccdce8; border-radius:12px; background:#f4f7fa; padding:24px; margin:32px 0; }
.subscription-devices > h3 { font-size:1.6rem; margin:0 0 12px; }
.control-basis { font-size:.85rem; margin:10px 0; }
.storage-count,.device-count { font-weight:600; color:var(--text-muted); }
.likely-action { font-size:.9rem; line-height:1.5; font-weight:600; }
.subscription-card h4 { font-size:1.2rem; margin:18px 0 10px; overflow-wrap:anywhere; }
.subscription-card[data-device-classification], .subscription-storage-card { border-top-color:var(--status-info); }
.subscription-card[data-device-classification] .subscription-pill,.subscription-storage-card .subscription-pill { color:var(--status-info); background:var(--status-info-bg); }
.subscription-card[data-device-classification=vendor_overage],.subscription-storage-card[data-storage-classification=storage_overage] { border-top-color:var(--status-cost); }
.subscription-card[data-device-classification=vendor_overage] .subscription-pill,.subscription-storage-card[data-storage-classification=storage_overage] .subscription-pill { color:var(--status-cost); background:var(--status-cost-bg); }
.subscription-card[data-device-classification=matched],.subscription-storage-card[data-storage-classification=within_entitlement] { border-top-color:var(--status-good); }
.subscription-card[data-device-classification=matched] .subscription-pill,.subscription-storage-card[data-storage-classification=within_entitlement] .subscription-pill { color:var(--status-good); background:var(--status-good-bg); }
.subscriptions-view .subscription-reason { color:var(--status-info); }
@media(max-width:760px) { .subscription-devices { padding:16px; } .subscription-pill { display:inline-block; line-height:1.5; } }
