/* ============================================================
   Triccess Hospitality — CMS additions
   (extends assets/style.css; loaded only on PHP-powered pages)
   ============================================================ */

/* ---------- Flash messages ---------- */
.flash{padding:16px 0;font-size:14px;font-weight:600;text-align:center;margin-top:64px;}
.flash-success{background:rgba(166,179,156,.15);color:var(--sage-300);border-bottom:1px solid rgba(166,179,156,.25);}
.flash-error{background:rgba(196,90,90,.12);color:#e0a3a3;border-bottom:1px solid rgba(196,90,90,.3);}

/* ---------- Page hero (reused pattern) ---------- */
.page-hero{padding:150px 0 60px;background:radial-gradient(ellipse 900px 500px at 85% 0%, rgba(166,179,156,.14), transparent 60%),var(--navy-950);}
.page-hero.no-flash{padding-top:150px;}
.breadcrumb{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--sage-600);margin-bottom:22px;flex-wrap:wrap;}
.breadcrumb a{color:var(--sage-500);}
.breadcrumb a:hover{color:var(--sage-300);}
.page-hero h1{font-size:clamp(2rem,4.4vw,3.3rem);color:var(--cream);max-width:800px;}
.page-hero .lede{font-size:clamp(1rem,1.4vw,1.15rem);max-width:620px;margin:16px 0 0;}

/* ---------- Filter/search bar ---------- */
.filter-bar{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:40px;}
.filter-bar input[type=text], .filter-bar select{
  background:var(--navy-900);border:1px solid rgba(166,179,156,.25);color:var(--cream);
  padding:12px 16px;border-radius:4px;font-family:'Inter',sans-serif;font-size:14px;
}
.filter-bar input[type=text]{flex:1;min-width:200px;}
.filter-bar input:focus, .filter-bar select:focus{outline:none;border-color:var(--sage-400);}

/* ---------- Resource grid (ebooks / stories / blog / podcasts) ---------- */
.res-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
@media(max-width:900px){.res-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){.res-grid{grid-template-columns:1fr;}}
.res-card{background:var(--navy-900);border:1px solid rgba(166,179,156,.15);border-radius:8px;overflow:hidden;display:flex;flex-direction:column;transition:transform .3s var(--ease), border-color .3s;}
.res-card:hover{transform:translateY(-6px);border-color:var(--sage-500);}
.res-thumb{height:150px;background:linear-gradient(135deg,var(--navy-800),var(--sage-600));position:relative;overflow:hidden;}
.res-thumb img{width:100%;height:100%;object-fit:cover;}
.res-thumb .rtag{position:absolute;top:12px;left:12px;background:var(--sage-400);color:var(--navy-950);font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:5px 11px;border-radius:16px;font-family:'Space Grotesk',sans-serif;}
.res-body{padding:22px 22px 24px;flex:1;display:flex;flex-direction:column;}
.res-body h4{font-size:1.02rem;color:var(--cream);margin-bottom:8px;}
.res-body p{font-size:13.5px;flex:1;}
.res-meta{display:flex;justify-content:space-between;align-items:center;font-size:11.5px;color:var(--sage-600);margin-top:14px;padding-top:14px;border-top:1px solid rgba(166,179,156,.1);}
.res-body .go{font-size:12.5px;font-weight:700;color:var(--sage-400);font-family:'Space Grotesk',sans-serif;}
.empty-state{padding:60px 20px;text-align:center;color:var(--sage-600);border:1px dashed rgba(166,179,156,.25);border-radius:8px;}

