:root{
  --dvl-bg:#0b0f17;
  --dvl-surface:#101827;
  --dvl-surface-2:#0e1524;
  --dvl-border:rgba(255,255,255,.10);
  --dvl-text:rgba(255,255,255,.92);
  --dvl-muted:rgba(255,255,255,.68);
  --dvl-accent:#3b82f6;
  --dvl-accent-2:#22c55e;
  --dvl-danger:#ef4444;
  --dvl-warning:#f59e0b;
  --dvl-shadow:0 12px 30px rgba(0,0,0,.35);
  --dvl-radius:14px;
  --dvl-radius-sm:10px;
  --dvl-gap:16px;
  --dvl-font:system-ui,-apple-system,"Segoe UI",Roboto,Arial,"Noto Sans","Liberation Sans",sans-serif;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:var(--dvl-font);
  color:var(--dvl-text);
  background:
    radial-gradient(900px 400px at 20% -10%, rgba(59,130,246,.35), transparent 60%),
    radial-gradient(900px 400px at 80% -10%, rgba(34,197,94,.20), transparent 55%),
    linear-gradient(180deg, var(--dvl-bg), #070a10);
  line-height:1.45;
}

a{color:inherit}

.dvl-page{min-height:100%;padding:28px 16px}
.dvl-container{max-width:1060px;margin:0 auto}

.dvl-stack{display:flex;flex-direction:column;gap:var(--dvl-gap)}
.dvl-row{display:flex;gap:var(--dvl-gap);align-items:center;flex-wrap:wrap}
.dvl-spacer{flex:1 1 auto}

.dvl-toolbar{display:flex;align-items:center;gap:calc(var(--dvl-gap) - 6px)}
@media (max-width:640px){.dvl-toolbar{flex-wrap:wrap}}
.dvl-toolbar__meta{color:var(--dvl-muted);font-size:12px}

.dvl-card{
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  border:1px solid var(--dvl-border);
  border-radius:var(--dvl-radius);
  box-shadow:var(--dvl-shadow);
  backdrop-filter:saturate(130%) blur(8px);
  padding:18px;
}
.dvl-card--tight{padding:14px}
.dvl-card__title{margin:0 0 10px;font-size:18px;letter-spacing:.2px}
.dvl-card__subtitle{margin:0 0 14px;color:var(--dvl-muted);font-size:13px}

.dvl-divider{height:1px;background:var(--dvl-border);margin:14px 0}

.dvl-field{display:flex;flex-direction:column;gap:8px}
.dvl-label{font-size:13px;color:var(--dvl-muted)}

.dvl-input,
.dvl-select,
.dvl-textarea{
  width:100%;
  border-radius:var(--dvl-radius-sm);
  border:1px solid var(--dvl-border);
  background:rgba(16,24,39,.75);
  color:var(--dvl-text);
  padding:10px 12px;
  outline:none;
  transition:border-color .15s ease, box-shadow .15s ease, transform .05s ease;
}
.dvl-textarea{min-height:96px;resize:vertical}
.dvl-input::placeholder,.dvl-textarea::placeholder{color:rgba(255,255,255,.45)}
.dvl-input:focus,.dvl-select:focus,.dvl-textarea:focus{
  border-color:rgba(59,130,246,.55);
  box-shadow:0 0 0 4px rgba(59,130,246,.18);
}
.dvl-input:disabled,.dvl-select:disabled,.dvl-textarea:disabled{opacity:.6;cursor:not-allowed}

.dvl-help{font-size:12px;color:rgba(255,255,255,.58)}

.dvl-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  border-radius:999px;
  border:1px solid var(--dvl-border);
  background:rgba(255,255,255,.06);
  color:var(--dvl-text);
  padding:10px 14px;
  font-weight:600;
  letter-spacing:.2px;
  cursor:pointer;
  user-select:none;
  transition:transform .06s ease, background .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.dvl-btn:hover{background:rgba(255,255,255,.10)}
.dvl-btn:active{transform:translateY(1px)}
.dvl-btn:focus{outline:none;box-shadow:0 0 0 4px rgba(59,130,246,.18)}
.dvl-btn:disabled{opacity:.55;cursor:not-allowed}

.dvl-btn--primary{
  border-color:rgba(59,130,246,.55);
  background:linear-gradient(180deg, rgba(59,130,246,.95), rgba(37,99,235,.92));
  box-shadow:0 10px 22px rgba(59,130,246,.25);
}
.dvl-btn--primary:hover{background:linear-gradient(180deg, rgba(59,130,246,1), rgba(37,99,235,.98))}

.dvl-btn--success{
  border-color:rgba(34,197,94,.55);
  background:linear-gradient(180deg, rgba(34,197,94,.92), rgba(22,163,74,.92));
  box-shadow:0 10px 22px rgba(34,197,94,.20);
}

.dvl-btn--danger{
  border-color:rgba(239,68,68,.55);
  background:linear-gradient(180deg, rgba(239,68,68,.92), rgba(220,38,38,.92));
  box-shadow:0 10px 22px rgba(239,68,68,.18);
}

.dvl-badge{
  display:inline-flex;
  align-items:center;
  border:1px solid var(--dvl-border);
  border-radius:999px;
  padding:6px 10px;
  font-size:12px;
  color:var(--dvl-muted);
  background:rgba(0,0,0,.15);
}

.dvl-alert{
  border-radius:var(--dvl-radius-sm);
  border:1px solid var(--dvl-border);
  padding:12px 12px;
  background:rgba(255,255,255,.05);
}
.dvl-alert--error{border-color:rgba(239,68,68,.55);background:rgba(239,68,68,.10)}
.dvl-alert--warning{border-color:rgba(245,158,11,.55);background:rgba(245,158,11,.10)}
.dvl-alert__title{margin:0 0 6px;font-weight:700;font-size:13px}
.dvl-alert__text{margin:0;color:var(--dvl-muted);font-size:13px}

.dvl-error-text{color:#fecaca;font-size:12px}
.dvl-field--error .dvl-input,
.dvl-field--error .dvl-select,
.dvl-field--error .dvl-textarea{
  border-color:rgba(239,68,68,.60);
  box-shadow:0 0 0 4px rgba(239,68,68,.16);
}

.dvl-table{width:100%;border-collapse:separate;border-spacing:0}
.dvl-table th,.dvl-table td{padding:10px 12px;border-bottom:1px solid var(--dvl-border)}
.dvl-table th{text-align:left;font-size:12px;color:var(--dvl-muted);font-weight:700}

@media (prefers-reduced-motion:reduce){
  .dvl-btn,.dvl-input,.dvl-select,.dvl-textarea{transition:none}
}

/* UX polish (mobile + controls) */
.dvl-nav,
.dvl-container > .dvl-row:first-child{
  padding:10px 12px;
  border:1px solid var(--dvl-border);
  border-radius:calc(var(--dvl-radius) + 2px);
  background:linear-gradient(180deg, rgba(16,24,39,.72), rgba(16,24,39,.45));
  backdrop-filter:saturate(140%) blur(6px);
  margin-bottom:14px;
}
.dvl-nav .dvl-btn,
.dvl-container > .dvl-row:first-child .dvl-btn{min-height:40px}

.dvl-container > .dvl-card:first-child{
  padding:16px;
  border-color:rgba(255,255,255,.14);
  background:linear-gradient(180deg, rgba(16,24,39,.78), rgba(16,24,39,.42));
}

.dvl-btn{min-height:44px;line-height:1.1}
.dvl-btn:not(.dvl-btn--primary):not(.dvl-btn--success):not(.dvl-btn--danger){
  background:linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.04));
  border-color:rgba(255,255,255,.12);
}
.dvl-btn:hover{border-color:rgba(255,255,255,.18);box-shadow:0 10px 20px rgba(0,0,0,.18)}
.dvl-btn:active{box-shadow:none;transform:translateY(1px)}
.dvl-btn:focus{box-shadow:none}
.dvl-btn:focus-visible{box-shadow:0 0 0 4px rgba(59,130,246,.20)}

