* {
	margin: 0pt;
	padding: 0pt;
}

body {
	font-family: tahoma,verdana,arial,sans-serif,Lucida Sans;
	background-color: rgb(255, 253, 249);
}

a {
	color: rgb(53, 48, 40);
}

ul {
	margin-left: 20px;
}

a img {
	border: 0pt none ;
}

#pagewidth {
		margin: 0pt auto;
		width: 991px;
	}

#shapka {
	background: transparent url(images/shinshapka.jpg) repeat scroll 0% 0%;
	-moz-background-clip: border;
	-moz-background-origin: padding;
	-moz-background-inline-policy: continuous;
	height: 130px;
	width: 991px;
}

#header {
	background: transparent url(images/chinbar.gif) repeat scroll 0% 0%;
	-moz-background-clip: border;
	-moz-background-origin: padding;
	-moz-background-inline-policy: continuous;
	height: 45px;
	position: relative;
}

#header h1 {
	width: 220px;
	position: absolute;
	left: 0pt;
	top: 0pt;
}

#header h1 a {
	text-indent: -9999px;
	height: 42px;
	display: block;
}

#header div#links {
	margin-left: 230px;
	padding-top: 10px;
}

#links p {
	border-left: 1px solid white;
	display: inline;
	position: relative;
}

#links a, #links a:hover, #links a:visited {
	padding: 0pt 10px 0pt 13px;
	color: white;
	text-decoration: none;
	text-transform: lowercase;
}

#footer {
	height: 20px;
	background-color: rgb(204, 204, 204);
}

#sidebar {
		padding: 15px 0pt 0pt;
		width: 160px;
		height: auto;
		min-height: 300px;
		float: left;
		position: relative;
	}

ul.menu {
	list-style-type: none;
	list-style-image: none;
	list-style-position: outside;
	font-size: 14px;
	margin-left: 5px;
}

ul.menu li {
	margin-bottom: 2px;
}

ul.menu a {
	padding: 3px 2px;
	text-decoration: none;
	display: block;
	width: 140px;
}

ul.menu a:hover {
	border-top: 1px solid rgb(204, 204, 204);
	border-bottom: 1px solid rgb(204, 204, 204);
	padding: 2px;
	background-color: rgb(213, 235, 245);
	color: black;
}

ul.menu .profile {
	padding: 2px 0pt;
}

ul.menu .profile a {
	display: inline;
}

ul.menu small {
	margin-left: 5px;
}

ul.menu small a {
	color: rgb(153, 153, 153);
	font-size: 12px;
}

span.admin {
	color: rgb(238, 85, 85);
}

ul.menu .admin a {
	color: rgb(238, 85, 85);
}

ul.menu .admin a:hover {
	background-color: rgb(255, 238, 238);
}

#statusbar {
	border: 1px solid rgb(204, 204, 204);
	background: transparent url(images/header_yellow.gif) repeat scroll 0% 0%;
	float: left;
	position: relative;
	-moz-background-clip: border;
	-moz-background-origin: padding;
	-moz-background-inline-policy: continuous;
	padding-left: 10px;
	padding-top: 3px;
	height: 17px;
	font-weight: bold;
	color: black;
	font-size: 12px;
	width: 805px;
}

#statusbar a {
	text-decoration: none;
	color: rgb(89, 86, 0);
	font-size: 12px;
}

#content {
	border-left: 1px solid rgb(204, 204, 204);
	padding: 20px;
	min-height: 200px;
	float: left;
	position: relative;
	width: 790px;
}

#content div.left {
	width: 170px;
	position: relative;
	float: left;
}

#content div.right {
	position: relative;
	float: left;
	width: 620px;
}

td.label {
	font-size: 14px;
	color: rgb(102, 102, 102);
	vertical-align: top;
	width: 200px;
}

td.data {
	font-size: 14px;
	color: rgb(17, 17, 17);
}

div.photo {
	margin: 5px;
	float: left;
	position: relative;
}

