body {
    margin:0;
    font-family:Arial;
    background:#0b0f1a;
    color:white;
}

.app {
    display:flex;
    height:100vh;
}

.sidebar {
    width:220px;
    background:#070b14;
    border-right:2px solid #ff0000;
    padding:20px;
}

.sidebar h2 {
    color:#ff0000;
}

.sidebar button {
    width:100%;
    margin:10px 0;
    padding:10px;
    background:#111827;
    color:white;
    border:none;
    cursor:pointer;
}

.sidebar button:hover {
    background:#1f2937;
}

.main {
    flex:1;
    display:flex;
    flex-direction:column;
}

.topbar {
    padding:20px;
    border-bottom:1px solid #1f2a44;
}

.weekdays {
    display:grid;
    grid-template-columns: repeat(7, 1fr);
    padding:10px;
    text-align:center;
    background:#111827;
}

.calendar {
    flex:1;
    display:grid;
    grid-template-columns: repeat(7, 1fr);
    gap:5px;
    padding:10px;
}

.day {
    background:#111827;
    border-left:4px solid #ff0000;
    min-height:100px;
    padding:10px;
    cursor:pointer;
    position:relative;
}

.day:hover {
    background:#1f2937;
}

.day-number {
    font-weight:bold;
}

.event {
    margin-top:5px;
    font-size:11px;
    background:#00ff88;
    color:black;
    padding:2px;
    border-radius:4px;
}

.event.done {
    background:#555;
    text-decoration:line-through;
}

.event-actions {
    display:flex;
    gap:5px;
    margin-top:3px;
}

.event-actions button {
    font-size:10px;
    padding:2px 4px;
}

.modal {
    position:fixed;
    inset:0;
    background:rgba(0,0,0,0.7);
    display:none;
    justify-content:center;
    align-items:center;
}

.modal-box {
    background:#111827;
    padding:20px;
    border:2px solid #ff0000;
}

input, button {
    display:block;
    width:100%;
    margin:10px 0;
    padding:10px;
}