/*
 * Balaaji's shared dark theme -- deep navy (repointed from Balaaji's neutral
 * charcoal, cloned from that same reusable template) with a gold accent
 * used sparingly, matching the conch-shell icon's own navy-and-gold palette
 * (assets/images/balaaji-icon.png / balaaji_logo_*.svg -- border navy below is
 * that icon's exact badge blue, #2A3A63). Variable names kept as
 * --maroon-* since they're referenced by var() across 14+ content pages in
 * package/closebee-balaaji-enterprise/ -- only the values changed here.
 * This file, plus index.html and the logo assets in assets/images/,
 * together form the reusable template: to spin up the next product on the
 * same lines, clone this project, repoint the :root values below to the
 * new brand palette, and swap the three logo files in assets/images/.
 */
:root {
	--bg-dark: #0c0f1a;
	--maroon-mid: #1a2140;
	--maroon-card: #12172a;
	--maroon-border: #2A3A63;
	--gold-accent: #8A5D1A;
	--gold-hover: #A9792A;
	--gold-bright: #E8B04B;
	--text-light: #F3E8E0;
	/* Brightened from #C4A691 -- this drives every secondary/small-text
	   label across the app (addresses, table headers, timestamps), and a
	   CA's typical user skews older; legibility matters more than a subtle
	   muted tone here. */
	--text-muted: #E3CBB6;
}

* { padding: 0; margin: 0; box-sizing: border-box; }

/* Flex column so .main-footer's margin-top:auto can push it to the bottom
   of the viewport on short pages (e.g. an empty "No records found" state)
   instead of leaving a dead gap below it, without every page's own content
   wrapper needing to know about this. */
#page-content {
	opacity: 0;
	transition: opacity 0.3s ease;
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}
#page-content.loaded {
	opacity: 1;
}

/* Every Bootstrap modal across Balaaji, centralized here instead of each
   page redefining it locally (a few pages used a "-dark" suffixed class
   for the same purpose, e.g. .modal-content-dark -- the plain .modal-content
   selector still matches those too, so this covers both conventions with
   no per-page markup changes needed). Two things this fixes app-wide:
   1. The header used to have no background of its own -- it just inherited
      .modal-content's, so header and body read as one continuous block.
      A light gold band with near-black text makes "this is the header"
      unambiguous at a glance, rather than relying on a subtler dark-on-dark
      shade difference. The close icon (many modals hardcode the
      "btn-close-white" class, meant for a dark header) needs its invert
      filter cancelled here specifically, or it would render an
      invisible-on-light-gold white-on-white icon.
   2. Bootstrap's default backdrop is 50% black -- barely a shade different
      from this theme's already-near-black background, so the "page
      blocked" effect a modal is supposed to have was effectively
      invisible. Darker + more opaque actually reads as an overlay. Only
      dims the container the modal is IN (its own document -- e.g. a
      client's own nested detail iframe), not the whole browser window;
      a known, accepted limitation of the iframe-per-page architecture. */
