.a43-portal {
	--a43-green-950: #082c25;
	--a43-green-900: #0d3b32;
	--a43-green-800: #155044;
	--a43-green-700: #1d6959;
	--a43-green-100: #dff1eb;
	--a43-green-50: #eff8f5;
	--a43-orange: #ef8d32;
	--a43-orange-light: #fff0e1;
	--a43-ink: #18352f;
	--a43-muted: #6b827c;
	--a43-line: #dce7e3;
	--a43-bg: #f3f7f5;
	--a43-white: #fff;
	--a43-danger: #c94343;
	--a43-danger-light: #fff0f0;
	--a43-shadow: 0 20px 55px rgba(8, 44, 37, .09);
	width: 100%;
	color: var(--a43-ink);
	font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 15px;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
}

.a43-portal *,
.a43-portal *::before,
.a43-portal *::after { box-sizing: border-box; }
.a43-portal h1,
.a43-portal h2,
.a43-portal h3,
.a43-portal p { margin-top: 0; }
.a43-portal button,
.a43-portal input,
.a43-portal textarea { font: inherit; }
.a43-portal button { cursor: pointer; }

.a43-login-shell {
	display: grid;
	grid-template-columns: minmax(320px, .92fr) minmax(460px, 1.08fr);
	min-height: min(820px, 94vh);
	background: var(--a43-white);
	border: 1px solid var(--a43-line);
	border-radius: 28px;
	overflow: hidden;
	box-shadow: var(--a43-shadow);
}

