:root{
  --dv-bg:#f4f8fc;
  --dv-surface:#ffffff;
  --dv-surface-soft:#f8fbff;
  --dv-blue:#245b9e;
  --dv-blue-2:#3e78bd;
  --dv-blue-dark:#173d6b;
  --dv-blue-soft:#eaf3fc;
  --dv-blue-soft-2:#dcebf8;
  --dv-line:#d8e5f1;
  --dv-text:#23364a;
  --dv-muted:#6c7f93;
  --dv-ok:#2d8a62;
  --dv-warn:#c8862d;
  --dv-danger:#b94a55;
  --dv-shadow:0 10px 30px rgba(36,91,158,.08);
  --dv-shadow-sm:0 4px 16px rgba(36,91,158,.07);
}

html,body{background:var(--dv-bg)!important;color:var(--dv-text)!important}
body{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}

/* Hlavicka vytěžovače */
header,.topbar{
  background:linear-gradient(135deg,#fff 0%,#f7fbff 70%,#eef6fd 100%)!important;
  border-bottom:1px solid var(--dv-line)!important;
  box-shadow:0 4px 18px rgba(36,91,158,.06)!important;
}
header{height:auto!important;min-height:72px!important;padding:10px 18px!important;flex-wrap:wrap}
.brand{color:var(--dv-blue-dark)!important;font-weight:850!important;letter-spacing:.01em}
.brand::before{content:"";display:inline-block;width:10px;height:10px;border-radius:50%;background:linear-gradient(135deg,var(--dv-blue),#75a7d8);margin-right:9px;box-shadow:0 0 0 5px rgba(62,120,189,.10);vertical-align:1px}
.tag,.who{background:var(--dv-blue-soft)!important;color:var(--dv-blue-dark)!important;border:1px solid var(--dv-blue-soft-2)!important}
.righttop,.top-actions{gap:8px!important;align-items:center!important;flex-wrap:wrap}

/* Tlacitka */
button,.btn,a.btn{
  border:1px solid var(--dv-line)!important;
  background:#fff!important;
  color:var(--dv-blue-dark)!important;
  border-radius:10px!important;
  padding:9px 13px!important;
  font-weight:750!important;
  box-shadow:0 2px 8px rgba(36,91,158,.04);
  transition:.16s ease!important;
  text-decoration:none!important;
}
button:hover,.btn:hover,a.btn:hover{transform:translateY(-1px);border-color:#a9c6e1!important;box-shadow:var(--dv-shadow-sm)}
.primary,.btn.primary{background:linear-gradient(135deg,var(--dv-blue),var(--dv-blue-2))!important;color:#fff!important;border-color:transparent!important}
.good{background:linear-gradient(135deg,#2d8a62,#3c9d76)!important;color:#fff!important;border-color:transparent!important}
.danger,button[style*="b42318"],button[style*="fff1f1"]{background:#fff5f6!important;color:var(--dv-danger)!important;border-color:#efc8ce!important}
.ghost{background:#fff!important}

/* 3sloupcovy generator */
main{background:var(--dv-bg)!important;gap:10px!important;padding:10px!important;height:calc(100vh - 92px)!important}
.left,.mid,.preview{
  background:var(--dv-surface)!important;
  border:1px solid var(--dv-line)!important;
  border-radius:16px!important;
  box-shadow:var(--dv-shadow-sm)!important;
}
.left,.mid{border-right:1px solid var(--dv-line)!important}
.mid{padding:18px!important}
.preview{padding:14px!important}

.drop{
  border:2px dashed #9fbfdd!important;
  border-radius:14px!important;
  background:linear-gradient(180deg,#fbfdff,#f2f8fd)!important;
  color:var(--dv-blue-dark)!important;
}
.keybox{background:#fbfdff!important;border-color:var(--dv-line)!important}
.doc{border-radius:11px!important;margin:6px 8px!important;border:1px solid transparent!important}
.doc:hover{background:#f5f9fd!important}
.doc.sel{background:linear-gradient(135deg,#edf5fd,#e2effb)!important;border-color:#a9c9e7!important;box-shadow:inset 3px 0 0 var(--dv-blue)!important}
.dname{color:var(--dv-text)!important}
.meta,.mut,label{color:var(--dv-muted)!important}
.status{border-color:var(--dv-line)!important;background:#fbfdff!important}

h2,.section-title{color:var(--dv-blue-dark)!important;font-weight:850!important}
.section{border-color:var(--dv-line)!important}

input,select,textarea{
  border:1px solid #cdddeb!important;
  background:#fff!important;
  color:var(--dv-text)!important;
  border-radius:9px!important;
  padding:9px 10px!important;
  box-shadow:inset 0 1px 2px rgba(36,91,158,.025)!important;
}
input:focus,select:focus,textarea:focus{
  outline:none!important;
  border-color:#6f9fca!important;
  box-shadow:0 0 0 3px rgba(62,120,189,.12)!important;
}
input[readonly]{background:#f5f9fd!important;color:#577087!important}

.viewer,.preview-wrap,.document-viewer{
  background:#eef4f9!important;
  border-color:var(--dv-line)!important;
  border-radius:12px!important;
}
.viewer-tools,.preview-toolbar{background:#f8fbfe!important;border-color:var(--dv-line)!important}
.audit{background:#f9fcff!important;border-color:var(--dv-line)!important;border-radius:11px!important}
.card,.card-panel{background:#fff!important;border:1px solid var(--dv-line)!important;box-shadow:var(--dv-shadow)!important;border-radius:16px!important}
.modal{backdrop-filter:blur(5px)}

/* Stavovy progress fronty */
.queue-panel,.queue-status,.progress-card,[class*="queue"],[class*="progress"]{
  border-color:var(--dv-line)!important;
}
progress{accent-color:var(--dv-blue)!important}

/* Administrace / historie / audit */
.admin-wrap{max-width:1500px!important;margin:24px auto!important;padding:0 20px 60px!important}
.admin-nav{display:flex!important;gap:8px!important;flex-wrap:wrap!important;margin-bottom:16px!important}
.admin-card{margin-bottom:16px!important;padding:18px!important}
.table{width:100%!important;border-collapse:separate!important;border-spacing:0!important;overflow:hidden!important}
.table th{background:#edf5fc!important;color:var(--dv-blue-dark)!important;border-bottom:1px solid var(--dv-line)!important;font-size:12px!important}
.table td{background:#fff!important;border-bottom:1px solid #edf2f7!important;color:var(--dv-text)!important}
.table tr:hover td{background:#f9fcff!important}
.table th,.table td{padding:11px 12px!important}
.flash{border-radius:10px!important}

/* Footer */
footer{color:#8090a1!important;background:transparent!important;border:0!important}

/* Jemna damska linka bez prehnane ruzove */
.mid h2::after,.section-title::after{
  content:"";display:block;width:44px;height:3px;margin-top:7px;border-radius:99px;
  background:linear-gradient(90deg,var(--dv-blue-2),#9dbbd7);
}

@media(max-width:1150px){
  main{padding:7px!important;gap:7px!important}
}
@media(max-width:760px){
  header,.topbar{padding:10px 12px!important}
  .admin-wrap{padding:0 10px 50px!important}
  button,.btn,a.btn{padding:8px 10px!important}
}
