body {
    margin: 0;
    padding: 0;

    font-family:
    "Inter",
    "Segoe UI",
    Arial,
    sans-serif;

    background: #f3f8f6;

    color: #263238;
}


.container {

    width: 900px;

    max-width: 90%;

    margin: 50px auto;

    background: white;

    padding: 40px;

    border-radius: 28px;

    box-shadow:
    0 15px 40px rgba(0,0,0,0.06);

}


/* Заголовки */

h1 {

    color: #1f4f46;

    font-size: 32px;

    margin-bottom: 25px;

}


h2 {

    color: #355c55;

    margin-top: 35px;

}


h3 {

    color:#264b43;

}


/* Текст */

p {

    color:#60736e;

    line-height:1.6;

}


/* Карточки */

.card {

    background:#ffffff;

    border-radius:22px;

    padding:25px;

    margin:20px 0;

    border:1px solid #dceee8;

    box-shadow:
    0 5px 15px rgba(0,0,0,.04);

    transition:.25s;

}


.card:hover {

    transform:translateY(-3px);

    box-shadow:
    0 12px 25px rgba(0,0,0,.08);

}


/* Задания */

.task {

    background:#f8fcfb;

    padding:25px;

    border-radius:22px;

    margin:20px 0;

    border-left:
    5px solid #7bd8c5;

}


/* Кнопки */

button {

    background:#7bd8c5;

    color:#17332d;

    border:none;

    padding:14px 30px;

    border-radius:16px;

    font-size:16px;

    cursor:pointer;

    transition:.2s;

}


button:hover {

    background:#58c8b0;

    transform:translateY(-2px);

}



/* Ссылки */

a {

    color:#299c88;

    text-decoration:none;

}


a:hover {

    text-decoration:underline;

}


/* Поля */

input,
textarea,
select {


    width:80%;

    padding:14px;

    border-radius:14px;

    border:1px solid #cfe3dd;

    font-size:15px;

    background:white;

}


textarea {

    resize:vertical;

}


/* Таблицы */

table {

    width:100%;

    border-collapse:collapse;

    background:white;

}


th {

    background:#e8f6f2;

    color:#355c55;

}


td,
th {

    padding:14px;

    border:1px solid #dceee8;

}



/* Фото */

img {

    border-radius:16px;

    max-width:100%;

}

/* ===== HEADER ===== */


.header {


    width:90%;

    max-width:1100px;

    margin:30px auto 0;

    background:white;

    padding:25px 35px;

    border-radius:25px;

    display:flex;

    justify-content:space-between;

    align-items:center;


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

}



.logo {


    font-size:28px;

    font-weight:700;

    color:#1f4f46;

    text-decoration:none;


}



.subtitle {


    margin:8px 0 0;

    font-size:14px;

    color:#718782;


}



nav {


    display:flex;

    gap:25px;


}



nav a {


    color:#355c55;

    font-weight:500;

    text-decoration:none;

    padding:10px 15px;

    border-radius:12px;

    transition:.2s;


}



nav a:hover {


    background:#e8f6f2;

    color:#1f4f46;


}

.dashboard-header{
    margin-bottom:40px;
}


.dashboard-header h1{
    font-size:32px;
    margin-bottom:10px;
}



.dashboard-header p{
    color:#718096;
    font-size:18px;
}




.stats-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:25px;

}



.stat-card{

    background:white;

    padding:30px;

    border-radius:24px;

    text-align:left;

    box-shadow:0 10px 30px rgba(0,0,0,.06);

    transition:.2s;

}



.stat-card:hover{

    transform:translateY(-4px);

}




.stat-icon{

    font-size:36px;

    margin-bottom:15px;

}



.stat-card h2{

    font-size:34px;

    margin:0;

}



.stat-card p{

    margin:10px 0 20px;

    color:#718096;

}



.stat-card a{

    color:#4a7c78;

    text-decoration:none;

    font-weight:600;

}



