/**
 * FARNIKWEB Core
 * Customer Account
 *
 * Customer workspace UI
 */


/* ==========================================================================
   Tokens
   ========================================================================== */

:root {
	--fw-primary: #1c39bb;
	--fw-primary-hover: #16319f;
	--fw-primary-soft: #eef2ff;

	--fw-navy: #101d36;
	--fw-navy-deep: #0b162b;
	--fw-misty: #7899d4;
	--fw-ice: #e9f0fa;

	--fw-pearl: #faf9f6;
	--fw-cream: #f5f1e8;

	--fw-bg: #f6f8fc;
	--fw-surface: #ffffff;

	--fw-text: #121a29;
	--fw-text-soft: #667085;
	--fw-muted: #98a2b3;

	--fw-border: #e5e7eb;

	--fw-success: #21845a;
	--fw-success-soft: #eaf7f0;
	--fw-success-border: #ccebdc;

	--fw-warning: #94661d;
	--fw-warning-soft: #fff8e8;
	--fw-warning-border: #f2e4bd;

	--fw-danger: #b84b5b;
	--fw-danger-soft: #fff1f3;
	--fw-danger-border: #f4d8dd;

	--fw-radius-sm: 10px;
	--fw-radius: 16px;
	--fw-radius-lg: 20px;

	--fw-sidebar-width: 300px;

	--fw-shadow:
		0 8px 28px rgba(16, 29, 54, 0.045);

	--fw-shadow-hover:
		0 16px 38px rgba(16, 29, 54, 0.08);

	--fw-transition:
		180ms cubic-bezier(0.2, 0.7, 0.3, 1);
}


/* ==========================================================================
   WordPress Cleanup
   ========================================================================== */

body.page .entry-title,
body.page .page-title {
	display: none;
}

body:has(.fw-account-dashboard) .site-content,
body:has(.fw-account-dashboard) .content-area,
body:has(.fw-account-dashboard) .site-main,
body:has(.fw-account-dashboard) article,
body:has(.fw-account-dashboard) .entry-content {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}


/* ==========================================================================
   Root
   ========================================================================== */

.fw-account-dashboard {
	width: 100%;
	margin: 0;
	padding: 0;

	color: var(--fw-text);
	background: var(--fw-bg);

	font-family: inherit;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

.fw-account-dashboard,
.fw-account-dashboard *,
.fw-account-dashboard *::before,
.fw-account-dashboard *::after {
	box-sizing: border-box;
}

.fw-account-dashboard svg {
	display: block;

	width: 20px;
	height: 20px;

	fill: none;
	stroke: currentColor;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}


/* ==========================================================================
   Shell
   ========================================================================== */

.fw-account-shell {
	display: grid;

	grid-template-columns:
		minmax(0, 1fr)
		var(--fw-sidebar-width);

	grid-template-areas:
		"workspace sidebar";

	width: 100%;
	min-height: 780px;

	direction: ltr;

	background: var(--fw-bg);
}


/* ==========================================================================
   Sidebar
   ========================================================================== */

.fw-account-sidebar {
	grid-area: sidebar;

	position: relative;

	display: flex;
	flex-direction: column;

	width: var(--fw-sidebar-width);
	min-height: 780px;

	padding: 28px 20px 22px;

	color: #ffffff;
	direction: rtl;

	background:
		radial-gradient(
			circle at 100% 0%,
			rgba(120, 153, 212, 0.2),
			transparent 30%
		),
		linear-gradient(
			180deg,
			#101d36 0%,
			#0b162b 100%
		);

	overflow: hidden;
}

.fw-account-sidebar::before {
	content: "";

	position: absolute;
	top: -120px;
	right: -105px;

	width: 285px;
	height: 285px;

	border: 1px solid rgba(120, 153, 212, 0.13);
	border-radius: 50%;

	pointer-events: none;
}

.fw-account-sidebar::after {
	content: "";

	position: absolute;
	top: -65px;
	right: -25px;

	width: 170px;
	height: 170px;

	border: 1px solid rgba(120, 153, 212, 0.1);
	border-radius: 50%;

	pointer-events: none;
}


/* ==========================================================================
   Sidebar User
   ========================================================================== */

.fw-account-user {
	position: relative;
	z-index: 2;

	display: flex;
	align-items: center;

	gap: 12px;

	min-height: 80px;

	padding: 11px 5px 22px;

	border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}

.fw-account-user-avatar {
	flex: 0 0 50px;

	width: 50px;
	height: 50px;

	padding: 2px;

	overflow: hidden;

	background: rgba(255, 255, 255, 0.08);

	border: 1px solid rgba(120, 153, 212, 0.7);
	border-radius: 14px;
}

.fw-account-user-avatar img,
.fw-account-user-avatar-image {
	display: block;

	width: 100%;
	height: 100%;

	margin: 0;

	object-fit: cover;

	border-radius: 11px;
}

.fw-account-user-info {
	display: flex;
	flex-direction: column;

	min-width: 0;

	gap: 3px;
}

.fw-account-user-name {
	overflow: hidden;

	color: #ffffff;

	font-size: 13px;
	font-weight: 700;
	line-height: 1.5;

	text-overflow: ellipsis;
	white-space: nowrap;
}

.fw-account-user-email {
	max-width: 185px;

	overflow: hidden;

	color: rgba(233, 240, 250, 0.52);

	font-size: 10px;
	font-weight: 400;

	text-overflow: ellipsis;
	white-space: nowrap;

	direction: ltr;
	text-align: right;
}


/* ==========================================================================
   Sidebar Navigation
   ========================================================================== */

.fw-account-nav {
	position: relative;
	z-index: 2;

	display: flex;
	flex: 1;
	flex-direction: column;

	padding-top: 22px;
}

.fw-account-nav-label {
	margin: 0 12px 8px;

	color: rgba(233, 240, 250, 0.37);

	font-size: 9px;
	font-weight: 500;
	line-height: 1.5;
}

.fw-account-nav-label--section {
	margin-top: 20px;
}

.fw-account-nav-item {
	position: relative;

	display: flex;
	align-items: center;

	gap: 12px;

	width: 100%;
	min-height: 49px;

	margin: 2px 0;
	padding: 10px 13px;

	color: rgba(233, 240, 250, 0.67) !important;

	font-size: 12px;
	font-weight: 550;
	line-height: 1.5;

	text-decoration: none !important;

	border: 1px solid transparent;
	border-radius: 11px;

	transition:
		color var(--fw-transition),
		background var(--fw-transition),
		border-color var(--fw-transition);
}

.fw-account-nav-item:hover {
	color: #ffffff !important;
	background: rgba(255, 255, 255, 0.05);
}

.fw-account-nav-item.is-active {
	color: #ffffff !important;

	font-weight: 650;

	background:
		linear-gradient(
			90deg,
			rgba(28, 57, 187, 0.5),
			rgba(120, 153, 212, 0.13)
		);

	border-color: rgba(120, 153, 212, 0.2);
}

.fw-account-nav-item.is-active::before {
	content: "";

	position: absolute;

	top: 10px;
	right: -21px;

	width: 3px;
	height: 28px;

	background: var(--fw-misty);

	border-radius: 3px 0 0 3px;
}

.fw-account-nav-icon {
	display: flex;
	flex: 0 0 22px;
	align-items: center;
	justify-content: center;

	width: 22px;

	color: currentColor;
}

.fw-account-nav-icon svg {
	width: 18px;
	height: 18px;
}

.fw-account-nav-bottom {
	margin-top: auto;
	padding-top: 19px;

	border-top: 1px solid rgba(255, 255, 255, 0.075);
}

.fw-account-logout {
	color: #ef929f !important;
}

.fw-account-logout:hover {
	color: #ffabb6 !important;
	background: rgba(184, 75, 91, 0.1);
}


/* ==========================================================================
   Workspace
   ========================================================================== */

.fw-account-workspace {
	grid-area: workspace;

	width: 100%;
	min-width: 0;

	direction: rtl;

	background: var(--fw-bg);
}


/* ==========================================================================
   Header
   ========================================================================== */

.fw-account-workspace-header {
	display: flex;
	align-items: center;
	justify-content: space-between;

	gap: 30px;

	min-height: 126px;

	padding: 28px clamp(28px, 4vw, 60px);

	background: #ffffff;

	border-bottom: 1px solid var(--fw-border);
}

.fw-account-workspace-heading {
	min-width: 0;
}

.fw-account-workspace-eyebrow {
	display: block;

	margin-bottom: 5px;

	color: var(--fw-misty);

	font-size: 10px;
	font-weight: 650;
}

.fw-account-workspace-heading h1 {
	margin: 0;

	color: var(--fw-text);

	font-size: clamp(24px, 2.4vw, 31px);
	font-weight: 750;
	line-height: 1.4;

	letter-spacing: -0.02em;
}

.fw-account-workspace-heading p {
	margin: 5px 0 0;

	color: var(--fw-muted);

	font-size: 11px;
	line-height: 1.8;
}


/* ==========================================================================
   New Request
   ========================================================================== */

.fw-account-new-request {
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;

	gap: 9px;

	min-height: 50px;

	padding: 10px 20px;

	color: #ffffff !important;

	font-size: 12px;
	font-weight: 650;

	text-decoration: none !important;

	background:
		linear-gradient(
			135deg,
			#2948c9,
			var(--fw-primary)
		);

	border: 1px solid rgba(16, 29, 54, 0.08);
	border-radius: 10px;

	box-shadow:
		0 9px 22px rgba(28, 57, 187, 0.2);

	transition:
		transform var(--fw-transition),
		box-shadow var(--fw-transition),
		background var(--fw-transition);
}

.fw-account-new-request:hover {
	color: #ffffff !important;

	background:
		linear-gradient(
			135deg,
			#223eb5,
			#162f9e
		);

	transform: translateY(-1px);

	box-shadow:
		0 12px 27px rgba(28, 57, 187, 0.25);
}

.fw-account-new-request-plus {
	font-size: 20px;
	font-weight: 300;
	line-height: 1;
}


/* ==========================================================================
   Body
   ========================================================================== */

.fw-account-workspace-body {
	width: 100%;

	padding:
		32px
		clamp(28px, 4vw, 60px)
		70px;
}


/* ==========================================================================
   Statistics
   ========================================================================== */

.fw-account-summary {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));

	gap: 16px;

	width: 100%;

	margin: 0 0 22px;
	padding: 0;

	direction: rtl;
}

.fw-account-dashboard .fw-account-stat {
	position: relative;

	display: flex;
	flex-direction: column;

	width: 100%;
	min-width: 0;
	min-height: 158px;

	margin: 0 !important;
	padding: 20px 21px 21px !important;

	overflow: hidden;

	color: var(--fw-text);

	direction: rtl;
	text-align: right;

	border-radius: var(--fw-radius);

	box-shadow: var(--fw-shadow);

	transition:
		transform var(--fw-transition),
		box-shadow var(--fw-transition);
}

.fw-account-dashboard .fw-account-stat:hover {
	transform: translateY(-2px);
	box-shadow: var(--fw-shadow-hover);
}

.fw-account-dashboard .fw-account-stat--projects {
	color: #ffffff;

	background:
		linear-gradient(
			145deg,
			#101d36 0%,
			#172b52 100%
		);

	border: 1px solid rgba(16, 29, 54, 0.1);
}

.fw-account-dashboard .fw-account-stat--review {
	background:
		linear-gradient(
			145deg,
			#e9f0fa 0%,
			#f5f8fd 100%
		);

	border: 1px solid #dbe5f3;
}

.fw-account-dashboard .fw-account-stat--invoices {
	background:
		linear-gradient(
			145deg,
			#f5f1e8 0%,
			#fbf9f4 100%
		);

	border: 1px solid #ebe5d8;
}

.fw-account-dashboard .fw-account-stat--completed {
	background:
		linear-gradient(
			145deg,
			#edf8f3 0%,
			#f8fcfa 100%
		);

	border: 1px solid #d8eee3;
}

.fw-account-stat-header {
	display: flex;
	align-items: center;

	gap: 10px;

	width: 100%;
}

.fw-account-stat-icon {
	display: flex;
	flex: 0 0 39px;
	align-items: center;
	justify-content: center;

	width: 39px;
	height: 39px;

	color: var(--fw-primary);

	background: rgba(255, 255, 255, 0.72);

	border: 1px solid rgba(28, 57, 187, 0.1);
	border-radius: 11px;
}

.fw-account-stat--projects .fw-account-stat-icon {
	color: #ffffff;

	background: rgba(255, 255, 255, 0.09);

	border-color: rgba(255, 255, 255, 0.11);
}

.fw-account-stat--completed .fw-account-stat-icon {
	color: var(--fw-success);
}

.fw-account-stat-icon svg {
	width: 18px;
	height: 18px;
}

.fw-account-stat-title {
	color: #455269;

	font-size: 11px;
	font-weight: 650;
	line-height: 1.7;
}

.fw-account-stat--projects .fw-account-stat-title {
	color: rgba(255, 255, 255, 0.72);
}

.fw-account-stat-content {
	display: flex;
	flex: 1;
	align-items: flex-end;

	gap: 8px;

	padding: 24px 2px 0;
}

.fw-account-stat-number {
	color: var(--fw-text);

	font-size: 32px;
	font-weight: 760;
	line-height: 1;

	direction: ltr;

	font-variant-numeric: tabular-nums;
}

.fw-account-stat--projects .fw-account-stat-number {
	color: #ffffff;
}

.fw-account-stat--completed .fw-account-stat-number {
	color: #176b49;
}

.fw-account-stat-unit {
	margin-bottom: 2px;

	color: var(--fw-muted);

	font-size: 9px;
	font-weight: 500;

	white-space: nowrap;
}

.fw-account-stat--projects .fw-account-stat-unit {
	color: rgba(255, 255, 255, 0.46);
}


/* ==========================================================================
   Main Panel
   ========================================================================== */

.fw-account-panel {
	width: 100%;

	padding: 29px 30px 31px;

	background: #ffffff;

	border: 1px solid var(--fw-border);
	border-radius: var(--fw-radius-lg);

	box-shadow:
		0 6px 24px rgba(16, 29, 54, 0.035);
}

.fw-account-panel-header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;

	gap: 28px;

	margin-bottom: 31px;
}

.fw-account-panel-heading {
	min-width: 0;
}

.fw-account-panel-eyebrow {
	display: block;

	margin-bottom: 6px;

	color: var(--fw-primary);

	font-size: 9px;
	font-weight: 700;
}

.fw-account-panel-header h2,
.fw-account-request-review-content h2 {
	margin: 0;

	color: var(--fw-text);

	font-size: 19px;
	font-weight: 730;
	line-height: 1.55;
}

.fw-account-panel-header p {
	margin: 6px 0 0;

	color: var(--fw-muted);

	font-size: 10px;
	line-height: 1.8;
}


/* ==========================================================================
   Project Journey
   ========================================================================== */

.fw-account-journey-header {
	padding-bottom: 25px;

	border-bottom: 1px solid var(--fw-border);
}

.fw-account-journey-separator {
	display: inline-block;

	margin: 0 7px;

	color: #c2c8d0;
}

.fw-account-project-duration strong {
	color: var(--fw-text-soft);
	font-weight: 650;
}

.fw-account-current-stage {
	display: flex;
	flex: 0 0 auto;
	flex-direction: column;

	gap: 3px;

	min-width: 155px;

	padding: 12px 15px;

	background: var(--fw-primary-soft);

	border: 1px solid #dce3ff;
	border-radius: 11px;
}

.fw-account-current-stage span {
	color: var(--fw-text-soft);

	font-size: 9px;
}

.fw-account-current-stage strong {
	color: var(--fw-primary);

	font-size: 11px;
	font-weight: 700;
	line-height: 1.6;
}

.fw-account-project-progress {
	width: 100%;

	padding: 8px 3px 4px;
}

.fw-account-project-steps {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));

	width: 100%;

	direction: rtl;
}

.fw-account-project-step {
	position: relative;

	display: flex;
	flex-direction: column;
	align-items: center;

	min-width: 0;

	padding: 0 8px;

	text-align: center;
}

.fw-account-project-step:not(:last-child)::after {
	content: "";

	position: absolute;
	z-index: 0;

	top: 19px;
	right: calc(50% + 20px);

	width: calc(100% - 40px);
	height: 2px;

	background: #e6eaf0;
}

.fw-account-project-step.is-complete:not(:last-child)::after {
	background: var(--fw-success);
}

.fw-account-project-step-marker {
	position: relative;
	z-index: 2;

	display: flex;
	align-items: center;
	justify-content: center;

	width: 40px;
	height: 40px;

	margin-bottom: 13px;

	color: #a5afbd;

	font-size: 11px;
	font-weight: 700;

	background: #f6f8fb;

	border: 2px solid #e1e6ed;
	border-radius: 50%;
}

.fw-account-project-step-marker svg {
	width: 18px;
	height: 18px;
}

.fw-account-project-step.is-complete .fw-account-project-step-marker {
	color: #ffffff;
	background: var(--fw-success);
	border-color: var(--fw-success);
}

.fw-account-project-step.is-current .fw-account-project-step-marker {
	color: #ffffff;
	background: var(--fw-primary);
	border-color: var(--fw-primary);

	box-shadow:
		0 0 0 5px rgba(28, 57, 187, 0.09);
}

.fw-account-project-step-content {
	display: flex;
	flex-direction: column;
	align-items: center;

	gap: 4px;

	min-width: 0;
}

.fw-account-project-step-content strong {
	color: #8a95a5;

	font-size: 10px;
	font-weight: 600;
	line-height: 1.7;
}

.fw-account-project-step-content span {
	color: #b0b8c3;
	font-size: 8.5px;
}

.fw-account-project-step.is-complete
.fw-account-project-step-content strong {
	color: var(--fw-success);
}

.fw-account-project-step.is-current
.fw-account-project-step-content strong,
.fw-account-project-step.is-current
.fw-account-project-step-content span {
	color: var(--fw-primary);
}


/* ==========================================================================
   Empty State
   ========================================================================== */

.fw-account-request-review-state {
	display: flex;
	align-items: center;

	gap: 20px;

	min-height: 190px;

	padding: 30px;

	background:
		linear-gradient(
			135deg,
			#f5f8fd 0%,
			#fbfcfe 100%
		);

	border: 1px solid #dfe7f3;
	border-radius: 15px;
}

.fw-account-request-review-state--empty {
	background:
		linear-gradient(
			135deg,
			#faf9f6,
			#ffffff
		);

	border-color: #ebe7df;
}

