:root { color-scheme: dark; }
button:focus-visible, a:focus-visible, select:focus-visible, input:focus-visible,
textarea:focus-visible, [tabindex]:focus-visible {
  outline: 2px solid #79d6ff; outline-offset: 3px;
}
.save-indicator { display:inline-flex; align-items:center; gap:6px; background:transparent;
  border:1px solid #476358; color:#b4dfc7; border-radius:16px; padding:5px 10px; font-size:11px; }
.save-indicator::before { content:''; width:6px; height:6px; flex:none; border-radius:50%; background:currentColor; }
.save-indicator:hover { background:#253b35; }
.save-indicator[data-status="error"], .save-indicator[data-status="conflict"],
.save-indicator[data-status="recovery"] { border-color:#a96b42; color:#ffca9f; background:#3d2b24; }
.q-dialog-overlay { position:fixed; inset:0; z-index:10020; background:#000b;
  display:flex; justify-content:center; align-items:center; padding:20px; }
.q-dialog { width:min(600px,100%); max-height:calc(100dvh - 40px); display:flex; flex-direction:column;
  border:1px solid #4b5663; border-radius:14px; background:#20252c; color:#e2e9f1; box-shadow:0 24px 80px #0009; }
.q-dialog-header { display:flex; align-items:center; gap:16px; padding:18px 20px; border-bottom:1px solid #39424e; }
.q-dialog-header h2 { margin:0; flex:1; font-size:18px; line-height:1.35; color:#d3ecff; }
.q-dialog-close { min-width:36px; min-height:36px; font-size:22px; padding:3px; }
.q-dialog-content { padding:18px 20px; overflow:auto; font-size:13px; line-height:1.65; }
.q-dialog-content p { margin:0 0 12px; }
.q-dialog-content p:last-child { margin-bottom:0; }
.q-dialog-content .q-detail { background:#161c23; padding:12px; border-radius:8px; overflow-wrap:anywhere; color:#b8c8d9; }
.q-dialog-content label { display:block; margin-bottom:6px; color:#bdd8ef; }
.q-dialog-content input, .q-dialog-content select, .q-dialog-content textarea { width:100%; min-width:0; min-height:40px; padding:9px 11px; border:1px solid #536173; border-radius:6px; background:#151b21; color:#fff; font:inherit; }
.q-dialog-content input[type="checkbox"], .q-dialog-content input[type="radio"] { width:16px; min-height:16px; padding:0; accent-color:#6ed9b9; }
.q-dialog-content .wb-field { display:flex; margin-bottom:16px; gap:6px; }
.q-dialog-actions { display:flex; justify-content:flex-end; gap:8px; padding:14px 20px; flex-wrap:wrap; border-top:1px solid #39424e; }
.q-dialog-actions button { min-height:38px; padding:8px 14px; }
.q-dialog-actions .q-danger { background:#572a30; border:1px solid #a86873; color:#ffcad1; }
.q-shortcuts { display:grid; grid-template-columns:auto 1fr; gap:10px 18px; margin:0; }
.q-shortcuts dt, .q-shortcuts dd { margin:0; }
.q-shortcuts kbd { white-space:nowrap; }
.searchres { max-height:320px; overflow:auto; min-width:260px; }
.searchres [role="option"] { white-space:normal; overflow-wrap:anywhere; line-height:1.5; }
.searchres [role="option"] span { color:#b8c4d0; }
.searchres [role="option"][aria-selected="true"] { background:#214461; }
@media (max-width:600px) {
  .q-dialog-overlay { padding:10px; }
  .q-dialog { max-height:calc(100dvh - 20px); }
  .q-dialog-header, .q-dialog-content, .q-dialog-actions { padding:14px; }
  .q-dialog-actions button { flex:1 1 auto; min-height:44px; }
  .save-indicator { max-width:100%; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration:.01ms !important; scroll-behavior:auto !important; } }
