/* ===================================================================
   SEADS Refresh  —  visual polish layer
   Midnight-blue (SEADS) structure + Under1Tree playful accent palette.
   Loaded AFTER u1tdashboard.css so it wins. No markup logic changed.
   =================================================================== */

:root {
	/* SEADS midnight */
	--seads-midnight:      #0E2A47;
	--seads-midnight-deep: #0A2038;
	--seads-midnight-2:    #173C61;

	/* Under1Tree palette — cool-led accent (azure primary).
	   Warm tones (gold/coral) are reserved for STATUS only, not chrome. */
	--u1t-azure:      #1AA3E0;  /* primary accent fill */
	--u1t-azure-2:    #1488C7;  /* button base */
	--u1t-azure-deep: #0E6FA3;  /* button hover */
	--u1t-azure-ink:  #1077AE;  /* readable text/link azure on light */
	--u1t-purple:     #7A5BB0;
	--u1t-gold:       #F5B82E;  /* status: warning / category: grocery */
	--u1t-green:      #21A463;
	--u1t-green-ink:  #178257;  /* readable green text on light */
	--u1t-teal:       #15B6C7;
	--u1t-coral:      #EF5B4C;  /* status: danger / over-target */

	--seads-paper: #F2F5FA;
	--seads-ink:   #15263D;
	--seads-muted: #6B7A90;
	--seads-line:  #E7ECF3;

	/* Re-map Bootstrap theme colours -> these cascade through the whole
	   theme (buttons, text-bg-*, badges, charts that use var(--bs-*)). */
	--bs-primary:        #1AA3E0;  --bs-primary-rgb: 26,163,224;
	--bs-secondary:      #7A5BB0;  --bs-secondary-rgb: 122,91,176;
	--bs-success:        #21A463;  --bs-success-rgb: 33,164,99;
	--bs-danger:         #EF5B4C;  --bs-danger-rgb: 239,91,76;
	--bs-warning:        #F5B82E;  --bs-warning-rgb: 245,184,46;
	--bs-info:           #15B6C7;  --bs-info-rgb: 21,182,199;
	--bs-dark:           #0E2A47;  --bs-dark-rgb: 14,42,71;
	--bs-dark-green:     #0E2A47;  --bs-dark-green-rgb: 14,42,71;

	--bs-body-bg:        #F2F5FA;
	--bs-body-color:     #15263D;
	--bs-border-color:   #E7ECF3;
	--bs-link-color:     #1077AE;
	--bs-link-color-rgb: 16,119,174;
	--bs-link-hover-color: #0E2A47;
	--bs-border-radius:    .75rem;
	--bs-border-radius-lg: 1rem;
	--dt-row-selected: 26,163,224;
}

