.dl-widget {
	--dl-purple: #2e1a52;
	--dl-purple-light: #6b4fa0;
	--dl-ink: #2a2530;
	--dl-ink-dim: #706a7a;
	--dl-line: #e4e0ea;
	--dl-panel: #ffffff;
	--dl-bg: #f5f3f8;
	--dl-accent: #e8992e;
	--dl-good: #2f8f5b;
	--dl-warn: #e8992e;
	--dl-bad: #c23a39;
	font-family: 'Poppins', sans-serif;
	color: var(--dl-ink);
	padding: 24px 20px 48px;
	border: none;
}
.dl-widget * { box-sizing: border-box; font-family: 'Poppins', sans-serif !important; }

.dl-card { max-width: 460px; margin: 0 auto; background: var(--dl-panel) !important; border-radius: 20px !important; padding: 32px; border: none !important; box-shadow: none !important; }

/* Indicador de passos */
.dl-steps { display: flex; align-items: center; justify-content: center; margin-bottom: 28px; }
.dl-step { display: flex; flex-direction: column; align-items: center; gap: 6px; }
.dl-step__circle { width: 32px; height: 32px; border-radius: 50% !important; background: #ece8f3 !important; color: var(--dl-ink-dim) !important; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 13px; transition: background 0.2s, color 0.2s; border: none !important; }
.dl-step__label { font-size: 11px; color: var(--dl-ink-dim) !important; font-weight: 600; text-transform: none !important; }
.dl-step.is-active .dl-step__circle { background: var(--dl-purple) !important; color: #fff !important; }
.dl-step.is-active .dl-step__label { color: var(--dl-purple) !important; }
.dl-step.is-done .dl-step__circle { background: var(--dl-good) !important; color: #fff !important; }
.dl-step.is-done .dl-step__circle::after { content: "✓"; }
.dl-step.is-done .dl-step__circle { font-size: 0; }
.dl-step.is-done .dl-step__label { color: var(--dl-good) !important; }
.dl-step__line { width: 64px; height: 2px; background: #ece8f3; margin: 0 10px 20px; }
.dl-step__line.is-done { background: var(--dl-good); }

/* Painéis */
.dl-panel h3 { font-size: 19px; margin: 0 0 8px; line-height: 1.3; color: var(--dl-purple) !important; font-weight: 700 !important; text-transform: none !important; }
.dl-panel__hint { font-size: 13px; color: var(--dl-ink-dim); margin: 0 0 18px; }
.dl-panel label { display: block; font-size: 13px; font-weight: 600; margin: 14px 0 5px; text-align: left; }
.dl-panel input[type="text"], .dl-panel input[type="email"] {
	width: 100%; border: 1px solid var(--dl-line) !important; border-radius: 10px !important; padding: 12px 14px; font-size: 14px; color: var(--dl-ink); background: #fff !important; box-shadow: none !important;
}
.dl-panel input:focus { outline: 2px solid var(--dl-purple-light); outline-offset: 1px; }
.dl-error { color: var(--dl-bad); font-size: 13px; margin: 10px 0 0; }

.dl-btn-primary { width: 100%; margin-top: 18px; background: var(--dl-accent) !important; color: #251405 !important; border: none !important; border-radius: 100px !important; padding: 14px; font-weight: 700; font-size: 14.5px; cursor: pointer; text-transform: none !important; letter-spacing: normal !important; box-shadow: none !important; }
.dl-btn-primary:disabled { opacity: 0.6; cursor: wait; }
.dl-btn-ghost { background: none !important; border: 1px solid var(--dl-line) !important; border-radius: 100px !important; padding: 13px 18px; font-weight: 600; cursor: pointer; color: var(--dl-ink-dim) !important; text-transform: none !important; }
.dl-panel__actions { display: flex; gap: 10px; margin-top: 18px; }
.dl-panel__actions .dl-btn-primary { margin-top: 0; flex: 1; }

.dl-progress { margin-top: 16px; text-align: center; }
.dl-progress__bar { height: 6px; background: #ece8f3; border-radius: 3px; overflow: hidden; }
.dl-progress__fill { height: 100%; width: 0%; background: var(--dl-accent); border-radius: 3px; transition: width 0.4s ease; }
.dl-progress__label { font-size: 12.5px; color: var(--dl-ink-dim); margin: 8px 0 0; }

/* Resultado */
.dl-gauge-card { background: var(--dl-purple) !important; border-radius: 16px !important; padding: 28px 24px; text-align: center; color: #fff; }
.dl-radar-card { background: var(--dl-panel) !important; border: 1px solid var(--dl-line); border-radius: 14px !important; padding: 20px 16px; text-align: center; margin-bottom: 16px; }

.dl-partial { background: #fff !important; border: 1px solid var(--dl-line); border-radius: 16px; padding: 36px 28px; text-align: center; }
.dl-partial__icon { width: 48px; height: 48px; border-radius: 50%; background: var(--dl-good); color: #fff; font-size: 22px; font-weight: 700; display: flex; align-items: center; justify-content: center; margin: 0 auto 18px; }
.dl-partial h3 { font-size: 18px; color: var(--dl-purple); margin: 0 0 10px; }
.dl-partial p { font-size: 14px; color: var(--dl-ink-dim); line-height: 1.6; margin: 0; }
.dl-radar-card__label { font-family: 'Poppins', sans-serif; font-size: 11px; letter-spacing: 0.08em; color: var(--dl-purple); margin-bottom: 6px; font-weight: 700; }
.dl-radar-card__chart { display: flex; justify-content: center; align-items: center; width: 100%; }
.dl-radar-svg { display: block; margin: 0 auto; max-width: 100%; height: auto; }
.dl-gauge-card__eyebrow { font-family: 'Poppins', sans-serif; font-size: 10.5px; letter-spacing: 0.14em; color: #cbb9ec; margin-bottom: 16px; }
.dl-gauge-card__ring { position: relative; width: 92px; height: 92px; margin: 0 auto; display: flex; align-items: center; justify-content: center; }
.dl-gauge-svg { position: absolute; top: 0; left: 0; }
.dl-gauge-svg--good { color: var(--dl-good); }
.dl-gauge-svg--warn { color: var(--dl-warn); }
.dl-gauge-svg--bad { color: var(--dl-bad); }
.dl-gauge-card__num { position: relative; z-index: 1; }
.dl-gauge-card__num b { font-size: 28px; font-weight: 700; }
.dl-gauge-card__num small { font-size: 12px; opacity: 0.7; margin-left: 2px; }
.dl-gauge-card__status { margin-top: 12px; font-size: 12px; letter-spacing: 0.04em; color: var(--dl-accent); text-transform: uppercase; font-weight: 700; }

.dl-summary-card { background: var(--dl-panel) !important; border: 1px solid var(--dl-line); border-radius: 14px !important; padding: 20px 22px; margin-top: 16px; }
.dl-summary-card__label { font-family: 'Poppins', sans-serif; font-size: 11px; letter-spacing: 0.08em; color: var(--dl-purple); margin-bottom: 8px; font-weight: 700; }
.dl-summary-card p { margin: 0; font-size: 13.5px; line-height: 1.55; color: var(--dl-ink); }

.dl-categories { display: grid; gap: 12px; margin-top: 16px; }
.dl-cat { background: var(--dl-panel) !important; border: 1px solid var(--dl-line); border-radius: 14px !important; padding: 16px 18px; }
.dl-cat__head { text-align: left; width: 100%; background: none; border: none; padding: 0; display: flex; justify-content: space-between; align-items: center; cursor: pointer; font-size: 14px; font-weight: 700; color: var(--dl-ink); }
.dl-categories button.dl-cat__head { color: black; background: #ffffff; }
.dl-cat__score { font-family: 'Poppins', sans-serif; font-size: 12.5px; color: var(--dl-ink-dim); display: flex; align-items: center; gap: 6px; font-weight: 600; }
.dl-cat__chevron { transition: transform 0.2s; }
.dl-cat[data-open="true"] .dl-cat__chevron { transform: rotate(180deg); }
.dl-cat__bar { height: 6px; background: #eee9f5; border-radius: 3px; overflow: hidden; margin-top: 10px; }
.dl-cat__bar-fill { height: 100%; }
.dl-cat__bar-fill--good { background: var(--dl-good); }
.dl-cat__bar-fill--warn { background: var(--dl-warn); }
.dl-cat__bar-fill--bad { background: var(--dl-bad); }
.dl-cat__body { display: none; margin-top: 12px; }
.dl-cat[data-open="true"] .dl-cat__body { display: block; }
.dl-cat__insights { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.dl-cat__insights li { font-size: 12.5px; line-height: 1.5; color: var(--dl-ink); text-align: left; }
.dl-cat__ok { font-size: 12.5px; color: var(--dl-good); margin: 0; }
.dl-cat__hint { font-size: 12px; color: var(--dl-ink-dim); font-weight: 400; }

.dl-sev { font-family: 'Poppins', sans-serif; font-size: 9.5px; font-weight: 700; padding: 2px 7px; border-radius: 3px; margin-right: 8px; letter-spacing: 0.04em; display: inline-block; }
.dl-sev--boa { background: #e5f4ec; color: var(--dl-good); }
.dl-sev--media { background: #fdf1e1; color: var(--dl-warn); }
.dl-sev--alta { background: #fbe9e9; color: var(--dl-bad); }

.dl-btn-download { display: block; text-align: center; text-decoration: none; margin-top: 16px; background: var(--dl-accent) !important; color: #251405 !important; border-radius: 100px !important; padding: 14px; font-weight: 700; font-size: 14.5px; text-transform: none !important; box-shadow: none !important; }
.dl-btn-restart { display: block; width: 100%; margin-top: 10px; background: var(--dl-ink) !important; color: #fff !important; border: none !important; border-radius: 100px !important; padding: 13px; font-weight: 700; font-size: 14px; cursor: pointer; text-transform: none !important; box-shadow: none !important; }
