/* ==========================================================
   DOT MEDIA — Custom Theme
   ========================================================== */
:root{
  --dm-primary:#ff5722;
  --dm-primary-dark:#e64a19;
  --dm-navy:#141b2d;
  --dm-navy-2:#1c2540;
  --dm-bg:#f4f6fb;
  --dm-radius:14px;
  --dm-shadow:0 4px 18px rgba(20,27,45,.06);
}
*{box-sizing:border-box;}
body{
  font-family:'Inter',sans-serif;
  background:var(--dm-bg);
  color:#232a3b;
  margin:0;
}
h1,h2,h3,h4,h5,.brand-title,.brand-text{font-family:'Poppins',sans-serif;}
a{text-decoration:none;}

/* ---------- Layout ---------- */
.app-wrapper{display:flex;min-height:100vh;}
.main-content{flex:1;min-width:0;display:flex;flex-direction:column;padding:24px;padding-top:20px;}
@media (max-width:991px){ .main-content{padding:16px;padding-top:76px;} }

/* ---------- Sidebar ---------- */
.sidebar{
  width:260px;flex-shrink:0;
  background:linear-gradient(180deg,var(--dm-navy) 0%,var(--dm-navy-2) 100%);
  color:#dbe0ef;min-height:100vh;position:sticky;top:0;
  display:flex;flex-direction:column;
  transition:transform .25s ease;
}
.sidebar-brand{display:flex;align-items:center;gap:10px;padding:22px 20px 18px;border-bottom:1px solid rgba(255,255,255,.08);}
.sidebar-brand i{font-size:28px;color:var(--dm-primary);}
.brand-title{font-weight:700;font-size:18px;color:#fff;line-height:1;}
.brand-sub{font-size:11px;color:#9aa4c2;letter-spacing:.5px;text-transform:uppercase;}
.sidebar-user{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.08);}
.avatar{width:38px;height:38px;border-radius:50%;background:var(--dm-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0;}
.u-name{font-size:13.5px;font-weight:600;color:#fff;}
.u-role{font-size:11px;color:#9aa4c2;}
.sidebar-nav{display:flex;flex-direction:column;padding:14px 12px;gap:2px;flex:1;overflow-y:auto;}
.sidebar-nav .nav-link{display:flex;align-items:center;gap:12px;color:#c3cae0;padding:11px 14px;border-radius:10px;font-size:14px;font-weight:500;}
.sidebar-nav .nav-link i{font-size:17px;width:20px;text-align:center;}
.sidebar-nav .nav-link:hover{background:rgba(255,255,255,.06);color:#fff;}
.sidebar-nav .nav-link.active{background:var(--dm-primary);color:#fff;box-shadow:0 4px 10px rgba(255,87,34,.35);}

.mobile-topbar{display:none;background:var(--dm-navy);color:#fff;padding:12px 14px;position:fixed;top:0;left:0;right:0;z-index:1050;}
.mobile-topbar .brand-text{font-weight:700;font-size:16px;}
.mobile-topbar .brand-text i{color:var(--dm-primary);margin-right:6px;}

@media (max-width:991px){
  .mobile-topbar{display:flex;}
  .sidebar{position:fixed;top:0;left:0;height:100vh;z-index:1060;transform:translateX(-100%);}
  .sidebar.show{transform:translateX(0);}
  .sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:1055;}
  .sidebar-overlay.show{display:block;}
}

/* ---------- Footer ---------- */
.app-footer{margin-top:auto;padding:16px 4px 4px;font-size:12.5px;color:#8992ac;text-align:center;}
.app-footer strong{color:#5a6379;}

/* ---------- Cards / Widgets ---------- */
.dm-card{background:#fff;border-radius:var(--dm-radius);box-shadow:var(--dm-shadow);border:1px solid #edeff5;}
.stat-card{padding:20px;border-radius:var(--dm-radius);color:#fff;position:relative;overflow:hidden;box-shadow:var(--dm-shadow);}
.stat-card i.bg-icon{position:absolute;right:-6px;bottom:-10px;font-size:70px;opacity:.18;}
.stat-card .stat-num{font-size:28px;font-weight:700;font-family:'Poppins',sans-serif;}
.stat-card .stat-label{font-size:13px;opacity:.9;}
.bg-grad-orange{background:linear-gradient(135deg,#ff7a3d,#ff5722);}
.bg-grad-navy{background:linear-gradient(135deg,#2b3760,#141b2d);}
.bg-grad-green{background:linear-gradient(135deg,#2fbf85,#1a9c68);}
.bg-grad-blue{background:linear-gradient(135deg,#4f8cff,#2f5fdb);}
.bg-grad-red{background:linear-gradient(135deg,#ff6b6b,#e6373f);}

.page-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:18px;}
.page-head h4{margin:0;font-weight:700;}
.page-head p{margin:0;color:#8992ac;font-size:13px;}

.btn-dm{background:var(--dm-primary);border-color:var(--dm-primary);color:#fff;}
.btn-dm:hover{background:var(--dm-primary-dark);border-color:var(--dm-primary-dark);color:#fff;}
.btn-outline-dm{border:1px solid var(--dm-primary);color:var(--dm-primary);background:#fff;}
.btn-outline-dm:hover{background:var(--dm-primary);color:#fff;}

/* ---------- Table ---------- */
.table-dm thead{background:#f6f7fb;}
.table-dm th{font-size:12px;text-transform:uppercase;letter-spacing:.4px;color:#78829c;font-weight:600;border-bottom:2px solid #eef0f6;}
.table-dm td{vertical-align:middle;font-size:13.5px;}
.table-dm tbody tr:hover{background:#fbfaff;}

/* ---------- Status badges (colour coding) ---------- */
.status-badge{padding:4px 11px;border-radius:20px;font-size:11.5px;font-weight:600;white-space:nowrap;display:inline-block;}

/* left colour strip cards for followups on mobile */
.followup-item{border-left:5px solid #ccc;background:#fff;border-radius:10px;padding:12px 14px;margin-bottom:10px;box-shadow:var(--dm-shadow);}
.followup-item.st-hot{border-color:#e83e0c;}
.followup-item.st-warm{border-color:#e6a400;}
.followup-item.st-cold{border-color:#0d6efd;}
.followup-item.st-dead{border-color:#b00020;opacity:.75;}
.followup-item.st-won{border-color:#198754;}
.followup-item.st-new{border-color:#6c757d;}

/* click to call */
.call-link{color:var(--dm-primary);font-weight:600;}
.call-link:hover{text-decoration:underline;}

/* company card grid (user side) */
.company-card{background:#fff;border-radius:var(--dm-radius);box-shadow:var(--dm-shadow);padding:16px;border-top:4px solid #ccc;height:100%;}
.company-card h6{font-weight:700;margin-bottom:2px;}

/* login page */
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#141b2d,#2b3760 60%,#ff5722);padding:16px;}
.login-card{background:#fff;border-radius:18px;max-width:900px;width:100%;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.35);display:flex;}
.login-side{background:linear-gradient(160deg,#1c2540,#141b2d);color:#fff;flex:1;padding:44px;display:flex;flex-direction:column;justify-content:center;}
.login-side i{font-size:44px;color:var(--dm-primary);}
.login-form{flex:1;padding:44px;}
@media (max-width:767px){.login-side{display:none;}}

/* misc */
.badge-soft-orange{background:#fff0e8;color:#ff5722;}
.form-label{font-weight:600;font-size:13px;color:#454f6b;}
.modal-content{border-radius:16px;border:none;}
.form-control,.form-select{border-radius:8px;font-size:14px;}
.form-control:focus,.form-select:focus{border-color:var(--dm-primary);box-shadow:0 0 0 .2rem rgba(255,87,34,.15);}
.nav-tabs .nav-link.active{border-bottom:3px solid var(--dm-primary);font-weight:600;}
