@import url('../textfont/stylesheet.css');
@import url('line-awesome.css');
@import url('all.min.css');
@import url('swiper-bundle.min.css');
@import url('animate.css');
@import url('bootstrap.min.css');
@import url('fancybox.css');
@import url('lity.min.css');
@import url('intlTelInput.css');
@import url('aos.css');


a {
	text-decoration:none;
	transition:all 0.3s ease;
}
a:hover {
	text-decoration:none;
}

ol,ul {
	padding:0px;
	margin:0px;
}
h1 {
	font-size:50px;
	font-weight:400;
	line-height:56px;
	margin-bottom:10px;
}
h2 {
	font-size:30px;
	font-weight:700;
	line-height:39px;
	margin-bottom:10px;
}
h3 {
	font-size:20px;
	font-weight:700;
	line-height:26px;
	margin-bottom:10px;
}
h4 {
	font-size:18px;
	font-weight:500;
	line-height:24px;
	margin-bottom:10px;
}
h5 {
	font-size:16px;
	font-weight:700;
	line-height:23px;
	margin-bottom:10px;
}
h6 {
	font-size:14px;
	font-weight:500;
	line-height:18px;
	margin-bottom:10px;
}
p {
	font-size:15px;
	font-weight:400;
	line-height:25px;
	margin-bottom:10px;
}
main {
	overflow:hidden;
	width:calc(100vw - 5px);
	min-height:100vh;
}

body {
	position:relative;
	font-family: 'Roboto', sans-serif;
}


:root {
  --anarenk: #1f1f1f;
  --kirmizi: #ea0005;
  --gri: #9D9E9D;
  --siyah: #1f1f1f;
  --krem: #fcfcf9;
}

/* width */
.scrollbar::-webkit-scrollbar {
  width: 5px;
  height: 5px;
}

/* Track */
.scrollbar::-webkit-scrollbar-track {
  background: #F6F5F0; 
}
 
/* Handle */
.scrollbar::-webkit-scrollbar-thumb {
  background: var(--anarenk); 
}

/* Handle on hover */
.scrollbar::-webkit-scrollbar-thumb:hover {
  background: #FEDD06; 
}
.container-fluid {
	max-width:calc(100vw - 30px);	
}

.swiper {
	position:relative;
	overflow:hidden;
}

.dikeyortala {
	display:flex;
	flex-direction:column;
	justify-content:center;
	height:100%;
}

/*------------------cerezpolitikasi----------------------*/
.cerezpolitikasi {
	position:fixed;
	bottom:20px;
	left:20px;
	width:400px;
	max-width:calc(100% - 40px);
	padding:20px;
	border-radius:20px;
	background:rgba(0,0,0,0.5);
	font-size:14px;
	line-height:20px;
	color:#fff;
	z-index:100000;
}
.btn {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:0px 30px;
	height:46px;
	border-radius:4px;
	font-weight: 400;
	font-size: 14px;
	line-height: 30px;
	text-align: center;
}


/*------------------header----------------------*/

.aciklama {
	margin-bottom:24px;
}
.aciklama h1 {
	font-weight: 600;
	font-size: 24px;
	line-height: 34px;
	color: var(--yesil);
	margin-bottom:14px;
}
.aciklama ul,ol {
	list-style:none;
	margin-bottom:24px;
}
.aciklama ul li ,
.aciklama ol li 
{
	position:relative;
	padding-left:15px;
	font-weight: 400;
	font-size: 16px;
	line-height: 24px;
	color: var(--yesil);
	opacity: 1;
}
.aciklama ul li:before ,
.aciklama ol li:before 
{
	position:absolute;
	content:"";
	top:11px;
	left:0px;
	width:7px;
	height:7px;
	border-radius:4px;
	background:var(--yesil);
	opacity: 1 !important;
}
.aciklama img {
	width:100% !important;
	border-radius:20px;
	max-height:300px;
	object-fit:cover;
	margin-bottom:25px;
}
.aciklama h2 ,
.aciklama h3 ,
.aciklama h4 ,
.aciklama h5 
{
	font-weight: 700;
	font-size: 24px;
	line-height: 36px;
	color: var(--yesil);
	margin-bottom:20px;
}
.aciklama p 
{
	font-weight: 500;
	font-size: 16px;
	line-height: 24px;
	color: var(--yesil);
	opacity: 1;
	margin-bottom:20px;
}
/*------------------header----------------------*/

#header {
	position:relative;
	z-index:999;
	transition:all 0.3s ease;
}
#header.sabit {
	position:relative;
	transition:all 0.3s ease;
}
#header.heading {
	position:fixed;
	top:0px;
	left:0px;
	width:100%;
	z-index:999;
}
#header .alan {
	display:flex;
	align-items:center;
	padding:10px 0px;
}
#header .alan .logo {
	margin:0 auto;
}
#header .alan .logo img {
	height:50px;
}
#sohbetalan {
	position:relative;
	width: 100vw;
	height: calc(100dvh - 70px);
	display: flex;
	flex-direction: column;
	background: #f4f4f4;
	border: 1px solid #ccc;
	box-shadow: 0 0 10px rgba(0,0,0,0.1);
	overflow: hidden;
}

