/*
@import url(http://fonts.googleapis.com/css?family=Raleway:400,300,500,700,800);
@import url(http://fonts.googleapis.com/css?family=Lobster);
*/

/*!
 * My Portfolio v1.0.0
 * Homepage: http://scripteden.com
 * Copyright 2015 Script Eden
 * Licensed under MIT
*/

body {
	font: 300 14px/1.8 'Raleway', sans-serif;
	color: #666;
	overflow-x: hidden;
}

img {
	max-width: 100%;
	height: auto;
}

a {
	color: #E7746F;
}

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

/* ---------------------------------------------- /*
 * Transition elsements
/* ---------------------------------------------- */


.navbar a,
.form-control {
	-webkit-transition: all 0.4s ease-in-out 0s;
	   -moz-transition: all 0.4s ease-in-out 0s;
		-ms-transition: all 0.4s ease-in-out 0s;
		 -o-transition: all 0.4s ease-in-out 0s;
			transition: all 0.4s ease-in-out 0s;
}

a,
.btn {
	-webkit-transition: all 0.125s ease-in-out 0s;
	   -moz-transition: all 0.125s ease-in-out 0s;
		-ms-transition: all 0.125s ease-in-out 0s;
		 -o-transition: all 0.125s ease-in-out 0s;
			transition: all 0.125s ease-in-out 0s;
}

/* ---------------------------------------------- /*
 * Reset box-shadow
/* ---------------------------------------------- */

.btn,
.form-control,
.form-control:hover,
.form-control:focus,
.navbar-custom .dropdown-menu {
	-webkit-box-shadow: none;
			box-shadow: none;
}

/* ---------------------------------------------- /*
 * Typography
/* ---------------------------------------------- */

h1, h2, h3, h4, h5, h6 {
	font: 700 40px/1.2 Raleway, sans-serif;
	text-transform: uppercase;
	letter-spacing: 5px;
	margin: 5px 0 5px;
	color: #222;
}

h2 {
	font-size: 30px;
	margin: 0 0 30px;
}

h3 {
	font-size: 13px;
	letter-spacing: 1px;
	margin: 0 0 5px;
}

h4 {
	font-size: 12px;
	letter-spacing: 1px;
}

h5 {
	font-size: 12px;
	letter-spacing: 1px;
	font-weight: 400;
}

h6 {
	font-size: 11px;
	letter-spacing: 1px;
	font-weight: 400;
}

/* ---------------------------------------------- /*
 * Reset border-radius
/* ---------------------------------------------- */

.btn,
.iconbox,
.progress,
#filter li,
.scroll-up a,
.form-control,
.input-group-addon {
	-webkit-border-radius: 3px;
	   -moz-border-radius: 3px;
		 -o-border-radius: 3px;
			border-radius: 3px;
}


/* ---------------------------------------------- /*
 * Input-group
/* ---------------------------------------------- */

.input-group .form-control {
	z-index: auto;
}

.input-group-addon {
	background: #D8E1E4;
	border: 2px solid #D8E1E4;
	padding: 6px 15px;
	font-weight: 700;
}

/* ---------------------------------------------- /*
 * Inputs styles
/* ---------------------------------------------- */

.form-control {
	background: #FFF;
	border: 1px solid #D8E1E4;
	font-size: 12px;
	padding: 0 15px;
}

.form-control:focus{
    border-color: rgba(135, 135, 135, 0.7);
}

.input-lg,
.form-horizontal .form-group-lg .form-control {
	height: 38px;
	font-size: 13px;
}

.input-sm,
.form-horizontal .form-group-sm .form-control {
	font-size: 11px;
	height: 30px;
}

textarea.form-control {
	padding: 15px;
    max-width: 100%;
    min-width: 100%;
}

/* ---------------------------------------------- /*
 * Custom button style
/* ---------------------------------------------- */

.btn {
	font-family: Raleway, sans-serif;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-size: 13px;
	padding: 8px 26px;
	border: 0;
}

.btn:hover,
.btn:focus,
.btn:active,
.btn.active {
	outline: inherit !important;
}

