body {
  font-family: Verdana, sans-serif;
  text-align: left;
  color: rgb(0, 0, 0);
  position: relative;
  margin: 2em 4em 2em 4em;
  background-color: rgb(255, 255, 255);
}

/* Velikost pisma globalne */
body, div, table, form, input, select {
  font-size: small;
  _font-size: x-small;
}

/* Layout */
div#body {
    margin: 0em;
    padding: 0em;
    height: 100%;
}
div#top {
  border: 1px solid rgb(199, 215, 228);
  background-color: rgb(247, 247, 247);
  padding: 0.5em;
  width: 100%;
  margin-bottom: 1em;
}

p.pozn {
  margin: 0 0 1em 0;
  color: rgb(104, 102, 112);
}

div#content {
  margin: 0px;
  width:100%;
  height: 100%;                 /* IE bug */
  padding-right: 0em;
}
div#contentin {
  margin: 0em;
  padding-bottom: 0em;
  float: left;    /* vychytávač pro clearing */ 
  width: 100%;
}

div#footer {
  text-align: right;
  margin-top: 8em;
  color: rgb(104, 102, 112);
}

/* Odstavce a odkazy */
div.status {
  background-color: rgb(217, 228, 234);
}

div.info {
  float: right; 
  width: 40%; 
  border: 1px solid rgb(199, 215, 228);
  text-align: right;
  padding: 0.4em;
  /*background: url("../img/logo16.png") center left no-repeat;*/
  background-color: rgb(255, 255, 255);
}

div.navbar {
  margin-top: 1em;
}

div#footer a {
  color: rgb(132, 176, 199);
}

a {
  color: rgb(101, 135, 190);
}
a:hover {
  color: rgb(0, 0, 0);
  text-decoration: none;
}

div.clear {
  clear: both;
}

.red    { color: rgb(255, 0, 0); }
.green  { color: rgb(52, 160, 44); }
.white  { color: rgb(255, 255, 255); }
.black  { color: rgb(0, 0, 0); }
.gray   { color: rgb(128, 128, 128); }
.orange { color: rgb(224, 99, 1); }
.blue   { color: rgb(0, 0, 255); }

.back_red { background-color : rgb(255, 0, 0); }

/* Stylovani tabulek */
table 
{
}

table.list 
{
  border-collapse: collapse;
  margin-bottom: 1em;
  border-right: 1px solid rgb(132, 176, 199);
}

table.list td, table.list th 
{
  border: 1px solid rgb(132, 176, 199);
  /*white-space: nowrap;*/
}

table.list th 
{
  background-color: rgb(235, 241, 242);
  text-align: center;
}

table.list tr.even      td { background-color: rgb(240, 240, 240); }
table.list tr.odd       td { background-color: rgb(248, 248, 248); }
table.list tr.vada      td { background-color: rgb(224, 99, 1); }
table.list tr.level1    td { background-color: rgb(255, 255, 255); }
table.list tr.level2    td { background-color: rgb(240, 240, 240); }
table.list tr.level3    td { background-color: rgb(225, 225, 225); }
table.list tr.level4    td { background-color: rgb(210, 210, 210); }
table.list tr.level5    td { background-color: rgb(195, 195, 195); }
table.list tr.level6    td { background-color: rgb(180, 180, 180); }
table.list tr.highlighte td { background-color: rgb(255, 245, 230); }
table.list tr.highlighto td { background-color: rgb(255, 245, 240); }
table.list tr.action    td { padding-top: 4px }
table.list tr.vaha td { background-color: rgb(255, 252, 201); }
table.list tr.popt501 td { background-color: rgb(255, 255, 230); }
table.list tr.popt502 td { background-color: rgb(230, 255, 179); }
table.list tr.popt503 td { background-color: rgb(170, 255, 128); }
table.list tr.popt504 td { background-color: rgb(77, 255, 77); }
table.list tr.popt505 td { background-color: rgb(77, 255, 200); }
table.list tr.poptxxx td { background-color: rgb(255, 255, 255); }

table.list td a {
  color: rgb(101, 135, 190);
}
table.list th a {
  color: rgb(0, 0, 0);
}
table.list td a:hover {
  color: rgb(0, 0, 0);
}
table.list th {
  padding: 0.1em 0.5em 0.1em 0.5em;
}
table.list td {
  padding: 0 0.5em 0 0.5em;
}
table td.icon {
  text-align: center;
}
table td.input {
  padding:0;
}

input.readonly {
  background-color: rgb(215, 215, 215);
}

.readonly-select, input.fake-readonly, textarea.fake-readonly {
   background-color: rgb(215, 215, 215);
   pointer-events: none;
   cursor: default;
}

.readonly-look {
  background-color: rgb(215, 215, 215);
  cursor: default;
}

.input-error {
    border: 2px solid #D90429 !important;
    background-color: #FFF2F2;
}