.modal-content { background: var(--maroon-card); color: var(--text-light); border: 1px solid var(--maroon-border); }
.modal-header { background: var(--gold-bright); border-bottom: 1px solid var(--maroon-border); color: #1a1006; }
.modal-header .modal-title { color: #1a1006; }
.modal-header .btn-close { filter: none; }
.modal-footer { border-top: 1px solid var(--maroon-border); }
.modal-backdrop { background: #000; }
.modal-backdrop.show { opacity: 0.8; }

html, body {
	min-height: 100vh;
	overflow-x: hidden;
	overflow-y: auto;
	background: radial-gradient(circle at center, var(--maroon-mid) 0%, var(--bg-dark) 100%);
	color: var(--text-light);
	font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* Poppins used everywhere now (same as the marketing site, balaajiweb.closebee.com/
   assets/css/site.css) -- headings just go bolder/tighter than body text. */
h1, h2, h3, h4, h5, h6, .display {
	font-family: 'Poppins', 'Segoe UI', sans-serif;
	font-weight: 700;
	letter-spacing: -0.02em;
}

/* Scrollbars hidden everywhere (content still scrolls normally) -- same
   convention Fusion's own view/user/listing.html already uses. */
html, body {
	-ms-overflow-style: none;
	scrollbar-width: none;
}
html::-webkit-scrollbar,
body::-webkit-scrollbar,
*::-webkit-scrollbar {
	display: none;
	width: 0 !important;
	height: 0 !important;
}
* {
	-ms-overflow-style: none !important;
	scrollbar-width: none !important;
}

/* Every content page redefines .form-control-dark locally rather than
   sharing one -- fixed once here instead of in each file, since a disabled
   dark input/select otherwise falls back to the browser's light-gray
   disabled styling (Bootstrap's #e9ecef), breaking the theme. */
.form-control-dark:disabled, select.form-control-dark:disabled {
	background: #0c0f1a;
	color: var(--text-muted);
	opacity: 1;
	border-color: var(--maroon-border);
}

/* A <input type="file" class="form-control-dark"> otherwise renders its
   button half using the browser's own default light-gray "Choose File"
   button (a native, unstyled OS control) regardless of every other rule
   above, since it lives in its own pseudo-element -- WebKit/Blink and the
   newer standard pseudo-element both need targeting for this to hold
   across browsers. */
.form-control-dark[type="file"]::file-selector-button,
.form-control-dark[type="file"]::-webkit-file-upload-button {
	background: var(--gold-accent);
	color: #fff;
	border: none;
	border-radius: 6px;
	padding: 6px 12px;
	margin: -6px 12px -6px -12px;
	cursor: pointer;
	font-weight: 600;
	font-size: 13px;
}
.form-control-dark[type="file"]::file-selector-button:hover,
.form-control-dark[type="file"]::-webkit-file-upload-button:hover {
	background: var(--gold-hover);
}

.scrollcontainer {
	overflow-y: auto;
	min-height: 10vh;
	max-height: 50vh;
}

.bg-app {
	background-color: #0c0d0e !important;
	border-bottom: 1px solid var(--maroon-border);
}

/* Card & UI Overrides */
.card {
	background-color: var(--maroon-card);
	border: 1px solid var(--maroon-border);
	color: var(--text-light);
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.7);
	border-radius: 12px;
}

.card-header, .card-footer {
	background-color: rgba(0, 0, 0, 0.3);
	border-color: var(--maroon-border);
}

.form-control {
	color-scheme: dark;
	background-color: #0c0f1a;
	border: 1px solid var(--maroon-border);
	color: #ffffff;
	caret-color: #ffffff;
}

.form-control:-webkit-autofill,
.form-control:-webkit-autofill:hover,
.form-control:-webkit-autofill:focus,
.form-control:-webkit-autofill:active {
	-webkit-box-shadow: 0 0 0 1000px #0c0f1a inset !important;
	box-shadow: 0 0 0 1000px #0c0f1a inset !important;
	-webkit-text-fill-color: #ffffff !important;
	caret-color: #ffffff;
	transition: background-color 600000s 0s, color 600000s 0s;
}

.form-control:autofill {
	box-shadow: 0 0 0 1000px #0c0f1a inset !important;
	-webkit-text-fill-color: #ffffff !important;
}

:root {
	--swal-bg: #12172a;
	--swal-input: #0c0f1a;
	--swal-border: #2A3A63;
	--swal-accent: #E8B04B;
	--swal-confirm: #8A5D1A;
	--swal-text: #F3E8E0;
	--swal-muted: #E3CBB6;
}

html .cbbp-overlay {
	--cbbp-bg: #12172a;
	--cbbp-text: #F3E8E0;
	--cbbp-muted: #E3CBB6;
	--cbbp-border: #2A3A63;
	--cbbp-accent: #8A5D1A;
	--cbbp-accent-hover: #A9792A;
	--cbbp-row: #0c0f1a;
	--cbbp-row-hover: rgba(232, 176, 75, 0.12);
}

.form-control:focus {
	background-color: #1a2140;
	border-color: var(--gold-accent);
	color: #ffffff;
	box-shadow: 0 0 0 0.2rem rgba(156, 107, 31, 0.35);
}

.form-control::placeholder {
	color: var(--text-muted);
	opacity: 0.6;
}

/* Gold Buttons */
.btn-gold {
	background-color: var(--gold-accent);
	border-color: var(--gold-accent);
	color: #ffffff;
	font-weight: 500;
}

.btn-gold:hover, .btn-gold:focus {
	background-color: var(--gold-hover);
	border-color: var(--gold-hover);
	color: #ffffff;
}

.btn-outline-gold {
	border-color: var(--maroon-border);
	color: var(--text-light);
	background-color: rgba(0, 0, 0, 0.3);
}

.btn-outline-gold:hover {
	background-color: var(--gold-accent);
	border-color: var(--gold-accent);
	color: #ffffff;
}

a {
	color: #E0AC4D;
}
a:hover {
	color: #F0C878;
	text-decoration: underline;
}

.border-dark-maroon {
	border-color: var(--maroon-border) !important;
}

/* Password Toggle */
.input-group-text {
	background-color: #0c0f1a;
	border: 1px solid var(--maroon-border);
	color: var(--text-muted);
	cursor: pointer;
}
.input-group-text:hover {
	color: var(--text-light);
}

/* Single shared content container -- every Balaaji view should use this
   instead of defining its own .wrap, so page widths stay consistent
   ("all views should fall in a single container"). Now that the nav is a
   left sidebar (permanent on desktop, off-canvas on mobile) rather than a
   full-width topbar, the content area already sits framed beside/under it
   -- the old 80%-centered desktop treatment (meant for a full-width
   marketing-style topbar) just wasted space here, so this is 100% width on
   both desktop and mobile. No baked-in vertical padding: add py-3/py-4
   etc. in markup per page as needed. */
.wrap {
	width: 100%;
	margin: 0;
	padding: 0 20px;
}
@media (max-width: 768px) {
	.wrap {
		padding: 0 16px;
	}
}

/* Bootstrap dropdown-menu ships light by default -- theme it to match, same
   as every other surface in this file. */
.dropdown-menu {
	background-color: var(--maroon-card);
	border: 1px solid var(--maroon-border);
}
.dropdown-item {
	color: var(--text-light);
}
.dropdown-item:hover, .dropdown-item:focus {
	background-color: rgba(156, 107, 31, 0.15);
	color: var(--text-light);
}

/* Canonical "no records" empty state -- was triplicated identically in
   index.html/services.html/group_clients.html and diverged into a
   differently-structured .no-data-card in groups.html and a plain
   alert-info box in transactions.html. One template now: an icon, then a
   line of text, in a dashed-border card. Usage:
   <div class="empty-state"><i class="fa-solid fa-ICON fa-2x mb-3"></i><br>Message</div> */
.empty-state {
	text-align: center;
	color: var(--text-muted);
	padding: 60px 20px;
	border: 1px dashed var(--maroon-border);
	border-radius: 12px;
}

/* Ported byte-for-byte from Fusion's .thumb-grid/.thumb-card (see
   fusionapp.closebee.com/assets/css/theme.css) for the Groups listing page
   -- same component, Balaaji's own tokens (--maroon-card/--maroon-border/
   --gold-accent) swapped in for Fusion's (--bg-card/--border-color/
   --primary). */
.thumb-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 16px;
	width: 100%;
	padding: 16px;
}
.thumb-card {
	background-color: var(--maroon-card);
	border: 1px solid var(--maroon-border);
	border-radius: 12px;
	overflow: hidden;
	transition: transform 0.2s, box-shadow 0.2s;
	display: flex;
	flex-direction: column;
	position: relative;
}
.thumb-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.4);
	border-color: var(--gold-accent);
}
.thumb-card .thumb-img {
	background-color: var(--bg-dark);
	padding: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 140px;
}
.thumb-card .thumb-img img {
	max-height: 100%;
	max-width: 100%;
	object-fit: contain;
	border-radius: 6px;
}
.thumb-card .thumb-body {
	padding: 12px;
	text-align: center;
	flex-grow: 1;
}
.thumb-card .thumb-title {
	color: var(--text-light);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.thumb-card .thumb-footer {
	background-color: rgba(0, 0, 0, 0.15);
	border-top: 1px solid var(--maroon-border);
	padding: 8px;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 6px;
}
.badge-count {
	background-color: rgba(156, 107, 31, 0.15);
	color:var(--gold-hover);
	border: 1px solid var(--gold-accent);
	font-weight: 600;
	font-size: 11px;
	padding: 3px 6px;
	border-radius: 12px;
}
@media (max-width: 576px) {
	.thumb-grid {
		grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
		gap: 10px;
		padding: 10px;
	}
	.thumb-card .thumb-img {
		height: 100px;
	}
	.thumb-card .thumb-title {
		font-size: 12px;
	}
}

:root {
	--dd-bg: var(--bg-base, var(--light));
	--dd-card: var(--bg-card, var(--white));
	--dd-card-head: var(--bg-card-header, var(--light));
	--dd-line: var(--border-color, rgba(108, 117, 125, 0.3));
	--dd-text: var(--text-main, var(--dark));
	--dd-muted: var(--text-muted, var(--secondary));
	--dd-accent: var(--primary-light, var(--primary));
	--dd-accent-strong: var(--primary);
	--dd-accent-faint: var(--primary-faint, rgba(0, 123, 255, 0.08));
	--dd-on-accent: var(--on-primary, var(--white));
	--dd-dr: var(--danger, var(--red));
	--dd-cr: var(--success, var(--green));
	--dd-fs-xs: var(--fs-xs, 0.75rem);
	--dd-fs-sm: var(--fs-sm, 0.8125rem);
	--dd-fs-base: var(--fs-base, 0.875rem);
	--dd-fs-lg: var(--fs-lg, 1rem);
	--dd-fs-xl: var(--fs-xl, 1.25rem);
	--dd-radius: 10px;
	--dd-gutter: 16px;
}
html {
	scrollbar-gutter: stable;
}
html.dd-locked,
html.dd-locked body {
	overflow: hidden !important;
	touch-action: none;
}
html.dd-locked .dd-app {
	pointer-events: none;
	user-select: none;
}
.dd-body {
	background-color: var(--dd-bg);
	color: var(--dd-text);
	margin: 0;
	min-height: 100vh;
	overflow-x: hidden;
}
.dd-overlay {
	position: fixed;
	inset: 0;
	z-index: 2147483000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: var(--dd-gutter);
	background-color: var(--dd-bg);
	pointer-events: all;
	cursor: progress;
}
.dd-overlay.dd-error {
	cursor: default;
}
.dd-loader {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	color: var(--dd-muted);
	font-size: var(--dd-fs-sm);
}
.dd-spinner {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: 3px solid var(--dd-line);
	border-top-color: var(--dd-accent-strong);
	animation: dd-spin 0.8s linear infinite;
}
@keyframes dd-spin {
	to {
		transform: rotate(360deg);
	}
}
.dd-error-card {
	background-color: var(--dd-card);
	border: 1px solid var(--dd-line);
	border-radius: 16px;
	padding: 28px 24px;
	max-width: 360px;
	width: 100%;
	text-align: center;
	color: var(--dd-text);
}
.dd-error-card > i {
	font-size: 40px;
	color: var(--dd-muted);
	margin-bottom: 12px;
}
.dd-error-card h6 {
	font-size: var(--dd-fs-lg);
	font-weight: 600;
	margin-bottom: 6px;
}
.dd-error-card p {
	color: var(--dd-muted);
	font-size: var(--dd-fs-sm);
	margin-bottom: 16px;
}
.dd-app {
	min-height: 100vh;
}
.dd-bar {
	position: sticky;
	top: 0;
	z-index: 20;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	min-height: 52px;
	padding: 8px var(--dd-gutter);
	background-color: var(--dd-card);
	border-bottom: 1px solid var(--dd-line);
}
.dd-bar-title {
	min-width: 0;
	font-size: var(--dd-fs-lg);
	font-weight: 600;
	color: var(--dd-text);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.dd-bar-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: 6px;
	margin-left: auto;
	flex-shrink: 0;
}
.dd-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-height: 34px;
	padding: 6px 12px;
	border-radius: 8px;
	border: 1px solid var(--dd-line);
	background-color: var(--dd-card-head);
	color: var(--dd-text);
	font-size: var(--dd-fs-sm);
	font-weight: 600;
	line-height: 1.2;
	cursor: pointer;
	white-space: nowrap;
}
.dd-btn:hover,
.dd-btn:focus {
	border-color: var(--dd-accent-strong);
	color: var(--dd-text);
}
.dd-btn.dd-btn-primary {
	background-color: var(--dd-accent-strong);
	border-color: var(--dd-accent-strong);
	color: var(--dd-on-accent);
}
.dd-btn.dd-btn-primary:hover,
.dd-btn.dd-btn-primary:focus {
	color: var(--dd-on-accent);
	filter: brightness(1.08);
}
.dd-doc {
	max-width: 1100px;
	margin: 0 auto;
	padding: 12px var(--dd-gutter) 24px;
}
.dd-card {
	background-color: var(--dd-card);
	border: 1px solid var(--dd-line);
	border-radius: var(--dd-radius);
	margin-bottom: 12px;
	overflow: hidden;
	min-width: 0;
}
.dd-card-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 10px 14px;
	background-color: var(--dd-card-head);
	border-bottom: 1px solid var(--dd-line);
	font-size: var(--dd-fs-base);
	font-weight: 600;
	color: var(--dd-text);
}
.dd-card-head > span:first-child {
	min-width: 0;
	overflow-wrap: anywhere;
}
.dd-card-head i {
	color: var(--dd-accent);
	margin-right: 6px;
}
.dd-card-body {
	padding: 12px 14px;
	min-width: 0;
}
.dd-hero {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 14px;
}
.dd-hero-main {
	flex: 1 1 auto;
	min-width: 0;
}
.dd-kind {
	display: inline-block;
	padding: 3px 10px;
	border-radius: 999px;
	background-color: var(--dd-accent-faint);
	color: var(--dd-accent);
	border: 1px solid var(--dd-line);
	font-size: var(--dd-fs-xs);
	font-weight: 700;
	letter-spacing: 0.4px;
	text-transform: uppercase;
}
.dd-number {
	margin-top: 6px;
	font-size: var(--dd-fs-xl);
	font-weight: 700;
	color: var(--dd-text);
	overflow-wrap: anywhere;
}
.dd-hero-amount {
	flex-shrink: 0;
	text-align: right;
}
.dd-hero-amount .dd-amount {
	font-size: var(--dd-fs-xl);
	font-weight: 700;
	color: var(--dd-accent);
}
.dd-status {
	display: inline-block;
	margin-top: 4px;
	padding: 2px 8px;
	border-radius: 6px;
	border: 1px solid var(--dd-line);
	color: var(--dd-text);
	font-size: var(--dd-fs-xs);
	font-weight: 600;
	text-transform: capitalize;
}
.dd-logo {
	width: 48px;
	height: 48px;
	flex: 0 0 48px;
	border-radius: 8px;
	border: 1px solid var(--dd-line);
	background-color: var(--dd-card-head);
	object-fit: contain;
	display: block;
}
.dd-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
	gap: 8px 14px;
}
.dd-grid.dd-grid-wide {
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
}
.dd-kv {
	min-width: 0;
}
.dd-kv-label {
	font-size: var(--dd-fs-xs);
	font-weight: 600;
	letter-spacing: 0.3px;
	text-transform: uppercase;
	color: var(--dd-muted);
}
.dd-kv-value {
	font-size: var(--dd-fs-sm);
	color: var(--dd-text);
	overflow-wrap: anywhere;
}
.dd-kv-value.dd-strong {
	font-weight: 700;
}
.dd-rows .dd-row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	padding: 7px 0;
	border-bottom: 1px dashed var(--dd-line);
}
.dd-rows .dd-row:last-child {
	border-bottom: none;
}
.dd-row-label {
	min-width: 0;
	font-size: var(--dd-fs-sm);
	color: var(--dd-muted);
	overflow-wrap: anywhere;
}
.dd-row-value {
	flex-shrink: 0;
	max-width: 60%;
	text-align: right;
	font-size: var(--dd-fs-sm);
	color: var(--dd-text);
	overflow-wrap: anywhere;
}
.dd-row.dd-total .dd-row-label,
.dd-row.dd-total .dd-row-value {
	font-weight: 700;
	color: var(--dd-text);
	font-size: var(--dd-fs-base);
}
.dd-parties {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 0 12px;
}
.dd-party {
	display: flex;
	gap: 12px;
	align-items: flex-start;
}
.dd-party-info {
	flex: 1 1 auto;
	min-width: 0;
}
.dd-party-name {
	font-size: var(--dd-fs-base);
	font-weight: 700;
	color: var(--dd-text);
	margin-bottom: 4px;
	overflow-wrap: anywhere;
}
.dd-party-line {
	font-size: var(--dd-fs-sm);
	color: var(--dd-text);
	overflow-wrap: anywhere;
}
.dd-party-line > span {
	color: var(--dd-muted);
	margin-right: 4px;
}
.dd-group {
	margin-bottom: 12px;
}
.dd-group:last-child {
	margin-bottom: 0;
}
.dd-group-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 8px 12px;
	border-radius: 8px;
	background-color: var(--dd-card-head);
	color: var(--dd-accent);
	font-size: var(--dd-fs-sm);
	font-weight: 700;
	margin-bottom: 8px;
}
.dd-group-head > span:first-child {
	min-width: 0;
	overflow-wrap: anywhere;
}
.dd-group-head i {
	margin-right: 6px;
}
.dd-count {
	flex-shrink: 0;
	color: var(--dd-muted);
	font-weight: 600;
	font-size: var(--dd-fs-xs);
}
.dd-item {
	border: 1px solid var(--dd-line);
	border-radius: var(--dd-radius);
	padding: 10px 12px;
	margin-bottom: 8px;
	min-width: 0;
}
.dd-item-head {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-bottom: 8px;
}
.dd-item-idx {
	flex: 0 0 auto;
	min-width: 24px;
	height: 24px;
	padding: 0 6px;
	border-radius: 12px;
	background-color: var(--dd-accent-faint);
	color: var(--dd-accent);
	font-size: var(--dd-fs-xs);
	font-weight: 700;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.dd-item-name {
	flex: 1 1 auto;
	min-width: 0;
	font-size: var(--dd-fs-sm);
	font-weight: 700;
	color: var(--dd-text);
	overflow-wrap: anywhere;
}
.dd-item-sub {
	font-weight: 400;
	font-size: var(--dd-fs-xs);
	color: var(--dd-muted);
	margin-top: 2px;
}
.dd-item-sub a {
	color: var(--dd-accent);
}
.dd-item-amt {
	flex-shrink: 0;
	font-size: var(--dd-fs-sm);
	font-weight: 700;
	color: var(--dd-accent);
	text-align: right;
}
.dd-summary {
	border-radius: var(--dd-radius);
	background-color: var(--dd-accent-faint);
	border: 1px solid var(--dd-line);
	padding: 10px 12px;
}
.dd-words {
	font-size: var(--dd-fs-sm);
	color: var(--dd-text);
	padding: 8px 0 0;
	overflow-wrap: anywhere;
}
.dd-words > span {
	color: var(--dd-muted);
	margin-right: 4px;
}
.dd-words + .dd-words {
	padding-top: 4px;
}
.dd-tax {
	border: 1px solid var(--dd-line);
	border-radius: var(--dd-radius);
	padding: 10px 12px;
	margin-bottom: 8px;
}
.dd-tax-head {
	display: flex;
	justify-content: space-between;
	gap: 8px;
	font-size: var(--dd-fs-sm);
	font-weight: 700;
	color: var(--dd-text);
	margin-bottom: 8px;
	overflow-wrap: anywhere;
}
.dd-drcr {
	display: inline-block;
	margin-left: 6px;
	padding: 1px 6px;
	border-radius: 4px;
	font-size: var(--dd-fs-xs);
	font-weight: 700;
	border: 1px solid currentColor;
}
.dd-drcr.dd-dr {
	color: var(--dd-dr);
}
.dd-drcr.dd-cr {
	color: var(--dd-cr);
}
.dd-attach {
	display: block;
	max-width: 100%;
	max-height: 50vh;
	border-radius: 8px;
	border: 1px solid var(--dd-line);
	margin-bottom: 8px;
}
.dd-note {
	font-size: var(--dd-fs-sm);
	color: var(--dd-text);
	overflow-wrap: anywhere;
}
.dd-sign {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 12px;
}
.dd-sign-decl {
	flex: 1 1 240px;
	min-width: 0;
	font-size: var(--dd-fs-sm);
	color: var(--dd-muted);
}
.dd-sign-auth {
	flex: 0 1 auto;
	text-align: right;
	font-size: var(--dd-fs-sm);
	color: var(--dd-text);
}
.dd-empty {
	font-size: var(--dd-fs-sm);
	color: var(--dd-muted);
}
@media (max-width: 575.98px) {
	.dd-bar {
		min-height: 48px;
	}
	.dd-bar-title {
		font-size: var(--dd-fs-base);
	}
	.dd-btn .dd-btn-text {
		display: none;
	}
	.dd-hero {
		flex-wrap: wrap;
	}
	.dd-hero-amount {
		flex: 1 1 100%;
		text-align: left;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 8px;
	}
	.dd-parties {
		grid-template-columns: minmax(0, 1fr);
	}
	.dd-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media print {
	:root {
		--dd-bg: Canvas;
		--dd-card: Canvas;
		--dd-card-head: Canvas;
		--dd-line: GrayText;
		--dd-text: CanvasText;
		--dd-muted: GrayText;
		--dd-accent: CanvasText;
		--dd-accent-strong: CanvasText;
		--dd-accent-faint: Canvas;
		--dd-on-accent: Canvas;
		--dd-dr: CanvasText;
		--dd-cr: CanvasText;
	}
	html.dd-locked,
	html.dd-locked body {
		overflow: visible !important;
	}
	.dd-bar,
	.dd-overlay,
	.dd-noprint {
		display: none !important;
	}
	.dd-body {
		min-height: 0;
	}
	.dd-doc {
		max-width: none;
		padding: 0;
	}
	.dd-card,
	.dd-item,
	.dd-tax {
		break-inside: avoid;
	}
}
@media screen {
	html:root {
		--dd-bg: var(--bg-dark);
		--dd-card: var(--maroon-card);
		--dd-card-head: var(--maroon-mid);
		--dd-line: var(--maroon-border);
		--dd-text: var(--text-light);
		--dd-muted: var(--text-muted);
		--dd-accent: var(--gold-bright);
		--dd-accent-strong: var(--gold-accent);
		--dd-accent-faint: rgba(138, 93, 26, 0.15);
		--dd-on-accent: var(--text-light);
		--dd-dr: #E57373;
		--dd-cr: #81C784;
	}
}

@media screen {
	:root {
		color-scheme: dark;
	}
}
input[type="date"],
input[type="datetime-local"],
input[type="month"],
input[type="week"],
input[type="time"] {
	color-scheme: dark;
}
input[type="date"]::-webkit-calendar-picker-indicator,
input[type="datetime-local"]::-webkit-calendar-picker-indicator,
input[type="month"]::-webkit-calendar-picker-indicator,
input[type="week"]::-webkit-calendar-picker-indicator,
input[type="time"]::-webkit-calendar-picker-indicator {
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E8B04B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4.5' width='18' height='16.5' rx='2.5'/%3E%3Cpath d='M3 9.5h18M8 2.5v4M16 2.5v4'/%3E%3Crect x='7' y='13' width='3' height='3' rx='.5' fill='%23E8B04B' stroke='none'/%3E%3C/svg%3E") center / 18px 18px no-repeat;
	color: transparent;
	opacity: 1;
	width: 20px;
	height: 20px;
	padding: 2px;
	margin-left: 6px;
	border-radius: 4px;
	cursor: pointer;
	filter: none;
	transition: background-color 0.15s ease, transform 0.15s ease;
}
input[type="time"]::-webkit-calendar-picker-indicator {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E8B04B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3.5 2'/%3E%3C/svg%3E");
}
input[type="date"]::-webkit-calendar-picker-indicator:hover,
input[type="datetime-local"]::-webkit-calendar-picker-indicator:hover,
input[type="month"]::-webkit-calendar-picker-indicator:hover,
input[type="week"]::-webkit-calendar-picker-indicator:hover,
input[type="time"]::-webkit-calendar-picker-indicator:hover {
	background-color: rgba(232, 176, 75, 0.18);
	transform: scale(1.1);
}
input[type="date"]:disabled::-webkit-calendar-picker-indicator,
input[type="datetime-local"]:disabled::-webkit-calendar-picker-indicator,
input[type="month"]:disabled::-webkit-calendar-picker-indicator,
input[type="week"]:disabled::-webkit-calendar-picker-indicator,
input[type="time"]:disabled::-webkit-calendar-picker-indicator {
	opacity: 0.4;
	cursor: not-allowed;
}

body.swal2-shown > .swal2-container,
.swal2-container.swal2-backdrop-show,
.swal2-container.swal2-shown {
	background-color: rgba(4, 6, 14, 0.72) !important;
}
div.swal2-popup {
	background: var(--maroon-card) !important;
	color: var(--text-light) !important;
	border: 1px solid var(--maroon-border) !important;
	border-radius: 14px !important;
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.55) !important;
}
div.swal2-popup.swal2-toast {
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5) !important;
}
div.swal2-popup .swal2-title {
	color: var(--text-light) !important;
}
div.swal2-popup .swal2-html-container,
div.swal2-popup .swal2-content,
div.swal2-popup .swal2-footer {
	color: var(--text-muted) !important;
}
div.swal2-popup .swal2-footer {
	border-top-color: var(--maroon-border) !important;
}
div.swal2-popup .swal2-input,
div.swal2-popup .swal2-textarea,
div.swal2-popup .swal2-select,
div.swal2-popup .swal2-file {
	background: var(--bg-dark) !important;
	color: var(--text-light) !important;
	border: 1px solid var(--maroon-border) !important;
	border-radius: 8px !important;
	box-shadow: none !important;
	color-scheme: dark;
}
div.swal2-popup .swal2-input::placeholder,
div.swal2-popup .swal2-textarea::placeholder {
	color: rgba(227, 203, 182, 0.55) !important;
}
div.swal2-popup .swal2-input:focus,
div.swal2-popup .swal2-textarea:focus,
div.swal2-popup .swal2-select:focus {
	border-color: var(--gold-accent) !important;
	box-shadow: 0 0 0 3px rgba(232, 176, 75, 0.2) !important;
	outline: none !important;
}
div.swal2-popup .swal2-select option {
	background: var(--maroon-card);
	color: var(--text-light);
}
div.swal2-popup .swal2-checkbox,
div.swal2-popup .swal2-radio,
div.swal2-popup .swal2-range {
	background: transparent !important;
	color: var(--text-light) !important;
}
div.swal2-popup .swal2-validation-message {
	background: rgba(220, 38, 38, 0.12) !important;
	color: #F5B5B5 !important;
	border-top: 1px solid rgba(220, 38, 38, 0.35);
}
div.swal2-popup .swal2-validation-message::before {
	background-color: #dc2626 !important;
	color: #fff !important;
}
div.swal2-popup .swal2-styled {
	border-radius: 8px;
	font-weight: 600;
}
div.swal2-popup .swal2-actions .swal2-styled.swal2-confirm {
	background-color: var(--gold-accent);
	border: 1px solid var(--gold-accent);
	color: var(--text-light);
}
div.swal2-popup .swal2-actions .swal2-styled.swal2-confirm:hover {
	background-color: var(--gold-hover);
	background-image: none;
}
div.swal2-popup .swal2-styled.swal2-confirm:focus {
	box-shadow: 0 0 0 3px rgba(232, 176, 75, 0.3) !important;
}
div.swal2-popup .swal2-actions .swal2-styled.swal2-cancel,
div.swal2-popup .swal2-actions .swal2-styled.swal2-deny {
	background-color: transparent;
	border: 1px solid var(--maroon-border) !important;
	color: var(--text-muted) !important;
}
div.swal2-popup .swal2-actions .swal2-styled.swal2-cancel:hover,
div.swal2-popup .swal2-actions .swal2-styled.swal2-deny:hover {
	background-color: var(--maroon-mid) !important;
	background-image: none !important;
	color: var(--text-light) !important;
	border-color: var(--gold-accent) !important;
}
div.swal2-popup .swal2-styled.swal2-cancel:focus,
div.swal2-popup .swal2-styled.swal2-deny:focus {
	box-shadow: 0 0 0 3px rgba(42, 58, 99, 0.6) !important;
}
div.swal2-popup .swal2-close {
	color: var(--text-muted) !important;
}
div.swal2-popup .swal2-close:hover {
	color: var(--gold-bright) !important;
}
div.swal2-popup .swal2-icon.swal2-success {
	border-color: rgba(129, 199, 132, 0.35) !important;
	color: #81C784 !important;
}
div.swal2-popup .swal2-icon.swal2-success [class^='swal2-success-line'] {
	background-color: #81C784 !important;
}
div.swal2-popup .swal2-icon.swal2-success .swal2-success-ring {
	border-color: rgba(129, 199, 132, 0.35) !important;
}
div.swal2-popup .swal2-icon.swal2-success [class^='swal2-success-circular-line'],
div.swal2-popup .swal2-icon.swal2-success .swal2-success-fix {
	background-color: var(--maroon-card) !important;
}
div.swal2-popup .swal2-icon.swal2-error {
	border-color: #E57373 !important;
	color: #E57373 !important;
}
div.swal2-popup .swal2-icon.swal2-error [class^='swal2-x-mark-line'] {
	background-color: #E57373 !important;
}
div.swal2-popup .swal2-icon.swal2-warning {
	border-color: var(--gold-bright) !important;
	color: var(--gold-bright) !important;
}
div.swal2-popup .swal2-icon.swal2-info {
	border-color: #7FA7E0 !important;
	color: #7FA7E0 !important;
}
div.swal2-popup .swal2-icon.swal2-question {
	border-color: var(--text-muted) !important;
	color: var(--text-muted) !important;
}
div.swal2-popup .swal2-progress-steps .swal2-progress-step,
div.swal2-popup .swal2-progress-steps .swal2-progress-step-line {
	background: var(--gold-accent) !important;
}
div.swal2-popup .swal2-timer-progress-bar {
	background: rgba(232, 176, 75, 0.6) !important;
}
