html {
overflow: -moz-scrollbars-vertical;
}

* html input { overflow: visible; }

small {
  font-size: 11px;
}

.no-display {
display:none;
}

.clickable {
cursor:pointer;
}

.movable {
cursor:move;
}

.floatleft { float:left; }
.floatright { float: right; }

.text-right { text-align: right; }

body {
background-color:#f9f9f9;
color:#333;
font-family:"Liberation Sans", Helvetica, Arial, sans-serif;
font-size:14px;
line-height:20px;
}

a:link {
color:#06C;
text-decoration:none;
}

a:visited {
color:#06C;
text-decoration:none;
}

a:hover {
color:#333;
text-decoration:underline;
}

a:active {
color:#333;
text-decoration:underline;
}

h1 {
font-size:30px;
line-height:30px;
}

h2 {
font-size:20px;
}

h3 {
font-size:14px;
font-weight:bold;
}

p {
margin-bottom:10px;
}

#brand {
background:#204a87 url(../images/bg_header.png) bottom left repeat-x;
border-top:1px solid #2A6ABD;
padding:20px 0;
}

#brand h1 {
background:url(../images/logo.png) top left no-repeat;
height:80px;
text-indent:-9999px;
width:313px;
}

#brand h1 a {
display:block;
width:100%;
height:100%;
}

.warning-header {
  background-color: #CE352C;
  padding: 15px;
  border-bottom: 1px dashed white;
}

.warning-header .maintenance-message {
  font-weight: bold;
  color: white;
  text-align: center;
  -webkit-font-smoothing: antialised;
  -webkit-tap-highlight-color: black;

}


#topnav {
background-color:#204a87;
border-bottom:1px solid #25436E;
color:#eeeeec;
font-size:12px;
padding:10px 0 9px;
text-align:right;
}

#topnav p {
margin-bottom:0;
}

#topnav a {
color:#FFF;
font-weight:bold;
}

#flash {
position:absolute;
width:100%;
}

#flash p {
border:1px solid #CCC;
border-top:none;
font-weight:bold;
padding:10px 20px 10px 40px;
}

#flash p.notice {
background:#FFEBCD url(../images/icons/notice.png) 20px 12px no-repeat;
color:#665A47;
}

#flash p.error {
background:#FFEBCD url(../images/icons/error.png) 20px 12px no-repeat;
color:#a40000;
}

#flash p.alert {
background:#FFEBCD url(../images/icons/error.png) 20px 12px no-repeat;
color:#a40000;
}

#main {
border-bottom:1px solid #CCC;
min-height:400px;
padding:42px 0;
}

#footer {
color:#666;
font-size:12px;
padding:10px 0;
}

#footer p.gen-y {
text-align:right;
}

#footer a {
color:#666;
font-weight:bold;
}

#footer a:hover {
color:#333;
text-decoration:none;
}

#footer p.gen-y a {
background:url(../images/icons/gen-y.png) 100% 45% no-repeat;
display:inline-block;
padding-right:18px;
}

label.required {
font-weight:bold;
}

input.text {
border:1px solid #CCC;
border-bottom-color:#999;
border-right-color:#999;
font-family:"Liberation Sans", Helvetica, Arial, sans-serif;
font-size:16px;
padding:4px;
width:400px;
}

input.text.small {
width: 80px;
}

input.text.tiny {
width: 40px;
}

.text.full-width {
  width: 890px;
}

input.classic-checkbox {
vertical-align: middle;
}

textarea {
border:1px solid #CCC;
border-bottom-color:#999;
border-right-color:#999;
font-family:"Liberation Sans", Helvetica, Arial, sans-serif;
font-size:16px;
padding:4px;
width:400px;
}

input.text_search {
background:#FFF url(../images/icons/search.png) 5px 5px no-repeat;
border:1px solid #BACADE;
font-family:"Liberation Sans", Helvetica, Arial, sans-serif;
font-size:20px;
padding:4px 4px 4px 34px;
width:852px;
}

input.text:focus {
background-color:#FFF5E6;
}

input.text_search:focus {
background-color:#FFF5E6;
}

textarea:focus {
background-color:#FFF5E6;
}

.inline-input input {
  vertical-align: middle;
}

input.submit {
cursor:pointer;
font-family:"Liberation Sans", Helvetica, Arial, sans-serif;
font-size:14px;
font-weight:bold;
padding:4px;
}

select {
font-family:"Liberation Sans", Helvetica, Arial, sans-serif;
font-size:14px;
padding:4px;
}

#errorExplanation {
background-color:#ffebcd;
border-bottom:1px solid #d3d7cf;
font-size:12px;
font-weight: bold;
}

#errorExplanation h2 {
background:url(../images/icons/error.png) 20px 12px no-repeat;
border-bottom:1px solid #ccc4bb;
color:#a40000;
font-size:14px;
margin-bottom:0;
padding:10px 40px;
}

#errorExplanation p {
display:none;
}

#errorExplanation ul {
padding:10px 20px;
}

p.fields img {
vertical-align:middle;
}

#nav {
background:#204a87 url(../images/bg_nav.png) bottom left repeat-x;
border-bottom:#b2b2b2;
font-size: 0.8em;
}

#nav p {
-moz-border-radius-topleft:5px;
-moz-border-radius-topright:5px;
-webkit-border-top-left-radius:5px;
-webkit-border-top-right-radius:5px;
background-color:#3465a4;
background-position:10px 4px;
background-repeat:no-repeat;
border:1px solid #0F366E;
border-bottom:none;
border-top-left-radius:5px;
border-top-right-radius:5px;
color:#C2DFFF;
font-weight:bold;
margin-bottom:0;
padding:10px 0;
text-align:center;
}

#nav ul {
display:flex;
flex-wrap:wrap;
gap:5px;
margin:0;
padding:0;
list-style:none;
width:100%;
}

#nav ul li {
display:flex;
position:relative;
}

#nav ul li a {
-moz-border-radius-topleft:5px;
-moz-border-radius-topright:5px;
-webkit-border-top-left-radius:5px;
-webkit-border-top-right-radius:5px;
background-color:#3465a4;
border:1px solid #0F366E;
border-bottom:none;
border-top-left-radius:5px;
border-top-right-radius:5px;
color:#C2DFFF;
display:flex;
align-items:center;
font-size:15px;
min-height:18px;
white-space:nowrap;
font-weight:bold;
padding:10px 15px 10px 42px;
position:relative;
transition:background-color 150ms ease, color 150ms ease, box-shadow 150ms ease, transform 150ms ease;
}

#nav ul li a:hover {
background-color:#4a78b8;
color:#FFF;
text-decoration:none;
text-shadow:0 1px 1px rgba(0,0,0,0.4);
box-shadow:0 -2px 6px rgba(0,0,0,0.18) inset, 0 1px 0 rgba(255,255,255,0.08);
transform:translateY(-1px);
}