.dvl-input:focus,.dvl-select:focus,.dvl-textarea:focus{box-shadow:none}
.dvl-input:focus-visible,.dvl-select:focus-visible,.dvl-textarea:focus-visible{
  border-color:rgba(59,130,246,.65);
  box-shadow:0 0 0 3px rgba(59,130,246,.18);
}
.dvl-select[multiple]{min-height:140px;padding:10px}

.dvl-card{
  background:linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.03));
  border-color:rgba(255,255,255,.12);
  box-shadow:0 10px 24px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter:saturate(140%) blur(6px);
}

@media (max-width:640px){
  .dvl-page{padding:18px 12px}
  .dvl-row{gap:10px}
  .dvl-row .dvl-btn{flex:0 0 auto;max-width:100%}
  .dvl-card{padding:16px}
}

/* Auth (login/register) */
.dvl-auth{
  min-height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:28px 16px;
}

.dvl-auth__card{
  width:min(520px, 100%);
  padding:22px;
  border:1px solid var(--dvl-border);
  border-color:rgba(255,255,255,.12);
  border-radius:var(--dvl-radius);
  background:linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.03));
  box-shadow:0 10px 24px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter:saturate(140%) blur(6px);
}

.dvl-auth__title{margin:0 0 8px;font-size:22px;letter-spacing:.2px}
.dvl-auth__subtitle{margin:0 0 16px;color:var(--dvl-muted);font-size:13px}