/* ---------- Single article/story/ebook detail page ---------- */
.detail-cover{height:340px;border-radius:8px;overflow:hidden;margin-bottom:36px;background:linear-gradient(135deg,var(--navy-800),var(--sage-600));}
.detail-cover img{width:100%;height:100%;object-fit:cover;}
.detail-meta{display:flex;gap:18px;flex-wrap:wrap;font-size:13px;color:var(--sage-500);margin-bottom:10px;}
.article-body{max-width:720px;font-size:1.02rem;color:var(--sage-300);line-height:1.75;}
.article-body p{margin-bottom:1.3em;}
.stat-pill{display:inline-block;background:var(--sage-400);color:var(--navy-950);font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:13px;padding:8px 18px;border-radius:20px;margin-bottom:18px;}

/* ---------- Podcast player card ---------- */
.pod-card{display:flex;gap:20px;align-items:center;background:var(--navy-900);border:1px solid rgba(166,179,156,.15);border-radius:8px;padding:22px;margin-bottom:16px;flex-wrap:wrap;}
.pod-ep{font-family:'Space Grotesk',sans-serif;font-size:1.6rem;color:var(--sage-600);width:56px;flex:0 0 auto;}
.pod-info{flex:1;min-width:200px;}
.pod-info h4{font-size:1.05rem;color:var(--cream);margin-bottom:4px;}
.pod-info p{font-size:13px;margin-bottom:0;}
.pod-audio{flex:1 1 100%;margin-top:14px;}
.pod-audio audio{width:100%;}
.pod-ext{display:inline-block;margin-top:14px;font-size:12.5px;font-weight:700;color:var(--sage-400);font-family:'Space Grotesk',sans-serif;}

/* ---------- Course cards + detail ---------- */
.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
@media(max-width:900px){.course-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){.course-grid{grid-template-columns:1fr;}}
.course-card{background:var(--navy-900);border:1px solid rgba(166,179,156,.15);border-radius:8px;padding:26px 24px;display:flex;flex-direction:column;transition:transform .3s var(--ease), border-color .3s;}
.course-card:hover{transform:translateY(-6px);border-color:var(--sage-500);}
.course-card .rtag{align-self:flex-start;background:var(--sage-400);color:var(--navy-950);font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:5px 12px;border-radius:16px;font-family:'Space Grotesk',sans-serif;margin-bottom:14px;}
.course-card h4{font-size:1.12rem;color:var(--cream);margin-bottom:8px;}
.course-card p{font-size:13.5px;flex:1;}
.course-card .course-meta{display:flex;gap:14px;font-size:12px;color:var(--sage-600);margin:14px 0;}
.course-detail-head{display:grid;grid-template-columns:1fr 320px;gap:40px;align-items:start;}
@media(max-width:880px){.course-detail-head{grid-template-columns:1fr;}}
.enroll-card{background:var(--navy-900);border:1px solid rgba(166,179,156,.2);border-radius:10px;padding:28px;position:sticky;top:110px;}
.enroll-card .price{font-family:'Space Grotesk',sans-serif;font-size:2rem;color:var(--sage-400);margin-bottom:4px;}
.enroll-card .price small{font-size:.9rem;color:var(--sage-600);font-weight:500;}
.enroll-card .btn{width:100%;justify-content:center;margin-top:16px;}
.enroll-card .already{background:rgba(166,179,156,.12);color:var(--sage-300);text-align:center;padding:14px;border-radius:6px;font-size:13.5px;font-weight:600;margin-top:16px;}