.welcome-block{

    margin-top:40px;

    padding:35px;

    border-radius:24px;

    background:#eef7f5;

    text-align:left;

}



.welcome-block h2{

    color:#355c57;

}

.page-header{

    margin-bottom:35px;

}


.page-header h1{

    margin-bottom:10px;

}



.page-header p{

    color:#718096;

}




.form-card{

    background:white;

    padding:30px;

    border-radius:24px;

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

    margin-bottom:40px;

}



.form-card h2{

    margin-top:0;

}




form label{

    display:block;

    margin-top:15px;

    margin-bottom:6px;

    font-weight:600;

}



input,
textarea,
select{


    width:100%;

    box-sizing:border-box;

    padding:14px;

    border-radius:12px;

    border:1px solid #dfe7e5;

    font-size:15px;

    outline:none;

}



input:focus,
textarea:focus,
select:focus{

    border-color:#7fb8ae;

}




.section-title{

    margin-bottom:20px;

}





.students-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:20px;

}





.student-card{


    background:white;

    border-radius:22px;

    padding:25px;

    display:flex;

    align-items:center;

    gap:20px;

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

}




.student-avatar{


    width:60px;

    height:60px;

    border-radius:50%;

    background:#eef7f5;

    color:#355c57;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:26px;

    font-weight:bold;

}




.student-info{

    flex:1;

}



.student-info h3{

    margin:0 0 8px;

}



.student-info p{

    margin:0;

    color:#718096;

}



.student-actions{

    display:flex;

    flex-direction:column;

    gap:8px;

}



.student-actions a{


    text-decoration:none;

    color:#4a7c78;

    font-weight:600;

}



.delete-link{

    color:#d16b6b!important;

}

.homeworks-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:22px;

}



.homework-card{


    background:white;

    border-radius:24px;

    padding:25px;

    display:flex;

    align-items:center;

    gap:20px;

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

    transition:.2s;

}



.homework-card:hover{

    transform:translateY(-4px);

}




.homework-icon{


    width:55px;

    height:55px;

    border-radius:18px;

    background:#eef7f5;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:28px;

}





.homework-content{

    flex:1;

}



.homework-content h3{

    margin:0 0 8px;

    font-size:19px;

}



.homework-content p{

    margin:0;

    color:#718096;

}




.homework-card a{

    text-decoration:none;

    color:#4a7c78;

    font-weight:600;

}

.back-link{

    display:inline-block;

    margin-bottom:20px;

    color:#4a7c78;

    text-decoration:none;

    font-weight:600;

}



.homework-header{

    margin-bottom:20px;

}



.homework-actions{

    display:flex;

    gap:15px;

    margin-bottom:40px;

}



.secondary-btn{

    background:#eef7f5;

    color:#355c57;

}



.danger-btn{

    background:#fdecec;

    color:#b85c5c;

}



.tasks-list{

    display:flex;

    flex-direction:column;

    gap:20px;

}




.task-card{

    background:white;

    border-radius:24px;

    padding:25px;

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

}




.task-number{

    font-weight:700;

    color:#355c57;

    margin-bottom:15px;

}



.task-text{

    font-size:17px;

}



.task-image{

    max-width:500px;

    border-radius:15px;

    margin:15px 0;

}



.task-info{

    display:flex;

    gap:20px;

    color:#718096;

    margin:15px 0;

}



.task-actions{

    display:flex;

    gap:20px;

}



.task-actions a{

    text-decoration:none;

    color:#4a7c78;

    font-weight:600;

}



.bottom-actions{

    margin-top:40px;

    display:flex;

    gap:20px;

}

.form-card form button{

    margin-top:25px;

}



textarea{

    resize:vertical;

    font-family:inherit;

}



select{

    cursor:pointer;

}



label{

    color:#355c57;

}

.assignment-card{

    background:white;

    padding:35px;

    border-radius:24px;

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

    text-align:left;

}



.assignment-card h2{

    margin-top:0;

}



.muted{

    color:#718096;

    margin-bottom:30px;

}



