/*
Mach Office — high-visibility styles (designed for low-vision use).
Scopes:
  shell/sidebar     — slightly larger nav for the whole app
  .dash-lists       — dashboard stock-sheet + saved-route-sheet lists
  .ssx              — stock sheet module screens (large type, strong contrast, big targets)
Font: Atkinson Hyperlegible (Braille Institute typeface designed for low vision), self-hosted.
*/

@font-face
{
	font-family: 'Atkinson Hyperlegible';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('../fonts/atkinson-hyperlegible-400.woff2') format('woff2');
}
@font-face
{
	font-family: 'Atkinson Hyperlegible';
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url('../fonts/atkinson-hyperlegible-700.woff2') format('woff2');
}

body
{
	font-family: 'Atkinson Hyperlegible', Arial, Helvetica, sans-serif;
}

/* ---------- app shell ---------- */
.sidebar .nav > li > a
{
	font-size: 17px;
	padding: 15px 12px;
	color: #1a1a1a;
}
.sidebar .nav .nav-second-level > li > a
{
	font-size: 16px;
	padding: 12px 10px 12px 32px;
}
.sidebar .nav > li > a:focus,
.sidebar .nav .nav-second-level > li > a:focus
{
	outline: 3px solid #0b5ed7;
	outline-offset: -3px;
}

/* ---------- dashboard lists ---------- */
.dash-lists
{
	max-width: 900px;
	margin: 0 auto;
	font-size: 19px;
	color: #111111;
}
.dash-lists b
{
	font-size: 22px;
	color: #111111;
}
.dash-lists ul
{
	margin: 0 0 4px 0;
	padding-left: 26px;
}
.dash-lists li
{
	padding: 5px 0;
}
.dash-lists a
{
	font-size: 19px;
	color: #0a3f8f;
	text-decoration: underline;
	padding: 6px 4px;
	display: inline-block;
	border-radius: 4px;
}
.dash-lists a:hover
{
	background-color: #fff3bf;
	color: #06255c;
}
.dash-lists a:focus
{
	outline: 3px solid #0b5ed7;
	outline-offset: 1px;
}
.dash-lists .dash-action
{
	font-weight: 700;
}
.dash-lists .dash-action-danger
{
	color: #a30f1d !important;
}

/* ---------- stock sheet module ---------- */
.ssx
{
	font-size: 18px;
	color: #111111;
}
.ssx h1.page-header
{
	font-size: 32px;
	font-weight: 700;
	color: #111111;
	margin-bottom: 18px;
}
.ssx .label
{
	font-size: 15px;
	vertical-align: middle;
	padding: 6px 12px;
}
.ssx .label-warning
{
	background-color: #b35c00;
}
.ssx .label-success
{
	background-color: #1e7e34;
}
.ssx .panel
{
	border: 2px solid #9aa5b1;
	border-radius: 8px;
}
.ssx .panel-heading
{
	font-size: 20px;
	font-weight: 700;
	color: #111111;
	background-color: #dfe7f1;
	border-bottom: 2px solid #9aa5b1;
	padding: 12px 16px;
}
.ssx .panel-primary
{
	border-color: #14315c;
}
.ssx .panel-primary > .panel-heading
{
	background-color: #14315c;
	color: #ffffff;
	border-color: #14315c;
}
.ssx label
{
	font-size: 19px;
	font-weight: 700;
	color: #111111;
	margin-bottom: 6px;
}
.ssx .form-control
{
	font-size: 22px;
	height: 54px;
	padding: 10px 14px;
	color: #111111;
	background-color: #ffffff;
	border: 2px solid #4a4a4a;
	border-radius: 6px;
	box-shadow: none;
}
.ssx select.form-control
{
	height: 54px;
}
.ssx .form-control:focus
{
	border-color: #0b5ed7;
	outline: 4px solid #9ec5fe;
	outline-offset: 0;
	box-shadow: none;
}
.ssx .form-group
{
	margin-bottom: 18px;
}

/* buttons */
.ssx .btn-xl
{
	font-size: 20px;
	font-weight: 700;
	padding: 13px 24px;
	border-radius: 8px;
	border-width: 2px;
}
.ssx .btn-xl .fa
{
	margin-right: 8px;
}
.ssx .ssx-btncol
{
	padding-top: 33px;
}
.ssx .btn-primary
{
	background-color: #0b5ed7;
	border-color: #07316f;
	color: #ffffff;
}
.ssx .btn-primary:hover
{
	background-color: #07316f;
}
.ssx .btn-success
{
	background-color: #1e7e34;
	border-color: #10471d;
	color: #ffffff;
}
.ssx .btn-success:hover
{
	background-color: #10471d;
}
.ssx .btn-default
{
	background-color: #ffffff;
	border-color: #4a4a4a;
	color: #111111;
}
.ssx .btn-default:hover
{
	background-color: #e8e8e8;
}
.ssx .btn:focus
{
	outline: 4px solid #ffbf00;
	outline-offset: 2px;
}