#nav ul li.active a {
background-color:#f6f6f6;
color:#333;
}

#nav ul li.active a:hover {
background-color:#ffffff;
color:#222;
text-shadow:none;
transform:none;
}

#nav ul li a::before {
  content:'';
  position:absolute;
  left:10px;
  top:50%;
  width:24px;
  height:24px;
  margin-top:-12px;
  background-color:currentColor;
  transition:background-color 150ms ease;
  -webkit-mask-position:center;
  mask-position:center;
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-size:contain;
  mask-size:contain;
  -webkit-mask-mode:alpha;
  mask-mode:alpha;
}

#nav ul li a#dashboard {
  padding-left:18px;
  padding-right:18px;
}

#nav ul li a#dashboard::before {
  left:50%;
  margin-left:-12px;
}

#nav ul li a#login::before { -webkit-mask-image:url(../images/icons/login.svg); mask-image:url(../images/icons/login.svg); }
#nav ul li a#dashboard::before { -webkit-mask-image:url(../images/icons/home.svg); mask-image:url(../images/icons/home.svg); }
#nav ul li a#profile::before,
#nav ul li a#doctors::before { -webkit-mask-image:url(../images/icons/profile.svg); mask-image:url(../images/icons/profile.svg); }
#nav ul li a#patients::before { -webkit-mask-image:url(../images/icons/patients.svg); mask-image:url(../images/icons/patients.svg); }
#nav ul li a#orders::before { -webkit-mask-image:url(../images/icons/orders.svg); mask-image:url(../images/icons/orders.svg); }
#nav ul li a#results::before { -webkit-mask-image:url(../images/icons/results.svg); mask-image:url(../images/icons/results.svg); }
#nav ul li a#examinations::before { -webkit-mask-image:url(../images/icons/examinations.svg); mask-image:url(../images/icons/examinations.svg); }
#nav ul li a#examination_templates::before { -webkit-mask-image:url(../images/icons/examination_templates.svg); mask-image:url(../images/icons/examination_templates.svg); }
#nav ul li a#reminder_schemes::before { -webkit-mask-image:url(../images/icons/reminder_schemes.svg); mask-image:url(../images/icons/reminder_schemes.svg); }
#nav ul li a#reminders::before { -webkit-mask-image:url(../images/icons/reminders.svg); mask-image:url(../images/icons/reminders.svg); }
#nav ul li a#settings::before { -webkit-mask-image:url(../images/icons/settings.svg); mask-image:url(../images/icons/settings.svg); }
#nav ul li a#cards::before { -webkit-mask-image:url(../images/icons/card.svg); mask-image:url(../images/icons/card.svg); }
#nav ul li a#catalog::before { -webkit-mask-image:url(../images/icons/catalog.svg); mask-image:url(../images/icons/catalog.svg); }

table {
border-bottom:1px solid #CCC;
border-collapse:collapse;
}

thead th {
background: url(../images/bg_subheader.png) top left repeat-x;
color:#FFF;
}

thead a:link {
color:#F1C07E;
}

thead a:visited {
color:#F1C07E;
}

tbody tr {
border-bottom: 1px solid #CCC;
}

tbody tr:hover {
background-color:#E9EFF7;
}

th {
padding:7px 10px;
text-align:center;
font-size:0.85em;
white-space:nowrap;
}

td {
padding:7px 10px;
text-align:center;
}

th.left {
text-align:left;
}

td.left {
text-align:left;
}

td .edit,
td .delete,
td .files {
  font-size: 12px;
  padding: 2px 0 2px 25px;
  margin-left: 5px;
}

td .edit {
background:url(../images/icons/edit.png) left no-repeat;
}

td .delete {
background:url(../images/icons/delete.png) left no-repeat;
color: #900;
}

td .files {
  background:url(../images/icons/documents-stack.png) left no-repeat;
}

.pending, .incomplete, .complete, .imported, .received, .has_results, .completed {
  padding-left: 15px;
}
td.pending, td.imported {
  background:url(../images/pending.gif) top left repeat-y;
}

td.incomplete, td.has_results, td.received  {
  background: url(../images/incomplete.gif) top left repeat-y;
}

td.complete, td.completed {
  background:url(../images/complete.gif) top left repeat-y;
}

th.small,
td.small {
font-size:12px;
}

tr.group_header {
background:url(../images/bg_subheader_gray.png) top left repeat-x;
font-weight:bold;
}

tr.group_header td {
text-align:left;
}

tr.group_header:hover td {
background-color:none;
}

.wrapper {
position:relative;
width:960px;
}

.wrapper.liquid {
  display: inline-block;
}

.wrapper .padded form {
padding-bottom:20px;
}

.wrapper .padded form p {
margin-top:20px;
padding:0 20px;
}

.wrapper .half {
display:inline;
float:left;
padding:20px;
width:430px;
}

.wrapper .half dd.notes {
background-color:#FFEBCD;
border:1px solid #F7DCB5;
color:#665A47;
padding:5px;
}

.wrapper .half dd.notes p {
margin:0;
padding:0;
}

.wrapper .onethird {
display:inline;
float:left;
width:310px;
}

.wrapper .onethird dl {
padding:20px;
}

.wrapper .onethird dd.name {
font-size:16px;
font-weight:bold;
}

.wrapper .twothirds {
display:inline;
float:left;
width:630px;
}

.wrapper .twothirds ol {
margin-bottom:34px;
}

.wrapper .twothirds ol li {
border-bottom:1px solid #CCC;
padding:7px 20px;
}

.wrapper .twothirds table {
width:100%;
}

.wrapper_header {
/* Was a fixed 60px-tall background image (wrapper_header.png); taller headers
   fell through to the page background, leaving a strip above the content. Drawn
   in CSS so the gray fill grows with the header. The 8px side gutter + border
   align with the still-image-based .wrapper_full / .wrapper_footer slices. */
background:#eeeeec;
border:1px solid #d3d7cf;
border-bottom:0;
-moz-border-radius:5px 5px 0 0;
-webkit-border-radius:5px 5px 0 0;
border-radius:5px 5px 0 0;
margin:0 8px;
padding:25px 30px 15px;
position:relative;
}

.wrapper_header.liquid a {
  margin-right: -40px;
}

.wrapper_header_sl {
background:url(../images/wrapper_header.png) top left no-repeat;
margin-right: 30px;
padding:25px 0 15px 30px;
position:relative;
}

.wrapper_header h2 {
font-size:20px;
line-height:1.3;
text-shadow:0 1px 0 rgba(255,255,255,1.0);
display:inline;
}

.wrapper_header h2 .exam-label {
display:block;
}