.assignment-card select{

    width:100%;

    padding:14px;

    border-radius:14px;

    border:1px solid #d7e4e2;

    background:white;

    font-size:16px;

    margin:15px 0 25px;

}



.assignment-card button{

    width:100%;

}

.student-welcome{

    margin-bottom:35px;

}



.student-welcome h1{

    margin-bottom:10px;

}



.student-welcome p{

    color:#718096;

}




.student-sections{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:20px;

    margin-bottom:40px;

}





.student-stat{


    background:#eef7f5;

    border-radius:22px;

    padding:25px;

    text-align:center;

}



.student-stat:first-letter{

    font-size:30px;

}



.student-stat h3{

    margin:10px 0;

}



.student-stat p{

    font-size:28px;

    font-weight:bold;

    color:#355c57;

}






.student-homework-card{


    background:white;

    border-radius:22px;

    padding:25px;

    margin-bottom:18px;

    display:flex;

    align-items:center;

    justify-content:space-between;

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

}




.student-homework-card h3{

    margin-top:0;

}



.student-homework-card p{

    margin-bottom:0;

    color:#718096;

}

/* Навигация в домашнем задании */

.navigation {

    margin-top: 35px;

    display: flex;

    justify-content: center;

    gap: 15px;

    flex-wrap: wrap;

}


.navigation a {

    text-decoration: none;

}


.navigation button {

    width: auto;

    min-width: 180px;

}


/* Блок задания */

.task {

    background: #ffffff;

    padding: 25px;

    margin-bottom: 25px;

    border-radius: 18px;

    box-shadow: 0 8px 25px rgba(0,0,0,0.05);

    text-align: left;

}


.task h3 {

    margin-top: 0;

}


/* Поля ответа */

.task input[type="text"] {

    width: 90%;

    padding: 12px;

    border-radius: 12px;

    border: 1px solid #ddd;

    font-size: 16px;

}


.task input[type="file"] {

    margin-top: 10px;

}

/* ===== Страница выполнения домашки ===== */


.assignment-header {

background: linear-gradient(
135deg,
#e8f5f2,
#ffffff
);

padding:35px;

border-radius:25px;

margin-bottom:35px;

text-align:left;

}


.assignment-header p {

margin:0;

color:#7b8794;

font-size:14px;

}



.assignment-header h1 {

color:#243447;

margin:10px 0 25px;

}



.assignment-info {

display:flex;

gap:15px;

flex-wrap:wrap;

}



.assignment-info span {


background:white;

padding:10px 18px;

border-radius:20px;

box-shadow:0 5px 15px rgba(0,0,0,.06);

font-size:14px;

}




.task-card {


background:white;

padding:30px;

border-radius:24px;

margin-bottom:25px;

box-shadow:0 8px 25px rgba(0,0,0,.06);

text-align:left;

}



.task-card h3 {


margin-top:0;

color:#243447;

}



.task-text {

font-size:17px;

line-height:1.6;

color:#444;

}



.task-image {


max-width:100%;

border-radius:16px;

margin:20px 0;

}



.answer-input {


width:90%;

padding:14px;

border-radius:14px;

border:1px solid #d8dee9;

font-size:16px;

}



.file-input {

margin-top:15px;

}




.uploaded {


background:#eef8f5;

padding:15px;

border-radius:15px;

margin-bottom:15px;

}



.assignment-actions {


display:flex;

justify-content:center;

gap:20px;

margin-top:35px;

flex-wrap:wrap;

}



.submit-button {


background:#8fcfc3;

}



.back-link {

margin-top:30px;

}



.back-link a {

color:#536471;

text-decoration:none;

}

.result-box {

background:#f0fdf9;

padding:25px;

border-radius:20px;

margin:30px 0;

}


.score {

font-size:36px;

font-weight:700;

color:#0f766e;

}



.check-card {

background:white;

padding:25px;

border-radius:20px;

margin-bottom:25px;

box-shadow:0 8px 25px rgba(0,0,0,0.06);

text-align:left;

}



