:root{
  --ink:#1c2126; --graphite:#2c333b; --steel:#46525c; --steel-lt:#7c8894;
  --line:#e2e5e8; --panel:#f5f6f7; --paper:#fff; --orange:#e0602b; --orange-dk:#b84a1f;
  --ok:#2f7d4f; --danger:#c0392b;
}
*{box-sizing:border-box;}
body{margin:0; font-family:'Work Sans',sans-serif; background:var(--panel); color:var(--ink);}
a{color:var(--orange-dk); text-decoration:none;}
h1,h2,h3{font-family:'Oswald',sans-serif; text-transform:uppercase; letter-spacing:.02em; margin:0 0 .5em;}

.admin-wrap{display:flex; min-height:100vh;}
.sidebar{width:230px; background:var(--ink); color:#c7ccd1; flex-shrink:0;}
.sidebar .brand{padding:22px 20px; font-family:'Oswald',sans-serif; font-size:1.1rem; color:#fff; border-bottom:1px solid #333a42; text-transform:uppercase;}
.sidebar nav a{display:block; padding:12px 20px; color:#c7ccd1; font-size:.9rem; border-left:3px solid transparent;}
.sidebar nav a:hover{background:#252b31; color:#fff;}
.sidebar nav a.active{background:#252b31; color:#fff; border-left-color:var(--orange);}
.sidebar .logout{margin-top:20px; border-top:1px solid #333a42;}

.main{flex:1; min-width:0;}
.topbar{background:#fff; border-bottom:1px solid var(--line); padding:16px 28px; display:flex; justify-content:space-between; align-items:center;}
.topbar .user{font-size:.88rem; color:var(--steel);}
.content{padding:28px;}

.card{background:#fff; border:1px solid var(--line); border-radius:3px; padding:22px; margin-bottom:22px;}
.card h3{font-size:1rem; margin-bottom:16px;}

.stat-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-bottom:26px;}
.stat-box{background:#fff; border:1px solid var(--line); border-left:4px solid var(--orange); border-radius:3px; padding:18px 20px;}
.stat-box b{display:block; font-family:'Oswald',sans-serif; font-size:1.7rem; color:var(--graphite);}
.stat-box span{color:var(--steel-lt); font-size:.8rem; text-transform:uppercase; letter-spacing:.04em;}

table{width:100%; border-collapse:collapse; background:#fff;}
table th, table td{padding:11px 14px; border-bottom:1px solid var(--line); text-align:left; font-size:.88rem; vertical-align:middle;}
table th{background:var(--panel); text-transform:uppercase; font-size:.72rem; letter-spacing:.05em; color:var(--steel);}
table img.thumb-sm{width:46px; height:36px; object-fit:cover; border-radius:2px; border:1px solid var(--line);}
table tr:hover{background:#fafbfb;}

.btn{display:inline-block; padding:9px 16px; border-radius:2px; font-size:.82rem; font-family:'Oswald',sans-serif; text-transform:uppercase; letter-spacing:.03em; border:none; cursor:pointer;}
.btn-primary{background:var(--orange); color:#fff;}
.btn-primary:hover{background:var(--orange-dk); color:#fff;}
.btn-secondary{background:var(--panel); color:var(--graphite); border:1px solid var(--line);}
.btn-danger{background:#fbeae5; color:var(--danger); border:1px solid #f2c7b8;}
.btn-sm{padding:5px 10px; font-size:.72rem;}

.form-row{margin-bottom:16px;}
.form-row label{display:block; font-size:.85rem; font-weight:600; margin-bottom:6px; color:var(--graphite);}
.form-row input, .form-row select, .form-row textarea{
  width:100%; padding:10px 12px; border:1px solid var(--line); border-radius:2px; font-size:.92rem; font-family:'Work Sans',sans-serif;
}
.form-row input[type=checkbox]{width:auto;}
.form-grid{display:grid; grid-template-columns:1fr 1fr; gap:0 20px;}
.form-actions{margin-top:20px; display:flex; gap:10px;}

.alert{padding:12px 16px; border-radius:2px; margin-bottom:20px; font-size:.9rem;}
.alert.success{background:#e7f4ec; color:var(--ok); border:1px solid #bfe3cc;}
.alert.error{background:#fbeae5; color:var(--danger); border:1px solid #f2c7b8;}

.badge{display:inline-block; padding:3px 9px; border-radius:10px; font-size:.72rem; text-transform:uppercase;}
.badge.active{background:#e7f4ec; color:var(--ok);}
.badge.inactive{background:#f0f1f2; color:var(--steel-lt);}
.badge.new{background:#fdeee6; color:var(--orange-dk);}
.badge.contacted{background:#eaf1fb; color:#2f5f9e;}
.badge.closed{background:#f0f1f2; color:var(--steel-lt);}

.page-head{display:flex; justify-content:space-between; align-items:center; margin-bottom:20px;}

.login-page{min-height:100vh; display:flex; align-items:center; justify-content:center; background:var(--ink);}
.login-box{background:#fff; padding:36px; border-radius:3px; width:100%; max-width:380px;}
.login-box h1{font-size:1.2rem; margin-bottom:22px; text-align:center;}

@media (max-width: 800px){
  .admin-wrap{flex-direction:column;}
  .sidebar{width:100%;}
  .sidebar nav{display:flex; flex-wrap:wrap;}
  .stat-grid{grid-template-columns:1fr 1fr;}
  .form-grid{grid-template-columns:1fr;}
  table{display:block; overflow-x:auto;}
}