/* Tabulka pro zobrazeni formularu */
table.layout {
  width: 100%;
}

table.layout td { 
  vertical-align: top;
}


/* Nadpisy */
h1, h2, h3 { color: rgb(101, 135, 190); margin: 0; padding: 0; }
h1 { font-size: 18px; float: left; width: 50%; }
h2 { font-size: 16px; margin-top: 5px; margin-bottom: 5px; }
h3 { font-size: 14px; }

/* Stylovani formularu */
form 
{
  margin: 0 0 1em 0;
}

fieldset {
  border: 1px solid rgb(200, 200, 200);
  margin-bottom: 1em;
}
fieldset.filtr {
  width: 400px;
  padding: 0.5em 1em 0.2em 1em;
}
fieldset.select {
  margin-top: 20px;
  width: 500px;
}

legend {
  color: rgb(101, 135, 190);
  font-weight: bold;
}

input.edit, input.upload, select, textarea {
  border: 1px solid rgb(132, 176, 199);
  margin-bottom: 4px;
}

input.editx {
  border: 1px solid rgb(132, 176, 199);
  margin-bottom: 4px;
}

button.button, input.button, button.disbutton, input.disbutton {
  font-family: Verdana, sans-serif;
  font-weight: bold;
  margin-bottom: 4px;
  padding: 0 .25em;
  width: 0; /* pouze pro IE */
  overflow: visible;
  background-color: rgb(255, 255, 255);
}
input.button[class], input.disbutton[class] {
  width: auto;
}

button.button, input.button {
  border-top:    2px solid rgb(101, 135, 190);
  border-left:   2px solid rgb(101, 135, 190);
  border-right:  2px solid rgb(41,  68,  98);
  border-bottom: 2px solid rgb(41,  68,  98);
  color: rgb(101, 135, 190);
}

button.disbutton, input.disbutton {
  border-top:    2px solid rgb(192, 192, 192);
  border-left:   2px solid rgb(192, 192, 192);
  border-right:  2px solid rgb(64, 64, 64);
  border-bottom: 2px solid rgb(64, 64, 64);
  color: rgb(128, 128, 128);
}

textarea {
  width: 20em;
  height: 6em;
}
textarea.sdok{
  width: 12em;
  height: 2em;
}

label {
  color: rgb(104, 102, 112);
  float: left;
  width: 15em;
  text-align: right;
  padding-right: 1em;
  clear: both;
}

labelpopt 
{
  color: rgb(104, 102, 112);
  float: left;
  // width: 15em;
  // text-align: right;
  // padding-right: 1em;
  // clear: both;
}

div.kontejner {
  margin-bottom: 5px;
  float: left;
}
input.checkbox {
  margin: 5px 0 0 0;
}

label.sdok{
  width: 8em;
}

label.right {
  float: none;
  width: auto;
  text-align: left;
  padding-left: 1em;
}

label.nofloat {
  color: rgb(104, 102, 112);
  float: none;
  width: 14em;
  text-align: left;
}

input.radio {
  margin: 0 0 0 1em;
}

label.right {
  color: rgb(0, 0, 0);
  float: none;
  padding: 0;
  margin: 0;
  text-align: left;
}

label.povinny {
  color: rgb(255, 0, 0);
}
label.small {
  width: 8em;
}

p.dodatek {
  color: rgb(104, 102, 112);
  margin: 2em 0 0 0;
  font-size: smaller;
}

p.obj {
  border: 1px solid rgb(199, 215, 228);
  background-color: rgb(247, 247, 247);
  width: 50em; 
  padding: 1em 0 1em 0;
}

input.edit
{
  width: 13em;
} 

select.edit
{
  width: 16em;
}

input.editx {
  width: 2em;
} 

input.nomargin, select.nomargin {
  margin: 0;
} 

input.dve, select.dve {
  width: 2em;
}
input.ctyri, select.ctyri {
  width: 4em;
}
input.pet, select.pet {
  width: 5em;
}

input.upload {
  /*width: 19.5em;*/
}

input.small, select.small {
  width: 6em;
}
input.huge, select.huge {
  width: 50em;
}



input.medium, select.medium {
  width: 12em;
}
input.large, select.large {
  width: 20em;
}

div.akce {
  margin: 0em 1em 1em 0;
}

/*
table th, table td {
  white-space: nowrap;
}
*/

img {
  border-width: 0;
}

img.icon {
  margin: 2px;
  vertical-align: middle;
}
span.stav {
  margin-left: 0.5em;
  vertical-align: middle;
}


img.calendar {
  cursor: pointer;
  cursor: hand;
}

.hand {
  cursor: pointer;
  cursor: hand;
}

/* Systemove zpravy */
div#sysmessage {
  width: 80em;
  margin-top: 1em;
  border: 1px solid rgb(132, 176, 199);
  background-color: rgb(248, 248, 248);
}

