.cab-sections .cab-key-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.cab-sections .cab-key-tile { padding:24px; gap:18px; border-radius:24px; align-content:start; }
.cab-key-summary-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.cab-sections .cab-key-tile.has-scene { background:linear-gradient(110deg,rgba(12,24,34,.92),rgba(12,24,34,.55)),var(--key-scene); background-size:cover; background-position:var(--key-scene-position,center); color:#f0f5f8; }
.cab-sections .cab-key-tile.has-scene > .cab-key-tile-head .cab-key-label,
.cab-sections .cab-key-tile.has-scene > .cab-key-tile-meta span { color:#edf4f7; }
.cab-sections .cab-key-tile.has-scene .cab-key-summary-actions .btn-secondary { color:#f0f5f8; background:rgba(16,29,40,.78); border-color:rgba(230,243,255,.3); }
.cab-key-summary-actions .btn { padding:12px 16px; }
.cab-sections .cab-key-label { font-size:19px; font-weight:650; }
.cab-sections .cab-key-token-copy { margin-top:8px; }
.cab-key-dialog { position:fixed !important; inset:0; width:min(560px,calc(100vw - 28px)); max-height:85dvh; margin:auto; padding:24px; border:1px solid var(--ox-line); border-radius:24px; background:var(--ox-surface,#151d29) !important; color:var(--ox-text,#eef3fa); box-shadow:0 24px 90px #0008; overflow:auto; }
.cab-key-dialog:not([open]) { display:none !important; }
.cab-key-dialog[open] { display:grid; gap:18px; animation:key-dialog-in .2s ease-out; }
.cab-key-dialog::backdrop { background:rgba(6,12,20,.72); }
.cab-key-dialog-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.cab-key-dialog-heading h2 { margin:0; font-size:22px; color:var(--ox-text); }
.cab-key-dialog .cab-key-tile-footer { display:flex; flex-wrap:wrap; }
.cab-key-qr { text-align:center; font-size:14px; color:var(--ox-muted); }
.cab-key-qr[hidden] { display:none; }
.cab-key-qr img { display:block; width:240px; max-width:100%; height:auto; margin:0 auto 12px; padding:12px; background:white; border-radius:16px; }
@keyframes key-dialog-in { from { opacity:0; transform:translateY(-8px); } to { opacity:1; transform:translateY(0); } }
@media(prefers-reduced-motion:reduce) { .cab-key-dialog[open] { animation:none; } }
@media(max-width:700px) { .cab-sections .cab-key-grid { grid-template-columns:minmax(0,1fr); } .cab-sections .cab-key-tile { padding:18px; } .cab-key-dialog { padding:20px; } }
