@import url("https://fonts.googleapis.com/css2?family=Oswald:wght@200..700&family=Source+Sans+3:ital,wght@0,200..900;1,200..900&display=swap");

:root {
	/* ── Brand palette ──────────────────────────────────── */
	--gdl-color-brand: #AC8660;
	--gdl-color-brand-secondary1: #EBEDF1;
	--gdl-color-brand-secondary2: #A2AEC4;
	--gdl-color-brand-secondary3: #5C6B87;

	/* ── Accent colours ────────────────────────────────── */
	--gdl-color-accent-slate: #A2AEC4;
	--gdl-color-accent-mauve: #D1B5C6;
	--gdl-color-accent-peach: #F4BCB8;
	--gdl-color-accent-tan:   #AC8660;

	/* ── Neutrals ──────────────────────────────────────── */
	--gdl-color-body:                 #424242;
	--gdl-color-background:           #fcfcfc;
	--gdl-color-background-elevated:  #ffffff;
	--gdl-color-background-secondary: #EBEDF1;
	--gdl-color-background-tertiary:  #ffffff;
	--gdl-color-body-secondary:       #8a8a8a;
	--gdl-color-body-tertiary:        #c4c4c4;
	--gdl-color-gray:                 #7f7f7f;
	--gdl-color-highlight:            #D1B5C6;
	--gdl-color-heading1:             #333333;
	--gdl-color-heading2:             #a5a5a5;
	--gdl-color-white:                #ffffff;
	--gdl-color-black:                #000000;
	--gdl-color-true-white:           #ffffff;
	--gdl-color-true-black:           #000000;
	--bs-secondary-rgb: var(--gdl-color-body-secondary);
}

/* ── Base ───────────────────────────────────────────── */

body {
	background-color: var(--gdl-color-background-secondary);
	color: var(--gdl-color-body);
	font-family: "Source Sans 3", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-variant-numeric: slashed-zero;
}

h1, h2, h3, h4, h5 {
	font-family: "Oswald", sans-serif;
	font-weight: 600;
	font-style: normal;
}

h1 { letter-spacing: -0.05em; color: var(--gdl-color-heading1); }
h2 { letter-spacing: -0.03em; color: var(--gdl-color-heading1); }

/* ── Logo ───────────────────────────────────────────── */