/* product search results */
.ssx .ssx-results
{
	position: absolute;
	top: 100%;
	left: 15px;
	right: 15px;
	z-index: 2000;
	max-height: 420px;
	overflow-y: auto;
	background: #ffffff;
	border: 3px solid #14315c;
	border-radius: 0 0 8px 8px;
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.35);
}
.ssx .ssx-item
{
	font-size: 19px;
	color: #111111;
	padding: 14px 16px;
	cursor: pointer;
	border-bottom: 2px solid #d5dbe3;
}
.ssx .ssx-item:hover,
.ssx .ssx-item.active
{
	background-color: #14315c;
	color: #ffffff;
}
.ssx .ssx-item b
{
	font-size: 20px;
}
.ssx .ssx-noresult
{
	font-size: 18px;
	color: #555555;
	padding: 14px 16px;
}

/* selected product + live calculation readout */
.ssx .ssx-picked
{
	font-size: 19px;
	color: #111111;
	background-color: #eaf3ff;
	border: 2px solid #0b5ed7;
	border-radius: 8px;
	padding: 14px 16px;
	margin-bottom: 14px;
}
.ssx .ssx-picked-empty
{
	background-color: #f5f5f5;
	border-color: #8a8a8a;
	color: #333333;
}
.ssx .ssx-readout
{
	font-size: 21px;
	font-weight: 700;
	color: #111111;
	background-color: #fff8dd;
	border: 2px solid #8a6d00;
	border-radius: 8px;
	padding: 12px 16px;
	display: inline-block;
	margin-right: 12px;
	margin-bottom: 8px;
}

/* captured rows table */
.ssx .table-responsive
{
	border: 0;
}
.ssx table.ssx-rows
{
	margin-bottom: 0;
}
.ssx table.ssx-rows > thead > tr > th
{
	font-size: 17px;
	background-color: #14315c;
	color: #ffffff;
	border: 2px solid #14315c;
	padding: 12px 10px;
	white-space: nowrap;
	vertical-align: middle;
}
.ssx table.ssx-rows > tbody > tr > td
{
	font-size: 18px;
	color: #111111;
	border: 1px solid #7c8794;
	padding: 12px 10px;
	vertical-align: middle;
}
.ssx table.ssx-rows > tbody > tr:nth-child(odd) > td
{
	background-color: #eef2f7;
}
.ssx table.ssx-rows > tbody > tr:hover > td
{
	background-color: #fff3bf;
}
.ssx table.ssx-rows .ssx-totals td
{
	font-size: 19px;
	font-weight: 800;
	background-color: #dfe7f1 !important;
	border-top: 3px solid #14315c;
}
.ssx .ssx-del
{
	display: inline-block;
	font-size: 20px;
	font-weight: 700;
	color: #ffffff;
	background-color: #a30f1d;
	border: 2px solid #6d0a13;
	border-radius: 8px;
	padding: 8px 14px;
	line-height: 1;
	text-decoration: none;
}
.ssx .ssx-del:hover,
.ssx .ssx-del:focus
{
	background-color: #6d0a13;
	color: #ffffff;
	outline: 3px solid #ffbf00;
	text-decoration: none;
}

/* row edit button + editing state */
.ssx .ssx-edit
{
	display: inline-block;
	font-size: 17px;
	font-weight: 700;
	color: #ffffff;
	background-color: #0b5ed7;
	border: 2px solid #07316f;
	border-radius: 8px;
	padding: 8px 14px;
	line-height: 1;
	text-decoration: none;
	margin-right: 6px;
}
.ssx .ssx-edit:hover,
.ssx .ssx-edit:focus
{
	background-color: #07316f;
	color: #ffffff;
	outline: 3px solid #ffbf00;
	text-decoration: none;
}
.ssx table.ssx-rows > tbody > tr.ssx-editing > td
{
	background-color: #ffe9a8 !important;
	border-top: 2px solid #8a6d00;
	border-bottom: 2px solid #8a6d00;
}
.ssx .ssx-editmode-banner
{
	font-size: 20px;
	font-weight: 700;
	color: #5c4a00;
	background-color: #ffe9a8;
	border: 2px solid #8a6d00;
	border-radius: 8px;
	padding: 12px 16px;
	margin-bottom: 14px;
	display: none;
}

/* management screens */
.ssx .ssx-count
{
	font-size: 17px;
	color: #333333;
	padding: 6px 0;
}
.ssx .ssx-form-title
{
	font-size: 20px;
	font-weight: 700;
	margin-bottom: 10px;
}
