/*
 ************************************************************
 *
 * BACKEND
 *
 ************************************************************
 * ----------------------------------------------------------
 *
 * GLOBAL
 *
 * ----------------------------------------------------------
 *
 * BASE */

:root
{
	--font-body: "Montserrat";
	--color-white: #ffffff;
	--color-black: #000000;
	--color-green: #2dca73;
	--color-yellow: #ffc042;
	--color-red: #ff4c4c;
	--color-rose-1: #f7ddda;
	--color-rose-2: #eecdc9;
	--color-blue-1: #032097;
	--color-blue-2: #01166B;
	--color-gray-1: #858ebd;
	--color-gray-2: #555e94;
	--color-gray-3: #485184;
	--color-lightgray-1: #f9fafc;
	--color-lightgray-2: #f3f4f9;
	--color-lightgray-3: #ecedf4;
	--color-lightgray-4: #dadce9;
	--box-shadow: 0px 1px 2px 0px #02166418;
}

body
{
	font-family: var(--font-body);
	font-weight: 300;
	color: var(--color-gray-2);
}

a,
i,
tr,
th,
td,
span,
strong,
input,
select,
textarea,
button,
.button,
path,
rect,
circle
{
	transition-property: opacity, fill, color, border-color, background-color, display;
	transition-duration: .3s;
	transition-timing-function: ease;
}

h1,
h2,
h3,
h4,
h5,
h6
{
	font-weight: 500;
	margin: 0;
}

h1
{
	font-size: 32px;
}

h2
{
	font-size: 24px;
}

h3
{
	font-size: 21px;
}

h4
{
	font-size: 18px;
}

i
{
	font-size: 16px;
}

strong
{
	font-weight: 600;
}

a
{
	text-decoration: none;
}

a i,
a .fa-solid,
a .fa-regular,
a:focus i,
a:focus .fa-solid,
a:focus .fa-regular
{
	color: var(--color-gray-1);
}

a,
a:focus,
a:hover,
a:hover i
{
	color: var(--color-blue-1);
}

.svg-icon
{
	display: flex;;
}

/* LIST */

dl,
dt,
dd
{
	margin: 0;
	padding: 0;
}

dt
{
	font-weight: 400;
}

dd
{
	text-align: right;
}

dl
{
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	padding: 12px;
	border-top: 1px solid var(--color-lightgray-3);
}

dl:not(dl.total)
{
	background-color: var(--color-lightgray-1);
}

dl.total
{
	font-size: 20px;
	padding-left: 0;
	padding-right: 0;
}

dl.total dt,
dl.total dd
{
	font-weight: 500;
}

.list-desc
{
	display: flex;
	flex-direction: column;
}

/*
 * ----------------------------------------------------------
 *
 * FORM
 *
 * ----------------------------------------------------------
 *
 * INPUT */

::-webkit-input-placeholder
{
	opacity: 1;
	color: var(--color-gray-1);
}

::-moz-placeholder
{
	opacity: 1;
	color: var(--color-gray-1);
}

:-ms-input-placeholder
{
	opacity: 1;
	color: var(--color-gray-1);
}

:-moz-placeholder
{
	opacity: 1;
	color: var(--color-gray-1);
}

.error
{
	color: var(--color-red);
}

.table_v2 input,
.table_v2 select,
.table_v2 textarea
{
	font-size: 13px;
	margin: 0;
	padding: 8px;
	line-height: 18px;
	outline: none;
	border-width: 1px;
	border-radius: 4px;
	border-style: solid;
	border-color: var(--color-lightgray-4);
	background-color: var(--color-white);
	color: var(--color-blue-2);
}

.table_v2 textarea
{
	min-height: 160px;
}

.table_v2 .form-check-input
{
	margin: 0;
	border-radius: 4px;
	border-color: var(--color-lightgray-4);
}

/* LABEL */

.table_v2 label,
.table_v2 label a
{
	font-weight: 500;
	font-size: 14px;
}

/* ROLE */

.table_v2 #role
{
	width: 100%;
}

.table_v2 #role > div
{
	border-color: var(--color-lightgray-4);
}

.table_v2 #role > div > div > div
{
	color: var(--color-gray-1);
}

/*
 * ----------------------------------------------------------
 *
 * BUTTONS
 *
 * ----------------------------------------------------------
 *
 * DEFAULT */

.table_v2 button,
.table_v2 .button
{
	font-weight: 500;
	font-size: 14px;
	text-align: center;
	display: inline-block;
	margin: 0;
	padding: 8px 12px;
	min-width: auto;
	cursor: pointer;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	line-height: 18px !important;
	border-radius: 4px;
	border-width: 1px;
	border-style: solid;
	background: none;
	text-decoration: none;
	text-transform: none;
	-webkit-box-shadow: none;
	   -moz-box-shadow: none;
			box-shadow: none;
}

/* SIZE */

.table_v2 .button-small
{
	padding: 6px 12px;
	font-size: 13px;
}

.table_v2 .button-large
{
	border-radius: 6px;
	padding: 14px 20px;
	font-size: 16px;
}