div#sysmessage div.title {
  font-weight: bold;
  padding: 0 0 0 1em;
  background-color: rgb(235, 241, 242);
  border-bottom: 1px solid rgb(132, 176, 199);
}

div#sysmessage div.message {
  padding: 0.5em 1em;
}


.right {
    text-align: right;
}
.left {
    text-align: left;
}
.center {
    text-align: center;
}

.nodisplay {
  display: none;
}

/* Taby */
div.board {
  display: none;
}
div#tabs {
  width: 100%;
  border-bottom: 1px solid rgb(132, 176, 199);
  margin-bottom: 5px;
  margin-top: 10px;
  height: 24px;
}

div.kkinfo {
  float: right;
}

div.kkinfo div.jmeno {
  float: left;
  margin-right: 10px;
  padding-top: 2px;
  color: rgb(104, 102, 112);
}

div.tab-active div, div.tab-passive div {
  height: 24px;
  float: left;
}

div.tab-passive div.tab-left   { background: url("../img/tabs/tab_passive1.png") top left no-repeat; width: 6px; }
div.tab-passive div.tab-center { background: url("../img/tabs/tab_passive2.png") top left repeat-x;  padding-top: 4px; }
div.tab-passive div.tab-right  { background: url("../img/tabs/tab_passive3.png") top left no-repeat; width: 6px; }
div.tab-active div.tab-left    { background: url("../img/tabs/tab_active1.png")  top left no-repeat; width: 6px; }
div.tab-active div.tab-center  { background: url("../img/tabs/tab_active2.png")  top left repeat-x;  padding-top: 4px; }
div.tab-active div.tab-right   { background: url("../img/tabs/tab_active3.png")  top left no-repeat; width: 6px; }

/* Barva tab odkazu + hover efekt */
div.tab-center a {
  text-decoration: none;
  color: rgb(101, 135, 190);
  font-weight: bold;
}
div.tab-center a:hover {
  color: rgb(0, 0, 0);
}

/* IFrame */
iframe.form 
{
    margin-top: 20px;
    width: 100%;
    /* height: 500px; */
    height: 300px;
    border: 1px solid rgb(132, 176, 199);
}

iframe.download {
  display: none;
}

body.iframe {
  _border: 1px solid rgb(132, 176, 199);
  margin: 0;
  padding: 0px;
}

body.iframe div#all {
  padding: 20px;
}

div#sdok-panel {
  /*border: 1px solid red;*/
  float: right;
}


/* Menu */
#menu {
  width: 100%;
  float: left;
}

#menu ul {
  list-style: none;
  margin: 0;
  padding: 0;
  width: 120px;
  float: left;
}

#menu a, #menu h3 {
  font-weight: bold;
  font-size: 12px;
  font-family: arial, helvetica, sans-serif;
  display: block;
  border-width: 1px;
  border-style: solid;
  margin: 0;
  padding: 2px 3px;
}
#menu h3 a {
  border-width: 0px;
  padding: 0;
}

#menu h3 {
  text-transform: uppercase;
}

#menu a {
  /*background: rgb(255, 255, 255);*/
  text-decoration: none;
}

#menu a:hover {
  background: rgb(101, 135, 190);
  color: rgb(255, 255, 255);
  border-color: rgb(101, 135, 190);
}

#menu li {
  position: relative;
}

#menu ul ul {
  position: absolute;
  z-index: 500;
}

#menu ul ul ul {
  position: absolute;
  top: 0;
  left: 100%;
}

div#menu ul ul,
div#menu ul li:hover ul ul,
div#menu ul ul li:hover ul ul
{display: none;}

div#menu ul li:hover ul,
div#menu ul ul li:hover ul,
div#menu ul ul ul li:hover ul
{display: block;}

li.hasChild a {
  background-image: url("../img/menu/submenu.png");
  background-color: none;
}

li.noChild a {
  background-image: url("../img/menu/no-submenu.png");
  background-color: none;
}

/* Naseptavac */
#suggest {
	font: 11px sans-serif;
	background: #FFF;
	position: absolute;
  width: 180px;
	border: 2px solid #ddd;
	margin:0;
	margin-left: 200px;
	padding: 2px;
	list-style-type: none;
	cursor: default;
	visibility: hidden;
}

#suggest li {
	margin: 0;
	padding: 0;
	cursor: pointer;
}
#suggest li:hover, #suggest li.hover {
	color: #FFF;
	background: #00F;
}

.disabledLink
{
    /*
    color: #333;
    text-decoration : none;
    cursor: default;
    */
    visibility: hidden;
}