/* Button size */

.btn-lg,
.btn-group-lg > .btn {
	padding: 10px 25px;
	font-size: 13px;
    background: rgba(17, 17, 17, 0.8);
    color: #fff;
}
.btn-lg:hover,
.btn-group-lg > .btn:hover{
    background: rgba(17, 17, 17, 1.8);
    color: #fff;
}

.btn-sm,
.btn-group-sm > .btn {
	padding: 6px 25px;
	font-size: 11px;
}

.btn-xs,
.btn-group-xs > .btn {
	padding: 5px 25px;
	font-size: 10px;
}

.btn .icon-before {
	margin-right: 6px;
}

.btn .icon-after {
	margin-left: 6px;
}

/* ---------------------------------------------- /*
 * General Styles
/* ---------------------------------------------- */

.pfblock {
	padding: 120px 0 100px;
}

.pfblock-gray {
	background: #f5f5f5;
}

.pfblock-image {
	padding: 0;
}

.calltoaction h1,
.calltoaction h2,
.calltoaction h3,
.calltoaction h4,
.calltoaction h5,
.calltoaction h6,
.pfblock-image,
.pfblock-image h1,
.pfblock-image h2,
.pfblock-image h3,
.pfblock-image h4,
.pfblock-image h5,
.pfblock-image h6 {
	color: #fff;
}

.pfblock-header {
	text-align: center;
	margin: 0 0 60px;
}

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

.pfblock-header-left .pfblock-line {
	width: inherit;
	margin: 30px 0;
}

.pfblock-title{
    font-weight: 800;
}

.pfblock-subtitle {
	font-family: Raleway, "Times New Roman", Times, sans-serif;
	font-style: normal;
	font-size: 18px;
}

.pfblock-line {
	background: rgba(135, 135, 135, 0.5);
	width: 100px;
	height: 1px;
	margin: 30px auto;
}

.pfblock-icon {
	font-size: 32px;
}
.calltoaction *{
    text-align: center;
}
.calltoaction {
    background: url(../images/item-3.jpg);
	background-color: #222;
	background-repeat: no-repeat;
	background-position: 0 0;
	-webkit-background-size: cover;
	   -moz-background-size: cover;
		 -o-background-size: cover;
			background-size: cover;
	padding: 50px 0;
	color: #999;
}

.calltoaction h2 {
	font-size: 20px;
	letter-spacing: 1px;
	margin-bottom: 5px;
}

.calltoaction-decription{
    padding-top: 20px;
    padding-bottom: 30px;
    font-size: 20px;
    color: #fff;
}

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

.calltoaction-btn > .btn {
    background: rgba(255, 255, 255, .8);
    color: #111;
	margin-top: 5px;
	margin-bottom: 5px;
}
.calltoaction-btn > .btn:hover{
    background: #fff;
}

.long-down {
	margin-bottom: 40px;
}

/* ---------------------------------------------- /*
 * Home
/* ---------------------------------------------- */

#home {
	background: url(../images/cover.jpg);
	background-color: #222;
	background-attachment: fixed;
	background-repeat: no-repeat;
	background-position: 50% 50%;
	-webkit-background-size: cover;
	   -moz-background-size: cover;
		 -o-background-size: cover;
			background-size: cover;
	padding: 0;
}

.home-overlay {
    background-color: rgba(44, 62, 80, 0.3);
    background-image: url("../images/pattern.png");
    background-repeat: repeat;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 0;
}

.intro {
	position: absolute;
	width: 100%;
	top: 50%;
	left: 0;
	text-align: center;
	-webkit-transform: translate(0%, -50%);
	   -moz-transform: translate(0%, -50%);
		-ms-transform: translate(0%, -50%);
		 -o-transform: translate(0%, -50%);
			transform: translate(0%, -50%);
	padding: 0 15px;
}

.intro h1{
    font-weight: 800;
}

.start {
	font-family: Raleway, "Times New Roman", Times, sans-serif;
	font-size: 16px;
	font-style: normal;
	text-transform: none;
	margin: 15px 0;
}

