*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:Poppins,sans-serif;
}

body{
background:#F8fafc;
padding:20px;
min-height:100vh;
}

.welcome{
margin-bottom:25px;
}

.welcome h2{
font-size:40px;
font-weight:700;
}

.welcome p{
color:gray;
margin-top:5px;
font-size: 18px;
}

.container{
max-width:1400px;
margin:auto;
padding:20px;
}

.sidebar{
background:white;
padding:20px;
border-radius:20px;
box-shadow:0 5px 15px rgba(0,0,0,.08);
}

.menu{
list-style:none;
margin-top:20px;
}

.menu li{
padding:15px;
margin-bottom:10px;
cursor:pointer;
border-radius:12px;
display: flex;
align-items: center;
justify-content: space-between;
}

.menu li{
background: #f8fafc;
transition:.3s;
font-weight:600;
}

.menu span{
background:#7c3aed;
color:white;
padding:3px 8px;
border-radius:20px;
font-size:12px;
}

.menu li:hover{
background:#eef2ff;
transform: translateX(5px);
color:#4f46e5;
}

.main-content{
background:white;
padding:30px;
border-radius:20px;
box-shadow:0 5px 15px rgba(0,0,0,.08);
}

.stat{
margin-top:15px;
padding:10px;
background:#f8fafc;
border-left: 4px solid #7c3aed;
border-radius:12px;
}

.right-panel{
display:flex;
flex-direction:column;
gap:20px;
}

.check-container{
display:flex;
align-items:center;
cursor:pointer;
}

.check-container input{
width:22px;
height:22px;
cursor:pointer;
accent-color: #7c3aed;
}

.overview-card div{
background:#f8fafc;
padding:15px;
margin-bottom:15px;
border-radius:15px;
box-shadow:0 5px 15px rgba(0,0,0,.08);
}

#upcomingList li{
background:#f8fafc;
padding:12px;
border-radius:12px;
border-left:4px solid #7c3aed;
margin-bottom:10px;
}

.circle{
width:150px;
height:150px;
border-radius:50%;

background:
conic-gradient(
#7c3aed var(--progress),
#334155 0deg
);

display:flex;
justify-content:center;
align-items:center;

position:relative;
margin:auto;
}

.circle::before{
content:"";
position:absolute;

width:120px;
height:120px;

border-radius:50%;
background:white;
}

.circle-content{
position:relative;
z-index:1;
text-align:center;
}

.circle-content h2{
margin:0;
}

.circle-content p{
margin-top:5px;
}

.upcoming-card{
background:white;
padding:20px;
border-radius:20px;
margin-bottom:10px;
box-shadow:0 5px 15px rgba(0,0,0,.08);
}

.navbar {
 display: flex;
 justify-content: space-between;
 align-items: center;
} 

.overview-circle{
background:white;
padding:20px;
border-radius:20px;
box-shadow:0 5px 15px rgba(0,0,0,.08);
text-align:center;
}

.theme-btn {
  background: #4f46e5;
  border: none;
  padding: 10px 12px;
  border-radius: 50%;
  font-size: 18px;
  cursor: pointer;
  transition: 0.3s;
  margin-left: auto;
}

.theme-btn:hover {
  transform: scale(1.1);
}

body.dark {
  background: #0f172a;
  color: #e2e8f0;
}

body.dark .circle::before{
background:#1e293b;
}

body.dark .navbar {
  background: #1e293b;
}

body.dark .sidebar,
body.dark .main-content,
body.dark .overview-card,
body.dark .upcoming-card{
background:#1e293b;
}

body.dark li {
  background: #334155;
  color: white;
}

body.dark input,
body.dark select {
  background: #0f172a;
  color: white;
  border: 1px solid #475569;
}

body.dark #auth-section{
background:#1e293b;
color:white;
}

body.dark .stat{
background:#334155;
color:white;
}

body.dark .task-card{
background:#1e293b;
color:white;
}

body.dark .task-info small{
color:#cbd5e1;
}

body.dark #taskList li{
background:#1e293b;
color:white;
}

body.dark .overview-circle{
background:#1e293b;
color:white;
}

body.dark .circle{
border-color:#7c3aed;
color:white;
}

body.dark .overview-card h3,
body.dark .upcoming-card h3{
color:white;
}

body.dark #upcomingList li{
color:white;
background:#334155;
}

body.dark #searchInput{
background:#0f172a;
color:white;
border:1px solid #475569;
}

body.dark footer{
color:#94a3b8;
}

h1{
text-align:center;
padding:15px;
border-radius:12px;
background:
linear-gradient(
135deg,
#4f46e5,
#7c3aed
);

color:white;
margin-bottom:20px;
}

h2{
margin-bottom:15px;
}

select {
  padding: 12px;
  border-radius: 8px;
  border: 1px solid #ddd;
  background: #0f172a;
  color: white;
}

input{
width:100%;
padding:12px;
margin:8px 0;
border:1px solid #ddd;
border-radius:8px;
}

input:focus{
outline:none;
border-color:#4f46e5;
box-shadow:0 0 5px rgba(79,70,229,0.3);
}

button{
padding:12px 20px;
border:none;
border-radius:8px;
cursor:pointer;
background:#4f46e5;
color:white;
transition: 0.3s;
}

