:root{
  --dp-dark:#151426;
  --dp-accent:#cb4554;
  --dp-accent2:#ff4d8d;
  --dp-soft:#f7f3f5;
  --dp-line:#eadfe3;
  --dp-text:#111827;
  --dp-muted:#6b7280;
}

.dogscan-prediag{font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;max-width:1020px;margin:0 auto}
.dp-shell{
  border-radius:26px;
  background: radial-gradient(1200px 600px at 10% -10%, rgba(255,77,141,.18), transparent 60%),
              radial-gradient(900px 500px at 90% 0%, rgba(203,69,84,.14), transparent 55%),
              linear-gradient(180deg, #ffffff, #ffffff);
  padding: 18px;
  border: 1px solid rgba(21,20,38,.08);
  box-shadow: 0 20px 60px rgba(21,20,38,.10);
}

.dp-header{padding:10px 6px 14px}
.dp-brand{display:flex;gap:12px;align-items:flex-start}
.dp-logo-dot{
  width:44px;height:44px;border-radius:14px;
  background: linear-gradient(135deg, var(--dp-accent), var(--dp-accent2));
  box-shadow: 0 12px 30px rgba(203,69,84,.25);
}
.dp-badge{
  display:inline-flex;align-items:center;gap:8px;
  background: rgba(21,20,38,.08);
  color: var(--dp-dark);
  border-radius:999px;padding:6px 10px;
  font-weight:900;font-size:12px;letter-spacing:.08em
}
.dp-brand-text h2{margin:6px 0 0;font-size:28px;line-height:1.1;color:var(--dp-dark)}
.dp-sub{color:var(--dp-muted);margin:.35rem 0 0}

.dp-card{
  background:#fff;border:1px solid rgba(21,20,38,.08);
  border-radius:22px;
  box-shadow:0 14px 40px rgba(21,20,38,.06);
  padding:18px;margin:12px 0
}
.dp-mini{padding:14px}
.dp-quiz{padding:18px}

.dp-step-indicators{
  display:flex;justify-content:space-between;gap:12px;
  margin-bottom:24px;padding:0 10px;
}
.dp-step-ind{
  flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;
  position:relative;cursor:pointer;
}
.dp-step-ind span{
  width:42px;height:42px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-weight:1000;font-size:16px;
  background:rgba(21,20,38,.08);
  color:var(--dp-muted);
  border:2px solid rgba(21,20,38,.10);
  transition:all .2s ease;
  z-index:2;
}
.dp-step-ind small{
  font-size:11px;font-weight:700;color:var(--dp-muted);
  text-align:center;
}
.dp-step-ind.is-active span{
  background: linear-gradient(135deg, var(--dp-accent), var(--dp-accent2));
  color:#fff;
  border-color:transparent;
  box-shadow:0 8px 20px rgba(203,69,84,.35);
  transform:scale(1.1);
}
.dp-step-ind.is-active small{
  color:var(--dp-dark);
  font-weight:900;
}
.dp-step-ind.is-completed span{
  background: linear-gradient(135deg, var(--dp-accent), var(--dp-accent2));
  color:#fff;
  border-color:transparent;
}
.dp-step-ind.is-completed small{
  color:var(--dp-dark);
}
.dp-step-ind:not(:last-child)::after{
  content:'';
  position:absolute;
  top:21px;left:calc(50% + 21px);
  width:calc(100% - 42px);height:2px;
  background:rgba(21,20,38,.10);
  z-index:1;
}
.dp-step-ind.is-completed:not(:last-child)::after{
  background: linear-gradient(90deg, var(--dp-accent), var(--dp-accent2));
}

@media(max-width:660px){
  .dp-step-indicators{gap:8px;padding:0 4px;}
  .dp-step-ind span{width:36px;height:36px;font-size:14px;}
  .dp-step-ind small{font-size:10px;}
  .dp-step-ind:not(:last-child)::after{top:18px;left:calc(50% + 18px);width:calc(100% - 36px);}
}

.dp-step-panel{display:none}
.dp-step-panel.is-active{display:block}

.dp-hicon{
  display:inline-flex;align-items:center;justify-content:center;
  width:34px;height:34px;border-radius:12px;
  background: rgba(203,69,84,.10);
  margin-right:8px;
}
.dp-q{margin:14px 0}
.dp-q-label{
  font-weight:900;margin-bottom:10px;color:var(--dp-dark);
  display:flex;align-items:center;gap:10px
}
.dp-qdot{
  width:10px;height:10px;border-radius:999px;
  background: linear-gradient(135deg, var(--dp-accent), var(--dp-accent2));
  box-shadow:0 6px 16px rgba(203,69,84,.25);
}
.dp-q-choices{display:flex;gap:10px;flex-wrap:wrap}

.dp-choice{
  border:1px solid rgba(21,20,38,.10);
  border-radius:999px;
  padding:10px 12px;
  cursor:pointer;
  display:flex;align-items:center;gap:10px;
  background: rgba(255,255,255,.9);
  transition: transform .12s ease, border-color .12s ease, box-shadow .12s ease, background .12s ease;
}
.dp-choice:hover{transform:translateY(-1px);border-color:rgba(203,69,84,.35);box-shadow:0 10px 22px rgba(21,20,38,.08)}
.dp-choice input{accent-color:var(--dp-accent)}
.dp-choice input:checked + span{font-weight:900}
.dp-choice span{color:var(--dp-dark)}

.dp-field{margin:12px 0}
.dp-field label{display:block;font-weight:900;margin-bottom:8px;color:var(--dp-dark)}
.dp-tag{
  font-size:11px;font-weight:900;
  background:rgba(21,20,38,.08);
  padding:4px 8px;border-radius:999px;color:var(--dp-dark);
}
.dp-req{color:var(--dp-accent);font-weight:900}

.dp-input{
  width:100%;
  border:1px solid rgba(21,20,38,.10);
  border-radius:14px;
  padding:12px 12px;
  background:#fff;
  transition:border-color .12s ease, box-shadow .12s ease;
}
.dp-input:focus{
  outline:none;
  border-color: rgba(203,69,84,.45);
  box-shadow:0 0 0 4px rgba(203,69,84,.14);
}

.dp-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:760px){.dp-grid{grid-template-columns:1fr}}