.wrapper_header h2 .exam-name {
display:block;
color:#a40000;
}

.wrapper_header a.add {
-moz-border-radius:5px;
-webkit-border-radius:5px;
background:#eeeeec url(../images/icons/add.png) 7px 6px no-repeat;
border:1px solid #d3d7cf;
display:block;
font-weight:bold;
padding:4px 10px 4px 30px;
position:absolute;
right:30px;
top:20px;
}

.wrapper_header a.edit {
-moz-border-radius:5px;
-webkit-border-radius:5px;
background:#eeeeec url(../images/icons/edit.png) 7px 6px no-repeat;
border:1px solid #d3d7cf;
display:block;
font-weight:bold;
padding:4px 10px 4px 30px;
position:absolute;
right:30px;
top:20px;
}

.wrapper_header .print {
-moz-border-radius:5px;
-webkit-border-radius:5px;
background:#f5f5f5 url(../images/icons/print.png) 7px 6px no-repeat;
border:1px solid #d3d7cf;
display:block;
font-weight:bold;
padding:4px 10px 4px 30px;
position:absolute;
right:30px;
top:20px;
}

.wrapper_header input.print {
  cursor: pointer;
  color: #06c;
  font-size: 14px;
}

a.print {
-moz-border-radius:5px;
-webkit-border-radius:5px;
background:#eeeeec url(../images/icons/print.png) 7px 6px no-repeat;
border:1px solid #d3d7cf;
display:inline-block;
font-weight:bold;
padding:4px 10px 4px 30px;
}

a.remove {
-moz-border-radius:5px;
-webkit-border-radius:5px;
background:#eeeeec url(../images/icons/delete.png) 7px 6px no-repeat;
border:1px solid #d3d7cf;
display:inline-block;
font-weight:bold;
padding:4px 10px 4px 30px;
}

a.button {
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  background: #eeeeec;
  border: 1px solid #d3d7cf;
  display: inline-block;
  font-weight: bold;
  padding: 4px 10px;
}

a.mail-button {
  padding-left: 30px;
  background: #eeeeec url(../images/icons/mail.png) 7px 6px no-repeat;
}

.heading-button:hover {
  background-color: #fff;
  text-decoration: none;
}

.heading-button {
  position: absolute;
  right: 30px;
  top: 20px;
}

a.disabled {
  color: #ccc;
  background-image: url(../images/icons/slash.png);
  cursor: not-allowed;
  text-decoration: none;
  opacity: 0.3;
}

.wrapper_header a.add:hover {
background-color:#FFF;
}

.top-notices {
  background: #fffbc8;
}

.top-notices li {
  border-top: 1px solid #d3d7cf;
  padding: 5px 20px;
}

.wrapper_footer {
/* Was a bottom-anchored background image (wrapper_footer.png); drawn in CSS to
   match the CSS header/body. White fill, side + bottom borders, rounded bottom.
   The 8px side+bottom gutter aligns the borders with .wrapper_header /
   .wrapper_full and reproduces the image's inset. */
background:#fff;
border:1px solid #d3d7cf;
border-top:0;
-moz-border-radius:0 0 5px 5px;
-webkit-border-radius:0 0 5px 5px;
border-radius:0 0 5px 5px;
margin:0 8px 8px;
padding:0 10px 10px;
}

.wrapper_footer_sl {
background:url(../images/wrapper_footer.png) bottom left no-repeat;
margin-right: 10px;
padding:0 0 10px 10px;
}

.wrapper_footer p {
border-top:1px solid #d3d7cf;
}

.wrapper_full {
/* Was a repeat-y background slice (wrapper_full.png: white fill + grey side
   borders). Drawn in CSS to match the now-CSS .wrapper_header; the 8px side
   gutter + border keep it aligned with the header above and the wrapper_footer
   slice below. */
background:#fff;
border-left:1px solid #d3d7cf;
border-right:1px solid #d3d7cf;
box-shadow:1px 0 3px rgba(0,0,0,0.08), -1px 0 3px rgba(0,0,0,0.08);
margin:0 8px;
padding:0;
}

.wrapper_full_sl {
background:url(../images/wrapper_full.png) left top repeat-y;
margin-right: 10px;
padding:0  0 10px 10px;
}
.wrapper_thirds {
background:url(../images/wrapper_thirds.png) top left repeat-y;
padding:0 10px;
}

.wrapper_one_third {
background:url(../images/wrapper_one_third.png) top left repeat-y;
padding:0 10px;
}

