:root{
  --light-bg:#fff;
  --light-text:#333;
  --light-card:#f9f9f9;
  --dark-bg:#121212;
  --dark-text:#ddd;
  --dark-card:#1e1e1e;
  --accent:#3367d6;
  --danger:#e53935;
}

body{
  margin:0;
  font-family:Arial,sans-serif;
  background:var(--light-bg);
  color:var(--light-text);
}

body.dark-mode{
  background:var(--dark-bg);
  color:var(--dark-text);
}

.header{
  display:flex;
  align-items:center;
  padding:10px 20px;
  background:var(--accent);
  color:white;
}

.header h1{
  margin-left:20px;
  font-size:1.5em;
}

button{
  cursor:pointer;
}

.container{
  padding:20px;
}

.add-form input, .add-form select, .add-form button{
  margin:5px 5px 5px 0;
  padding:8px;
  border-radius:5px;
  border:1px solid #ccc;
}

.add-form button{
  background:var(--accent);
  color:white;
  border:none;
}

.filters{
  margin:15px 0;
}

.cards-container{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(250px,1fr));
  gap:15px;
}

.card{
  background:var(--light-card);
  padding:15px;
  border-radius:10px;
  box-shadow:0 2px 8px rgba(0,0,0,0.1);
  transition:transform 0.2s;
}

.card:hover{
  transform:scale(1.02);
}

body.dark-mode .card{
  background:var(--dark-card);
  color:var(--dark-text);
}

.category-badge{
  display:inline-block;
  padding:2px 6px;
  border-radius:12px;
  color:white;
  font-size:0.8em;
  margin-bottom:5px;
}

.card h3{
  margin:5px 0;
  cursor:pointer;
}

.card a{
  color:var(--accent);
  word-break:break-word;
  display:block;
}

.card p{
  font-size:0.9em;
  cursor:pointer;
}

.actions{
  margin-top:10px;
  display:flex;
  gap:5px;
}

.actions button{
  padding:5px 8px;
  border:none;
  border-radius:5px;
  background:var(--danger);
  color:white;
}

.modal{
  display:none;
  position:fixed;
  z-index:200;
  left:0;
  top:0;
  width:100%;
  height:100%;
  overflow:auto;
  background:rgba(0,0,0,0.5);
}

.modal-content{
  background:white;
  margin:10% auto;
  padding:20px;
  border-radius:10px;
  width:90%;
  max-width:500px;
}

body.dark-mode .modal-content{
  background:var(--dark-card);
  color:var(--dark-text);
}

/* Side Menu */
.side-menu{
  position:fixed;
  left:-250px;
  top:0;
  width:250px;
  height:100%;
  background:var(--light-card);
  box-shadow:2px 0 8px rgba(0,0,0,0.2);
  padding:20px;
  transition:left 0.3s ease;
  z-index:100;
}

body.dark-mode .side-menu{
  background:var(--dark-card);
  color:var(--dark-text);
}

.side-menu.open{
  left:0;
}

.side-menu-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
}

.menu-items button{
  display:block;
  width:100%;
  margin:10px 0;
  padding:10px;
  border:none;
  background:var(--accent);
  color:white;
  border-radius:6px;
  cursor:pointer;
  text-align:left;
}

.menu-items button:hover{
  background:#274eb3;
}