.dp-consent{
  display:flex;gap:10px;align-items:flex-start;
  margin:12px 0;
  padding:12px 12px;
  border-radius:16px;
  border:1px dashed rgba(203,69,84,.35);
  background: rgba(203,69,84,.06);
  color:var(--dp-dark);
}
.dp-consent input{accent-color:var(--dp-accent);margin-top:3px}

.dp-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:14px;flex-wrap:wrap}

.dp-btn{
  border:1px solid rgba(21,20,38,.10);
  background:#fff;
  border-radius:16px;
  padding:12px 16px;
  font-weight:900;
  cursor:pointer;
  transition: transform .12s ease, box-shadow .12s ease, background .12s ease, border-color .12s ease;
}
.dp-btn:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(21,20,38,.10)}
.dp-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}

.dp-btn-primary{
  background: linear-gradient(135deg, var(--dp-accent), var(--dp-accent2));
  color:#fff;border-color:transparent;
}
.dp-btn-primary:hover{box-shadow:0 18px 40px rgba(203,69,84,.25)}

.dp-btn-ghost{
  background: rgba(21,20,38,.04);
  border-color: rgba(21,20,38,.08);
  color: var(--dp-dark);
}

.dp-result-top{display:grid;grid-template-columns:280px 1fr;gap:16px;align-items:center}
@media(max-width:860px){.dp-result-top{grid-template-columns:1fr}}

.dp-gauge{display:flex;justify-content:center}
.dp-gauge-ring{width:220px;height:220px;position:relative}
.dp-gauge-fill{
  --p:0;
  width:100%;height:100%;border-radius:50%;
  background:conic-gradient(var(--dp-accent2) calc(var(--p) * 1%), rgba(21,20,38,.08) 0);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 18px 45px rgba(21,20,38,.12);
}
.dp-gauge-center{
  width:72%;height:72%;border-radius:50%;background:#fff;
  position:absolute;inset:14%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  border:1px solid rgba(21,20,38,.08)
}
.dp-gauge-value{font-size:36px;font-weight:1000;color:var(--dp-dark)}
.dp-gauge-label{font-size:12px;color:var(--dp-muted);margin-top:-6px}

.dp-reco-head{display:flex;align-items:center;gap:10px}
.dp-reco-pill{
  font-size:11px;font-weight:1000;
  padding:6px 10px;border-radius:999px;
  background: rgba(203,69,84,.10);
  color: var(--dp-accent);
  border:1px solid rgba(203,69,84,.22);
}
.dp-reco-title{margin:0}
.dp-reco-text{color:var(--dp-dark);font-size:15px;line-height:1.45;margin:10px 0 0}
.dp-reco-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}

.dp-info-grid{display:grid;gap:16px;grid-template-columns:1.2fr .8fr}
@media(max-width:900px){.dp-info-grid{grid-template-columns:1fr}}
.dp-pricebox{
  background: radial-gradient(500px 180px at 20% 0%, rgba(255,77,141,.14), transparent 55%),
              rgba(21,20,38,.03);
  border:1px solid rgba(21,20,38,.08);
  border-radius:18px;padding:14px
}
.dp-prices{display:grid;gap:8px}
.dp-prices>div{display:flex;justify-content:space-between;align-items:center}
.dp-prices span{color:var(--dp-dark)}
.dp-prices strong{color:var(--dp-dark)}

.dp-tips{margin:8px 0 0;padding-left:18px;color:var(--dp-dark)}
.dp-muted{color:var(--dp-muted)}
.dp-small{font-size:12px}

.dp-toast{
  position:fixed;bottom:20px;left:50%;transform:translateX(-50%);
  max-width:600px;width:calc(100% - 40px);
  background: linear-gradient(135deg, var(--dp-accent), var(--dp-accent2));
  color:#fff;padding:16px 20px;border-radius:16px;font-weight:900;
  box-shadow:0 18px 40px rgba(203,69,84,.45), 0 0 0 1px rgba(255,255,255,.3) inset;
  z-index:10000;
  font-size:15px;
  text-align:center;
  line-height:1.4;
  display:none;
  animation:dp-toast-in .3s ease;
}
.dp-toast:not([hidden]){
  display:block;
}
@keyframes dp-toast-in{
  from{opacity:0;transform:translateX(-50%) translateY(20px);}
  to{opacity:1;transform:translateX(-50%) translateY(0);}
}
.dp-important{margin-top:10px;line-height:1.35;}
.dp-important-icon{margin-right:6px;}

.dp-outzone{margin-top:10px;padding:10px 12px;border-radius:12px;border:1px solid rgba(203,69,84,.25);background:rgba(203,69,84,.06);color:#7b1b28;display:flex;gap:8px;align-items:flex-start;line-height:1.35;}
.dp-outzone-icon{margin-top:1px;}

select.dp-input{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath fill='%236b7280' d='M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:40px}
