/* ============================================================
   theme.css
   Shared design tokens & base typography for the whole app.
   Loaded on every page (auth pages and the dashboard shell).
   Palette aligned with the Nexxarra public site (linen / moss / clay / sage).
   ============================================================ */

:root{
  --primary:#2D3B2E;--primary-dark:#1B2419;--primary-light:#E2E7DE;
  --accent:#C76B4A;--accent2:#E08562;--platform:#6d28d9;--platform-light:#f3eafe;
  --tenant:#7C9070;--tenant-light:#E7EEE2;
  --success:#7C9070;--warning:#f59e0b;--danger:#ef4444;--info:#3b82f6;
  --sidebar-w:264px;--header-h:42px;
  --bg:#F6F2EC;--card-bg:#ffffff;--text:#1F2420;--muted:#83786A;
  --border:rgba(31,36,32,0.12);--radius:14px;--shadow:0 16px 40px -16px rgba(31,36,32,0.18);
}

*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{font-family:'DM Sans',sans-serif;color:var(--text);font-size:15.5px;background:var(--bg);}
h1,h2,h3,h4,h5,h6,.brand-title,.page-title{font-family:'Fraunces',serif;font-weight:500;letter-spacing:-0.01em;}

.text-xs{font-size:12.5px;}
.section-gap{margin-bottom:24px;}

/* generic form look shared by auth + dashboard forms */
.form-label{font-size:13px;font-weight:600;margin-bottom:5px;color:var(--text);}
.form-control,.form-select{font-size:14.5px;border-color:var(--border);border-radius:9px;}
.form-control:focus,.form-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(199,107,74,.15);}

.btn-primary{background:var(--primary);border-color:var(--primary);}
.btn-primary:hover{background:var(--accent);border-color:var(--accent);}
.btn-outline-primary{color:var(--primary);border-color:var(--primary);}
.btn-outline-primary:hover{background:var(--primary);}


.alert-app {
	font-size: 12.5px;
	border-radius: 8px;
}

/* Small action buttons */
.btn-xs-custom {
	font-size: 11px;
	padding: 2px 8px;
}

.btn-xxs-custom {
	font-size: 10px;
	padding: 1px 6px;
}

.btn-xxs-alt {
	font-size: 10px;
	padding: 2px 7px;
}

.btn-action {
	font-size: 11px;
	padding: 2px 8px;
}

.btn-action-sm {
	font-size: 10px;
	padding: 2px 7px;
}

.btn-action-xs {
	font-size: 10px;
	padding: 1px 6px;
}

/* Badge utilities */
.badge-xs {
	font-size: 9px;
}

.badge-sm {
	font-size: 10px;
}

.badge-md {
	font-size: 11px;
}

/* Width utilities */
.w-16px {
	width: 16px;
}
.w-90px {
	width: 90px;
}
.w-100px { width: 100px; }
.w-110px { width: 110px; }
.w-120px { width: 120px; }
.w-130px { width: 130px; }
.w-140px { width: 140px; }
.w-150px { width: 150px; }
.w-160px { width: 160px; }
.w-180px { width: 180px; }
.w-200px { width: 200px; }
.w-220px { width: 220px; }
.w-260px { width: 260px; }
.w-36px{width:36px;}
.w-80px{width:80px;}
.w-100px{width:100px;}
.w-110px{width:110px;}
.w-120px{width:120px;}
.w-200px{width:200px;}
.w-280px{max-width:280px;}
.w-740px{max-width:740px;}

.max-w-200px { max-width: 200px; }
.max-w-260px { max-width: 260px; }

.mb-6 {
	margin-bottom: 6px;
}

.mb-30 {
	margin-bottom: 30px;
}

.mt-6 {
	margin-top: 6px;
}

.w-auto-fit { width: auto; }

/* Border utilities */
.border-theme {
	border: 1px solid var(--border);
}

.border-top-theme {
	border-top: 1px solid var(--border);
}

.border-bottom-theme {
	border-bottom: 1px solid var(--border);
}

.border-dashed-theme {
	border: 2px dashed var(--border);
}

.rounded-theme {
	border-radius: 8px;
}

.rounded-theme-lg {
	border-radius: 14px;
}

/* Object fit */
.object-cover {
	object-fit: cover;
}

/* Cursors */
.cursor-pointer {
	cursor: pointer;
}

.cursor-crosshair {
	cursor: crosshair;
}

/* White space */
.text-nowrap-force {
	white-space: nowrap;
}

/* Touch */
.touch-none {
	touch-action: none;
}

/* Fixed heights */
.h-140px {
	height: 140px;
}

.max-h-120px {
	max-height: 120px;
}

.max-h-160px {
	max-height: 160px;
}

/* Typography */
.text-9 {
	font-size: 9px;
}

.text-10 {
	font-size: 10px;
}

.text-11 {
	font-size: 11px;
}

.text-12 {
	font-size: 12px;
}

.text-125 {
	font-size: 12.5px;
}

.text-13 {
	font-size: 13px;
}

.text-135 {
	font-size: 13.5px;
}

.text-145 {
	font-size: 14.5px;
}

.text-16 {
	font-size: 16px;
}

.field-label {
	font-size: 12.5px;
	font-weight: 600;
}

.field-value {
	font-size: 13px;
}

.section-title {
	font-size: 16px;
	font-weight: 600;
}

.helper-text {
	font-size: 11px;
	color: var(--muted);
}

.caption {
	font-size: 9px;
}

.meta-text {
	font-size: 12px;
	color: var(--muted);
}

.pre-wrap-break {
	white-space: pre-wrap;
	word-break: break-word;
}

.text-truncate-220 {
	max-width: 220px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.cursor-pointer {
	cursor: pointer;
}

.avatar-38 {
	width: 38px;
	height: 38px;
}

.bg-theme {
	background: var(--bg);
}

.queue-search-dropdown {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	z-index: 10;
	background: var(--card-bg);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	box-shadow: var(--shadow);
	max-height: 320px;
	overflow: auto;
}