/* ---------------------------------------------- /*
 * Servise
/* ---------------------------------------------- */

.iconbox {
	background: #fff;
	border-bottom: 1px solid #d4d4d4;
	text-align: center;
	padding: 40px 20px;
	margin: 0 0 20px;
}

.iconbox-icon {
	margin: 0 0 15px;
	font-size: 32px;
	color: #222;
}

.iconbox-title {
	margin: 0 0 15px;
	padding: 0;
}

/* ---------------------------------------------- /*
 * Skills
/* ---------------------------------------------- */

.chart {
    display: inline-block;
    height: 140px;
    margin: 50px 0;
    position: relative;
    text-align: center;
    width: 140px;
}
.chart canvas {
    left: 0;
    position: absolute;
    top: 0;
}
.percent {
    display: inline-block;
    font-size: 25px;
    font-weight: 300;
    line-height: 140px;
    z-index: 2;
}
.percent:after {
    content: "%";
    font-size: 50%;
    margin-left: 0.1em;
}

/* ---------------------------------------------- /*
 * Contact
/* ---------------------------------------------- */

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

/* ---------------------------------------------- /*
 * Footer
/* ---------------------------------------------- */

#footer {
	background: #222;
	text-align: center;
	padding: 40px 0;
	color: #FFF;
}

.copyright {
	margin: 0;
}

.copyright a{
    border-bottom: 1px dotted #fff;
}

#footer span{
    animation-iteration-count: infinite;
    -webkit-animation-iteration-count: infinite;
    color: #ff5252;
}

.social-links {
	list-style: none;
	padding: 0;
	margin: 0 0 20px;
}

.social-links li {
	display: inline-block;
	margin: 5px;
}

.social-links a {
	width: 36px;
	height: 36px;
	display: block;
	line-height: 35px;
	text-align: center;
	border: 1px solid rgba(255, 255, 255, .1);
	-webkit-border-radius: 3px;
	   -moz-border-radius: 3px;
			border-radius: 3px;
	font-size: 14px;
	color: rgba(255, 255, 255, .2);
}

.social-links a:hover {
	border: 1px solid rgba(255, 255, 255, .5);
	color: rgba(255, 255, 255, .8);
}

/* ---------------------------------------------- /*
 * Navigation
/* ---------------------------------------------- */

.header {
	border-bottom: 1px solid #f5f5f5;
	position: relative;
	width: 100%;
	z-index: 998;
}

.navbar-custom {
	border: 0;
	border-radius: 0;
	margin: 0;
	text-transform: uppercase;
	font-family: Raleway, sans-serif;
}

.navbar-custom,
.navbar-custom .dropdown-menu {
	background: #fff;
	padding: 0;
}

.navbar-custom .navbar-brand,
.navbar-custom .navbar-nav > li > a,
.navbar-custom .navbar-nav .dropdown-menu > li > a {
	font-size: 11px;
	letter-spacing: 3px;
	color: #222;
}

.navbar-custom .nav li.active,
.navbar-custom .nav li a:hover,
.navbar-custom .nav li a:focus,
.navbar-custom .navbar-nav > li.active a {
	background: none;
	outline: 0;
	color: #E7746F;
}

.navbar-custom .navbar-brand {
	font-weight: 700;
	font-size: 22px;
    font-family: Lobster, cursive;
}

.navbar-custom .dropdown-menu {
	border: 0;
	border-top: 2px solid #E7746F;
	border-radius: 0;
}

.navbar-custom .dropdown-menu > li > a {
	padding: 10px 20px;
}

.navbar-custom .nav .open > a,
.navbar-custom .dropdown-menu > li > a:hover,
.navbar-custom .dropdown-menu > li > a:focus {
	background: #f5f5f5;
}

.navbar-custom .navbar-toggle .icon-bar {
	background: #222;
}

/* ---------------------------------------------- /*
 * Scroll to top
/* ---------------------------------------------- */