/* COLOR */

.table_v2 button,
.table_v2 button:focus,
.table_v2 .button,
.table_v2 .button:focus,
.table_v2 .dropdown-item,
.table_v2 .dropdown-item:focus
{
	background-color: var(--color-white);
	border-color: var(--color-lightgray-4);
	color: var(--color-blue-1);
}

.table_v2 button:hover,
.table_v2 .button:hover
{
	background-color: var(--color-rose-1);
	border-color: var(--color-rose-1);
	color: var(--color-blue-1);
}

.table_v2 .button-blue,
.table_v2 .button-blue:focus
{
	background-color: var(--color-blue-1);
	border-color: var(--color-blue-1);
	color: var(--color-white);
}

.table_v2 .button-blue:hover
{
	background-color: var(--color-rose-1);
	border-color: var(--color-rose-1);
	color: var(--color-blue-1);
}

.table_v2 .button.inactive,
.table_v2 .button.inactive:hover
{
	background-color: var(--color-lightgray-2);
	border-color: var(--color-lightgray-4);
	color: var(--color-gray-1);
	cursor: default;
}

/* TEXT */

.table_v2 .button-text,
.table_v2 .button-text:focus
{
	font-size: 13px;
	padding: 0;
	border: none;
	background-color: transparent;
	line-height: normal !important;
}

.table_v2 .button-text:not(.inactive):hover
{
	text-decoration: underline;
	background-color: transparent;
	color: var(--color-blue-1);
}

/*
 * ----------------------------------------------------------
 *
 * FORM CUSTOM
 *
 * ----------------------------------------------------------
 *
 * FILES */

