/* ===========================================================
   PvPI ADR Reporter — front-end styles
   Palette: PvPI blue (#0b5394 / #1a73c2), teal accent, clean white
   =========================================================== */
#adrr-app {
	--adrr-blue: #0b5394;
	--adrr-blue-2: #1a73c2;
	--adrr-teal: #0f9d8f;
	--adrr-ink: #1f2a37;
	--adrr-muted: #5b6b7b;
	--adrr-line: #d8e0e8;
	--adrr-bg: #f3f7fb;
	--adrr-amber: #f4a306;
	font-family: -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	color: var(--adrr-ink);
	line-height: 1.5;
}
#adrr-app *, #adrr-app *::before, #adrr-app *::after { box-sizing: border-box; }

/* ---------- Welcome window ---------- */
.adrr-welcome-overlay {
	position: fixed; inset: 0; z-index: 99999;
	background: rgba(10, 28, 48, 0.62);
	backdrop-filter: blur(3px);
	display: flex; align-items: center; justify-content: center;
	padding: 20px; opacity: 1; transition: opacity .35s ease;
}
.adrr-welcome-overlay.adrr-hide { opacity: 0; }
.adrr-welcome-card {
	background: #fff; max-width: 460px; width: 100%;
	border-radius: 18px; padding: 30px 28px 24px;
	box-shadow: 0 24px 60px rgba(8, 30, 60, 0.35);
	text-align: center; animation: adrrPop .4s cubic-bezier(.2,.9,.3,1.2);
}
@keyframes adrrPop { from { transform: translateY(18px) scale(.96); opacity: 0; } to { transform: none; opacity: 1; } }
.adrr-welcome-head { display: flex; align-items: center; gap: 12px; justify-content: center; margin-bottom: 14px; }
.adrr-welcome-org { font-weight: 700; font-size: 14px; color: var(--adrr-blue); }
.adrr-welcome-sub { font-size: 12px; color: var(--adrr-muted); }
.adrr-welcome-card h2 { font-size: 20px; margin: 6px 0 10px; color: var(--adrr-ink); }
.adrr-welcome-text { font-size: 14px; color: var(--adrr-muted); margin: 0 0 12px; }
.adrr-helpline { font-size: 13px; color: var(--adrr-blue); margin: 0 0 20px; }