.wrapper_halves {
/* Was a repeat-y slice (wrapper_half.png: white fill + side borders + a 1px
   centre divider). Drawn in CSS: side borders + a centred 1px vertical line via
   a gradient layer, with the 8px gutter to align with the other wrapper slices. */
background-color:#fff;
background-image:linear-gradient(#d3d7cf, #d3d7cf);
background-repeat:no-repeat;
background-position:50% 0;
background-size:1px 100%;
border-left:1px solid #d3d7cf;
border-right:1px solid #d3d7cf;
box-shadow:1px 0 3px rgba(0,0,0,0.08), -1px 0 3px rgba(0,0,0,0.08);
margin:0 8px;
padding:0 10px;
}

.liquid {
padding: 0;
width: auto;
}

.wrapper h3 {
background:#204a87 url(../images/bg_subheader.png) top left repeat-x;
border-bottom:1px solid #204a87;
border-top:1px solid #204a87;
color:#FFF;
padding:7px 20px;
}

.wrapper h3 .cols .results {
border-right: 1px solid #FFF;
margin-right: 8px;
padding-right: 12px;
}

.wrapper h3 span {
color:#d3d7cf;
font-size:12px;
font-style:italic;
font-weight:normal;
}

.wrapper h3 .heading-urine-suffix {
color:#FFF;
font-size:14px;
font-style:normal;
font-weight:bold;
}

.specimen-inputs .urine_volume {
margin-left:30px;
}

.specimen-inputs label {
margin-right:6px;
}

.specimen-inputs input.sampled_at_picker {
width:200px;
cursor:pointer;
background-color:#fff;
}

.ui-datepicker td a.ui-state-active,
.ui-datepicker td a.ui-state-active.ui-state-highlight {
background:#204a87;
border-color:#204a87;
color:#fff;
}

.ui-datepicker td a.ui-state-highlight {
border-color:#204a87;
font-weight:bold;
}

.ui-timepicker-div {
padding:6px 8px 8px;
}

.ui-timepicker-div select {
padding:2px 4px;
font-size:13px;
}

.wrapper p {
margin:0;
padding:10px 20px;
}

.wrapper table {
border-top:1px solid #204a87;
width:940px;
}

.wrapper .formfields li {
display:block;
padding:10px 0;
width:430px;
}

.wrapper .patient_search {
display:inline;
float:left;
padding:20px 0;
width:450px;
}

.wrapper .patient_new {
display:inline;
float:left;
padding:20px 0;
width:450px;
}

.wrapper .or {
display:inline;
float:left;
width:40px;
}

.wrapper .or p {
background-color:#FFF;
color:#d3d7cf;
font-size:64px;
font-weight:bold;
line-height:64px;
margin-top:110px;
padding:10px 0;
text-align:center;
}

.wrapper_header a.secondary {
-moz-border-radius:5px;
-webkit-border-radius:5px;
background:#f5f5f5;
border:1px solid #d3d7cf;
color:#555;
display:block;
padding:4px 12px;
position:absolute;
right:30px;
top:20px;
font-size:0.95em;
}

.wrapper_header a.secondary.with_primary {
right:240px;
}

.wrapper_header a.secondary:hover {
background:#e8e8e8;
color:#222;
}

.archive_notice {
background:#fffbe6;
border:1px solid #f0d97a;
color:#7a5a00;
padding:8px 12px;
margin:0 0 12px 0;
border-radius:3px;
}

.archived_badge {
background:#7a5a00;
color:#fff;
font-size:0.75em;
font-weight:bold;
letter-spacing:0.05em;
padding:3px 8px;
border-radius:3px;
position:absolute;
right:30px;
top:22px;
}

.empty_state {
color:#777;
font-style:italic;
padding:20px 0;
text-align:center;
}

.wrapper .search p {
-moz-border-radius:2px;
-webkit-border-radius:2px;
background-color:#E9EFF7;
border:1px solid #BACADE;
border-radius:2px;
padding:3px;
}

.wrapper dt {
clear:left;
color:#666;
display:block;
font-size:12px;
}

.wrapper dd {
margin-bottom:10px;
}

.wrapper .buttons .button-to {
background-color:#FFF;
display:inline;
float:left;
margin:10px 0 0 10px;
}

.patient_info {
margin:10px 20px;
}

.patient_info dl {
font-size:12px;
}

.patient_info dt {
color:#666;
display:block;
float:left;
font-weight:bold;
text-align:right;
width:80px;
}

.patient_info dd {
margin-left:90px;
}

.patient_info p {
font-size:12px;
padding:5px 10px;
}

.ac_results li i {
  float: right;
  font-style: normal;
  color: #666;
}

.exam_summaries {
padding:20px 0;
}

.exam_summaries li {
-moz-border-radius:2px;
-webkit-border-radius:2px;
background-color:#eeeeec;
border:1px solid #d3d7cf;
margin:0 20px 10px;
position:relative;
}

.exam_summaries li li {
  border: 0;
  margin: 0;
  padding-left: 30px;
  background: url(../images/tree-node.gif) 10px 10px no-repeat
}

.exam_summaries li li:last-child {
  background-image: url(../images/tree-node-last.gif);
}

.exam_summaries h4 {
font-size:16px;
padding:9px 10px;
}

.exam_summaries a {
background:url(../images/icons/delete_bw.png) top left no-repeat;
display:block;
height:16px;
overflow:hidden;
position:absolute;
right:-8px;
text-indent:-9999px;
top:-8px;
width:16px;
}

.exam_summaries a:hover {
background:url(../images/icons/delete.png) top left no-repeat;
}

.exam_summaries table {
font-size:12px;
margin-bottom:10px;
width:100%;
}

.exam_summaries table tr {
background-image:none;
border-top:1px solid #FFF;
}

.exam_summaries table tr th {
background:#F8F8F8;
border-bottom:1px solid #CCC;
color:#666;
}

.exam_summaries table tr.subheader th {
background:#FFF5E6;
border-right:1px solid #CCC;
padding:4px 10px;
}

.exam_summaries table td {
background:#FFF;
border-right:1px solid #CCC;
}

.has_points {
  position: absolute;
  width: 43px;
  height: 41px;
  background: url(../images/icons/5-points.gif) left center no-repeat;
  right: 80px;
  top: -17px;
}

.specimen {
background:url(../images/icons/flask.png) 0 13px no-repeat;
font-family:Georgia, Times, serif;
font-size:16px;
font-style:italic;
position:absolute;
right:10px;
top:0;
/*width:60px;*/
}

h2 .specimen {
font-weight:normal;
padding:10px 20px;
top:16px;
}

h2 .specimen span {
color:#666;
}

.exam_details .exam_summaries h4 {
border-bottom:1px solid #CCC;
font-size:12px;
padding:6px;
}

.exam_details span.toggle {
cursor:pointer;
display:block;
float:right;
height:16px;
margin-top:2px;
text-indent:-9999px;
width:16px;
}

.exam_details span.toggle.expand {
background:url(../images/icons/toggle_expand.png) no-repeat 0 0;
}

.exam_details span.toggle.collapse {
background:url(../images/icons/toggle_collapse.png) no-repeat 0 0;
}

.grouping {
font-size:12px;
}

.grouping_container {
display:inline;
float:right;
}

.grouping p {
display:inline;
float:left;
margin:0;
padding:9px 10px 5px;
}

.grouping ul {
display:inline;
float:left;
margin:0 15px 0 0;
padding:0;
}

.grouping ul li {
-moz-border-radius-topleft:5px;
-moz-border-radius-topright:5px;
-webkit-border-top-left-radius:5px;
-webkit-border-top-right-radius:5px;
background:url(../images/bg_subheader_gray.png) top left repeat-x;
border:1px solid #CCC;
border-bottom:none;
display:inline;
float:left;
margin-right:5px;
}

.grouping ul li a {
display:block;
font-weight:bold;
padding:8px 10px 6px 31px;
}

.grouping ul li a:hover {
color:#222;
text-decoration:none;
}

.grouping ul li.current {
background:url(../images/bg_subheader.png) top left repeat-x;
border-color:#204a87;
}

.grouping ul li.current a {
color:#FFF;
text-shadow:0 1px 1px rgba(0,0,0,0.5);
}

.grouping ul li a.group_date {
background:url(../images/icons/group_date.png) 10px 9px no-repeat;
}

.grouping ul li a.group_patient {
background:url(../images/icons/group_patient.png) 10px 9px no-repeat;
}

.grouping ul li a.group_status {
background:url(../images/icons/group_status.png) 10px 9px no-repeat;
}

.pagination {
display:block;
text-align:center;
padding:10px 20px;
}

.pagination a {
border:1px solid #CCC;
display:inline-block;
padding:0 5px;
text-align:center;
}

.pagination span {
border:1px solid #CCC;
display:inline-block;
padding:0 5px;
text-align:center;
}

.pagination li a:hover {
background-color:#e7f2ff;
border:1px solid #3465a4;
color:#3465a4;
text-decoration:none;
}

.pagination span.current {
background-color:#204a87;
border-color:#0F366E;
color:#FFF;
}

div#dashboard {
/* Was a repeat-y slice (wrapper_dashboard.png) baking in a fixed ~78px blue
   controls column + divider — it no longer lined up once the controls widened.
   Drawn in CSS so the blue column tracks the actual controls width (110px) with
   the divider sitting in the gap before the content container. */
background-color:#fff;
background-image:linear-gradient(to right,
  #e9eff7 0, #e9eff7 113px,
  #9b9fa4 113px, #9b9fa4 114px,
  #fff 114px);
}

#dashboard_controls {
display:inline;
float:left;
width:105px;
}