/* ---------- Auth forms (login / register) ---------- */
.auth-wrap{max-width:440px;margin:0 auto;}
.auth-card{background:var(--navy-900);border:1px solid rgba(166,179,156,.15);border-radius:10px;padding:40px 34px;}
.form-group{margin-bottom:20px;}
.form-group label{display:block;font-size:13px;font-weight:600;color:var(--sage-400);margin-bottom:8px;}
.form-group input, .form-group textarea, .form-group select{
  width:100%;background:var(--navy-950);border:1px solid rgba(166,179,156,.3);color:var(--cream);
  padding:13px 15px;border-radius:5px;font-family:'Inter',sans-serif;font-size:14.5px;
}
.form-group input:focus, .form-group textarea:focus, .form-group select:focus{outline:none;border-color:var(--sage-400);}
.form-group textarea{resize:vertical;min-height:120px;}
.form-error{background:rgba(196,90,90,.12);color:#e0a3a3;border:1px solid rgba(196,90,90,.3);padding:12px 16px;border-radius:5px;font-size:13.5px;margin-bottom:20px;}
.auth-foot{text-align:center;font-size:13.5px;color:var(--sage-500);margin-top:22px;}
.auth-foot a{color:var(--sage-300);font-weight:600;}
.form-actions .btn{width:100%;justify-content:center;}

/* ---------- Student dashboard ---------- */
.dash-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:40px;}
.dash-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
@media(max-width:880px){.dash-grid{grid-template-columns:1fr;}}
.dash-course{background:var(--navy-900);border:1px solid rgba(166,179,156,.15);border-radius:8px;padding:22px;}
.dash-course h4{font-size:1.02rem;color:var(--cream);margin-bottom:6px;}
.dash-status{display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:4px 10px;border-radius:12px;margin-top:10px;}
.dash-status.active{background:rgba(166,179,156,.18);color:var(--sage-300);}
.dash-status.completed{background:rgba(166,179,156,.35);color:var(--navy-950);}

/* ============================================================
   ADMIN PANEL
   ============================================================ */
.admin-body{background:var(--navy-950);}
.admin-shell{display:flex;min-height:100vh;}
.admin-sidebar{width:240px;flex:0 0 auto;background:var(--navy-900);border-right:1px solid rgba(166,179,156,.15);padding:26px 18px;position:fixed;top:0;bottom:0;overflow-y:auto;}
.admin-sidebar .logo{margin-bottom:34px;font-size:16px;}
.admin-nav a{display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:6px;font-size:14px;color:var(--sage-400);margin-bottom:4px;font-weight:500;}
.admin-nav a:hover{background:rgba(166,179,156,.08);color:var(--cream);}
.admin-nav a.active{background:var(--sage-400);color:var(--navy-950);font-weight:700;}
.admin-nav .section-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--sage-600);font-weight:700;margin:20px 0 8px 14px;}
.admin-main{margin-left:240px;flex:1;padding:36px 40px 60px;max-width:1100px;}
@media(max-width:820px){.admin-sidebar{position:relative;width:100%;height:auto;}.admin-shell{flex-direction:column;}.admin-main{margin-left:0;padding:24px 20px 50px;}}
.admin-topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;flex-wrap:wrap;gap:14px;}
.admin-topbar h1{font-size:1.6rem;color:var(--cream);margin:0;}
.admin-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-bottom:40px;}
@media(max-width:900px){.admin-stats{grid-template-columns:repeat(2,1fr);}}
.astat{background:var(--navy-900);border:1px solid rgba(166,179,156,.15);border-radius:8px;padding:20px;}
.astat b{display:block;font-family:'Space Grotesk',sans-serif;font-size:1.8rem;color:var(--sage-400);}
.astat span{font-size:12px;color:var(--sage-600);text-transform:uppercase;letter-spacing:.04em;}
.admin-table{width:100%;border-collapse:collapse;background:var(--navy-900);border:1px solid rgba(166,179,156,.15);border-radius:8px;overflow:hidden;}
.admin-table th{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--sage-600);padding:14px 16px;border-bottom:1px solid rgba(166,179,156,.15);}
.admin-table td{padding:14px 16px;border-bottom:1px solid rgba(166,179,156,.08);font-size:13.5px;color:var(--sage-300);vertical-align:middle;}
.admin-table tr:last-child td{border-bottom:none;}
.admin-table tr:hover td{background:rgba(166,179,156,.04);}
.badge{display:inline-block;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:4px 10px;border-radius:12px;}
.badge.on{background:rgba(166,179,156,.2);color:var(--sage-300);}
.badge.off{background:rgba(196,90,90,.15);color:#e0a3a3;}
.row-actions{display:flex;gap:10px;align-items:center;}
.row-actions a{font-size:12px;font-weight:600;color:var(--sage-400);}
.row-actions a.danger, .row-actions button.danger{color:#e0a3a3;font-size:12px;font-weight:600;}
.admin-form{max-width:640px;}
.admin-form .form-group textarea{min-height:160px;}
.admin-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;flex-wrap:wrap;gap:12px;}
.current-file{font-size:12.5px;color:var(--sage-500);margin-top:6px;}

/* ============================================================
   DASHBOARD WIDGETS — charts, progress bars, activity feeds
   (used by both /admin/index.php and /dashboard.php)
   ============================================================ */
.chart-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:40px;}
@media(max-width:980px){.chart-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:640px){.chart-grid{grid-template-columns:1fr;}}
.chart-card{background:var(--navy-900);border:1px solid rgba(166,179,156,.15);border-radius:8px;padding:22px 22px 14px;}
.chart-card h4{font-size:.9rem;color:var(--cream);margin:0 0 16px;font-weight:600;}