div.photo div.nav {
	width: 112px;
	font-size: 12px;
	text-align: center;
}

div.photo a.pic {
	border: 1px solid rgb(170, 170, 170);
	padding: 5px;
	display: block;
	text-align: center;
	width: 100px;
	height: 100px;
	line-height: 100px;
}

div.photo img {
	vertical-align: middle;
}

div#cropform {
	padding-top: 20px;
}

div#cropform label {
	width: 20px;
}

div#cropform input {
	margin: 0pt 10px 0pt 5px;
	width: 30px;
	position: relative;
	float: left;
}

div#cropform br {
	clear: none;
	float: left;
	display: block;
	width: 0px;
	height: 0px;
	position: relative;
}

div#cropform input.button {
	margin: 15px 0pt 0pt;
	clear: both;
	width: 150px;
}

.genes input.check {
	clear: both;
	margin-left: 150px;
}

.calc {
	float: left;
	width: 350px;
}

.calc select {
	width: 150px;
}

button#reset {
	margin-left: 10px;
}

table.weight {
	text-align: left;
}

table.weight th {
	border: 1px solid rgb(204, 204, 204);
	background-color: rgb(238, 238, 238);
}

table.weight td {
	vertical-align: middle;
}

.searchform {
	border: 1px solid rgb(204, 204, 204);
	padding: 10px 20px 20px;
	position: relative;
	width: 150px;
	float: right;
	background-color: rgb(238, 238, 238);
	-moz-border-radius-topleft: 6px;
	-moz-border-radius-topright: 6px;
	-moz-border-radius-bottomright: 6px;
	-moz-border-radius-bottomleft: 6px;
}

.searchform div.colors {
	margin: 20px 0;
	padding-bottom: 10px;
	border-top: 1px solid #999;
	border-bottom: 1px solid #999;
}

.searchform label {
	margin: 0pt;
	padding: 0pt;
	display: block;
	float: none;
	width: auto;
}

.searchform input, .searchform select {
	margin: 0pt;
	padding: 2px 0pt;
	display: block;
	float: none;
	width: 100%;
}

.searchform .button {
	margin-top: 20px;
}

.searchform br {
	display: none;
}

.results {
	width: 590px;
}

.results td {
	padding-right: 30px;
}

span.filtered {
	border: 1px solid rgb(204, 204, 204);
	margin: 0pt 4px 5px 0pt;
	padding: 0pt 4px;
	width: 192px;
	display: block;
	float: left;
}

#mother_id_admin, #father_id_admin {
	width: 50px;
}

.for_1, .for_2, .for_3, .for_4, .for_5, .for_6, .for_7, .for_8, .for_9, .for_10, .for_11, .for_12, .for_13, .for_14, .for_15, .for_16, .for_17, .for_18, .for_19, .for_20 {
	display: none;
}

.accountInfo {
	border-bottom: 1px solid rgb(218, 225, 232);
	margin: 0pt 0pt 5px;
	padding: 0pt 0pt 5px;
}

.accountName {
	font-size: 14px;
	padding-bottom: 0pt;
	font-weight: bold;
	display: inline;
	color: rgb(99, 81, 44);
}

.accountID {
	font-size: 14px;
	float: right;
	display: inline;
	font-weight: bold;
}

.accountStatus {
	font-size: 12px;
	color: rgb(170, 170, 170);
	font-weight: bold;
}

.accountStatusValue {
	width: 530px;
	display: block;
}

.accountStatusLink a {
	float: right;
	text-decoration: none;
	color: rgb(205, 196, 169);
}

.sections div.header {
	border-top: 1px solid rgb(214, 214, 177);
	margin: 10px 0pt 0pt;
	padding: 0px 8px 3px 5px;
	background: rgb(249, 251, 228) none repeat scroll 0pt 0pt;
	display: block;
	-moz-background-clip: border;
	-moz-background-origin: padding;
	-moz-background-inline-policy: continuous;
}