.logo         { width: 157px; height: 64px; }
.logo-fill    { fill: var(--gdl-color-brand); }
.logo-aot     { width: 32px; height: 32px; }
.logo-aot-pri { fill: #282724; }
.logo-aot-sec { fill: #888784; }

/* ── Bootstrap overrides ────────────────────────────── */

.navbar {
	background-color: var(--gdl-color-background-elevated) !important;
	border-bottom: 2px solid #A2AEC4;
}

.btn-primary {
	--bs-btn-bg:                 #AC8660;
	--bs-btn-border-color:       #AC8660;
	--bs-btn-hover-bg:           #956e4a;
	--bs-btn-hover-border-color: #956e4a;
	--bs-btn-active-bg:          #7d5a3c;
	--bs-btn-active-border-color:#7d5a3c;
	--bs-btn-focus-shadow-rgb:   172, 134, 96;
}

.table-dark {
	--bs-table-bg:           #5C6B87;
	--bs-table-color:        #ffffff;
	--bs-table-border-color: #4e5e79;
}

/* ── Dashboard stat cards ───────────────────────────── */

.gdl-stat-card-slate {
	background-color: rgba(162,174,196,.18) !important;
	border-top: 3px solid #A2AEC4 !important;
	color: var(--gdl-color-body) !important;
}
.gdl-stat-card-mauve {
	background-color: rgba(209,181,198,.18) !important;
	border-top: 3px solid #D1B5C6 !important;
	color: var(--gdl-color-body) !important;
}
.gdl-stat-card-peach {
	background-color: rgba(244,188,184,.18) !important;
	border-top: 3px solid #F4BCB8 !important;
	color: var(--gdl-color-body) !important;
}
.gdl-stat-card-tan {
	background-color: rgba(172,134,96,.18) !important;
	border-top: 3px solid #AC8660 !important;
	color: var(--gdl-color-body) !important;
}

.gdl-stat-card-slate .card-header,
.gdl-stat-card-mauve .card-header,
.gdl-stat-card-peach .card-header,
.gdl-stat-card-tan   .card-header {
	background-color: transparent;
	border-bottom-color: rgba(0,0,0,.08);
	color: var(--gdl-color-body-secondary);
	font-size: .8rem;
}

/* ── List page layout ───────────────────────────────── */

/* Page header */
.gdl-page-header {
	padding: 2.5rem 1.5rem 1.5rem;
}
.gdl-page-header h1 {
	margin-bottom: .25rem;
}
.gdl-page-header .gdl-page-subtitle {
	font-size: .9rem;
	color: #9a9a9a;
	margin: 0;
}

/* Outer card wrapping the toolbar + table + pagination */
.gdl-list-card {
	background: #ffffff;
	border-radius: 14px;
	box-shadow: 0 1px 8px rgba(0,0,0,.07);
	overflow: hidden;
}

/* Toolbar — sits inside the card above the table */
.gdl-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .75rem;
	padding: 1rem 1.25rem;
	border-bottom: 1px solid #EBEDF1;
	background: #ffffff;
}
.gdl-toolbar .gdl-toolbar-group {
	display: flex;
	align-items: center;
	gap: .5rem;
}
.gdl-toolbar .form-control,
.gdl-toolbar .form-select {
	border-color: #D8DCE6;
	border-radius: 8px;
	font-size: .875rem;
	padding: .45rem .75rem;
	background-color: #F7F8FA;
	color: #424242;
	transition: border-color .15s, box-shadow .15s;
}
.gdl-toolbar .form-control:focus,
.gdl-toolbar .form-select:focus {
	border-color: #A2AEC4;
	box-shadow: 0 0 0 3px rgba(162,174,196,.2);
	background-color: #fff;
}
.gdl-toolbar .gdl-search-input { min-width: 220px; }
.gdl-toolbar .btn-gdl-search {
	background-color: #A2AEC4;
	border-color: #A2AEC4;
	color: #fff;
	border-radius: 8px;
	font-size: .875rem;
	padding: .45rem 1rem;
	white-space: nowrap;
	transition: background-color .15s;
}
.gdl-toolbar .btn-gdl-search:hover {
	background-color: #8898B4;
	border-color: #8898B4;
}
.gdl-toolbar label.gdl-filter-label {
	font-size: .8rem;
	font-weight: 600;
	color: #9a9a9a;
	text-transform: uppercase;
	letter-spacing: .06em;
	white-space: nowrap;
	margin: 0;
}

/* Table */
.gdl-table {
	width: 100%;
	border-collapse: collapse;
	font-size: .875rem;
}
.gdl-table thead tr {
	background-color: #F4F5F8;
	border-bottom: 2px solid #EBEDF1;
}
.gdl-table thead th {
	padding: .85rem 1rem;
	font-family: "Oswald", sans-serif;
	font-size: .75rem;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: #8898B4;
	white-space: nowrap;
}
.gdl-table tbody tr {
	border-bottom: 1px solid #F0F1F4;
	transition: background-color .1s;
}
.gdl-table tbody tr:last-child { border-bottom: none; }
.gdl-table tbody tr:hover { background-color: #F7F8FC; }
.gdl-table tbody td {
	padding: .85rem 1rem;
	vertical-align: middle;
}

/* ID / mono cells */
.gdl-cell-id {
	font-family: "SF Mono", "Fira Mono", monospace;
	font-size: .8rem;
	color: #9a9a9a;
	font-variant-numeric: tabular-nums;
}

/* Primary link — item name */
.gdl-cell-primary {
	font-weight: 600;
	color: #333;
	text-decoration: none;
}
.gdl-cell-primary:hover { color: #AC8660; }

/* Secondary text */
.gdl-cell-secondary {
	color: #7a7a7a;
	text-decoration: none;
	font-variant-numeric: tabular-nums;
}
.gdl-cell-secondary:hover { color: #555; }

/* Date cells */
.gdl-cell-date {
	font-family: "SF Mono", "Fira Mono", monospace;
	font-size: .8rem;
	color: #aaa;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

/* ── Palette badges ─────────────────────────────────── */

.gdl-badge {
	display: inline-block;
	padding: .25em .65em;
	border-radius: 6px;
	font-size: .75rem;
	font-weight: 600;
	letter-spacing: .03em;
	white-space: nowrap;
	text-decoration: none;
}
/* Colours */
.gdl-badge-slate  { background: rgba(162,174,196,.18); color: #5C6B87; }
.gdl-badge-mauve  { background: rgba(209,181,198,.22); color: #8B5E7A; }
.gdl-badge-peach  { background: rgba(244,188,184,.25); color: #A0544D; }
.gdl-badge-tan    { background: rgba(172,134, 96,.18); color: #7A5430; }
.gdl-badge-ash    { background: #EBEDF1;               color: #7a7a7a; border: 1px solid #D8DCE6; }
.gdl-badge-green  { background: rgba(120,180,120,.18); color: #2e7a2e; }
.gdl-badge-red    { background: rgba(220,100, 90,.14); color: #9b2a22; }

/* Status dot + label */
.gdl-status {
	display: inline-flex;
	align-items: center;
	gap: .4em;
	font-size: .82rem;
	font-weight: 500;
	text-decoration: none;
	color: inherit;
}
.gdl-status::before {
	content: '';
	display: inline-block;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	flex-shrink: 0;
}
.gdl-status-active::before   { background: #6bbf6b; }
.gdl-status-inactive::before { background: #c4c4c4; }
.gdl-status-open::before     { background: #F4BCB8; }
.gdl-status-progress::before { background: #A2AEC4; }
.gdl-status-resolved::before { background: #AC8660; }
.gdl-status-closed::before   { background: #c4c4c4; }

/* Order status dots */
.gdl-order-open::before       { background: #A2AEC4; }
.gdl-order-completed::before  { background: #AC8660; }
.gdl-order-cancelled::before  { background: #F4BCB8; }
.gdl-order-hold::before       { background: #D1B5C6; }
.gdl-order-pending::before    { background: #e0c97a; }

/* Category parent row indicator */
.gdl-cat-parent td:first-child {
	border-left: 3px solid #A2AEC4;
}
.gdl-cat-child td:nth-child(3) {
	padding-left: 1.5rem;
}

/* ── Pagination ─────────────────────────────────────── */

.gdl-pagination {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: .4rem;
	padding: .85rem 1.25rem;
	border-top: 1px solid #EBEDF1;
}
.gdl-pagination .page-link {
	border-radius: 7px;
	border: 1px solid #EBEDF1;
	color: #5C6B87;
	font-size: .8rem;
	padding: .35rem .75rem;
	background: #fff;
	transition: background-color .12s, border-color .12s;
}
.gdl-pagination .page-link:hover {
	background-color: #EBEDF1;
	border-color: #A2AEC4;
	color: #333;
}
.gdl-pagination .page-item.disabled .page-link {
	color: #c4c4c4;
	pointer-events: none;
}