button:hover{
opacity:.9;
transform:translateY(-2px);
}

.add-btn {
  width: 55px;
  height: 55px;
  border-radius: 50%;
  font-size: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #4f46e5;
  color: white;
  border: none;
  cursor: pointer;
  transition: 0.3s;
}

.add-btn:hover {
  transform: scale(1.1);
  background: #4338ca;
}

#prioritySelect {
  border:1px solid #ddd;
  padding:15px;
  margin-top: 12px;
  margin-bottom:12px;
  border-radius:12px;
}

.high {
  border-left: 5px solid red;
  background: rgba(255, 0, 0, 0.05);
}

.medium {
  border-left: 5px solid orange;
  background: rgba(255, 165, 0, 0.05);
}

.low {
  border-left: 5px solid green;
  background: rgba(0, 128, 0, 0.05);
}

.auth-btns{
display:flex;
gap:10px;
}

#app-section{
display:none;
gap:20px;
grid-template-columns: 220px 1fr 280px;
}

#auth-section{
max-width:450px;
margin:auto;
padding:40px;
background:white;
border-radius:20px;
box-shadow:0 10px 30px rgba(0,0,0,.08);
}

#auth-section h2{
text-align:center;
margin-bottom:25px;
}

#searchInput{
padding:15px;
height:55px;
font-size:18px;
border-radius:12px;

background:#f8fafc;
border:2px solid #e2e8f0;

box-shadow:0 3px 10px rgba(0,0,0,.05);
}

#searchInput:focus{
border-color:#7c3aed;
box-shadow:0 0 10px rgba(124,58,237,.2);
}

.top-bar{
display:flex;
gap:10px;
flex-wrap:wrap;
margin-bottom:15px;
}

.top-bar input{
flex:1;
}

.stats{
display:flex;
justify-content:space-between;
margin:20px 0;
font-weight:bold;
}

ul{
list-style:none;
}

#taskList li{
padding:15px;
border-radius:16px;
background:white;
box-shadow:0 2px 10px rgba(0,0,0,.05);
margin-bottom:15px;
border-left:6px solid #4f46e5;
}

#taskList li:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 30px rgba(124,58,237,.25);
}

.task-info{
display:flex;
flex-direction:column;
}

.task-info span{
word-wrap:break-word;
overflow-wrap:break-word;
}

.completed{
text-decoration:line-through;
color:green;
}

.task-buttons{
display:flex;
gap:5px;
margin-top:10px;
flex-wrap:wrap;
}

.task-buttons button{
padding:8px 12px;
font-size:14px;
}

.task-card {
  transition: 0.2s;
  cursor: grab;
}

.task-card:active {
  cursor: grabbing;
  transform: scale(1.02);
  opacity: 0.7;
}

.logout{
width:100%;
margin-top:20px;
background:#ef4444;
border-radius: 12px;
}

.badge{
padding:5px 10px;
border-radius:20px;
font-size:12px;
width:fit-content;
color:white;
display:inline-block;
margin-top:8px;
}

.badge.high{
background:#fee2e2;
color:#dc2626;
}

.badge.medium{
background:#fef3c7;
color:#d97706;
}

.badge.low{
background:#dcfce7;
color:#16a34a;
}

@media(max-width:900px){

#app-section{
grid-template-columns:1fr;

}

.sidebar,
.right-panel{
order:2;
}

.main-content{
order:1;
}

.stats{
flex-direction:column;
gap:10px;
}

li{
flex-direction:column;
align-items:flex-start;
}

.auth-btns{
flex-direction:column;
}

.auth-btns button{
width:100%;
}

.top-bar .add-btn{
width:50px;
height:50px;
margin:auto;
}
}

#emptyMsg{
text-align:center;
margin-top:20px;
color:gray;
}

#clearAllBtn {
  margin-top: 10px;
  padding: 10px;
  background: #f59e0b;
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
}

#clearAllBtn:hover {
  opacity: 0.9;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

#taskList li {
  animation: fadeIn 0.3s ease;
}

.sidebar,
.main-content,
.overview-card,
.upcoming-card{
transition:0.3s ease;
box-shadow:0 10px 25px rgba(0,0,0,.08);
}

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

.left{
display:flex;
align-items:center;
}

.center{
flex:1;
display:flex;
flex-direction:column;
gap:5px;
}

.right{
display:flex;
gap:10px;
}

.right button{
min-width:70px;
}

.center span:first-child{
font-size:18px;
font-weight:600;
}

.completed{
text-decoration:line-through;
color:green;
opacity:0.8;
}

.important-btn{
background:none !important;
border:none;
box-shadow:none;
font-size:24px;
padding:0;
color:#cbd5e1;
}

.important-btn:hover{
transform:scale(1.2);
}

.important-btn.active{
color:#f59e0b;
}

.right button:nth-child(2){
background:#3b82f6;
}

.right button:nth-child(2):hover{
background:#2563eb;
}

.right button:nth-child(3){
background:#ef4444;
}

.right button:nth-child(3):hover{
background:#dc2626;
}

footer{
text-align:center;
margin-top:30px;
padding:15px;
color:gray;
font-size:14px;
}