#sohbetalan #aktifpasif {
	position:absolute;
	top:10px;
	right:30px;
	z-index:50;
}
#sohbetalan #aktifpasif span {
	padding:5px 8px;
	border-radius:20px;
	font-size:10px;
	color:#fff;
}
#sohbetalan #aktifpasif span.aktif {
	background:green;
}
#sohbetalan #aktifpasif span.pasif {
	background:red;
}
.mesajlar {
	flex: 1;
	overflow-y: auto;
	padding: 20px;
	display: flex;
	flex-direction: column-reverse;
	overflow-y:scroll;
}

.mesajkutu {
	display: flex;
	flex-direction:column;
	align-items: flex-start;
	margin-bottom: 15px;
	gap: 10px;
}

.mesajkutu.sag {
	align-items: flex-end;
}

.mesajkutu .ust {
	display: inline-flex;
	align-items: flex-start;
	grid-gap:20px;
	font-size: 12px;
	color: #666;
}

.mesajkutu.sag .mesaj .ust {
	align-items: flex-end;
}

.mesajkutu .mesaj .adi {
	font-weight: bold;
	color: #333;
}

.mesajkutu .mesaj .tarihsaat {
	font-size: 10px;
	color: #999;
}

.mesajkutu .mesaj {
	background: #fff;
	padding: 10px 15px;
	border-radius: 15px;
	max-width: 60%;
	position: relative;
	word-wrap: break-word;
}

.mesajkutu.sag .mesaj {
	background: #dcf8c6;
}

.mesajkutu .mesaj .resim {
	display:flex;
	width:100%;
}

.mesajkutu .mesaj img {
	width: 100%;
	border-radius: 4px;
}

.mesajyaz {
	position:relative;
	padding: 0px;
	border-top: 1px solid #ccc;
	background: #fff;
	display: flex;
	gap: 10px;
}

.mesajyaz .form-control {
	flex: 1;
	border-radius: 0px;
	border: 0px solid #ccc;
	padding: 10px 15px;
}

.mesajyaz .btn {
	border-radius: 0px;
}
.mesajyaz .btn i {
	font-size:30px;
}
.mesajyaz .komutac {
	position:absolute;
	top:-70px;
	right:20px;
	width:50px;
	height:50px;
	border-radius:50%;
	background:#000;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:24px;
	color:#fff;
	border:0px;
}
.mesajyaz .komutac.active {
	display:none;
}
#sohbetalan .komutlar {
	position:relative;
	padding:10px;
	display:none;
	flex-wrap:wrap;
	grid-gap:4px;
}
#sohbetalan .komutlar.active {
	display:flex;
}

#sohbetalan .komutlar .camera {
	width:100%;
}
#sohbetalan .komutlar .camera img {
	width:100%;
	aspect-ratio:1920/1080;
	object-fit:contain;
	object-position:center;
}

#sohbetalan .komutlar .komutkapat {
	position:absolute;
	top:-15px;
	right:15px;
	width:30px;
	height:30px;
	border-radius:50%;
	background:red;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:20px;
	color:#fff;
	border:0px;
}
#sohbetalan .komutlar .yonler {
	width:100%;
	display:flex;
	flex-wrap:wrap;
	grid-gap:6px;
}

#sohbetalan .komutlar .yonler .ileri ,
#sohbetalan .komutlar .yonler .geri 
{
	width:100%;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:5px;
	border:1px solid rgba(0,0,0,0.1);
	border-radius:2px;
}

#sohbetalan .komutlar .yonler .sol ,
#sohbetalan .komutlar .yonler .dur ,
#sohbetalan .komutlar .yonler .sag
{
	width:calc(33.33% - 4px);
	display:flex;
	align-items:center;
	justify-content:center;
	padding:5px;
	border:1px solid rgba(0,0,0,0.1);
	border-radius:2px;
}
#sohbetalan .komutlar .yonler .ileri:hover ,
#sohbetalan .komutlar .yonler .geri:hover ,
#sohbetalan .komutlar .yonler .sol:hover ,
#sohbetalan .komutlar .yonler .dur:hover ,
#sohbetalan .komutlar .yonler .sag:hover
{
	background:#000;
	color:#fff;
}

#sohbetalan .komutlar .btn
{
    width: calc(25% - 3px);
    grid-gap: 5px;
    display: flex;
    flex-direction: column;
    font-size: 12px;
    padding: 5px;
    height: auto;
    line-height: 16px;
}
#sohbetalan .komutlar .btn span
{
    font-size:18px;
}
/* --- YEKO MODERN HUD PANEL (V2) --- */
#robotbilgipanel {
    position: absolute;
    top: 60px;
    right: 20px;
    width: calc(100vw - 40px); /* Genislettik */
    background: rgba(20, 20, 20, 0.85); /* Koyu Tema */
    backdrop-filter: blur(10px); /* Buzlu Cam Efekti */
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 15px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.5);
    z-index: 9999;
    overflow: hidden;
    color: #fff;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