/* ---------- Glowing start button ---------- */
.adrr-start-btn {
	display: inline-flex; align-items: center; gap: 10px;
	background: linear-gradient(135deg, var(--adrr-amber), #ff8a00);
	color: #fff; border: none; cursor: pointer;
	font-size: 17px; font-weight: 800; letter-spacing: .3px;
	padding: 15px 34px; border-radius: 50px;
	box-shadow: 0 6px 18px rgba(244, 163, 6, .5);
	animation: adrrGlow 1.6s ease-in-out infinite;
	transition: transform .15s ease;
}
.adrr-start-btn:hover { transform: translateY(-2px) scale(1.03); }
.adrr-start-icon { font-size: 18px; }
@keyframes adrrGlow {
	0%, 100% { box-shadow: 0 6px 18px rgba(244,163,6,.45), 0 0 0 0 rgba(244,163,6,.55); }
	50%      { box-shadow: 0 8px 26px rgba(244,163,6,.65), 0 0 0 14px rgba(244,163,6,0); }
}
.adrr-welcome-credit {
	margin-top: 22px; padding-top: 16px; border-top: 1px dashed var(--adrr-line);
	display: flex; flex-direction: column; gap: 2px;
}
.adrr-welcome-credit span { font-size: 11px; text-transform: uppercase; letter-spacing: .6px; color: var(--adrr-muted); }
.adrr-welcome-credit strong { font-size: 15px; color: var(--adrr-blue); }
.adrr-welcome-credit small { font-size: 12px; color: var(--adrr-muted); }

/* ---------- Shell ---------- */
.adrr-shell {
	max-width: 860px; margin: 0 auto; background: #fff;
	border: 1px solid var(--adrr-line); border-radius: 14px;
	padding: 26px 26px 30px; box-shadow: 0 6px 24px rgba(15,40,75,.06);
}
.adrr-header { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 16px; }
.adrr-header-left { display: flex; align-items: center; gap: 12px; }
.adrr-badge {
	background: var(--adrr-blue); color: #fff; font-weight: 800;
	width: 40px; height: 40px; border-radius: 10px;
	display: flex; align-items: center; justify-content: center; font-size: 14px; letter-spacing: .5px;
}
.adrr-badge-lg { width: 46px; height: 46px; font-size: 15px; }
.adrr-org { font-weight: 700; font-size: 13px; color: var(--adrr-blue); }
.adrr-amc { font-size: 12px; color: var(--adrr-muted); }
.adrr-official {
	background: #e7f3ec; color: var(--adrr-teal); border: 1px solid #bfe6dd;
	font-size: 12px; font-weight: 700; padding: 5px 12px; border-radius: 30px;
}
.adrr-title { font-size: 22px; margin: 8px 0 4px; color: var(--adrr-ink); }
.adrr-subtitle { font-size: 13px; color: var(--adrr-muted); margin: 0 0 16px; }

.adrr-progress { height: 7px; background: var(--adrr-bg); border-radius: 6px; overflow: hidden; margin-bottom: 22px; }
.adrr-progress-bar { height: 100%; width: 0; background: linear-gradient(90deg, var(--adrr-teal), var(--adrr-blue-2)); transition: width .3s ease; }

/* ---------- Sections ---------- */
.adrr-section {
	border: 1px solid var(--adrr-line); border-radius: 12px;
	padding: 18px 18px 20px; margin: 0 0 18px; background: #fdfefe;
}
.adrr-section legend {
	display: flex; align-items: center; gap: 10px;
	font-size: 16px; font-weight: 700; color: var(--adrr-blue); padding: 0 6px;
}
.adrr-section legend em { color: #d23b3b; font-style: normal; }
.adrr-sec-letter {
	background: var(--adrr-blue); color: #fff; width: 26px; height: 26px;
	border-radius: 7px; display: inline-flex; align-items: center; justify-content: center;
	font-size: 14px; font-weight: 800;
}
.adrr-note { font-size: 12.5px; color: var(--adrr-muted); margin: 6px 0 14px; }

.adrr-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.adrr-col-2 { grid-column: 1 / -1; }
.adrr-field { display: flex; flex-direction: column; gap: 6px; }
.adrr-field > span { font-size: 13px; font-weight: 600; color: var(--adrr-ink); }
.adrr-field input, .adrr-field select, .adrr-field textarea {
	width: 100%; padding: 10px 12px; font-size: 14px; font-family: inherit;
	border: 1px solid var(--adrr-line); border-radius: 9px; background: #fff; color: var(--adrr-ink);
	transition: border-color .15s ease, box-shadow .15s ease;
}
.adrr-field input:focus, .adrr-field select:focus, .adrr-field textarea:focus {
	outline: none; border-color: var(--adrr-blue-2);
	box-shadow: 0 0 0 3px rgba(26,115,194,.15);
}
.adrr-field textarea { resize: vertical; }

.adrr-subblock { margin-top: 16px; }
.adrr-sublabel { font-size: 13px; font-weight: 600; display: block; margin-bottom: 8px; }
.adrr-checks, .adrr-radios { display: flex; flex-wrap: wrap; gap: 8px 14px; }
.adrr-check, .adrr-radio {
	display: inline-flex; align-items: center; gap: 7px; font-size: 13.5px;
	padding: 7px 12px; border: 1px solid var(--adrr-line); border-radius: 8px;
	cursor: pointer; background: #fff; transition: background .12s ease, border-color .12s ease;
}
.adrr-check:hover, .adrr-radio:hover { border-color: var(--adrr-blue-2); background: #f6fafe; }

/* ---------- Drug rows ---------- */
.adrr-drug { border: 1px dashed var(--adrr-line); border-radius: 10px; padding: 14px; margin-bottom: 12px; background: #fff; }
.adrr-drug-head { font-weight: 700; font-size: 14px; color: var(--adrr-blue); margin-bottom: 12px; display: flex; align-items: center; gap: 10px; }
.adrr-remove-drug { background: none; border: none; color: #d23b3b; font-size: 12px; cursor: pointer; padding: 0; }
.adrr-add-btn {
	background: #eef5fb; color: var(--adrr-blue); border: 1px solid #cfe2f2;
	padding: 9px 16px; border-radius: 8px; font-size: 13.5px; font-weight: 600; cursor: pointer;
}
.adrr-add-btn:hover { background: #e2eefa; }

.adrr-confidential { font-size: 12px; color: var(--adrr-muted); background: var(--adrr-bg); border-radius: 10px; padding: 14px 16px; margin: 6px 0 18px; }

/* ---------- Actions ---------- */
.adrr-actions { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; }
.adrr-status { font-size: 13px; color: var(--adrr-muted); }
.adrr-buttons { display: flex; gap: 10px; }
.adrr-pdf-btn {
	background: #fff; color: var(--adrr-blue); border: 1.5px solid var(--adrr-blue-2);
	padding: 11px 20px; border-radius: 9px; font-size: 14px; font-weight: 700; cursor: pointer;
}
.adrr-pdf-btn:hover { background: #f0f7fd; }
.adrr-submit-btn {
	background: linear-gradient(135deg, var(--adrr-blue-2), var(--adrr-blue));
	color: #fff; border: none; padding: 11px 26px; border-radius: 9px;
	font-size: 14px; font-weight: 700; cursor: pointer; box-shadow: 0 4px 12px rgba(11,83,148,.3);
}
.adrr-submit-btn:hover { transform: translateY(-1px); }
.adrr-submit-btn:disabled { opacity: .6; cursor: default; transform: none; }
.adrr-form-error { color: #c0392b; font-size: 13.5px; font-weight: 600; margin-top: 14px; min-height: 1px; }

/* ---------- Credits after form ---------- */
.adrr-credits {
	margin-top: 26px; padding-top: 18px; border-top: 2px solid var(--adrr-line);
	display: flex; flex-direction: column; gap: 10px;
}
.adrr-credit-row { display: flex; flex-direction: column; }
.adrr-credit-row strong { font-size: 14.5px; color: var(--adrr-blue); }
.adrr-credit-row span { font-size: 12.5px; color: var(--adrr-muted); }
.adrr-credit-row em { font-style: normal; font-weight: 700; color: var(--adrr-teal); }

/* ---------- Floating success modal ---------- */
.adrr-success-overlay {
	position: fixed; inset: 0; z-index: 100000;
	background: rgba(10, 28, 48, 0.62); backdrop-filter: blur(3px);
	display: flex; align-items: center; justify-content: center; padding: 20px;
	animation: adrrFade .3s ease;
}
.adrr-success-overlay[hidden] { display: none; }
@keyframes adrrFade { from { opacity: 0; } to { opacity: 1; } }
.adrr-success-card {
	background: #fff; border-radius: 18px; max-width: 460px; width: 100%;
	padding: 34px 28px; text-align: center;
	box-shadow: 0 24px 60px rgba(8, 30, 60, 0.35);
	animation: adrrPop .4s cubic-bezier(.2,.9,.3,1.2);
}
.adrr-success-tick {
	width: 62px; height: 62px; border-radius: 50%; margin: 0 auto 16px;
	background: #e7f6ee; color: var(--adrr-teal); font-size: 30px;
	display: flex; align-items: center; justify-content: center;
}
.adrr-success-card h2 { color: var(--adrr-blue); margin: 0 0 8px; }
.adrr-ref { font-size: 13px; margin: 16px 0; color: var(--adrr-muted); }
.adrr-ref strong { display: inline-block; margin-top: 4px; font-size: 20px; color: var(--adrr-amber); letter-spacing: .5px; }
.adrr-success-actions { display: flex; gap: 12px; justify-content: center; margin-top: 18px; flex-wrap: wrap; }

/* hidden PDF area off-screen on normal view */
#adrr-print-area { position: absolute; left: -9999px; top: 0; width: 0; height: 0; overflow: hidden; }

/* ---------- Responsive ---------- */
@media (max-width: 640px) {
	.adrr-grid { grid-template-columns: 1fr; }
	.adrr-title { font-size: 19px; }
	.adrr-actions { flex-direction: column; align-items: stretch; }
	.adrr-buttons { justify-content: stretch; }
	.adrr-buttons button { flex: 1; }
}