.fw-account-request-review-icon {
	display: flex;
	flex: 0 0 58px;
	align-items: center;
	justify-content: center;

	width: 58px;
	height: 58px;

	color: var(--fw-primary);

	background: #ffffff;

	border: 1px solid #dce5f2;
	border-radius: 15px;

	box-shadow:
		0 7px 20px rgba(16, 29, 54, 0.045);
}

.fw-account-request-review-icon svg {
	width: 23px;
	height: 23px;
}

.fw-account-request-review-content p {
	max-width: 620px;

	margin: 7px 0 0;

	color: var(--fw-text-soft);

	font-size: 10px;
	line-height: 1.9;
}

.fw-account-empty-action {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-height: 39px;

	margin-top: 17px;
	padding: 8px 16px;

	color: var(--fw-primary) !important;

	font-size: 10px;
	font-weight: 650;

	text-decoration: none !important;

	background: #ffffff;

	border: 1px solid #d9e0f7;
	border-radius: 8px;
}

.fw-account-empty-action:hover {
	background: var(--fw-primary-soft);
}


/* ==========================================================================
   Authentication
   ========================================================================== */

.fw-auth-wrap {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 100%;
	min-height: 620px;

	padding: 60px 20px;

	color: var(--fw-text);

	background:
		radial-gradient(
			circle at 50% 45%,
			rgba(28, 57, 187, 0.055),
			transparent 36%
		);
}

.fw-auth-wrap *,
.fw-auth-wrap *::before,
.fw-auth-wrap *::after {
	box-sizing: border-box;
}

.fw-auth-box {
	width: 100%;
	max-width: 470px;

	padding: 34px;

	background: #ffffff;

	border: 1px solid var(--fw-border);
	border-radius: 18px;

	box-shadow:
		0 20px 60px rgba(16, 29, 54, 0.075);
}

.fw-auth-tabs {
	display: grid;
	grid-template-columns: 1fr 1fr;

	gap: 5px;

	margin-bottom: 28px;
	padding: 5px;

	background: #f3f5f9;

	border-radius: 11px;
}

.fw-auth-tabs a {
	display: flex;
	align-items: center;
	justify-content: center;

	min-height: 43px;

	color: var(--fw-text-soft);

	font-size: 12px;
	font-weight: 600;

	text-decoration: none !important;

	border-radius: 8px;
}

.fw-auth-tabs a.is-active {
	color: var(--fw-text);
	background: #ffffff;

	box-shadow:
		0 2px 7px rgba(16, 29, 54, 0.06);
}

.fw-auth-message {
	margin-bottom: 20px;
	padding: 12px 14px;

	font-size: 11px;
	line-height: 1.8;

	border-radius: 9px;
}

.fw-auth-message.is-success {
	color: var(--fw-success);
	background: var(--fw-success-soft);
}

.fw-auth-message.is-error {
	color: #ad4050;
	background: var(--fw-danger-soft);
}

.fw-auth-form {
	display: flex;
	flex-direction: column;

	gap: 18px;
}

.fw-auth-field {
	display: flex;
	flex-direction: column;

	gap: 7px;
}

.fw-auth-field label {
	color: var(--fw-text);

	font-size: 11px;
	font-weight: 600;
}

.fw-auth-field input {
	width: 100%;
	height: 49px;

	padding: 0 14px;

	color: var(--fw-text);

	font-family: inherit;
	font-size: 13px;

	background: #ffffff;

	border: 1px solid #d8dee8;
	border-radius: 9px;

	outline: 0;
}

.fw-auth-field input:focus {
	border-color: rgba(28, 57, 187, 0.6);

	box-shadow:
		0 0 0 4px rgba(28, 57, 187, 0.08);
}

.fw-auth-field small {
	color: var(--fw-muted);
	font-size: 9px;
}

.fw-auth-remember {
	display: inline-flex;
	align-items: center;

	gap: 8px;

	color: var(--fw-text-soft);

	font-size: 10px;

	cursor: pointer;
}

.fw-auth-remember input {
	width: 15px;
	height: 15px;

	margin: 0;

	accent-color: var(--fw-primary);
}

.fw-auth-submit {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 100%;
	min-height: 50px;

	padding: 10px 18px;

	color: #ffffff;

	font-family: inherit;
	font-size: 12px;
	font-weight: 650;

	background: var(--fw-primary);

	border: 0;
	border-radius: 9px;

	cursor: pointer;
}

.fw-auth-submit:hover {
	background: var(--fw-primary-hover);
}

.fw-auth-box > h2 {
	margin: 0 0 8px;

	color: var(--fw-text);

	font-size: 22px;
	font-weight: 700;
}

.fw-auth-box > p {
	margin: 0;

	color: var(--fw-text-soft);

	font-size: 11px;
	line-height: 1.8;
}

.fw-auth-actions {
	display: flex;

	gap: 10px;

	margin-top: 22px;
}

.fw-auth-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-height: 44px;

	padding: 8px 16px;

	color: #ffffff !important;

	font-size: 11px;
	font-weight: 600;

	text-decoration: none !important;

	background: var(--fw-primary);

	border: 1px solid var(--fw-primary);
	border-radius: 8px;
}

.fw-auth-button--secondary {
	color: var(--fw-text) !important;

	background: #ffffff;

	border-color: var(--fw-border);
}


/* ==========================================================================
   Customer Requests / Projects
   ========================================================================== */

.fw-requests-summary,
.fw-projects-summary {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));

	gap: 12px;

	width: 100%;

	margin: 0 0 18px;
}

.fw-requests-summary-item,
.fw-projects-summary-item {
	display: flex;
	align-items: center;
	justify-content: space-between;

	gap: 15px;

	min-height: 74px;

	padding: 15px 18px;

	background: #ffffff;

	border: 1px solid var(--fw-border);
	border-radius: 13px;

	box-shadow:
		0 3px 15px rgba(16, 29, 54, 0.025);
}

.fw-requests-summary-item span,
.fw-projects-summary-item span {
	color: var(--fw-text-soft);

	font-size: 10px;
	font-weight: 550;
}

.fw-requests-summary-item strong,
.fw-projects-summary-item strong {
	color: var(--fw-primary);

	font-size: 21px;
	font-weight: 750;

	font-variant-numeric: tabular-nums;
}

.fw-requests-panel,
.fw-projects-panel {
	padding: 28px 30px 32px;
}

.fw-customer-requests__list,
.fw-project-list {
	display: flex;
	flex-direction: column;

	gap: 12px;
}


/* ==========================================================================
   Request / Project Cards
   ========================================================================== */

.fw-account-dashboard .fw-customer-request-card,
.fw-account-dashboard .fw-project-card {
	width: 100%;

	margin: 0 !important;
	padding: 0 !important;

	overflow: hidden;

	background: #ffffff;

	border: 1px solid var(--fw-border);
	border-radius: 14px;

	box-shadow:
		0 3px 15px rgba(16, 29, 54, 0.025);

	transition:
		border-color var(--fw-transition),
		box-shadow var(--fw-transition);
}

.fw-account-dashboard .fw-customer-request-card:hover,
.fw-account-dashboard .fw-project-card:hover {
	border-color: #d8dfeb;

	box-shadow:
		0 7px 24px rgba(16, 29, 54, 0.045);
}

.fw-account-dashboard .fw-customer-request-card.is-open,
.fw-account-dashboard .fw-project-card.is-open {
	border-color: #cfd8ec;

	box-shadow:
		0 10px 30px rgba(16, 29, 54, 0.055);
}

.fw-customer-request-row-main,
.fw-project-card__row {
	display: grid;

	grid-template-columns:
		minmax(250px, 1fr)
		minmax(145px, 0.4fr)
		auto
		auto;

	align-items: center;

	gap: 22px;

	min-height: 86px;

	padding: 15px 20px;
}

.fw-customer-request-card__identity,
.fw-project-card__identity {
	display: flex;
	align-items: center;

	gap: 13px;

	min-width: 0;
}

.fw-customer-request-card__icon,
.fw-project-card__icon {
	display: flex;
	flex: 0 0 42px;
	align-items: center;
	justify-content: center;

	width: 42px;
	height: 42px;

	border-radius: 11px;
}

.fw-customer-request-card__icon {
	color: var(--fw-primary);

	background: var(--fw-primary-soft);

	border: 1px solid #dce3ff;
}

.fw-project-card__icon {
	color: #ffffff;

	background:
		linear-gradient(
			145deg,
			var(--fw-navy),
			#172b52
		);

	border: 1px solid rgba(16, 29, 54, 0.12);
}

.fw-customer-request-card__number,
.fw-project-card__number {
	display: block;

	margin-bottom: 2px;

	color: var(--fw-muted);

	font-size: 9px;
	font-weight: 550;
}

.fw-customer-request-card h3,
.fw-project-card__identity-text h3 {
	margin: 0;

	overflow: hidden;

	color: var(--fw-text);

	font-size: 13px;
	font-weight: 700;
	line-height: 1.7;

	text-overflow: ellipsis;
	white-space: nowrap;
}

.fw-customer-request-row-date,
.fw-project-card__stage {
	display: flex;
	flex-direction: column;

	gap: 3px;
}

.fw-customer-request-row-date span,
.fw-project-card__stage span {
	color: var(--fw-muted);
	font-size: 8.5px;
}

.fw-customer-request-row-date strong {
	color: var(--fw-text-soft);

	font-size: 9.5px;
	font-weight: 600;
}

.fw-project-card__stage strong {
	color: var(--fw-primary);

	font-size: 10px;
	font-weight: 700;
}


/* ==========================================================================
   Status Badges
   ========================================================================== */

.fw-account-status,
.fw-project-status-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-height: 30px;

	padding: 5px 11px;

	font-size: 9px;
	font-weight: 650;

	border: 1px solid;
	border-radius: 20px;

	white-space: nowrap;
}

.fw-account-status[data-status="active"],
.fw-project-status-badge[data-status="active"] {
	color: var(--fw-primary);

	background: var(--fw-primary-soft);

	border-color: #dce3ff;
}

.fw-account-status[data-status="pending"],
.fw-account-status[data-status="new"],
.fw-account-status[data-status="reviewing"],
.fw-project-status-badge[data-status="pending"] {
	color: #315a9b;

	background: #edf4ff;

	border-color: #d8e7fb;
}

.fw-account-status[data-status="waiting_customer"],
.fw-project-status-badge[data-status="waiting_customer"] {
	color: var(--fw-warning);

	background: var(--fw-warning-soft);

	border-color: var(--fw-warning-border);
}

.fw-account-status[data-status="completed"],
.fw-account-status[data-status="accepted"],
.fw-account-status[data-status="converted"],
.fw-project-status-badge[data-status="completed"] {
	color: var(--fw-success);

	background: var(--fw-success-soft);

	border-color: var(--fw-success-border);
}

.fw-account-status[data-status="on_hold"],
.fw-account-status[data-status="cancelled"],
.fw-account-status[data-status="rejected"],
.fw-project-status-badge[data-status="on_hold"],
.fw-project-status-badge[data-status="cancelled"] {
	color: var(--fw-text-soft);

	background: #f5f6f8;

	border-color: var(--fw-border);
}


/* ==========================================================================
   Accordions
   ========================================================================== */

.fw-customer-request-card__toggle,
.fw-project-card__toggle,
.fw-invoice-detail-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	gap: 7px;

	min-width: 124px;
	min-height: 36px;

	padding: 7px 11px;

	color: var(--fw-primary) !important;

	font-family: inherit;
	font-size: 9.5px;
	font-weight: 650;

	background: var(--fw-primary-soft) !important;

	border: 1px solid #dce3ff !important;
	border-radius: 8px;

	box-shadow: none !important;

	cursor: pointer;
}

.fw-customer-request-card__details,
.fw-project-card__details {
	background: #ffffff;

	border-top: 1px solid #edf0f4;
}

.fw-customer-request-card__details[hidden],
.fw-project-card__details[hidden],
.fw-invoice-card-detail[hidden] {
	display: none !important;
}


/* ==========================================================================
   Customer Messages
   ========================================================================== */

.fw-messages-panel {
	padding: 28px 30px 32px;
	overflow: hidden;
}

.fw-message-project-archive {
	width: 100%;
}

.fw-message-project-rows {
	display: flex;
	flex-direction: column;

	gap: 11px;

	width: 100%;
}

.fw-message-project-row {
	display: grid;

	grid-template-columns:
		minmax(270px, 1fr)
		minmax(125px, 0.38fr)
		minmax(145px, auto)
		auto;

	align-items: center;

	gap: 18px;

	width: 100%;
	min-height: 88px;

	padding: 14px 17px;

	color: var(--fw-text) !important;

	text-decoration: none !important;

	background: #ffffff;

	border: 1px solid var(--fw-border);
	border-radius: 14px;

	box-shadow:
		0 3px 15px rgba(16, 29, 54, 0.025);

	transition:
		transform var(--fw-transition),
		border-color var(--fw-transition),
		box-shadow var(--fw-transition),
		background var(--fw-transition);
}

.fw-message-project-row:hover {
	color: var(--fw-text) !important;

	border-color: #d2daea;

	transform: translateY(-1px);

	box-shadow:
		0 8px 25px rgba(16, 29, 54, 0.055);
}

.fw-message-project-row.is-active {
	background:
		linear-gradient(
			135deg,
			#f7f9ff,
			#ffffff
		);

	border-color: #cdd7f7;
}

.fw-message-project-row__identity {
	display: flex;
	align-items: center;

	gap: 13px;

	min-width: 0;
}

.fw-message-project-row__number {
	display: flex;
	flex: 0 0 46px;
	align-items: center;
	justify-content: center;

	width: 46px;
	height: 46px;

	color: #ffffff;

	font-size: 14px;
	font-weight: 750;

	background:
		linear-gradient(
			145deg,
			var(--fw-navy),
			#172b52
		);

	border-radius: 12px;

	font-variant-numeric: tabular-nums;
}

.fw-message-project-row__copy {
	display: flex;
	flex-direction: column;

	gap: 2px;

	min-width: 0;
}

.fw-message-project-row__copy span {
	color: var(--fw-muted);

	font-size: 8.5px;
}

.fw-message-project-row__copy strong {
	overflow: hidden;

	color: var(--fw-text);

	font-size: 12px;
	font-weight: 700;

	text-overflow: ellipsis;
	white-space: nowrap;
}

.fw-message-project-row__activity {
	display: flex;
	flex-direction: column;

	gap: 3px;
}

.fw-message-project-row__activity span {
	color: var(--fw-muted);
	font-size: 8px;
}

.fw-message-project-row__activity strong {
	color: var(--fw-text-soft);

	font-size: 9px;
	font-weight: 600;
}

.fw-message-project-row__state {
	display: flex;
	align-items: center;

	gap: 8px;
}

.fw-message-conversation-state {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-height: 30px;

	padding: 5px 10px;

	color: var(--fw-text-soft);

	font-size: 8.7px;
	font-weight: 650;

	background: #f5f6f8;

	border: 1px solid var(--fw-border);
	border-radius: 20px;
}

.fw-message-conversation-state[data-state="new"] {
	color: #ffffff;

	background: var(--fw-primary);

	border-color: var(--fw-primary);
}

.fw-message-conversation-state[data-state="needs_reply"] {
	color: var(--fw-warning);

	background: var(--fw-warning-soft);

	border-color: var(--fw-warning-border);
}

.fw-message-conversation-state[data-state="sent"] {
	color: #315a9b;

	background: var(--fw-ice);

	border-color: #d7e2f3;
}

.fw-message-conversation-state[data-state="answered"] {
	color: var(--fw-success);

	background: var(--fw-success-soft);

	border-color: var(--fw-success-border);
}

.fw-message-unread-count {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 23px;
	height: 23px;

	color: #ffffff;

	font-size: 8px;
	font-weight: 750;

	background: var(--fw-primary);

	border-radius: 50%;
}

.fw-message-project-row__action {
	display: flex;
	align-items: center;

	gap: 6px;

	color: var(--fw-primary);

	font-size: 9px;
	font-weight: 650;
}

.fw-message-project-row__action svg {
	width: 14px;
	height: 14px;
}

.fw-message-conversation--project {
	width: 100%;

	margin-top: 24px;

	overflow: hidden;

	background: #ffffff;

	border: 1px solid var(--fw-border);
	border-radius: 16px;
}

.fw-message-conversation-head {
	display: flex;
	align-items: center;
	justify-content: space-between;

	gap: 20px;

	padding: 18px 21px;

	border-bottom: 1px solid var(--fw-border);
}

.fw-message-conversation-identity {
	display: flex;
	align-items: center;

	gap: 12px;
}

.fw-message-conversation-icon {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 45px;
	height: 45px;

	color: #ffffff;

	background: var(--fw-primary);

	border-radius: 12px;
}

.fw-message-conversation-head__actions {
	display: flex;
	align-items: center;

	gap: 9px;
}

.fw-message-project-status,
.fw-message-close-conversation {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-height: 31px;

	padding: 5px 11px;

	font-size: 8.5px;
	font-weight: 650;

	border-radius: 20px;
}

.fw-message-project-status {
	color: var(--fw-primary);

	background: var(--fw-primary-soft);

	border: 1px solid #dce3ff;
}

.fw-message-close-conversation {
	color: var(--fw-text-soft) !important;

	text-decoration: none !important;

	background: #ffffff;

	border: 1px solid var(--fw-border);
}

.fw-message-thread {
	display: flex;
	flex-direction: column;

	gap: 13px;

	min-height: 350px;
	max-height: 570px;

	padding: 26px 22px;

	overflow-y: auto;

	background: #f7f9fc;
}

.fw-message-item {
	display: flex;

	width: 100%;
}

.fw-message-item.is-customer {
	justify-content: flex-start;
}

.fw-message-item.is-admin {
	justify-content: flex-end;
}

.fw-message-bubble {
	width: fit-content;
	max-width: min(72%, 650px);

	padding: 12px 14px;

	border-radius: 13px;
}

.fw-message-item.is-customer .fw-message-bubble {
	color: #ffffff;

	background: var(--fw-primary);

	border-bottom-right-radius: 4px;
}

.fw-message-item.is-admin .fw-message-bubble {
	color: var(--fw-text);

	background: #ffffff;

	border: 1px solid #dfe4eb;

	border-bottom-left-radius: 4px;
}

.fw-message-content {
	font-size: 10.5px;
	line-height: 2;
}

.fw-message-compose {
	padding: 18px 22px 21px;

	border-top: 1px solid var(--fw-border);
}