#robotbilgipanel.kapali {
    width: 55px;
    height: 55px;
    border-radius: 50%;
    cursor: pointer;
    padding: 0 !important; /* İkonun kaymasını engelleyen kritik kod */
    
    /* Kırmızı yerine Modern Koyu Cam Efekti */
    background: rgba(20, 20, 20, 0.6); 
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 2px solid rgba(255, 255, 255, 0.15);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
    
    /* Tam Ortalama */
    display: flex;
    align-items: center;
    justify-content: center;
    
}

/* Hover (Üzerine Gelince) Efekti */
#robotbilgipanel.kapali:hover {
    background: rgba(234, 0, 5, 0.9); /* Yeko Kırmızısı buraya taşındı */
    border-color: rgba(234, 0, 5, 0.5);
    transform: scale(1.1) rotate(90deg); /* Hafif büyüme ve dönme efekti */
    box-shadow: 0 0 25px rgba(234, 0, 5, 0.6); /* Neon parlama */
}

/* İkon Ayarı */
#robotbilgipanel.kapali::after {
    content: "\f279"; /* Harita İkonu */
    font-family: "Line Awesome Free";
    font-weight: 900;
    font-size: 28px;
    color: #fff;
    line-height: 1; /* Satır yüksekliği sıfırlama (Kaymayı önler) */
    text-shadow: 0 2px 5px rgba(0,0,0,0.5);
}

/* Kapaliyken icerigi gizle */
#robotbilgipanel.kapali .panel-icerik,
#robotbilgipanel.kapali .panel-baslik,
#robotbilgipanel.kapali .panel-baslik span,
#robotbilgipanel.kapali .kapat-btn {
    display: none;
}

/* Kapaliyken sadece harita ikonu goster */
#robotbilgipanel.kapali::after {
    content: "\f279"; /* FontAwesome Map Icon */
    font-family: "Line Awesome Free";
    font-weight: 900;
    font-size: 24px;
    color: #fff;
}

.panel-baslik {
    padding: 15px;
    background: rgba(255, 255, 255, 0.05);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.panel-baslik span {
    font-weight: 600;
    font-size: 14px;
    letter-spacing: 1px;
    color: #ddd;
}

.kapat-btn {
    background: transparent;
    border: none;
    color: #aaa;
    cursor: pointer;
    font-size: 18px;
    transition: color 0.3s;
}
.kapat-btn:hover { color: #fff; }

.panel-icerik {
    padding: 15px;
}

/* CPU Cubugu */
.bilgi-kutu {
    margin-bottom: 15px;
}
.bilgi-baslik {
    display: flex;
    justify-content: space-between;
    font-size: 11px;
    color: #aaa;
    margin-bottom: 5px;
}
.bar-bg {
    height: 6px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 3px;
    overflow: hidden;
}
.bar-doluluk {
    height: 100%;
    background: linear-gradient(90deg, #00b09b, #96c93d); /* Yesil Degrade */
    box-shadow: 0 0 10px rgba(150, 201, 61, 0.5); /* Neon Parlama */
    transition: width 0.5s ease;
}

/* Harita */
#harita-kutusu {
    width: 100%;
    height: 300px;
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

/* Leaflet Ozel Stil (Karanlik Harita icin filtre) */
.leaflet-layer,
.leaflet-control-zoom-in,
.leaflet-control-zoom-out,
.leaflet-control-attribution {
  filter: invert(100%) hue-rotate(180deg) brightness(95%) contrast(90%);
}
/* ==========================================
   BILGI PANELI SATIRLARI
   ========================================== */
.bilgi-satirlar {
	margin: 10px 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.bilgi-satir {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 12px;
	padding: 6px 10px;
	background: rgba(255,255,255,0.07);
	border-radius: 8px;
	color: #fff;
}
.bilgi-satir span:last-child {
	font-weight: 700;
}

/* ==========================================
   ROTA EDITORU
   ========================================== */
#rotaeditor {
	position: fixed;
	inset: 0;
	z-index: 10010;
	background: rgba(15, 15, 20, 0.92);
	display: none;
	flex-direction: column;
	padding: 12px;
	gap: 10px;
}
#rotaeditor.acik {
	display: flex;
}
#rotaeditor .rota-ust {
	display: flex;
	align-items: center;
	gap: 14px;
	color: #fff;
}
#rotaeditor .rota-ust .rota-baslik {
	font-weight: 700;
	letter-spacing: 1px;
	font-size: 15px;
}
#rotaeditor .rota-ust #rota-bilgi {
	background: #ff7a00;
	color: #fff;
	border-radius: 20px;
	padding: 4px 14px;
	font-size: 12px;
	font-weight: 700;
}
#rotaeditor .rota-ust .rota-kapat {
	margin-left: auto;
	background: rgba(255,255,255,0.12);
	border: none;
	color: #fff;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	font-size: 20px;
	cursor: pointer;
	transition: background .2s;
}
#rotaeditor .rota-ust .rota-kapat:hover {
	background: #ea0005;
}
#rota-harita {
	flex: 1;
	width: 100%;
	border-radius: 12px;
	border: 1px solid rgba(255,255,255,0.15);
}
/* Rota haritasinda karanlik filtreyi iptal et (net gorunum) */
#rotaeditor .leaflet-layer,
#rotaeditor .leaflet-control-zoom-in,
#rotaeditor .leaflet-control-zoom-out,
#rotaeditor .leaflet-control-attribution {
	filter: none;
}
#rotaeditor .rota-ipucu {
	color: rgba(255,255,255,0.65);
	font-size: 12px;
	text-align: center;
}
#rotaeditor .rota-alt {
	display: flex;
	gap: 8px;
	justify-content: center;
	flex-wrap: wrap;
}
#rotaeditor .rota-alt .btn-success {
	font-weight: 700;
}