.scroll-up {
	position: fixed;
	display: none;
	z-index: 999;
	bottom: 2em;
	right: 2em;
}

.scroll-up a {
	background-color: rgba(135, 135, 135, 0.5);
	display: block;
	width: 35px;
	height: 35px;
	text-align: center;
	color: #fff;
	font-size: 15px;
	line-height: 30px;
}

.scroll-up a:hover,
.scroll-up a:active {
	background-color: rgba(235, 235, 235, .8);
	color: #e7746f;
}

/* ---------------------------------------------- /*
 *Scroll Down
/* ---------------------------------------------- */

.scroll-down {
	position: absolute;
	left: 50%;
	bottom: 40px;
	border: 2px solid #fff;
	border-radius: 50%;
	height: 50px;
	width: 50px;
	margin-left: -15px;
	display: block;
	z-index: 10;
    text-align: center;
}

.scroll-down span{
    position: relative;
    color: #fff;
    -webkit-animation-name: drop;
	-webkit-animation-duration: 1s;
	-webkit-animation-timing-function: linear;
	-webkit-animation-delay: 0s;
	-webkit-animation-iteration-count: infinite;
	-webkit-animation-play-state: running;
	animation-name: drop;
	animation-duration: 1s;
	animation-timing-function: linear;
	animation-delay: 0s;
	animation-iteration-count: infinite;
	animation-play-state: running;
}

@-webkit-keyframes drop	{
	0%   { top:0px;  opacity: 0;}
	30%  { top:10px; opacity: 1;}
	100% { top:25px; opacity: 0;}
}

@keyframes drop	{
	0%   { top:0px;  opacity: 0;}
	30%  { top:10px; opacity: 1;}
	100% { top:25px; opacity: 0;}
}

/* ---------------------------------------------- /*
 * Preloader
/* ---------------------------------------------- */

#preloader {
	background: #FFF;
	bottom: 0;
	left: 0;
	position: fixed;
	right: 0;
	top: 0;
	z-index: 9999;
}

#status {
	background-image: url(../images/preloader.gif);
	background-position: center;
	background-repeat: no-repeat;
	height: 200px;
	left: 50%;
	margin: -100px 0 0 -100px;
	position: absolute;
	top: 50%;
	width: 200px;
}

/* ---------------------------------------------- /*
 * Media
/* ---------------------------------------------- */

@media (max-width: 767px) {

	.calltoaction {
		text-align: center;
	}

}

@media (max-width: 480px) {

	h1 {
		font-size: 34px;
		letter-spacing: 3px;
	}

	h2 {
		font-size: 24px;
		margin: 0 0 30px;
		letter-spacing: 3px;
	}

}


/*--------------------------------*/
/***** Portfolio Common style *****/
/*--------------------------------*/

.grid {
	position: relative;
	clear: both;
	margin: 0 auto;
	padding: 1em 0 4em;
	max-width: 100%;
	list-style: none;
	text-align: center;
}

.grid h2{
    font-size: 20px;
}

.grid figure {
	position: relative;
	float: left;
	overflow: hidden;
	margin: 10px 1%;
	min-width: 100%;
	max-width: 100%;
	height: auto;
	background: #3085a3;
	text-align: center;
	cursor: pointer;
}

.grid figure img {
	position: relative;
	display: block;
	min-height: 100%;
	max-width: 100%;
	opacity: 0.8;
}

