/* Ahmed Hadi Healthy System — Midnight Luxury */
:root{
  --bg:#0a0a0a; --panel:#131313; --panel2:#1a1a1a; --line:#262626; --text:#ececec; --muted:#9a9a9a;
  --gold:#d4af37; --gold2:#f0d27a; --green:#3fb07a; --red:#e25555;
}
html,body{background:var(--bg)}
body.app{font-family:'Cairo',Tahoma,sans-serif;color:var(--text);font-size:15px;min-height:100vh}
a{color:var(--gold)} a:hover{color:var(--gold2)}
.text-muted,.form-text{color:var(--muted)!important}
.bg-gold{background:var(--gold)!important;color:#000!important}
.text-gold{color:var(--gold)!important}
.text-green{color:var(--green)!important}

/* sidebar */
.sidebar{width:260px;min-height:100vh;background:#070707;border-left:1px solid var(--line);display:flex;flex-direction:column;position:sticky;top:0}
@media (min-width:992px){.sidebar{height:100vh;overflow:auto}}
.offcanvas-lg.sidebar{--bs-offcanvas-bg:#070707;--bs-offcanvas-width:270px;color:var(--text)}
.brand{display:flex;align-items:center;gap:10px;padding:20px 18px;border-bottom:1px solid var(--line)}
.logo{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,var(--gold),#8a6d1a);color:#000;font-weight:800;display:grid;place-items:center;letter-spacing:1px}
.logo.sm{width:36px;height:36px;border-radius:10px;font-size:13px}
.brand .t1,.portal-bar .t1{font-weight:800;letter-spacing:1px;color:var(--gold);font-size:14px}
.brand .t2,.portal-bar .t2{font-size:12px;color:var(--muted)}
.menu{padding:10px;flex:1}
.menu a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;color:#cfcfcf;text-decoration:none;margin-bottom:2px;font-weight:600;font-size:14px}
.menu a i{font-size:17px;color:var(--muted)}
.menu a:hover{background:#151515;color:#fff}
.menu a.active{background:linear-gradient(90deg,rgba(212,175,55,.08),rgba(212,175,55,.18));color:var(--gold);border:1px solid rgba(212,175,55,.25)}
.menu a.active i{color:var(--gold)}
.user-box{display:flex;align-items:center;gap:8px;padding:14px 18px;border-top:1px solid var(--line);font-size:14px}
.topbar{position:sticky;top:0;z-index:1030;display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#070707;border-bottom:1px solid var(--line)}
.brand-sm{color:var(--gold);font-weight:800;letter-spacing:1px;font-size:14px}.brand-sm b{color:#fff}
.btn-icon{color:var(--text);font-size:20px;border:0;padding:4px 8px}
.btn-icon:hover{color:var(--gold)}
.dot{position:absolute;top:0;left:0;background:var(--red);color:#fff;border-radius:10px;font-size:10px;padding:1px 5px}

.content{padding:22px;min-width:0}
@media (max-width:576px){.content{padding:14px}}
.page-head{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-bottom:18px}
.page-head h1{font-size:22px;font-weight:800;margin:0}
.cutoff-pill{font-size:12px;color:var(--gold);border:1px solid rgba(212,175,55,.35);border-radius:30px;padding:4px 12px}
.foot{color:#555;font-size:12px;padding:30px 0 10px;text-align:center}

/* cards */
.card{background:var(--panel);border:1px solid var(--line);border-radius:16px;color:var(--text)}
.card-header{background:transparent;border-bottom:1px solid var(--line);font-weight:700;padding:14px 18px}
.card-body{padding:18px}
.stat{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:16px;height:100%;position:relative;overflow:hidden}
.stat .l{color:var(--muted);font-size:13px}
.stat .v{font-size:24px;font-weight:800;margin-top:4px}
.stat i{position:absolute;left:14px;top:14px;font-size:26px;color:var(--gold);opacity:.6}
.stat.gold{border-color:rgba(212,175,55,.4)}

/* tables */
.table{--bs-table-bg:transparent;--bs-table-color:var(--text);--bs-table-border-color:var(--line);--bs-table-striped-bg:#161616;--bs-table-striped-color:var(--text);--bs-table-hover-bg:#1b1b1b;--bs-table-hover-color:#fff;margin:0}
.table th{color:var(--muted);font-weight:600;font-size:13px;white-space:nowrap}
.table td{vertical-align:middle}
.table tfoot td{font-weight:800;color:var(--gold)}

/* forms */
.form-control,.form-select{background:#0f0f0f;border:1px solid #2c2c2c;color:var(--text);border-radius:10px}
.form-control:focus,.form-select:focus{background:#0f0f0f;color:#fff;border-color:var(--gold);box-shadow:0 0 0 .2rem rgba(212,175,55,.15)}
.form-control::placeholder{color:#666}
.form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23d4af37' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}
.form-label{font-size:13px;color:#bdbdbd;font-weight:600}
.form-check-input{background-color:#0f0f0f;border-color:#444}
.form-check-input:checked{background-color:var(--gold);border-color:var(--gold)}
.input-group-text{background:#1a1a1a;border-color:#2c2c2c;color:var(--muted)}

.btn-gold{background:linear-gradient(135deg,var(--gold),#b8912a);color:#000;border:0;font-weight:700;border-radius:10px}
.btn-gold:hover{color:#000;filter:brightness(1.1)}
.btn-outline-gold{border:1px solid var(--gold);color:var(--gold);border-radius:10px;font-weight:600}
.btn-outline-gold:hover{background:var(--gold);color:#000}
.btn-dark2{background:#1c1c1c;border:1px solid #2c2c2c;color:var(--text);border-radius:10px}
.btn-dark2:hover{background:#252525;color:#fff}
.btn{border-radius:10px}

.modal-content{background:var(--panel);border:1px solid var(--line);color:var(--text);border-radius:16px}
.modal-header,.modal-footer{border-color:var(--line)}
.nav-tabs{border-color:var(--line)}
.nav-tabs .nav-link{color:var(--muted);border:0;font-weight:600}
.nav-tabs .nav-link.active{background:transparent;color:var(--gold);border-bottom:2px solid var(--gold)}
.alert{border-radius:12px}
.list-group-item{background:var(--panel);color:var(--text);border-color:var(--line)}
.dropdown-menu{background:var(--panel2);border-color:var(--line)}
.dropdown-item{color:var(--text)} .dropdown-item:hover{background:#262626;color:var(--gold)}
hr{border-color:var(--line);opacity:1}

.chip{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;padding:2px 10px;border-radius:30px;color:var(--c);background:color-mix(in srgb,var(--c) 14%,transparent);border:1px solid color-mix(in srgb,var(--c) 40%,transparent);white-space:nowrap}
.muted-sm{font-size:12px;color:var(--muted)}
.num{font-variant-numeric:tabular-nums}

/* schedule grid */
.sched{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.day{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:12px}
.day.today{border-color:var(--gold)}
.day.locked{opacity:.92}
.day-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-weight:700}
.day-h small{color:var(--muted);font-weight:600}
.meal{display:flex;gap:8px;align-items:flex-start;padding:8px;border-radius:10px;background:#0e0e0e;border:1px solid #1f1f1f;margin-bottom:6px}
.meal .slot{font-size:11px;color:var(--muted)}
.meal .nm{font-weight:700;font-size:14px}
.meal .g{font-size:11px;color:var(--gold)}
.meal .act{margin-inline-start:auto}
.meal.pending{border-color:rgba(212,175,55,.6)}

/* login */
.auth{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(ellipse at top,#1a160a 0%,#0a0a0a 60%)}
.auth .box{width:100%;max-width:400px;background:var(--panel);border:1px solid rgba(212,175,55,.25);border-radius:20px;padding:30px}
.auth .logo{width:64px;height:64px;font-size:22px;margin:0 auto 12px;border-radius:18px}

.portal-bar{background:#070707;border-bottom:1px solid var(--line);padding:10px 0;position:sticky;top:0;z-index:100}
.portal-main{max-width:980px}

.progress{background:#1d1d1d;border-radius:20px}
.progress-bar{background:linear-gradient(90deg,var(--gold),var(--green))}
.dist-row .form-control{max-width:110px}

/* print */
.print-only{display:none}
@media print{
  @page{size:A4;margin:10mm}
  body.app,html{background:#fff!important;color:#000!important}
  .sidebar,.topbar,.no-print,.page-head .cutoff-pill,.foot,.btn,.portal-bar,.alert{display:none!important}
  .print-only{display:block!important}
  .content{padding:0!important}
  .card,.day,.stat{background:#fff!important;border:1px solid #bbb!important;color:#000!important;break-inside:avoid}
  .meal{background:#fff!important;border:1px solid #ddd!important}
  .table{--bs-table-color:#000;--bs-table-border-color:#bbb}
  .table th{color:#333}
  .text-gold,.meal .g,.table tfoot td{color:#000!important}
  .chip{color:#000!important;border-color:#999!important;background:#f3f3f3!important}
  .page-break{page-break-after:always}
  .sched{grid-template-columns:repeat(3,1fr)}
}
@media (min-width:992px){.sidebar{flex:0 0 260px;width:260px!important}}
.alert-dark{background:#151515;border-color:#2a2a2a;color:#d6d6d6}
.alert-warning{background:rgba(212,175,55,.12);border-color:rgba(212,175,55,.4);color:#f0d27a}
.alert-success{background:rgba(63,176,122,.12);border-color:rgba(63,176,122,.4);color:#8fe0b6}
.alert-danger{background:rgba(226,85,85,.12);border-color:rgba(226,85,85,.4);color:#ffb3b3}
.alert .btn-close{filter:invert(1)}