/* Numarali rota noktalari */
.rota-nokta span {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	background: #ff7a00;
	color: #fff;
	font-weight: 700;
	font-size: 13px;
	border-radius: 50%;
	border: 2px solid #fff;
	box-shadow: 0 2px 6px rgba(0,0,0,0.4);
	cursor: pointer;
}
.rota-nokta span:hover {
	background: #ea0005;
}

@media (max-width: 768px) {
	#rotaeditor { padding: 8px; }
	#rotaeditor .rota-alt .btn { flex: 1 1 40%; }
}

/* ==========================================
   KONTROL PANELI MODERN GORUNUM (V4)
   ========================================== */
#sohbetalan .komutlar {
	background: #ffffff;
	border-radius: 18px 18px 0 0;
	box-shadow: 0 -6px 24px rgba(0,0,0,0.12);
	padding: 14px 14px 10px 14px;
	grid-gap: 8px;
	max-width: 560px;
	width: 100%;
	margin: 0 auto;
}

/* Kamera */
#sohbetalan .komutlar .camera img {
	border-radius: 12px;
	background: #000;
	border: 1px solid rgba(0,0,0,0.08);
}

/* D-PAD: arti seklinde yon tuslari */
#sohbetalan .komutlar .yonler {
	display: grid;
	grid-template-areas:
		".   ileri ."
		"sol dur   sag"
		".   geri  .";
	grid-template-columns: repeat(3, 64px);
	grid-template-rows: repeat(3, 64px);
	gap: 8px;
	justify-content: center;
	width: 100%;
	margin: 8px 0;
}

/* Eski kurallari ezmek icin ayni (yuksek) ozgulluk: */
#sohbetalan .komutlar .yonler .ileri,
#sohbetalan .komutlar .yonler .geri,
#sohbetalan .komutlar .yonler .sol,
#sohbetalan .komutlar .yonler .dur,
#sohbetalan .komutlar .yonler .sag {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	border: none;
	padding: 0;
	background: #f1f3f5;
	box-shadow: 0 2px 6px rgba(0,0,0,0.12), inset 0 -2px 0 rgba(0,0,0,0.06);
	font-size: 26px;
	color: #333;
	cursor: pointer;
	transition: all .12s ease;
	display: flex;
	align-items: center;
	justify-content: center;
}
#sohbetalan .komutlar .yonler .ileri { grid-area: ileri; }
#sohbetalan .komutlar .yonler .sol   { grid-area: sol; }
#sohbetalan .komutlar .yonler .dur   { grid-area: dur; background: #ea0005; color: #fff; font-size: 20px; }
#sohbetalan .komutlar .yonler .sag   { grid-area: sag; }
#sohbetalan .komutlar .yonler .geri  { grid-area: geri; }

#sohbetalan .komutlar .yonler .ileri:hover,
#sohbetalan .komutlar .yonler .geri:hover,
#sohbetalan .komutlar .yonler .sol:hover,
#sohbetalan .komutlar .yonler .sag:hover {
	background: #212529;
	color: #fff;
	transform: scale(1.06);
}
#sohbetalan .komutlar .yonler .dur:hover {
	background: #b50004;
	color: #fff;
}
#sohbetalan .komutlar .yonler .ileri:active,
#sohbetalan .komutlar .yonler .geri:active,
#sohbetalan .komutlar .yonler .sol:active,
#sohbetalan .komutlar .yonler .dur:active,
#sohbetalan .komutlar .yonler .sag:active {
	transform: scale(0.92);
	box-shadow: 0 1px 3px rgba(0,0,0,0.2), inset 0 2px 4px rgba(0,0,0,0.15);
}

/* Alt aksiyon butonlari: 3'lu grid */
#sohbetalan .komutlar .btn {
	width: calc(33.33% - 6px);
	border-radius: 12px;
	padding: 10px 4px;
	font-size: 12px;
	font-weight: 600;
	grid-gap: 4px;
	transition: all .15s ease;
}
#sohbetalan .komutlar .btn span {
	font-size: 20px;
}
#sohbetalan .komutlar .btn:active {
	transform: scale(0.95);
}

/* Kapat butonu yumusatma */
#sohbetalan .komutlar .komutkapat {
	top: -12px;
	right: 12px;
	box-shadow: 0 3px 8px rgba(0,0,0,0.3);
}

/* Mesaj yazma alani */
.mesajyaz .form-control {
	border-radius: 24px;
}

