@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
body{font-family:'Inter',sans-serif;background:#f5f5f5;color:#1a1a1a;line-height:1.6;}
a{color:inherit;text-decoration:none;}

/* ── Login ── */
.login-body{display:flex;align-items:center;justify-content:center;min-height:100vh;background:#f0f4f2;}
.login-card{background:#fff;border-radius:12px;box-shadow:0 4px 24px rgba(0,0,0,0.10);padding:2.5rem 2rem;width:100%;max-width:380px;}
.login-logo{text-align:center;margin-bottom:2rem;}
.brand-text-lg{font-size:22px;font-weight:700;color:#1a1a1a;}
.login-title{font-size:13px;color:#888;margin-top:6px;text-transform:uppercase;letter-spacing:0.05em;}
.btn-login{width:100%;padding:11px;background:#2a7a5a;color:#fff;border:none;border-radius:6px;font-size:15px;font-weight:600;cursor:pointer;font-family:'Inter',sans-serif;margin-top:4px;}
.btn-login:hover{background:#1f5e44;}

/* ── Nav ── */
.admin-nav{background:#1a1a1a;color:#fff;padding:0 1.5rem;height:52px;display:flex;align-items:center;}
.admin-nav-inner{max-width:1300px;margin:0 auto;width:100%;display:flex;align-items:center;justify-content:space-between;}
.admin-brand{font-size:15px;font-weight:700;color:#fff;}
.admin-nav-links{display:flex;align-items:center;gap:1rem;}
.admin-nav-links a{font-size:13px;color:#aaa;transition:color .12s;}
.admin-nav-links a:hover{color:#fff;}
.admin-user{font-size:12px;color:#666;}
.nav-logout{color:#f87171 !important;}

/* ── Wrap ── */
.admin-wrap{max-width:1300px;margin:0 auto;padding:1.5rem;}
.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;}
.admin-header h1{font-size:22px;font-weight:700;}

/* ── Alerts ── */
.alert{padding:10px 16px;border-radius:7px;font-size:14px;margin-bottom:1rem;}
.alert-success{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0;}
.alert-error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;}

/* ── Stats ── */
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem;}
.stat-card{background:#fff;border:1px solid #e5e5e5;border-radius:10px;padding:1.25rem;text-align:center;}
.stat-num{font-size:32px;font-weight:800;color:#2a7a5a;}
.stat-label{font-size:13px;color:#888;margin-top:4px;}

/* ── Cards ── */
.admin-card{background:#fff;border:1px solid #e5e5e5;border-radius:10px;padding:1.5rem;margin-bottom:1.5rem;}
.admin-card h2{font-size:16px;font-weight:700;margin-bottom:1rem;padding-bottom:0.75rem;border-bottom:1px solid #f0f0f0;}
.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;}
.card-header h2{margin-bottom:0;padding-bottom:0;border-bottom:none;}
.card-hint{font-size:12px;color:#aaa;margin-bottom:1rem;margin-top:-8px;}

/* ── Table ── */
.admin-table{width:100%;border-collapse:collapse;font-size:13px;}
.admin-table th{background:#f9fafb;padding:9px 12px;text-align:left;font-weight:600;font-size:12px;color:#666;border-bottom:1px solid #e5e5e5;white-space:nowrap;}
.admin-table td{padding:10px 12px;border-bottom:0.5px solid #f0f0f0;vertical-align:middle;}
.admin-table tr:hover td{background:#fafafa;}
.status-badge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px;}
.status-published{background:#dcfce7;color:#166534;}
.status-draft{background:#fef3c7;color:#92400e;}
.badge-featured{font-size:12px;margin-left:4px;}
.actions{display:flex;gap:6px;flex-wrap:wrap;}
.btn-action{font-size:12px;padding:4px 10px;border:1px solid #ddd;border-radius:5px;cursor:pointer;background:#fff;color:#444;font-family:'Inter',sans-serif;transition:background .12s;}
.btn-action:hover{background:#f5f5f5;}
.btn-danger{border-color:#fecaca;color:#b91c1c;}
.btn-danger:hover{background:#fef2f2;}

/* ── Form ── */
.form-group{margin-bottom:1rem;}
.form-group label{display:block;font-size:13px;font-weight:600;color:#555;margin-bottom:5px;}
.form-group input[type=text],.form-group input[type=number],.form-group input[type=email],.form-group select,.form-group textarea{width:100%;padding:9px 11px;border:1px solid #ddd;border-radius:6px;font-size:14px;color:#1a1a1a;font-family:'Inter',sans-serif;}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#2a7a5a;box-shadow:0 0 0 3px rgba(42,122,90,0.10);}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.req{color:#b91c1c;}
.checkbox-label{display:flex;align-items:center;gap:8px;font-size:14px;cursor:pointer;}
.checkbox-label input{width:auto;}
.search-input{padding:7px 11px;border:1px solid #ddd;border-radius:6px;font-size:13px;font-family:'Inter',sans-serif;width:220px;}

/* ── Buttons ── */
.btn-primary{background:#2a7a5a;color:#fff;border:none;border-radius:7px;padding:9px 18px;font-size:14px;font-weight:600;cursor:pointer;font-family:'Inter',sans-serif;display:inline-block;}
.btn-primary:hover{background:#1f5e44;}
.btn-secondary{background:#fff;color:#444;border:1px solid #ddd;border-radius:7px;padding:9px 16px;font-size:14px;font-weight:500;cursor:pointer;font-family:'Inter',sans-serif;display:inline-block;}
.btn-secondary:hover{background:#f5f5f5;}
.btn-sm{padding:6px 12px;font-size:13px;}
.btn-full{width:100%;text-align:center;}

/* ── Edit Layout ── */
.edit-layout{display:grid;grid-template-columns:1fr 280px;gap:1.5rem;align-items:start;}
.edit-main{min-width:0;}
.edit-sidebar{position:sticky;top:70px;}
.detail-info div{display:flex;justify-content:space-between;padding:6px 0;border-bottom:0.5px solid #f0f0f0;font-size:13px;}
.detail-info div span:first-child{color:#888;}
.detail-info div code{font-size:11px;background:#f5f5f5;padding:1px 5px;border-radius:3px;}

/* ── Quick Facts ── */
.qf-row{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;margin-bottom:8px;align-items:center;}
.qf-row input{margin:0;}
.btn-remove-qf{background:none;border:1px solid #fecaca;color:#b91c1c;border-radius:5px;padding:6px 10px;cursor:pointer;font-size:14px;}

/* ── Upload Zone ── */
.upload-zone{border:2px dashed #ddd;border-radius:8px;padding:2rem;text-align:center;cursor:pointer;transition:border-color .15s;margin-bottom:1rem;}
.upload-zone:hover{border-color:#2a7a5a;}
.upload-zone input[type=file]{display:none;}
.upload-label{cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:8px;}
.upload-icon{font-size:2rem;}
#upload-file-name{font-size:13px;color:#888;}
.existing-docs h3{font-size:14px;font-weight:600;margin-bottom:10px;color:#555;}
.doc-item-admin{display:flex;align-items:center;gap:12px;border:1px solid #e5e5e5;border-radius:8px;padding:10px 14px;margin-bottom:8px;}
.doc-icon{font-size:20px;}
.doc-info{flex:1;}
.doc-name{display:block;font-size:13px;font-weight:600;}
.doc-meta{display:block;font-size:11px;color:#aaa;}
.doc-actions{display:flex;gap:6px;}

/* ── Quill overrides ── */
.ql-container{font-family:'Inter',sans-serif;font-size:14px;}
.ql-editor{min-height:120px;}

/* ── Empty state ── */
.empty-state{text-align:center;padding:3rem;color:#aaa;}
.empty-state a{color:#2a7a5a;}

@media(max-width:900px){
  .stats-grid{grid-template-columns:1fr 1fr;}
  .edit-layout{grid-template-columns:1fr;}
  .edit-sidebar{position:static;}
  .form-row{grid-template-columns:1fr;}
}