.dvl-auth form{display:flex;flex-direction:column;gap:var(--dvl-gap)}

.dvl-auth .login-username,
.dvl-auth .login-password,
.dvl-auth .login-remember,
.dvl-auth .login-submit{margin:0}

.dvl-auth .login-username label,
.dvl-auth .login-password label{
  display:block;
  margin:0 0 8px;
  font-size:13px;
  color:var(--dvl-muted);
}

.dvl-auth #user_login,
.dvl-auth #user_pass{
  width:100%;
  border-radius:var(--dvl-radius-sm);
  border:1px solid var(--dvl-border);
  background:rgba(16,24,39,.75);
  color:var(--dvl-text);
  padding:10px 12px;
  outline:none;
  transition:border-color .15s ease, box-shadow .15s ease, transform .05s ease;
}

.dvl-auth #user_login::placeholder,
.dvl-auth #user_pass::placeholder{color:rgba(255,255,255,.45)}

.dvl-auth #user_login:disabled,
.dvl-auth #user_pass:disabled{opacity:.6;cursor:not-allowed}

.dvl-auth #user_login:focus,
.dvl-auth #user_pass:focus{box-shadow:none}

.dvl-auth #user_login:focus-visible,
.dvl-auth #user_pass:focus-visible{
  border-color:rgba(59,130,246,.65);
  box-shadow:0 0 0 3px rgba(59,130,246,.18);
}

.dvl-auth .login-remember label{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:13px;
  color:var(--dvl-muted);
  cursor:pointer;
  user-select:none;
}

.dvl-auth .login-remember input[type=checkbox]{
  width:18px;
  height:18px;
  border-radius:6px;
  border:1px solid var(--dvl-border);
  background:rgba(16,24,39,.75);
  appearance:none;
  display:inline-grid;
  place-content:center;
  transition:transform .06s ease, background .15s ease, border-color .15s ease, box-shadow .15s ease;
}

.dvl-auth .login-remember input[type=checkbox]::before{
  content:"";
  width:10px;
  height:10px;
  border-radius:3px;
  transform:scale(0);
  transition:transform .12s ease;
  background:linear-gradient(180deg, rgba(59,130,246,.95), rgba(37,99,235,.92));
}

.dvl-auth .login-remember input[type=checkbox]:checked::before{transform:scale(1)}

.dvl-auth .login-remember input[type=checkbox]:active{transform:translateY(1px)}

.dvl-auth .login-remember input[type=checkbox]:focus{box-shadow:none}
.dvl-auth .login-remember input[type=checkbox]:focus-visible{
  border-color:rgba(59,130,246,.65);
  box-shadow:0 0 0 3px rgba(59,130,246,.18);
}

.dvl-auth .login-submit input[type=submit]{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  border-radius:999px;
  border:1px solid rgba(59,130,246,.55);
  background:linear-gradient(180deg, rgba(59,130,246,.95), rgba(37,99,235,.92));
  box-shadow:0 10px 22px rgba(59,130,246,.25);
  color:var(--dvl-text);
  padding:10px 14px;
  min-height:44px;
  line-height:1.1;
  font-weight:600;
  letter-spacing:.2px;
  cursor:pointer;
  user-select:none;
  transition:transform .06s ease, background .15s ease, border-color .15s ease, box-shadow .15s ease;
}

