.debone-capture {
	--lb-maroon: #5c1a1f;
	--lb-maroon-dark: #3d1114;
	--lb-maroon-light: #7a262d;
	--lb-maroon-tint: #f7ecea;
	--lb-black: #0f0d0c;
	--lb-charcoal: #1c1816;
	--lb-cream: #f5f1e9;
	--lb-paper: #fffdfb;
	--lb-white: #ffffff;
	--lb-gold: #b6884a;
	--lb-gold-soft: #d8b57c;
	--lb-line: #e6ded0;
	--lb-line-soft: #eee8dc;
	--lb-ink: #1e1917;
	--lb-ink-soft: #75695f;
	--lb-success: #3d6a48;
	--lb-success-tint: #eaf1ea;
	--lb-warn: #93502c;
	--lb-warn-tint: #f6e9dc;
	--radius: 3px;
	--radius-lg: 6px;
	--shadow-sm: 0 1px 2px rgba(15, 13, 12, .06);
	--shadow-md: 0 4px 16px rgba(15, 13, 12, .07), 0 1px 3px rgba(15, 13, 12, .06);
	--shadow-lg: 0 20px 48px rgba(15, 13, 12, .14), 0 4px 12px rgba(15, 13, 12, .08);

	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	background:
		radial-gradient(ellipse 900px 500px at 15% -10%, rgba(92, 26, 31, .05), transparent 60%),
		var(--lb-cream);
	color: var(--lb-ink);
	font-family: 'Poppins', sans-serif;
	-webkit-font-smoothing: antialiased;
	letter-spacing: .005em;
	box-sizing: border-box;
	overflow-x: hidden;
	float: none !important;
}
.debone-capture *, .debone-capture *::before, .debone-capture *::after { box-sizing: inherit; }

/*
 * Many Elementor/theme setups apply scroll or entrance animations to
 * headings and text (fade-in, slide-up) that trigger once at page load.
 * Because this plugin injects its content with JavaScript after that
 * point, those elements can get permanently stuck mid-animation —
 * faded out, shifted, or clipped. This block forcibly cancels any
 * animation/transform/opacity effects on our own text elements so they
 * always render fully visible regardless of what the theme tries to do.
 */
.debone-capture h1, .debone-capture h2, .debone-capture h3, .debone-capture h4,
.debone-capture p, .debone-capture span, .debone-capture label,
.debone-capture td, .debone-capture th, .debone-capture strong, .debone-capture small,
.debone-capture div {
	opacity: 1 !important;
	transform: none !important;
	animation: none !important;
	filter: none !important;
	-webkit-text-fill-color: currentColor !important;
	visibility: visible !important;
	background-image: none !important;
	background-clip: border-box !important;
	-webkit-background-clip: border-box !important;
	text-shadow: none !important;
}
.debone-capture h1, .debone-capture h2, .debone-capture h3 {
	overflow-wrap: break-word !important;
	word-break: break-word !important;
	max-width: 100% !important;
	white-space: normal !important;
}
/* Headings specifically: theme "gradient text" effects (background-clip:
 * text + color:transparent) render as washed-out grey once our background
 * differs from theirs. Force an explicit solid color so this can't happen. */