#dashboard_controls ul li.active {
background-color:#FFF;
}

#dashboard_controls ul li {
display: inline-block;
}

#dashboard_controls ul li a {
background-position:center 0;
background-repeat:no-repeat;
display:block;
font-size: 11px;
text-align: center;
width:105px;
}

#dashboard_controls ul li a:hover {
text-decoration: none;
}

#dashboard_controls ul li.active {
border-top:1px solid #d3d7cf;
}

#dashboard_controls ul li.active.dashboard_results {
border-top: 0;
border-bottom: 1px solid #d3d7cf;
}

#dashboard_controls ul li.active.dashboard_pending {
border-bottom: 1px solid #d3d7cf;
margin-bottom: -1px;
}

#dashboard_controls ul li.dashboard_results a {
background-image:url(../images/icons/dashboard_results.png);
}

#dashboard_controls ul li.dashboard_pending a {
background-image:url(../images/icons/dashboard_pending.png);
}

#dashboard_controls ul li.dashboard_patients a {
background-image:url(../images/icons/dashboard_patients.png);
}

#dashboard_controls ul li a span {
display: block;
line-height: 1.3;
padding: 68px 0 8px;
}

#dashboard_container {
display:inline;
float:right;
height:400px;
margin:0 12px 20px 20px;
overflow:hidden;
position:relative;
width:800px;
}

#dashboard_container .header {
height:80px;
}

#dashboard_container h4 {
color:#3465A4;
font-size:24px;
line-height:30px;
padding:25px 0;
}

#dashboard_container .morelink {
bottom:0;
position:absolute;
right:0;
}

#dashboard_container .morelink p {
margin:0;
padding:0;
}

#dashboard_container .morelink a {
-moz-border-radius:5px;
-webkit-border-radius:5px;
background:url(../images/bg_subheader.png) top left repeat-x;
border:1px solid #204a87;
border-radius:5px;
color:#BACADE;
display:block;
font-weight:bold;
padding:5px 0;
text-align:center;
width:220px;
}

#dashboard_container .morelink a:hover {
color:#FFF;
text-decoration:none;
text-shadow:0 1px 1px #204a87;
}

#dashboard_results {
background-color:#FFF;
height:400px;
left:0;
overflow:hidden;
position:absolute;
top:0;
width:800px;
}

#dashboard_pending {
background-color:#FFF;
display:none;
height:400px;
left:0;
overflow:hidden;
position:absolute;
top:0;
width:800px;
}

#dashboard_patients {
background-color:#FFF;
display:none;
height:400px;
left:0;
overflow:hidden;
position:absolute;
top:0;
width:800px;
}

#dashboard_results .info_message p span {
font-weight:bold;
}

#dashboard_results p.small {
border-top:1px solid #BACADE;
font-size:10px;
line-height:14px;
}

#dashboard_results p.small em {
font-style:normal;
font-weight:bold;
}

#dashboard_container table {
width:100%;
}

#dashboard_container p.no_result {
-moz-border-radius:5px;
-webkit-border-radius:5px;
background-color:#E9EFF7;
border:1px solid #BACADE;
border-radius:5px;
color:#3465A4;
font-size:16px;
padding:20px;
text-align:center;
}

.mini_wrapper {
margin:0 auto;
position:relative;
width:480px;
}

.mini_wrapper_header {
background:url(../images/mini_wrapper_header.png) top left no-repeat;
padding:25px 30px 15px;
position:relative;
}

.mini_wrapper_header h2 {
font-size:20px;
text-shadow:0 1px 0 rgba(255,255,255,1.0);
}

.mini_wrapper_header h2 span {
color:#a40000;
}

.mini_wrapper_footer {
background:url(../images/mini_wrapper_footer.png) bottom left no-repeat;
padding:0 10px 10px;
}

.mini_wrapper_footer p {
border-top:1px solid #d3d7cf;
}

.mini_wrapper_full {
background:url(../images/mini_wrapper_full.png) top left repeat-y;
padding:0 10px;
}

.mini_wrapper h3 {
background:#204a87 url(../images/bg_subheader.png) top left repeat-x;
border-bottom:1px solid #204a87;
border-top:1px solid #204a87;
color:#FFF;
padding:7px 20px;
}

.mini_wrapper h3 span {
color:#d3d7cf;
font-size:12px;
font-style:italic;
font-weight:normal;
}

.mini_wrapper p {
margin:0;
padding:10px 20px;
}

.align-left {
  text-align: left;
}

.align-right {
  text-align: right;
}

.align-center {
  text-align: center;
}

.order-examinations td:first-child {
  min-width: 250px;
  max-width: 260px;
}

.order-examinations .status {
  padding-left: 20px;
}

.order-examinations .level-2 .status {
  padding-left: 35px;
  background: url(../images/tree-node.gif) 10px 8px no-repeat;
}

.order-examinations .level-2.last .status {
  background-image: url(../images/tree-node-last.gif);
}

.order-examinations .heading  {
  background-color: #f6f6f6;
  padding-left: 35px;
  color: #888;
  height: 20px;
  font-style: italic;
  font-weight: bold;
}

.order-examinations .heading td {
  padding: 4px 10px;
}

.order-examinations .heading:hover {
  background-color: transparent !important;
}

.order-examinations .heading .status {
  background: none;
  font-size: 12px;
  padding-left: 35px;
}

.order-examinations .reference-range {
  font-size: 12px;
}

.order-examinations .abnormal .status {
  background
}

.order-examinations .hoverable {
  position: relative;
  z-index: 999;
}

.order-examinations .hoverable .hidden {
  position: absolute;
  right: 20px;
  top: 0;
  display: none;
  padding: 10px;
  background: -moz-linear-gradient(top, #eee, #ccc);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #eee), color-stop(1, #ccc));
  filter:  progid:DXImageTransform.Microsoft.gradient(startColorStr='#eeeeee', EndColorStr='#cccccc'); /* IE6,IE7 */
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#eeeeee', EndColorStr='#cccccc')"; /* IE8 */
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
  border-radius: 10px;
}

.order-examinations .hoverable:hover .hidden {
  display: block;
}

.order-examinations .group td {
  color: #a40000;
  font-weight: bold;
  text-shadow: 1px 1px 1px #fff;
  background: #eeeeec;
}

.order-examinations .full-text {
  text-align: justify;
  font-size: 12px;
}


#labels-grid {
  padding: 4px;
  width: 604px;
  }