/* --- Styles for set-appcast-odkaz --- */
/* Styly pro řádky s inline labelem */
.inline-label-input label {
  float: left; /* Původní styl pro label */
  width: 15em; /* Původní šířka */
  text-align: right;
  padding-right: 1em;
  line-height: 1.8; /* Vertikální zarovnání s inputem/seznamem */
  margin-bottom: 0; /* Reset spodního marginu */
}
.inline-label-input input.edit {
  float: left; /* Input vedle labelu */
  width: 250px; /* Pevná šířka inputu */
  margin-bottom: 0; /* Reset spodního marginu */
}

/* Kontajner pre výsledky AJAX vyhľadávania */
.search-results-container {
  border: 1px solid #ccc;       /* Rámček okolo výsledkov */
  max-height: 200px;           /* Maximálna výška, potom scrollbar */
  overflow-y: auto;            /* Vertikálny scrollbar ak je potrebný */
  position: absolute;          /* Absolútna pozícia voči rodičovi */
  background-color: white;     /* Biele pozadie */
  /* Šírka - prispôsobiť podľa layoutu, napr. aby sedela s inputom */
  /* width: calc(100% - 30px); */ /* Calc nemusí fungovať v starých prehliadačoch */
  width: 95%;                  /* Alebo pevná šírka, alebo percentá */
  z-index: 1000;               /* Aby boli výsledky nad ostatným obsahom */
  display: none;               /* Štandardne skryté */
  box-shadow: 0 4px 8px rgba(0,0,0,0.1); /* Jemný tieň */
}

/* Jednotlivá položka vo výsledkoch vyhľadávania */
.search-result-item {
  padding: 8px 12px;           /* Vnútorný okraj */
  cursor: pointer;             /* Ukazovateľ ruky */
  border-bottom: 1px solid #eee; /* Tenká čiara medzi položkami */
}
.search-result-item:hover {
  background-color: #f0f0f0;   /* Zvýraznenie pri prejdení myšou */
}
.search-result-item:last-child {
  border-bottom: none;         /* Posledná položka nemá čiaru pod sebou */
}

/* Zoznam už vybraných subjektov */
.selected-subjects {
  list-style: none;            /* Bez odrážok */
  padding: 0;                  /* Bez vnútorného okraja */
  margin-top: 10px;            /* Odsadenie zhora */
  max-height: 150px;           /* Maximálna výška */
  overflow-y: auto;            /* Scrollbar */
  border: 1px solid #ddd;      /* Rámček */
  padding: 10px;               /* Vnútorný okraj */
  background-color: #f9f9f9;   /* Svetlosivé pozadie */
}
/* Položka v zozname vybraných */
.selected-subjects li {
  margin-bottom: 5px;          /* Odsadenie zdola */
  padding: 5px;                /* Vnútorný okraj */
  background-color: #fff;      /* Biele pozadie */
  border: 1px solid #eee;      /* Jemný rámček */
  /* Nasledujúce vyžaduje novšie prehliadače, pre staré sa zobrazí len vedľa seba */
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* Tlačidlo na odstránenie vybraného subjektu */
.remove-selected {
  margin-left: 10px;           /* Odsadenie od textu */
  padding: 0px 5px;            /* Menší padding */
  line-height: 1;              /* Výška riadku */
  /* Prípadné ďalšie štýly pre tlačidlo (farba, border...) */
  cursor: pointer;
  color: red;
  border: 1px solid #ccc;
  background-color: #fff;
}
.remove-selected:hover {
  background-color: #fdd;
}
/* Fieldset pro výběr */
fieldset.selection-area {
  padding: 15px;
  margin-bottom: 20px;
  background-color: rgb(247, 247, 247);
  border-color: rgb(199, 215, 228);
}
fieldset.selection-area legend {
  background-color: rgb(247, 247, 247);
  padding: 0 5px;
}

/* Oblast se seznamem již přiřazených subjektů */
.assigned-area {
  margin-top: 30px;
  clear: both; /* Zajistí, že začne pod fieldsetem */
}
.assigned-area h3 {
  margin-bottom: 10px;
  border-bottom: 1px solid rgb(235, 241, 242);
  padding-bottom: 5px;
}

/* Kontajner pre vyhľadávací input a výsledky - potrebuje relatívnu pozíciu */
/* Použijeme špecifickejšiu triedu pridanú v TPL, aby sme neovplyvnili iné .form-group */
.subject-search-container {
  position: relative;
}

/* Spoločné štýly (ak už neexistujú alebo ich chcete upraviť) */
.action-cell {
  text-align: center;
  min-width: 50px; /* Miesto pre ikonu */
}
.icon {
  vertical-align: middle;
  border: 0; /* Pre istotu odstránime border obrázkov v odkazoch */
}

.button-large {
  font-size: large;  /* Zvětší písmo z 'small' na 'medium' */
  padding: 6px 18px;  /* Přidá více vnitřního odsazení (nahoře/dole a vlevo/vpravo) */
}
/* --- End Styles for set-appcast-odkaz --- */