.grid figure figcaption {
	padding: 2em;
	color: #fff;
	text-transform: uppercase;
	font-size: 1.25em;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.grid figure figcaption::before,
.grid figure figcaption::after {
	pointer-events: none;
}

.grid figure figcaption,
.grid figure figcaption > a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* Anchor will cover the whole item by default */
/* For some effects it will show as a button */
.grid figure figcaption > a {
	z-index: 1000;
	text-indent: 200%;
	white-space: nowrap;
	font-size: 0;
	opacity: 0;
}

.grid figure h2 {
	word-spacing: -0.15em;
	font-weight: 300;
}

.grid figure h2 span {
	font-weight: 800;
}

.grid figure h2,
.grid figure p {
	margin: 0;
}

.grid figure p {
	letter-spacing: 1px;
	font-size: 68.5%;
}

/*---------------*/
/***** Bubba *****/
/*---------------*/

figure.effect-bubba {
	background: #9e5406;
}

figure.effect-bubba img {
	opacity: 0.7;
	-webkit-transition: opacity 0.35s;
	transition: opacity 0.35s;
}

figure.effect-bubba:hover img {
	opacity: 0.4;
}

figure.effect-bubba figcaption::before,
figure.effect-bubba figcaption::after {
	position: absolute;
	top: 30px;
	right: 30px;
	bottom: 30px;
	left: 30px;
	content: '';
	opacity: 0;
	-webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
	transition: opacity 0.35s, transform 0.35s;
}

figure.effect-bubba figcaption::before {
	border-top: 1px solid #fff;
	border-bottom: 1px solid #fff;
	-webkit-transform: scale(0,1);
	transform: scale(0,1);
}

figure.effect-bubba figcaption::after {
	border-right: 1px solid #fff;
	border-left: 1px solid #fff;
	-webkit-transform: scale(1,0);
	transform: scale(1,0);
}

figure.effect-bubba h2 {
	padding-top: 10%;
	-webkit-transition: -webkit-transform 0.35s;
	transition: transform 0.35s;
	-webkit-transform: translate3d(0,-20px,0);
	transform: translate3d(0,-20px,0);
    color: #fff;
}

figure.effect-bubba p {
	padding: 20px 2.5em;
	opacity: 0;
	-webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
	transition: opacity 0.35s, transform 0.35s;
	-webkit-transform: translate3d(0,20px,0);
	transform: translate3d(0,20px,0);
}

figure.effect-bubba:hover figcaption::before,
figure.effect-bubba:hover figcaption::after {
	opacity: 1;
	-webkit-transform: scale(1);
	transform: scale(1);
}

figure.effect-bubba:hover h2,
figure.effect-bubba:hover p {
	opacity: 1;
	-webkit-transform: translate3d(0,0,0);
	transform: translate3d(0,0,0);
}

/*-----------------------*/
/***** Quote Rotator *****/
/*-----------------------*/

.cbp-qtrotator {
	position: relative;
	margin: 3em auto 0em auto;
	max-width: 90%;
	width: 90%;
}

.cbp-qtrotator .cbp-qtcontent {
	position: absolute;
	min-height: 200px;
	border-top: 1px solid #f4f4f4;
	border-bottom: 1px solid #f4f4f4;
	padding: 2em 0;
	top: 0;
	z-index: 0;
	opacity: 0;
	width: 100%;
}

.no-js .cbp-qtrotator .cbp-qtcontent {
	border-bottom: none;
}

.cbp-qtrotator .cbp-qtcontent.cbp-qtcurrent,
.no-js .cbp-qtrotator .cbp-qtcontent {
	position: relative;
	z-index: 100;
	pointer-events: auto;
	opacity: 1;
}

.cbp-qtrotator .cbp-qtcontent:before,
.cbp-qtrotator .cbp-qtcontent:after {
	content: " ";
	display: table;
}

.cbp-qtrotator .cbp-qtcontent:after {
	clear: both;
}

.cbp-qtprogress {
	position: absolute;
	background: #FF5252;
	height: 1px;
	width: 0%;
	top: 0;
	z-index: 1000;
}

.cbp-qtrotator blockquote {
	margin: 0;
	padding: 0;
    border: 0;
    font-size: 12px;
}

.cbp-qtrotator blockquote p {
	font-size: 2em;
	color: #888;
	font-weight: 300;
	margin: 0.4em 0 1em;
}

.cbp-qtrotator blockquote footer {
	font-size: 1.2em;
}

.cbp-qtrotator blockquote footer:before {
	content: '― ';
}

.cbp-qtrotator .cbp-qtcontent img {
	float: right;
	margin-left: 3em;
}

/* From Vokuro design */
/* Example for media query */
@media screen and (max-width: 30.6em) {

	.cbp-qtrotator {
		font-size: 70%;
	}

	.cbp-qtrotator img {
		width: 80px;
	}

}

/*
 * Copyright (c) 2026 Anton Shedlovsky
 *
 * All rights reserved.
 *
 * No part of this repository (including code, content, graphics, and other materials)
 * may be reproduced, distributed, or transmitted in any form or by any means
 * without the prior written permission of the copyright owner.
 *
 * For permission requests, please contact: alfaluck@gmail.com
 */

:root{
    --vk-rail:#243031; --vk-rail-2:#31403f; --vk-canvas:#f3f5f2; --vk-surface:#fff;
    --vk-mint:#86f6da; --vk-green:#678a6f; --vk-ink:#23302f; --vk-body:#5f6660;
    --vk-muted:#8a948d; --vk-faint:#aab3a9; --vk-border:#e2e8df; --vk-border-soft:#f1f4ef;
    --vk-head-bg:#f7f9f6; --vk-ok-fg:#2f5d3d; --vk-ok-bg:#e3f1e6; --vk-warn-fg:#8a6d24;
    --vk-warn-bg:#f6efd9; --vk-danger:#b2433a;
    --vk-r-card:12px; --vk-r-field:9px; --vk-r-pill:6px;
    --vk-font:'Manrope',system-ui,-apple-system,sans-serif;
    --vk-mono:'JetBrains Mono',ui-monospace,monospace;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{font-family:var(--vk-font);color:var(--vk-body);background:var(--vk-canvas);
    -webkit-font-smoothing:antialiased;line-height:1.5;}
a{color:var(--vk-green);text-decoration:none;} a:hover{text-decoration:underline;}
h1,h2,h3{color:var(--vk-ink);letter-spacing:-0.01em;margin:0 0 .5em;}
img{max-width:100%;}
hr{border:none;border-top:1px solid var(--vk-border);margin:18px 0;}

/* buttons */
.btn,.btn-green,.btn-danger,.btn-ghost{display:inline-flex;align-items:center;justify-content:center;
    gap:8px;height:44px;padding:0 18px;border-radius:var(--vk-r-field);border:1px solid transparent;
    font:600 14px var(--vk-font);cursor:pointer;text-decoration:none;}
.btn{background:var(--vk-rail);color:#fff;} .btn:hover{background:var(--vk-rail-2);text-decoration:none;}
.btn-green{background:var(--vk-green);color:#fff;}
.btn-danger{background:transparent;color:var(--vk-danger);border-color:var(--vk-border);}
.btn-ghost{background:var(--vk-surface);color:var(--vk-ink);border-color:var(--vk-border);}
.btn-sm{height:34px;padding:0 12px;font-size:13px;}

/* forms */
.field{margin-bottom:16px;}
.field > label{display:block;font:600 13px var(--vk-font);color:#3f4a45;margin-bottom:7px;}
.field .label-mono{font:500 11px var(--vk-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--vk-muted);}
.input,.select{width:100%;height:46px;background:var(--vk-surface);border:1px solid var(--vk-border);
    border-radius:var(--vk-r-field);padding:0 14px;font:400 14px var(--vk-font);color:var(--vk-ink);}
textarea.input{height:auto;padding:12px 14px;}
.input:focus,.select:focus{outline:none;border-color:var(--vk-green);}
.field-error{color:var(--vk-danger);font-size:12.5px;margin-top:6px;}
.check{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--vk-body);margin-bottom:16px;}

/* cards & layout primitives */
/*.container{max-width:1080px;margin:0 auto;padding:32px 24px;}*/
.card{background:var(--vk-surface);border:1px solid var(--vk-border);border-radius:var(--vk-r-card);
    padding:24px;box-shadow:0 6px 20px rgba(40,60,50,.04);margin-bottom:20px;}
.page-head{margin-bottom:22px;} .page-head h1{font-size:28px;font-weight:800;}
.page-head p{color:#717a73;margin:4px 0 0;}
.actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px;}

/* data table */
.data-table{background:var(--vk-surface);border:1px solid var(--vk-border);border-radius:var(--vk-r-card);overflow:hidden;margin-bottom:18px;}
.data-table table{width:100%;border-collapse:collapse;}
.data-table th{font:600 10.5px var(--vk-mono);letter-spacing:.08em;text-transform:uppercase;
    color:var(--vk-muted);background:var(--vk-head-bg);text-align:left;padding:13px 16px;border-bottom:1px solid var(--vk-border-soft);}
.data-table td{padding:14px 16px;border-bottom:1px solid var(--vk-border-soft);font-size:13.5px;color:var(--vk-body);}
.data-table tr:last-child td{border-bottom:none;}
.data-table td.id{font-family:var(--vk-mono);color:var(--vk-faint);}
.data-table td.name{font-weight:700;color:var(--vk-ink);}
.table-scroll{overflow-x:auto;}

/* pills */
.pill{display:inline-block;font-size:11px;font-weight:600;border-radius:var(--vk-r-pill);padding:3px 9px;}
.pill-ok{color:var(--vk-ok-fg);background:var(--vk-ok-bg);}
.pill-warn{color:var(--vk-warn-fg);background:var(--vk-warn-bg);}

/* flash */
.flash{border-radius:var(--vk-r-field);padding:12px 16px;margin-bottom:16px;font-size:14px;border:1px solid transparent;}
.flash-success{color:var(--vk-ok-fg);background:var(--vk-ok-bg);border-color:#cbe6d2;}
.flash-error,.flash-danger{color:var(--vk-danger);background:#f7e7e5;border-color:#eccdca;}
.flash-notice,.flash-warning{color:var(--vk-warn-fg);background:var(--vk-warn-bg);border-color:#ece0c2;}

/* public top nav + footer + hero */
.topbar{background:var(--vk-surface);border-bottom:1px solid #e7ece5;}
.topbar .inner{max-width:1080px;margin:0 auto;height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;}
.brand{display:flex;align-items:center;gap:11px;font-weight:700;color:var(--vk-ink);font-size:16px;}
.brand:hover{text-decoration:none;} .brand img{width:28px;height:28px;}
.topbar nav{display:flex;align-items:center;gap:8px;}
.topbar nav a{color:var(--vk-body);padding:8px 12px;border-radius:8px;}
.topbar nav a.is-active{color:var(--vk-ink);font-weight:700;}
.topbar nav a.btn{color:#fff;}
.footer{border-top:1px solid #e7ece5;color:var(--vk-muted);font-size:13px;text-align:center;padding:24px;}
.hero{background:var(--vk-rail);color:#fff;border-radius:16px;padding:48px 40px;margin-bottom:28px;}
.hero h1{color:#fff;font-size:34px;font-weight:800;}
.hero p{color:#b9cdc7;font-size:16px;max-width:620px;}
.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;}
.feature{background:var(--vk-surface);border:1px solid var(--vk-border);border-radius:var(--vk-r-card);padding:22px;}
.feature h3{font-size:17px;}

/* app shell (private) */
.app{display:flex;min-height:100vh;}
.rail{width:228px;flex:none;background:var(--vk-rail);color:#cfe0db;display:flex;flex-direction:column;padding:20px 12px;transition:width .18s ease;}
.rail .brand{color:#fff;padding:4px 8px 20px;}
.rail-section{font:500 10px var(--vk-mono);letter-spacing:.12em;text-transform:uppercase;color:#5e716c;padding:0 9px 8px;}
.rail-nav{display:flex;flex-direction:column;gap:2px;}
.rail-nav a{display:flex;align-items:center;gap:11px;height:36px;padding:0 11px;border-radius:8px;font-size:13.5px;color:#9bafa9;}
.rail-nav a:hover{color:#fff;text-decoration:none;}
.rail-nav a.is-active{font-weight:600;color:#fff;background:var(--vk-rail-2);border-left:2px solid var(--vk-mint);}
.rail-user{margin-top:auto;display:flex;align-items:center;gap:10px;padding:12px 9px 4px;border-top:1px solid rgba(255,255,255,.07);}
.rail-user .avatar{width:30px;height:30px;border-radius:50%;background:var(--vk-rail-2);display:flex;align-items:center;justify-content:center;font:700 12px var(--vk-font);color:var(--vk-mint);}
.rail-user .who{font-size:12.5px;font-weight:600;color:#eaf1ee;line-height:1.2;}
.rail-user .who a{font-size:11px;color:#7c8e89;font-weight:400;}
.content{flex:1;display:flex;flex-direction:column;min-width:0;}
.content-head{height:58px;flex:none;background:var(--vk-surface);border-bottom:1px solid #e7ece5;display:flex;align-items:center;justify-content:space-between;padding:0 26px;}
.crumb{display:flex;align-items:center;gap:14px;font:400 13px var(--vk-mono);color:var(--vk-muted);} .crumb b{color:var(--vk-ink);font-weight:600;}
.content-body{padding:26px;}
.toolbar{display:flex;gap:9px;margin-bottom:18px;flex-wrap:wrap;} .toolbar .input{flex:1;height:38px;}

/* auth split */
.auth{display:flex;min-height:100vh;}
.auth-brand{width:38%;max-width:420px;background:var(--vk-rail);color:#cfe0db;padding:38px 36px;display:flex;flex-direction:column;}
.auth-brand .tagline{margin-top:auto;} .auth-brand .tagline h2{color:#fff;font-size:25px;font-weight:800;line-height:1.25;}
.auth-brand .tagline p{color:#94a8a2;font-size:13.5px;}
.auth-form{flex:1;background:var(--vk-canvas);display:flex;align-items:center;justify-content:center;padding:36px;}
.auth-form .box{width:100%;max-width:380px;}

/* mobile */
.rail-toggle{display:none;}
@media (max-width:860px){
    .app{flex-direction:column;}
    .rail{width:100%;flex-direction:row;align-items:center;padding:10px 14px;position:relative;}
    .rail .brand{padding:0;}
    .rail-section{display:none;}
    .rail-nav{display:none;position:absolute;top:56px;left:0;right:0;background:var(--vk-rail);flex-direction:column;padding:8px;z-index:20;}
    .rail.open .rail-nav{display:flex;} .rail-user{display:none;}
    .rail-toggle{display:inline-flex;margin-left:auto;background:none;border:0;color:#cfe0db;font-size:22px;cursor:pointer;}
    .auth{flex-direction:column;} .auth-brand{width:100%;max-width:none;}
}

/* nav / collapse toggles */
.nav-toggle{display:none;background:none;border:0;color:var(--vk-ink);font-size:22px;line-height:1;cursor:pointer;padding:4px 8px;}
.rail-collapse{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:none;background:none;border:1px solid var(--vk-border);border-radius:9px;color:var(--vk-body);font-size:16px;line-height:1;cursor:pointer;padding:0;}
.rail-nav a .ico{width:19px;height:19px;flex:none;}

/* collapsed sidebar (desktop): thin icon-only rail */
@media (min-width:861px){
    .app.rail-collapsed .rail{width:74px;padding-left:12px;padding-right:12px;align-items:center;}
    .app.rail-collapsed .rail .brand{justify-content:center;}
    .app.rail-collapsed .rail .brand .lbl,
    .app.rail-collapsed .rail-section,
    .app.rail-collapsed .rail-nav a .lbl,
    .app.rail-collapsed .rail-user .who{display:none;}
    .app.rail-collapsed .rail-nav a{justify-content:center;padding-left:0;padding-right:0;}
    .app.rail-collapsed .rail-user{justify-content:center;}
}

@media (max-width:860px){
    .topbar .inner{flex-wrap:wrap;}
    .nav-toggle{display:inline-flex;}
    .topbar nav{display:none;flex-basis:100%;flex-direction:column;align-items:flex-start;gap:4px;padding:8px 0 4px;}
    .topbar.open nav{display:flex;}
    .rail-collapse{display:none;}
}

