/* ==============================
   GLOBAL STYLE
   ============================== */

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  padding: 20px;
  font-family: Arial, Helvetica, sans-serif;
  background: #f1f5f9;
  color: #0f172a;
}

/* ==============================
   BUTTON STYLE
   ============================== */

.btn {
  background: #2563eb;
  color: white;
  padding: 10px 15px;
  border-radius: 8px;
  text-decoration: none;
  font-size: 14px;
  display: inline-block;
}

.btn:hover {
  opacity: 0.9;
}

/* ==============================
   CONTAINER (PAGE WRAPPER)
   ============================== */

.container {
  max-width: 1100px;
  margin: auto;
}

/* ==============================
   TOP NAVIGATION BAR
   ============================== */

.topbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: white;
  padding: 15px 25px;
  border-radius: 12px;
  box-shadow: 0 5px 15px rgba(0,0,0,.05);
  margin-bottom: 20px;
}

.topbar{
 display:flex;
 justify-content:space-between;
 align-items:center;
}

.nav-actions{
 display:flex;
 gap:12px;
}

/* OPTIONAL beda warna logout */

.logout-btn{
 background:#ef4444;
}

.logout-btn:hover{
 background:#dc2626;
}

/* ==============================
   STATISTIC BOX
   ============================== */

.stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px,1fr));
  gap: 20px;
}

.stat-box {
  background: white;
  padding: 20px;
  border-radius: 15px;
  box-shadow: 0 8px 20px rgba(0,0,0,.07);
}

.stat-box small {
  color: #64748b;
  font-size: 13px;
}

.stat-box h2 {
  margin-top: 5px;
}

/* ==============================
   SECTION TITLE
   ============================== */

.section-title {
  margin: 25px 0 10px;
  font-size: 18px;
}

/* ==============================
   PROJECT GRID
   ============================== */

.grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px,1fr));
  gap: 20px;
}

/* ==============================
   PROJECT CARD
   ============================== */

.card {
  background: white;
  border-radius: 15px;
  padding: 15px;
  text-align: center;
  box-shadow: 0 10px 20px rgba(0,0,0,.08);
  transition: .2s;
}

.card:hover {
  transform: translateY(-5px);
}

.card img {
  width: 80px;
  height: 80px;
  object-fit: contain;
  margin-bottom: 10px;
}

.card h4 {
  margin: 5px 0;
}

.card small {
  color: #64748b;
  font-size: 12px;
}

.card a {
  text-decoration: none;
  color: inherit;
}

/* ==============================
   PROGRESS BAR
   ============================== */

.progress-box {
  background: #e5e7eb;
  height: 10px;
  border-radius: 10px;
  margin-top: 10px;
  overflow: hidden;
}

.progress-fill {
  height: 100%;
  background: #22c55e;
}

.progress-text {
  font-size: 12px;
  color: #475569;
}

/* ==============================
   FORM LAYOUT (ADD PROJECT)
   ============================== */

.form-container {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 90vh;
}

.form-card {
  background: white;
  padding: 25px;
  width: 350px;
  border-radius: 15px;
  box-shadow: 0 15px 30px rgba(0,0,0,.1);
}

.form-card h2 {
  text-align: center;
  margin-bottom: 15px;
}

/* ==============================
   INPUT FORM STYLE
   ============================== */

input, 
select, 
button {
  width: 100%;
  padding: 10px;
  margin-top: 8px;
  border-radius: 8px;
  border: 1px solid #cbd5e1;
  font-size: 14px;
}

input:focus,
select:focus {
  outline: none;
  border-color: #2563eb;
}

/* ==============================
   FORM BUTTON
   ============================== */

.form-card button {
  background: #2563eb;
  color: white;
  border: none;
  margin-top: 15px;
  cursor: pointer;
}

.form-card button:hover {
  opacity: 0.9;
}

/* ==============================
   BACK BUTTON (ADD PROJECT PAGE)
   ============================== */

