/* legacy.css - token-based replacement for stradaV6Core.css (2026-09-04).
   MASTER: strada resources/css; ribs and vision receive it through the pom css copy.

   Every colour here is var(--sv-*, <old literal>): the --sv-* tokens (svTheme.css, :root +
   the html[data-sv-dark] block) drive both themes, the fallback keeps pages that load no
   theme (the login shell) pixel-identical. Geometry (heights, widths, margins) is unchanged.
   No !important beyond the three Bootstrap overrides the old file already carried.

   Kept:    every class/id/tag rule with a live reference in strada, ribs or vision.
   Dropped: .Copyright and TABLE.FMList (no references in any app).
   Retire the class names themselves with the sv-table / criteria-flex conversions, group by
   group; edit_int/edit_decimal/edit_phone/required_* are JS hooks - keep the names. */

/* ---------- layout helpers ---------- */
.rounded-table-top {
	border-radius: 10px 10px 0 0;
	overflow: hidden;
	border: 1px solid var(--sv-line-strong, #ccc);
}

.ui-tabs .ui-tabs-panel { padding: 1em .5em; }

.stradaTabPanel, #tabs { width: 98%; margin-left: 1%; margin-right: 1%; }

.reg-symbol { vertical-align: super; }

.paginate_button { padding-right: 10px; }
.paginate_button.current { text-decoration: underline; }

/* ---------- flex report module (vision/strada report criteria) ---------- */
.flex-main {
	display: flex;
	flex-wrap: wrap;
	font-weight: bold;
	margin-left: 1%;
	margin-right: 1%;
	background-color: var(--sv-card, rgb(248, 255, 251));
	align-content: flex-start;
}
.flex-main > :not(.flex-header, .flex-footer, .flex-extend) {
	flex-basis: 33%;
	white-space: nowrap;
	align-items: center;
	padding: 10px 10px 10px 20px;
}
.flex-main > :not(.flex-header, .flex-footer, .flex-extend) > * { margin: 1px; }
.flex-extend {
	flex-basis: 100%;
	padding: 10px 10px 10px 20px;
	border-bottom: 1px solid var(--sv-line-strong, #999999);
}
.flex-header > * { margin: 1px; }
.flex-header { text-transform: uppercase; align-self: start; }
.flex-header, .flex-footer {
	flex-basis: 100%;
	padding: 6px;
	justify-content: center;
	background-color: var(--sv-accent-chip, #9accff);
	border-bottom: 1px solid var(--sv-line-strong, #999999);
}
.flex-footer { display: flex; justify-content: center; }

/* ---------- Bootstrap / jQuery UI restyles ---------- */
.modal-dialog { margin-top: 300px; }

.btn-primary {
	background-color: var(--sv-accent-strong, #212C46) !important;
	border: none;
}

.nav-link { color: white !important; }                 /* on the black navbar in both themes */
.dropdown-item:visited, .dropdown-item:hover, .nav-link:hover {
	text-decoration: none;
	color: var(--sv-ink-strong, black);
}
.btn-light, .btn-light:hover, .btn-warning { border: 1px solid var(--sv-line-strong, #A9A9A9); }
.btn-light:hover { background-color: var(--sv-fill-hover, #dce0dd); }

@media all and (min-width: 992px) {
	.dropdown-menu li { position: relative; }
	.nav-item .submenu { display: none; position: absolute; left: 100%; top: -7px; }
	.nav-item .submenu-left { right: 100%; left: auto; }
	.dropdown-menu > li:hover > .submenu { display: block; }
}
@media (max-width: 991px) {
	.dropdown-menu .dropdown-menu { margin-left: 0.7rem; margin-right: 0.7rem; margin-bottom: .5rem; }
}
.dropdown-menu { border-radius: 0px !important; }
.navbar-dark { background-color: black !important; }   /* brand: black bar, orange rule, both themes */

/* jQuery UI tabs: transparent so the page card shows through (was a pale blue underlay) */
.ui-tabs .ui-tabs-nav { background: transparent; }
.ui-tabs .ui-tabs-panel { background: transparent; }

/* ---------- icons ---------- */
.searchIcon { color: var(--sv-warn, orange); }
.trashIcon  { color: var(--sv-muted, grey); font-size: 1.25em; }

/* ---------- bare tags ---------- */
small { color: var(--sv-muted, #666666); }

body { margin: 0; background: var(--sv-page, #767373); }

button { border: 1px solid var(--sv-line-strong, #767676); border-radius: 3px; }

select:not([multiple]), input[type="file"] { height: 25px; }
input[readonly]    { background: var(--sv-fill, buttonface); height: 25px; }
textarea[readonly] { background: var(--sv-fill, buttonface); }

a       { color: var(--sv-accent, #003366);        background: none; text-decoration: none; }
a:hover { color: var(--sv-accent-strong, #990000); background: none; text-decoration: underline; }

a.bodyLinks, a.bodyLinks:active { text-decoration: underline; color: var(--sv-accent, #003366); background: none; }
a.bodyLinks:hover   { text-decoration: underline; color: var(--sv-accent-strong, #990000); background: none; }
a.bodyLinks:visited { text-decoration: underline; color: var(--sv-muted, #999999); background: none; }

h2 { color: var(--sv-ink-strong, #2c384a); }
h3 { color: var(--sv-ink-strong, #2c384a); margin-top: 0; margin-bottom: 0; }
h4 { color: var(--sv-ink-strong, #2c384a); }

/* stradaV6Core painted every bare <li> #990000; the theme wants body ink */
li {
	font-style: normal;
	line-height: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	color: var(--sv-ink, #990000);
	text-decoration: none;
}

/* ---------- thead default paint ---------- */
/* The band classes that used to sit here (tr/td .G .G2 .G3 .G4 .H .Z) were retired 2026-09-05:
   every page now uses sv-table-title / sv-table-head / th[scope] / <tfoot> (svTheme). The one
   remaining consumer, database-stored BPM form HTML, is styled by svTheme's .db-html shim. */
table thead tr {
	background-color: var(--sv-fill, #e8e8ea);
	text-decoration: none;
	color: var(--sv-ink, #333333);
	padding: 6px;
}

table.panelTable td {
	color: var(--sv-ink, #000000);
	text-decoration: none;
	padding-right: 6px;
	padding-left: 6px;
}

/* ---------- old top shell (menuTop.inc / topBar.inc / welcome) ---------- */
#top2 { height: 39px; background-color: #000000; border-bottom: 3px solid #F0A42C; }   /* brand black + orange */
#TopMenu1 { text-align: right; padding: 0 10px; }
#TopMenu1 a, #TopMenu1 a:visited, #TopMenu1 a:active, #TopMenu1 a:hover {
	text-align: right; padding: 2px; color: #F0A42C; text-decoration: none;
}
#topright { text-align: right; padding: 0 10px; }
#topright a, #topright a:visited, #topright a:active { text-decoration: none; }
#topright a:hover { color: #FFFFFF; }

#tab_customers { text-align: center; }

/* ---------- login / splash shell (headerWelcome.inc pages load this file directly) ---------- */
#splash-main { padding-top: 20px; padding-bottom: 20px; }
.splash-intro { padding-bottom: 30px; }
.splash-intro > a { text-decoration: underline; }
#login-placement { padding-top: 40px; padding-bottom: 40px; background-color: var(--sv-accent, #005999); }
.form-signin {
	max-width: 330px;
	margin: auto;
	margin-top: 100px;
	background-color: var(--sv-card, white);
	padding: 20px;
	border-radius: 10px;
}

/* ---------- input behaviour hooks (JS keys on these names - do not rename) ---------- */
.edit_int, .edit_decimal { text-align: right; }
.edit_phone { text-align: left; }
.required_warning { text-align: center; font-style: italic; color: var(--sv-err, red); }
.required_tag { font-weight: bold; color: var(--sv-err, red); }