@media (max-width: 480px) {
	#sohbetalan .komutlar .yonler {
		grid-template-columns: repeat(3, 56px);
		grid-template-rows: repeat(3, 56px);
	}
	#sohbetalan .komutlar .yonler .ileri,
	#sohbetalan .komutlar .yonler .geri,
	#sohbetalan .komutlar .yonler .sol,
	#sohbetalan .komutlar .yonler .dur,
	#sohbetalan .komutlar .yonler .sag {
		width: 56px;
		height: 56px;
	}
}

/* ==========================================
   TAM EKRAN MODALLAR (V5)
   ========================================== */

/* --- HARITA / BILGI PANELI: acikken tam ekran --- */
#robotbilgipanel:not(.kapali) {
	position: fixed;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: 100%;
	border-radius: 0;
	border: none;
	z-index: 10000;
	display: flex;
	flex-direction: column;
}
#robotbilgipanel:not(.kapali) .panel-icerik {
	flex: 1;
	display: flex;
	flex-direction: column;
	overflow-y: auto;
	padding: 16px;
}
#robotbilgipanel:not(.kapali) #harita-kutusu {
	flex: 1;
	height: auto;
	min-height: 280px;
}
#robotbilgipanel:not(.kapali) .panel-baslik {
	padding: 16px 18px;
}
#robotbilgipanel:not(.kapali) .kapat-btn {
	font-size: 26px;
}

/* --- KOMUT / YON TUSLARI PANELI: acikken tam ekran --- */
#sohbetalan .komutlar.active {
	position: fixed;
	inset: 0;
	width: 100%;
	max-width: 100%;
	height: 100%;
	margin: 0;
	z-index: 10000;
	border-radius: 0;
	background: #ffffff;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 14px;
	padding: 24px 16px;
	overflow-y: auto;
}
/* Icerik genisligini sinirla (buyuk ekranda dagilmasin) */
#sohbetalan .komutlar.active .camera {
	width: 100%;
	max-width: 480px;
}
#sohbetalan .komutlar.active .btn {
	max-width: 150px;
}
/* Kapat butonu tam ekranda kose icine alinir */
#sohbetalan .komutlar.active .komutkapat {
	top: 16px;
	right: 16px;
	width: 40px;
	height: 40px;
	font-size: 22px;
	z-index: 5;
}

/* --- CANLI KAMERA: max 300px yukseklik --- */
#sohbetalan .komutlar .camera img {
	max-height: 300px;
	width: auto;
	max-width: 100%;
	height: auto;
	aspect-ratio: auto;
	object-fit: contain;
	display: block;
	margin: 0 auto;
}

/* ==========================================
   AKSIYON BUTON GRUBU (3'lu satir, her modda)
   ========================================== */
#sohbetalan .komutlar .komut-aksiyonlar {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	width: 100%;
	max-width: 380px;
	margin: 6px auto 0 auto;
}
#sohbetalan .komutlar .komut-aksiyonlar .btn {
	width: calc(33.33% - 6px);
	max-width: none;
	margin: 0;
}

/* ==========================================
   MODERN GIRIS SAYFASI
   ========================================== */