/* ---------- Base ---------- */
body {
	background:
		radial-gradient(1200px 600px at 100% -5%, rgba(26,163,224,.08), transparent 60%),
		radial-gradient(900px 500px at -10% 110%, rgba(122,91,176,.06), transparent 55%),
		var(--seads-paper);
	color: var(--seads-ink);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
h1,h2,h3,h4,h5,h6 { letter-spacing: -.01em; }
.text-uppercase, .uppercase { letter-spacing: .06em; }
a { text-decoration: none; }
a:hover { text-decoration: none; }

/* ---------- Sidebar (midnight gradient) ---------- */
.app-sidebar {
	background: linear-gradient(185deg, var(--seads-midnight) 0%, var(--seads-midnight-deep) 100%) !important;
	border-right: 0 !important;
	box-shadow: 0 0 40px rgba(10,32,56,.25);
}
.app-sidebar .sidebar-brand {
	padding: 1rem 1rem .9rem;
	border-bottom: 1px solid rgba(255,255,255,.08);
	margin-bottom: .35rem;
}
.app-sidebar .brand-link { display: flex; align-items: center; gap: .55rem; }
.app-sidebar .brand-image {
	max-height: 30px; width: auto; opacity: .96; margin: 0;
	filter: drop-shadow(0 2px 6px rgba(0,0,0,.35));
}
.app-sidebar .brand-text {
	font-weight: 600; letter-spacing: .14em; text-transform: uppercase;
	font-size: .72rem; color: rgba(255,255,255,.72);
}
.app-sidebar .sidebar-menu .nav-link {
	color: rgba(255,255,255,.74);
	border-radius: .7rem;
	margin: .12rem .55rem;
	padding: .6rem .8rem;
	font-weight: 500;
	transition: background .15s ease, color .15s ease, transform .15s ease;
}
.app-sidebar .sidebar-menu .nav-link .nav-icon { color: rgba(255,255,255,.55); transition: color .15s ease; }
.app-sidebar .sidebar-menu .nav-link:hover {
	background: rgba(255,255,255,.07);
	color: #fff;
}
.app-sidebar .sidebar-menu .nav-link:hover .nav-icon { color: var(--u1t-azure); }
.app-sidebar .sidebar-menu > .nav-item > .nav-link.active {
	background: linear-gradient(90deg, rgba(26,163,224,.95), rgba(21,182,199,.9));
	color: #fff;
	box-shadow: 0 6px 16px rgba(26,163,224,.38);
}
.app-sidebar .sidebar-menu > .nav-item > .nav-link.active .nav-icon { color: #fff; }
.app-sidebar .nav-treeview .nav-link { font-size: .86rem; padding-left: 1.4rem; }
.app-sidebar .nav-treeview .nav-link.active { background: rgba(255,255,255,.10); color:#fff; }

/* ---------- Header ---------- */
.app-header.navbar {
	background: rgba(255,255,255,.85) !important;
	backdrop-filter: saturate(160%) blur(10px);
	border-bottom: 1px solid var(--seads-line);
	box-shadow: 0 1px 0 rgba(16,38,61,.02);
}
.app-header .nav-link { color: #41526B; font-weight: 500; }
.app-header .nav-link:hover { color: var(--u1t-azure-ink); }
.app-header .navbar-badge {
	font-size: .62rem; padding: .25em .45em; border-radius: 1rem;
	box-shadow: 0 2px 6px rgba(26,163,224,.4);
}

/* ---------- Content header ---------- */
.app-content-header { padding-top: 1.4rem; padding-bottom: .25rem; }
.app-content-header h3 {
	font-weight: 700; color: var(--seads-midnight); font-size: 1.5rem;
	display: flex; align-items: center; gap: .55rem;
}
.app-content-header h3 .nav-icon { color: var(--u1t-azure); }
.app-content-header .breadcrumb {
	background: transparent; border: 0; box-shadow: none;
	padding: .4rem 0; margin-bottom: 0; font-size: .82rem;
}
.app-content-header .breadcrumb-item.active { color: var(--u1t-azure-ink); font-weight: 600; }

/* ---------- Hero welcome banner ---------- */
.seads-hero {
	position: relative; overflow: hidden;
	border-radius: 1.25rem; margin-bottom: 1.25rem;
	padding: 1.6rem 1.75rem;
	background:
		radial-gradient(120% 150% at 92% -25%, rgba(26,163,224,.6), transparent 55%),
		radial-gradient(110% 150% at 6% 130%, rgba(122,91,176,.5), transparent 55%),
		linear-gradient(120deg, var(--seads-midnight) 0%, var(--seads-midnight-2) 100%);
	color: #fff;
	box-shadow: 0 18px 40px rgba(14,42,71,.28);
}
.seads-hero h2 { font-weight: 700; font-size: 1.5rem; margin: 0 0 .25rem; letter-spacing:-.02em; }
.seads-hero p { margin: 0; color: rgba(255,255,255,.78); font-size: .95rem; }
.seads-hero .hero-logo {
	position: absolute; right: 1.4rem; top: 50%; transform: translateY(-50%);
	height: 64px; opacity: .14; pointer-events: none;
}
.seads-hero .hero-dot {
	position: absolute; border-radius: 50%; filter: blur(.5px);
}
.seads-hero .hero-dot.d1 { width: 14px; height: 14px; background: var(--u1t-azure);  top: 18px;  right: 38%; opacity:.9;}
.seads-hero .hero-dot.d2 { width: 10px; height: 10px; background: var(--u1t-teal);   bottom: 22px; right: 30%; opacity:.85;}
.seads-hero .hero-dot.d3 { width: 18px; height: 18px; background: var(--u1t-teal);   bottom: 30px; left: 42%; opacity:.5;}
.seads-hero .hero-chips { margin-top: 1rem; display: flex; flex-wrap: wrap; gap: .5rem; }
.seads-hero .hero-chip {
	display: inline-flex; align-items: center; gap: .4rem;
	background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.18);
	padding: .35rem .75rem; border-radius: 2rem; font-size: .8rem; font-weight: 500;
	backdrop-filter: blur(4px);
}
.seads-hero .hero-chip i { color: var(--u1t-azure); }

/* ---------- Cards ---------- */
.card {
	border: 1px solid var(--seads-line);
	border-radius: 1rem;
	box-shadow: 0 10px 30px rgba(16,38,61,.06);
	overflow: hidden;
	transition: transform .18s ease, box-shadow .18s ease;
}
.card:hover { box-shadow: 0 16px 40px rgba(16,38,61,.10); }
.card .card-header {
	background: #fff; border-bottom: 1px solid var(--seads-line);
	padding: 1rem 1.15rem; min-height: auto;
}
.card .card-title { font-weight: 700; color: var(--seads-midnight); font-size: 1.02rem; letter-spacing:-.01em; }
.card .card-body { padding: 1.15rem; }
.card .btn-tool { color: var(--seads-muted); }
.card .btn-tool:hover { color: var(--u1t-azure); }
.card .card-footer { background: #fff; border-top: 1px solid var(--seads-line); }
.card .card-footer .text-uppercase { color: var(--seads-muted); font-size: .68rem; font-weight: 600; }
.card .card-footer .border-end { border-color: var(--seads-line) !important; }

/* ---------- Info boxes ---------- */
.info-box {
	background: #fff;
	border: 1px solid var(--seads-line);
	border-radius: 1rem;
	box-shadow: 0 10px 30px rgba(16,38,61,.06);
	padding: .85rem;
	min-height: 92px;
	transition: transform .18s ease, box-shadow .18s ease;
}
.info-box:hover { transform: translateY(-3px); box-shadow: 0 18px 36px rgba(16,38,61,.12); }
.info-box .info-box-icon {
	border-radius: .9rem; width: 58px; font-size: 1.6rem;
	box-shadow: 0 8px 18px rgba(16,38,61,.18);
}
.info-box .info-box-text { color: var(--seads-muted); font-weight: 600; font-size: .82rem; }
.info-box .info-box-text small { font-weight: 500; opacity: .8; }
.info-box .info-box-number { color: var(--seads-midnight); font-weight: 800; font-size: 1.5rem; letter-spacing: -.02em; }
.info-box .info-box-number i { font-style: normal; }

/* Gradient icon tiles by colour role */
.info-box .info-box-icon.text-bg-primary   { background: linear-gradient(135deg,#1AA3E0,#15B6C7)!important; }
.info-box .info-box-icon.text-bg-secondary { background: linear-gradient(135deg,#8B6BC6,#6A49A6)!important; }
.info-box .info-box-icon.text-bg-success   { background: linear-gradient(135deg,#2BB873,#179257)!important; }
.info-box .info-box-icon.text-bg-danger    { background: linear-gradient(135deg,#FF7A5A,#EF5B4C)!important; }
.info-box .info-box-icon.text-bg-warning   { background: linear-gradient(135deg,#FFD24D,#F5B82E)!important; color:#0E2A47!important; }
.info-box .info-box-icon.text-bg-info      { background: linear-gradient(135deg,#1FC3D4,#0E9AAA)!important; }
.info-box .info-box-icon.text-bg-dark      { background: linear-gradient(135deg,#173C61,#0E2A47)!important; }

/* Solid coloured "style 2" info boxes -> gradients + white text */
.info-box.text-bg-primary   { background: linear-gradient(135deg,#1AA3E0,#1488C7)!important; color:#fff!important; }
.info-box.text-bg-secondary { background: linear-gradient(135deg,#8B6BC6,#6A49A6)!important; color:#fff!important; }
.info-box.text-bg-dark      { background: linear-gradient(135deg,#173C61,#0E2A47)!important; color:#fff!important; }
.info-box.text-bg-danger    { background: linear-gradient(135deg,#FF7A5A,#EF5B4C)!important; color:#fff!important; }
.info-box[class*="text-bg-"] .info-box-text,
.info-box[class*="text-bg-"] .info-box-number { color: #fff !important; }
.info-box[class*="text-bg-"] { border: 0; }
.info-box[class*="text-bg-"] .info-box-icon { background: rgba(255,255,255,.18)!important; box-shadow:none; }

/* ---------- Buttons ---------- */
.btn { border-radius: 2rem; font-weight: 600; }
.btn-primary {
	--bs-btn-bg:#1488C7; --bs-btn-border-color:#1488C7;
	--bs-btn-hover-bg:#0E6FA3; --bs-btn-hover-border-color:#0E6FA3;
	background: linear-gradient(135deg,#1FB0EE,#1488C7); border: 0; color:#fff;
	box-shadow: 0 8px 18px rgba(26,163,224,.35);
}
.btn-primary:hover { background: linear-gradient(135deg,#16A2E2,#0E6FA3); transform: translateY(-1px); color:#fff; }
.btn-secondary {
	--bs-btn-bg:#7A5BB0; --bs-btn-border-color:#7A5BB0;
	--bs-btn-hover-bg:#6A49A6; --bs-btn-hover-border-color:#6A49A6;
	background: linear-gradient(135deg,#8B6BC6,#6A49A6); border:0;
	box-shadow: 0 8px 18px rgba(122,91,176,.3);
}
.btn-outline-primary { border-color:#1488C7; color:#1077AE; }
.btn-outline-primary:hover { background:#1488C7; border-color:#1488C7; color:#fff; }
.btn-tool { box-shadow:none; }

/* ---------- Progress ---------- */
.progress-group { margin-bottom: 1rem; font-size: .85rem; color: var(--seads-ink); }
.progress {
	border-radius: 2rem; background: #EEF1F6; height: .55rem !important;
	box-shadow: inset 0 1px 2px rgba(16,38,61,.05);
}
.progress .progress-bar { border-radius: 2rem; background: linear-gradient(90deg,#1AA3E0,#15B6C7); }
.progress .progress-bar-secondary { background: linear-gradient(90deg,#8B6BC6,#6A49A6) !important; }

/* ---------- Tables ---------- */
.table { color: var(--seads-ink); }
.table > thead th {
	text-transform: uppercase; letter-spacing: .05em; font-size: .72rem;
	color: var(--seads-muted); font-weight: 700;
	border-bottom: 1px solid var(--seads-line); padding: .9rem 1.15rem;
}
.table > tbody > tr { transition: background .12s ease; }
.table > tbody > tr:hover { background: #F6F9FD; }
.table > tbody td { padding: .8rem 1.15rem; border-color: var(--seads-line); vertical-align: middle; }
.table a { color: var(--u1t-azure-ink); font-weight: 600; }

/* ---------- Badges ---------- */
.badge { border-radius: 2rem; font-weight: 600; padding: .4em .7em; letter-spacing: .01em; }

/* ---------- Nav pills (pie footer) ---------- */
.nav-pills .nav-link { color: var(--seads-ink); border-radius: .7rem; }
.nav-pills .nav-link:hover { background: #F2F5FA; color: var(--seads-midnight); }

/* ---------- List view items ---------- */
.card .d-flex.border-top { border-color: var(--seads-line) !important; }
.card .d-flex.border-top:hover { background: #F8FAFD; }
.img-size-50 { border-radius: .6rem; }

/* ---------- Dropdowns ---------- */
.dropdown-menu {
	border: 1px solid var(--seads-line); border-radius: .85rem;
	box-shadow: 0 16px 40px rgba(16,38,61,.14); padding: .35rem;
}
.dropdown-item { border-radius: .55rem; }
.dropdown-item:active { background: var(--u1t-azure); }

/* Readable coloured text-links on white (e.g. "More info") */
.text-primary { color: #1077AE !important; }
.text-warning { color: #B5860E !important; }

/* ---------- Footer ---------- */
.app-footer {
	background: #fff; border-top: 1px solid var(--seads-line);
	color: var(--seads-muted); font-weight: 500;
}
.app-footer strong { color: var(--seads-midnight); font-weight: 600; }

/* ---------- Scrollbar ---------- */
* { scrollbar-width: thin; scrollbar-color: #C7D2E0 transparent; }
*::-webkit-scrollbar { width: 9px; height: 9px; }
*::-webkit-scrollbar-thumb { background: #C7D2E0; border-radius: 8px; }
*::-webkit-scrollbar-thumb:hover { background: #A9B8CC; }