.a43-login-visual {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 680px;
	padding: 48px;
	color: #fff;
	overflow: hidden;
	background:
		radial-gradient(circle at 75% 22%, rgba(239, 141, 50, .2), transparent 28%),
		linear-gradient(155deg, #123e35 0%, #082c25 74%);
}

.a43-login-visual::before {
	content: "";
	position: absolute;
	right: -170px;
	bottom: -190px;
	width: 500px;
	height: 500px;
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: 50%;
	box-shadow: 0 0 0 70px rgba(255, 255, 255, .025), 0 0 0 140px rgba(255, 255, 255, .02);
}

.a43-login-visual::after {
	content: "";
	position: absolute;
	top: 48%;
	left: 48px;
	width: 82px;
	height: 4px;
	border-radius: 999px;
	background: var(--a43-orange);
}

.a43-login-brand,
.a43-login-mobile-brand,
.a43-app-brand {
	position: relative;
	z-index: 1;
	color: inherit;
	font-size: 29px;
	font-weight: 850;
	letter-spacing: -.06em;
	text-decoration: none;
}

.a43-login-copy { position: relative; z-index: 1; max-width: 470px; }
.a43-login-copy > span {
	display: inline-block;
	margin-bottom: 22px;
	color: #aad1c6;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .16em;
	text-transform: uppercase;
}
.a43-login-copy h2 {
	margin-bottom: 24px;
	color: #fff;
	font-size: clamp(34px, 3.3vw, 54px);
	line-height: 1.06;
	letter-spacing: -.045em;
}
.a43-login-copy p { max-width: 440px; margin-bottom: 0; color: #c6dbd5; font-size: 16px; line-height: 1.75; }
.a43-login-foot { position: relative; z-index: 1; color: #83aaa0; font-size: 12px; }

.a43-login-form-wrap {
	display: grid;
	place-items: center;
	padding: 48px clamp(30px, 7vw, 100px);
	background: linear-gradient(180deg, #fff 0%, #fbfdfc 100%);
}
.a43-login-form { width: min(100%, 430px); }
.a43-login-mobile-brand { display: none; color: var(--a43-green-900); margin-bottom: 38px; }
.a43-kicker {
	display: block;
	margin-bottom: 10px;
	color: var(--a43-orange);
	font-size: 11px;
	font-weight: 850;
	letter-spacing: .15em;
	text-transform: uppercase;
}
.a43-login-form h1 { margin-bottom: 12px; color: var(--a43-green-950); font-size: clamp(30px, 3vw, 42px); line-height: 1.1; letter-spacing: -.04em; }
.a43-login-form > p { margin-bottom: 36px; color: var(--a43-muted); line-height: 1.7; }
.a43-login-form label {
	display: block;
	margin-bottom: 9px;
	color: var(--a43-ink);
	font-size: 13px;
	font-weight: 750;
}
.a43-code-input { position: relative; }
.a43-code-input svg {
	position: absolute;
	top: 50%;
	left: 17px;
	width: 20px;
	height: 20px;
	fill: none;
	stroke: #78908a;
	stroke-width: 1.7;
	transform: translateY(-50%);
}
.a43-code-input input {
	width: 100%;
	height: 58px;
	padding: 0 18px 0 51px;
	color: var(--a43-green-950);
	font-size: 17px;
	font-weight: 750;
	letter-spacing: .08em;
	text-transform: uppercase;
	border: 1.5px solid var(--a43-line);
	border-radius: 13px;
	outline: none;
	background: #fff;
	transition: .2s ease;
}
.a43-code-input input:focus { border-color: var(--a43-green-700); box-shadow: 0 0 0 4px rgba(29, 105, 89, .1); }

.a43-primary-button,
.a43-secondary-button,
.a43-ghost-button,
.a43-approve-button,
.a43-change-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	min-height: 48px;
	padding: 0 20px;
	font-weight: 780;
	border: 0;
	border-radius: 11px;
	transition: transform .18s ease, background .18s ease, box-shadow .18s ease;
}
.a43-primary-button {
	width: 100%;
	min-height: 56px;
	margin-top: 16px;
	color: #fff;
	background: var(--a43-green-900);
	box-shadow: 0 12px 25px rgba(13, 59, 50, .17);
}
.a43-primary-button b { margin-left: auto; color: #f9bc81; font-size: 20px; }
.a43-primary-button:hover { color: #fff; background: var(--a43-green-800); transform: translateY(-1px); }
.a43-primary-button:disabled,
.a43-secondary-button:disabled,
.a43-approve-button:disabled { cursor: wait; opacity: .55; transform: none; }
.a43-login-form > small { display: block; margin-top: 22px; color: #879a95; text-align: center; }
.a43-form-message { min-height: 22px; margin-top: 9px; font-size: 13px; font-weight: 650; }
.a43-form-message.is-error { color: var(--a43-danger); }
.a43-form-message.is-success { color: var(--a43-green-700); }
.a43-form-message.is-loading { color: var(--a43-muted); }

.a43-app-shell { min-height: 720px; background: var(--a43-bg); border: 1px solid var(--a43-line); border-radius: 25px; overflow: hidden; }
.a43-app-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 78px;
	padding: 0 clamp(22px, 5vw, 64px);
	color: #fff;
	background: var(--a43-green-950);
}
.a43-app-brand { color: #fff; }
.a43-app-header-right,
.a43-client-identity { display: flex; align-items: center; }
.a43-app-header-right { gap: 24px; }
.a43-client-identity { gap: 11px; }
.a43-client-identity > span {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	color: #fff;
	font-size: 12px;
	font-weight: 850;
	border: 1px solid rgba(255, 255, 255, .2);
	border-radius: 50%;
	background: rgba(255, 255, 255, .09);
}
.a43-client-identity div { display: flex; flex-direction: column; line-height: 1.2; }
.a43-client-identity small { color: #87afa5; font-size: 10px; text-transform: uppercase; letter-spacing: .09em; }
.a43-client-identity strong { max-width: 220px; overflow: hidden; color: #fff; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.a43-logout { padding: 7px 11px; color: #b8d1ca; font-size: 12px; border: 1px solid rgba(255, 255, 255, .14); border-radius: 8px; background: transparent; }
.a43-logout:hover { color: #fff; background: rgba(255, 255, 255, .07); }

.a43-app-main { width: min(1180px, calc(100% - 44px)); margin: 0 auto; padding: 55px 0 80px; }
.a43-welcome {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	margin-bottom: 48px;
	padding: clamp(30px, 5vw, 52px);
	color: #fff;
	border-radius: 23px;
	background:
		radial-gradient(circle at 88% 15%, rgba(239, 141, 50, .2), transparent 23%),
		var(--a43-green-900);
	box-shadow: 0 20px 45px rgba(8, 44, 37, .12);
}
.a43-welcome .a43-kicker { color: #f7ad68; }
.a43-welcome h1 { margin-bottom: 10px; color: #fff; font-size: clamp(32px, 4vw, 50px); line-height: 1.08; letter-spacing: -.04em; }
.a43-welcome p { max-width: 650px; margin-bottom: 0; color: #c1d8d2; font-size: 16px; }
.a43-welcome-mark { position: relative; display: flex; flex-direction: column; align-items: center; min-width: 150px; }
.a43-welcome-mark i { position: absolute; inset: -16px 2px; border: 1px solid rgba(255, 255, 255, .13); border-radius: 50%; }
.a43-welcome-mark span { color: #fff; font-size: 48px; font-weight: 850; line-height: 1; }
.a43-welcome-mark small { margin-top: 7px; color: #9fc1b8; font-size: 11px; }

.a43-section { margin-top: 46px; }
.a43-section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 22px; margin-bottom: 22px; }
.a43-section-heading h2 { margin-bottom: 5px; color: var(--a43-green-950); font-size: clamp(25px, 3vw, 34px); letter-spacing: -.035em; }
.a43-section-heading p { max-width: 680px; margin-bottom: 0; color: var(--a43-muted); }
.a43-count { display: grid; place-items: center; min-width: 43px; height: 43px; color: var(--a43-green-800); font-weight: 850; border-radius: 50%; background: var(--a43-green-100); }

.a43-process-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.a43-process-card {
	display: block;
	padding: 26px;
	color: var(--a43-ink);
	text-decoration: none;
	border: 1px solid var(--a43-line);
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 10px 35px rgba(8, 44, 37, .045);
	transition: .2s ease;
}
.a43-process-card:hover { color: var(--a43-ink); border-color: #b8cec7; transform: translateY(-3px); box-shadow: var(--a43-shadow); }
.a43-process-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 28px; }
.a43-process-arrow { display: grid; place-items: center; width: 35px; height: 35px; color: var(--a43-green-800); border-radius: 50%; background: var(--a43-green-50); }
.a43-process-card h3 { margin-bottom: 6px; color: var(--a43-green-950); font-size: 22px; letter-spacing: -.025em; }
.a43-process-card > p { color: var(--a43-muted); }
.a43-mini-progress { height: 5px; margin: 23px 0 11px; border-radius: 999px; overflow: hidden; background: #eaf0ee; }
.a43-mini-progress i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--a43-green-700), var(--a43-orange)); }
.a43-process-meta { display: flex; justify-content: space-between; gap: 10px; color: #81958f; font-size: 11px; }
.a43-empty-state { padding: 60px 24px; text-align: center; border: 1px dashed #c8d8d3; border-radius: 18px; background: rgba(255, 255, 255, .6); }
.a43-empty-icon { display: grid; place-items: center; width: 52px; height: 52px; margin: 0 auto 18px; color: var(--a43-green-700); font-size: 23px; border-radius: 50%; background: var(--a43-green-100); }
.a43-empty-state h3 { margin-bottom: 8px; color: var(--a43-green-950); }
.a43-empty-state p { margin-bottom: 0; color: var(--a43-muted); }

.a43-status {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	width: fit-content;
	padding: 6px 10px;
	color: #49625b;
	font-size: 10px;
	font-weight: 820;
	letter-spacing: .045em;
	text-transform: uppercase;
	border-radius: 999px;
	background: #eef3f1;
}
.a43-status i { width: 6px; height: 6px; border-radius: 50%; background: #78928b; }
.a43-status-pending_review { color: #805313; background: #fff2d6; }
.a43-status-pending_review i { background: #d99322; }
.a43-status-changes_requested { color: #9d3838; background: var(--a43-danger-light); }
.a43-status-changes_requested i { background: #d85656; }
.a43-status-ready,
.a43-status-approved { color: #1d6a53; background: #def4e9; }
.a43-status-ready i,
.a43-status-approved i { background: #2a9976; }
.a43-status-materials_ready { color: #2f5f78; background: #e5f2f8; }
.a43-status-materials_ready i { background: #4385a5; }

.a43-campaign-page { padding-top: 34px; }
.a43-back { display: inline-block; margin-bottom: 22px; color: #607a73; font-size: 13px; font-weight: 700; text-decoration: none; }
.a43-back:hover { color: var(--a43-green-800); }
.a43-campaign-hero {
	display: flex;
	justify-content: space-between;
	gap: 24px;
	padding: clamp(28px, 5vw, 48px);
	color: #fff;
	border-radius: 21px 21px 0 0;
	background: var(--a43-green-900);
}
.a43-campaign-hero .a43-status { margin-bottom: 22px; }
.a43-campaign-hero h1 { margin-bottom: 9px; color: #fff; font-size: clamp(31px, 4vw, 47px); line-height: 1.08; letter-spacing: -.04em; }
.a43-campaign-hero p { margin-bottom: 0; color: #a8c8c0; }

.a43-stepper {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	padding: 25px clamp(22px, 4vw, 44px);
	border: 1px solid var(--a43-line);
	border-top: 0;
	border-radius: 0 0 21px 21px;
	background: #fff;
}
.a43-step { position: relative; display: flex; align-items: center; gap: 11px; min-width: 0; }
.a43-step:not(:last-child)::after { content: ""; position: absolute; top: 18px; right: 14px; width: calc(100% - 150px); height: 1px; background: #dce6e2; }
.a43-step > span { display: grid; place-items: center; flex: 0 0 35px; height: 35px; color: #8fa19c; font-size: 12px; font-weight: 850; border: 1px solid #d9e3e0; border-radius: 50%; background: #f7f9f8; }
.a43-step div { display: flex; min-width: 0; flex-direction: column; line-height: 1.25; }
.a43-step strong { color: #78908a; font-size: 12px; white-space: nowrap; }
.a43-step small { color: #9eaca8; font-size: 9px; white-space: nowrap; }
.a43-step.is-current > span { color: #fff; border-color: var(--a43-orange); background: var(--a43-orange); box-shadow: 0 0 0 5px var(--a43-orange-light); }
.a43-step.is-current strong { color: var(--a43-green-950); }
.a43-step.is-done > span { color: #fff; border-color: var(--a43-green-700); background: var(--a43-green-700); }
.a43-step.is-done::after { background: #7eb0a3; }

.a43-info-box,
.a43-ready-banner,
.a43-finish-materials { display: flex; align-items: flex-start; gap: 16px; margin-top: 24px; padding: 21px 23px; border-radius: 14px; }
.a43-info-box { color: #345d52; border: 1px solid #d3e8e1; background: var(--a43-green-50); }
.a43-info-box > span { display: grid; place-items: center; flex: 0 0 28px; height: 28px; color: #fff; font-weight: 850; border-radius: 50%; background: var(--a43-green-700); }
.a43-info-box strong { color: var(--a43-green-900); }
.a43-info-box p { margin: 4px 0 0; }
.a43-ready-banner { align-items: center; padding: 27px; color: #1c624f; border: 1px solid #b8dfd1; background: linear-gradient(90deg, #e4f6ef, #f2faf7); }
.a43-ready-icon { display: grid; place-items: center; flex: 0 0 48px; height: 48px; color: #fff; font-size: 23px; border-radius: 50%; background: #299071; }
.a43-ready-banner span { font-size: 10px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.a43-ready-banner h2 { margin: 2px 0; color: #155442; }
.a43-ready-banner p { margin-bottom: 0; }

.a43-material-list { display: grid; gap: 15px; }
.a43-material-card { display: grid; grid-template-columns: 62px 1fr; border: 1px solid var(--a43-line); border-radius: 17px; overflow: hidden; background: #fff; box-shadow: 0 8px 28px rgba(8, 44, 37, .04); }
.a43-material-index { display: grid; place-items: start center; padding-top: 25px; color: #82a099; font-size: 12px; font-weight: 850; letter-spacing: .1em; border-right: 1px solid var(--a43-line); background: #f7faf9; }
.a43-material-body { min-width: 0; padding: 24px; }
.a43-material-title { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.a43-material-title h3 { margin-bottom: 6px; color: var(--a43-green-950); font-size: 20px; letter-spacing: -.02em; }
.a43-material-title div > span { display: inline-block; padding: 4px 9px; color: #995b1f; font-size: 11px; font-weight: 800; border-radius: 7px; background: var(--a43-orange-light); }
.a43-material-title > small { color: #81958f; white-space: nowrap; }
.a43-material-details { margin: 18px 0; padding-left: 14px; color: #506a63; border-left: 3px solid #c8ddd7; }
.a43-file-strip { display: flex; gap: 10px; overflow-x: auto; padding-bottom: 4px; scrollbar-width: thin; }
.a43-file-thumb { position: relative; display: flex; flex: 0 0 118px; height: 96px; align-items: center; justify-content: center; overflow: hidden; color: var(--a43-green-800); text-decoration: none; border: 1px solid var(--a43-line); border-radius: 10px; background: #eef4f2; }
.a43-file-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .2s ease; }
.a43-file-thumb:hover img { transform: scale(1.04); }
.a43-file-thumb b { position: absolute; right: 0; bottom: 0; left: 0; overflow: hidden; padding: 15px 7px 5px; color: #fff; font-size: 9px; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; background: linear-gradient(transparent, rgba(0, 0, 0, .72)); }
.a43-file-thumb .a43-play { display: grid; place-items: center; width: 34px; height: 34px; padding-left: 2px; color: #fff; border-radius: 50%; background: var(--a43-green-800); }
.a43-file-thumb > small { position: absolute; bottom: 7px; color: #627d75; font-size: 9px; }
.a43-pdf { font-size: 12px; font-weight: 900; }
.a43-no-files { padding: 14px; color: var(--a43-muted); font-size: 12px; border-radius: 9px; background: #f7faf9; }
.a43-client-uploader { margin-top: 13px; }
.a43-client-uploader > input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.a43-add-files-button { padding: 7px 10px; color: var(--a43-green-700); font-size: 10px; font-weight: 780; border: 1px solid #cfe0db; border-radius: 7px; background: #fff; }
.a43-add-files-button:hover { border-color: #9fc2b8; background: var(--a43-green-50); }

.a43-add-material { margin-top: 18px; border: 1px dashed #acc8c0; border-radius: 17px; background: rgba(255, 255, 255, .75); }
.a43-add-material summary { display: flex; align-items: center; gap: 15px; padding: 20px 23px; list-style: none; cursor: pointer; }
.a43-add-material summary::-webkit-details-marker { display: none; }
.a43-add-material summary > span { display: grid; place-items: center; flex: 0 0 38px; height: 38px; color: #fff; font-size: 23px; border-radius: 50%; background: var(--a43-green-800); }
.a43-add-material summary > div { display: flex; flex: 1; flex-direction: column; }
.a43-add-material summary strong { color: var(--a43-green-950); }
.a43-add-material summary small { color: var(--a43-muted); }
.a43-add-material summary > b { color: #7b918b; transition: transform .2s ease; }
.a43-add-material[open] summary > b { transform: rotate(180deg); }
.a43-material-form { padding: 5px 23px 25px 76px; }
.a43-field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.a43-material-form label { display: block; margin-bottom: 15px; color: var(--a43-ink); font-size: 12px; font-weight: 780; }
.a43-material-form label em { color: var(--a43-orange); font-style: normal; }
.a43-material-form label > span { color: #8da09b; font-size: 10px; font-weight: 500; }
.a43-material-form input[type="text"],
.a43-material-form textarea,
.a43-modal textarea {
	display: block;
	width: 100%;
	margin-top: 7px;
	padding: 13px 14px;
	color: var(--a43-ink);
	border: 1px solid #d7e3df;
	border-radius: 10px;
	outline: none;
	background: #fff;
	resize: vertical;
	transition: .2s ease;
}
.a43-material-form input:focus,
.a43-material-form textarea:focus,
.a43-modal textarea:focus { border-color: var(--a43-green-700); box-shadow: 0 0 0 4px rgba(29, 105, 89, .08); }
.a43-dropzone { position: relative; padding: 28px 20px; text-align: center; border: 1.5px dashed #aac5bd; border-radius: 13px; background: #f4f9f7; cursor: pointer; transition: .2s ease; }
.a43-dropzone:hover { border-color: var(--a43-green-700); background: var(--a43-green-50); }
.a43-dropzone input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.a43-dropzone .a43-drop-icon { display: grid; place-items: center; width: 38px; height: 38px; margin: 0 auto 9px; color: #fff; font-size: 21px; border-radius: 50%; background: var(--a43-green-700); }
.a43-dropzone strong { display: block; color: var(--a43-green-950); font-size: 14px; }
.a43-dropzone p { margin: 3px 0; color: var(--a43-muted); font-size: 12px; font-weight: 500; }
.a43-dropzone small { color: #92a39e; font-size: 9px; font-weight: 600; }
.a43-selected-files { display: flex; flex-wrap: wrap; gap: 6px; margin: -6px 0 15px; }
.a43-selected-files span { max-width: 210px; overflow: hidden; padding: 5px 8px; color: #526d65; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; border-radius: 6px; background: #e9f1ee; }
.a43-submit-material { width: auto; min-width: 255px; }

.a43-upload-list { display: grid; gap: 8px; }
.a43-upload-row { display: grid; grid-template-columns: minmax(120px, 1fr) minmax(100px, 190px) 40px; align-items: center; gap: 12px; padding: 10px 12px; border: 1px solid var(--a43-line); border-radius: 9px; background: #fff; }
.a43-upload-row > div:first-child { min-width: 0; }
.a43-upload-row strong,
.a43-upload-row span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.a43-upload-row strong { color: var(--a43-ink); font-size: 11px; }
.a43-upload-row span { color: var(--a43-muted); font-size: 9px; }
.a43-upload-row > b { color: var(--a43-green-700); font-size: 10px; text-align: right; }
.a43-upload-track { height: 5px; overflow: hidden; border-radius: 999px; background: #e6efec; }
.a43-upload-track i { display: block; width: 0; height: 100%; border-radius: inherit; background: var(--a43-orange); transition: width .15s linear; }
.a43-upload-row.is-complete .a43-upload-track i { background: #299071; }
.a43-upload-row.is-error { border-color: #edc7c7; background: #fff8f8; }
.a43-upload-row.is-error span,
.a43-upload-row.is-error > b { color: var(--a43-danger); }

.a43-finish-materials { align-items: center; justify-content: space-between; margin-top: 22px; color: #345d52; border: 1px solid #d3e5df; background: #fff; }
.a43-finish-materials strong { color: var(--a43-green-950); }
.a43-finish-materials p { margin: 3px 0 0; color: var(--a43-muted); }
.a43-secondary-button { flex: 0 0 auto; color: #fff; background: var(--a43-green-800); }
.a43-secondary-button:hover { background: var(--a43-green-700); }

.a43-review-section { padding-top: 10px; }
.a43-review-group { margin-bottom: 25px; }
.a43-review-group-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.a43-review-group-head h3 { margin-bottom: 0; color: var(--a43-green-950); font-size: 17px; }
.a43-review-group-head span { color: var(--a43-muted); font-size: 11px; }
.a43-creative-grid { display: grid; grid-template-columns: 1fr; gap: 22px; }
.a43-creative-card { min-width: 0; overflow: hidden; border: 1px solid var(--a43-line); border-radius: 17px; background: #fff; box-shadow: 0 10px 30px rgba(8, 44, 37, .05); }
.a43-creative-card.is-locked { border-color: #d8dddb; background: #f4f6f5; box-shadow: none; }
.a43-creative-card.is-locked .a43-creative-preview { filter: grayscale(.45); opacity: .72; }
.a43-creative-preview { position: relative; display: grid; min-height: 420px; max-height: 82vh; place-items: center; overflow: hidden; background: #e8efed; }
.a43-creative-preview img,
.a43-creative-preview video { display: block; width: auto; max-width: 100%; height: auto; max-height: 82vh; object-fit: contain; background: #e8efed; }
.a43-file-thumb-wrap { position: relative; min-width: 0; }
.a43-delete-original { width: 100%; margin-top: 6px; padding: 7px; color: #9c3f3f; font-size: 10px; font-weight: 800; border: 1px solid #f1cccc; border-radius: 8px; background: #fff1f1; }
.a43-delete-original:hover { background: #ffe4e4; }
.a43-creative-preview .a43-status { position: absolute; top: 13px; left: 13px; box-shadow: 0 4px 15px rgba(0, 0, 0, .1); }
.a43-pdf-large { color: var(--a43-green-800); font-weight: 800; }
.a43-creative-info { padding: 18px; }
.a43-creative-info > strong { display: block; overflow: hidden; color: var(--a43-green-950); font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.a43-creative-info > a { display: inline-block; margin-top: 5px; color: var(--a43-green-700); font-size: 11px; font-weight: 700; }
.a43-locked-note,
.a43-current-note { display: block; margin-top: 7px; font-size: 11px; font-weight: 750; }
.a43-locked-note { color: #747c79; }
.a43-current-note { color: var(--a43-green-700); }
.a43-review-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 17px; }
.a43-approve-button { color: #fff; background: #258766; }
.a43-approve-button:hover { background: #1e7457; }
.a43-change-button { color: #9c3f3f; background: var(--a43-danger-light); }
.a43-change-button:hover { background: #ffe4e4; }
.a43-feedback-sent { margin-top: 14px; padding: 12px; color: #855050; font-size: 11px; border-radius: 9px; background: var(--a43-danger-light); }
.a43-feedback-sent p { margin: 4px 0 0; }

.a43-modal { position: fixed; z-index: 999999; inset: 0; display: grid; place-items: center; padding: 20px; opacity: 0; pointer-events: none; transition: opacity .2s ease; }
.a43-modal.is-open { opacity: 1; pointer-events: auto; }
.a43-modal-backdrop { position: absolute; inset: 0; background: rgba(4, 24, 20, .68); backdrop-filter: blur(4px); }
.a43-modal-card { position: relative; z-index: 1; width: min(100%, 520px); padding: 32px; border-radius: 18px; background: #fff; box-shadow: 0 30px 80px rgba(0, 0, 0, .25); transform: translateY(12px); transition: transform .2s ease; }
.a43-modal.is-open .a43-modal-card { transform: translateY(0); }
.a43-modal-card h2 { margin-bottom: 8px; color: var(--a43-green-950); font-size: 27px; letter-spacing: -.03em; }
.a43-modal-card > p { color: var(--a43-muted); }
.a43-modal-close { position: absolute; top: 13px; right: 14px; width: 34px; height: 34px; color: #617970; font-size: 22px; border: 0; border-radius: 50%; background: #eef4f2; }
.a43-modal-actions { display: flex; justify-content: flex-end; gap: 9px; margin-top: 18px; }
.a43-modal-actions .a43-primary-button { width: auto; min-height: 48px; margin-top: 0; }
.a43-ghost-button { color: #526d65; background: #edf3f1; }

.a43-app-footer { display: flex; align-items: center; justify-content: center; gap: 9px; padding: 23px; color: #8aa099; font-size: 11px; border-top: 1px solid var(--a43-line); background: #eef4f2; }
.a43-app-footer span { color: var(--a43-green-800); font-weight: 850; }
.a43-app-footer p { margin: 0; }

@media (max-width: 920px) {
	.a43-login-shell { grid-template-columns: .85fr 1.15fr; }
	.a43-login-visual { padding: 38px; }
	.a43-login-copy h2 { font-size: 36px; }
	.a43-stepper { grid-template-columns: repeat(2, 1fr); gap: 18px; }
	.a43-step:not(:last-child)::after { display: none; }
	.a43-creative-grid { grid-template-columns: 1fr; }
	.a43-process-grid { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
	.a43-login-shell { display: block; min-height: 0; border-radius: 19px; }
	.a43-login-visual { display: none; }
	.a43-login-form-wrap { min-height: 640px; padding: 38px 24px; }
	.a43-login-mobile-brand { display: block; }
	.a43-app-shell { border-radius: 0; border-right: 0; border-left: 0; }
	.a43-app-header { min-height: 68px; padding: 0 17px; }
	.a43-app-brand { font-size: 24px; }
	.a43-client-identity div { display: none; }
	.a43-app-header-right { gap: 10px; }
	.a43-client-identity > span { width: 34px; height: 34px; }
	.a43-app-main { width: min(100% - 26px, 1180px); padding: 30px 0 58px; }
	.a43-welcome { align-items: flex-start; margin-bottom: 35px; padding: 29px 24px; }
	.a43-welcome h1 { font-size: 33px; }
	.a43-welcome-mark { display: none; }
	.a43-campaign-hero { padding: 27px 22px; border-radius: 16px 16px 0 0; }
	.a43-campaign-hero h1 { font-size: 31px; }
	.a43-stepper { grid-template-columns: 1fr 1fr; padding: 20px 17px; border-radius: 0 0 16px 16px; }
	.a43-step { gap: 8px; }
	.a43-step > span { flex-basis: 30px; height: 30px; }
	.a43-step small { display: none; }
	.a43-section { margin-top: 37px; }
	.a43-section-heading { align-items: flex-start; }
	.a43-section-heading h2 { font-size: 27px; }
	.a43-material-card { grid-template-columns: 45px 1fr; }
	.a43-material-index { padding-top: 22px; }
	.a43-material-body { padding: 19px 16px; }
	.a43-material-title { display: block; }
	.a43-material-title > small { display: block; margin-top: 8px; }
	.a43-add-material summary { padding: 17px; }
	.a43-add-material summary > span { flex-basis: 34px; height: 34px; }
	.a43-add-material summary small { display: none; }
	.a43-material-form { padding: 2px 17px 19px; }
	.a43-field-grid { grid-template-columns: 1fr; gap: 0; }
	.a43-submit-material { width: 100%; min-width: 0; }
	.a43-upload-row { grid-template-columns: minmax(0, 1fr) 38px; }
	.a43-upload-track { grid-column: 1 / -1; grid-row: 2; }
	.a43-finish-materials { display: block; padding: 19px; }
	.a43-finish-materials .a43-secondary-button { width: 100%; margin-top: 15px; }
	.a43-creative-preview { min-height: 320px; max-height: 76vh; }
	.a43-creative-preview img,
	.a43-creative-preview video { max-height: 76vh; }
	.a43-review-actions { grid-template-columns: 1fr; }
	.a43-modal-card { padding: 27px 21px 21px; }
	.a43-modal-actions { display: grid; grid-template-columns: 1fr; }
	.a43-modal-actions .a43-primary-button { width: 100%; grid-row: 1; }
}
.a43-management-entry{display:block;margin-top:16px;padding-top:16px;border-top:1px solid #e2e8e5;text-align:center;color:#123f35;font-weight:800;text-decoration:none}
.a43-material-edit{margin:14px 0;padding:12px 14px;border:1px solid #dbe5e1;border-radius:11px;background:#f8fbfa}.a43-material-edit>summary{color:#123f35;font-size:12px;font-weight:800;cursor:pointer}.a43-material-edit form{display:grid;gap:11px;margin-top:14px}.a43-material-edit label{display:grid;gap:5px;color:#38554d;font-size:11px;font-weight:750}.a43-material-edit input,.a43-material-edit textarea{width:100%;padding:10px 11px;border:1px solid #ccd9d5;border-radius:8px;background:#fff;color:#17211e;font:inherit}.a43-material-edit-actions{display:flex;gap:9px;flex-wrap:wrap}.a43-material-edit-actions button{min-height:40px;padding:9px 13px;border-radius:9px;font:inherit;font-size:11px;font-weight:800;cursor:pointer}.a43-delete-material{border:1px solid #edc5bd;background:#fff3f0;color:#a33122}.a43-material-edit-actions .a43-secondary-button{margin:0}