.fw-message-compose-field {
	display: flex;
	align-items: flex-end;

	gap: 10px;
}

.fw-message-compose textarea {
	flex: 1;

	min-height: 92px;

	padding: 12px 14px;

	resize: vertical;

	font-family: inherit;

	border: 1px solid #dce2eb;
	border-radius: 11px;
}

.fw-message-send {
	min-width: 116px;
	min-height: 44px;

	color: #ffffff;

	background: var(--fw-primary);

	border: 0;
	border-radius: 9px;
}


/* ==========================================================================
   Customer Files — Summary
   ========================================================================== */

.fw-files-summary {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));

	gap: 13px;

	width: 100%;

	margin-bottom: 18px;
}

.fw-files-summary-item {
	display: flex;
	align-items: center;

	gap: 13px;

	min-height: 82px;

	padding: 15px 17px;

	background: #ffffff;

	border: 1px solid var(--fw-border);
	border-radius: 13px;

	box-shadow:
		0 3px 15px rgba(16, 29, 54, 0.025);
}

.fw-files-summary-icon {
	display: flex;
	flex: 0 0 41px;
	align-items: center;
	justify-content: center;

	width: 41px;
	height: 41px;

	color: var(--fw-primary);

	background: var(--fw-primary-soft);

	border: 1px solid #dce3ff;
	border-radius: 11px;
}

.fw-files-summary-icon svg {
	width: 18px;
	height: 18px;
}

.fw-files-summary-item > div:last-child {
	display: flex;
	flex-direction: column;

	gap: 2px;
}

.fw-files-summary-item span {
	color: var(--fw-muted);

	font-size: 8.5px;
}

.fw-files-summary-item strong {
	color: var(--fw-text);

	font-size: 20px;
	font-weight: 750;
}

.fw-files-summary-item .fw-files-summary-size {
	color: var(--fw-primary);

	font-size: 14px;
}


/* ==========================================================================
   Customer Files — Panel
   ========================================================================== */

.fw-files-panel {
	padding: 28px 30px 32px;
}

.fw-file-project-list {
	display: flex;
	flex-direction: column;

	gap: 11px;

	width: 100%;
}


/* ==========================================================================
   Customer Files — Project Card
   ========================================================================== */

.fw-file-project-card {
	width: 100%;

	overflow: hidden;

	background: #ffffff;

	border: 1px solid var(--fw-border);
	border-radius: 14px;

	box-shadow:
		0 3px 15px rgba(16, 29, 54, 0.025);

	transition:
		border-color var(--fw-transition),
		box-shadow var(--fw-transition);
}

.fw-file-project-card:hover {
	border-color: #d7deea;

	box-shadow:
		0 7px 22px rgba(16, 29, 54, 0.045);
}

.fw-file-project-card.is-active {
	border-color: #ccd7f5;

	box-shadow:
		0 9px 26px rgba(28, 57, 187, 0.055);
}


/* ==========================================================================
   Customer Files — Project Row
   ========================================================================== */

.fw-file-project-row {
	display: grid;

	grid-template-columns:
		minmax(260px, 1fr)
		minmax(120px, 0.32fr)
		auto
		auto;

	align-items: center;

	gap: 18px;

	min-height: 88px;

	padding: 14px 17px;

	color: var(--fw-text) !important;

	text-decoration: none !important;

	background: #ffffff;

	transition:
		background var(--fw-transition);
}

.fw-file-project-card.is-active
.fw-file-project-row {
	background:
		linear-gradient(
			135deg,
			#f7f9ff 0%,
			#ffffff 80%
		);
}

.fw-file-project-row:hover {
	color: var(--fw-text) !important;

	background: #fbfcff;
}

.fw-file-project-row__identity {
	display: flex;
	align-items: center;

	gap: 13px;

	min-width: 0;
}

.fw-file-project-row__number {
	display: flex;
	flex: 0 0 46px;
	align-items: center;
	justify-content: center;

	width: 46px;
	height: 46px;

	color: #ffffff;

	font-size: 14px;
	font-weight: 750;

	background:
		linear-gradient(
			145deg,
			var(--fw-navy),
			#172b52
		);

	border-radius: 12px;

	box-shadow:
		0 5px 13px rgba(16, 29, 54, 0.1);

	font-variant-numeric: tabular-nums;
}

.fw-file-project-card.is-active
.fw-file-project-row__number {
	background:
		linear-gradient(
			145deg,
			var(--fw-primary),
			#2948c9
		);
}

.fw-file-project-row__copy {
	display: flex;
	flex-direction: column;

	gap: 2px;

	min-width: 0;
}

.fw-file-project-row__copy span {
	color: var(--fw-muted);

	font-size: 8.5px;
	font-weight: 550;
}

.fw-file-project-row__copy strong {
	overflow: hidden;

	color: var(--fw-text);

	font-size: 12px;
	font-weight: 700;
	line-height: 1.7;

	text-overflow: ellipsis;
	white-space: nowrap;
}

.fw-file-project-row__files {
	display: flex;
	flex-direction: column;

	gap: 3px;
}

.fw-file-project-row__files span {
	color: var(--fw-muted);

	font-size: 8px;
}

.fw-file-project-row__files strong {
	color: var(--fw-text-soft);

	font-size: 9px;
	font-weight: 650;
}

.fw-file-project-row__state {
	display: flex;
	align-items: center;
}

.fw-file-project-row__action {
	display: flex;
	align-items: center;
	justify-content: flex-end;

	gap: 6px;

	color: var(--fw-primary);

	font-size: 9px;
	font-weight: 650;

	white-space: nowrap;
}

.fw-file-project-row__action svg {
	width: 14px;
	height: 14px;

	transition: transform var(--fw-transition);
}

.fw-file-project-row:hover
.fw-file-project-row__action svg {
	transform: translateX(-2px);
}


/* ==========================================================================
   Customer Files — Project Details
   ========================================================================== */

.fw-file-project-details {
	padding: 23px 22px 25px;

	background:
		linear-gradient(
			180deg,
			#fafbfe 0%,
			#ffffff 170px
		);

	border-top: 1px solid #edf0f4;
}

.fw-file-project-details
.fw-account-notice {
	margin: 0 0 18px;
	padding: 11px 14px;

	font-size: 9.5px;
	font-weight: 550;
	line-height: 1.8;

	border: 1px solid;
	border-radius: 9px;
}

.fw-file-project-details
.fw-account-notice.is-success {
	color: var(--fw-success);

	background: var(--fw-success-soft);

	border-color: var(--fw-success-border);
}

.fw-file-project-details
.fw-account-notice.is-error {
	color: #a54555;

	background: var(--fw-danger-soft);

	border-color: var(--fw-danger-border);
}


/* ==========================================================================
   Customer Files — Archive Header
   ========================================================================== */

.fw-file-archive-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;

	gap: 20px;

	margin-bottom: 18px;
}

.fw-file-archive-head h3 {
	margin: 0;

	color: var(--fw-text);

	font-size: 15px;
	font-weight: 720;
	line-height: 1.6;
}

.fw-file-archive-head p {
	margin: 4px 0 0;

	color: var(--fw-muted);

	font-size: 9px;
	line-height: 1.9;
}

.fw-file-project-close {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-height: 34px;

	padding: 6px 11px;

	color: var(--fw-text-soft) !important;

	font-size: 8.7px;
	font-weight: 600;

	text-decoration: none !important;

	background: #ffffff;

	border: 1px solid var(--fw-border);
	border-radius: 8px;

	transition:
		color var(--fw-transition),
		background var(--fw-transition),
		border-color var(--fw-transition);
}

.fw-file-project-close:hover {
	color: var(--fw-primary) !important;

	background: var(--fw-primary-soft);

	border-color: #dce3ff;
}


/* ==========================================================================
   Customer Files — Upload Box
   ========================================================================== */

.fw-file-upload-box {
	display: grid;

	grid-template-columns:
		minmax(240px, 0.8fr)
		minmax(300px, 1.2fr);

	align-items: center;

	gap: 24px;

	margin-bottom: 22px;
	padding: 18px;

	background:
		linear-gradient(
			135deg,
			#f4f7ff,
			#fbfcff
		);

	border: 1px solid #dce3f7;
	border-radius: 13px;
}

.fw-file-upload-copy {
	display: flex;
	flex-direction: column;

	gap: 4px;
}

.fw-file-upload-copy strong {
	color: var(--fw-text);

	font-size: 11px;
	font-weight: 700;
}

.fw-file-upload-copy span {
	color: var(--fw-text-soft);

	font-size: 9px;
	line-height: 1.8;
}

.fw-file-upload-copy small {
	color: var(--fw-muted);

	font-size: 8px;
	line-height: 1.8;
}

.fw-file-upload-form {
	display: flex;
	align-items: center;

	gap: 10px;

	min-width: 0;
}

.fw-file-upload-field {
	position: relative;

	display: flex;
	flex: 1;
	align-items: center;

	min-width: 0;
	min-height: 44px;

	overflow: hidden;

	background: #ffffff;

	border: 1px dashed #cbd5e4;
	border-radius: 9px;

	cursor: pointer;

	transition:
		border-color var(--fw-transition),
		background var(--fw-transition);
}

.fw-file-upload-field:hover {
	background: #fbfcff;

	border-color: var(--fw-misty);
}

.fw-file-upload-field input[type="file"] {
	position: absolute;

	width: 1px;
	height: 1px;

	opacity: 0;
	pointer-events: none;
}

.fw-file-upload-field span {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 100%;
	min-height: 42px;

	padding: 8px 13px;

	color: var(--fw-primary);

	font-size: 9px;
	font-weight: 650;
}

.fw-file-upload-submit {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;

	gap: 7px;

	min-width: 120px;
	min-height: 44px;

	padding: 8px 14px;

	color: #ffffff !important;

	font-family: inherit;
	font-size: 9px;
	font-weight: 650;

	background: var(--fw-primary);

	border: 1px solid var(--fw-primary);
	border-radius: 9px;

	cursor: pointer;

	box-shadow:
		0 6px 15px rgba(28, 57, 187, 0.15);
}

.fw-file-upload-submit:hover {
	background: var(--fw-primary-hover);
	border-color: var(--fw-primary-hover);
}

.fw-file-upload-submit svg {
	width: 15px;
	height: 15px;
}


/* ==========================================================================
   Customer Files — Archive
   ========================================================================== */

.fw-file-archive {
	width: 100%;
}

.fw-file-archive-title {
	display: flex;
	align-items: center;
	justify-content: space-between;

	gap: 20px;

	margin-bottom: 11px;
}

.fw-file-archive-title strong {
	color: var(--fw-text);

	font-size: 10.5px;
	font-weight: 700;
}

.fw-file-archive-title > span {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-height: 25px;

	padding: 4px 9px;

	color: var(--fw-primary);

	font-size: 8px;
	font-weight: 650;

	background: var(--fw-primary-soft);

	border: 1px solid #dce3ff;
	border-radius: 20px;
}

.fw-file-archive-list {
	display: flex;
	flex-direction: column;

	gap: 9px;
}


/* ==========================================================================
   Customer Files — Archive Item
   ========================================================================== */

.fw-file-archive-item {
	display: grid;

	grid-template-columns:
		minmax(0, 1fr)
		auto;

	align-items: center;

	gap: 18px;

	min-height: 92px;

	padding: 14px 16px !important;

	border: 1px solid var(--fw-border);
	border-radius: 12px;

	box-shadow:
		0 2px 10px rgba(16, 29, 54, 0.02);

	transition:
		border-color var(--fw-transition),
		box-shadow var(--fw-transition);
}

.fw-file-archive-item:hover {
	box-shadow:
		0 5px 17px rgba(16, 29, 54, 0.04);
}

.fw-file-archive-item.is-admin {
	background:
		linear-gradient(
			135deg,
			#f8faff 0%,
			#ffffff 80%
		);

	border-color: #dce4f4;
}

.fw-file-archive-item.is-customer {
	background:
		linear-gradient(
			135deg,
			#eef2ff 0%,
			#f8f9ff 100%
		);

	border-color: #d4ddfb;
}

.fw-file-main {
	display: flex;
	align-items: center;

	gap: 13px;

	min-width: 0;
}

.fw-file-icon {
	position: relative;

	display: flex;
	flex: 0 0 48px;
	align-items: center;
	justify-content: center;

	width: 48px;
	height: 52px;

	color: var(--fw-primary);

	background: #ffffff;

	border: 1px solid #dce3ff;
	border-radius: 11px;

	box-shadow:
		0 3px 9px rgba(16, 29, 54, 0.03);
}

.fw-file-archive-item.is-customer
.fw-file-icon {
	color: #ffffff;

	background: var(--fw-primary);

	border-color: var(--fw-primary);
}

.fw-file-icon svg {
	width: 20px;
	height: 20px;
}

.fw-file-icon > span {
	position: absolute;

	right: 5px;
	bottom: 3px;
	left: 5px;

	overflow: hidden;

	font-size: 5.6px;
	font-weight: 750;

	text-align: center;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.fw-file-archive-item.is-customer
.fw-file-icon > span {
	color: rgba(255, 255, 255, 0.78);
}


/* ==========================================================================
   Customer Files — Information
   ========================================================================== */

.fw-file-info {
	display: flex;
	flex-direction: column;

	gap: 4px;

	min-width: 0;
}

.fw-file-sender {
	display: flex;
	align-items: center;
	flex-wrap: wrap;

	gap: 7px;
}

.fw-file-sender > span:first-child {
	color: var(--fw-muted);

	font-size: 7.8px;
	font-weight: 600;
}

.fw-file-archive-item.is-customer
.fw-file-sender > span:first-child {
	color: #6171bd;
}

.fw-file-protected-badge {
	display: inline-flex !important;
	align-items: center;

	gap: 4px;

	padding: 3px 6px;

	color: var(--fw-warning) !important;

	font-size: 7px !important;
	font-weight: 650 !important;

	background: var(--fw-warning-soft);

	border: 1px solid var(--fw-warning-border);
	border-radius: 20px;
}

.fw-file-protected-badge svg {
	width: 10px;
	height: 10px;
}

.fw-file-name {
	overflow: hidden;

	color: var(--fw-text);

	font-size: 11px;
	font-weight: 700;
	line-height: 1.7;

	text-overflow: ellipsis;
	white-space: nowrap;
}

.fw-file-meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;

	gap: 5px;

	color: var(--fw-muted);

	font-size: 7.8px;
}

.fw-file-meta-separator {
	opacity: 0.55;
}


/* ==========================================================================
   Customer Files — Receipt State
   ========================================================================== */

.fw-file-receipt-state {
	display: inline-flex;
	align-items: center;

	gap: 5px;

	width: fit-content;

	margin-top: 3px;
	padding: 4px 7px;

	color: var(--fw-primary);

	font-size: 7.8px;
	font-weight: 650;

	background: #ffffff;

	border: 1px solid #d5def8;
	border-radius: 20px;
}

.fw-file-receipt-state svg {
	width: 11px;
	height: 11px;

	stroke-width: 2;
}


/* ==========================================================================
   Customer Files — Actions
   ========================================================================== */

.fw-file-action {
	display: flex;
	align-items: center;
	justify-content: flex-end;

	min-width: 0;
}

.fw-file-action form {
	margin: 0;
}

.fw-file-download {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	gap: 6px;

	min-width: 112px;
	min-height: 38px;

	padding: 7px 11px;

	color: var(--fw-primary) !important;

	font-family: inherit;
	font-size: 8.7px;
	font-weight: 650;

	text-decoration: none !important;

	background: #ffffff;

	border: 1px solid #d9e0f7;
	border-radius: 8px;

	cursor: pointer;

	transition:
		color var(--fw-transition),
		background var(--fw-transition),
		border-color var(--fw-transition);
}

.fw-file-download:hover {
	color: #ffffff !important;

	background: var(--fw-primary);

	border-color: var(--fw-primary);
}

/* FARNIKWEB 1.3 — focused account refinements. */
.fw-account-nav-item { position: relative; }
.fw-account-nav-badge {
	position: absolute;
	top: 7px;
	right: 7px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 20px;
	height: 20px;
	padding: 0 5px;
	color: #fff;
	font-size: 10px;
	font-weight: 800;
	line-height: 1;
	background: #2f69e8;
	border: 2px solid #0f1d37;
	border-radius: 999px;
	box-shadow: 0 3px 10px rgba(47,105,232,.32);
	z-index: 2;
}

