:root{
  --ink:#1F1B16; --parchment:#F1E7D0; --parchment-deep:#E7D9B8; --card:#FBF5E6;
  --gold:#B8863B; --gold-light:#D9B876; --maroon:#6E1F1F; --line:rgba(31,27,22,.16);
  --green:#2E7D32; --red:#B23A3A;
}
*{box-sizing:border-box; margin:0; padding:0;}
body{font-family:'Tajawal', sans-serif; font-weight:500; background:var(--parchment); color:var(--ink); -webkit-font-smoothing:antialiased;}
h1,h2,h3,h4,h5,strong,b{font-weight:900;}
a{color:inherit; text-decoration:none;}

/* ===== Login / Setup pages ===== */
.auth-page{min-height:100vh; display:flex; align-items:center; justify-content:center;}
.auth-box{
  background:var(--card); border:1px solid var(--gold); border-radius:12px;
  padding:44px 40px; width:360px; max-width:90vw;
}
.auth-box h1{font-size:1.3rem; margin-bottom:24px; color:var(--maroon); text-align:center;}
.field{margin-bottom:16px;}
.field label{display:block; font-size:.85rem; margin-bottom:6px; font-weight:700; color:#4a4136;}
.field input, .field select, .field textarea{
  width:100%; padding:10px 14px; border:1px solid var(--line); border-radius:6px;
  background:var(--parchment); font-family:inherit; font-size:.92rem;
}
.field input:focus, .field select:focus, .field textarea:focus{outline:none; border-color:var(--gold);}
.field textarea{resize:vertical; min-height:80px;}
.btn{
  display:inline-flex; align-items:center; gap:6px; padding:10px 22px; border-radius:6px;
  border:none; font-weight:700; font-size:.9rem; cursor:pointer; transition:transform .2s;
}
.btn:hover{transform:translateY(-2px);}
.btn-primary{background:var(--maroon); color:var(--parchment); width:100%; justify-content:center;}
.btn-gold{background:var(--gold); color:var(--ink);}
.btn-danger{background:var(--red); color:#fff;}
.btn-ghost{background:transparent; border:1px solid var(--line); color:var(--ink);}
.alert{padding:10px 14px; border-radius:6px; font-size:.85rem; margin-bottom:16px;}
.alert-error{background:#fbe4e4; color:var(--red); border:1px solid var(--red);}
.alert-success{background:#e6f2e6; color:var(--green); border:1px solid var(--green);}

/* ===== Shell layout ===== */
.admin-shell{display:flex; min-height:100vh;}
.admin-sidebar{
  width:220px; background:var(--ink); color:var(--parchment); flex-shrink:0;
  display:flex; flex-direction:column; padding:24px 0;
}
.admin-brand{font-weight:900; font-size:1.05rem; padding:0 22px 20px; border-bottom:1px solid rgba(241,231,208,.15); margin-bottom:16px;}
.admin-nav{display:flex; flex-direction:column;}
.admin-nav a{padding:12px 22px; font-size:.9rem; color:#cfc4ab; border-inline-start:3px solid transparent;}
.admin-nav a:hover{background:rgba(241,231,208,.06); color:var(--parchment);}
.admin-nav a.active{border-inline-start-color:var(--gold); color:var(--gold-light); background:rgba(241,231,208,.06);}
.admin-nav a.logout{margin-top:auto; color:#d98c8c;}

.admin-main{flex:1; display:flex; flex-direction:column; min-width:0;}
.admin-topbar{padding:22px 32px; border-bottom:1px solid var(--line); background:var(--parchment-deep);}
.admin-topbar h1{font-size:1.25rem;}
.admin-content{padding:28px 32px;}

/* ===== Tables ===== */
.toolbar{display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:20px; flex-wrap:wrap;}
.toolbar form{display:flex; gap:8px;}
.toolbar input[type=text]{padding:9px 14px; border-radius:6px; border:1px solid var(--line); min-width:240px;}
table{width:100%; border-collapse:collapse; background:var(--card); border-radius:10px; overflow:hidden;}
th, td{padding:12px 14px; text-align:right; font-size:.88rem; border-bottom:1px solid var(--line);}
th{background:var(--parchment-deep); font-weight:700; color:var(--maroon);}
tr:hover td{background:rgba(184,134,59,.05);}
.actions{display:flex; gap:8px;}
.actions a, .actions button{font-size:.8rem; padding:5px 10px; border-radius:5px;}
.color-swatch{width:16px;height:16px;border-radius:50%; display:inline-block; vertical-align:middle; margin-inline-end:6px; border:1px solid var(--line);}
.pagination{display:flex; gap:6px; margin-top:18px; justify-content:center;}
.pagination a, .pagination span{padding:6px 12px; border-radius:6px; border:1px solid var(--line); font-size:.85rem;}
.pagination a:hover{background:var(--parchment-deep);}
.pagination .current{background:var(--maroon); color:var(--parchment); border-color:var(--maroon);}

.form-card{background:var(--card); border:1px solid var(--line); border-radius:10px; padding:28px; max-width:600px;}
.form-grid{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
.form-grid .full{grid-column:1/-1;}

.stat-cards{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-bottom:30px;}
.stat-card{background:var(--card); border:1px solid var(--line); border-radius:10px; padding:22px; text-align:center;}
.stat-card .num{font-size:1.8rem; font-weight:900; color:var(--maroon);}
.stat-card .lab{font-size:.85rem; color:#4a4136; margin-top:4px;}

.empty-state{padding:40px; text-align:center; color:#7a6f5c; background:var(--card); border-radius:10px;}

@media(max-width:800px){
  .admin-shell{flex-direction:column;}
  .admin-sidebar{width:100%; flex-direction:row; overflow-x:auto; padding:10px;}
  .admin-nav{flex-direction:row;}
  .form-grid{grid-template-columns:1fr;}
  .stat-cards{grid-template-columns:1fr;}
}

/* ===== نافذة منبثقة (Modal) لإضافة/تعديل الفروع والعينات ===== */
.modal-overlay{
  position:fixed; inset:0; background:rgba(31,27,22,.55); z-index:100;
  display:flex; align-items:center; justify-content:center;
}
.modal-overlay.hidden{display:none;}
.modal-box{
  background:var(--card); border-radius:12px; padding:34px; max-width:480px; width:90%;
  position:relative; border:1px solid var(--gold); max-height:88vh; overflow-y:auto;
}
.modal-close{position:absolute; top:12px; left:14px; background:none; border:none; font-size:1.4rem; color:var(--maroon); cursor:pointer;}
.modal-box h3{font-family:'Tajawal', sans-serif; font-size:1.2rem; font-weight:900; margin-bottom:18px; color:var(--maroon);}
