body {
    display: flex;
    min-height: 100vh;
    flex-direction: column;
    background-color: #f5f5f5;
}

nav {
    background-color: #26a69a;
}

main {
    flex: 1 0 auto;
}

.container {
    margin-top: 20px;
    margin-bottom: 20px;
}

.card {
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.card-title {
    color: #26a69a;
    font-weight: 500;
}

.btn {
    background-color: #26a69a;
}

.btn:hover {
    background-color: #2bbbad;
}

.input-field label {
    color: #26a69a;
}

.input-field input[type=text]:focus + label,
.input-field input[type=password]:focus + label,
.input-field textarea:focus + label {
    color: #26a69a;
}

.input-field input[type=text]:focus,
.input-field input[type=password]:focus,
.input-field textarea:focus {
    border-bottom: 1px solid #26a69a;
    box-shadow: 0 1px 0 0 #26a69a;
}

.select-wrapper input.select-dropdown:focus {
    border-bottom: 1px solid #26a69a;
}

.dropdown-content li > a,
.dropdown-content li > span {
    color: #26a69a;
}

.progress {
    background-color: #e0e0e0;
}

.progress .determinate {
    background-color: #26a69a;
}

#improvedPromptContainer {
    border-left: 4px solid #26a69a;
    padding: 15px;
}

#improvedPromptText {
    margin-top: 10px;
    font-style: italic;
    color: #424242;
}

.responsive-video {
    border-radius: 4px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.2);
}

.card-panel.red.lighten-4 {
    border-left: 4px solid #ef5350;
}

/* Login page specific */
.login-container {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
}

/* Responsive adjustments */
@media only screen and (max-width: 600px) {
    .container {
        margin-top: 10px;
    }
    
    h4 {
        font-size: 1.8rem;
    }
}