.admin-split{display:grid;grid-template-columns:1.4fr 1fr;gap:32px;align-items:start;}
@media(max-width:880px){.admin-split{grid-template-columns:1fr;}}

.mini-progress{background:rgba(166,179,156,.15);border-radius:20px;height:8px;overflow:hidden;}
.mini-progress-fill{background:var(--sage-400);height:100%;border-radius:20px;transition:width .4s var(--ease);}
.progress-label{display:flex;justify-content:space-between;font-size:11px;color:var(--sage-600);margin-bottom:5px;}

.student-list{display:flex;flex-direction:column;gap:2px;}
.student-list li{display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--navy-900);border:1px solid rgba(166,179,156,.12);padding:14px 16px;border-radius:6px;margin-bottom:8px;}
.student-list li strong{display:block;color:var(--cream);font-size:13.5px;font-weight:600;}
.student-list li span{display:block;font-size:12px;color:var(--sage-600);}
.student-list li .joined{flex:0 0 auto;font-size:11.5px;color:var(--sage-500);text-align:right;}

/* ---------- Public-facing KPI cards (Academy student dashboard) ---------- */
.dash-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:44px;}
@media(max-width:640px){.dash-kpis{grid-template-columns:1fr 1fr;}}
.kpi-card{background:var(--navy-900);border:1px solid rgba(166,179,156,.15);border-radius:8px;padding:24px;}
.kpi-card b{display:block;font-family:'Space Grotesk',sans-serif;font-size:2rem;color:var(--sage-400);line-height:1;}
.kpi-card span{font-size:12px;color:var(--sage-600);text-transform:uppercase;letter-spacing:.05em;}

.dash-course .progress-wrap{margin-top:14px;}

/* ---------- Modal dialog (admin enrollment update) ---------- */
.modal-backdrop{
  position:fixed;inset:0;background:rgba(6,10,44,.75);backdrop-filter:blur(3px);
  display:flex;align-items:center;justify-content:center;z-index:300;
  opacity:0;pointer-events:none;transition:opacity .2s var(--ease);padding:20px;
}
.modal-backdrop.open{opacity:1;pointer-events:auto;}
.modal-card{
  background:var(--navy-900);border:1px solid rgba(166,179,156,.2);border-radius:10px;
  padding:30px 28px;width:100%;max-width:400px;
  transform:translateY(12px);transition:transform .25s var(--ease);
}
.modal-backdrop.open .modal-card{transform:translateY(0);}
.modal-card h3{font-size:1.15rem;color:var(--cream);}
.modal-card p{color:var(--sage-500);}

.edit-enroll-btn{background:none;border:none;font:inherit;font-size:12px;font-weight:600;color:var(--sage-400);cursor:pointer;padding:0;}
.edit-enroll-btn:hover{color:var(--cream);}