div.header h3 {
	font-size: 14px;
	font-weight: bold;
	color: rgb(89, 75, 42);
	display: inline;
}

div.header div {
	float: right;
}

div.header a {
	font-size: 14px;
	font-weight: bold;
	color: rgb(205, 204, 169);
	text-decoration: none;
}

/* ========== ОСНОВНЫЕ БЛОКИ КАРТОЧЕК (КАК В СТАРОМ ПРОЕКТЕ) ========== */
.userlist {
	padding: 7px;
	width: 133px;
	height: 138px;
	float: left;
	text-align: center;
	font-size: 12px;
	overflow: hidden;
}

.userlist_sale {
	padding: 7px;
	width: 133px;
	height: 165px;
	float: left;
	text-align: center;
	font-size: 12px;
	overflow: hidden;
}

.userlist_grand {
	padding: 7px;
	width: 133px;
	height: 178px;
	float: left;
	text-align: center;
	font-size: 12px;
	overflow: hidden;
}

.userlist div, .userlist_sale div, .userlist_grand div {
	border: 1px solid rgb(170, 170, 170);
	margin: 0px 16px;
	overflow: hidden;
	width: 100px;
	height: 100px;
}

.userlist img, .userlist_sale img, .userlist_grand img {
	width: 100px;
}
/* ================================================================= */

.delimiter {
	border-bottom: 1px solid rgb(204, 204, 204);
	margin-right: 15px;
	font-size: 4px;
}

table.genealogy {
	width: 100%;
}

table.genealogy td {
	text-align: center;
}

table.genealogy div.userlist {
	margin: 0pt auto;
	float: none;
}

.links {
	text-align: center;
	font-size: 14px;
	margin-top: 20px;
	clear: both;
}

.header select {
	height: 23px;
	position: relative;
	top: -2px;
	left: 8px;
}

button.ui-button {
	height: auto;
}

#dialog-confirm {
	margin: 5px;
	overflow: visible;
	display: none;
}

.print_page {
	padding: 10px;
	width: 1000px;
	text-align: center;
}

.print_tables {
	border: 2px solid black;
	padding: 10px;
}

.print_page td {
	text-align: left;
}

.print_main {
	font-size: 26px;
	width: 100%;
}

.print_detail {
	font-size: 22px;
	width: 100%;
	border-collapse: collapse;
	margin-top: 20px;
}

.print_detail td {
	border: 1px solid black;
	padding: 3px;
}

.print_genealogy {
	width: 100%;
}

.print_div {
	border: 1px solid black;
	padding: 5px;
	text-align: left;
	font-size: 12px;
}

td.big div.print_div {
	font-size: 16px;
}

.print_awards {
	border: 1px solid black;
	font-size: 20px;
}

.pet_stats {
	text-align: right;
	padding-right: 20px;
}

.male {
	background: transparent url(images/male.png) no-repeat scroll 99% 7%;
	-moz-background-clip: border;
	-moz-background-origin: padding;
	-moz-background-inline-policy: continuous;
}

.female {
	background: transparent url(images/female.png) no-repeat scroll 99% 7%;
	-moz-background-clip: border;
	-moz-background-origin: padding;
	-moz-background-inline-policy: continuous;
}