#labels-grid li {
  border: 1px solid #efefef;
  float: left;
  font-size: 12px;
  height: 40px;
  line-height: 18px;
  margin-right: 3px;
  margin-bottom: 4px;
  width: 196px;
  }

#labels-grid li.pg-break {
  background-color:#FFB488;
  height:8px;
  width:599px;
  }

#labels-grid li.has-label {
  background: #f8f8f8;
  }

#labels-grid li .label-counter {
  color: #666;
  float: right;
  font-size: 11px;
  font-style: italic;
  }

#labels-grid .label-slot-container {
  padding: 2px 6px 6px 6px;
  }

.wrapper_full .notice {
background: #FFFBC8;
border:1px solid #F8F2DD;
color:#666666;
font-size:12px;
font-weight:bold;
padding:6px;
}

.patient-form .ter {
  background: #fff;
  border-top: 1px solid #ccc;
}

#logo {
  position: relative;
}

#points-container {
  background: url(../images/points-bg.png) left top no-repeat;
  position: absolute;
  width: 137px;
  height: 140px;
  right: -116px;
  top: -10px;
  color: #555;
  line-height: 1.3;
  font-size: 11px;
  text-align: center;
}

#points-container div {
  padding-top: 30px;
}

#points-container span {
  display: block;
  font-weight: bold;
  color: #c70000;
  font-size: 20px;
}

#points-container a {
  padding-top: 14px;
  display: block;
  font-size: 10px;
  font-weight: bold;
  color: #274c85;
}

span.warning {
  color: #a40000;
  font-weight: bold;
}

#return-to-home {
  float: left;
}

#signed-in-options {
  float: right;
  display: inline;
}

#signed-in-options li {
  float: left;
  display: inline;
  margin-left: 7px;
  padding: 2px 0 2px 7px;
  border-left: 1px solid #3465A4;
}

#signed-in-options li strong {
  color: #FFF;
}

#signed-in-options li.auth {
  margin-left: 14px;
  padding: 0;
  line-height: 1%;
  border: none;
}

.hidden {
  display: none;
}

.top-notices li {
 background: url('/images/icons/info.png') 8px center no-repeat;
 padding-left: 48px;
}

.top-notices li.pricelist {
 background: url('/images/icons/pricelist.png') 8px center no-repeat;
 padding: 14px 20px;
 padding-left: 48px;
}

.top-notices li.info {
 background: url('/images/icons/info.png') 8px center no-repeat;
 padding-left: 48px;
}

.top-notices li.discount {
 background: url('/images/icons/pricelist.png') 8px center no-repeat;
 padding: 14px 20px;
 padding-left: 48px;
}



.top-notices ul#quality_control {
  margin-left: 1em;
  margin-top: 0.5em;
  margin-bottom: 0.5em;
  padding: 0;
  border: 0;
}

.top-notices ul#quality_control li{
  list-style-type: circle;
  padding: 0;
  border: 0;
  background: none;
}

.card_batches_toggle{
  padding: 20px;
}

#card_stats{
  padding-top: 10px;
  padding-bottom: 10px;
  padding-left: 20px;
}

.results-banner { width: 98%; }

#card_doctors_stat thead tr, #cb_examinations thead tr,#examination_list thead th, .cu_exams thead th, .exam_results thead th{
  background: url(../images/bg_subheader.png) top left repeat-x #224C89;
}

.graph_area{

  padding: 20px;
  text-align: center;

}

table .cu_exams {
  width: 90%;
  border: 0px;
}

table .cu_exams tr {
  border: 0px;
}

table.cu_exams input[type=text] {
  width: 45px;
}

span.multi_link {
  display:inline-block;
  float: right;
  position:absolute;
  right:30px;
  top:20px;
}

span.multi_link a {
  -moz-border-radius:5px;
  -webkit-border-radius:5px;
  background:#eeeeec url(../images/icons/add.png) 7px 6px no-repeat;
  border:1px solid #d3d7cf;
  display:inline;
  font-weight:bold;
  padding:4px 10px 4px 30px;
  margin-left: 3px;
  float: right;
}

span.multi_link_print {
  display:inline-block;
  float: right;
  margin: -3px 0;
}

/* Inside a panel header the float gets pushed below the (inline) h2 and
   overflows into the nav; pin it to the header's top-right instead. The
   header is position:relative, so this stays scoped to it. */
.wrapper_header span.multi_link_print {
  position:absolute;
  top:18px;
  right:30px;
  float:none;
  margin:0;
}

span.multi_link_print a {
  -moz-border-radius:5px;
  -webkit-border-radius:5px;
  background:#f6f6f6 url(../images/icons/print.png) 7px 6px no-repeat;
  border:1px solid #d3d7cf;
  display:inline;
  font-weight:bold;
  padding:4px 10px 4px 30px;
  margin-left: 3px;
  float: right;
  box-shadow: 1px 1px 1px rgba(0,0,0, 0.1);
}

span.multi_link_print a:hover {
  background-color: #fcfcfc;
}

#nav div.float_menu{
  -moz-border-radius-bottomleft:5px;
  -moz-border-radius-bottomright:5px;
  -webkit-border-bottom-left-radius:5px;
  -webkit-border-bottom-right-radius:5px;
  border-bottom-left-radius:5px;
  border-bottom-right-radius:5px;
  border: 2px solid #3465a4;
  background-color: #204A87;
  position: absolute;
  top: 100%;
  left: 0;
  display: none;
  z-index: 1000;
  min-width: 100px;
}

#nav div.float_menu ul {
		list-style: none;
		margin: 0;
		padding: 0;
		border: none;
}


#nav div.float_menu ul li {
  display:block;
  float:left;
  margin-left:5px;
  clear: both;

}

#nav div.float_menu ul li a {
-moz-border-radius-topleft:0px;
-moz-border-radius-topright:0px;
-webkit-border-top-left-radius:0px;
-webkit-border-top-right-radius:0px;
border-top-left-radius:0px;
border-top-right-radius:0px;
background-color: #204A87;
background-position:10px 4px;
background-repeat:no-repeat;
border:0px solid #0F366E;
border-bottom:none;
color:#C2DFFF;
display:inline-block;
font-weight:bold;
padding:10px 15px 10px 0px;
}

#nav div.float_menu ul li a:hover {
color:#FFF;
text-decoration:none;
text-shadow:0 1px 1px rgba(0,0,0,0.5);
}

#nav div.float_menu ul li.active a {
background-color:#204A87;
color:#C2DFFF;
}