.student-answer {

background:#f8fafc;

padding:15px;

border-radius:12px;

font-size:18px;

}



.answer-photo {

max-width:500px;

width:100%;

border-radius:15px;

}



.comment {

background:#ecfdf5;

padding:15px;

border-radius:12px;

}



.success {

color:#16a34a;

font-weight:700;

}



.error {

color:#dc2626;

font-weight:700;

}



.secondary-button {

background:#e5e7eb;

color:#374151;

}



.secondary-button:hover {

background:#d1d5db;

}

label {

display:block;

font-weight:600;

margin-bottom:8px;

color:#374151;

}



input,
textarea,
select {


width:100%;

padding:12px;

border-radius:12px;

border:1px solid #d1d5db;

font-size:16px;

box-sizing:border-box;

}



textarea {

resize:vertical;

}



input:focus,
textarea:focus,
select:focus {

outline:none;

border-color:#0f766e;

box-shadow:0 0 0 3px rgba(15,118,110,0.15);

}

.work-card {

background:white;

padding:25px;

border-radius:20px;

margin:20px 0;

text-align:left;

box-shadow:0 8px 25px rgba(0,0,0,0.06);

}



.work-card h3 {

margin-top:0;

}



.homework-title {

font-size:18px;

font-weight:600;

color:#0f766e;

}



.urgent {

border-left:6px solid #ef4444;

}



.checked-card {

border-left:6px solid #10b981;

}



section h2 {

margin-top:35px;

}

.student-card {

background:white;

padding:25px;

border-radius:22px;

margin:20px 0;

text-align:left;

box-shadow:0 8px 25px rgba(0,0,0,.06);

}



.student-card h3 {

margin-top:0;

color:#1f2937;

}



.subtitle {

color:#6b7280;

font-size:18px;

}



.status {

display:inline-block;

padding:8px 14px;

border-radius:20px;

background:#dff5ef;

color:#0f766e;

font-weight:600;

margin-bottom:15px;

}



.new-card {

border-left:6px solid #10b981;

}



.progress-card {

border-left:6px solid #facc15;

}



.submitted-card {

border-left:6px solid #60a5fa;

}



.checked-card {

border-left:6px solid #14b8a6;

}

.create-box {

background:#f0fdf9;

padding:25px;

border-radius:22px;

margin:25px 0;

}



.homework-grid {

display:grid;

grid-template-columns:repeat(auto-fit,minmax(250px,1fr));

gap:20px;

}



.homework-card {

background:white;

padding:25px;

border-radius:20px;

box-shadow:0 8px 25px rgba(0,0,0,.06);

text-align:left;

}



.homework-card h3 {

margin-top:0;

color:#1f2937;

}



.homework-card p {

margin-bottom:20px;

}

.action-panel {

display:flex;

gap:10px;

flex-wrap:wrap;

margin-bottom:25px;

}



.task-card {

background:white;

padding:25px;

border-radius:22px;

margin:20px 0;

text-align:left;

box-shadow:0 8px 25px rgba(0,0,0,.06);

}



.task-card h3 {

margin-top:0;

}



.task-image {

max-width:500px;

width:100%;

border-radius:15px;

margin:15px 0;

}



.task-actions {

display:flex;

gap:20px;

margin-top:15px;

}



.task-actions a {

color:#0f766e;

font-weight:600;

}



.bottom-actions {

display:flex;

gap:15px;

flex-wrap:wrap;

}



.danger-button {

background:#ef4444;

}



.danger-button:hover {

background:#dc2626;

}

.assign-box {

background:#f0fdf9;

padding:35px;

border-radius:25px;

margin-top:30px;

}



.assign-box h2 {

margin-top:0;

}



select {

width:100%;

padding:14px;

border-radius:14px;

border:1px solid #d1d5db;

font-size:16px;

background:white;

}



select:focus {

outline:none;

border-color:#0f766e;

}

