:root{
  --paper:#F7F5EF;
  --paper-line:#E4E0D4;
  --ink:#1E2A44;
  --ink-soft:#4A5670;
  --gold:#C89B3C;
  --gold-dark:#A87F2C;
  --green:#2F6B4F;
  --red:#B0342B;
  --white:#FFFFFF;
  --shadow: 0 6px 18px rgba(30,42,68,0.07);
}
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:'IBM Plex Sans Arabic', sans-serif;background:var(--paper);color:var(--ink);}
a{color:inherit;text-decoration:none;}

.admin-shell{display:flex;min-height:100vh;}
.admin-sidebar{
  width:250px;flex-shrink:0;background:var(--ink);color:var(--paper);
  display:flex;flex-direction:column;padding:26px 20px;position:sticky;top:0;height:100vh;
}
.admin-brand{display:flex;align-items:center;gap:10px;font-family:'Markazi Text',serif;font-size:1.35rem;font-weight:700;margin-bottom:34px;}
.admin-brand .logo-mark{width:34px;height:34px;border-radius:50%;background:var(--gold);color:var(--ink);display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0;}
.admin-nav{display:flex;flex-direction:column;gap:4px;flex:1;}
.admin-nav a{padding:11px 14px;border-radius:6px;font-size:0.92rem;color:rgba(247,245,239,0.75);transition:background .2s,color .2s;}
.admin-nav a:hover{background:rgba(255,255,255,0.06);color:var(--paper);}
.admin-nav a.active{background:var(--gold);color:var(--ink);font-weight:600;}
.admin-sidebar-footer{display:flex;flex-direction:column;gap:10px;font-size:0.85rem;padding-top:16px;border-top:1px solid rgba(255,255,255,0.1);}
.admin-sidebar-footer a{opacity:0.75;}
.link-btn{background:none;border:none;color:rgba(247,245,239,0.75);font-family:inherit;font-size:0.85rem;cursor:pointer;text-align:right;padding:0;}
.link-btn:hover{color:var(--gold);}

.admin-main{flex:1;display:flex;flex-direction:column;min-width:0;}
.admin-topbar{padding:26px 36px;border-bottom:1px solid var(--paper-line);background:var(--white);}
.admin-topbar h1{font-family:'Markazi Text',serif;font-size:1.8rem;font-weight:700;}
.admin-content{padding:30px 36px;flex:1;}

.stat-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:30px;}
.stat-card{background:var(--white);border-radius:10px;padding:22px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:8px;}
.stat-card.warn{border-right:4px solid var(--gold);}
.stat-label{font-size:0.82rem;color:var(--ink-soft);}
.stat-value{font-family:'Markazi Text',serif;font-size:1.9rem;font-weight:700;color:var(--ink);}

.admin-panel{background:var(--white);border-radius:10px;box-shadow:var(--shadow);margin-bottom:26px;overflow:hidden;}
.panel-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--paper-line);}
.panel-head h3{font-family:'Markazi Text',serif;font-size:1.3rem;font-weight:700;}
.panel-head a{font-size:0.85rem;color:var(--gold-dark);font-weight:600;}

.admin-table{width:100%;border-collapse:collapse;background:var(--white);border-radius:10px;overflow:hidden;box-shadow:var(--shadow);}
.admin-table th, .admin-table td{padding:14px 16px;text-align:right;font-size:0.88rem;border-bottom:1px solid var(--paper-line);}
.admin-table thead th{background:var(--paper);color:var(--ink-soft);font-weight:600;font-size:0.8rem;}
.admin-table tbody tr:hover{background:rgba(200,155,60,0.05);}
.empty-row{text-align:center;color:var(--ink-soft);padding:30px !important;}
.row-actions{display:flex;gap:14px;}
.row-actions a{font-size:0.82rem;font-weight:600;color:var(--gold-dark);}
.row-actions a.danger{color:var(--red);}
.text-danger{color:var(--red);font-weight:700;}

.tag{font-family:'Tajawal',sans-serif;font-size:0.75rem;font-weight:500;padding:4px 12px;border-radius:20px;}
.tag-primary{background:rgba(47,107,79,0.12);color:var(--green);}
.tag-prep{background:rgba(200,155,60,0.15);color:var(--gold-dark);}
.tag-secondary{background:rgba(30,42,68,0.1);color:var(--ink);}

.badge{font-family:'Tajawal',sans-serif;font-size:0.75rem;font-weight:500;padding:5px 12px;border-radius:20px;display:inline-block;}
.badge-paid{background:rgba(47,107,79,0.12);color:var(--green);}
.badge-pending{background:rgba(200,155,60,0.15);color:var(--gold-dark);}
.badge-late{background:rgba(176,52,43,0.12);color:var(--red);}

.filter-bar{display:flex;gap:20px;margin-bottom:24px;background:var(--white);padding:18px 22px;border-radius:10px;box-shadow:var(--shadow);}
.filter-bar .field{display:flex;flex-direction:column;gap:6px;}

.form-card{background:var(--white);border-radius:10px;padding:30px;box-shadow:var(--shadow);max-width:720px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;}
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;}
.field.checkbox-field{flex-direction:row;align-items:center;gap:8px;}
label{font-size:0.85rem;font-weight:600;color:var(--ink);}
input,select,textarea{padding:11px 13px;border:1px solid var(--paper-line);border-radius:5px;font-family:inherit;font-size:0.9rem;background:var(--paper);color:var(--ink);}
input:focus,select:focus,textarea:focus{border-color:var(--gold);outline:none;background:var(--white);}
textarea{resize:vertical;min-height:80px;}

.btn{display:inline-flex;align-items:center;gap:8px;padding:11px 22px;border-radius:5px;font-weight:600;font-size:0.9rem;border:none;cursor:pointer;transition:transform .15s;}
.btn:hover{transform:translateY(-1px);}
.btn-primary{background:var(--ink);color:var(--paper);}
.btn-outline{background:transparent;border:1.5px solid var(--ink);color:var(--ink);}

.alert{padding:13px 18px;border-radius:6px;font-size:0.88rem;margin-bottom:18px;}
.alert-success{background:rgba(47,107,79,0.12);color:var(--green);}
.alert-error{background:rgba(176,52,43,0.1);color:var(--red);}
.alert-error:empty{display:none;padding:0;margin:0;}

.login-body{background:var(--ink);min-height:100vh;display:flex;align-items:center;justify-content:center;}
.login-card{background:var(--paper);border-radius:12px;padding:40px;width:100%;max-width:360px;box-shadow:0 20px 50px rgba(0,0,0,0.3);}
.login-card .logo-mark{width:34px;height:34px;border-radius:50%;background:var(--gold);color:var(--ink);display:flex;align-items:center;justify-content:center;font-weight:700;}
.login-sub{text-align:center;color:var(--ink-soft);font-size:0.85rem;margin-bottom:24px;}

@media(max-width:900px){
  .admin-shell{flex-direction:column;}
  .admin-sidebar{width:100%;height:auto;position:relative;flex-direction:row;flex-wrap:wrap;}
  .admin-nav{flex-direction:row;flex-wrap:wrap;}
  .stat-cards{grid-template-columns:1fr 1fr;}
  .form-row{grid-template-columns:1fr;}
}