.fw-profile-avatar-field {
	grid-column: 1 / -1;
	display: flex;
	align-items: center;
	gap: 18px;
	padding: 16px;
	background: #f6f8fd;
	border: 1px solid #dce4f2;
	border-radius: 14px;
}
.fw-profile-avatar-preview img {
	display: block;
	width: 82px;
	height: 82px;
	object-fit: cover;
	border: 4px solid #fff;
	border-radius: 50%;
	box-shadow: 0 7px 22px rgba(15,29,55,.13);
}
.fw-profile-avatar-field label { flex: 1; margin: 0 !important; }
.fw-profile-avatar-field label > span { display: block; margin-bottom: 4px; font-weight: 750; color: #101d36; }
.fw-profile-avatar-field label > small { display: block; margin-bottom: 10px; color: #78859a; }
.fw-profile-avatar-field input[type="file"] {
	display: block !important;
	width: 100%;
	padding: 9px;
	color: #23324c;
	background: #fff;
	border: 1px solid #cfd9e9;
	border-radius: 9px;
}
.fw-profile-avatar-field input[type="file"]::file-selector-button,
.fw-file-upload-field::before {
	margin-left: 10px;
	padding: 8px 13px;
	color: #fff;
	font-family: inherit;
	font-weight: 750;
	background: #2442c7;
	border: 0;
	border-radius: 8px;
	cursor: pointer;
}

.fw-file-upload-field {
	min-height: 52px !important;
	background: #fff !important;
	border-color: #9fb3da !important;
	cursor: pointer !important;
}
.fw-file-upload-field input[type="file"] {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	opacity: 0 !important;
	pointer-events: auto !important;
	cursor: pointer !important;
}
.fw-file-upload-field span {
	min-height: 50px !important;
	color: #1838bb !important;
	font-size: 12px !important;
	font-weight: 800 !important;
}
.fw-file-upload-field span::before { content: "+"; margin-left: 8px; font-size: 18px; }
.fw-file-download,
.fw-file-download span {
	color: #fff !important;
	opacity: 1 !important;
	visibility: visible !important;
}
.fw-file-download { background: #2442c7 !important; border-color: #2442c7 !important; }
.fw-file-download:hover { background: #101d36 !important; border-color: #101d36 !important; }

/* Primary actions never use the theme's pink hover colour. */
.fw-account-dashboard :is(button, .button, [class*="submit"]):hover,
.fw-account-dashboard :is(button, .button, [class*="submit"]):focus,
.fw-invoice-dashboard :is(button, .button):hover,
.fw-invoice-dashboard :is(button, .button):focus,
.fw-profile-form button:hover,
.fw-profile-form button:focus {
	color: #fff !important;
	background: #101d36 !important;
	border-color: #101d36 !important;
	box-shadow: 0 7px 18px rgba(15,29,55,.18) !important;
}

@media (max-width: 600px) {
	.fw-profile-avatar-field { align-items: flex-start; flex-direction: column; }
	.fw-profile-avatar-preview { align-self: center; }
	.fw-profile-avatar-field label { width: 100%; }
}

.fw-file-download svg {
	width: 14px;
	height: 14px;
}

.fw-file-password-form {
	display: flex;
	align-items: center;

	gap: 7px;
}

.fw-file-password-form input[type="password"] {
	width: 130px;
	height: 38px;

	margin: 0;
	padding: 0 10px;

	color: var(--fw-text);

	font-family: inherit;
	font-size: 8.5px;

	background: #ffffff;

	border: 1px solid #d9dee8;
	border-radius: 8px;

	outline: 0;
}

.fw-file-password-form input[type="password"]:focus {
	border-color: var(--fw-primary);

	box-shadow:
		0 0 0 3px rgba(28, 57, 187, 0.07);
}

.fw-file-customer-submission-state {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	gap: 5px;

	min-height: 34px;

	padding: 6px 10px;

	color: var(--fw-primary);

	font-size: 8px;
	font-weight: 650;

	background: rgba(255, 255, 255, 0.8);

	border: 1px solid #d4ddfb;
	border-radius: 8px;
}

.fw-file-customer-submission-state svg {
	width: 12px;
	height: 12px;

	stroke-width: 2;
}


/* ==========================================================================
   Customer Files — Empty Archive
   ========================================================================== */

.fw-file-archive-empty {
	padding: 27px 20px;

	text-align: center;

	background: #fbfcfe;

	border: 1px dashed #d8deea;
	border-radius: 11px;
}

.fw-file-archive-empty strong {
	display: block;

	color: var(--fw-text);

	font-size: 10.5px;
	font-weight: 700;
}

.fw-file-archive-empty p {
	margin: 4px 0 0;

	color: var(--fw-muted);

	font-size: 8.7px;
	line-height: 1.8;
}


/* ==========================================================================
   Customer Invoices
   ========================================================================== */

.fw-invoice-summary {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));

	gap: 12px;

	margin-bottom: 18px;
}

.fw-invoice-summary-item {
	display: flex;
	align-items: center;
	justify-content: space-between;

	gap: 16px;

	min-height: 74px;

	padding: 15px 18px;

	background: #ffffff;

	border: 1px solid var(--fw-border);
	border-radius: 13px;
}

.fw-invoice-summary-label {
	color: var(--fw-text-soft);

	font-size: 10px;
}

.fw-invoice-summary-item strong {
	color: var(--fw-primary);

	font-size: 21px;
	font-weight: 750;
}

.fw-invoice-payable-summary {
	display: flex;
	align-items: center;
	justify-content: space-between;

	gap: 20px;

	min-height: 76px;

	margin-bottom: 18px;
	padding: 16px 20px;

	background:
		linear-gradient(
			135deg,
			var(--fw-navy),
			#172b52
		);

	border-radius: 13px;
}

.fw-invoice-payable-summary > span {
	color: rgba(255, 255, 255, 0.65);

	font-size: 10px;
}

.fw-invoice-payable-summary > strong {
	color: #ffffff;

	font-size: 21px;
	font-weight: 760;
}

.fw-invoices-panel {
	padding: 28px 30px 32px;
}

.fw-invoice-list {
	display: flex;
	flex-direction: column;

	gap: 11px;
}

.fw-account-dashboard .fw-invoice-card {
	overflow: hidden;

	background: #ffffff;

	border: 1px solid var(--fw-border);
	border-radius: 14px;
}

.fw-invoice-card-row {
	display: grid;

	grid-template-columns:
		minmax(270px, 1fr)
		minmax(145px, 0.42fr)
		auto
		auto;

	align-items: center;

	gap: 20px;

	min-height: 90px;

	padding: 15px 20px;
}

.fw-invoice-card-main,
.fw-invoice-card-amount {
	display: flex;
	flex-direction: column;

	gap: 5px;
}

.fw-invoice-card-number strong {
	color: var(--fw-text);

	font-size: 13px;
	font-weight: 720;
}

.fw-invoice-card-meta {
	display: flex;
	flex-wrap: wrap;

	gap: 6px 13px;

	color: var(--fw-muted);

	font-size: 8.5px;
}

.fw-invoice-card-amount strong {
	color: var(--fw-text);

	font-size: 15px;
	font-weight: 750;
}

.fw-invoice-card-amount span {
	color: var(--fw-muted);

	font-size: 8.5px;
}

.fw-invoice-status {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-height: 30px;

	padding: 5px 11px;

	font-size: 9px;
	font-weight: 650;

	border: 1px solid;
	border-radius: 20px;
}

.fw-invoice-status--issued {
	color: var(--fw-primary);

	background: var(--fw-ice);

	border-color: #d7e2f3;
}

.fw-invoice-status--receipt_submitted {
	color: var(--fw-navy);

	background: var(--fw-cream);

	border-color: #e7deca;
}

.fw-invoice-status--paid {
	color: #ffffff;

	background: var(--fw-primary);

	border-color: var(--fw-primary);
}

.fw-invoice-status--cancelled {
	color: var(--fw-text-soft);

	background: var(--fw-pearl);

	border-color: var(--fw-border);
}


/* ==========================================================================
   Accessibility
   ========================================================================== */

.fw-account-dashboard a:focus-visible,
.fw-account-dashboard button:focus-visible,
.fw-account-dashboard textarea:focus-visible,
.fw-account-dashboard input:focus-visible,
.fw-account-dashboard select:focus-visible,
.fw-auth-wrap a:focus-visible,
.fw-auth-wrap button:focus-visible,
.fw-auth-wrap input:focus-visible {
	outline: 2px solid rgba(28, 57, 187, 0.6);
	outline-offset: 3px;
}


/* ==========================================================================
   Responsive — Large Tablet
   ========================================================================== */

@media (max-width: 1180px) {

	.fw-account-summary,
	.fw-requests-summary,
	.fw-projects-summary,
	.fw-invoice-summary {
		grid-template-columns:
			repeat(2, minmax(0, 1fr));
	}

	.fw-file-project-row {
		grid-template-columns:
			minmax(230px, 1fr)
			110px
			auto;
	}

	.fw-file-project-row__action {
		grid-column: 1 / -1;

		justify-content: center;

		min-height: 33px;

		background: #fafbfd;

		border-radius: 7px;
	}

	.fw-file-upload-box {
		grid-template-columns:
			minmax(210px, 0.8fr)
			minmax(270px, 1.2fr);
	}

}


/* ==========================================================================
   Responsive — Tablet
   ========================================================================== */

@media (max-width: 1024px) {

	:root {
		--fw-sidebar-width: 240px;
	}

	.fw-account-workspace-header,
	.fw-account-workspace-body {
		padding-right: 25px;
		padding-left: 25px;
	}

	.fw-file-upload-box {
		grid-template-columns: 1fr;
	}

}


/* ==========================================================================
   Responsive — Small Tablet
   ========================================================================== */

@media (max-width: 900px) {

	.fw-file-project-row {
		grid-template-columns:
			minmax(220px, 1fr)
			auto;
	}

	.fw-file-project-row__files {
		display: none;
	}

	.fw-file-project-row__action {
		grid-column: 1 / -1;
	}

	.fw-file-archive-item {
		grid-template-columns:
			minmax(0, 1fr)
			auto;
	}

}


/* ==========================================================================
   Responsive — Sidebar Collapse
   ========================================================================== */

@media (max-width: 820px) {

	.fw-account-shell {
		display: flex;
		flex-direction: column;

		min-height: 0;
	}

	.fw-account-sidebar {
		order: 1;

		width: 100%;
		min-height: 0;

		padding: 14px;

		background: var(--fw-navy);
	}

	.fw-account-user {
		min-height: 65px;

		padding: 5px 4px 13px;
	}

	.fw-account-user-avatar {
		flex-basis: 42px;

		width: 42px;
		height: 42px;
	}

	.fw-account-nav {
		display: flex;
		flex: none;
		flex-direction: row;

		gap: 5px;

		overflow-x: auto;

		padding-top: 12px;
		padding-bottom: 2px;
	}

	.fw-account-nav-label {
		display: none;
	}

	.fw-account-nav-item {
		flex: 0 0 auto;

		width: auto;
		min-height: 42px;

		margin: 0;
		padding: 8px 12px;

		white-space: nowrap;
	}

	.fw-account-nav-item.is-active::before {
		display: none;
	}

	.fw-account-nav-bottom {
		display: flex;

		margin: 0;
		padding: 0;

		border: 0;
	}

	.fw-account-workspace {
		order: 2;
	}

	.fw-account-workspace-header {
		min-height: 112px;

		padding: 22px 20px;
	}

	.fw-account-workspace-body {
		padding: 22px 20px 50px;
	}

	.fw-account-panel {
		padding: 23px 20px;
	}

	.fw-file-archive-head {
		align-items: center;
	}

}


/* ==========================================================================
   Responsive — Mobile
   ========================================================================== */

@media (max-width: 620px) {

	.fw-account-summary,
	.fw-requests-summary,
	.fw-projects-summary,
	.fw-files-summary,
	.fw-invoice-summary {
		grid-template-columns: 1fr;
	}

	.fw-requests-panel,
	.fw-projects-panel,
	.fw-files-panel,
	.fw-invoices-panel,
	.fw-messages-panel {
		padding: 20px 15px;
	}

	.fw-file-project-row {
		display: flex;
		flex-direction: column;
		align-items: stretch;

		gap: 11px;

		min-height: 0;

		padding: 14px;
	}

	.fw-file-project-row__identity {
		width: 100%;
	}

	.fw-file-project-row__files {
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: space-between;

		width: 100%;

		padding: 8px 10px;

		background: #fafbfd;

		border-radius: 8px;
	}

	.fw-file-project-row__state {
		width: 100%;
	}

	.fw-file-project-row__action {
		width: 100%;

		padding: 8px;

		background: var(--fw-primary-soft);
	}

	.fw-file-project-details {
		padding: 18px 14px 20px;
	}

	.fw-file-archive-head {
		flex-direction: column;
		align-items: stretch;
	}

	.fw-file-project-close {
		width: 100%;
	}

	.fw-file-upload-box {
		padding: 15px;
	}

	.fw-file-upload-form {
		flex-direction: column;
		align-items: stretch;
	}

	.fw-file-upload-field,
	.fw-file-upload-submit {
		width: 100%;
	}

	.fw-file-archive-item {
		display: flex;
		flex-direction: column;
		align-items: stretch;

		gap: 13px;

		padding: 14px !important;
	}

	.fw-file-main {
		width: 100%;
	}

	.fw-file-action,
	.fw-file-action form,
	.fw-file-download {
		width: 100%;
	}

	.fw-file-password-form {
		flex-direction: column;
		align-items: stretch;

		width: 100%;
	}

	.fw-file-password-form input[type="password"] {
		width: 100%;
	}

	.fw-file-name {
		white-space: normal;

		overflow-wrap: anywhere;
	}

	.fw-file-customer-submission-state {
		width: 100%;
	}

}


/* ==========================================================================
   Responsive — Small Mobile
   ========================================================================== */

@media (max-width: 560px) {

	.fw-account-workspace-header {
		flex-direction: column;
		align-items: stretch;

		gap: 17px;
	}

	.fw-account-new-request {
		width: 100%;
	}

	.fw-account-workspace-body {
		padding:
			18px
			14px
			45px;
	}

	.fw-account-dashboard .fw-account-stat {
		min-height: 126px;

		padding: 17px 18px !important;
	}

	.fw-account-panel {
		padding: 20px 16px;

		border-radius: 15px;
	}

	.fw-account-panel-header h2,
	.fw-account-request-review-content h2 {
		font-size: 16px;
	}

	.fw-account-request-review-state {
		flex-direction: column;
		align-items: flex-start;

		padding: 22px 18px;
	}

	.fw-auth-wrap {
		min-height: auto;

		padding: 35px 14px 50px;
	}

	.fw-auth-box {
		padding: 23px 18px;
	}

	.fw-auth-actions {
		flex-direction: column;
	}

	.fw-auth-button {
		width: 100%;
	}

}


/* ==========================================================================
   Responsive — Extra Small
   ========================================================================== */

@media (max-width: 480px) {

	.fw-file-project-row__number {
		flex-basis: 40px;

		width: 40px;
		height: 40px;

		font-size: 12px;
	}

	.fw-file-project-row__copy strong {
		font-size: 11px;
	}

	.fw-file-meta {
		align-items: flex-start;
		flex-direction: column;
	}

	.fw-file-meta-separator {
		display: none;
	}

	.fw-file-main {
		align-items: flex-start;
	}

	.fw-file-icon {
		flex-basis: 44px;

		width: 44px;
		height: 48px;
	}

}


/* ==========================================================================
   Reduced Motion
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {

	.fw-account-dashboard *,
	.fw-auth-wrap * {
		transition: none !important;
		scroll-behavior: auto !important;
	}

}

/* ==========================================================================
   FARNIKWEB — FINAL UI FIX
   Requests / Projects / Messages / Files / Invoices
   ========================================================================== */


/* ==========================================================================
   Global Detail Content Reset
   ========================================================================== */

.fw-account-dashboard .fw-customer-request-card__details,
.fw-account-dashboard .fw-project-card__details,
.fw-account-dashboard .fw-invoice-card-detail,
.fw-account-dashboard .fw-message-conversation--project,
.fw-account-dashboard .fw-file-project-details {
	color: var(--fw-text);
	font-size: 11px;
	line-height: 1.9;
}

.fw-account-dashboard .fw-customer-request-card__details *,
.fw-account-dashboard .fw-project-card__details *,
.fw-account-dashboard .fw-invoice-card-detail *,
.fw-account-dashboard .fw-message-conversation--project *,
.fw-account-dashboard .fw-file-project-details * {
	box-sizing: border-box;
}

.fw-account-dashboard .fw-customer-request-card__details h1,
.fw-account-dashboard .fw-customer-request-card__details h2,
.fw-account-dashboard .fw-customer-request-card__details h3,
.fw-account-dashboard .fw-customer-request-card__details h4,
.fw-account-dashboard .fw-project-card__details h1,
.fw-account-dashboard .fw-project-card__details h2,
.fw-account-dashboard .fw-project-card__details h3,
.fw-account-dashboard .fw-project-card__details h4,
.fw-account-dashboard .fw-invoice-card-detail h1,
.fw-account-dashboard .fw-invoice-card-detail h2,
.fw-account-dashboard .fw-invoice-card-detail h3,
.fw-account-dashboard .fw-invoice-card-detail h4 {
	margin: 0;
	color: var(--fw-text);
	font-family: inherit;
	line-height: 1.7;
}


/* ==========================================================================
   Requests — Final Detail Layout
   ========================================================================== */

.fw-customer-request-card__details {
	padding: 0;
}

.fw-customer-request-card__details-inner,
.fw-customer-request-details,
.fw-request-details {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;

	padding: 22px 20px 24px;

	background:
		linear-gradient(
			180deg,
			#fafbfe 0%,
			#ffffff 180px
		);
}

.fw-customer-request-card__details p {
	margin: 0 0 10px;
	color: var(--fw-text-soft);
	font-size: 10px;
	line-height: 1.9;
}

.fw-customer-request-card__details strong {
	color: var(--fw-text);
	font-size: 10.5px;
	font-weight: 700;
}

.fw-customer-request-card__details h2 {
	margin: 0 0 12px;
	font-size: 14px;
	font-weight: 720;
}

.fw-customer-request-card__details h3 {
	margin: 0 0 9px;
	font-size: 12px;
	font-weight: 700;
}

.fw-request-detail-section,
.fw-customer-request-detail-section,
.fw-request-detail-card {
	min-width: 0;
	padding: 16px 17px;

	background: #ffffff;

	border: 1px solid var(--fw-border);
	border-radius: 11px;
}

.fw-request-detail-section--full,
.fw-customer-request-detail-section--full {
	grid-column: 1 / -1;
}

.fw-customer-request-card__details ul,
.fw-customer-request-card__details ol {
	margin: 8px 0;
	padding-right: 18px;
}

.fw-customer-request-card__details li {
	margin: 4px 0;
	font-size: 10px;
	line-height: 1.8;
}


/* ==========================================================================
   Projects — Final Detail Layout
   ========================================================================== */

.fw-project-card__details {
	padding: 22px 20px 25px;

	background:
		linear-gradient(
			180deg,
			#fafbfe,
			#ffffff 190px
		);
}

.fw-project-card__details h2 {
	font-size: 15px;
	font-weight: 720;
}

.fw-project-card__details h3 {
	font-size: 12px;
	font-weight: 700;
}

.fw-project-card__details p {
	margin: 6px 0;
	color: var(--fw-text-soft);
	font-size: 10px;
	line-height: 1.9;
}

.fw-project-card__details strong {
	font-size: 10.5px;
	font-weight: 700;
}

.fw-project-card__details .fw-account-project-progress {
	margin-top: 15px;
}


/* ==========================================================================
   Messages — Final Project Archive
   ========================================================================== */

.fw-message-project-row {
	position: relative;
}

.fw-message-project-row__number {
	flex-shrink: 0;
}

.fw-message-project-row__copy strong,
.fw-message-project-row__activity strong {
	max-width: 100%;
}

.fw-message-project-row__action {
	min-width: 85px;
	justify-content: flex-end;
}

.fw-message-project-selection {
	display: flex;
	align-items: center;

	gap: 14px;

	margin-top: 18px;
	padding: 20px;

	background: #fafbfe;

	border: 1px dashed #d8deea;
	border-radius: 12px;
}

.fw-message-project-selection__icon {
	display: flex;
	flex: 0 0 40px;
	align-items: center;
	justify-content: center;

	width: 40px;
	height: 40px;

	color: var(--fw-primary);

	background: var(--fw-primary-soft);

	border-radius: 10px;
}

.fw-message-project-selection h3 {
	margin: 0 0 3px;

	color: var(--fw-text);

	font-size: 12px;
	font-weight: 700;
}

.fw-message-project-selection p {
	margin: 0;

	color: var(--fw-text-soft);

	font-size: 9.5px;
	line-height: 1.8;
}

.fw-message-bubble-head {
	display: flex;
	align-items: center;
	justify-content: space-between;

	gap: 15px;

	margin-bottom: 5px;
}

.fw-message-sender {
	font-size: 8.5px;
	font-weight: 700;
}

.fw-message-date {
	color: var(--fw-muted);
	font-size: 7.5px;
	direction: ltr;
}

.fw-message-bubble-status {
	display: flex;
	align-items: center;
	flex-wrap: wrap;

	gap: 6px;

	margin-top: 6px;
}

.fw-message-read-state,
.fw-message-edited-state {
	font-size: 7.5px;
	font-weight: 550;
}

.fw-message-item.is-customer .fw-message-read-state,
.fw-message-item.is-customer .fw-message-edited-state {
	color: rgba(255,255,255,.72);
}

.fw-message-item.is-admin .fw-message-read-state,
.fw-message-item.is-admin .fw-message-edited-state {
	color: var(--fw-muted);
}

.fw-message-compose-head {
	margin-bottom: 10px;
}

.fw-message-compose-head strong {
	display: block;

	color: var(--fw-text);

	font-size: 10.5px;
	font-weight: 700;
}

.fw-message-compose-head span {
	color: var(--fw-muted);

	font-size: 8.5px;
}


/* ==========================================================================
   Files — Final Layout
   ========================================================================== */

.fw-file-project-card {
	margin: 0 !important;
}

.fw-file-project-details {
	width: 100%;
}

.fw-file-upload-box {
	width: 100%;
}

.fw-file-upload-form {
	margin: 0;
}

.fw-file-upload-field {
	margin: 0;
}

.fw-file-upload-submit {
	margin: 0;
}

.fw-file-archive-item {
	width: 100%;
	margin: 0 !important;
}

.fw-file-action {
	flex-shrink: 0;
}

.fw-file-main {
	overflow: hidden;
}

.fw-file-info {
	overflow: hidden;
}

.fw-file-password-form {
	margin: 0;
}

.fw-file-password-form button {
	min-height: 38px;

	padding: 7px 11px;

	color: #ffffff;

	font-family: inherit;
	font-size: 8.5px;
	font-weight: 650;

	background: var(--fw-primary);

	border: 1px solid var(--fw-primary);
	border-radius: 8px;

	cursor: pointer;
}

.fw-file-password-form button:hover {
	background: var(--fw-primary-hover);
	border-color: var(--fw-primary-hover);
}


/* ==========================================================================
   Invoices — Project First Architecture
   ========================================================================== */

.fw-invoice-project-list,
.fw-invoice-projects {
	display: flex;
	flex-direction: column;

	gap: 11px;

	width: 100%;
}

.fw-invoice-project-card {
	width: 100%;

	margin: 0 !important;

	overflow: hidden;

	background: #ffffff;

	border: 1px solid var(--fw-border);
	border-radius: 14px;

	box-shadow:
		0 3px 15px rgba(16, 29, 54, 0.025);

	transition:
		border-color var(--fw-transition),
		box-shadow var(--fw-transition);
}

.fw-invoice-project-card:hover {
	border-color: #d7deea;

	box-shadow:
		0 7px 22px rgba(16, 29, 54, 0.045);
}

.fw-invoice-project-card.is-active,
.fw-invoice-project-card.is-open {
	border-color: #ccd7f5;

	box-shadow:
		0 9px 26px rgba(28, 57, 187, 0.055);
}

.fw-invoice-project-row {
	display: grid;

	grid-template-columns:
		minmax(260px, 1fr)
		minmax(120px, .32fr)
		auto
		auto;

	align-items: center;

	gap: 18px;

	min-height: 88px;

	padding: 14px 17px;

	color: var(--fw-text) !important;

	text-decoration: none !important;

	background: #ffffff;
}

.fw-invoice-project-row__identity {
	display: flex;
	align-items: center;

	gap: 13px;

	min-width: 0;
}

.fw-invoice-project-row__number {
	display: flex;
	flex: 0 0 46px;
	align-items: center;
	justify-content: center;

	width: 46px;
	height: 46px;

	color: #ffffff;

	font-size: 14px;
	font-weight: 750;

	background:
		linear-gradient(
			145deg,
			var(--fw-navy),
			#172b52
		);

	border-radius: 12px;
}

.fw-invoice-project-card.is-active
.fw-invoice-project-row__number,
.fw-invoice-project-card.is-open
.fw-invoice-project-row__number {
	background:
		linear-gradient(
			145deg,
			var(--fw-primary),
			#2948c9
		);
}

.fw-invoice-project-row__copy {
	display: flex;
	flex-direction: column;

	gap: 2px;

	min-width: 0;
}

.fw-invoice-project-row__copy span {
	color: var(--fw-muted);

	font-size: 8.5px;
}

.fw-invoice-project-row__copy strong {
	overflow: hidden;

	color: var(--fw-text);

	font-size: 12px;
	font-weight: 700;

	text-overflow: ellipsis;
	white-space: nowrap;
}

.fw-invoice-project-row__count {
	display: flex;
	flex-direction: column;

	gap: 3px;
}

.fw-invoice-project-row__count span {
	color: var(--fw-muted);
	font-size: 8px;
}

.fw-invoice-project-row__count strong {
	color: var(--fw-text-soft);

	font-size: 9px;
	font-weight: 650;
}

.fw-invoice-project-row__action {
	display: flex;
	align-items: center;
	justify-content: flex-end;

	gap: 6px;

	color: var(--fw-primary);

	font-size: 9px;
	font-weight: 650;

	white-space: nowrap;
}

.fw-invoice-project-details {
	padding: 22px;

	background:
		linear-gradient(
			180deg,
			#fafbfe 0%,
			#ffffff 180px
		);

	border-top: 1px solid #edf0f4;
}


/* ==========================================================================
   Invoice Card — Row
   ========================================================================== */

.fw-invoice-card {
	width: 100%;
	margin: 0 !important;
}

.fw-invoice-card-row {
	position: relative;
}

.fw-invoice-card-number {
	display: flex;
	align-items: center;

	gap: 7px;
}

.fw-invoice-card-number span {
	color: var(--fw-text-soft);

	font-size: 9px;
}

.fw-invoice-card-detail {
	padding: 22px 20px 24px !important;

	background:
		linear-gradient(
			180deg,
			#fafbfe 0%,
			#ffffff 180px
		);

	border-top: 1px solid #edf0f4;
}


/* ==========================================================================
   Invoice Detail — Critical Typography Fix
   ========================================================================== */

.fw-invoice-card-detail h1,
.fw-invoice-card-detail h2,
.fw-invoice-card-detail h3,
.fw-invoice-card-detail h4 {
	margin: 0 0 10px !important;

	color: var(--fw-text) !important;

	font-family: inherit !important;
	font-weight: 700 !important;
	line-height: 1.7 !important;
}

.fw-invoice-card-detail h1 {
	font-size: 16px !important;
}

.fw-invoice-card-detail h2 {
	font-size: 14px !important;
}

.fw-invoice-card-detail h3 {
	font-size: 12px !important;
}

.fw-invoice-card-detail h4 {
	font-size: 11px !important;
}

.fw-invoice-card-detail p,
.fw-invoice-card-detail li,
.fw-invoice-card-detail td,
.fw-invoice-card-detail th,
.fw-invoice-card-detail label,
.fw-invoice-card-detail span {
	font-family: inherit;
}

.fw-invoice-card-detail p {
	margin: 5px 0 12px;

	color: var(--fw-text-soft);

	font-size: 10px;
	line-height: 1.9;
}

.fw-invoice-card-detail strong {
	color: var(--fw-text);

	font-size: 10.5px;
	font-weight: 700;
}


/* ==========================================================================
   Invoice Detail Sections
   ========================================================================== */

.fw-invoice-detail-section,
.fw-invoice-detail-block,
.fw-invoice-items-section,
.fw-invoice-payment-section,
.fw-invoice-description-section {
	margin: 0 0 14px;
	padding: 16px 17px;

	background: #ffffff;

	border: 1px solid var(--fw-border);
	border-radius: 11px;
}

.fw-invoice-detail-section:last-child,
.fw-invoice-detail-block:last-child {
	margin-bottom: 0;
}


/* ==========================================================================
   Invoice Items Table
   ========================================================================== */

.fw-invoice-card-detail table {
	width: 100%;

	margin: 10px 0 0;

	border-collapse: collapse;

	background: #ffffff;

	border: 1px solid var(--fw-border);
	border-radius: 9px;

	overflow: hidden;
}

.fw-invoice-card-detail th,
.fw-invoice-card-detail td {
	padding: 10px 11px;

	color: var(--fw-text-soft);

	font-size: 9px;
	line-height: 1.7;

	text-align: right;

	border-bottom: 1px solid #edf0f4;
}

.fw-invoice-card-detail th {
	color: var(--fw-text);

	font-weight: 700;

	background: #f8f9fc;
}

.fw-invoice-card-detail tr:last-child td {
	border-bottom: 0;
}


/* ==========================================================================
   Invoice Totals
   ========================================================================== */

.fw-invoice-total,
.fw-invoice-total-row,
.fw-invoice-payable {
	display: flex;
	align-items: center;
	justify-content: space-between;

	gap: 20px;

	margin-top: 12px;
	padding: 12px 14px;

	background: var(--fw-primary-soft);

	border: 1px solid #dce3ff;
	border-radius: 9px;
}

.fw-invoice-total span,
.fw-invoice-total-row span,
.fw-invoice-payable span {
	color: var(--fw-text-soft);

	font-size: 9px;
}

.fw-invoice-total strong,
.fw-invoice-total-row strong,
.fw-invoice-payable strong {
	color: var(--fw-primary);

	font-size: 12px;
	font-weight: 750;
}


/* ==========================================================================
   Invoice Payment
   ========================================================================== */

.fw-invoice-payment-info {
	display: grid;

	grid-template-columns:
		repeat(2, minmax(0, 1fr));

	gap: 10px;

	margin-top: 10px;
}

.fw-invoice-payment-info > div {
	padding: 12px 13px;

	background: #fafbfe;

	border: 1px solid var(--fw-border);
	border-radius: 9px;
}

.fw-invoice-payment-info span {
	display: block;

	margin-bottom: 3px;

	color: var(--fw-muted);

	font-size: 8px;
}

.fw-invoice-payment-info strong {
	color: var(--fw-text);

	font-size: 10px;
}


/* ==========================================================================
   Invoice Receipt Upload
   ========================================================================== */

.fw-invoice-receipt-form {
	display: flex;
	flex-direction: column;

	gap: 10px;

	margin-top: 13px;
	padding: 15px;

	background: #fafbfe;

	border: 1px solid var(--fw-border);
	border-radius: 10px;
}

.fw-invoice-receipt-form input[type="file"] {
	width: 100%;

	padding: 9px;

	color: var(--fw-text-soft);

	font-family: inherit;
	font-size: 9px;

	background: #ffffff;

	border: 1px dashed #cbd5e4;
	border-radius: 8px;
}

.fw-invoice-receipt-form button {
	align-self: flex-start;

	min-height: 39px;

	padding: 7px 15px;

	color: #ffffff;

	font-family: inherit;
	font-size: 9px;
	font-weight: 650;

	background: var(--fw-primary);

	border: 0;
	border-radius: 8px;

	cursor: pointer;
}


/* ==========================================================================
   Invoice Receipt Files
   ========================================================================== */

.fw-invoice-receipts {
	display: flex;
	flex-wrap: wrap;

	gap: 8px;

	margin-top: 10px;
}

.fw-invoice-receipts a {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-height: 34px;

	padding: 6px 10px;

	color: var(--fw-primary) !important;

	font-size: 8.5px;
	font-weight: 650;

	text-decoration: none !important;

	background: #ffffff;

	border: 1px solid #d9e0f7;
	border-radius: 8px;
}


/* ==========================================================================
   Prevent Theme Typography Leakage
   ========================================================================== */

.fw-account-dashboard .fw-account-panel h1,
.fw-account-dashboard .fw-account-panel h2,
.fw-account-dashboard .fw-account-panel h3,
.fw-account-dashboard .fw-account-panel h4,
.fw-account-dashboard .fw-account-panel h5,
.fw-account-dashboard .fw-account-panel h6 {
	font-family: inherit;
}

.fw-account-dashboard .fw-account-panel h1 {
	font-size: 19px;
}

.fw-account-dashboard .fw-account-panel h2 {
	font-size: 16px;
}

.fw-account-dashboard .fw-account-panel h3 {
	font-size: 13px;
}

.fw-account-dashboard .fw-account-panel h4 {
	font-size: 11px;
}


/* ==========================================================================
   Fix Details Overflow
   ========================================================================== */

.fw-customer-request-card,
.fw-project-card,
.fw-invoice-card,
.fw-file-project-card,
.fw-message-conversation--project {
	max-width: 100%;
}

.fw-customer-request-card__details,
.fw-project-card__details,
.fw-invoice-card-detail,
.fw-file-project-details {
	max-width: 100%;
	overflow: hidden;
}

.fw-customer-request-card__details img,
.fw-project-card__details img,
.fw-invoice-card-detail img,
.fw-file-project-details img {
	max-width: 100%;
	height: auto;
}


/* ==========================================================================
   Desktop Row Alignment
   ========================================================================== */

@media (min-width: 1181px) {

	.fw-customer-request-row-main,
	.fw-project-card__row,
	.fw-message-project-row,
	.fw-file-project-row,
	.fw-invoice-card-row,
	.fw-invoice-project-row {
		width: 100%;
	}

}


/* ==========================================================================
   Responsive — 1180
   ========================================================================== */

@media (max-width: 1180px) {

	.fw-message-project-row,
	.fw-invoice-project-row {
		grid-template-columns:
			minmax(230px, 1fr)
			110px
			auto;
	}

	.fw-message-project-row__action,
	.fw-invoice-project-row__action {
		grid-column: 1 / -1;

		justify-content: center;

		min-height: 33px;

		padding: 6px;

		background: #fafbfd;

		border-radius: 7px;
	}

}


/* ==========================================================================
   Responsive — 1000
   ========================================================================== */

@media (max-width: 1000px) {

	.fw-customer-request-row-main,
	.fw-project-card__row,
	.fw-invoice-card-row {
		grid-template-columns:
			minmax(220px, 1fr)
			auto
			auto;
	}

	.fw-customer-request-row-date,
	.fw-project-card__stage,
	.fw-invoice-card-amount {
		min-width: 100px;
	}

}


/* ==========================================================================
   Responsive — 900
   ========================================================================== */

@media (max-width: 900px) {

	.fw-message-project-row,
	.fw-invoice-project-row {
		grid-template-columns:
			minmax(210px, 1fr)
			auto;
	}

	.fw-message-project-row__activity,
	.fw-invoice-project-row__count {
		display: none;
	}

	.fw-invoice-payment-info {
		grid-template-columns: 1fr;
	}

}


/* ==========================================================================
   Responsive — 700
   ========================================================================== */

@media (max-width: 700px) {

	.fw-customer-request-row-main,
	.fw-project-card__row,
	.fw-invoice-card-row {
		display: flex;
		flex-direction: column;
		align-items: stretch;

		gap: 11px;

		padding: 14px;
	}

	.fw-customer-request-card__identity,
	.fw-project-card__identity {
		width: 100%;
	}

	.fw-customer-request-card__toggle,
	.fw-project-card__toggle,
	.fw-invoice-detail-toggle {
		width: 100%;
	}

	.fw-customer-request-card__details-inner,
	.fw-customer-request-details,
	.fw-request-details {
		grid-template-columns: 1fr;
	}

	.fw-message-project-row,
	.fw-invoice-project-row {
		display: flex;
		flex-direction: column;
		align-items: stretch;

		gap: 11px;

		padding: 14px;
	}

	.fw-message-project-row__identity,
	.fw-invoice-project-row__identity {
		width: 100%;
	}

	.fw-message-project-row__state {
		width: 100%;
	}

	.fw-message-project-row__action,
	.fw-invoice-project-row__action {
		width: 100%;
	}

	.fw-message-bubble {
		max-width: 88%;
	}

}


/* ==========================================================================
   Responsive — Mobile
   ========================================================================== */

@media (max-width: 620px) {

	.fw-invoice-card-detail,
	.fw-project-card__details,
	.fw-customer-request-card__details-inner,
	.fw-customer-request-details,
	.fw-request-details {
		padding: 16px 14px !important;
	}

	.fw-invoice-detail-section,
	.fw-invoice-detail-block,
	.fw-invoice-items-section,
	.fw-invoice-payment-section,
	.fw-invoice-description-section {
		padding: 13px;
	}

	.fw-invoice-card-detail table {
		display: block;
		overflow-x: auto;
		white-space: nowrap;
	}

	.fw-message-conversation-head {
		flex-direction: column;
		align-items: stretch;
	}

	.fw-message-conversation-head__actions {
		justify-content: space-between;
	}

	.fw-message-compose-field {
		flex-direction: column;
		align-items: stretch;
	}

	.fw-message-send {
		width: 100%;
	}

	.fw-message-bubble {
		max-width: 94%;
	}

}


/* ==========================================================================
   Final WordPress / Theme Overrides
   ========================================================================== */

body:has(.fw-account-dashboard) .fw-account-dashboard p,
body:has(.fw-account-dashboard) .fw-account-dashboard ul,
body:has(.fw-account-dashboard) .fw-account-dashboard ol {
	max-width: none;
}

body:has(.fw-account-dashboard) .fw-account-dashboard button,
body:has(.fw-account-dashboard) .fw-account-dashboard input,
body:has(.fw-account-dashboard) .fw-account-dashboard textarea,
body:has(.fw-account-dashboard) .fw-account-dashboard select {
	font-family: inherit;
}

body:has(.fw-account-dashboard) .fw-account-dashboard button {
	text-transform: none;
	letter-spacing: normal;
}

body:has(.fw-account-dashboard) .fw-account-dashboard table {
	font-family: inherit;
}


/* ==========================================================================
   FARNIKWEB 2026 — Account UI refinement
   Scoped overrides for the customer workspace and authentication screen.
   ========================================================================== */

.fw-account-dashboard,
.fw-auth-wrap {
	font-family: "Vazirmatn", sans-serif;
}

.fw-account-workspace-header {
	min-height: 116px;
	padding-block: 24px;
}

.fw-account-workspace-eyebrow,
.fw-account-panel-eyebrow {
	font-size: 12px;
	font-weight: 700;
}

.fw-account-workspace-heading h1 {
	font-size: clamp(26px, 2.2vw, 34px);
	font-weight: 800;
}

.fw-account-workspace-heading p,
.fw-account-panel-header p {
	font-size: 13px;
	line-height: 1.9;
}

.fw-account-panel-header h2,
.fw-account-request-review-content h2 {
	font-size: clamp(20px, 1.8vw, 26px);
	font-weight: 800;
}

.fw-account-workspace-body {
	padding-top: 28px;
}

.fw-account-panel {
	border-radius: 14px;
	box-shadow: 0 8px 28px rgba(16, 29, 54, 0.04);
}

.fw-requests-summary-item span,
.fw-projects-summary-item span,
.fw-invoice-summary-label,
.fw-files-summary-item span {
	font-size: 12px;
}

.fw-requests-summary-item strong,
.fw-projects-summary-item strong,
.fw-invoice-summary-item strong,
.fw-files-summary-item strong {
	font-size: 24px;
}

.fw-customer-request-card__number,
.fw-project-card__number,
.fw-customer-request-row-date span,
.fw-project-card__stage span {
	font-size: 11px;
}

.fw-customer-request-card h3,
.fw-project-card__identity-text h3 {
	font-size: 15px;
}

.fw-customer-request-row-date strong,
.fw-project-card__stage strong,
.fw-account-status,
.fw-project-status-badge,
.fw-customer-request-card__toggle,
.fw-project-card__toggle,
.fw-invoice-detail-toggle {
	font-size: 12px;
}

.fw-account-dashboard .fw-customer-request-card__details,
.fw-account-dashboard .fw-project-card__details,
.fw-account-dashboard .fw-invoice-card-detail,
.fw-account-dashboard .fw-message-conversation--project,
.fw-account-dashboard .fw-file-project-details {
	font-size: 13px;
	line-height: 1.85;
}

.fw-customer-request-card__section {
	display: grid;
	grid-template-columns: minmax(120px, .32fr) minmax(0, 1fr);
	gap: 16px;
	align-items: start;
	padding: 18px 20px;
	border-bottom: 1px solid #edf0f4;
}

.fw-customer-request-card__section:last-child {
	border-bottom: 0;
}

.fw-customer-request-card__section-label,
.fw-customer-request-meta-item span,
.fw-customer-request-card__quote-eyebrow {
	color: var(--fw-muted);
	font-size: 11px;
	font-weight: 600;
}

.fw-customer-request-meta-item strong,
.fw-customer-request-card__quote-heading,
.fw-customer-request-card__quote-duration {
	font-size: 13px;
}

.fw-customer-request-card__meta {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.fw-customer-request-meta-item,
.fw-customer-request-card__quote {
	min-width: 0;
	padding: 14px 16px;
	background: #f8faff;
	border: 1px solid #e5eaf3;
	border-radius: 10px;
}

.fw-customer-request-card__quote-note {
	margin: 12px 0 0;
	font-size: 13px;
}

.fw-account-project-steps {
	gap: 10px;
}

.fw-account-project-step {
	min-width: 0;
}

.fw-account-project-step-content strong {
	font-size: 12px;
}

.fw-account-project-step-content span {
	font-size: 10px;
}


/* Messages: project communication workspace */

.fw-message-project-row {
	min-height: 78px;
	padding: 14px 18px;
}

.fw-message-project-row__copy span,
.fw-message-project-row__activity span,
.fw-message-project-row__preview {
	font-size: 11px;
}

.fw-message-project-row__copy strong,
.fw-message-project-row__activity strong,
.fw-message-project-row__action,
.fw-message-conversation-state {
	font-size: 12px;
}

.fw-message-conversation--project {
	margin-top: 20px;
	border-radius: 14px;
}

.fw-message-conversation-head {
	padding: 16px 20px;
}

.fw-message-conversation-title {
	font-size: 16px;
	font-weight: 800;
}

.fw-message-project-status,
.fw-message-close-conversation {
	font-size: 11px;
}

.fw-message-thread {
	min-height: 300px;
	max-height: 520px;
	padding: 22px 20px;
}

.fw-message-message-wrap {
	max-width: min(68%, 620px);
}

.fw-message-bubble {
	width: fit-content;
	max-width: 100%;
	padding: 11px 14px;
	border-radius: 12px;
}

.fw-message-content {
	font-size: 13px;
	line-height: 1.9;
}

.fw-message-sender {
	font-size: 10px;
}

.fw-message-date,
.fw-message-read-state,
.fw-message-edited-state {
	font-size: 9px;
}

.fw-message-compose-area {
	padding: 16px 20px 20px;
	border-top: 1px solid var(--fw-border);
}

.fw-message-compose {
	padding: 0;
	border: 0;
}

.fw-message-compose-box {
	padding: 10px;
	background: #f8faff;
	border: 1px solid #dce2eb;
	border-radius: 11px;
}

.fw-message-compose textarea {
	min-height: 82px;
	padding: 10px 12px;
	font-size: 13px;
	line-height: 1.8;
	background: #fff;
}

.fw-message-compose-head strong {
	font-size: 13px;
}

.fw-message-compose-head span,
.fw-message-compose-hint {
	font-size: 10px;
}

.fw-message-send {
	min-width: 108px;
	min-height: 40px;
	font-size: 12px;
}


/* Files */

.fw-file-project-row {
	min-height: 78px;
	padding: 14px 18px;
}

.fw-file-project-row__copy span,
.fw-file-project-row__files span,
.fw-file-sender,
.fw-file-meta {
	font-size: 11px;
}

.fw-file-project-row__copy strong,
.fw-file-project-row__files strong,
.fw-file-name {
	font-size: 13px;
}

.fw-file-upload-box {
	display: grid;
	grid-template-columns: minmax(220px, .75fr) minmax(320px, 1.25fr);
	gap: 20px;
	align-items: center;
	padding: 20px;
	border-radius: 12px;
}

.fw-file-upload-copy strong {
	font-size: 15px;
}

.fw-file-upload-copy span,
.fw-file-upload-copy small,
.fw-file-upload-field span,
.fw-file-upload-submit,
.fw-file-download,
.fw-file-customer-submission-state,
.fw-file-receipt-state {
	font-size: 11px;
}

.fw-file-archive-item {
	min-height: 76px;
	padding: 14px 16px;
}


/* Invoices */

.fw-invoice-summary-item {
	min-height: 78px;
}

.fw-invoice-payable-summary > span {
	font-size: 12px;
}

.fw-invoice-payable-summary > strong {
	font-size: 23px;
}

.fw-invoice-project-row {
	grid-template-columns: minmax(260px, 1fr) minmax(230px, .65fr) auto;
	min-height: 84px;
	padding: 15px 18px;
}

.fw-invoice-project-main {
	display: flex;
	align-items: center;
	gap: 14px;
	min-width: 0;
}

.fw-invoice-project-number {
	flex: 0 0 auto;
	padding: 7px 10px;
	color: var(--fw-primary);
	font-size: 11px;
	font-weight: 700;
	background: var(--fw-primary-soft);
	border-radius: 8px;
}

.fw-invoice-project-title {
	font-size: 14px;
}

.fw-invoice-project-meta,
.fw-invoice-project-statuses {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 12px;
	color: var(--fw-text-soft);
	font-size: 11px;
}

.fw-invoice-project-action {
	font-size: 12px;
	font-weight: 700;
}

.fw-invoice-project-content {
	padding: 20px;
	background: #f8faff;
	border-top: 1px solid #e8ecf2;
}

.fw-invoice-project-content-header h3,
.fw-invoice-detail-heading h3 {
	font-size: 16px;
	font-weight: 800;
}

.fw-invoice-card-row {
	grid-template-columns: minmax(230px, 1fr) minmax(120px, .38fr) auto auto;
	min-height: 82px;
}

.fw-invoice-card-number span,
.fw-invoice-card-meta,
.fw-invoice-card-amount span,
.fw-invoice-status,
.fw-invoice-detail-kicker {
	font-size: 11px;
}

.fw-invoice-card-number strong,
.fw-invoice-card-amount strong {
	font-size: 14px;
}

.fw-invoice-card-detail p,
.fw-invoice-card-detail strong,
.fw-invoice-description,
.fw-invoice-items-head,
.fw-invoice-item-line {
	font-size: 12px;
}

.fw-invoice-items-head,
.fw-invoice-item-line {
	display: grid;
	grid-template-columns: minmax(220px, 1fr) 70px 140px 140px;
	gap: 12px;
	align-items: center;
	padding: 12px 14px;
}

.fw-invoice-items-head {
	color: var(--fw-text-soft);
	background: #f5f7fb;
	border-radius: 9px 9px 0 0;
}

.fw-invoice-item-line {
	border-bottom: 1px solid #edf0f4;
}

.fw-invoice-total-line,
.fw-invoice-payment-box {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 15px;
}

.fw-invoice-payment-box,
.fw-invoice-upload-box {
	background: #f8faff;
	border: 1px solid #e1e6ef;
	border-radius: 10px;
}

.fw-invoice-receipt-submit,
.fw-invoice-receipt-download {
	font-size: 12px;
}


/* Premium authentication */

.fw-auth-wrap {
	min-height: 700px;
	padding: 72px 24px;
	background:
		linear-gradient(135deg, rgba(233, 240, 250, .82), rgba(250, 249, 246, .96) 52%),
		#faf9f6;
}

.fw-auth-layout {
	display: grid;
	grid-template-columns: minmax(0, .95fr) minmax(380px, .72fr);
	gap: clamp(42px, 7vw, 96px);
	align-items: center;
	width: min(100%, 1120px);
}

.fw-auth-hero {
	max-width: 590px;
}

.fw-auth-hero__eyebrow {
	display: inline-block;
	margin-bottom: 16px;
	color: var(--fw-primary);
	font-family: "Poppins", sans-serif;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .1em;
}

.fw-auth-hero h1 {
	margin: 0;
	color: var(--fw-navy);
	font-size: clamp(38px, 4.6vw, 60px);
	font-weight: 800;
	line-height: 1.45;
	letter-spacing: -.035em;
}

.fw-auth-hero p {
	max-width: 560px;
	margin: 20px 0 0;
	color: var(--fw-text-soft);
	font-size: 16px;
	line-height: 2;
}

.fw-auth-hero ul {
	display: grid;
	gap: 10px;
	margin: 25px 0 0;
	padding: 0;
	list-style: none;
}

.fw-auth-hero li {
	position: relative;
	padding-right: 24px;
	color: var(--fw-text);
	font-size: 13px;
}

.fw-auth-hero li::before {
	content: "";
	position: absolute;
	top: .65em;
	right: 2px;
	width: 9px;
	height: 9px;
	background: var(--fw-primary);
	border-radius: 2px;
}

.fw-auth-box {
	max-width: none;
	padding: 34px;
	border-radius: 14px;
	box-shadow: 0 20px 55px rgba(16, 29, 54, .08);
}

.fw-auth-tabs a,
.fw-auth-field label,
.fw-auth-remember,
.fw-auth-forgot,
.fw-auth-submit {
	font-size: 13px;
}

.fw-auth-field input {
	font-size: 14px;
}

.fw-auth-form-options {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

.fw-auth-forgot {
	color: var(--fw-primary);
	font-weight: 600;
	text-decoration: none;
}

.fw-auth-forgot:hover {
	color: var(--fw-primary-hover);
}

.fw-auth-tabs--utility {
	display: none;
}

.fw-auth-state-head {
	margin-bottom: 24px;
}

.fw-auth-state-head > span {
	display: block;
	margin-bottom: 6px;
	color: var(--fw-primary);
	font-size: 11px;
	font-weight: 700;
}

.fw-auth-state-head h2,
.fw-auth-state h2 {
	margin: 0;
	color: var(--fw-navy);
	font-size: 24px;
	font-weight: 800;
	line-height: 1.6;
}

.fw-auth-state-head p,
.fw-auth-state p {
	margin: 8px 0 0;
	color: var(--fw-text-soft);
	font-size: 13px;
	line-height: 1.9;
}

.fw-auth-back {
	display: inline-flex;
	margin-top: 20px;
	color: var(--fw-primary);
	font-size: 12px;
	font-weight: 600;
	text-decoration: none;
}

.fw-auth-back::before {
	content: "→";
	margin-left: 7px;
}

.fw-auth-state {
	display: flex;
	align-items: center;
	flex-direction: column;
	padding: 12px 4px 4px;
	text-align: center;
}

.fw-auth-state__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	margin-bottom: 16px;
	color: var(--fw-success);
	font-family: "Poppins", sans-serif;
	font-size: 22px;
	font-weight: 600;
	background: var(--fw-success-soft);
	border: 1px solid var(--fw-success-border);
	border-radius: 12px;
}

.fw-auth-state--error .fw-auth-state__icon {
	color: var(--fw-danger);
	background: var(--fw-danger-soft);
	border-color: var(--fw-danger-border);
}

.fw-auth-state .fw-auth-submit {
	margin-top: 24px;
	text-decoration: none;
}


@media (max-width: 1050px) {
	.fw-auth-layout {
		grid-template-columns: 1fr;
		gap: 32px;
		max-width: 680px;
	}

	.fw-auth-hero {
		text-align: center;
	}

	.fw-auth-hero ul {
		display: none;
	}

	.fw-invoice-project-row,
	.fw-invoice-card-row {
		grid-template-columns: minmax(220px, 1fr) auto;
	}

	.fw-invoice-project-statuses,
	.fw-invoice-card-status {
		justify-self: end;
	}

	.fw-invoice-project-action,
	.fw-invoice-card-action {
		grid-column: 1 / -1;
	}
}

@media (max-width: 760px) {
	.fw-account-workspace-header,
	.fw-account-workspace-body {
		padding-inline: 18px;
	}

	.fw-account-workspace-header {
		align-items: flex-start;
	}

	.fw-requests-summary,
	.fw-projects-summary,
	.fw-invoice-summary,
	.fw-files-summary {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.fw-customer-request-row-main,
	.fw-project-card__row,
	.fw-message-project-row,
	.fw-file-project-row,
	.fw-invoice-project-row,
	.fw-invoice-card-row {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.fw-customer-request-card__section,
	.fw-customer-request-card__meta,
	.fw-file-upload-box {
		grid-template-columns: 1fr;
	}

	.fw-message-message-wrap {
		max-width: 88%;
	}

	.fw-invoice-items-table {
		overflow-x: auto;
	}

	.fw-invoice-items-head,
	.fw-invoice-item-line {
		min-width: 680px;
	}

	.fw-invoice-project-statuses,
	.fw-invoice-card-status {
		justify-self: start;
	}

	.fw-auth-wrap {
		padding: 48px 18px;
	}

	.fw-auth-hero h1 {
		font-size: clamp(32px, 9vw, 44px);
	}
}

@media (max-width: 520px) {
	.fw-account-workspace-header {
		flex-direction: column;
	}

	.fw-account-new-request {
		width: 100%;
	}

	.fw-requests-summary,
	.fw-projects-summary,
	.fw-invoice-summary,
	.fw-files-summary {
		grid-template-columns: 1fr;
	}

	.fw-message-message-wrap {
		max-width: 94%;
	}

	.fw-message-compose-actions,
	.fw-invoice-total-line,
	.fw-invoice-payment-box {
		align-items: stretch;
		flex-direction: column;
	}

	.fw-auth-box {
		padding: 24px 20px;
	}

	.fw-auth-form-options {
		align-items: flex-start;
		flex-direction: column;
	}
}


/* ==========================================================================
   FARNIKWEB FINAL ACCOUNT QA — 2026-09-17
   Shared finishing layer for requests, projects, messages, files and invoices.
   ========================================================================== */

body:has(.fw-account-dashboard) {
	overflow-x: hidden;
	background: var(--fw-bg);
}

.fw-account-dashboard,
.fw-account-shell,
.fw-account-workspace,
.fw-account-workspace-body,
.fw-account-panel,
.fw-account-panel > * {
	min-width: 0;
}

.fw-account-dashboard :where(h1, h2, h3, h4, p, span, strong, a, button, td, th) {
	overflow-wrap: anywhere;
}

.fw-account-dashboard :where(button, .fw-account-new-request, .fw-customer-request-card__toggle, .fw-project-card__toggle, .fw-message-project-row__action, .fw-file-project-row__action, .fw-invoice-project-action, .fw-invoice-detail-toggle) {
	min-height: 40px;
}

.fw-account-dashboard :where(input, select, textarea, button) {
	max-width: 100%;
}

.fw-account-dashboard :where(.fw-customer-request-card, .fw-project-card, .fw-message-project-row, .fw-file-project-row, .fw-invoice-project, .fw-invoice-card) {
	min-width: 0;
	overflow: hidden;
}

.fw-account-dashboard :where(.fw-account-empty, .fw-message-empty, .fw-file-empty, .fw-invoice-empty) {
	min-height: 220px;
	padding: clamp(28px, 5vw, 54px) 20px;
	border: 1px dashed #d9e0eb;
	border-radius: 12px;
	background: linear-gradient(180deg, #fff, #fbfcff);
	text-align: center;
}

.fw-account-workspace-body > :first-child {
	margin-top: 0;
}

.fw-account-workspace-body > :last-child {
	margin-bottom: 0;
}

.fw-account-nav::-webkit-scrollbar {
	height: 4px;
}

.fw-account-nav::-webkit-scrollbar-thumb {
	border-radius: 999px;
	background: rgba(255, 255, 255, .2);
}

@media (max-width: 820px) {
	.fw-account-sidebar {
		border-bottom: 1px solid rgba(255, 255, 255, .08);
	}

	.fw-account-nav {
		-webkit-overflow-scrolling: touch;
		scrollbar-width: thin;
		scroll-snap-type: x proximity;
	}

	.fw-account-nav-item {
		scroll-snap-align: start;
	}

	.fw-account-workspace-header {
		min-height: 0;
	}
}

@media (max-width: 620px) {
	.fw-account-workspace-body {
		padding-inline: 14px;
	}

	.fw-account-panel,
	.fw-requests-panel,
	.fw-projects-panel,
	.fw-files-panel,
	.fw-invoices-panel,
	.fw-messages-panel {
		padding: 18px 14px;
		border-radius: 12px;
	}

	.fw-account-dashboard :where(.fw-customer-request-card__toggle, .fw-project-card__toggle, .fw-message-project-row__action, .fw-file-project-row__action, .fw-invoice-project-action, .fw-invoice-detail-toggle) {
		width: 100%;
		justify-content: center;
	}

	.fw-message-thread {
		padding-inline: 12px;
	}

	.fw-message-compose-area {
		padding: 14px 12px 16px;
	}
}


/* ========================================================================== 
   FARNIKWEB PANEL POLISH — messages and invoices
   ========================================================================== */

/* Messages: one compact, readable project row. */
.fw-account-dashboard .fw-message-project-row {
	grid-template-columns: minmax(280px, 1fr) minmax(310px, .85fr) auto auto;
	gap: 18px;
	min-height: 96px;
	padding: 16px 18px;
}

.fw-account-dashboard .fw-message-project-row__identity {
	gap: 14px;
}

.fw-account-dashboard .fw-message-project-row__number {
	flex-basis: 52px;
	width: 52px;
	height: 52px;
	font-size: 16px;
}

.fw-account-dashboard .fw-message-project-row__copy {
	gap: 3px;
}

.fw-account-dashboard .fw-message-project-row__copy > span,
.fw-account-dashboard .fw-message-project-row__meta span,
.fw-account-dashboard .fw-message-project-row__preview {
	font-size: 10px;
	line-height: 1.7;
}

.fw-account-dashboard .fw-message-project-row__copy > strong {
	font-size: 14px;
}

.fw-account-dashboard .fw-message-project-row__preview {
	display: block;
	max-width: 100%;
	overflow: hidden;
	color: var(--fw-text-soft);
	text-overflow: ellipsis;
	white-space: nowrap;
}

.fw-account-dashboard .fw-message-project-row__meta {
	display: grid;
	grid-template-columns: minmax(128px, .8fr) minmax(155px, 1.2fr);
	align-items: center;
	gap: 12px;
	min-width: 0;
	padding: 0 16px;
	border-inline: 1px solid #edf0f5;
}

.fw-account-dashboard .fw-message-project-row__status,
.fw-account-dashboard .fw-message-project-row__activity {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 5px;
	min-width: 0;
}

.fw-account-dashboard .fw-message-project-row__activity strong {
	font-size: 11px;
	line-height: 1.6;
	white-space: nowrap;
}

.fw-account-dashboard .fw-message-project-row__state {
	justify-content: center;
	min-width: 120px;
}

.fw-account-dashboard .fw-message-project-row__action {
	justify-content: flex-end;
	min-width: 112px;
	white-space: nowrap;
}

/* Messages: remove artificial empty height and keep bubbles in a natural stack. */
.fw-account-dashboard .fw-message-thread {
	display: block;
	min-height: 0;
	max-height: 520px;
	padding: 20px;
	scrollbar-width: thin;
}

.fw-account-dashboard .fw-message-thread-inner {
	display: flex;
	flex-direction: column;
	gap: 14px;
	width: 100%;
}

.fw-account-dashboard .fw-message-item {
	margin: 0;
}

.fw-account-dashboard .fw-message-message-wrap {
	width: fit-content;
	max-width: min(72%, 640px);
}

.fw-account-dashboard .fw-message-bubble {
	min-width: 180px;
	padding: 12px 15px;
}

.fw-account-dashboard .fw-message-bubble-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 7px;
}

.fw-account-dashboard .fw-message-compose-area {
	padding: 16px 20px 18px;
}

.fw-account-dashboard .fw-message-compose-head {
	margin-bottom: 10px;
}

.fw-account-dashboard .fw-message-compose-box {
	padding: 10px;
}

.fw-account-dashboard .fw-message-compose textarea {
	min-height: 92px;
	max-height: 220px;
	resize: vertical;
}

.fw-account-dashboard .fw-message-compose-actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding-top: 10px;
}

.fw-account-dashboard .fw-message-compose-hint {
	line-height: 1.8;
}

/* Invoices: coherent project row and a single close control when expanded. */
.fw-account-dashboard .fw-invoice-project-row {
	grid-template-columns: minmax(300px, 1fr) minmax(250px, auto) auto;
	gap: 20px;
	min-height: 88px;
	padding: 16px 20px;
}

.fw-account-dashboard .fw-invoice-project-main {
	gap: 14px;
}

.fw-account-dashboard .fw-invoice-project-copy {
	display: flex;
	flex-direction: column;
	gap: 5px;
	min-width: 0;
}

.fw-account-dashboard .fw-invoice-project-title {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.fw-account-dashboard .fw-invoice-project-statuses {
	align-items: center;
	justify-content: flex-start;
}

.fw-account-dashboard .fw-invoice-project-card.is-open > .fw-invoice-project-row .fw-invoice-project-action {
	display: none;
}

.fw-account-dashboard .fw-invoice-project-content {
	padding: 18px 20px 20px;
}

.fw-account-dashboard .fw-invoice-project-content-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	margin-bottom: 14px;
}

.fw-account-dashboard .fw-invoice-project-content-header h3 {
	margin: 3px 0 0;
	line-height: 1.6;
}

.fw-account-dashboard .fw-invoice-project-close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 78px;
	min-height: 38px;
	padding: 7px 12px;
	color: var(--fw-text-soft) !important;
	font-size: 11px;
	font-weight: 700;
	text-decoration: none !important;
	background: #fff;
	border: 1px solid var(--fw-border);
	border-radius: 9px;
}

.fw-account-dashboard .fw-invoice-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.fw-account-dashboard .fw-invoice-card {
	background: #fff;
	border: 1px solid #e1e6ef;
	border-radius: 12px;
}

.fw-account-dashboard .fw-invoice-card-row {
	display: grid;
	grid-template-columns: minmax(260px, 1fr) minmax(125px, auto) auto auto;
	align-items: center;
	gap: 18px;
	min-height: 86px;
	padding: 15px 17px;
}

.fw-account-dashboard .fw-invoice-card-main {
	gap: 10px;
}

.fw-account-dashboard .fw-invoice-card-number {
	flex-wrap: wrap;
}

.fw-account-dashboard .fw-invoice-card-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 5px 12px;
}

.fw-account-dashboard .fw-invoice-card-amount {
	align-items: flex-start;
}

.fw-account-dashboard .fw-invoice-card-status,
.fw-account-dashboard .fw-invoice-card-action {
	justify-self: end;
}

.fw-account-dashboard .fw-invoice-detail-toggle {
	white-space: nowrap;
}

.fw-account-dashboard .fw-invoice-card-detail {
	padding: 18px !important;
}

.fw-account-dashboard .fw-invoice-detail-section {
	padding: 16px;
}

.fw-account-dashboard .fw-invoice-items-head,
.fw-account-dashboard .fw-invoice-item-line {
	grid-template-columns: minmax(240px, 1fr) 70px 135px 135px;
	gap: 14px;
}

@media (max-width: 1120px) {
	.fw-account-dashboard .fw-message-project-row {
		grid-template-columns: minmax(250px, 1fr) minmax(260px, .9fr) auto;
	}

	.fw-account-dashboard .fw-message-project-row__action {
		grid-column: 1 / -1;
		justify-content: center;
		min-height: 36px;
		border-top: 1px solid #edf0f5;
	}

	.fw-account-dashboard .fw-invoice-project-row {
		grid-template-columns: minmax(260px, 1fr) auto;
	}

	.fw-account-dashboard .fw-invoice-project-action {
		grid-column: 1 / -1;
		justify-content: center;
	}
}

@media (max-width: 780px) {
	.fw-account-dashboard .fw-message-project-row,
	.fw-account-dashboard .fw-invoice-project-row,
	.fw-account-dashboard .fw-invoice-card-row {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.fw-account-dashboard .fw-message-project-row__meta {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		padding: 12px 0;
		border-inline: 0;
		border-block: 1px solid #edf0f5;
	}

	.fw-account-dashboard .fw-message-project-row__state,
	.fw-account-dashboard .fw-message-project-row__action,
	.fw-account-dashboard .fw-invoice-project-statuses,
	.fw-account-dashboard .fw-invoice-project-action,
	.fw-account-dashboard .fw-invoice-card-status,
	.fw-account-dashboard .fw-invoice-card-action {
		justify-self: stretch;
		justify-content: flex-start;
		width: 100%;
		min-width: 0;
	}

	.fw-account-dashboard .fw-message-project-row__action,
	.fw-account-dashboard .fw-invoice-project-action,
	.fw-account-dashboard .fw-invoice-detail-toggle {
		justify-content: center;
	}

	.fw-account-dashboard .fw-invoice-project-content-header {
		align-items: flex-start;
	}

	.fw-account-dashboard .fw-message-message-wrap {
		max-width: 90%;
	}

	.fw-account-dashboard .fw-invoice-card-amount {
		align-items: flex-start;
	}
}

@media (max-width: 520px) {
	.fw-account-dashboard .fw-message-project-row__meta {
		grid-template-columns: 1fr;
	}

	.fw-account-dashboard .fw-message-message-wrap {
		max-width: 96%;
	}

	.fw-account-dashboard .fw-message-bubble {
		min-width: 0;
	}

	.fw-account-dashboard .fw-message-compose-actions,
	.fw-account-dashboard .fw-invoice-project-content-header {
		align-items: stretch;
		flex-direction: column;
	}

	.fw-account-dashboard .fw-message-send,
	.fw-account-dashboard .fw-invoice-project-close {
		width: 100%;
	}

	.fw-account-dashboard .fw-invoice-card-detail {
		padding: 12px !important;
	}
}


/* ========================================================================== 
   Invoice archive row — visual parity with project cards
   ========================================================================== */

.fw-account-dashboard .fw-invoice-project-card {
	overflow: hidden;
	background: #fff;
	border: 1px solid #e0e5ed;
	border-radius: 14px;
	box-shadow: 0 5px 18px rgba(16, 29, 54, .035);
}

.fw-account-dashboard .fw-invoice-project-card:hover {
	border-color: #cfd8ea;
	box-shadow: 0 10px 28px rgba(16, 29, 54, .07);
}

.fw-account-dashboard .fw-invoice-project-row {
	position: relative;
	grid-template-columns: minmax(340px, 1fr) minmax(260px, auto) auto;
	min-height: 104px;
	padding: 18px 20px;
	background: linear-gradient(135deg, #fff 0%, #fbfcff 100%);
	transition: background .2s ease;
}

.fw-account-dashboard .fw-invoice-project-card.is-open > .fw-invoice-project-row {
	background: linear-gradient(135deg, #f7f9ff 0%, #fff 100%);
}

.fw-account-dashboard .fw-invoice-project-number {
	display: flex;
	flex: 0 0 54px;
	align-items: center;
	justify-content: center;
	width: 54px;
	height: 54px;
	padding: 0;
	color: #fff;
	background: linear-gradient(145deg, var(--fw-navy), #172b52);
	border: 1px solid rgba(16, 29, 54, .12);
	border-radius: 13px;
	box-shadow: 0 8px 18px rgba(16, 29, 54, .12);
}

.fw-account-dashboard .fw-invoice-project-card.is-open .fw-invoice-project-number {
	background: linear-gradient(145deg, var(--fw-primary), #2948c9);
}

.fw-account-dashboard .fw-invoice-project-number svg {
	width: 25px;
	height: 25px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.fw-account-dashboard .fw-invoice-project-copy {
	gap: 6px;
}

.fw-account-dashboard .fw-invoice-project-title {
	font-size: 15px;
	font-weight: 800;
	line-height: 1.6;
}

.fw-account-dashboard .fw-invoice-project-meta {
	gap: 5px 14px;
	font-size: 11px;
	line-height: 1.7;
}

.fw-account-dashboard .fw-invoice-project-meta span {
	position: relative;
}

.fw-account-dashboard .fw-invoice-project-meta span + span::before {
	content: "";
	display: inline-block;
	width: 4px;
	height: 4px;
	margin-inline: 0 9px;
	vertical-align: middle;
	background: #c3cada;
	border-radius: 50%;
}

.fw-account-dashboard .fw-invoice-project-statuses {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 8px;
	padding-inline: 18px;
	border-inline: 1px solid #edf0f5;
}

.fw-account-dashboard .fw-invoice-project-statuses > span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 34px;
	padding: 6px 11px;
	font-size: 11px;
	font-weight: 700;
	white-space: nowrap;
	border-radius: 999px;
}

.fw-account-dashboard .fw-invoice-project-action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-width: 148px;
	min-height: 42px;
	padding: 8px 14px;
	color: var(--fw-primary) !important;
	font-size: 12px;
	font-weight: 750;
	background: var(--fw-primary-soft);
	border: 1px solid #d8e1ff;
	border-radius: 9px;
	box-shadow: 0 4px 12px rgba(33, 64, 200, .06);
}

.fw-account-dashboard .fw-invoice-project-action svg {
	width: 16px;
	height: 16px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
	transition: transform .2s ease;
}

.fw-account-dashboard .fw-invoice-project-row:hover .fw-invoice-project-action svg {
	transform: translateX(-2px);
}

@media (max-width: 1120px) {
	.fw-account-dashboard .fw-invoice-project-row {
		grid-template-columns: minmax(280px, 1fr) auto;
	}

	.fw-account-dashboard .fw-invoice-project-statuses {
		padding-inline: 14px 0;
		border-inline: 1px solid #edf0f5;
	}

	.fw-account-dashboard .fw-invoice-project-action {
		grid-column: 1 / -1;
		width: 100%;
	}
}

@media (max-width: 760px) {
	.fw-account-dashboard .fw-invoice-project-row {
		grid-template-columns: 1fr;
		padding: 16px;
	}

	.fw-account-dashboard .fw-invoice-project-statuses {
		padding: 12px 0;
		border-inline: 0;
		border-block: 1px solid #edf0f5;
	}

	.fw-account-dashboard .fw-invoice-project-action {
		min-width: 0;
	}
}


/* ========================================================================== 
   MOBILE PANEL SYSTEM — all account screens
   ========================================================================== */

@media (max-width: 700px) {
	body:has(.fw-account-dashboard),
	.fw-account-dashboard,
	.fw-account-shell,
	.fw-account-workspace {
		width: 100%;
		max-width: 100%;
		overflow-x: clip;
	}

	.fw-account-shell {
		min-height: 0;
	}

	.fw-account-sidebar {
		width: 100%;
		min-height: 0;
		padding: 10px 12px 12px;
	}

	.fw-account-user {
		min-height: 58px;
		padding: 4px 2px 10px;
	}

	.fw-account-nav {
		gap: 6px;
		padding-block: 10px 3px;
	}

	.fw-account-nav-item {
		min-height: 40px;
		padding: 7px 11px;
		font-size: 11px;
		border-radius: 9px;
	}

	.fw-account-workspace-header {
		min-height: 0;
		padding: 20px 16px;
	}

	.fw-account-workspace-header h1 {
		font-size: clamp(25px, 8vw, 34px);
		line-height: 1.45;
	}

	.fw-account-workspace-header p {
		font-size: 11px;
		line-height: 1.85;
	}

	.fw-account-workspace-body {
		padding: 16px 10px 36px;
	}

	.fw-account-panel,
	.fw-requests-panel,
	.fw-projects-panel,
	.fw-files-panel,
	.fw-invoices-panel,
	.fw-messages-panel {
		padding: 16px 12px;
		border-radius: 14px;
	}

	.fw-account-panel-header {
		gap: 12px;
		margin-bottom: 20px;
	}

	.fw-account-panel-header h2 {
		font-size: 17px;
	}

	.fw-account-panel-header p {
		font-size: 11px;
	}

	.fw-account-summary,
	.fw-requests-summary,
	.fw-projects-summary,
	.fw-files-summary,
	.fw-invoice-summary {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 9px;
	}

	.fw-account-dashboard .fw-account-stat,
	.fw-requests-summary-item,
	.fw-projects-summary-item,
	.fw-files-summary-item,
	.fw-invoice-summary-item {
		min-height: 88px;
		padding: 13px !important;
		border-radius: 12px;
	}

	.fw-account-stat-content {
		padding-top: 14px;
	}

	.fw-account-stat-number,
	.fw-requests-summary-item strong,
	.fw-projects-summary-item strong,
	.fw-files-summary-item strong,
	.fw-invoice-summary-item strong {
		font-size: 22px;
	}

	.fw-customer-request-row-main,
	.fw-project-card__row,
	.fw-message-project-row,
	.fw-file-project-row,
	.fw-invoice-project-row,
	.fw-invoice-card-row {
		width: 100%;
		min-height: 0;
		padding: 14px;
	}

	.fw-customer-request-card__identity,
	.fw-project-card__identity,
	.fw-message-project-row__identity,
	.fw-file-project-row__identity,
	.fw-invoice-project-main {
		align-items: center;
		width: 100%;
		min-width: 0;
	}

	.fw-customer-request-card__details,
	.fw-project-card__details,
	.fw-file-project-details,
	.fw-invoice-project-content {
		padding: 14px 12px 16px;
	}

	.fw-customer-request-card__details-inner,
	.fw-customer-request-details,
	.fw-request-details {
		grid-template-columns: 1fr;
		gap: 10px;
		padding: 14px 12px;
	}

	.fw-request-detail-section,
	.fw-customer-request-detail-section,
	.fw-request-detail-card {
		padding: 13px;
	}

	/* Project details become readable cards instead of loose text. */
	.fw-project-card__meta {
		display: grid;
		grid-template-columns: 1fr;
		gap: 8px;
	}

	.fw-project-card__meta-item {
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
		gap: 14px;
		padding: 10px 12px;
		background: #fff;
		border: 1px solid #e8ecf2;
		border-radius: 9px;
	}

	.fw-project-card__meta-item span {
		flex: 0 0 auto;
		color: var(--fw-muted);
		font-size: 10px;
	}

	.fw-project-card__meta-item strong {
		min-width: 0;
		font-size: 11px;
		line-height: 1.75;
		text-align: left;
	}

	.fw-project-card__progress {
		margin-top: 14px;
		padding: 14px 12px;
		background: #fff;
		border: 1px solid #e4e9f2;
		border-radius: 11px;
	}

	.fw-project-card__progress-head {
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
		gap: 12px;
		margin-bottom: 12px;
	}

	.fw-project-card__current-stage,
	.fw-account-current-stage {
		min-width: 0;
		max-width: 58%;
		padding: 9px 10px;
	}

	/* Vertical project timeline: no crushed six-column labels. */
	.fw-account-project-progress {
		padding: 4px 0 0;
	}

	.fw-account-project-steps {
		display: flex;
		flex-direction: column;
		gap: 0;
		direction: rtl;
	}

	.fw-account-project-step {
		position: relative;
		flex-direction: row;
		align-items: flex-start;
		gap: 12px;
		width: 100%;
		min-height: 64px;
		padding: 7px 0;
		text-align: right;
	}

	.fw-account-project-step:not(:last-child)::after {
		top: 46px;
		right: 18px;
		width: 2px;
		height: calc(100% - 34px);
	}

	.fw-account-project-step-marker {
		flex: 0 0 38px;
		width: 38px;
		height: 38px;
		margin: 0;
	}

	.fw-account-project-step-content {
		align-items: flex-start;
		gap: 2px;
		padding-top: 2px;
		text-align: right;
	}

	.fw-account-project-step-content strong {
		font-size: 12px;
		line-height: 1.65;
	}

	.fw-account-project-step-content span {
		font-size: 10px;
	}

	/* Communication, files and invoices stay inside the viewport. */
	.fw-account-dashboard .fw-message-project-row__meta {
		grid-template-columns: 1fr;
	}

	.fw-account-dashboard .fw-message-conversation-head {
		align-items: flex-start;
		flex-direction: column;
		padding: 14px;
	}

	.fw-message-conversation-head__actions {
		width: 100%;
		flex-wrap: wrap;
	}

	.fw-account-dashboard .fw-message-thread {
		max-height: 480px;
		padding: 14px 10px;
	}

	.fw-account-dashboard .fw-message-message-wrap {
		max-width: 94%;
	}

	.fw-account-dashboard .fw-message-compose-area {
		padding: 13px 10px 15px;
	}

	.fw-file-upload-box {
		grid-template-columns: 1fr;
		gap: 12px;
		padding: 14px;
	}

	.fw-file-upload-form,
	.fw-message-compose-actions,
	.fw-invoice-payment-box,
	.fw-invoice-total-line {
		align-items: stretch;
		flex-direction: column;
	}

	.fw-invoice-items-table {
		margin-inline: -2px;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.fw-invoice-items-head,
	.fw-invoice-item-line {
		min-width: 630px;
	}
}

@media (max-width: 380px) {
	.fw-account-workspace-body {
		padding-inline: 8px;
	}

	.fw-account-panel,
	.fw-requests-panel,
	.fw-projects-panel,
	.fw-files-panel,
	.fw-invoices-panel,
	.fw-messages-panel {
		padding-inline: 10px;
	}

	.fw-account-nav-item {
		padding-inline: 9px;
	}

	.fw-account-summary,
	.fw-requests-summary,
	.fw-projects-summary,
	.fw-files-summary,
	.fw-invoice-summary {
		grid-template-columns: 1fr;
	}

	.fw-project-card__progress-head {
		flex-direction: column;
	}

	.fw-project-card__current-stage,
	.fw-account-current-stage {
		width: 100%;
		max-width: none;
	}
}

/* Final interaction and detail polish. */
.fw-selected-files {
	width: 100%;
	padding: 10px 12px;
	border: 1px dashed #ccd5e7;
	border-radius: 10px;
	background: #f8faff;
	color: #68758d;
	font-size: 12px;
	line-height: 1.8;
	overflow-wrap: anywhere;
}

.fw-selected-files.is-ready {
	border-style: solid;
	border-color: rgba(34, 145, 94, .28);
	background: #f1fbf6;
	color: #176b45;
}

.fw-request-quote-accept,
.fw-request-quote-confirmed {
	grid-column: 1 / -1;
	width: 100%;
	padding: 14px;
	border: 1px solid rgba(28, 57, 187, .14);
	border-radius: 12px;
	background: #f5f8ff;
}

.fw-request-quote-accept p { margin: 0 0 10px; font-size: 12px; line-height: 1.9; }
.fw-request-quote-accept button {
	min-height: 44px;
	padding: 10px 18px;
	border: 0;
	border-radius: 10px;
	background: #1c39bb;
	color: #fff;
	font: inherit;
	font-weight: 800;
	cursor: pointer;
}
.fw-request-quote-confirmed { color: #176b45; background: #f1fbf6; border-color: rgba(34,145,94,.22); }

.fw-request-progress {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 8px;
	width: 100%;
	margin-bottom: 16px;
	padding: 14px;
	border: 1px solid #e3e8f2;
	border-radius: 13px;
	background: #fff;
}
.fw-request-progress__step { display: grid; justify-items: center; gap: 7px; min-width: 0; color: #919bad; text-align: center; }
.fw-request-progress__step span { display: grid; place-items: center; width: 30px; height: 30px; border: 2px solid #dfe4ed; border-radius: 50%; font-size: 11px; }
.fw-request-progress__step strong { font-size: 10px; line-height: 1.65; word-break: normal; }
.fw-request-progress__step.is-reached { color: #1c39bb; }
.fw-request-progress__step.is-reached span { border-color: #1c39bb; background: #eef2ff; }
.fw-request-progress__step.is-current span { background: #1c39bb; color: #fff; box-shadow: 0 0 0 5px rgba(28,57,187,.08); }

.fw-invoice-payment-card { gap: 12px; }
.fw-invoice-payment-reveal {
	width: 100%;
	min-height: 46px;
	padding: 10px 16px;
	border: 1px solid rgba(28, 57, 187, .18);
	border-radius: 11px;
	background: #fff;
	color: #1c39bb;
	font: inherit;
	font-weight: 800;
	cursor: pointer;
}
.fw-invoice-payment-info {
	display: grid;
	gap: 9px;
	width: 100%;
	margin-top: 10px;
	padding: 14px;
	border-radius: 10px;
	background: #f6f8fc;
}
.fw-invoice-payment-info[hidden] { display: none !important; }
.fw-invoice-payment-info > span {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	font-size: 12px;
}

.fw-invoice-upload-box {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 12px;
	padding: 16px;
	border: 1px solid #dfe5f0;
	border-radius: 14px;
	background: #fbfcff;
}
.fw-invoice-upload-label { grid-column: 1 / -1; }
.fw-invoice-upload-warning { grid-column: 1 / -1; padding: 10px 12px; border-radius: 9px; background: #fff8eb; }
.fw-invoice-receipt-input { width: 100%; min-width: 0; padding: 10px; border: 1px dashed #cbd5e8; border-radius: 10px; background: #fff; }
.fw-selected-files--receipt { grid-column: 1 / -1; }

/* Phones and portrait tablets: turn the six cramped stages into one vertical path. */
@media (max-width: 900px) and (orientation: portrait) {
	.fw-account-project-steps {
		display: flex;
		flex-direction: column;
		gap: 0;
		direction: rtl;
	}
	.fw-account-project-step {
		position: relative;
		display: flex;
		flex-direction: row;
		align-items: flex-start;
		gap: 12px;
		width: 100%;
		min-width: 0;
		min-height: 66px;
		padding: 7px 0;
		text-align: right;
	}
	.fw-account-project-step:not(:last-child)::after {
		top: 46px;
		right: 18px;
		left: auto;
		width: 2px;
		height: calc(100% - 32px);
	}
	.fw-account-project-step-marker { flex: 0 0 38px; width: 38px; height: 38px; margin: 0; }
	.fw-account-project-step-content { align-items: flex-start; min-width: 0; padding-top: 2px; text-align: right; }
	.fw-account-project-step-content strong,
	.fw-account-project-step-content span {
		display: block;
		max-width: 100%;
		word-break: normal;
		overflow-wrap: normal;
		white-space: normal;
	}
	.fw-account-project-step-content strong { font-size: 13px; line-height: 1.75; }
	.fw-account-project-step-content span { font-size: 11px; line-height: 1.7; }
}

@media (max-width: 700px) {
	.fw-request-progress { grid-template-columns: 1fr; gap: 0; }
	.fw-request-progress__step { position: relative; grid-template-columns: 34px 1fr; align-items: center; justify-items: start; gap: 10px; min-height: 48px; text-align: right; }
	.fw-request-progress__step:not(:last-child)::after { content: ''; position: absolute; top: 36px; right: 14px; width: 2px; height: 24px; background: #e2e7f0; }
	.fw-request-progress__step strong { font-size: 12px; }
	.fw-invoice-upload-box { grid-template-columns: 1fr; padding: 13px; }
	.fw-invoice-upload-label,
	.fw-invoice-upload-warning,
	.fw-selected-files--receipt { grid-column: 1; }
	.fw-invoice-payment-info > span { align-items: flex-start; flex-direction: column; }
	.fw-message-compose-box { padding: 10px; border-radius: 12px; }
	.fw-message-compose textarea { min-height: 130px; padding: 12px; }
	.fw-message-send { width: 100%; justify-content: center; }
}

/* Customer profile, document acceptance and invoice exports */
.fw-customer-profile{margin-bottom:28px}.fw-profile-status{align-self:flex-start;padding:8px 13px;border-radius:999px;background:#fff3cd;color:#805b00;font-size:13px;font-weight:800;white-space:nowrap}.fw-profile-status--1{background:#def7ec;color:#087f5b}.fw-profile-status--incomplete{background:#fff0f0;color:#8f2434}.fw-profile-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:24px}.fw-profile-form label{display:flex;flex-direction:column;gap:8px;font-weight:700;color:#25324a}.fw-profile-form input,.fw-profile-form select,.fw-auth-field select{width:100%;min-height:48px;border:1px solid #d7dfec;border-radius:12px;background:#fff;padding:10px 14px;font:inherit;color:#121a29}.fw-profile-form input:focus,.fw-profile-form select:focus,.fw-auth-field select:focus{outline:3px solid #1c39bb18;border-color:#1c39bb}.fw-profile-help{grid-column:1/-1;padding:12px 14px;border-radius:12px;background:#e9f0fa;color:#485b78;line-height:1.8}.fw-profile-form button{justify-self:start;border:0;border-radius:12px;background:#1c39bb;color:#fff;padding:12px 24px;font:inherit;font-weight:800;cursor:pointer}.fw-profile-notice{margin:20px 24px 0;padding:12px 16px;border-radius:12px}.fw-profile-notice.is-success{background:#def7ec;color:#087f5b}.fw-profile-notice.is-error{background:#fff0f0;color:#8f2434}.fw-invoice-document-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:0 0 20px;padding:18px;border:1px solid #d7e1f3;border-radius:16px;background:linear-gradient(135deg,#f7f9fd,#e9f0fa)}.fw-invoice-document-button{display:inline-flex;align-items:center;justify-content:center;padding:11px 17px;border-radius:11px;background:#101d36;color:#fff!important;text-decoration:none!important;font-weight:800}.fw-invoice-accepted-badge{color:#087f5b;font-weight:800}.fw-invoice-acceptance{display:grid;gap:14px;margin:0 0 22px;padding:22px;border:1px solid #cfdbef;border-radius:18px;background:#fbfcff}.fw-invoice-acceptance>label:not(.fw-invoice-password){display:flex;align-items:flex-start;gap:10px;line-height:1.9;color:#33415c}.fw-invoice-acceptance input[type=checkbox]{margin-top:7px;accent-color:#1c39bb}.fw-invoice-password{display:flex;flex-direction:column;gap:8px;max-width:420px;font-weight:700}.fw-invoice-password input{min-height:46px;border:1px solid #d7dfec;border-radius:11px;padding:10px 13px;font:inherit}.fw-invoice-acceptance button{justify-self:start;border:0;border-radius:12px;background:#1c39bb;color:#fff;padding:12px 22px;font:inherit;font-weight:800;cursor:pointer}.fw-invoice-payment-owner small{display:block;margin-top:5px;color:#667085}
@media(max-width:700px){.fw-profile-form{grid-template-columns:1fr;padding:18px}.fw-customer-profile .fw-account-panel-header{align-items:flex-start;gap:14px}.fw-profile-status{white-space:normal}.fw-profile-form button,.fw-invoice-acceptance button,.fw-invoice-document-button{width:100%;justify-self:stretch}.fw-invoice-document-actions{align-items:stretch;flex-direction:column}.fw-invoice-acceptance{padding:17px}.fw-invoice-payment-box{grid-template-columns:1fr!important}}
.fw-profile-status--recorded{background:#def7ec!important;color:#087f5b!important}
.fw-profile-completion-alert{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:20px 24px 0;padding:18px 20px;border:1px solid #f0d58b;border-radius:16px;background:linear-gradient(135deg,#fffaf0,#fff3d1);color:#6f5200;box-shadow:0 10px 24px rgba(111,82,0,.07)}
.fw-profile-completion-alert strong{display:block;margin-bottom:5px;color:#493800;font-size:16px}.fw-profile-completion-alert p{margin:0;line-height:1.9}.fw-profile-completion-alert a{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:44px;padding:10px 18px;border-radius:11px;background:#1c39bb;color:#fff!important;text-decoration:none!important;font-weight:800}.fw-account-new-request.is-profile-required{background:#fff7df!important;color:#735600!important;border:1px solid #eed282!important;box-shadow:none!important}
@media(max-width:700px){.fw-profile-completion-alert{align-items:stretch;flex-direction:column;margin:16px 18px 0;padding:16px}.fw-profile-completion-alert a{width:100%}}

/* Final palette and clarity safeguards — intentionally last in the stylesheet. */
.fw-account-shell :is(button[type="submit"], .fw-file-download, .fw-file-upload-submit, .fw-invoice-receipt-submit) {
	color: #fff !important;
	background: #2442c7 !important;
	border-color: #2442c7 !important;
}
.fw-account-shell :is(button[type="submit"], .fw-file-download, .fw-file-upload-submit, .fw-invoice-receipt-submit):is(:hover,:focus,:active),
.fw-profile-form button:is(:hover,:focus,:active) {
	color: #fff !important;
	background: #101d36 !important;
	border-color: #101d36 !important;
}
.fw-account-shell :is(button,a):is(:hover,:focus) span { color: inherit !important; opacity: 1 !important; visibility: visible !important; }
.fw-file-download span { display: inline-block !important; color: #fff !important; opacity: 1 !important; visibility: visible !important; }
.fw-invoice-payment-box,
.fw-invoice-payment-panel {
	display: grid;
	grid-template-columns: minmax(0,1fr) auto;
	align-items: center;
	gap: 12px 18px;
	padding: 16px !important;
	background: #f6f8fd !important;
	border: 1px solid #d8e2f2 !important;
	border-radius: 12px !important;
}
.fw-invoice-payment-reveal {
	min-height: 42px;
	color: #173dbf !important;
	font-weight: 750 !important;
	background: #fff !important;
	border: 1px solid #bfcff2 !important;
	border-radius: 9px !important;
}
.fw-invoice-payment-reveal:hover { color: #fff !important; background: #101d36 !important; border-color: #101d36 !important; }
@media(max-width:600px){.fw-invoice-payment-box,.fw-invoice-payment-panel{grid-template-columns:1fr}.fw-invoice-payment-reveal{width:100%}}

/* 1.3.1 — explicit customer file picker, removable avatar and readable auth return link. */
.fw-file-upload-form {
	display: grid !important;
	grid-template-columns: auto minmax(180px, 1fr) auto;
	align-items: center !important;
	gap: 10px !important;
}
.fw-file-upload-input {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	border: 0 !important;
}
.fw-file-choose-button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 7px !important;
	min-width: 190px !important;
	min-height: 48px !important;
	padding: 9px 16px !important;
	color: #173dbf !important;
	font-family: inherit !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	background: #fff !important;
	border: 1px solid #9fb3da !important;
	border-radius: 9px !important;
	cursor: pointer !important;
	box-shadow: 0 4px 12px rgba(23,61,191,.08) !important;
}
.fw-file-choose-button span { color: inherit !important; font-size: 18px !important; line-height: 1 !important; }
.fw-file-choose-button:hover,
.fw-file-choose-button:focus {
	color: #fff !important;
	background: #101d36 !important;
	border-color: #101d36 !important;
}
.fw-file-upload-form .fw-selected-files { margin: 0 !important; }

.fw-profile-avatar-remove {
	display: flex !important;
	align-items: center !important;
	flex-direction: row !important;
	gap: 8px !important;
	margin-top: 11px !important;
	color: #8f2434 !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	cursor: pointer;
}
.fw-profile-avatar-controls { flex: 1; min-width: 0; }
.fw-profile-avatar-controls > label:first-child { width: 100%; }
.fw-profile-avatar-remove input[type="checkbox"] {
	width: 17px !important;
	height: 17px !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	accent-color: #2442c7;
}

.fw-auth-state a.fw-auth-submit,
.fw-auth-state a.fw-auth-submit:link,
.fw-auth-state a.fw-auth-submit:visited {
	color: #fff !important;
	background: #2442c7 !important;
	text-decoration: none !important;
}
.fw-auth-state a.fw-auth-submit:hover,
.fw-auth-state a.fw-auth-submit:focus,
.fw-auth-state a.fw-auth-submit:active {
	color: #fff !important;
	background: #101d36 !important;
}

@media (max-width: 700px) {
	.fw-file-upload-form { grid-template-columns: 1fr !important; }
	.fw-file-choose-button,
	.fw-file-upload-form .fw-file-upload-submit { width: 100% !important; }
}

/* 1.4.0 — optional SMS.ir OTP login. */
.fw-auth-divider {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 20px 0;
	color: #8792a6;
	font-size: 12px;
}
.fw-auth-divider::before,
.fw-auth-divider::after { content: ''; flex: 1; height: 1px; background: #e1e7f1; }
.fw-auth-otp-link {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	min-height: 58px;
	padding: 10px 16px;
	color: #173dbf !important;
	text-decoration: none !important;
	background: #f3f6ff;
	border: 1px solid #c8d5f4;
	border-radius: 13px;
	transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease;
}
.fw-auth-otp-link:hover,
.fw-auth-otp-link:focus { color: #fff !important; background: #101d36; border-color: #101d36; transform: translateY(-1px); }
.fw-auth-otp-link__icon {
	display: grid;
	place-items: center;
	flex: 0 0 34px;
	width: 34px;
	height: 34px;
	color: inherit;
	background: rgba(36,66,199,.1);
	border-radius: 10px;
}
.fw-auth-otp-link > span:last-child { display: grid; gap: 2px; text-align: right; }
.fw-auth-otp-link strong { color: inherit; font-size: 13px; }
.fw-auth-otp-link small { color: inherit; font-size: 11px; font-weight: 500; opacity: .76; }
.fw-auth-otp-form input[name="otp_code"] {
	direction: ltr;
	text-align: center;
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
	font-size: 24px;
	font-weight: 800;
	letter-spacing: .25em;
}
.fw-auth-otp-privacy { margin: 13px 0 0; color: #748199; font-size: 11px; line-height: 1.8; text-align: center; }
