/* Gepard Operasyon Sistemi - genel stil */
:root{
  --navy:#132335;
  --navy-dark:#0c1a28;
  --orange:#e3862f;
  --orange-soft:#e3862f1a;
  --bg:#f4f6f8;
  --panel:#ffffff;
  --line:#e2e6ea;
  --ink:#1c2530;
  --muted:#6b7684;
  --danger:#c0392b;
  --success:#2e8b57;
  --sidebar-w:246px;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  font-family:-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  background:var(--bg);
  color:var(--ink);
}
a{color:inherit;}

/* ---------- App shell ---------- */
.app-shell{display:flex;min-height:100vh;}

.sidebar{
  width:var(--sidebar-w);
  background:var(--navy);
  color:#dfe6ee;
  flex-shrink:0;
  display:flex;
  flex-direction:column;
  position:sticky;
  top:0;
  height:100vh;
}
.sidebar .brand{
  display:flex;align-items:center;gap:10px;
  padding:20px 18px;
  border-bottom:1px solid #ffffff14;
}
.sidebar .brand img{height:30px;width:auto;}
.sidebar .brand .brand-text{font-size:14px;font-weight:700;letter-spacing:.02em;color:#fff;}
.sidebar .brand .brand-sub{font-size:10.5px;color:#8fa0b3;letter-spacing:.08em;text-transform:uppercase;}

.sidebar nav{flex:1;overflow-y:auto;padding:14px 10px;}
.sidebar .group-label{
  font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;
  color:#6f8299;padding:14px 10px 6px;
}
.sidebar a.nav-item{
  display:flex;align-items:center;gap:10px;
  padding:10px 12px;margin:2px 0;border-radius:8px;
  font-size:13.5px;color:#c9d4de;text-decoration:none;
  transition:background .12s ease, color .12s ease;
}
.sidebar a.nav-item:hover{background:#ffffff0f;color:#fff;}
.sidebar a.nav-item.active{background:var(--orange);color:#1c1408;font-weight:700;}
.sidebar a.nav-item .dot{width:6px;height:6px;border-radius:50%;background:#4a5b6e;flex-shrink:0;}
.sidebar a.nav-item.active .dot{background:#1c1408;}

.sidebar .user-box{
  padding:14px 18px;border-top:1px solid #ffffff14;
  font-size:12.5px;color:#9fb0c1;
}
.sidebar .user-box b{color:#fff;display:block;font-size:13.5px;margin-bottom:2px;}
.sidebar .user-box a{color:var(--orange);text-decoration:none;font-weight:600;}

/* ---------- Main content ---------- */
.content{flex:1;min-width:0;padding:28px 32px 60px;}
.content h1{font-size:22px;margin:0 0 4px;}
.content .sub{color:var(--muted);font-size:13.5px;margin:0 0 24px;}

.card{
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:12px;
  padding:22px;
  margin-bottom:18px;
}
.card h2{font-size:15.5px;margin:0 0 14px;}

.card-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
  gap:14px;
}
.quick-card{
  display:block;text-decoration:none;color:var(--ink);
  background:var(--panel);border:1px solid var(--line);border-radius:12px;
  padding:18px;transition:border-color .12s ease, transform .12s ease;
}
.quick-card:hover{border-color:var(--orange);transform:translateY(-1px);}
.quick-card .qc-title{font-weight:700;font-size:14.5px;margin-bottom:4px;}
.quick-card .qc-desc{font-size:12.5px;color:var(--muted);line-height:1.5;}

.placeholder-box{
  border:1.5px dashed var(--line);
  border-radius:12px;
  padding:50px 20px;
  text-align:center;
  color:var(--muted);
  font-size:14px;
}
.placeholder-box b{color:var(--ink);}

/* ---------- Forms & tables ---------- */
label{display:block;font-size:12.5px;font-weight:600;color:var(--muted);margin-bottom:5px;}
input[type=text],input[type=password],input[type=number],input[type=date],select{
  width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:8px;
  font-size:14px;background:#fff;color:var(--ink);
}
input:focus,select:focus{outline:none;border-color:var(--orange);}
.form-row{margin-bottom:14px;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}

button.btn, a.btn{
  display:inline-block;
  background:var(--orange);color:#1c1408;border:none;
  padding:10px 18px;border-radius:8px;font-size:13.5px;font-weight:700;
  cursor:pointer;text-decoration:none;
}
button.btn:hover, a.btn:hover{opacity:.9;}
button.btn.secondary, a.btn.secondary{background:#eef1f4;color:var(--ink);}
button.btn.danger{background:var(--danger);color:#fff;}

table.data-table{width:100%;border-collapse:collapse;font-size:13.5px;}
table.data-table th{
  text-align:left;background:#f7f8fa;color:var(--muted);
  font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;
  padding:10px 12px;border-bottom:1px solid var(--line);
}
table.data-table td{padding:10px 12px;border-bottom:1px solid var(--line);}
table.data-table tr:hover td{background:#fafbfc;}

.badge{display:inline-block;padding:3px 9px;border-radius:20px;font-size:11.5px;font-weight:700;}
.badge.admin{background:#e3862f22;color:#a85f1f;}
.badge.operator{background:#2e8b5722;color:#2e8b57;}
.badge.muhasebe{background:#3b5bdb22;color:#3b5bdb;}
.badge.inactive{background:#c0392b22;color:#c0392b;}

.alert{padding:12px 16px;border-radius:8px;font-size:13.5px;margin-bottom:16px;}
.alert.error{background:#c0392b14;color:#c0392b;border:1px solid #c0392b33;}
.alert.success{background:#2e8b5714;color:#2e8b57;border:1px solid #2e8b5733;}

/* ---------- Login page ---------- */
.login-wrap{
  min-height:100vh;display:flex;align-items:center;justify-content:center;
  background:var(--navy);
}
.login-card{
  background:#fff;border-radius:14px;padding:40px 36px;width:100%;max-width:360px;
  box-shadow:0 20px 60px #0006;
}
.login-card img{height:38px;display:block;margin:0 auto 22px;}
.login-card h1{font-size:17px;text-align:center;margin:0 0 26px;color:var(--ink);}
.login-card button.btn{width:100%;margin-top:6px;padding:12px;}