.debone-capture .dc-card-head h2, .debone-capture .dc-brand-text h1 {
	color: inherit !important;
}
.debone-capture .dc-card-head h2 { color: var(--lb-black) !important; }
.debone-capture .dc-brand-text h1 { color: #ffffff !important; }

/*
 * Hard reset against theme/Elementor global styles. Many themes apply
 * broad selectors like "a, button { color: ...; }" or hover rules on
 * every button/link on the site. Those can beat our rules on specificity
 * or load order and make text disappear on hover. Every color-bearing
 * rule below is !important specifically to win against that — this is
 * a plugin working inside someone else's page, not a standalone site.
 */
.debone-capture a { text-decoration: none !important; }
.debone-capture button {
	font-family: 'Poppins', sans-serif !important;
	line-height: 1.3 !important;
	text-shadow: none !important;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
}

.debone-capture-locked {
	max-width: 640px;
	margin: 40px auto;
	padding: 28px 32px;
	background: #fdfcfa;
	border: 1px solid #e6ded0;
	border-radius: 6px;
	font-family: sans-serif;
}

.dc-boot-message {
	padding: 60px 20px;
	text-align: center;
	color: #75695f;
	font-family: 'Poppins', sans-serif;
}

/*
 * Confirmed from the page's actual HTML source: the tool is rendered by
 * a HappyAddons "Post Content" widget (.elementor-widget-ha-post-content)
 * that sits inside the SAME section as a duplicate post title/info block
 * — not a separate section. So the hero banner section can be hidden
 * entirely, but only the specific sibling widgets (title/info/comments)
 * next to the content widget can be hidden — never the content widget
 * itself, since that's where [debone_capture] actually renders.
 * Scoped to the dc-capture-page marker class only.
 */
body.dc-capture-page [data-elementor-post-type="ha_library"] > section:nth-of-type(1) {
	display: none !important;
}
body.dc-capture-page .elementor-widget-ha-post-title,
body.dc-capture-page .elementor-widget-ha-post-info,
body.dc-capture-page .elementor-widget-ha-post-comments {
	display: none !important;
}

/* ---------- Locked / login card ---------- */
.debone-capture-locked-wrap {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 60vh;
	padding: 40px 20px;
	background:
		radial-gradient(ellipse 900px 500px at 15% -10%, rgba(92, 26, 31, .05), transparent 60%),
		#f5f1e9 !important;
}
.dc-locked-card {
	max-width: 420px;
	width: 100%;
	background: #fffdfb !important;
	border: 1px solid #e6ded0;
	border-radius: 8px;
	box-shadow: 0 20px 48px rgba(15, 13, 12, .14), 0 4px 12px rgba(15, 13, 12, .08);
	padding: 40px 36px 36px;
	text-align: center;
}
.dc-locked-mark {
	width: 56px; height: 56px; margin: 0 auto 18px;
	border-radius: 50%;
	border: 1.5px solid #5c1a1f;
	display: flex; align-items: center; justify-content: center;
	background: #f7ecea !important;
}
.dc-locked-mark svg { width: 30px; height: 30px; }
.dc-locked-eyebrow {
	font-size: 10.5px !important; font-weight: 700 !important; letter-spacing: .16em !important;
	text-transform: uppercase; color: #b6884a !important; margin: 0 0 6px !important;
}
.dc-locked-title {
	font-family: 'Anton', sans-serif !important; font-weight: 400 !important;
	font-size: 26px !important; text-transform: uppercase; letter-spacing: .01em;
	color: #0f0d0c !important; margin: 0 0 18px !important;
}
.dc-locked-message {
	font-size: 14px !important; line-height: 1.6 !important;
	color: #4a4038 !important; margin: 0 0 26px !important;
}
.dc-locked-btn { width: 100%; }

/* ---------- Header ---------- */
.dc-header {
	background: linear-gradient(155deg, var(--lb-maroon) 0%, var(--lb-maroon-dark) 100%);
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 22px 36px;
	gap: 20px;
	flex-wrap: wrap;
	position: relative;
	box-shadow: var(--shadow-md);
}
.dc-header::after {
	content: "";
	position: absolute; left: 0; right: 0; bottom: 0; height: 2px;
	background: linear-gradient(90deg, transparent, var(--lb-gold-soft) 45%, var(--lb-gold-soft) 55%, transparent);
	opacity: .7;
}
.dc-brand { display: flex; align-items: center; gap: 16px; }
.dc-brand-mark {
	width: 48px; height: 48px; border-radius: 50%;
	border: 1px solid rgba(216, 181, 124, .55);
	display: flex; align-items: center; justify-content: center;
	flex-shrink: 0;
	background: rgba(255, 255, 255, .03);
}
.dc-brand-mark svg { width: 26px; height: 26px; }
.dc-brand-text .dc-eyebrow {
	color: var(--lb-gold-soft) !important;
	font-size: 10.5px;
	letter-spacing: .18em;
	font-weight: 600;
	margin: 0 0 3px;
}
.dc-brand-text h1 {
	font-family: 'Anton', sans-serif !important;
	font-weight: 400 !important;
	letter-spacing: .025em;
	font-size: 25px;
	color: #ffffff !important;
	margin: 0 !important;
	text-transform: uppercase;
	line-height: 1.2 !important;
}
.dc-nav { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.dc-btn {
	font-family: 'Poppins', sans-serif !important;
	font-weight: 600 !important;
	font-size: 13px !important;
	letter-spacing: .03em !important;
	text-transform: none !important;
	padding: 13px 24px !important;
	border-radius: var(--radius) !important;
	border: 1.5px solid transparent !important;
	cursor: pointer !important;
	line-height: 1.3 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	transition: background .18s ease, color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.dc-btn:disabled { opacity: .5 !important; cursor: not-allowed !important; }

.dc-btn-light, .dc-btn-light:link, .dc-btn-light:visited { background: #ffffff !important; color: var(--lb-maroon) !important; box-shadow: var(--shadow-sm); border-color: #ffffff !important; }
.dc-btn-light:hover:not(:disabled), .dc-btn-light:focus:not(:disabled) { background: var(--lb-gold-soft) !important; color: var(--lb-maroon-dark) !important; border-color: var(--lb-gold-soft) !important; box-shadow: var(--shadow-md); transform: translateY(-1px); }

.dc-btn-outline, .dc-btn-outline:link, .dc-btn-outline:visited { background: rgba(255, 255, 255, .06) !important; color: #ffffff !important; border-color: rgba(255, 255, 255, .4) !important; }
.dc-btn-outline:hover:not(:disabled), .dc-btn-outline:focus:not(:disabled) { border-color: var(--lb-gold-soft) !important; background: rgba(255, 255, 255, .14) !important; color: #ffffff !important; }
.dc-status-chip {
	display: inline-flex; align-items: center; gap: 8px;
	font-size: 11.5px; font-weight: 600; letter-spacing: .05em; color: rgba(255, 255, 255, .9) !important;
	text-transform: uppercase;
	padding: 8px 14px 8px 12px;
	background: rgba(0, 0, 0, .15);
	border-radius: 20px;
	border: 1px solid rgba(255, 255, 255, .08);
}
.dc-status-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--lb-gold-soft); box-shadow: 0 0 0 3px rgba(216, 181, 124, .2); }

/* ---------- Layout ---------- */
.dc-body { display: grid; grid-template-columns: 288px 1fr; gap: 0; padding: 0; }
.dc-body-full { display: block !important; }
.dc-body-full .dc-card { width: 100%; }
@media (max-width: 820px) { .dc-body { grid-template-columns: 1fr; padding: 20px 16px 48px; } }

/* ---------- Stepper ---------- */
.dc-stepper { background: var(--lb-paper); border: 1px solid var(--lb-line-soft); border-radius: var(--radius-lg); padding: 8px; align-self: start; box-shadow: var(--shadow-sm); }
.dc-step { display: flex; align-items: flex-start; gap: 14px; width: 100%; padding: 17px 15px; border: none !important; background: transparent !important; box-shadow: none !important; text-align: left; cursor: pointer; border-radius: var(--radius); transition: background .15s ease; }
.dc-step + .dc-step { border-top: 1px solid var(--lb-line-soft); }
.dc-step-num { flex-shrink: 0; width: 29px; height: 29px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-family: 'Anton', sans-serif !important; font-size: 13.5px; border: 1.5px solid #d5cabb; color: var(--lb-ink-soft) !important; background: #fff !important; }
.dc-step-title { font-weight: 600 !important; font-size: 14.5px; color: var(--lb-ink) !important; margin: 0 0 2px; }
.dc-step-sub { font-size: 12px; color: var(--lb-ink-soft) !important; margin: 0; }
.dc-step.is-active { background: var(--lb-maroon-tint) !important; }
.dc-step.is-active .dc-step-num { background: var(--lb-maroon) !important; border-color: var(--lb-maroon) !important; color: #ffffff !important; box-shadow: 0 0 0 3px rgba(92, 26, 31, .12); }
.dc-step.is-active .dc-step-title { color: var(--lb-maroon-dark) !important; }
.dc-step.is-done .dc-step-num { background: var(--lb-success) !important; border-color: var(--lb-success) !important; color: #ffffff !important; }
.dc-step.is-done .dc-step-title { color: var(--lb-ink-soft) !important; }

.dc-recovered { margin: 14px 6px 6px; background: linear-gradient(155deg, var(--lb-charcoal) 0%, var(--lb-black) 100%); border-radius: var(--radius); padding: 20px 20px 22px; color: #fff; box-shadow: var(--shadow-sm); position: relative; overflow: hidden; }
.dc-recovered::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: linear-gradient(90deg, var(--lb-gold), var(--lb-gold-soft)); }
.dc-recovered p { margin: 0; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--lb-gold-soft) !important; font-weight: 600; }
.dc-recovered strong { display: block; margin-top: 8px; font-family: 'Anton', sans-serif !important; font-weight: 400 !important; font-size: 32px; letter-spacing: .015em; color: #ffffff !important; }

/*
 * Belt-and-braces: when a theme's own stylesheet also uses !important on a
 * class selector, whichever loads LAST wins ties, regardless of our
 * !important. An ID selector is always higher specificity than a class
 * selector even when both carry !important, so anchoring the highest-risk
 * dark panels to the root's unique ID guarantees they win no matter what
 * order stylesheets load in or what the theme does.
 */
#debone-capture-root .dc-recovered {
	background: linear-gradient(155deg, #1c1816 0%, #0f0d0c 100%) !important;
}
#debone-capture-root .dc-recovered p { color: #d8b57c !important; }
#debone-capture-root .dc-recovered strong { color: #ffffff !important; }
#debone-capture-root .dc-header { background: linear-gradient(155deg, #5c1a1f 0%, #3d1114 100%) !important; }
#debone-capture-root .dc-brand-text h1 { color: #ffffff !important; }
#debone-capture-root .dc-status-chip { color: rgba(255, 255, 255, .9) !important; }
#debone-capture-root .dc-total-grand { background: linear-gradient(155deg, #1c1816, #0f0d0c) !important; color: #ffffff !important; }
#debone-capture-root .dc-step { background: transparent !important; border: none !important; }

/* ---------- Card ---------- */
.dc-card { background: var(--lb-paper); border: 1px solid var(--lb-line-soft); border-radius: 0; box-shadow: none; }
.dc-card-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; flex-wrap: wrap; padding: 32px 36px 24px; border-bottom: 1px solid var(--lb-line-soft); }
.dc-kicker { font-size: 11px; font-weight: 700; letter-spacing: .16em; color: var(--lb-gold) !important; text-transform: uppercase; margin: 0 0 9px; }
.dc-card-head h2 { font-family: 'Anton', sans-serif !important; font-weight: 400 !important; font-size: 30px; letter-spacing: .01em; text-transform: uppercase; color: var(--lb-black) !important; margin: 0 !important; line-height: 1.15 !important; }
.dc-card-head .dc-hint { font-size: 13px; color: var(--lb-ink-soft) !important; margin: 0; max-width: 420px; }
.dc-card-head .dc-hint-friendly { font-size: 13.5px; color: var(--lb-ink-soft) !important; margin: 6px 0 0; max-width: 480px; line-height: 1.5; }
.dc-card-body { padding: 32px 36px 36px; }
.dc-panel[hidden] { display: none; }

/* ---------- Fields ---------- */
.dc-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 24px 28px; }
@media (max-width: 600px) { .dc-grid2 { grid-template-columns: 1fr; } }
.dc-field label { display: block; font-size: 12.5px; font-weight: 600; color: var(--lb-ink) !important; margin-bottom: 8px; letter-spacing: .01em; }
.dc-field label .req { color: var(--lb-maroon) !important; }
.dc-field input, .dc-field select, .dc-field textarea {
	width: 100%;
	font-family: 'Poppins', sans-serif !important;
	font-size: 14.5px;
	line-height: 1.4 !important;
	padding: 13px 15px !important;
	border: 1.5px solid var(--lb-line);
	border-radius: var(--radius);
	background: #fdfcfa !important;
	color: var(--lb-ink) !important;
	transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.dc-field select {
	-webkit-appearance: none;
	appearance: none;
	height: auto !important;
	min-height: 48px;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%2375695f'><path d='M5.5 7.5l4.5 4.5 4.5-4.5' stroke='%2375695f' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>") !important;
	background-repeat: no-repeat !important;
	background-position: right 14px center !important;
	background-size: 16px !important;
	padding-right: 40px !important;
}
.dc-field input::placeholder { color: #b3a99e; }
.dc-field input:focus, .dc-field select:focus, .dc-field textarea:focus {
	outline: none; border-color: var(--lb-maroon); background: #fff; box-shadow: 0 0 0 3.5px rgba(92, 26, 31, .1);
}

.dc-actions-row { margin-top: 36px; padding-top: 28px; border-top: 1px solid var(--lb-line-soft); display: flex; justify-content: space-between; align-items: center; gap: 14px; flex-wrap: wrap; }
.dc-draft-note { font-size: 12px; color: var(--lb-ink-soft) !important; }
.dc-btn-primary, .dc-btn-primary:link, .dc-btn-primary:visited { background: linear-gradient(155deg, var(--lb-maroon-light), var(--lb-maroon)) !important; color: #ffffff !important; border-color: var(--lb-maroon) !important; box-shadow: 0 2px 8px rgba(92, 26, 31, .28); }
.dc-btn-primary:hover:not(:disabled), .dc-btn-primary:focus:not(:disabled) { background: var(--lb-maroon-dark) !important; color: #ffffff !important; border-color: var(--lb-maroon-dark) !important; box-shadow: 0 4px 14px rgba(92, 26, 31, .34); transform: translateY(-1px); }

.dc-btn-ghost, .dc-btn-ghost:link, .dc-btn-ghost:visited { background: #ffffff !important; color: var(--lb-maroon) !important; border-color: var(--lb-line) !important; }
.dc-btn-ghost:hover:not(:disabled), .dc-btn-ghost:focus:not(:disabled) { border-color: var(--lb-maroon) !important; background: var(--lb-maroon-tint) !important; color: var(--lb-maroon-dark) !important; }

/* A larger, unmissable "continue this report" button on draft rows in History. */
.dc-btn-continue, .dc-btn-continue:link, .dc-btn-continue:visited {
	background: var(--lb-warn) !important;
	color: #ffffff !important;
	border-color: var(--lb-warn) !important;
	font-weight: 700 !important;
}
.dc-btn-continue:hover:not(:disabled), .dc-btn-continue:focus:not(:disabled) {
	background: #7a3f22 !important; color: #ffffff !important; border-color: #7a3f22 !important;
	transform: translateY(-1px);
}

/* ---------- Section progress (sub-steps inside Cut weights) ---------- */
.dc-section-progress { display: flex; align-items: center; gap: 8px; margin-bottom: 32px; flex-wrap: wrap; }
.dc-section-dot { display: flex; align-items: center; gap: 8px; padding: 8px 14px 8px 8px; border-radius: 20px; background: #f4f0e8; }
.dc-section-dot span { width: 22px; height: 22px; border-radius: 50%; background: #d5cabb; color: #ffffff !important; font-size: 11px; font-weight: 700; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.dc-section-dot small { font-size: 11.5px; font-weight: 600; color: var(--lb-ink-soft) !important; }
.dc-section-dot.is-current { background: var(--lb-maroon-tint); }
.dc-section-dot.is-current span { background: var(--lb-maroon) !important; }
.dc-section-dot.is-current small { color: var(--lb-maroon-dark) !important; }
.dc-section-dot.is-done span { background: var(--lb-success) !important; }
.dc-section-dot.is-done small { color: var(--lb-success) !important; }

/* ---------- Cut weights ---------- */
.dc-section { margin-top: 44px; }
.dc-section:first-child { margin-top: 0; }
.dc-divider-label { display: flex; align-items: center; gap: 16px; margin: 0 0 20px; }
.dc-divider-label span { font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--lb-gold); white-space: nowrap; }
.dc-divider-label::after { content: ""; flex: 1; height: 1px; background: var(--lb-line-soft); }

.dc-cutrow { display: grid; grid-template-columns: 1.6fr .9fr .7fr; gap: 18px; align-items: center; padding: 15px 4px; border-bottom: 1px solid var(--lb-line-soft); transition: background .15s ease; border-radius: var(--radius); }
.dc-cutrow:hover { background: #faf7f1; }
.dc-cutrow:last-child { border-bottom: none; }
.dc-cutname { font-weight: 600; font-size: 14.5px; }
.dc-cutname input.dc-custom-name { border: none; border-bottom: 1.5px dashed var(--lb-line); background: transparent; font-weight: 600; font-size: 14.5px; padding: 4px 0; width: 100%; }
.dc-cutname input.dc-custom-name:focus { outline: none; border-color: var(--lb-maroon); }
.dc-cutfield label { font-size: 10.5px; text-transform: uppercase; letter-spacing: .07em; color: var(--lb-ink-soft) !important; margin-bottom: 5px; display: block; }
.dc-cutfield .dc-inputwrap {
	display: flex !important;
	align-items: center !important;
	border: 1.5px solid var(--lb-line);
	border-radius: var(--radius);
	background: #fdfcfa;
	overflow: hidden;
}
.dc-cutfield .dc-inputwrap:focus-within { border-color: var(--lb-maroon); background: #fff; box-shadow: 0 0 0 3px rgba(92, 26, 31, .1); }
.dc-cutfield input {
	flex: 1 1 auto !important;
	width: auto !important;
	min-width: 0;
	padding: 11px 8px 11px 13px !important;
	border: none !important;
	border-radius: 0 !important;
	font-size: 14px;
	background: transparent !important;
	box-shadow: none !important;
}
.dc-cutfield input:focus { outline: none !important; box-shadow: none !important; background: transparent !important; }
.dc-cutfield .unit {
	flex: 0 0 auto;
	padding: 0 13px 0 4px;
	font-size: 11.5px;
	color: var(--lb-ink-soft) !important;
	pointer-events: none;
	line-height: 1;
}

.dc-subtotal { display: flex; justify-content: space-between; align-items: center; padding: 15px 22px; background: var(--lb-maroon-tint) !important; border-radius: var(--radius); font-weight: 600; margin-top: 6px; border: 1px solid rgba(92, 26, 31, .08); color: var(--lb-maroon-dark) !important; }
.dc-subtotal span:last-child { font-family: 'Anton', sans-serif !important; font-weight: 400 !important; font-size: 18px; color: var(--lb-maroon-dark) !important; letter-spacing: .01em; }

.dc-running-total { display: flex; flex-direction: column; align-items: flex-end; }
.dc-running-total small { font-size: 11px; color: var(--lb-ink-soft) !important; text-transform: uppercase; letter-spacing: .08em; }
.dc-running-total strong { font-family: 'Anton', sans-serif !important; font-weight: 400 !important; font-size: 24px; color: var(--lb-maroon-dark) !important; }

/* ---------- Totals ---------- */
.dc-totals-strip { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-top: 12px; }
@media (max-width: 760px) { .dc-totals-strip { grid-template-columns: 1fr 1fr; } }
.dc-total-block { padding: 22px 22px 20px; border-radius: var(--radius-lg); position: relative; overflow: hidden; }
.dc-total-block p { margin: 0 0 9px; font-size: 10.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; opacity: .85; color: inherit !important; }
.dc-total-block strong { display: block; font-family: 'Anton', sans-serif !important; font-weight: 400 !important; font-size: 25px; letter-spacing: .01em; color: inherit !important; }
.dc-total-grand { background: linear-gradient(155deg, var(--lb-charcoal), var(--lb-black)) !important; color: #ffffff !important; box-shadow: var(--shadow-sm); }
.dc-total-grand::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: linear-gradient(90deg, var(--lb-gold), var(--lb-gold-soft)); }
.dc-total-trim { background: #ffffff !important; border: 1.5px solid var(--lb-line); color: var(--lb-ink) !important; }
.dc-total-unsaleable { background: var(--lb-warn-tint) !important; color: var(--lb-warn) !important; }
.dc-total-saleable { background: var(--lb-success-tint) !important; color: var(--lb-success) !important; }

/* ---------- Unsaleable breakdown table ---------- */
.dc-mini-table { width: 100%; border-collapse: collapse; margin-top: 14px; }
.dc-mini-table th { text-align: left; font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--lb-ink-soft) !important; padding: 8px 6px; border-bottom: 1px solid var(--lb-line-soft); }
.dc-mini-table td { padding: 10px 6px; border-bottom: 1px solid var(--lb-line-soft); font-size: 14px; color: var(--lb-ink) !important; }

/* ---------- Review textarea ---------- */
.dc-notes textarea { min-height: 100px; resize: vertical; }

/* ---------- Export buttons ---------- */
.dc-export-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }

/* ---------- History table ---------- */
.dc-history { }
.dc-history-head { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 18px; flex-wrap: wrap; gap: 12px; }
table.dc-table { width: 100%; border-collapse: collapse; background: var(--lb-paper); border: 1px solid var(--lb-line-soft); border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-sm); }
.dc-table th { text-align: left; font-size: 10.5px; letter-spacing: .09em; text-transform: uppercase; color: var(--lb-ink-soft) !important; padding: 14px 18px; border-bottom: 1px solid var(--lb-line-soft); background: #faf7f1; font-weight: 700; }
.dc-table td { padding: 15px 18px; border-bottom: 1px solid var(--lb-line-soft); font-size: 14px; color: var(--lb-ink) !important; }
.dc-table tbody tr { transition: background .15s ease; cursor: pointer; }
.dc-table tbody tr:hover { background: #faf8f3; }
.dc-table tr:last-child td { border-bottom: none; }
.dc-tag { font-family: 'Anton', sans-serif !important; font-weight: 400 !important; font-size: 16.5px; letter-spacing: .01em; color: var(--lb-ink) !important; }
.dc-pill { display: inline-block; padding: 5px 12px; border-radius: 20px; font-size: 10.5px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.dc-pill-draft { background: var(--lb-warn-tint) !important; color: var(--lb-warn) !important; }
.dc-pill-final { background: var(--lb-success-tint) !important; color: var(--lb-success) !important; }
.dc-history-empty { padding: 40px 20px; text-align: center; color: var(--lb-ink-soft) !important; }
.dc-table-action-cell { width: 1%; white-space: nowrap; }
.dc-table-action-cell .dc-btn { padding: 9px 16px !important; font-size: 12px !important; }

.dc-footer-note { text-align: center; font-size: 12px; color: var(--lb-ink-soft); padding: 20px; }

/* ---------- Toast / inline message ---------- */
.dc-message { margin: 0 36px 24px; padding: 14px 18px; border-radius: var(--radius); font-size: 13.5px; font-weight: 500; }
.dc-message-error { background: var(--lb-warn-tint) !important; color: var(--lb-warn) !important; border: 1px solid rgba(147, 80, 44, .2); }
.dc-message-success { background: var(--lb-success-tint) !important; color: var(--lb-success) !important; border: 1px solid rgba(61, 106, 72, .2); }

/* ---------- Mobile refinements ---------- */
@media (max-width: 640px) {
	.debone-capture {
		width: 100vw !important;
		max-width: 100vw !important;
		margin-left: calc(50% - 50vw) !important;
		margin-right: calc(50% - 50vw) !important;
	}
	.dc-body { padding: 0 !important; gap: 0 !important; }
	.dc-card { border-radius: 0 !important; border-left: none !important; border-right: none !important; box-shadow: none !important; }
	.dc-card-head, .dc-card-body { padding-left: 16px; padding-right: 16px; }
	.dc-card-head h2 { font-size: 24px; }
	.dc-hint-friendly { font-size: 13px !important; }
	.dc-cutrow { grid-template-columns: 1fr; row-gap: 10px; }
	.dc-totals-strip { grid-template-columns: 1fr 1fr; }
	.dc-header { padding: 16px 14px; }
	.dc-section-progress { gap: 6px; }
	.dc-section-dot { padding: 6px 10px 6px 6px; }
	.dc-section-dot small { display: none; } /* icon-only on small screens, still shows current/done state */
	.dc-actions-row { flex-direction: column; align-items: stretch; }
	.dc-actions-row > div { flex-direction: column; width: 100%; }
	.dc-actions-row .dc-btn { width: 100%; }
	table.dc-table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
	input, select, textarea { font-size: 16px !important; } /* prevents iOS zoom-on-focus */
}