.form-card {

background:white;

padding:30px;

border-radius:22px;

margin:25px 0;

text-align:left;

box-shadow:0 8px 25px rgba(0,0,0,.05);

}



.form-card h2 {

margin-top:0;

font-size:20px;

}



textarea {

width:100%;

padding:15px;

border-radius:15px;

border:1px solid #d1d5db;

font-size:16px;

resize:vertical;

box-sizing:border-box;

}



input {

width:100%;

padding:14px;

border-radius:14px;

border:1px solid #d1d5db;

font-size:16px;

box-sizing:border-box;

}



input:focus,
textarea:focus,
select:focus {

outline:none;

border-color:#0f766e;

}

.students-grid {

display:flex;

flex-direction:column;

gap:15px;

}



.student-card {

background:white;

padding:22px 25px;

border-radius:20px;

display:flex;

justify-content:space-between;

align-items:center;

box-shadow:0 8px 25px rgba(0,0,0,.05);

}



.student-card h3 {

margin:0 0 8px 0;

}



.student-card p {

margin:0;

color:#64748b;

}

.student-profile-card {

background:white;

padding:30px;

border-radius:22px;

margin:25px 0;

text-align:left;

box-shadow:0 8px 25px rgba(0,0,0,.05);

}



.student-profile-card h2 {

margin-top:0;

}



.student-profile-card p {

margin:12px 0;

}

.login-container {

max-width:450px;

}



.login-card {

background:white;

padding:35px;

border-radius:25px;

box-shadow:0 10px 30px rgba(0,0,0,.06);

margin-top:30px;

}



.login-card h2 {

margin-top:0;

}



.error-message {

color:#dc2626;

background:#fee2e2;

padding:12px;

border-radius:12px;

}



.subtitle {

color:#64748b;

font-size:18px;

}

.student-header {

background:white;

padding:35px;

border-radius:28px;

margin-bottom:30px;

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

}



.brand-block h1 {

margin:0;

}



.brand-block p {

margin-top:8px;

color:#64748b;

font-size:15px;

}



.student-welcome {

margin-top:25px;

background:#f1f5f9;

padding:25px;

border-radius:20px;

}



.student-welcome h2 {

margin-top:0;

}



.learning-path {

background:white;

padding:30px;

border-radius:28px;

margin-bottom:35px;

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

}



.path-items {

display:flex;

justify-content:space-around;

text-align:center;

font-size:18px;

}



.path-items div {

line-height:1.7;

}

.teacher-header {

background:white;

padding:35px;

border-radius:28px;

margin-bottom:30px;

box-shadow:0 8px 25px rgba(0,0,0,.05);

}



.teacher-header h1 {

margin-top:0;

}



.dashboard-grid {

display:grid;

grid-template-columns:repeat(2,1fr);

gap:25px;

}



.dashboard-card {

background:white;

padding:30px;

border-radius:25px;

box-shadow:0 8px 25px rgba(0,0,0,.05);

transition:.2s;

}



.dashboard-card:hover {

transform:translateY(-3px);

}



.dashboard-card h3 {

margin-top:0;

font-size:22px;

}



.dashboard-card p {

color:#64748b;

}

.action-panel {

display:flex;

gap:15px;

flex-wrap:wrap;

margin-bottom:25px;

}



.secondary-btn {

background:#e2e8f0;

color:#334155;

}



.danger-btn {

background:#fee2e2;

color:#991b1b;

}



.task-card {

background:white;

padding:30px;

border-radius:25px;

margin:25px 0;

box-shadow:0 8px 25px rgba(0,0,0,.05);

}



.task-card h3 {

margin-top:0;

}



.task-image {

max-width:500px;

border-radius:18px;

margin-top:15px;

}



.task-info {

background:#f8fafc;

padding:15px;

border-radius:15px;

margin-top:20px;

}



.task-actions {

display:flex;

gap:20px;

margin-top:20px;

}



.task-actions a {

text-decoration:none;

}



.bottom-actions {

display:flex;

gap:20px;

margin:35px 0;

flex-wrap:wrap;

}