.aibooks-front {
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	padding-left: clamp(1rem, 2.5vw, 2rem);
	padding-right: clamp(1rem, 2.5vw, 2rem);
}

.aibooks-customer-home {
	display: grid;
	grid-template-columns: minmax(0, 3fr) minmax(0, 1fr);
	gap: 2.5rem;
	align-items: start;
	width: 100%;
}

.aibooks-customer-add .aibooks-fields {
	display: grid;
	grid-template-columns: 1fr 3fr;
	column-gap: 0.75rem;
	row-gap: 0.55rem;
	align-items: center;
}

.aibooks-customer-add .aibooks-fields label {
	margin: 0;
	text-align: right;
}

.aibooks-customer-add .aibooks-fields label[for="notes"] {
	align-self: start;
	padding-top: 0.4rem;
}

.aibooks-customer-add .aibooks-form input[type="text"],
.aibooks-customer-add .aibooks-form input[type="email"],
.aibooks-customer-add .aibooks-form input[type="tel"],
.aibooks-customer-add .aibooks-form input[type="date"],
.aibooks-customer-add .aibooks-form input[type="number"],
.aibooks-customer-add .aibooks-form select,
.aibooks-customer-add .aibooks-form textarea {
	width: 100%;
	max-width: none;
	margin: 0;
}

.aibooks-customer-add .aibooks-submit {
	display: grid;
	grid-template-columns: 1fr 3fr;
	column-gap: 0.75rem;
}

.aibooks-customer-add .aibooks-submit .aibooks-button,
.aibooks-customer-add .aibooks-submit .aibooks-actions {
	grid-column: 2;
	justify-self: start;
}

.aibooks-customer-add .aibooks-submit .aibooks-actions .aibooks-button {
	grid-column: auto;
	margin-right: 0.4em;
}

.aibooks-field-stack {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	min-width: 0;
}

.aibooks-field-stack .aibooks-help {
	margin: 0;
}

.aibooks-year-date {
	display: flex;
	gap: 0.5rem;
	min-width: 0;
}

.aibooks-customer-add .aibooks-form .aibooks-year-date select,
.aibooks-customer-add .aibooks-form .aibooks-year-date input {
	width: auto;
	max-width: none;
	min-width: 0;
	flex: 1 1 0;
}

@media (max-width: 700px) {
	.aibooks-customer-home {
		grid-template-columns: 1fr;
	}
}

.aibooks-front h2,
.aibooks-front h3 {
	margin-bottom: 0.4em;
}

.aibooks-welcome {
	padding: 1.25em 0 0.5em;
}

.aibooks-notice {
	padding: 0.6em 0.8em;
	background: #eef6ea;
	border: 1px solid #b7d7a8;
}

.aibooks-notice-error {
	background: #fdecec;
	border-color: #e7b4b4;
}

.aibooks-form label {
	display: block;
	font-weight: 600;
	margin-top: 0.8em;
}

.aibooks-form input[type="text"],
.aibooks-form input[type="email"],
.aibooks-form input[type="tel"],
.aibooks-form input[type="date"],
.aibooks-form select,
.aibooks-form textarea {
	width: 100%;
	max-width: 32em;
}

.aibooks-help {
	color: #646970;
	margin-top: 0.2em;
}

.aibooks-inactive {
	margin-top: 1rem;
	padding: 0.75rem 0.9rem;
	border: 1px solid #c3c4c7;
	border-radius: 0.5rem;
	background: #f6f7f7;
}

.aibooks-inactive label {
	display: flex;
	align-items: center;
	gap: 0.45em;
	margin: 0;
	font-weight: 600;
}

.aibooks-inactive input {
	margin: 0;
}

.aibooks-inactive .aibooks-help {
	margin: 0.35em 0 0;
}

.aibooks-table {
	width: 100%;
	border-collapse: collapse;
	margin: 1em 0;
}

.aibooks-table th,
.aibooks-table td {
	text-align: left;
	padding: 0.45em 0.5em;
	border-bottom: 1px solid #dcdcde;
	vertical-align: top;
}

.aibooks-table .num,
.aibooks-table td.num {
	text-align: right;
	font-variant-numeric: tabular-nums;
}

.aibooks-invoice-lines input,
.aibooks-invoice-lines select {
	width: 100%;
	max-width: none;
}

.aibooks-recurring-lines {
	margin-top: 1.75rem;
	overflow-x: auto;
}

.aibooks-front .aibooks-button,
.aibooks-front .aibooks-button-secondary,
.aibooks-front .aibooks-remove-line,
.aibooks-front a.aibooks-invoice-button {
	border-radius: 999px;
}

.aibooks-button {
	display: inline-block;
	margin-top: 0.8em;
	padding: 0.45em 0.9em;
	background: #1d6fbf;
	color: #fff;
	border: 0;
	text-decoration: none;
	cursor: pointer;
}

.aibooks-front a.aibooks-button,
.aibooks-front a.aibooks-button:hover,
.aibooks-front a.aibooks-button:focus {
	background: #1d6fbf;
	color: #fff;
}

.aibooks-button:hover,
.aibooks-button:focus,
.aibooks-front a.aibooks-button:hover,
.aibooks-front a.aibooks-button:focus {
	background: #155a9c;
	color: #fff;
}

.aibooks-button-secondary,
.aibooks-remove-line {
	background: #fff;
	color: #155a9c;
	border: 1px solid #1d6fbf;
	cursor: pointer;
}

.aibooks-button-secondary:hover,
.aibooks-button-secondary:focus,
.aibooks-remove-line:hover,
.aibooks-remove-line:focus {
	background: #e8f2fb;
	color: #155a9c;
}

.aibooks-front tr.aibooks-tax-inactive {
	color: #8c8f94;
}

.aibooks-front a {
	color: inherit;
}

.aibooks-invoice-cell {
	width: 1%;
	white-space: nowrap;
	text-align: right;
}

.aibooks-front a.aibooks-invoice-button,
.aibooks-front a.aibooks-invoice-button:hover,
.aibooks-front a.aibooks-invoice-button:focus {
	display: inline-block;
	padding: 0.12em 0.7em;
	border-radius: 999px;
	background: #1f7a3a;
	color: #fff;
	font-size: 0.78rem;
	font-weight: 600;
	line-height: 1.7;
	text-decoration: none;
}

.aibooks-front a.aibooks-invoice-button:hover,
.aibooks-front a.aibooks-invoice-button:focus {
	background: #176330;
}

.aibooks-front a.aibooks-company-edit,
.aibooks-front a.aibooks-company-edit:hover,
.aibooks-front a.aibooks-company-edit:focus {
	color: #1d6fbf;
	text-decoration: underline dotted;
	text-underline-offset: 0.15em;
}

.aibooks-front a.aibooks-company-edit:hover,
.aibooks-front a.aibooks-company-edit:focus {
	color: #155a9c;
	text-decoration: underline;
}

.aibooks-front a.aibooks-button-secondary,
.aibooks-front a.aibooks-button-secondary:hover,
.aibooks-front a.aibooks-button-secondary:focus {
	display: inline-block;
	margin-top: 0.8em;
	padding: 0.45em 0.9em;
	background: #fff;
	color: #155a9c;
	border: 1px solid #1d6fbf;
	border-radius: 999px;
	text-decoration: none;
}
