:root{--bell-blue:#1490D3;--navy:#0A2A44;--saffron:#F5821F;--paper:#F7FAFC;--line:#E1E9EF;--danger:#D64545;}
*{box-sizing:border-box;}
body{font-family:'Inter',system-ui,sans-serif;background:var(--paper);color:var(--navy);margin:0;}
a{color:var(--bell-blue);}

/* login */
.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--navy);}
.login-box{background:#fff;padding:36px;border-radius:16px;width:320px;}
.login-box h1{font-size:20px;margin-bottom:20px;}
.login-box label{display:block;font-size:12.5px;font-weight:600;margin:12px 0 6px;}
.login-box input{width:100%;padding:10px 12px;border:1.5px solid var(--line);border-radius:8px;font-size:14px;}
.login-box button{margin-top:20px;width:100%;background:var(--bell-blue);color:#fff;border:none;padding:11px;border-radius:8px;font-weight:600;cursor:pointer;}
.error{color:var(--danger);font-size:13px;}

/* shell */
.admin-shell{display:flex;min-height:100vh;}
.admin-sidebar{width:230px;background:var(--navy);color:#BFE0F2;padding:24px 16px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;}
.admin-brand{color:#fff;font-weight:700;font-size:16px;margin-bottom:24px;}
.admin-brand span{display:block;font-size:11px;color:#7FA8C2;font-weight:400;}
.admin-sidebar nav{display:flex;flex-direction:column;gap:4px;flex:1;}
.admin-sidebar nav a{color:#BFE0F2;text-decoration:none;padding:10px 12px;border-radius:8px;font-size:13.5px;}
.admin-sidebar nav a.active,.admin-sidebar nav a:hover{background:rgba(255,255,255,.08);color:#fff;}
.admin-logout{color:#8FB6CC;font-size:12.5px;text-decoration:none;padding:10px 12px;}
.admin-main{flex:1;padding:36px 44px;max-width:900px;}
.admin-main h1{font-size:24px;margin-bottom:4px;}
.sub{color:#5C7A8C;font-size:13.5px;margin-bottom:24px;}

/* forms */
.card-form{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px;margin-bottom:30px;}
.field{margin-bottom:16px;}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.field label{display:block;font-size:12.5px;font-weight:600;margin-bottom:6px;}
.field input[type=text],.field input[type=date],.field input[type=number],.field select,.field textarea{
  width:100%;padding:10px 12px;border:1.5px solid var(--line);border-radius:8px;font-size:13.5px;font-family:inherit;}
.field textarea{resize:vertical;}
.preview-img{max-width:140px;border-radius:8px;display:block;margin-bottom:8px;}
.btn-save{background:var(--bell-blue);color:#fff;border:none;padding:11px 22px;border-radius:8px;font-weight:600;cursor:pointer;font-size:13.5px;}
.btn-cancel-link{margin-left:12px;font-size:13px;color:#7189A0;}
.flash-ok{background:#E4F7EA;color:#1F8A4C;padding:10px 14px;border-radius:8px;font-size:13.5px;margin-bottom:16px;display:inline-block;}

/* table */
.admin-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;}
.admin-table th,.admin-table td{padding:12px 14px;text-align:left;font-size:13.5px;border-bottom:1px solid var(--line);}
.admin-table th{background:#F0F6FA;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#5C7A8C;}
.row-actions{display:flex;gap:12px;align-items:center;}
.row-actions form{display:inline;}
.link-danger{background:none;border:none;color:var(--danger);cursor:pointer;font-size:13px;}
.link-muted{background:none;border:none;color:#7189A0;cursor:pointer;font-size:13px;}

/* stat grid */
.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.stat-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;text-decoration:none;color:var(--navy);display:flex;flex-direction:column;gap:6px;}
.stat-card span{font-size:28px;font-weight:700;}
.stat-card.highlight{border-color:var(--saffron);}

/* suggestions */
.suggestion-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;margin-bottom:16px;}
.suggestion-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;}
.muted{color:#7189A0;font-size:12.5px;margin-left:8px;}
.status-pill{font-size:11px;padding:4px 10px;border-radius:100px;text-transform:capitalize;background:#EEF3F6;}
.status-pending{background:#FFF3E0;color:#B9660A;}
.status-published{background:#E4F7EA;color:#1F8A4C;}
.suggestion-msg{font-size:14px;margin-bottom:12px;}
.suggestion-reply{background:#F0F6FA;border-radius:10px;padding:14px;font-size:13px;}
.reply-form textarea{width:100%;border:1.5px solid var(--line);border-radius:8px;padding:10px;font-family:inherit;font-size:13.5px;margin-bottom:8px;}
.reply-form input{width:100%;border:1.5px solid var(--line);border-radius:8px;padding:9px 10px;font-size:13px;margin-bottom:8px;}
.suggestion-actions{display:flex;gap:14px;margin-top:10px;}

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