.dvl-auth .login-submit input[type=submit]:hover{
  background:linear-gradient(180deg, rgba(59,130,246,1), rgba(37,99,235,.98));
  border-color:rgba(255,255,255,.18);
}

.dvl-auth .login-submit input[type=submit]:active{transform:translateY(1px);box-shadow:none}

.dvl-auth .login-submit input[type=submit]:focus{outline:none;box-shadow:none}
.dvl-auth .login-submit input[type=submit]:focus-visible{box-shadow:0 0 0 4px rgba(59,130,246,.20)}

.dvl-auth .login-submit input[type=submit]:disabled{opacity:.55;cursor:not-allowed}

@media (max-width:640px){
  .dvl-auth{padding:18px 12px}
  .dvl-auth__card{padding:18px}
}

/* Profile accordion + key-value grid */
.dvl-search,
.dvl-profile-search,
.dvl-card .dvl-input[placeholder="Search fields…"]{margin-bottom:12px}

.dvl-acc{border:1px solid var(--dvl-border);border-radius:var(--dvl-radius-sm);background:rgba(0,0,0,.10);overflow:hidden}
.dvl-acc__item + .dvl-acc__item{border-top:1px solid var(--dvl-border)}
.dvl-acc__head{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border:0;
  background:transparent;
  color:var(--dvl-text);
  cursor:pointer;
  user-select:none;
}
.dvl-acc__head:hover{background:rgba(255,255,255,.04)}
.dvl-acc__head:focus{outline:none}
.dvl-acc__head:focus-visible{box-shadow:0 0 0 3px rgba(59,130,246,.18)}
.dvl-acc__head::after{
  content:"";
  width:10px;
  height:10px;
  border-right:2px solid rgba(255,255,255,.70);
  border-bottom:2px solid rgba(255,255,255,.70);
  transform:rotate(45deg);
  transition:transform .12s ease;
  flex:0 0 auto;
}
.dvl-acc__head[aria-expanded="true"]::after,.dvl-acc__item.is-open > .dvl-acc__head::after{transform:rotate(-135deg)}
.dvl-acc__meta{color:var(--dvl-muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dvl-acc__body{padding:12px 14px;border-top:1px solid var(--dvl-border)}

.dvl-kv{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.dvl-kv__row{display:grid;grid-template-columns:160px minmax(0,1fr);gap:10px;align-items:start}
.dvl-kv__k{color:var(--dvl-muted);font-size:12px;font-weight:700;letter-spacing:.2px}
.dvl-kv__v{min-width:0}

.dvl-prewrap{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}

@media (max-width:640px){
  .dvl-kv{grid-template-columns:1fr}
  .dvl-kv__row{grid-template-columns:1fr;gap:6px}
}

/* DVL template: hide theme header/footer chrome (CSS-only) */
body.page-template-dvl-app > header,
body.page-template-dvl-app-php > header,
body.page-template-dvl-app #masthead,
body.page-template-dvl-app-php #masthead,
body.page-template-dvl-app .site-header,
body.page-template-dvl-app-php .site-header,
body.page-template-dvl-app .main-navigation,
body.page-template-dvl-app-php .main-navigation{
  display:none !important;
}

body.page-template-dvl-app > footer,
body.page-template-dvl-app-php > footer,
body.page-template-dvl-app #colophon,
body.page-template-dvl-app-php #colophon,
body.page-template-dvl-app .site-footer,
body.page-template-dvl-app-php .site-footer{
  display:none !important;
}

body.page-template-dvl-app .site,
body.page-template-dvl-app-php .site,
body.page-template-dvl-app #page,
body.page-template-dvl-app-php #page,
body.page-template-dvl-app .site-content,
body.page-template-dvl-app-php .site-content{
  margin:0 !important;
  padding:0 !important;
  max-width:none !important;
}

body.page-template-dvl-app #wpadminbar,
body.page-template-dvl-app-php #wpadminbar{
  display:block !important;
}