.back-btn {
  display: block;
  text-align: center;
  margin-top: 15px;
  text-decoration: none;
  color: #2563eb;
  font-size: 14px;
}

/* ==============================
   MOBILE RESPONSIVE
   ============================== */

@media(max-width:768px){

  body {
    padding: 10px;
  }

  .topbar {
    flex-direction: column;
    gap: 10px;
    text-align: center;
  }

  .form-card {
    width: 100%;
  }

}

/* ==============================
   PROJECT DETAIL PAGE
   ============================== */

.project-box {
  background: white;
  padding: 20px;
  border-radius: 15px;
  box-shadow: 0 10px 20px rgba(0,0,0,.08);
}

.project-info {
  display: flex;
  gap: 15px;
  align-items: center;
}

.project-info img {
  width: 70px;
  height: 70px;
  object-fit: contain;
}

.log-box {
  margin-top: 10px;
}

.log-item {
  background: #f1f5f9;
  padding: 10px;
  border-radius: 8px;
  margin-bottom: 8px;
}

.log-item span {
  font-size: 12px;
  color: #64748b;
}

.trend-up{
 color:#16a34a;
 font-weight:bold;
 font-size:13px;
}

.trend-down{
 color:#dc2626;
 font-weight:bold;
 font-size:13px;
}

.trend-flat{
 color:#2563eb;
 font-weight:bold;
 font-size:13px;
}

/* ===== ACTIVITY DASHBOARD ===== */

.activity-wrapper{
 margin:22px 0;
}

.activity-card{
 background:#ffffff;
 border-radius:18px;
 box-shadow:0 12px 28px rgba(0,0,0,.08);
 overflow:hidden;
}

/* HEADER */

.activity-header{
 padding:18px 22px;
 font-size:16px;
 font-weight:600;
 display:flex;
 align-items:center;
 gap:10px;
 border-bottom:1px solid #e5e7eb;
 background:#ffffff;
}

/* BODY */

.activity-body{
 padding:12px 18px 16px 18px;
 max-height:260px;
 overflow-y:auto;
}

/* SCROLL */

.activity-body::-webkit-scrollbar{
 width:6px;
}

.activity-body::-webkit-scrollbar-thumb{
 background:#cbd5e1;
 border-radius:8px;
}

.activity-body::-webkit-scrollbar-track{
 background:#f1f5f9;
}

/* ITEM */

.activity-item{
 display:flex;
 gap:14px;
 padding:12px 14px;
 margin-bottom:10px;
 border-radius:14px;
 background:linear-gradient(90deg,#f8fafc,#f1f5f9);
}

.activity-item:last-child{
 margin-bottom:0;
}

/* ICON */

.activity-icon{
 width:34px;
 height:34px;
 min-width:34px;
 border-radius:10px;
 display:flex;
 align-items:center;
 justify-content:center;
 font-size:16px;
 font-weight:bold;
 flex-shrink:0;
}

/* CONTENT */

.activity-content{
 width:100%;
}

.activity-top{
 display:flex;
 justify-content:space-between;
 align-items:center;
 margin-bottom:3px;
}

.activity-project{
 font-size:13.5px;
 font-weight:600;
}

.activity-text{
 font-size:12.5px;
 color:#334155;
 line-height:1.5;
}

.activity-time{
 font-size:11px;
 color:#94a3b8;
 white-space:nowrap;
}

/* ICON COLOR */

.icon-article{
 background:#dcfce7;
 color:#166534;
}

.icon-keyword{
 background:#e0e7ff;
 color:#3730a3;
}

.icon-traffic{
 background:#fff7ed;
 color:#9a3412;
}

.icon-stop{
 background:#fee2e2;
 color:#991b1b;
}

.icon-resume{
 background:#dcfce7;
 color:#166534;
}

.icon-default{
 background:#e5e7eb;
 color:#374151;
}

/* HOVER */

.activity-item:hover{
 background:linear-gradient(90deg,#eef2ff,#e0f2fe);
 transition:.2s;
}