/* ========== ЦВЕТА ДЛЯ КАРТОЧЕК ========== */
.prv2 a, a.prv2, span.prv2 a, span.prv2, .prv2 { color: #000000 !important; }
.prv1 a, a.prv1, span.prv1 a, span.prv1, .prv1 { color: #629162 !important; }
.prv0 a, a.prv0, span.prv0 a, span.prv0, .prv0 { color: #8F4949 !important; }
.unapproved a, a.unapproved, span.unapproved a, span.unapproved, .unapproved { color: #1565c0 !important; }

span.prv0 { display: inline-block; }
span.prv0 a, span.unapproved a { cursor: default; text-decoration: none; }

.userlist a, .userlist_sale a, .userlist_grand a { text-decoration: none; font-weight: bold; }
.userlist a:hover, .userlist_sale a:hover, .userlist_grand a:hover { text-decoration: underline; }

/* Стиль для звёздочек обязательных полей */
.required {
    color: #e32;
    font-weight: bold;
    margin-left: 0;
    font-size: 1.1em;
    white-space: nowrap;
}

div.long label .required {
    margin-left: 0;
}

.moderation-warning {
    background: #fff3cd;
    border: 1px solid #ffeeba;
    color: #856404;
    padding: 12px;
    margin-bottom: 20px;
    border-radius: 6px;
    font-size: 14px;
    text-align: center;
}

.moderation-warning a {
    color: #856404;
    text-decoration: underline;
    font-weight: bold;
}

.moderation-warning a:hover {
    color: #533f03;
}

.accountBalance {
    float: right;
    margin-top: 5px;
}

/* ========== НОВЫЕ ДОБАВКИ ДЛЯ БАЛАНСА И ЦВЕТНЫХ ССЫЛОК ========== */
.balance-box, .balance-info {
    margin-top: 20px;
    padding: 10px;
    background: #f9f9f9;
    border: 1px solid #ddd;
    border-radius: 6px;
}

/* ========== ВИТРИНА (Главная страница) ========== */

.showcase-filters {
    background: #f5f5f5;
    border: 1px solid #ddd;
    border-radius: 6px;
    padding: 15px;
    margin-bottom: 20px;
}

.showcase-filters .filter-row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: flex-end;
}

.showcase-filters .filter-group {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.showcase-filters .filter-group label {
    font-size: 11px;
    color: #666;
    font-weight: bold;
}

.showcase-filters .filter-group select,
.showcase-filters .filter-group input[type="number"] {
    font-size: 13px;
    padding: 4px 8px;
    border: 1px solid #ccc;
    border-radius: 4px;
    background: #fff;
}

.showcase-filters .filter-submit {
    justify-content: flex-end;
}

/* Поля цены: десктоп — 90px, мобильные — full width */
.price-input {
    width: 90px;
}

/* Чекбоксы в стиле остальных полей фильтра */
.filter-checkbox {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 12px;
    border: 1px solid #ccc;
    border-radius: 4px;
    background: #fff;
    font-size: 13px;
    color: #555;
    cursor: pointer;
    user-select: none;
    white-space: nowrap;
    flex-shrink: 0;
    transition: border-color 0.15s, background 0.15s;
}

.filter-checkbox:hover {
    border-color: #999;
    background: #fafafa;
}

.filter-checkbox input[type="checkbox"] {
    margin: 0;
    accent-color: #473d27;
}

/* Сетка карточек */

.showcase-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

.showcase-card {
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    overflow: hidden;
    transition: box-shadow 0.2s;
}

.showcase-card:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.showcase-card a {
    text-decoration: none;
}

.showcase-card-img {
    background: #f0f0f0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 0;
    min-height: 100px;
}

.showcase-card-img img {
    max-width: 100%;
    max-height: 180px;
    height: auto;
    width: auto;
}

.showcase-card-body {
    padding: 12px;
}

.showcase-card-name {
    font-size: 15px;
    font-weight: bold;
    margin-bottom: 4px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.showcase-card-price {
    font-size: 16px;
    font-weight: bold;
    color: #c0392b;
    margin-bottom: 6px;
}

.showcase-card-info {
    font-size: 12px;
    color: #888;
    margin-bottom: 4px;
}

.showcase-card-breeder {
    font-size: 12px;
    color: #666;
}

.showcase-card-city {
    font-size: 12px;
    color: #888;
    margin-top: 2px;
}

.showcase-card-date {
    font-size: 11px;
    color: #999;
    margin-top: 2px;
}

.showcase-empty {
    grid-column: 1 / -1;
    text-align: center;
    padding: 40px;
    color: #888;
}