:root { color-scheme: light; --ink:#14201c; --muted:#65716c; --line:#dce4df; --paper:#fff; --wash:#f3f6f4; --accent:#116149; --accent2:#0a4534; }
* { box-sizing:border-box; }
body { margin:0; background:var(--wash); color:var(--ink); font:15px/1.45 system-ui,-apple-system,"Segoe UI",sans-serif; }
a { color:var(--accent); text-decoration:none; } a:hover { text-decoration:underline; }
.topbar { min-height:64px; padding:0 5vw; background:#10251e; color:#fff; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { color:#fff; font-size:20px; font-weight:750; letter-spacing:-.02em; }.brand:hover{text-decoration:none}
.topbar-actions { display:flex; align-items:center; gap:20px; }.topbar-actions a,.link-button{color:#d8e9e2}.topbar form{margin:0}.link-button{border:0;background:none;padding:0;font:inherit;cursor:pointer}
.shell { width:min(1180px,92vw); margin:38px auto 70px; }.page-heading,.section-heading { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-bottom:24px; }
h1 { margin:.15rem 0; font-size:clamp(28px,4vw,43px); line-height:1.1; letter-spacing:-.035em; } h2{margin:28px 0 13px;font-size:20px}
.eyebrow { color:var(--accent); font-weight:800; text-transform:uppercase; letter-spacing:.09em; font-size:12px; margin:0; }.muted{color:var(--muted)}
.button { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:9px 16px; border:1px solid #b8c8c1; border-radius:9px; background:#fff; color:var(--ink); font-weight:700; cursor:pointer; }.button:hover{text-decoration:none;border-color:var(--accent)}
.button.primary { background:var(--accent); border-color:var(--accent); color:#fff; }.button.primary:hover{background:var(--accent2)}
.search { display:grid; grid-template-columns:1fr auto; gap:10px; margin:28px 0 16px; }.search input{font-size:18px;padding:15px 17px;border:1px solid #bdc9c4;border-radius:10px;background:#fff}
.table-card,.card,.stat { background:var(--paper); border:1px solid var(--line); border-radius:13px; box-shadow:0 3px 16px rgba(19,44,35,.045); }.table-card { overflow:auto; }
table{width:100%;border-collapse:collapse}th,td{padding:14px 16px;text-align:left;border-bottom:1px solid #e7ece9;vertical-align:top}th{font-size:12px;text-transform:uppercase;letter-spacing:.045em;color:var(--muted);background:#fafcfb}tr:last-child td{border-bottom:0}td small{display:block;color:var(--muted);margin-top:3px}
.number { font-variant-numeric:tabular-nums; font-weight:750; letter-spacing:.035em; }.empty{text-align:center;color:var(--muted);padding:30px}
.badge { display:inline-block;padding:4px 8px;border-radius:999px;background:#e8eeeb;color:#405049;font-size:12px;font-weight:750;white-space:nowrap}.badge.active,.badge.posted,.badge.succeeded{background:#d9f3e8;color:#155c43}.badge.suspended,.badge.approved,.badge.queued{background:#fff0d5;color:#79500c}.badge.closed,.badge.failed,.badge.cancelled{background:#f8dddd;color:#8a2929}.badge.large{padding:7px 12px;font-size:13px}
.stat-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:25px 0}.stat{padding:18px}.stat span{display:block;color:var(--muted);font-size:13px}.stat strong{display:block;font-size:20px;margin-top:6px}
.two-column { display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:22px 0}.card{padding:22px}.card h2{margin-top:0}.details dl{display:grid;grid-template-columns:160px 1fr;gap:11px 16px;margin:0}.details dt{color:var(--muted)}.details dd{margin:0;font-weight:650}.notes{border-top:1px solid var(--line);padding-top:15px}
.stacked-form{display:grid;gap:14px}.stacked-form>div,.stacked-form>label{display:grid;gap:6px;font-weight:650}.stacked-form input,.stacked-form select,.stacked-form textarea{width:100%;padding:10px 12px;border:1px solid #bdc9c4;border-radius:8px;background:#fff;font:inherit}.stacked-form .helptext{font-weight:400;color:var(--muted);font-size:12px}.stacked-form ul.errorlist{color:#9b2525;margin:0;padding-left:18px}.form-page{max-width:720px;margin:12px auto}.login-card{max-width:420px;margin:12vh auto}.back{display:inline-block;margin-bottom:18px}
.messages{display:grid;gap:8px;margin-bottom:18px}.message{padding:13px 15px;border-radius:9px;background:#e2eee9;border:1px solid #bdd2c9;white-space:normal;overflow-wrap:anywhere}.message.warning{background:#fff0d5;border-color:#e8cb94}.message.error{background:#f8dddd;border-color:#e7adad}
@media(max-width:800px){.stat-grid{grid-template-columns:1fr 1fr}.two-column{grid-template-columns:1fr}.topbar{padding:12px 4vw}.topbar-actions span{display:none}.shell{margin-top:24px}.page-heading{align-items:flex-start}.details dl{grid-template-columns:1fr}.details dd{margin-bottom:8px}}

.sim-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.sim-summary-card{background:#fff;border:1px solid #e2e8f0;border-radius:1rem;padding:1rem 1.15rem;box-shadow:0 .35rem 1rem rgba(15,23,42,.05)}.sim-summary-card span{display:block;color:#64748b;font-size:.82rem}.sim-summary-card strong{display:block;font-size:1.9rem;line-height:1.1;margin-top:.35rem}.sim-summary-card.healthy{border-left:.3rem solid #198754}.sim-summary-card.attention{border-left:.3rem solid #f59e0b}.sim-filter-card{background:#fff;border:1px solid #e2e8f0;border-radius:1rem;padding:1rem}.euicc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.euicc-card{background:#fff;border:1px solid #dbe4ee;border-radius:1rem;overflow:hidden}.euicc-card>header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;background:linear-gradient(135deg,#eef5ff,#f8fafc);border-bottom:1px solid #e2e8f0}.euicc-card>header>div{display:flex;align-items:center;gap:.8rem;min-width:0}.euicc-card header small,.euicc-location small,.profile-card small,.sim-table small{display:block;color:#64748b}.euicc-card header small{max-width:24rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.esim-chip{display:grid;place-items:center;width:3rem;height:2.35rem;border:2px solid #2563eb;border-radius:.5rem;color:#1d4ed8;font-size:.68rem;font-weight:800;letter-spacing:.04em;background:#fff}.euicc-location{padding:.75rem 1rem;border-bottom:1px solid #eef2f7}.euicc-profiles{display:grid;gap:.65rem;padding:.8rem}.profile-card{border:1px solid #dbe4ee;border-radius:.75rem;padding:.75rem;background:#fff}.profile-card.needs-attention{border-left:.25rem solid #f59e0b}.sim-table td{vertical-align:middle}.sim-table td>small,.sim-table td>span{display:block}.sim-table .identifiers{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem}.sim-table tr.sim-attention>td:first-child{border-left:.25rem solid #f59e0b}.transport-pill{font-size:.78rem;color:#334155;white-space:nowrap}.badge.status-good{background:#d9f3e8;color:#155c43}.badge.status-standby{background:#dbeafe;color:#1e40af}.badge.status-warning{background:#fff0d5;color:#79500c}.badge.status-bad{background:#f8dddd;color:#8a2929}.badge.status-muted{background:#e8eeeb;color:#405049}
@media(max-width:991.98px){.sim-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.euicc-grid{grid-template-columns:1fr}}
@media(max-width:575.98px){.sim-summary-grid{grid-template-columns:1fr 1fr;gap:.6rem}.sim-summary-card{padding:.8rem}.sim-summary-card strong{font-size:1.45rem}}
.esim-filter-button{display:inline-block;border-radius:.6rem}.esim-filter-button:hover{text-decoration:none;box-shadow:0 0 0 .2rem rgba(37,99,235,.15)}.esim-chip.esim-chip-small{width:2.65rem;height:1.85rem;font-size:.6rem}.euicc-short-id{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;white-space:nowrap}.physical-sim-badge{background:#eef2f7;color:#475569}.active-euicc-filter{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;border:1px solid #bfdbfe;border-radius:1rem;background:#eff6ff}.active-euicc-filter>div{display:flex;align-items:center;gap:.75rem}.active-euicc-filter small{display:block;color:#64748b}.hardware-heading{display:flex;align-items:center;justify-content:space-between;margin-top:3rem;margin-bottom:1rem}.hardware-heading h2{margin:.15rem 0}.hardware-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.hardware-card{background:#fff;border:1px solid #dbe4ee;border-radius:1rem;padding:1rem;box-shadow:0 .35rem 1rem rgba(15,23,42,.05)}.hardware-card.needs-attention{border-left:.3rem solid #f59e0b}.hardware-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.85rem}.hardware-card-head small{display:block;color:#64748b}.hardware-card dl,.detail-panel dl{display:grid;grid-template-columns:minmax(6rem,.7fr) 1.3fr;gap:.4rem .8rem;margin:0}.hardware-card dt,.detail-panel dt{color:#64748b}.hardware-card dd,.detail-panel dd{margin:0;overflow-wrap:anywhere}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.detail-panel{background:#fff;border:1px solid #dbe4ee;border-radius:1rem;padding:1.15rem;box-shadow:0 .35rem 1rem rgba(15,23,42,.05)}.detail-panel h2{margin:0 0 1rem}.detail-panel dd{font-weight:600}
.ims-state{display:flex!important;align-items:center;gap:.35rem;margin-top:.4rem}.ims-state small{margin:0!important;text-transform:uppercase;font-size:.65rem;font-weight:800;letter-spacing:.04em}
.reader-euicc-link{display:flex;align-items:center;gap:.65rem;padding:.45rem .55rem;margin:-.45rem -.55rem;border-radius:.7rem}.reader-euicc-link:hover{text-decoration:none;background:#eff6ff}.reader-euicc-link>span:last-child{min-width:0}.reader-euicc-link .euicc-short-id{font-size:.7rem;white-space:normal;overflow-wrap:anywhere}
.technical-diagnostics{border-top:1px solid #eef2f7;padding-top:.8rem}.technical-diagnostics summary{cursor:pointer;color:#64748b;font-size:.82rem}.technical-diagnostics pre{margin:.8rem 0 0;padding:.75rem;border-radius:.6rem;background:#f8fafc;color:#7f1d1d;font-size:.72rem;white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:991.98px){.hardware-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767.98px){.hardware-grid,.detail-grid{grid-template-columns:1fr}.active-euicc-filter{align-items:flex-start}.hardware-card dl,.detail-panel dl{grid-template-columns:1fr}.hardware-card dd,.detail-panel dd{margin-bottom:.35rem}}
.capacity-panel{border-left:.3rem solid #2563eb}.capacity-progress{width:min(28rem,80vw);height:.65rem;margin:.65rem 0}.capacity-panel .form-label{font-size:.78rem;color:#475569}