.giris-sayfa {
	min-height: calc(100dvh - 70px);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 24px 16px;
	background: linear-gradient(135deg, #ff7a00 0%, #ff4b2b 55%, #c81d11 100%);
	position: relative;
	overflow: hidden;
}
/* Arka plan dekoratif daireler */
.giris-sayfa::before,
.giris-sayfa::after {
	content: "";
	position: absolute;
	border-radius: 50%;
	background: rgba(255,255,255,0.10);
}
.giris-sayfa::before {
	width: 320px; height: 320px;
	top: -120px; right: -90px;
}
.giris-sayfa::after {
	width: 240px; height: 240px;
	bottom: -100px; left: -70px;
}

.giris-kart {
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: 380px;
	background: rgba(255,255,255,0.98);
	border-radius: 22px;
	padding: 34px 28px 28px 28px;
	box-shadow: 0 20px 50px rgba(0,0,0,0.30);
	text-align: center;
	animation: girisGir .5s ease;
}
@keyframes girisGir {
	from { opacity: 0; transform: translateY(20px); }
	to   { opacity: 1; transform: translateY(0); }
}

.giris-logo {
	width: 70px; height: 70px;
	margin: 0 auto 14px auto;
	border-radius: 50%;
	background: linear-gradient(135deg, #ff7a00, #ff4b2b);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 38px;
	color: #fff;
	box-shadow: 0 8px 20px rgba(255,75,43,0.45);
}
.giris-baslik {
	margin: 0;
	font-size: 30px;
	font-weight: 900;
	letter-spacing: 2px;
	color: #ff5a1f;
}
.giris-altbaslik {
	margin: 2px 0 26px 0;
	color: #888;
	font-size: 13px;
	font-weight: 500;
}

.giris-alan {
	position: relative;
	display: flex;
	align-items: center;
	margin-bottom: 14px;
}
.giris-alan > i:first-child {
	position: absolute;
	left: 14px;
	font-size: 20px;
	color: #ff7a00;
	pointer-events: none;
}
.giris-alan input {
	width: 100%;
	padding: 14px 44px 14px 44px;
	border: 1.5px solid #e6e6e6;
	border-radius: 12px;
	font-size: 15px;
	background: #fafafa;
	transition: all .2s ease;
	outline: none;
}
.giris-alan input:focus {
	border-color: #ff7a00;
	background: #fff;
	box-shadow: 0 0 0 4px rgba(255,122,0,0.12);
}
.giris-goster {
	position: absolute;
	right: 14px;
	font-size: 20px;
	color: #aaa;
	cursor: pointer;
}
.giris-goster:hover { color: #ff7a00; }

.giris-secenek {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 6px 2px 20px 2px;
	font-size: 13px;
}
.giris-hatirla {
	display: flex;
	align-items: center;
	gap: 7px;
	margin: 0;
	color: #666;
	cursor: pointer;
}
.giris-hatirla input { width: 16px; height: 16px; accent-color: #ff7a00; }
.giris-unuttum {
	color: #ff5a1f;
	text-decoration: none;
	font-weight: 600;
}
.giris-unuttum:hover { text-decoration: underline; }

.giris-buton {
	width: 100%;
	padding: 14px;
	border: none;
	border-radius: 12px;
	background: linear-gradient(135deg, #ff7a00, #ff4b2b);
	color: #fff;
	font-size: 16px;
	font-weight: 700;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	box-shadow: 0 8px 20px rgba(255,75,43,0.35);
	transition: all .2s ease;
}
.giris-buton:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 26px rgba(255,75,43,0.45);
}
.giris-buton:active { transform: translateY(0); }

.giris-dipnot {
	position: relative;
	z-index: 2;
	margin-top: 22px;
	color: rgba(255,255,255,0.85);
	font-size: 12px;
}

/* ==========================================
   KONTROL MERKEZI (V6) - tam ekran komuta paneli
   ========================================== */
#sohbetalan .komutlar.active {
	position: fixed;
	inset: 0;
	z-index: 10000;
	width: 100%;
	max-width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	display: block;
	overflow-y: auto;
	background: #eef1f5;
	align-items: stretch;
	justify-content: flex-start;
	-webkit-overflow-scrolling: touch;
}

/* Ust bar */
.km-header {
	position: sticky;
	top: 0;
	z-index: 6;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 13px 16px;
	background: #ffffff;
	box-shadow: 0 2px 10px rgba(0,0,0,0.08);
}
.km-header .km-baslik {
	font-weight: 800;
	font-size: 15px;
	letter-spacing: 0.5px;
	color: #ff5a1f;
	display: flex;
	align-items: center;
	gap: 7px;
}
.km-durum {
	margin-left: auto;
	font-size: 12px;
	font-weight: 700;
	padding: 5px 12px;
	border-radius: 20px;
	display: flex;
	align-items: center;
	gap: 6px;
	background: #f1f3f5;
	color: #777;
}
.km-durum .nokta { width: 8px; height: 8px; border-radius: 50%; background: #aaa; }
.km-durum.cevrimici { background: #e4f9ed; color: #1c8e54; }
.km-durum.cevrimici .nokta { background: #2bb673; box-shadow: 0 0 0 3px rgba(43,182,115,0.2); }
.km-durum.cevrimdisi { background: #ffe5e5; color: #c40000; }
.km-durum.cevrimdisi .nokta { background: #ea0005; }

#sohbetalan .komutlar .km-header .komutkapat {
	position: static;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: #f1f3f5;
	color: #444;
	font-size: 18px;
	box-shadow: none;
	flex: 0 0 auto;
}
#sohbetalan .komutlar .km-header .komutkapat:hover { background: #ea0005; color: #fff; }

/* Uyarilar */
.km-uyarilar { display: flex; flex-direction: column; gap: 6px; padding: 0 16px; max-width: 900px; margin: 0 auto; width: 100%; }
.km-uyarilar:not(:empty) { padding-top: 12px; }
.km-uyari { padding: 9px 13px; border-radius: 10px; font-size: 13px; font-weight: 600; display: flex; align-items: center; gap: 8px; }
.km-uyari.kotu { background: #ffe2e2; color: #c40000; }
.km-uyari.uyari { background: #fff3df; color: #9a6400; }

/* Govde: gorsel + kontrol */
.km-govde {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	padding: 14px 16px;
	align-items: flex-start;
	justify-content: center;
	max-width: 1000px;
	margin: 0 auto;
	width: 100%;
}
.km-gorsel {
	flex: 1 1 380px;
	min-width: 280px;
	max-width: 560px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.km-kontrol {
	flex: 1 1 280px;
	min-width: 260px;
	max-width: 420px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
}

/* Kamera */
#sohbetalan .komutlar .km-gorsel .camera {
	position: relative;
	width: 100%;
	max-width: none;
	background: #000;
	border-radius: 14px;
	overflow: hidden;
	min-height: 160px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.km-cam-bos {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	color: rgba(255,255,255,0.6);
	font-size: 14px;
	padding: 60px 10px;
}
.km-cam-bos i { font-size: 22px; }

/* Harita */
#km-harita {
	width: 100%;
	height: 260px;
	border-radius: 14px;
	overflow: hidden;
	border: 1px solid rgba(0,0,0,0.1);
	z-index: 1;
}
/* kontrol merkezi haritasinda karanlik filtre iptal */
.km-gorsel .leaflet-layer,
.km-gorsel .leaflet-control-zoom-in,
.km-gorsel .leaflet-control-zoom-out,
.km-gorsel .leaflet-control-attribution { filter: none; }

/* Telemetri kartlari */
.km-telemetri {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(148px, 1fr));
	gap: 10px;
	padding: 4px 16px 16px 16px;
	max-width: 1000px;
	margin: 0 auto;
	width: 100%;
}
.tk {
	background: #fff;
	border-radius: 12px;
	padding: 11px 13px;
	box-shadow: 0 1px 5px rgba(0,0,0,0.06);
	border-left: 3px solid #dfe3e8;
	transition: border-color .25s ease;
}
.tk-ust { font-size: 11px; color: #8a929b; display: flex; align-items: center; gap: 5px; margin-bottom: 5px; text-transform: uppercase; letter-spacing: .3px; }
.tk-deg { font-size: 16px; font-weight: 800; color: #232a31; line-height: 1.2; }
.tk.iyi   { border-left-color: #2bb673; }
.tk.uyari { border-left-color: #f5a623; }
.tk.kotu  { border-left-color: #ea0005; }
.tk.kotu .tk-deg { color: #ea0005; }

/* Alt kapat butonu */
#sohbetalan .komutlar .komutkapat-alt {
	position: static;
	width: auto;
	height: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin: 4px auto 26px auto;
	padding: 12px 34px;
	background: #232a31;
	color: #fff;
	border-radius: 12px;
	font-weight: 600;
	font-size: 14px;
	box-shadow: none;
}
#sohbetalan .komutlar .komutkapat-alt:hover { background: #000; }

@media (max-width: 600px) {
	#km-harita { height: 220px; }
	.km-telemetri { grid-template-columns: repeat(2, 1fr); }
}

/* ==========================================
   KONTROL MERKEZI (V7) - kompakt, tek ekran, kamera/harita gecisli
   ========================================== */

/* Sayfa kaymasin; ic alan (telemetri) gerekirse kendi icinde kaysin */
#sohbetalan .komutlar.active {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	padding: 0;
}

/* Kamera <-> Harita gecisi (ayni yeri paylasir) */
#sohbetalan .komutlar .km-gorsel .camera { display: none; }
#sohbetalan .komutlar #km-harita { display: block; }
#sohbetalan .komutlar.kamera-acik .km-gorsel .camera { display: flex; }
#sohbetalan .komutlar.kamera-acik #km-harita { display: none; }

/* Bolumler sabit; sadece telemetri esner */
.km-header { flex: 0 0 auto; padding: 10px 14px; }
.km-uyarilar { flex: 0 0 auto; }
.km-govde { flex: 0 0 auto; padding: 10px 12px; gap: 12px; }
.km-telemetri { flex: 1 1 auto; overflow-y: auto; -webkit-overflow-scrolling: touch; }

/* Gorsel alani daha kisa */
#km-harita {
	height: 28vh;
	max-height: 210px;
	min-height: 140px;
}
#sohbetalan .komutlar .km-gorsel .camera {
	height: 28vh;
	max-height: 210px;
	min-height: 140px;
	border-radius: 12px;
}

/* D-pad biraz kucuk */
#sohbetalan .komutlar.active .yonler {
	grid-template-columns: repeat(3, 48px);
	grid-template-rows: repeat(3, 48px);
	gap: 6px;
	margin: 0;
}
#sohbetalan .komutlar.active .yonler .ileri,
#sohbetalan .komutlar.active .yonler .geri,
#sohbetalan .komutlar.active .yonler .sol,
#sohbetalan .komutlar.active .yonler .dur,
#sohbetalan .komutlar.active .yonler .sag {
	width: 48px;
	height: 48px;
	font-size: 21px;
}
#sohbetalan .komutlar.active .yonler .dur { font-size: 17px; }

/* 6 buton TEK SIRA */
#sohbetalan .komutlar .komut-aksiyonlar {
	flex-wrap: nowrap;
	gap: 5px;
	max-width: 480px;
	width: 100%;
}
#sohbetalan .komutlar .komut-aksiyonlar .btn {
	width: calc(16.66% - 5px);
	max-width: none;
	min-width: 0;
	padding: 8px 2px;
	font-size: 10px;
	line-height: 13px;
	border-radius: 10px;
	gap: 3px;
}
#sohbetalan .komutlar .komut-aksiyonlar .btn span { font-size: 17px; }

/* Telemetri kompakt */
.km-telemetri {
	grid-template-columns: repeat(auto-fill, minmax(108px, 1fr));
	gap: 7px;
	padding: 8px 12px 12px 12px;
}
.tk { padding: 7px 9px; border-radius: 10px; border-left-width: 3px; }
.tk-ust { font-size: 9px; margin-bottom: 3px; }
.tk-deg { font-size: 13px; }

/* Header biraz sıkı */
.km-header .km-baslik { font-size: 14px; }
#sohbetalan .komutlar .km-header .komutkapat { width: 34px; height: 34px; font-size: 17px; }

@media (max-width: 600px) {
	#km-harita, #sohbetalan .komutlar .km-gorsel .camera { height: 26vh; }
	.km-telemetri { grid-template-columns: repeat(3, 1fr); }
	#sohbetalan .komutlar .komut-aksiyonlar .btn { font-size: 9px; }
	#sohbetalan .komutlar .komut-aksiyonlar .btn span { font-size: 15px; }
}

/* ==========================================
   KONTROL MERKEZI (V8) - butonlar D-pad'in iki yaninda + kartlar garanti gorunur
   ========================================== */

/* Modal butun olarak kayabilsin (kartlar asla kaybolmasin) */
#sohbetalan .komutlar.active { overflow-y: auto; }
.km-telemetri { flex: 0 0 auto; overflow: visible; }

/* Gorsel biraz daha kisa */
#km-harita,
#sohbetalan .komutlar .km-gorsel .camera {
	height: 22vh;
	max-height: 200px;
	min-height: 130px;
}

/* Kontrol: [3 buton] [D-pad] [3 buton] yatay */
#sohbetalan .komutlar .km-kontrol {
	flex-direction: row;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	max-width: 470px;
	margin: 0 auto;
}
.km-yan {
	display: flex;
	flex-direction: column;
	gap: 7px;
	flex: 1 1 0;
	min-width: 0;
	max-width: 132px;
}
#sohbetalan .komutlar .km-yan .btn {
	width: 100%;
	max-width: none;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 9px 6px;
	height: auto;
	font-size: 11px;
	line-height: 14px;
	font-weight: 600;
	border-radius: 10px;
	white-space: nowrap;
	overflow: hidden;
}
#sohbetalan .komutlar .km-yan .btn span { font-size: 15px; }

/* D-pad ortada, biraz daha kucuk ki dar telefonlara sigsin */
#sohbetalan .komutlar.active .yonler {
	grid-template-columns: repeat(3, 44px);
	grid-template-rows: repeat(3, 44px);
	gap: 5px;
	margin: 0;
	flex: 0 0 auto;
}
#sohbetalan .komutlar.active .yonler .ileri,
#sohbetalan .komutlar.active .yonler .geri,
#sohbetalan .komutlar.active .yonler .sol,
#sohbetalan .komutlar.active .yonler .dur,
#sohbetalan .komutlar.active .yonler .sag {
	width: 44px;
	height: 44px;
	font-size: 19px;
}

/* Telemetri kartlari: kompakt ve net */
.km-telemetri {
	grid-template-columns: repeat(3, 1fr);
	gap: 7px;
	padding: 8px 12px 16px 12px;
}
.tk { padding: 7px 9px; }
.tk-ust { font-size: 9px; }
.tk-deg { font-size: 13px; }

@media (max-width: 380px) {
	#sohbetalan .komutlar.active .yonler {
		grid-template-columns: repeat(3, 40px);
		grid-template-rows: repeat(3, 40px);
	}
	#sohbetalan .komutlar.active .yonler .ileri,
	#sohbetalan .komutlar.active .yonler .geri,
	#sohbetalan .komutlar.active .yonler .sol,
	#sohbetalan .komutlar.active .yonler .dur,
	#sohbetalan .komutlar.active .yonler .sag { width: 40px; height: 40px; font-size: 17px; }
	#sohbetalan .komutlar .km-yan .btn { font-size: 10px; padding: 8px 4px; }
	#sohbetalan .komutlar .km-yan .btn span { font-size: 13px; }
}

