/* Elegant, accessible dark theme with blue accent */
:root{
  color-scheme: dark;
  --bg: #0f1318;
  --panel: #141a21;
  --muted: #7a8796;
  --text: #e6edf3;
  --accent: #4ea8de;
  --accent-strong: #61b7ea;
  --danger: #ff6b6b;
  --success: #3ddc97;
  --border: #263241;
  --focus: #b3e1ff;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;line-height:1.45}
img{display:block}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:1100px;margin:20px auto;padding:0 16px}
.app-header,.app-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);background:rgba(20,26,33,.7);backdrop-filter:saturate(120%) blur(8px);position:sticky;top:0;z-index:2}
.app-footer{border-top:1px solid var(--border);border-bottom:none;position:static;margin-top:32px;background:transparent;backdrop-filter:none;gap:12px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:12px}
.brand-text{display:flex;flex-direction:column}
.muted{color:var(--muted)}
.small{font-size:.9rem}
.panel{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:16px 16px;margin:16px 0}
.panel h2, .panel h3{margin:6px 0 12px 0}
.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:12px}
.field{grid-column:span 6;display:flex;flex-direction:column;gap:6px}
.field.full{grid-column:1/-1}
label{font-weight:600}
input,select,textarea{background:#0c1015;border:1px solid var(--border);border-radius:10px;color:var(--text);padding:10px 12px;outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(97,183,234,.25)}
input[readonly],textarea[readonly]{opacity:.9}
.btn{--b:var(--accent);display:inline-flex;align-items:center;gap:8px;background:var(--b);color:#081018;border:none;border-radius:10px;padding:10px 14px;font-weight:600;cursor:pointer}
.btn:hover{filter:brightness(1.04)}
.btn:active{transform:translateY(1px)}
.btn.ghost{background:transparent;color:var(--accent);border:1px solid var(--border)}
.btn.primary{--b:var(--accent-strong)}
.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.actions.end{justify-content:flex-end}
.alert{border-radius:12px;padding:12px 14px;margin:12px 0;border:1px solid var(--border)}
.alert.error{border-color:#40262b;background:#170f12;color:#ffb3b3}
.alert.success{border-color:#2a3e36;background:#101a16;color:#b9f6d0}
.code{background:#0c1015;border:1px solid var(--border);border-radius:10px;padding:12px;overflow:auto}
.divider{height:1px;background:var(--border);margin:12px 0}
.checklist{list-style:disc;padding-left:20px}
.history{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.history li{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.top-actions{display:flex;gap:8px}

.steps{display:flex;flex-direction:column;gap:8px}
.step{transition:opacity .2s ease}
.wizard-nav{display:flex;align-items:center;gap:10px;margin-top:12px}
.wizard-nav .spacer{flex:1}

@media (max-width:900px){
  .field{grid-column:span 12}
}

/* Accessibility */
:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:0.001ms!important;animation-iteration-count:1!important;transition-duration:0.001ms!important;scroll-behavior:auto!important}
}
