body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    margin: 0;
}

.login-container {
    background: #ffffff;
    padding: 28px 28px 18px 28px;
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
    width: 360px;
}

.brand { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.brand-link { text-decoration: none; }
.logo-circle { width: 44px; height: 44px; border-radius: 50%; background:#667eea; color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:20px; box-shadow: 0 4px 10px rgba(102,126,234,.35); }
.brand h1 { font-size: 20px; color:#2c3e50; margin:0; }
.brand p { color:#6b7280; margin:2px 0 0 0; font-size: 12px; }

.form-group { margin-bottom: 14px; }

label { display:block; margin-bottom:6px; color:#374151; font-weight:600; font-size: 13px; }

input {
    width: 100%;
    padding: 10px 12px;
    box-sizing: border-box;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    outline: none;
    transition: all .2s ease;
}
input:focus { border-color:#667eea; box-shadow: 0 0 0 3px rgba(102,126,234,.15); }

.password-field { position: relative; }
.toggle-pwd {
    position: absolute; right: 8px; top: 50%; transform: translateY(-50%);
    border:none; background:transparent; cursor:pointer; font-size:16px;
}

.form-row { display:flex; align-items:center; justify-content:space-between; margin: 6px 0 12px 0; }
.remember { color:#6b7280; font-size: 12px; }
.forgot { color:#667eea; text-decoration:none; font-size: 12px; }
.forgot:hover { text-decoration: underline; }

.primary-btn {
    width: 100%; padding: 12px; border: none; border-radius: 10px;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: #fff; font-weight:600; cursor:pointer; transition: transform .1s ease, box-shadow .2s ease;
    box-shadow: 0 10px 18px rgba(118,75,162,.25);
}
.primary-btn:hover { transform: translateY(-1px); box-shadow: 0 12px 20px rgba(118,75,162,.3); }
.primary-btn:active { transform: translateY(0); }

.error { color: #dc2626; margin-top: 10px; font-size: 0.9em; text-align:center; }

.login-footer { text-align:center; color:#9ca3af; font-size:12px; margin-top:12px; }

.forgot-container { width: 420px; }
.forgot-info {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 16px 18px;
    margin-bottom: 16px;
}
.forgot-lead {
    color: #475569;
    font-size: 14px;
    line-height: 1.55;
    margin: 0 0 12px;
}
.forgot-steps {
    margin: 0;
    padding-left: 20px;
    color: #334155;
    font-size: 13px;
    line-height: 1.6;
}
.forgot-steps li { margin-bottom: 6px; }
.forgot-back {
    display: block;
    text-align: center;
    text-decoration: none;
    line-height: 1.2;
    box-sizing: border-box;
}

.container {
    display: flex;
    justify-content: space-between;
    width: 100%;
}

.sidebar {
    width: 25%;
    border-right: 1px solid #ccc;
    padding: 10px;
}

.main-content {
    width: 70%;
    padding: 10px;
}

ul {
    list-style-type: none;
    padding: 0;
}

li {
    margin: 5px 0;
    cursor: pointer;
}

li:hover {
    background-color: #f0f0f0;
}

#video-player {
    margin-top: 20px;
    width: 100%;
    max-width: 640px;
    height: auto;
}