/* ==========================================
   KONTROL MERKEZI (V9) - yan butonlar tasmasin, bosluklar azalsin
   ========================================== */
#sohbetalan .komutlar.active { overflow-x: hidden; }

/* Kontrol satiri ortada toplu dursun, ekrani asmasin */
#sohbetalan .komutlar .km-kontrol {
	gap: 8px;
	width: 100%;
	max-width: 400px;
	margin: 0 auto;
}
/* Yan buton sutunlari: BUYUMESIN (uca itilmesin), sadece gerekirse daralsin */
.km-yan {
	flex: 0 1 108px;
	min-width: 0;
	gap: 6px;
}
#sohbetalan .komutlar.active .yonler { flex: 0 0 auto; }

/* Dikey bosluklari sik tut */
.km-govde { padding: 8px 12px; gap: 10px; }
.km-uyarilar:not(:empty) { padding-top: 8px; }
.km-telemetri { padding: 6px 12px 14px 12px; gap: 6px; }
.km-header { padding: 9px 14px; }

/* ==========================================
   KONTROL MERKEZI (V10) - D-pad genisligi icerige sabit (yan butonlar ezilmesin)
   ========================================== */
#sohbetalan .komutlar.active .yonler {
	width: auto;
	flex: 0 0 auto;
	justify-self: center;
}
.km-yan { flex: 1 1 0; max-width: 140px; }

/* ==========================================
   KONTROL MERKEZI (V11) - dikey flex'te wrap KAPALI (kartlar 2. sutuna kacmasin)
   ========================================== */
#sohbetalan .komutlar.active {
	flex-wrap: nowrap;
}