#nav div.float_menu ul li.active a:hover {
text-shadow:0 1px 0 #FFF;
}

.cb_packet_header{
  background-color:#E9EFFF;
}

#new_discount {
  width: 45px;
}

.cu_exam_form td{
  white-space:nowrap;
}


.cu_exam_form input#cu_examination_result{
  width: 95px;
}

.cu_exam_form input#cu_examination_unit{
  width: 65px;
}

.default_values table tbody table {
  border:1px solid #CCC;
}

.default_values table tbody table tr{
  border:1px solid #CCC;
}

.default_values table tbody table td{
  border:1px solid #CCC;
}

.default_values table tbody ul li {
  margin-left: 2em;
  width: 10em;
  padding: 5px;
  list-style-type: disc;
  background: none;
}

.default_values table tbody ul li:last-child{
    background: none;
}

.default_values table tbody table {
  border:1px solid #CCC;
}

.default_values table tbody table tr{
  border:1px solid #CCC;
}

.default_values table tbody table td{
  border:1px solid #CCC;
}

.default_values table tbody ul li {
  margin-left: 2em;
  width: 10em;
  padding: 5px;
  list-style-type: disc;
  background: none;
}

.default_values table tbody ul li:last-child{
    background: none;
}

.cb_exam_details {
padding:20px 0;
}

.cb_exam_details li {
-moz-border-radius:2px;
-webkit-border-radius:2px;
background-color:#eeeeec;
border:1px solid #d3d7cf;
margin:0 20px 10px;
position:relative;
}

.cb_exam_details li li {
  border: 0;
  margin: 0;
  padding-left: 30px;
  background: url(../images/tree-node.gif) 10px 10px no-repeat
}

.cb_exam_details li li:last-child {
  background-image: url(../images/tree-node-last.gif);
}

.cb_exam_details h4 {
font-size:16px;
padding:9px 10px;
}

.cb_exam_details table {
font-size:12px;
margin-bottom:10px;
width:100%;
}

.cb_exam_details table tr {
background-image:none;
border-top:1px solid #FFF;
}

.cb_exam_details table tr th {
background:#F8F8F8;
border-bottom:1px solid #CCC;
color:#666;
}

.cb_exam_details table tr.subheader th {
background:#FFF5E6;
border-right:1px solid #CCC;
padding:4px 10px;
}

.cb_exam_details table td {
background:#FFF;
border-right:1px solid #CCC;
}

.dash_message_info {
 background: url('/images/icons/info.png') 8px center no-repeat;
 padding: 20px;
}

.dash_message_discount {
 background: url('/images/icons/pricelist.png') 8px center no-repeat;
 padding: 20px;
}

.dash_message_up {
 background: url('/images/icons/arrow_up.png') 8px center no-repeat;
 padding: 8px;
 padding-left: 16px;
}

.dash_message_down {
 background: url('/images/icons/arrow_down.png') 8px center no-repeat;
 padding: 8px;
 padding-left: 16px;
}

.dash_messages tbody tr.msg_active{
  background-color:#FFFBC8;
}

.dash_messages tbody tr.msg_active:hover {
  background-color:#E9EFF7;
}

.setting_wrapper {
  padding: 20px;
}

.setting_wrapper label {
  display: block; width: 15em; float: left;
}

.setting_wrapper span {
  display: block; width: 20em; float: left;
}

.nowrap {
  white-space:nowrap;
}

.results-loading {
  display: none;
  float: right;
}

a.print-results.disabled {
  color: #555;
  opacity: 0.6;
  pointer-events: none;
}

.spinner {
  width: 70px;
  text-align: center;
}

.spinner > div {
  width: 8px;
  height: 8px;
  background-color: #204a87;

  border-radius: 100%;
  display: inline-block;
  -webkit-animation: sk-bouncedelay 1.4s infinite ease-in-out both;
  animation: sk-bouncedelay 1.4s infinite ease-in-out both;
}

.spinner .bounce1 {
  -webkit-animation-delay: -0.32s;
  animation-delay: -0.32s;
}

.spinner .bounce2 {
  -webkit-animation-delay: -0.16s;
  animation-delay: -0.16s;
}

@-webkit-keyframes sk-bouncedelay {
  0%, 80%, 100% { -webkit-transform: scale(0) }
  40% { -webkit-transform: scale(1.0) }
}

@keyframes sk-bouncedelay {
  0%, 80%, 100% {
    -webkit-transform: scale(0);
    transform: scale(0);
  } 40% {
    -webkit-transform: scale(1.0);
    transform: scale(1.0);
  }
}

.sample-arrival {
  display: block;
  font-size: 10px;
  color: #999;
  margin-bottom: -5px;
}

.btn-primary {
  color: white;
  background-color: #3465a4;
}

.btn-primary:hover {
  background-color: #4378bd;
}

/* RTF result/reference-range wrappers — keep unrtf-emitted <font> and inline
   styles from bleeding into the surrounding examinations table chrome. */
.order-examinations .rtf-result,
.order-examinations .rtf-rr {
  font-family: inherit;
  font-size: inherit;
  color: inherit;
  line-height: 1.4;
}

.order-examinations .rtf-result font,
.order-examinations .rtf-rr font {
  /* Keep color/size from the RTF, but reset face — Tahoma/Calibri from RTF
     should not override the page's own font stack. */
  font-family: inherit;
}

.order-examinations .rtf-result p,
.order-examinations .rtf-rr p {
  margin: 0 0 0.25em 0;
}

.order-examinations .rtf-result p:last-child,
.order-examinations .rtf-rr p:last-child {
  margin-bottom: 0;
}

/* GRO-2: examinations index */
.examinations-layout { display: flex; gap: 1em; align-items: flex-start; }
.examinations-layout aside.category-rail { flex: 0 0 210px; min-width: 0; }
.examinations-layout .category-rail ul { list-style: none; padding: 0; margin: 0; }
/* Match the 20px horizontal padding of the .wrapper h3 header above the list so
   entries line up under "Κατηγορίες" and aren't clipped at the rail's edge. */
.examinations-layout .category-rail li { padding: 0.35em 20px; }
.examinations-layout .category-rail li.active a { font-weight: bold; }
/* min-width:0 lets the flex child shrink so its rows respect the column width
   instead of pushing the action cell past the panel's right-edge graphic. */