.files ul,
.files li,
.files li a
{
	display: flex;
	flex-direction: row;
	align-items: center;
	grid-gap: 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.files li a
{
	grid-gap: 16px;
	font-weight: 500;
	font-size: 14px;
}

.files li a:hover
{
	text-decoration: underline;
}

.files li a .svg-icon path
{
	fill: var(--color-white);
}

.files li a .svg-icon
{
	padding: 14px;
	border-radius: 50%;;
	background-color: var(--color-lightgray-4);
}

.files li a.attachment .svg-icon
{
	background-color: var(--color-green);
}

/* FORM-ROW */

.form-row
{
	display: flex;
	flex-flow: row wrap;
	grid-gap: 8px;
	width: 100%;
	font-size: 13px;
}

.form-row,
.form-row label
{
	grid-gap: 8px;
}

.form-row:not(.row-actions) > *
{
	width: 100%;
}

.form-row input
{
	flex-grow: 1;
}

.form-row p
{
	margin: 16px 0;
}

.form-row.col-full
{
	width: 100%;
}

.form-row.col-thin
{
	width: 70%;
	margin: 0 auto;
}

.form-row.col-half
{
	width: calc(50% - 4px);
}

/*
 * ----------------------------------------------------------
 *
 * ELEMENTS
 *
 * ----------------------------------------------------------
 *
 * NOTY */

.noty_theme__bootstrap-v4.noty_bar i
{
	display: none;
}

.noty_theme__bootstrap-v4.noty_bar .noty_body,
.noty_theme__bootstrap-v4.noty_bar .noty_buttons
{
	padding: 24px;
}

.noty_theme__bootstrap-v4.noty_bar .noty_body
{
	padding-bottom: 0;
}

.noty_theme__bootstrap-v4.noty_bar .noty_body span
{
	display: block;
	margin-top: 8px;
	font-size: 16px;
}

.noty_theme__bootstrap-v4.noty_bar .noty_buttons
{
	display: flex;
	grid-gap: 8px;
}

.noty_theme__bootstrap-v4.noty_bar .noty_buttons .btn-danger
{
	background-color: var(--color-red);
	border-color: var(--color-red);
	color: var(--color-white);
}

.noty_theme__bootstrap-v4.noty_bar .noty_buttons .btn-error
{
	background-color: var(--color-white);
	border-color: var(--color-lightgray-3);
	color: var(--color-blue-1);
}

.noty_theme__bootstrap-v4.noty_bar .noty_buttons .btn-danger:hover,
.noty_theme__bootstrap-v4.noty_bar .noty_buttons .btn-error:hover
{
	background-color: var(--color-rose-1);
	border-color: var(--color-rose-1);
	color: var(--color-blue-1);
}

.noty_theme__bootstrap-v4.noty_type__warning
{
	background-color: var(--color-white);
	border-color: var(--color-lightgray-3);
	color: var(--color-blue-1);
}

/* BADGE */

 .badge
{
	text-transform: uppercase;
	font-weight: 500;
}

.badge.bg-primary
{
	background-color: var(--color-green) !important;
}

/* TOOLTIP */

.info-tooltip
{
	display: flex;
	flex-direction: column;
	grid-gap: 8px;
	position: fixed;
	z-index: 1000;
	width: 320px;
	height: auto;
	padding: 16px;
	border-radius: 6px;
	border: 1px solid var(--color-lightgray-3);
	background-color: var(--color-white);
	box-shadow: var(--box-shadow);
}

.info-tooltip span
{
	font-size: 14px;
}

.info-tooltip span.role
{
	text-transform: capitalize;
}

.info-tooltip label,
.info-tooltip label span
{
	font-size: 18px;
}

.info-tooltip i
{
	font-size: 24px;
}

/* PAGINATION */

.pagination
{
	margin: 0;
	grid-gap: 4px;
}

.pagination li a
{
	font-family: 'Montserrat', sans-serif;
	text-decoration: none;
	font-size: 14px;
	width: 32px;
	height: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
	grid-gap: 8px;
	border-radius: 4px;
	border: 1px solid var(--color-lightgray-3);
	background-color: var(--color-white);
	color: var(--color-gray-3);
}

.pagination li a::before,
.pagination li a::after
{
	font-family: 'FontAwesome';
	font-size: 12px;
}

.pagination li a.fa-chevron-right::before
{
	display: none;
	content: "";
}

.pagination li a.fa-chevron-right::after
{
	content: "\f054";
}

.pagination li.active a
{
	background-color: var(--color-gray-3);
	color: var(--color-white);
}

.pagination li a:hover,
.pagination li.active a:hover
{
	background-color: var(--color-blue-1);
	color: var(--color-white) !important;
}

.pagination li.previous a,
.pagination li.next a
{
	width: auto;
	padding-left: 16px;
	padding-right: 16px;
}

/* STATUS */

.status
{
	display: flex;
	align-items: center;
	justify-content: center;
	grid-gap: 8px;
	font-weight: 500;
	font-size: 13px;
	color: var(--color-gray-1);
}

.status.selected
{
	font-weight: 600;
	color: var(--color-blue-1);
}

.status .indicator
{
	display: inline-block;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background-color: var(--color-gray-1);
}

.status-waiting .indicator
{
	background-color: var(--color-yellow);
}

.status-active .indicator
{
	background-color: var(--color-green);
}

.status-cancelled .indicator
{
	background-color: var(--color-rose-2);
}

/* Client type filter specific styles */
.status-person .indicator
{
	background-color: var(--color-blue-1);
}

.status-business .indicator
{
	background-color: var(--color-green);
}

/* Business table column styles */
.cell-business-name,
.cell-business-address,
.cell-business-vat,
.cell-business-reg {
	min-width: 120px;
}

.cell-business-name {
	max-width: 200px;
}

.cell-business-address {
	max-width: 250px;
}

.cell-business-vat,
.cell-business-reg {
	max-width: 150px;
}

/* Filter container styles */
.filter-client-type {
	display: flex;
	align-items: center;
	gap: 8px;
}

.filter-client-type .status {
	cursor: pointer;
	padding: 8px 16px;
	border-radius: 6px;
	transition: all 0.2s ease;
}

.filter-client-type .status:hover {
	background-color: var(--color-gray-3);
}

.filter-client-type .status.selected {
	background-color: var(--color-blue-1);
	color: white;
}

.filter-client-type .status.selected .indicator {
	background-color: white;
}

/* Project client info styling */
.client-info {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.client-info.business .client-name {
	font-weight: 500;
	color: var(--color-blue-1);
}

.client-info.person .client-name {
	font-weight: 500;
	color: #495057;
}

.client-type-badge {
	font-size: 10px;
	background: var(--color-blue-1);
	color: white;
	padding: 2px 6px;
	border-radius: 3px;
	text-transform: uppercase;
	font-weight: 600;
	letter-spacing: 0.5px;
	align-self: flex-start;
}

/* Business name cell styling */
.business-name-cell {
	max-width: 200px;
	text-align: left !important;
	word-break: break-word;
	white-space: pre-wrap;
	line-height: 1.4;
}

.cell-business-name {
	max-width: 200px;
	text-align: left;
}

.cell-business-reg {
	text-align: left;
}

/*
 * ----------------------------------------------------------
 *
 * ACTIONS
 *
 * ----------------------------------------------------------
 *
 * ACTION */

.actions
{
	display: flex;
	grid-gap: 8px;
}

.action a
{
	cursor: pointer;
}

/* ADD */

.action-add .button
{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 40px;
	height: 40px;
	padding: 0;
}

/* SWITCH */

.action-switch .switch.on
{
	background-color: var(--color-blue-1);
}

.action-switch .switch.off
{
	background-color: var(--color-gray-1);
}

/* SEARCH */

.action-search i
{
	margin-left: -28px;
	color: var(--color-gray-1);
}

.action-search input
{
	padding-right: 40px;
}

.page-content .action-search
{
	position: fixed;
	top: 12px;
	right: 148px;
}

.users .page-content .action-search
{
	right: 364px;
}

/* MORE */

.action-more
{
	position: relative;
}

.action-more .toggle
{
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	width: 36px;
	height: 36px;
	padding: 0 0 6px 0;
	letter-spacing: 2px;
}

.action-more .toggle:hover,
.action-more .toggle.active
{
	background-color: var(--color-gray-1);
	border-color: var(--color-gray-1);
	color: var(--color-white);	
}

/*
 * ----------------------------------------------------------
 *
 * FILTERS
 *
 * ----------------------------------------------------------
 *
 * FLEX */

.filter
{
	grid-gap: 8px;
}

/* STATUS */

.filter-status
{
	display: flex;
	align-items: center;
	flex-grow: 1;
	grid-gap: 16px;
	cursor: pointer;
}

/*
 * ----------------------------------------------------------
 *
 * MENUS
 *
 * ----------------------------------------------------------
 *
 * DROPDOWN */

.dropdown-more
{
	position: absolute;
	top: calc(100% + 12px);
	left: auto;
	right: 0px;
	z-index: 1000;
	display: block;
	min-width: 200px;
	background: var(--color-white);
	box-shadow: var(--box-shadow);
	border-radius: 4px;
	border: none;
	overflow: hidden;
}

.dropdown-more .item
{
	display: flex;
	align-items: center;
	padding: 8px 16px;
	border-radius: 0;
	border: none;
	font-size: 13px;
}

.dropdown-more .item:not(:last-child)
{
	border-bottom: 1px solid var(--color-lightgray-3);
}

.dropdown-more .item:hover
{
	background-color: var(--color-blue-1);
	border-color: var(--color-blue-1);
	color: var(--color-white);
}

/* TAGS */

.tags ul,
.tags li
{
	display: flex;
	margin: 0;
	padding: 0;
}

.tags ul
{
	flex-direction: column;
	grid-gap: 8px;
}

.tags li span
{
	padding: 8px 16px;
	border-radius: 4px;
	font-weight: 500;
	font-size: 13px;
}

.tags li.type span
{
	background-color: var(--color-rose-1);
}

.tags li.sector span
{
	background-color: var(--color-lightgray-4);
}

/*
 * ----------------------------------------------------------
 *
 * HEADER
 *
 * ----------------------------------------------------------
 *
 * HEIGHT */

 .navbar,
.header-menu
{
	height: 60px;
}

/* MENU */

.header-menu
{
	padding: 12px 24px;
	border-bottom: 1px solid var(--color-lightgray-3);
	background-color: var(--color-lightgray-3);
	color: var(--color-gray-3);
}

.header-menu h1
{
	display: flex;
	align-items: center;
	grid-gap: 16px;
	font-weight: 600;
	font-size: 18px;
}

.header-menu .status .indicator
{
	width: 12px;
	height: 12px;
}

/* ACTIONS */

.header-actions
{
	grid-gap: 8px;
}

.header-actions input,
.header-actions select,
.header-actions textarea
{
	border-color: var(--color-lightgray-4);
}

/*
 * ----------------------------------------------------------
 *
 * SIDEBAR
 *
 * ----------------------------------------------------------
 *
 * SIDE-MENU */

 .nav.side-menu i,
 .nav.side-menu a
{
	display: flex;
	align-items: center;
}

.nav.side-menu i
{
	justify-content: center;
	width: 16px;
	height: 16px;
	color: var(--color-rose-1);
}

.nav.side-menu a
{
	grid-gap: 8px;
}

.nav.side-menu a:hover
{
	color: var(--color-white);
}

.nav.side-menu a .svg-icon path
{
	fill: var(--color-rose-1);
}

.nav.side-menu a:hover .svg-icon path
{
	fill: var(--color-white);
}

/*
 * ----------------------------------------------------------
 *
 * MODAL
 *
 * ----------------------------------------------------------
 *
 * FLEX */

.modal-form,
.modal-form form,
.modal-content
{
	grid-gap: 8px;
}

.modal-form,
.modal-form form
{
	display: flex;
	flex-flow: row wrap;
	width: 100%;
}

.modal-form form::after
{
	display: none;
}

.modal-content
{
	max-width: 640px;
	padding: 32px;
	grid-gap: 32px;
	border-radius: 8px;
}

/* CLOSE */

.modalclose
{
	top: 4px;
	right: 16px;
	color: var(--color-lightgray-4);
}

.modalclose:hover
{
	color: var(--color-blue-1);
}

/* HEADER */

.modal-header
{
	justify-content: center;
	padding-top: 0;
	padding-left: 0;
	border-radius: 0;
	border-bottom: 1px solid var(--color-rose-1);
}

/* FORM */

.modal-form input,
.modal-form select,
.modal-form textarea
{
	padding: 12px;
	background-color: var(--color-lightgray-1);
	border-color: var(--color-lightgray-3);
}

/* ROWS */

.modal-form .row-actions
{
	justify-content: center;
	margin-top: 24px;
}

.modal-form .row-text
{
	text-align: center;
	font-size: 16px;
}

.modal-form .row-vat label,
.modal-form .row-vat input
{
	cursor: pointer;
}


.modal-form .row-vat label
{
	line-height: 26px;
}

.modal-form .row-vat label input
{
	margin-right: 8px;
}

.modal-form .row-label
{
	padding: 16px 0;
}

.modal-form .row-label:first-child
{
	padding-top: 0;
}

.modal-form .row-text:first-child p
{
	margin-top: 0;
}

.modal-form .row-label h3
{
	font-weight: 500;
	font-size: 15px;
	color: var(--color-gray-2);
}

.modal.finish .row-label,
.modal.invoice .row-label,
.modal.prepayment .row-label
{
	text-align: center;
}

.modal.finish .row-label,
.modal.prepayment .row-label
{
	justify-content: center;
	padding-bottom: 0;
}


/* PREPAYMENT */

.modal.prepayment .row-text p
{
	margin-top: 0;
}

.modal.prepayment .row-desc p
{
	margin-bottom: 0;
	text-align: center;
}

/* TOTAL */

.modal-form .row-total h3
{
	padding: 16px;
	text-align: center;
	border-radius: 4px;
	border: 1px solid var(--color-lightgray-3);
}

.modal-form .row-total h3 span
{
	display: block;
	margin-top: 4px;
	font-weight: 400;
	font-size: 13px;
}

/*
 * ----------------------------------------------------------
 *
 * PAGE
 *
 * ----------------------------------------------------------
 *
 * CONTAINER */

.table_v2 .page-container
{
	width: 100%;
	padding-top: 24px;
	padding-bottom: 24px;
	grid-gap: 24px;
}

.table_v2 .page-content
{
	grid-gap: 40px;
}

.table_v2 .page-content a:not(.button):hover
{
	text-decoration: underline;
}

/*
 * ----------------------------------------------------------
 *
 * TABLE
 *
 * ----------------------------------------------------------
 *
 * WRAP */

 .table_v2
{
	margin-left: 0;
	margin-right: 0;
}

 .table_v2 .page-header
{
	grid-gap: 16px;
}

.table_v2 .header-title
{
	flex-grow: 1;
}

.table_v2 .x_content
{
	padding: 0 24px;
	background-color: var(--color-lightgray-2);
}

.table_v2 .react-bootstrap-table
{
	overflow: auto;
	border-radius: 6px;
	border: 1px solid var(--color-lightgray-3);
}

/*
 * ----------------------------------------------------------
 *
 * SHEET TABLE
 *
 * ----------------------------------------------------------
 *
 * WRAP */

.table_v2 .sheet-table
{
	overflow: hidden;
	margin: 0;
}

/* ACTIONS */

.table_v2 .sheet-table .actions
{
	justify-content: flex-end;
}

.table_v2 .sheet-table .actions button
{
	opacity: 0;
}

.table_v2 .sheet-table .table-row:hover .actions button
{
	opacity: 1;
}

/* SORT */

.table_v2 .sheet-table .order
{
	display: inline-flex;
	flex-direction: column;
	transform: translateY(-30%);
	margin-left: 16px;
}

.table_v2 .sheet-table .sortable
{
	cursor: pointer;
}

/* CARET */

.table_v2 .sheet-table .caret
{
	display: inline-block;
	width: 8px;
	height: 8px;
	vertical-align: middle;
	border-left: 2px solid var(--color-lightgray-4);
	border-right: none;
	border-color: var(--color-lightgray-4);
	background: none;
}

.table_v2 .sheet-table .caret-up
{
	border-top: none;
	border-bottom-width: 2px;
	border-bottom-style: solid;
	transform: rotate(135deg);
	margin-bottom: -1px;
}

.table_v2 .sheet-table .caret-down
{
	border-top-width: 2px;
	border-top-style: solid;
	border-bottom: none;
	transform: rotate(-135deg);
	margin-top: -1px;
}

.table_v2 .sheet-table .caret.active
{
	border-color: var(--color-gray-1);
}

/* ROW */

.table_v2 .sheet-table .table-row
{
	background-color: var(--color-lightgray-1);
	border-color: var(--color-lightgray-3) !important;
	border-right: none;
	border-left: none;
	cursor: default;
}

.table_v2 .sheet-table .table-row:last-child
{
	border-bottom: none;
}

.table_v2 .sheet-table .table-row:hover
{
	background-color: var(--color-white);
}

/* CELL */

.table_v2 .sheet-table th,
.table_v2 .sheet-table td
{
	border: none;
	text-wrap: nowrap;
	vertical-align: middle;
	padding: 16px;
	font-size: 13px;
	color: var(--color-gray-2);
}

@media only screen and (min-width:1440px)
{
	.table_v2 .sheet-table th,
	.table_v2 .sheet-table td
	{
		font-size: 15px;
	}
}

.table_v2 .sheet-table th
{
	font-weight: 600;
	background-color: var(--color-white);
}

.table_v2 .sheet-table td div.inner
{
	cursor: pointer;
}

/* CELL NO DATA */

.table_v2 .sheet-table td.react-bs-table-no-data
{
	text-align: center;
	font-size: 18px;
	padding-top: 40px;
	padding-bottom: 40px;
	background-color: rgba(255, 255, 255, 0.6);
	color: var(--color-gray-1);
}

/* CELL WIDTH */

.table_v2 .sheet-table th:not(:first-child),
.table_v2 .sheet-table td:not(:first-child)
{
	width: 80px;
	text-align: right;
}

.table_v2 .sheet-table .cell-id,
.table_v2 .sheet-table .cell-client,
.table_v2 .sheet-table .cell-owner,
.table_v2 .sheet-table .cell-email,
.table_v2 .sheet-table .cell-phone,
.table_v2 .sheet-table .cell-company,
.table_v2 .sheet-table .cell-crm,
.table_v2 .sheet-table .cell-rate,
.table_v2 .sheet-table .cell-vat
{
	width: 80px !important;
	text-align: left !important;
}

.table_v2 .sheet-table .cell-project
{
	width: auto !important;
	text-align: left !important;
}


.table_v2 .sheet-table .cell-invoice,
.table_v2 .sheet-table .cell-deadline
{
	width: 80px;
}

/* CELL VARIOUS */

.table_v2 .sheet-table .cell-client
{
	text-wrap: nowrap;
}

.table_v2 .sheet-table .cell-status
{
	width: 16px;
	padding-left: 0;
	padding-right: 0;
	text-transform: capitalize;
}

.table_v2 .sheet-table .cell-status .indicator
{
	transform: translateX(150%);
}

/* CELL TH */

.table_v2 .sheet-table th.cell-deadline
{
	padding-left: 0;
}

/* CELL TD */

.table_v2 .sheet-table td.cell-project .inner
{
	text-wrap: wrap;
	color: var(--color-blue-1);
}

.table_v2 .sheet-table td.cell-project:hover .inner
{
	text-decoration: underline;
}

.table_v2 .sheet-table td.cell-project,
.table_v2 .sheet-table td.cell-name,
.table_v2 .sheet-table td.cell-actions a,
.table_v2.apps .sheet-table td:not(.cell-actions)
{
	cursor: pointer;
}

/*
 * ----------------------------------------------------------
 *
 * PROJECT-INFO
 *
 * ----------------------------------------------------------
 *
 * COLUMNS */

.project-info > div:first-child
{
	width: calc(66.67% - 12px);
}

.project-info > div:last-child
{
	width: calc(33.33% - 12px);
}

/* DESCRIPTION */

.project-info .description
{
	grid-gap: 24px;
	padding: 32px;
	border-radius: 8px;
	background-color: var(--color-white);
	box-shadow: var(--box-shadow);
}

.project-info .description h2
{
	padding-bottom: 16px;
	border-bottom: 1px solid var(--color-rose-1);
}

.project-info .description p
{
	margin: 16px 0;
	font-size: 16px;
}

.project-info .description .button:not(:first-of-type)
{
	margin-left: 16px;
}

.project-info .description .files
{
	padding-top: 16px;
}

/* Description labels - match client label styling */
.project-info .description label
{
	font-weight: 400;
	font-size: 13px;
	color: var(--color-gray-1);
	display: block;
	margin-bottom: 8px;
}

/* Date labels for received/sent dates */
.project-info .description .date-label
{
	font-size: 12px;
	color: #6366F1;
	margin: 0 0 4px 0;
}

/* Initial response section separator */
.project-info .description .initial-response
{
	padding-top: 24px;
	border-top: 1px solid var(--color-lightgray-3);
}

/* Response content - ensure consistent font size for HTML content */
.project-info .description .response-content,
.project-info .description .response-content p,
.project-info .description .response-content span,
.project-info .description .response-content div
{
	font-size: 14px !important;
	line-height: 1.6 !important;
	margin: 0;
}

.project-info .description .response-content p
{
	margin-bottom: 8px;
}

/* CLIENT */

.project-info .client
{
	display: flex;
	flex-direction: column;
	grid-gap: 16px;
}

.project-info .client label
{
	font-weight: 400;
	font-size: 13px;
	color: var(--color-gray-1);
}

.project-info .client p
{
	margin: 0;
	font-weight: 500;
	font-size: 16px;
}

.project-info .client .name p
{
	font-size: 18px;
	padding-bottom: 8px;
	border-bottom: 1px solid var(--color-lightgray-4);
}

/*
 * ----------------------------------------------------------
 *
 * PROJECT-DATA
 *
 * ----------------------------------------------------------
 *
 * WRAP */

.project-data
{
	grid-gap: 40px;
}

.project-data > div
{
	display: flex;
	flex-direction: column;
	grid-gap: 24px;
}

.project-data .list p,
.project-data .list label
{
	font-weight: 500;
	font-size: 15px;
}

.project-data .list label
{
	margin-bottom: 8px;
}

.project-data .title
{
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-bottom: 24px;
	border-bottom: 1px solid var(--color-lightgray-4);
}

.project-data .title .button
{
	display: flex;
	flex-direction: row;
	align-items: center;
	grid-gap: 8px;
	font-size: 16px;
}

.project-data .title .button:not(.button.inactive) .svg-icon
{
	display: none;
}

.project-data .title .svg-icon path
{
	fill: var(--color-gray-1);
}

/*
 * ----------------------------------------------------------
 *
 * LAWYERS DISPLAY
 *
 * ----------------------------------------------------------
 */

.lawyers-display
{
	display: flex;
	flex-direction: column;
	grid-gap: 8px;
}

.lawyers-display label
{
	font-weight: 500;
	font-size: 14px;
	color: var(--color-gray-1);
	margin-bottom: 4px;
}

.lawyers-list
{
	display: flex;
	flex-direction: column;
	grid-gap: 8px;
}

.lawyer-item
{
	display: flex;
	align-items: center;
	grid-gap: 8px;
	padding: 8px 12px;
	background-color: var(--color-lightgray-1);
	border: 1px solid var(--color-lightgray-3);
	border-radius: 6px;
}

.lawyer-name
{
	font-weight: 500;
	font-size: 14px;
	color: var(--color-gray-1);
}

.lawyer-email
{
	font-size: 13px;
	color: var(--color-lightgray-4);
}

.no-lawyers
{
	font-size: 13px;
	color: var(--color-lightgray-4);
	font-style: italic;
	padding: 8px 12px;
	background-color: var(--color-lightgray-1);
	border: 1px solid var(--color-lightgray-3);
	border-radius: 6px;
}

/* Readonly input styling */
.modal-form input.readonly
{
	background-color: var(--color-lightgray-2);
	color: var(--color-gray-1);
	cursor: not-allowed;
}

/* Form help text styling */
.modal-form .form-text
{
	font-size: 12px;
	margin-top: 4px;
	color: var(--color-lightgray-4);
	font-style: italic;
}

/* Error alert styling */
.modal-form .alert
{
	padding: 12px 16px;
	border-radius: 6px;
	margin-bottom: 16px;
	font-size: 14px;
}

/* Email validation styling */
.modal-form input.error
{
	border-color: var(--color-red);
	background-color: #fff5f5;
}

.email-error-message
{
	color: var(--color-red);
	font-size: 12px;
	margin-top: 4px;
	font-weight: 500;
}

.email-validating
{
	color: var(--color-gray-1);
	font-size: 12px;
	margin-top: 4px;
	font-style: italic;
}

/* Clickable name styling */
.clickable-name
{
	cursor: pointer;
	transition: color 0.2s ease;
}

.clickable-name:hover
{
	color: var(--color-blue);
	text-decoration: underline;
}

/* Client validation styling */
.modal-form input.error
{
	border-color: var(--color-red);
	background-color: #fff5f5;
}

.email-error-message
{
	color: var(--color-red);
	font-size: 12px;
	margin-top: 4px;
	font-weight: 500;
}

/* Modal subtitle styling */
.modal-header .modal-subtitle
{
	margin: 0;
	font-size: 14px;
	font-weight: normal;
	margin-top: 4px;
}



.modal-form .alert-danger
{
	background-color: #f8d7da;
	border: 1px solid #f5c6cb;
	color: #721c24;
}

/* Project modal specific styles */
.modal.project .modal-content
{
	max-width: 720px;
}

.modal.project .form-row.row-project_description textarea
{
	min-height: 120px;
	resize: vertical;
}

.modal.project .form-row.row-project_type input
{
	text-transform: uppercase;
	font-weight: 500;
	color: var(--color-blue-1);
}

/* Status indicator colors */
.status.status-waiting .indicator
{
	background-color: var(--color-yellow);
}

.status.status-active .indicator
{
	background-color: var(--color-green);
}

.status.status-done .indicator
{
	background-color: var(--color-blue-1);
}

.status.status-cancelled .indicator
{
	background-color: var(--color-red);
}

/* User table specific column styling */
.users .sheet-table .cell-company,
.users .sheet-table .cell-crm,
.users .sheet-table .cell-rate,
.users .sheet-table .cell-vat
{
	width: 100px !important;
	text-align: left !important;
}

.users .sheet-table .cell-rate,
.users .sheet-table .cell-vat
{
	text-align: center !important;
	font-weight: 500;
}

/* ============================================================
   INITIAL RESPONSE MODAL - Content area modal (preserves sidebar)
   Uses same width calculation as .main_content_area
   ============================================================ */

.modal.initial-response-modal {
	position: fixed !important;
	top: 60px !important;
	left: auto !important;
	right: 0 !important;
	bottom: 0 !important;
	width: calc(100% - 230px) !important;
	height: calc(100vh - 60px) !important;
	padding: 0 !important;
	margin: 0 !important;
	display: flex !important;
	align-items: stretch !important;
	justify-content: stretch !important;
	z-index: 9999 !important;
	background-color: rgba(255, 255, 255, 1) !important;
	overflow: hidden !important;
	transition: width 0.3s ease !important;
}

/* Handle collapsed sidebar - same as .main_content_area.large */
.modal.initial-response-modal.large {
	width: calc(100% - 110px) !important;
}

.modal.initial-response-modal .modal-content,
.modal.initial-response-modal .modal-content.initial-response-modal-content {
	position: relative !important;
	max-width: none !important;
	width: 100% !important;
	height: 100% !important;
	max-height: none !important;
	min-height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	overflow: hidden !important;
	display: flex !important;
	flex-direction: column !important;
	background-color: #fff !important;
	animation: none !important;
}

.modal.initial-response-modal .modal-header {
	flex-shrink: 0 !important;
	padding: 20px 60px !important;
	border-bottom: none !important;
	border-radius: 0 !important;
	background: #fff !important;
	position: relative !important;
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
}

.modal.initial-response-modal .modal-header h2 {
	text-align: center !important;
	font-size: 22px !important;
	font-weight: 600 !important;
	color: #1a1a2e !important;
	padding: 0 !important;
	margin: 0 !important;
	border: none !important;
}

.modal.initial-response-modal .modal-header .modalclose {
	position: absolute !important;
	right: 60px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	font-size: 28px !important;
	color: #9ca3af !important;
	float: none !important;
}

.modal.initial-response-modal .initial-response-modal-body {
	display: flex !important;
	flex: 1 !important;
	overflow: hidden !important;
	gap: 0 !important;
	padding: 0 60px 40px 60px !important;
	background: #fff !important;
}

.modal.initial-response-modal .initial-response-editor-section {
	flex: 1 !important;
	display: flex !important;
	flex-direction: column !important;
	overflow-y: auto !important;
	padding-right: 40px !important;
	min-width: 0 !important;
}

.modal.initial-response-modal .initial-response-sidebar {
	width: 440px !important;
	min-width: 440px !important;
	flex-shrink: 0 !important;
	background: transparent !important;
	padding: 0 0 0 40px !important;
	overflow-y: auto !important;
	border-left: 1px solid #ecedf4 !important;
}

.modal.initial-response-modal .response-subject {
	width: 100% !important;
}

.modal.initial-response-modal .response-subject input {
	width: 100% !important;
	padding: 12px 16px !important;
	border: 1px solid #e5e7eb !important;
	border-radius: 8px !important;
	font-size: 14px !important;
	background-color: #fff !important;
}

.modal.initial-response-modal .lawyer-call-card {
	background: transparent !important;
	padding: 0 !important;
	border: none !important;
	margin: 0 !important;
	box-shadow: none !important;
}

.modal.initial-response-modal .lawyer-call-card img {
	border-radius: 4px !important;
	width: 67px !important;
	height: 67px !important;
	object-fit: cover !important;
	aspect-ratio: 1 / 1 !important;
	flex-shrink: 0 !important;
	display: block !important;
}

.modal.initial-response-modal .response-bottom {
	display: flex !important;
	align-items: flex-end !important;
	justify-content: space-between !important;
	margin-top: 20px !important;
	gap: 20px !important;
}

.modal.initial-response-modal .response-actions {
	display: flex !important;
	gap: 16px !important;
	justify-content: flex-end !important;
	align-items: center !important;
}

.modal.initial-response-modal .initial-response-editor {
	min-height: 300px !important;
	flex: 1 !important;
	border: 1px solid #e5e7eb !important;
	border-radius: 8px !important;
	overflow: hidden !important;
	margin-top: 16px !important;
	background: #fff !important;
}

.modal.initial-response-modal .initial-response-editor .ck.ck-editor {
	width: 100% !important;
	display: flex !important;
	flex-direction: column-reverse !important;
	height: 100% !important;
	border: none !important;
}

.modal.initial-response-modal .initial-response-editor .ck.ck-editor__top {
	order: 2 !important;
}

.modal.initial-response-modal .initial-response-editor .ck.ck-editor__main {
	min-height: 250px !important;
	flex: 1 !important;
	order: 1 !important;
}

.modal.initial-response-modal .initial-response-editor .ck.ck-editor__main > .ck-editor__editable {
	min-height: 250px !important;
	background-color: #fff !important;
	border: none !important;
	box-shadow: none !important;
	padding: 16px 20px !important;
}

.modal.initial-response-modal .initial-response-editor .ck.ck-editor__editable:not(.ck-editor__nested-editable).ck-focused {
	border: none !important;
	box-shadow: none !important;
}

.modal.initial-response-modal .initial-response-editor .ck.ck-toolbar {
	border: none !important;
	border-top: 1px solid #e5e7eb !important;
	border-bottom: none !important;
	background-color: #fff !important;
	padding: 8px 12px !important;
}

.modal.initial-response-modal .initial-response-editor .ck.ck-toolbar .ck-toolbar__items {
	justify-content: flex-start !important;
}

.modal.initial-response-modal .sidebar-nav {
	display: flex !important;
	justify-content: center !important;
	gap: 8px !important;
	margin-bottom: 16px !important;
}

.modal.initial-response-modal .sidebar-nav button {
	width: 32px !important;
	height: 32px !important;
	border: 1px solid #e5e7eb !important;
	border-radius: 50% !important;
	background: #fff !important;
	cursor: pointer !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	color: #858ebd !important;
	font-size: 16px !important;
	padding: 0 !important;
}

/* Send confirmation modal - must be above initial response modal */
.modal.send-confirmation-modal {
	z-index: 10000 !important;
}