:root{
  --font: Verdana, Geneva, Tahoma, sans-serif;

  --blue:#1d77e8;
  --cyan:#06b6d4;
  --green:#00c48c;
  --purple:#9b6bff;
  --orange:#ffa94d;
  --red:#e53935;

  --bg:#f7f9fc;
  --panel:#ffffff;
  --text:#1f2937;
  --muted:#6b7280;
  --border:#e4e9ef;

  --radius:12px;
  --shadow-sm:0 2px 6px rgba(0,0,0,.06);
  --shadow:0 4px 12px rgba(0,0,0,.08);
  --tr:all .2s ease;
}

*{ box-sizing:border-box; }
html,body{ height:100%; }
body{
  margin:0;
  font-family:var(--font);
  background:var(--bg);
  color:var(--text);
}

a{ color:inherit; text-decoration:none; }

.app{
  display:flex;
  min-height:100vh;
}

.sidebar{
  width:260px;
  background:var(--panel);
  border-right:1px solid var(--border);
  padding:18px;
  position:sticky;
  top:0;
  height:100vh;
}

.brand{
  font-weight:800;
  color:var(--purple);
  font-size:18px;
  margin-bottom:18px;
}

.nav{
  display:flex;
  flex-direction:column;
  gap:6px;
  margin-bottom:18px;
}

.nav a{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-radius:10px;
  color:var(--muted);
  transition:var(--tr);
}

.nav a.active, .nav a:hover{
  background:#f1f4ff;
  color:var(--text);
}

.section-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin:14px 0 8px;
  font-size:12px;
  letter-spacing:.08em;
  color:var(--muted);
  font-weight:700;
}

.btn-icon{
  border:1px solid var(--border);
  background:var(--panel);
  border-radius:10px;
  width:32px;
  height:32px;
  cursor:pointer;
  transition:var(--tr);
}
.btn-icon:hover{ transform:translateY(-1px); box-shadow:var(--shadow-sm); }

.project-list{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.project-item{
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 10px;
  border-radius:10px;
  cursor:pointer;
  transition:var(--tr);
  color:var(--text);
}
.project-item:hover{ background:#f8fafc; }

.dot{
  width:10px;height:10px;border-radius:999px;background:var(--cyan);
}

.main{
  flex:1;
  padding:26px 26px 40px;
}

.topbar{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:18px;
}

.hi h1{
  margin:0;
  font-size:26px;
}
.hi .date{
  color:var(--muted);
  margin-top:6px;
  font-size:14px;
}

.cards{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:14px;
  margin:18px 0 22px;
}

.card{
  background:var(--panel);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
  padding:14px 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.card .label{
  color:var(--muted);
  font-size:13px;
}
.card .value{
  font-size:22px;
  font-weight:800;
}

.grid2{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  margin-top:10px;
}

.panel{
  background:var(--panel);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
  padding:16px;
}

.panel h3{
  margin:0 0 10px;
  font-size:16px;
}

.input{
  width:100%;
  padding:12px 12px;
  border:1px solid var(--border);
  border-radius:12px;
  outline:none;
}
.input:focus{ border-color:#c7d2fe; box-shadow:0 0 0 4px rgba(99,102,241,.12); }

.task{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:10px 8px;
  border-bottom:1px dashed #eef2f7;
}
.task:last-child{ border-bottom:none; }

.chk{ margin-top:2px; }
.task-title{ font-weight:700; }
.task-meta{ color:var(--muted); font-size:12px; margin-top:2px; }

.badge{
  font-size:12px;
  padding:4px 8px;
  border-radius:999px;
  border:1px solid var(--border);
  color:var(--muted);
}

.row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.actions{
  display:flex;
  align-items:center;
  gap:8px;
}

.btn{
  border:1px solid var(--border);
  background:var(--panel);
  padding:10px 12px;
  border-radius:12px;
  cursor:pointer;
  transition:var(--tr);
}
.btn:hover{ transform:translateY(-1px); box-shadow:var(--shadow-sm); }

.btn.primary{
  background:linear-gradient(90deg, #6d5efc, #2dd4bf);
  border:none;
  color:#fff;
}

@media (max-width: 980px){
  .cards{ grid-template-columns:repeat(2,1fr); }
  .grid2{ grid-template-columns:1fr; }
  .sidebar{ display:none; }
  .main{ padding:18px; }
}