.examinations-layout .examinations-main { flex: 1; min-width: 0; padding-right: 12px; }
/* Search form sits above .examinations-layout and spans the full content width. */
.examinations-index .examinations-search p { margin: 0; padding: 10px; }
.examinations-index .examinations-search .text_search { box-sizing: border-box; width: 100%; }
.examinations-layout .group-heading { margin-top: 1.5em; }
.examinations-layout .subgroup-heading { margin-top: 1em; margin-bottom: 0; color: #555; font-size: 1em; }
.examinations-layout .exam-list { list-style: none; padding: 0; margin: 0; }
.examinations-layout .exam-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 1em; padding: 0.5em 0; border-bottom: 1px dashed #eee; }
.examinations-layout .exam-name { min-width: 0; flex: 1; }
.examinations-layout .exam-actions { flex: 0 0 auto; display: flex; align-items: center; gap: 0.75em; white-space: nowrap; }
.examinations-layout .exam-actions .action-reminder img { display: block; width: 20px; height: 20px; opacity: 0.75; }
.examinations-layout .exam-actions .action-reminder:hover img { opacity: 1; }
.examinations-layout .metadata-strip { display: block; color: #888; font-size: 0.85em; margin-top: 0.15em; }
/* Bottom pagination now lives in .wrapper_footer below (sibling of .wrapper_full)
   so it spans the full panel width; .wrapper_footer + .wrapper_footer p supply the chrome. */
/* Multi-facet sidebar (see _facets_sidebar.html.haml).
   Greek typography note: do NOT use text-transform: uppercase on any element
   in this block. Monotonic Greek headings like "Κύρια κατηγορία" carry tonos
   accents that most browser/font combinations mangle when uppercased
   (the tonos becomes a leading apostrophe glyph instead of being dropped),
   and even where it renders the result is poor Greek typography. */
.category-rail .facet-section {
  padding: 0 8px;
}
.category-rail .facet-section + .facet-section {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid #e8e8e8;
}
.category-rail .facet-section h4 {
  font-size: 12px;
  font-weight: 600;
  color: #2c3540;
  margin: 0 0 6px;
  line-height: 1.35;
}
.category-rail .facet-section ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.category-rail .facet-section li {
  padding: 0;
  margin: 0;
}
/* Toggle link: full row is clickable, leaves a fixed-width gutter on the left
   for the CSS-drawn checkbox indicator. */
.category-rail a.facet-value {
  display: block;
  position: relative;
  padding: 4px 6px 4px 26px;
  border-radius: 3px;
  text-decoration: none;
  color: #2a3340;
  font-size: 13px;
  line-height: 1.35;
}
/* Unchecked indicator: hollow square, slightly rounded, neutral border. */
.category-rail a.facet-value::before {
  content: "";
  position: absolute;
  left: 4px;
  top: 50%;
  margin-top: -8px;
  width: 15px;
  height: 15px;
  border: 1.5px solid #c4c8cf;
  border-radius: 3px;
  background: #fff;
  box-sizing: border-box;
}
.category-rail a.facet-value:hover {
  background: #eef4fb;
  color: #06c;
  text-decoration: none;
}
.category-rail a.facet-value:hover::before {
  border-color: #06c;
}
/* Checked indicator: blue fill + white tick drawn with a rotated bottom-right
   border (no SVG, no font glyph — renders identically everywhere). */
.category-rail a.facet-value.checked {
  color: #06c;
}
.category-rail a.facet-value.checked::before {
  background-color: #06c;
  border-color: #06c;
}
.category-rail a.facet-value.checked::after {
  content: "";
  position: absolute;
  left: 9px;
  top: 50%;
  margin-top: -5px;
  width: 4px;
  height: 8px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  -webkit-transform: rotate(45deg);
     -moz-transform: rotate(45deg);
          transform: rotate(45deg);
  box-sizing: border-box;
}
/* Sidebar as a distinct surface — light background, rounded, subtle border.
   Anchors the rail visually so it reads as "filter panel", not floating text. */
.examinations-layout aside.category-rail {
  background: #f7f9fc;
  border: 1px solid #e3e8f0;
  padding: 4px 0 10px;
  align-self: flex-start;
}
/* Override the global .wrapper h3 navy chip just inside the rail —
   the sidebar title is a section label, not a primary banner. */
.examinations-layout .category-rail h3 {
  background: none;
  border: none;
  color: #2c3540;
  font-size: 13px;
  font-weight: 600;
  padding: 0;
  margin: 0;
  line-height: 1.3;
}
/* Header row: title left, "Καθαρισμός" link right (only rendered when any
   facet is active, so no need to handle absence specially). */
.examinations-layout .category-rail .facet-rail-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  padding: 12px 12px 10px;
  margin: 0 0 4px;
  border-bottom: 1px solid #e3e8f0;
}
.examinations-layout .category-rail .facet-clear {
  font-size: 12px;
  color: #06c;
  text-decoration: none;
}
.examinations-layout .category-rail .facet-clear:hover {
  text-decoration: underline;
}
/* Tighten section spacing now that the rail itself supplies the chrome. */
.category-rail .facet-section {
  padding: 0 12px;
}
.category-rail .facet-section + .facet-section {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid #e8ecf2;
}
/* Result-count line: small textual orientation above the first group. */
.examinations-layout .results-count {
  padding: 10px 0;
  color: #777;
  font-size: 12px;
}
/* Friendly empty state when filters yield no results. */
.examinations-layout .results-empty {
  padding: 2.5em 1em;
  text-align: center;
  background: #fafbfc;
  border: 1px dashed #d8dde6;
  border-radius: 6px;
}
.examinations-layout .results-empty .empty {
  color: #555;
  font-size: 14px;
  margin: 0 0 0.75em;
}
.examinations-layout .results-empty .facet-clear-large {
  display: inline-block;
  padding: 6px 14px;
  background: #06c;
  color: #fff;
  border-radius: 4px;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
}
.examinations-layout .results-empty .facet-clear-large:hover {
  background: #0055b3;
  color: #fff;
  text-decoration: none;
}
/* Row hover: rows are interactive (link + bell) — give them feedback. */
.examinations-layout .exam-row { padding: 0.5em 8px; border-radius: 3px; transition: background-color 120ms; }
.examinations-layout .exam-row:hover { background: #f4f7fb; }
/* Subgroup heading: lighter weight + slight indent so it subordinates to the
   blue .group-heading bar above it. */
.examinations-layout .subgroup-heading {
  font-weight: 500;
  padding-left: 8px;
}
/* GRO-2: categorisation panel on the exam show page. A bordered white card with
   a two-column key/value list, using the page's light palette (.exam_summaries). */
.categorisation-table { margin: 0 0 20px; padding-top: 12px; }
.categorisation-table .categorisation-body { background: #fff; }
.categorisation-table dl { display: grid; grid-template-columns: 190px 1fr; margin: 0; }
.categorisation-table dt, .categorisation-table dd { margin: 0; padding: 7px 20px; }
.categorisation-table dt { color: #666; font-weight: bold; }
.categorisation-table dd { color: #222; }
.categorisation-table dl > dt:nth-of-type(even),
.categorisation-table dl > dd:nth-of-type(even) { background: #fafafa; }
