﻿@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";
@import "https://fonts.googleapis.com/css2?family=Crimson+Text:ital,wght@0,400;0,600;0,700;1,400;1,600;1,700&display=swap";
@import "https://fonts.googleapis.com/css2?family=Unbounded:wght@200;300;400;500;600;700;800;900&display=swap";


:root {
    --color-text: #101a02;
    --color-bg: #FFFBEF;
    --color-bg-support: #F9FAF4;
    --color-bg-minor-grey: #cccccc;
    --color-accent-1: #CFE12C;
    --color-accent-2: #CE7027;
    --color-accent-3: #621D1C;
    --color-borders: #2A5B00;
    --color-accent-done: #7980ff;
    --font-family-content: "Crimson Text", serif;
    --font-family-headings: "Unbounded", sans-serif;
    --font-family-buttons: "Unbounded", sans-serif;
    --font-size-sm: clamp(0.75rem, 0.7rem + 0.25vw, 0.875rem);
    --font-size-base: clamp(0.875rem, 0.8rem + 0.5vw, 0.938rem);
    --font-size-lg: clamp(1.25rem, 1rem + 1.25vw, 1.625rem);
    --font-size-xl: clamp(1.5rem, 1.2rem + 1.5vw, 2rem);
    --font-size-2xl: clamp(1.875rem, 1.5rem + 1.875vw, 2.5rem);
    --font-size-3xl: clamp(2.25rem, 1.8rem + 2.25vw, 3rem);
    --font-size-4xl: clamp(1.25rem, 2rem + 2.5vw, 4rem);
    --font-weight-light: 300;
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --line-height-normal: 1.5;
    --spacing-sm: 0.82em;
    --spacing-main: 1.25rem;
    --spacing-md: 27px;
    --spacing-lg: 2.5rem;
    --spacing-xl: 3.75rem;
    --radius-main: 1.25rem;
    --radius-buttons: 1.875rem;
    --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
    --shadow-base: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
    --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
    --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
    --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
    --transition-fast: 150ms ease-in-out;
    --transition-base: 200ms ease-in-out;
    --transition-slow: 300ms ease-in-out;
    --dur: 0.3s;
    --ease: cubic-bezier(0.4, 0, 0.2, 1);
    --edge-open: 300px;
    --edge-closed: 60px;
    --z-dropdown: 1000;
    --z-sticky: 1020;
    --z-fixed: 1030;
    --z-modal-backdrop: 1040;
    --z-modal: 1050;
    --z-popover: 1060;
    --z-tooltip: 1070;
    --max-width: 1500px
}

*, *::before, *::after {
    box-sizing: border-box
}

* {
    margin: 0
}

html {
    font-size: 16px;
    line-height: var(--line-height-normal);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility
}

body {
    font-family: var(--font-family-content);
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-normal);
    line-height: var(--line-height-normal);
    background-color: var(--color-bg);
    transition: all var(--transition-slow)
}

img, picture, video, canvas {
    display: block;
    max-width: 100%
}

button, textarea, select {
    font: inherit;
    font-size: var(--font-size-base);
    font-family: var(--font-family-buttons);
    color: var(--color-text);
    padding: var(--spacing-sm) var(--spacing-main);
    border-radius: var(--radius-buttons);
    border: 1px solid var(--color-borders);
    background-color: var(--color-bg);
    outline: none
}

button:focus::placeholder, textarea:focus::placeholder, select:focus::placeholder {
    opacity: 0
}

textarea, select {
    transition: border-color var(--transition-fast)
}

textarea:focus, select:focus {
    border-color: var(--color-accent-1)
}

label {
    font-family: var(--font-family-buttons);
    font-size: clamp(1rem, .9135rem + .3846vw, 1.25rem);
    color: var(--color-text)
}

.label {
    font-family: var(--font-family-buttons);
    font-size: clamp(1rem, .9135rem + .3846vw, 1.25rem);
    color: var(--color-text)
}

* {
    scrollbar-width: thin;
    scrollbar-color: var(--color-borders) rgba(0, 0, 0, 0)
}

*::-webkit-scrollbar {
    width: 10px;
    height: 10px
}

*::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0);
    border-radius: 3px
}

*::-webkit-scrollbar-thumb {
    background: var(--color-borders);
    border-radius: 3px;
    border: 2px solid rgba(0, 0, 0, 0);
    background-clip: padding-box
}

*::-webkit-scrollbar-thumb:hover {
    background: var(--color-accent-1);
    background-clip: padding-box
}

*::-webkit-scrollbar-thumb:active {
    background: var(--color-accent-2);
    background-clip: padding-box
}

textarea::-webkit-scrollbar-track {
    margin: 26px
}

textarea::-webkit-scrollbar-thumb {
    min-height: var(--spacing-main)
}

button {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    background-color: var(--color-accent-1);
    cursor: pointer;
    text-wrap: nowrap;
    transition: all var(--transition-slow)
}

button:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(47, 91, 0, .3)
}

button:active {
    transform: translateY(0);
    box-shadow: 0 2px 6px rgba(47, 91, 0, .2)
}

p, h1, h2, h3, h4, h5, h6 {
    overflow-wrap: break-word
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-family-headings);
    font-weight: var(--font-weight-normal);
    line-height: var(--line-height-tight);
    margin: 0
}

h1 {
    font-size: var(--font-size-4xl)
}

h2 {
    font-size: var(--font-size-3xl);
    text-align: center
}

h3 {
    font-size: var(--font-size-2xl)
}

h4 {
    font-size: var(--font-size-xl)
}

h5 {
    font-size: var(--font-size-lg)
}

h6 {
    font-size: var(--font-size-base)
}

p {
    font-family: var(--font-family-headings);
    margin-bottom: var(--spacing-4);
    font-size: var(--font-size-base)
}

a {
    color: var(--color-text);
    text-decoration: none;
    transition: all var(--transition-fast);
    font-size: var(--font-size-base);
    font-family: var(--font-family-buttons);
    cursor: pointer;
    display: flex;
    align-items: center;
    padding: var(--spacing-sm) 6px;
    border-bottom: 1px solid rgba(0, 0, 0, 0);
    gap: var(--spacing-main)
}

a:hover {
    color: var(--color-borders)
}

a.link-in-list:hover {
    background-color: var(--color-bg-support);
    border-bottom: 1px solid var(--color-accent-1)
}

.link-big {
    font-size: var(--font-size-lg);
    border: solid 1px var(--color-borders);
    border-radius: 20px;
    padding: 35px 10px;
    text-wrap: nowrap;
    transition: box-shadow var(--transition-slow)
}

.date_field {
    max-width: 220px;
}

.link-big:hover {
    box-shadow: 0px 4px 4px var(--color-borders)
}

@media (min-width: 768px) {
    .link-big {
        min-width: 450px
    }
}

.link-medium {
    font-size: var(--font-size-base);
    border: solid 1px var(--color-borders);
    border-radius: 20px;
    padding: 35px 12px;
    text-wrap: nowrap;
    transition: box-shadow var(--transition-slow);
    min-width: 230px;
    display: flex;
    justify-content: center;
    align-items: center
}

.link-medium:hover {
    box-shadow: 0px 4px 4px var(--color-borders)
}

.currentLink {
    background-color: var(--color-accent-1)
}

.flex-2 {
    flex: 2
}

.hidden-check {
    /*display: none;*/
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

svg {
    flex-shrink: none
}

.logo-text {
    letter-spacing: -0.04em;
    color: var(--color-text);
    padding: 0
}

.logo-text:hover {
    color: var(--color-borders)
}

.nav-hamburger {
    display: flex;
    gap: var(--spacing-main);
    z-index: 5
}

.nav-hamburger label {
    cursor: pointer;
    transition: transform .3s ease-in-out;
    display: flex;
    align-items: center;
    justify-content: center
}

.nav-hamburger label svg {
    transition: transform .3s ease-in-out
}

.flex {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: var(--spacing-main);
    flex-wrap: wrap
}

.wrap {
    flex-wrap: wrap
}

.nowrap {
    flex-wrap: nowrap
}

.space-between {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 40px;
    width: 100%
}

.flex-wrap {
    flex-wrap: wrap
}

.flex-column {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: var(--spacing-main);
    width: 100%
}

.flex-right {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: var(--spacing-main);
    width: 100%
}

.flex-left {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: var(--spacing-main);
    width: 100%
}

.flex-1 {
    flex: 1
}

@media (max-width: 768px) {
    .flex-1 {
        flex-basis: 100%
    }
}

.container {
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(var(--spacing-xl) / 3, var(--spacing-xl) / 6 + 2vw, var(--spacing-xl));
    padding: clamp(var(--spacing-xl) / 6, var(--spacing-xl) / 6 + 2vw, var(--spacing-xl)) 10px;
    width: min(90%, var(--max-width))
}

.content {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    gap: var(--spacing-xl);
    padding: clamp(var(--spacing-xl) / 6, var(--spacing-xl) / 6 + 2vw, var(--spacing-xl)) 30px;
    flex: 1;
    padding-bottom: 50px
}

@media (max-width: 820px) {
    .content {
        padding: 10px;
        padding-bottom: 50px
    }
}

.peavaate-container {
    display: flex;
    width: 100%;
    padding: 10px
}

.peavaate-container > .container {
    flex: 1 1 auto;
    min-width: 0
}

@media (max-width: 820px) {
    .peavaate-container {
        display: block;
        padding: 0 0 0 80px
    }
}

.border {
    border: 1px solid var(--color-borders);
    border-radius: var(--radius-main)
}

.border-square {
    border-radius: 0;
    border: 1px solid var(--color-borders)
}

.gap-0 {
    gap: 0
}

.gap-20 {
    gap: 20px
}

.gap-35 {
    gap: 35px
}

.w-100 {
    width: 100%
}

.w-50 {
    width: 50%
}

.h-100 {
    height: 100%
}

.align-start {
    align-items: flex-start
}

.align-end {
    align-items: flex-end
}

.gap-lg {
    gap: var(--spacing-lg)
}

.justify-start {
    justify-content: flex-start
}

.p-16 {
    padding: 16px
}

.font-teacher {
    font-family: "Crimson Text", serif
}

.min-h-80vh {
    min-height: 80vh
}

.border-left {
    border-left: 1px solid var(--color-borders)
}

.border-right {
    border-right: 1px solid var(--color-borders)
}

.border-top {
    border-top: 1px solid var(--color-borders)
}

.border-bottom {
    border-bottom: 1px solid var(--color-borders)
}

.text-upper {
    text-transform: uppercase
}

.punktid {
    border: 1px solid var(--color-borders);
    padding: 11.5px 20px;
    border-radius: 999px
}

.mt-40 {
    margin-top: 40px
}

.number-highlight {
    border: 1px solid var(--color-borders);
    padding: 11.5px 20px;
    border-radius: 999px;
    margin: 0 10px
}

.punktid-group {
    display: flex;
    align-items: center;
    gap: 10px
}

.punktid-group .label {
    margin: 0;
    padding: 0
}

.input-number-small {
    border: 1px solid var(--color-borders);
    padding: 11.5px 16px;
    border-radius: 999px;
    width: 98px;
    font: inherit;
    font-size: var(--font-size-base);
    font-family: var(--font-family-buttons);
    text-align: center;
    -moz-appearance: textfield;
    background-color: var(--color-bg-support)
}

.input-number-small::-webkit-outer-spin-button, .input-number-small::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0
}

.input-number-small {
    transition: border-color var(--transition-fast);
    outline: none
}

.input-number-small:focus {
    border-color: var(--color-accent-1)
}

.tooltip {
    position: relative;
    display: inline-block;
    cursor: pointer
}

.tooltiptext {
    visibility: hidden;
    background-color: var(--color-bg);
    border: 1px solid var(--color-borders);
    color: var(--color-text);
    text-align: center;
    border-radius: 6px;
    padding: 20px 16px;
    min-width: 200px;
    position: absolute;
    z-index: 1;
    font-family: var(--font-family-content);
    top: 100%;
    right: 0%;
    margin-bottom: 8px
}

.tooltip:hover .tooltiptext {
    visibility: visible
}

.btn {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    background-color: var(--color-accent-1);
    border: 1px solid var(--color-borders);
    padding: var(--spacing-sm) var(--spacing-md);
    border-radius: var(--radius-buttons);
    font-family: var(--font-family-buttons);
    text-wrap: nowrap;
    cursor: pointer;
    transition: all var(--transition-slow);
    min-width: 120px
}

.btn.btn-large {
    width: 100%;
    max-width: 690px;
    height: var(--spacing-xl);
    font-size: clamp(1.125rem, .9519rem + .7692vw, 1.625rem);
    padding: 14px var(--spacing-md)
}

.btn.btn-large-light {
    background-color: var(--color-bg);
    width: 100%;
    max-width: 690px;
    height: var(--spacing-xl);
    font-size: clamp(1.125rem, .9519rem + .7692vw, 1.625rem);
    padding: 14px var(--spacing-md)
}

.btn.btn-light {
    background-color: var(--color-bg);
    border-color: var(--color-borders)
}

.btn:hover {
    transform: translateY(-2px);
    box-shadow: 0px 4px 4px var(--color-borders)
}

.btn:active {
    transform: translateY(0);
    box-shadow: 0 2px 6px rgba(47, 91, 0, .2)
}

.btn:focus-visible {
    outline: 2px solid var(--color-borders);
    outline-offset: 2px
}

.btn:disabled, .btn.disabled {
    background-color: var(--color-bg-support);
    border-color: var(--color-accent-1);
    color: var(--color-text);
    cursor: not-allowed;
    opacity: .6;
    transform: none
}

.btn:disabled:hover, .btn.disabled:hover {
    transform: none;
    box-shadow: none
}

.upload-btn {
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 8px;
    background-color: var(--color-bg);
    cursor: pointer;
    font-size: var(--font-size-base);
    width: fit-content
}

.upload-btn .icon {
    width: 48px;
    height: 48px;
    color: var(--color-accent-2);
    padding: 10.5px 40px;
    border: 1px solid var(--color-borders);
    border-radius: 20px;
    box-sizing: content-box;
    transition: box-shadow var(--transition-slow);
    border: 1px solid var(--color-borders);
    border-radius: 20px
}

.upload-btn:hover .icon {
    box-shadow: 0px 4px 4px var(--color-borders)
}

.navbar {
    width: 100%;
    background-color: var(--color-bg);
    border: 1px solid var(--color-borders);
    box-shadow: 0px 4px 4px var(--color-borders);
    padding: 15px 30px;
    border-radius: var(--radius-main);
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative
}

.navbar .logo-text {
    z-index: 5
}

.navbar #nav-check:checked ~ .nav-hamburger label {
    transform: rotate(360deg)
}

.navbar .nav-list {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    width: 100%;
    background-color: var(--color-bg);
    border-radius: var(--spacing-main);
    border: 1px solid var(--color-borders);
    display: flex;
    flex-direction: column;
    transform-origin: top;
    transform: scaleY(0);
    opacity: 0;
    transition: transform .3s ease, opacity .3s ease;
    z-index: 4;
    gap: var(--spacing-main);
    padding: 93px 30px var(--spacing-lg) 30px;
    margin-top: -73px
}

.navbar .nav-list .nav-links {
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: var(--spacing-main)
}

.navbar .nav-list .nav-actions {
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: var(--spacing-main)
}

.navbar .nav-list .nav-actions .btn {
    width: 100%;
    justify-content: center
}

.navbar #nav-check:checked ~ .nav-list {
    transform: scaleY(1);
    opacity: 1
}

.navbar:has(#nav-check:checked) {
    border: none;
    border-radius: var(--spacing-main) var(--spacing-main) 0 0;
    box-shadow: none
}

.navbar .dropdown-trigger {
    font-weight: 500
}

@media (min-width: 1100px) {
    .navbar {
        padding: 10px 32px;
        gap: var(--spacing-xl)
    }

    .navbar .logo-text {
        flex-grow: 2
    }

    .navbar .nav-hamburger {
        display: none
    }

    .navbar .nav-list {
        margin: 0;
        border: none;
        border-radius: none;
        position: static;
        width: auto;
        background-color: rgba(0, 0, 0, 0);
        flex-direction: row;
        padding: 0;
        gap: var(--spacing-xl);
        transform: none;
        opacity: 1;
        transition: none;
        flex-grow: 3;
        display: flex;
        align-items: center;
        justify-content: space-between
    }

    .navbar .nav-list .nav-links {
        flex-direction: row;
        gap: var(--spacing-main);
        width: auto
    }

    .navbar .nav-list .nav-actions {
        flex-direction: row;
        width: auto;
        gap: var(--spacing-main)
    }

    .navbar .nav-list .nav-actions .btn {
        width: auto;
        justify-content: center
    }

    .navbar #nav-check:checked ~ .nav-hamburger label {
        transform: none
    }

    .navbar #nav-check:checked ~ .nav-hamburger label svg {
        transform: none
    }

    .navbar .dropdown-trigger {
        font-weight: normal
    }
}

.dropdown {
    position: relative;
    font-family: var(--font-family-buttons)
}

.dropdown .dropdown-trigger {
    background-color: var(--color-bg);
    min-width: 130px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--spacing-sm) 6px;
    cursor: pointer;
    transition: all var(--transition-fast);
    font-size: var(--font-size-base)
}

.dropdown .dropdown-trigger:hover {
    color: var(--color-borders)
}

.dropdown .dropdown-arrow {
    transition: transform var(--transition-fast)
}

.dropdown .dropdown-arrow svg {
    width: 19px;
    height: 9px
}

.dropdown .dropdown-content {
    position: static;
    background-color: var(--color-bg);
    width: 100%;
    height: 0;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    transition: all var(--transition-fast)
}

.dropdown .dropdown-content .dropdown-item {
    padding: 16px 24px;
    color: var(--color-text);
    font-family: var(--font-family-buttons);
    border-bottom: 1px solid var(--color-accent-1);
    transition: all var(--transition-fast);
    text-align: left
}

.dropdown .dropdown-content .dropdown-item:last-child {
    border-bottom: none;
    padding-bottom: 3em;
    border-radius: 0 0 var(--radius-main) var(--radius-main)
}

.dropdown .dropdown-content .dropdown-item:first-child {
    padding-top: 3em;
    border-radius: var(--radius-main) var(--radius-main) 0 0
}

.dropdown .dropdown-content .dropdown-item:hover {
    background-color: var(--color-bg-support)
}

.dropdown.dropdown-for-menu .dropdown-trigger {
    gap: 8px;
    border-bottom: 1px solid var(--color-accent-1)
}

.dropdown.dropdown-for-topbar .dropdown-trigger {
    gap: 8px;
    border: 1px solid var(--color-borders);
    border-radius: var(--radius-buttons);
    color: var(--color-borders);
    min-width: 217px;
    justify-content: space-between;
    padding-left: 15px;
    padding-right: 15px
}

.dropdown.dropdown-for-topbar .dropdown-content {
    position: absolute;
    top: 100%;
    transform: translateY(8px);
    width: auto;
    height: auto;
    border: 1px solid var(--color-borders);
    border-radius: var(--spacing-main);
    box-shadow: 0 8px 24px rgba(42, 91, 0, .15);
    overflow: visible;
    z-index: 5
}

.dropdown.dropdown-for-topbar .dropdown-content .dropdown-item {
    justify-content: center;
    text-align: center
}

.dropdown:has(.hidden-check:checked) .dropdown-arrow {
    transform: rotate(180deg)
}

.dropdown:has(.hidden-check:checked) .dropdown-content {
    opacity: 1;
    visibility: visible;
    height: auto;
    width: 100%
}

@media (min-width: 1100px) {
    .dropdown.dropdown-for-menu .dropdown-trigger {
        width: auto;
        justify-content: center
    }

    .dropdown.dropdown-for-menu .dropdown-content {
        position: absolute;
        top: 100%;
        left: 50%;
        transform: translateX(-50%) translateY(8px);
        width: auto;
        min-width: 335px;
        height: auto;
        border: 1px solid var(--color-borders);
        border-radius: var(--spacing-main);
        box-shadow: 0 8px 24px rgba(42, 91, 0, .15);
        overflow: visible;
        z-index: 5
    }

    .dropdown.dropdown-for-menu .dropdown-content .dropdown-item {
        justify-content: center;
        text-align: center
    }

    .dropdown.dropdown-for-menu:hover .dropdown-trigger .dropdown-arrow {
        transform: rotate(180deg)
    }

    .dropdown.dropdown-for-menu:hover .dropdown-content {
        opacity: 1;
        visibility: visible;
        height: auto;
        transform: translateX(-50%) translateY(0)
    }

    .dropdown.dropdown-for-menu:not(:hover) .dropdown-content {
        opacity: 0;
        visibility: hidden;
        height: 0;
        transform: translateX(-50%) translateY(8px)
    }

    .dropdown.dropdown-for-menu:not(:hover) .dropdown-arrow {
        transform: none
    }
}

.sidemenu {
    --sidemenu-overlay-left: 0px;
    --sidemenu-overlay-top: 0px;
    background-color: var(--color-bg);
    border: 1px solid var(--color-borders);
    border-radius: var(--radius-main);
    padding: 30px 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 0 0 80px;
    flex-shrink: 0;
    width: 80px;
    min-width: 80px;
    transition: width var(--transition-slow), flex-basis var(--transition-slow);
    overflow: hidden;
    height: 600px
}

.sidemenu.is-overlay {
    position: fixed;
    left: var(--sidemenu-overlay-left);
    top: var(--sidemenu-overlay-top);
    z-index: var(--z-fixed)
}

@media (max-width: 820px) {
    .sidemenu {
        position: fixed;
        left: 0;
        top: 0;
        z-index: var(--z-fixed);
        height: 100vh
    }
}

.sidemenu .nav-hamburger {
    padding: 10px;
    width: 100%
}

.sidemenu .nav-hamburger .logo-text {
    display: none
}

.sidemenu .sidemenu-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--spacing-main);
    transition: all var(--transition-slow);
    width: 100%;
    padding: 100px 0
}

.sidemenu .sidemenu-content a {
    justify-content: center
}

.sidemenu .sidemenu-content a svg {
    flex-shrink: 0;
    width: var(--spacing-main);
    height: var(--spacing-main);
    min-width: var(--spacing-main);
    min-height: var(--spacing-main)
}

.sidemenu .sidemenu-content a span {
    display: none
}

.sidemenu:has(#sidemenu-check:checked) {
    width: 280px;
    flex-basis: 280px
}

.sidemenu:has(#sidemenu-check:checked) .nav-hamburger label {
    transform: rotate(360deg)
}

.sidemenu:has(#sidemenu-check:checked) .logo-text {
    display: flex
}

.sidemenu:has(#sidemenu-check:checked) span {
    display: flex;
    overflow-wrap: break-word;
    word-wrap: break-word;
    hyphens: auto
}

.sidemenu:has(#sidemenu-check:checked) .sidemenu-content a {
    justify-content: flex-start;
    width: 100%;
    padding-left: var(--spacing-main)
}

.sidemenu:not(:has(#sidemenu-check:checked)) .sidemenu-content a:hover {
    background-color: rgba(0, 0, 0, 0);
    border-bottom: 1px solid rgba(207, 225, 44, 0);
    color: var(--color-text)
}

.topbar {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--spacing-main)
}

.topbar .nav-list {
    width: 100%;
    display: flex;
    justify-content: space-between;
    transform-origin: top;
    transform: scaleY(0);
    opacity: 0;
    transition: transform .3s ease, opacity .3s ease;
    z-index: 4;
    gap: var(--spacing-main)
}

.topbar .topbar-search {
    flex: 2;
    position: relative;
    max-width: 690px
}

.topbar .nav-hamburger {
    flex: 0
}

.topbar:has(.hidden-check:checked) .nav-hamburger label {
    transform: rotate(360deg)
}

.topbar:has(.hidden-check:checked) .nav-list {
    transform: scaleY(1);
    opacity: 1
}

@media (min-width: 768px) {
    .topbar {
        justify-content: flex-end
    }

    .topbar .nav-list {
        width: auto;
        transform: scaleY(1);
        opacity: 1
    }

    .topbar .nav-hamburger {
        display: none
    }
}

.select-wrapper {
    position: relative;
    font-family: var(--font-family-buttons);
    min-width: 220px;
    display: flex;
    flex-direction: column;
    gap: var(--spacing-main)
}

.select-wrapper .select-label {
    font-size: clamp(1rem, .9135rem + .3846vw, 1.25rem);
    color: var(--color-text)
}

.select-wrapper .select-helper-text {
    font-size: var(--font-size-sm);
    color: var(--color-text-secondary);
    background-color: var(--color-bg-support);
    border: 1px solid var(--color-borders);
    border-radius: 20px;
    padding: 10.5px 15px;
    width: fit-content
}

.select-wrapper .select-trigger-wrapper {
    position: relative
}

.select-wrapper .select-trigger {
    background-color: var(--color-bg);
    border-bottom: 1px solid var(--color-accent-1);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 10.5px 15px;
    cursor: pointer;
    transition: all var(--transition-fast);
    font-size: var(--font-size-base);
    color: var(--color-text)
}

.select-wrapper .select-trigger:hover {
    border-color: var(--color-accent-1)
}

.select-wrapper .select-trigger.select-form {
    border: 1px solid var(--color-borders);
    border-radius: 999px
}

.select-wrapper .select-arrow {
    transition: transform var(--transition-fast)
}

.select-wrapper .select-arrow svg {
    width: 19px;
    height: 9px
}

.select-wrapper .select-trigger-wrapper:has(.select-form) .select-content label {
    padding: 12px 20px;
    justify-content: flex-start;
    border-bottom: 1px solid var(--color-borders)
}

.select-wrapper .select-content {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background-color: var(--color-bg);
    width: 100%;
    height: 0;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    transition: all var(--transition-fast);
    transform: translateY(8px);
    border: 1px solid var(--color-borders);
    border-radius: var(--spacing-main);
    box-shadow: 0 8px 24px rgba(42, 91, 0, .15);
    z-index: 5;
    margin-top: 8px
}

.select-wrapper .select-content .select-item {
    display: flex;
    padding: 16px 24px;
    color: var(--color-text);
    font-family: var(--font-family-buttons);
    border-bottom: 1px solid var(--color-accent-1);
    transition: all var(--transition-fast);
    text-align: center;
    justify-content: center;
    cursor: pointer;
    position: relative;
    font-size: var(--font-size-base)
}

.select-wrapper .select-content .select-item .select-radio {
    position: absolute;
    opacity: 0;
    pointer-events: none
}

.select-wrapper .select-content .select-item:last-child {
    border-bottom: none;
    padding-bottom: 3em;
    border-radius: 0 0 var(--radius-main) var(--radius-main)
}

.select-wrapper .select-content .select-item:first-child {
    padding-top: 3em;
    border-radius: var(--radius-main) var(--radius-main) 0 0
}

.select-wrapper .select-content .select-item:hover {
    background-color: var(--color-bg-support)
}

.select-wrapper .select-content .select-item:has(.select-radio:checked) {
    color: var(--color-text);
    font-weight: 500
}

.select-wrapper:has(.hidden-check:checked) .select-arrow {
    transform: rotate(180deg)
}

.select-wrapper:has(.hidden-check:checked) .select-content {
    opacity: 1;
    visibility: visible;
    height: auto;
    transform: translateY(0);
    width: 100%
}

.input-wrapper {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-main);
    align-items: flex-start;
    width: 100%
}

.input-wrapper label {
    font-size: clamp(1rem, .9135rem + .3846vw, 1.25rem)
}

.copy-msg {
    margin-top: 6px;
    font-size: 16px;
    color: green;
  }

.input-wrapper .input-container {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    color: var(--color-text);
    padding: 10.5px var(--spacing-main);
    border-radius: var(--radius-buttons);
    border: 1px solid var(--color-borders);
    background-color: var(--color-bg);
    transition: border-color var(--transition-base);
    gap: var(--spacing-main);
    position: relative
}

.input-wrapper .input-container input {
    width: 100%;
    border: none;
    background-color: rgba(0, 0, 0, 0);
    font: inherit;
    font-size: var(--font-size-base);
    font-family: var(--font-family-buttons);
    outline: none
}

.input-wrapper .input-container input:focus::placeholder {
    opacity: 0
}

.input-wrapper .input-container .input-icon {
    display: flex;
    cursor: pointer;
    transition: opacity var(--transition-base);
    color: var(--color-borders);
    width: var(--spacing-main)
}

.input-wrapper .input-container .input-icon:hover {
    opacity: .7
}

.input-wrapper .input-container:has(input:focus) {
    border-color: var(--color-accent-1)
}

.input-wrapper .input-container:has(.light-bg) {
    background-color: var(--color-bg-support)
}

.input-wrapper .input-container:has(.square-input) {
    height: 60px;
    border-radius: 20px
}

.general_success_message {
    background-color: #41863e;
    font-size: var(--font-size-sm);
    color: var(--color-bg);
    border: 1px solid var(--color-accent-2);
    border-radius: 20px;
    padding: 10.5px 15px;
    width: fit-content;
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    box-shadow: 0px 4px 4px var(--color-borders);
    margin-top: 25px;
}

.general_error_message {
    font-size: var(--font-size-sm);
    color: var(--color-bg);
    background-color: var(--color-accent-2);
    border: 1px solid var(--color-accent-2);
    border-radius: 20px;
    padding: 10.5px 15px;
    width: fit-content;
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    box-shadow: 0px 4px 4px var(--color-borders);
}

.error_text_red {
    color: var(--color-accent-3);
}

.input-wrapper .input-error-message {
    font-size: var(--font-size-sm);
    color: var(--color-bg);
    background-color: var(--color-accent-2);
    border: 1px solid var(--color-accent-2);
    border-radius: 20px;
    padding: 10.5px 15px;
    width: fit-content;
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    box-shadow: 0px 4px 4px var(--color-borders)
}

.input-wrapper .input-error-message svg {
    width: 12px;
    height: 18px;
    flex-shrink: 0
}

.input-wrapper:has(.input-error-message) .input-container {
    border-color: var(--color-accent-2)
}

.input-wrapper:has(.input-error-message) .input-container::after {
    content: "";
    position: absolute;
    bottom: -8px;
    left: 20px;
    transform: translateX(0%);
    width: 85%;
    height: 8px;
    background-color: var(--color-accent-2);
    border-radius: 0 0 var(--radius-main) var(--radius-main);
    z-index: -1;
    transition: all var(--transition-base)
}

.hidden-check:checked ~ .input-wrapper .input-error-message {
    display: none
}

.hidden-check-ai-feedback {
    /*display: none;*/
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.minor-btn-background {
    background-color: var(--color-bg-minor-grey);
}

.ai-feedback {
    max-height: 1220px !important;
    overflow: auto !important;
}
.hidden-check-ai-feedback:not(:checked) ~ .ai-feedback {
    max-height: 0px !important;
}

.textarea {
    border-radius: var(--radius-buttons);
    border: 1px solid var(--color-borders);
    width: 100%;
    max-width: 500px;
    min-width: 200px;
    padding: var(--spacing-sm) var(--spacing-main);
    box-sizing: border-box;
    transition: border-color var(--transition-fast);
    background-color: var(--color-bg-support);
}

.textarea textarea {
    width: 100%;
    border: none;
    resize: vertical;
    box-sizing: border-box;
    padding: 12px 0 0;
}

.textarea:has(textarea:focus) {
    border-color: var(--color-accent-1)
}

.folder-card {
    position: relative;
    width: 335.28px;
    height: 200px;
    flex-shrink: 0;
    transition: all var(--transition-slow)
}

.folder-card:hover .folder-shape::after {
    opacity: 1
}

.folder-card:hover .folder-content {
    box-shadow: 0px 4px 4px var(--color-borders);
    border-color: var(--color-accent-1)
}

.folder-shape {
    position: absolute;
    top: 0;
    left: 0;
    width: 122px;
    height: 85px;
    background-image: url("data:image/svg+xml,%3Csvg width='122' height='85' viewBox='0 0 122 85' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 0.5H73.1201C79.799 0.500096 86.0128 3.91874 89.5889 9.55957L117.658 53.835C126.054 67.0778 116.179 84.3115 100.509 83.7646L19.3193 80.9307C8.82122 80.564 0.500151 71.9469 0.5 61.4424V20C0.500009 9.23046 9.23045 0.5 20 0.5Z' fill='%232A5B00' stroke='%232A5B00'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: left top;
    z-index: 0
}

.folder-shape::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url("data:image/svg+xml,%3Csvg width='122' height='85' viewBox='0 0 122 85' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 0.5L73.0439 0.5C79.7255 0.5 85.9422 3.92093 89.5176 9.56543L117.562 53.8408C125.951 67.0843 116.075 84.311 100.408 83.7637L19.3193 80.9307C8.82117 80.5639 0.5 71.947 0.5 61.4424L0.5 20C0.500009 9.23046 9.23045 0.5 20 0.5Z' fill='%23CFE12C' stroke='%23CFE12C'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: left top;
    opacity: 0;
    transition: opacity var(--transition-slow)
}

.folder-card.unfinished .folder-content {
    border-color: var(--color-accent-2)
}

.folder-card.unfinished:hover .folder-content {
    border-color: var(--color-accent-3)
}

.folder-card.unfinished .folder-shape {
    background-image: url("data:image/svg+xml,%3Csvg width='122' height='85' viewBox='0 0 122 85' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 0.5H73.1201C79.799 0.500096 86.0128 3.91874 89.5889 9.55957L117.658 53.835C126.054 67.0778 116.179 84.3115 100.509 83.7646L19.3193 80.9307C8.82122 80.564 0.500151 71.9469 0.5 61.4424V20C0.500009 9.23046 9.23045 0.5 20 0.5Z' fill='%23CE7027' stroke='%23CE7027'/%3E%3C/svg%3E")
}

.folder-card.unfinished .folder-shape::after {
    background-image: url("data:image/svg+xml,%3Csvg width='122' height='85' viewBox='0 0 122 85' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 0.5H73.1201C79.799 0.500096 86.0128 3.91874 89.5889 9.55957L117.658 53.835C126.054 67.0778 116.179 84.3115 100.509 83.7646L19.3193 80.9307C8.82122 80.564 0.500151 71.9469 0.5 61.4424V20C0.500009 9.23046 9.23045 0.5 20 0.5Z' fill='%23621D1C' stroke='%23621D1C'/%3E%3C/svg%3E")
}

.folder-content {
    position: absolute;
    top: 20px;
    left: 0;
    width: 100%;
    background-color: var(--color-bg);
    border: 1px solid var(--color-borders);
    border-radius: var(--radius-main);
    padding: 20px;
    transition: all var(--transition-slow);
    display: flex;
    flex-direction: column;
    cursor: pointer;
    gap: var(--spacing-main);
    z-index: 1
}

.folder-content .folder-title {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-normal);
    margin: 0
}

.folder-content .folder-divider {
    width: 100%;
    border: none;
    border-top: 1px solid var(--color-text);
    margin: 0
}

.folder-content .folder-pills {
    display: flex;
    flex-wrap: wrap;
    gap: var(--spacing-sm);
    justify-content: center;
    align-items: center
}

.folder-content .folder-pills .pill {
    padding: 6px 16px;
    border: 1px solid var(--color-borders);
    border-radius: 20px;
    font-size: var(--font-size-sm);
    font-family: var(--font-family-buttons);
    background-color: var(--color-bg);
    transition: all var(--transition-slow);
    text-transform: capitalize
}

.multi-select {
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: var(--spacing-main);
    max-width: 80%
}

.multi-select .options {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-top: var(--spacing-sm)
}

@media (min-width: 475px) {
    .multi-select .options:has(.wide) {
        flex-wrap: nowrap;
        gap: var(--spacing-main)
    }
}

.multi-select .option-container {
    display: flex;
    gap: var(--spacing-main);
    width: 100%
}

@media (min-width: 475px) {
    .multi-select .option-container {
        width: fit-content;
        display: flex
    }
}

@media (min-width: 475px) {
    .multi-select .option-container:has(.wide) {
        width: 100%;
        flex: 1
    }
}

.multi-select .option-container .option {
    font-size: var(--font-size-base);
    cursor: pointer;
    border-radius: 8px;
    transition: all var(--transition-fast);
    border: 1px solid var(--color-borders);
    border-radius: 999px;
    padding: var(--spacing-sm) var(--spacing-main);
    min-width: 120px;
    text-align: center;
    width: 100%
}

.multi-select .option-container .option:hover {
    box-shadow: 0px 4px 4px var(--color-borders);
    transform: translateY(-2px)
}

.multi-select .option-container .uppercase {
    text-transform: uppercase
}

.multi-select .option-container input[type=checkbox]:checked + label {
    background-color: var(--color-accent-1)
}

.modal {
    position: fixed;
    inset: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    visibility: hidden;
    opacity: 0;
    transition: .3s ease;
    z-index: var(--z-modal-backdrop)
}

.modal .modal-content {
    background: var(--color-bg);
    padding: clamp(var(--spacing-xl) / 6, var(--spacing-xl) / 6 + 2vw, var(--spacing-xl)) 30px;
    border-radius: 20px;
    z-index: var(--z-modal);
    width: 90%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: var(--spacing-xl);
    position: relative
}

.modal .modal-content .modal-inputs {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-main)
}

@media (min-width: 768px) {
    .modal .modal-content .modal-inputs {
        flex-direction: row;
        gap: var(--spacing-xl)
    }
}

.modal .modal-content .modal-inputs .group {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-main)
}

.modal .modal-content .modal-buttons {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: var(--spacing-main);
    width: 100%
}

.modal .overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .5);
    cursor: pointer;
    z-index: var(--z-modal-backdrop)
}

.modal .modal-close {
    position: absolute;
    top: 20px;
    right: 20px;
    font-size: 40px;
    line-height: 1;
    color: var(--color-text);
    cursor: pointer;
    transition: .2s ease;
    padding: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%
}

#modal-toggle:checked + .modal {
    visibility: visible;
    opacity: 1
}

.trapezoid-tab-bar {
    width: 100%
}

.trapezoid-tab-bar .tab-trapezoid-headers {
    padding: 0 20px;
    margin-bottom: -1px;
    position: relative;
    z-index: 2;
    margin: 0 auto;
    display: flex
}

.trapezoid-tab-bar input[type=radio] {
    display: none
}

.trapezoid-tab-bar .tab-trapezoid {
    cursor: pointer;
    padding: 12px 30px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding-left: 30px;
    transition: .25s ease;
    font-size: var(--font-size-base);
    color: var(--color-text);
    position: relative;
    height: 60px;
    width: 356px;
    margin-bottom: -1px;
    margin-left: -10px;
    background-image: url("data:image/svg+xml,%3Csvg width='356' height='60' viewBox='0 0 356 60' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 0.5H320.642C329.008 0.5 336.443 5.83745 339.118 13.7646L354.554 59.5H0.5V20C0.5 9.23045 9.23045 0.5 20 0.5Z' fill='%23FFFBEF' stroke='%232A5B00'/%3E%3C/svg%3E");
    background-size: 100% 100%;
    background-repeat: no-repeat;
    background-position: center
}

.trapezoid-tab-bar .tab-trapezoid:nth-child(1) {
    z-index: 10
}

.trapezoid-tab-bar .tab-trapezoid:nth-child(3) {
    z-index: 9
}

.trapezoid-tab-bar .tab-trapezoid:nth-child(5) {
    z-index: 8
}

.trapezoid-tab-bar .tab-trapezoid:nth-child(7) {
    z-index: 7
}

.trapezoid-tab-bar .tab-trapezoid:nth-child(9) {
    z-index: 6
}

.trapezoid-tab-bar .tab-trapezoid:nth-child(11) {
    z-index: 5
}

.trapezoid-tab-bar .tab-trapezoid:nth-child(13) {
    z-index: 4
}

.trapezoid-tab-bar .tab-trapezoid:nth-child(15) {
    z-index: 3
}

.trapezoid-tab-bar input[type=radio]:checked + .tab-trapezoid {
    background-image: url("data:image/svg+xml,%3Csvg width='356' height='60' viewBox='0 0 356 60' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 0.5H320.642C329.008 0.5 336.443 5.83745 339.118 13.7646L354.554 59.5H0.5V20C0.5 9.23045 9.23045 0.5 20 0.5Z' fill='%23CFE12C' stroke='%232A5B00'/%3E%3C/svg%3E");
    z-index: 20 !important
}

.trapezoid-tab-bar input + label {
    position: relative;
    z-index: 2
}

.trapezoid-tab-bar .tab-trapezoid-content {
    display: none;
    padding: var(--spacing-main);
    border-top: 1px solid var(--color-borders);
    background-color: var(--color-bg);
    position: relative;
    z-index: 1
}

.trapezoid-tab-bar:has(input:checked) .tab-trapezoid-content {
    display: none
}

.trapezoid-tab-bar:has(#tab-trapezoid1:checked) #content-trapezoid1, .trapezoid-tab-bar:has(#tab-trapezoid2:checked) #content-trapezoid2, .trapezoid-tab-bar:has(#tab-trapezoid3:checked) #content-trapezoid3, .trapezoid-tab-bar:has(#tab-trapezoid4:checked) #content-trapezoid4, .trapezoid-tab-bar:has(#tab-trapezoid5:checked) #content-trapezoid5 {
    display: block
}

.pill-tab-bar {
    width: 100%
}

.pill-tab-bar .label {
    margin-bottom: 20px
}

.pill-tab-bar .tab-pill-headers {
    display: flex;
    gap: var(--spacing-main);
    flex-wrap: wrap
}

.pill-tab-bar input[type=radio] {
    display: none
}

.pill-tab-bar .tab-pill {
    border: 1px solid var(--color-borders);
    border-radius: 999px;
    padding: 10.5px 15px;
    font-size: var(--font-size-base);
    min-width: 220px;
    text-align: center;
    cursor: pointer
}

.pill-tab-bar .tab-pill-content {
    border: 1px solid var(--color-borders);
    border-radius: 20px;
    margin-top: var(--spacing-main);
    padding: 35px 14px
}

.pill-tab-bar .tab-pill-content:has(textarea) {
    padding: 0;
    border: none
}

.pill-tab-bar .tab-pill-content textarea {
    width: 100%;
    min-height: 200px
}

.pill-tab-bar input[type=radio]:checked + .tab-pill {
    background-color: var(--color-accent-1)
}

.pill-tab-bar:has(input:checked) .tab-pill-content {
    display: none
}

.pill-tab-bar:has(#tab-pill1:checked) #content-pill1, .pill-tab-bar:has(#tab-pill2:checked) #content-pill2, .pill-tab-bar:has(#tab-pill3:checked) #content-pill3, .pill-tab-bar:has(#tab-pill4:checked) #content-pill4, .pill-tab-bar:has(#tab-pill5:checked) #content-pill5 {
    display: flex
}

.big-tab-bar {
    width: 100%
}

.big-tab-bar .tab-big-headers {
    display: flex;
    gap: var(--spacing-main);
    flex-wrap: wrap
}

.big-tab-bar input[type=radio] {
    /*display: none;*/
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.big-tab-bar .tab-big {
    border: 1px solid var(--color-borders);
    border-radius: 20px;
    padding: 35px 12px;
    text-wrap: nowrap;
    font-size: var(--font-size-base);
    min-width: 220px;
    text-align: center;
    cursor: pointer;
    transition: box-shadow var(--transition-slow);
    min-width: 230px;
    display: flex;
    justify-content: center;
    align-items: center
}

.big-tab-bar .tab-big-content {
    border: 1px solid var(--color-borders);
    border-radius: 20px;
    margin-top: var(--spacing-main);
    padding: 4% 6%;
    display: flex;
    flex-direction: column;
    gap: 35px;
    align-items: center;
    justify-content: center
}

.big-tab-bar input[type=radio]:checked + .tab-big {
    background-color: var(--color-accent-1)
}

.big-tab-bar:has(input:checked) .tab-big-content {
    display: none
}

.big-tab-bar:has(#tab-big1:checked) #content-big1, .big-tab-bar:has(#tab-big2:checked) #content-big2, .big-tab-bar:has(#tab-big3:checked) #content-big3, .big-tab-bar:has(#tab-big4:checked) #content-big4, .big-tab-bar:has(#tab-big5:checked) #content-big5 {
    display: flex
}
.card {
    position: relative;
    min-width: 220px;
    max-width: 220px;
    min-height: 180px;
    background-color: var(--color-bg);
    border: 1px solid var(--color-borders);
    border-radius: var(--radius-main);
    padding: 20px;
    transition: all var(--transition-base);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
    cursor: pointer
}


.card .card-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    width: 100%;
    gap: 20px;
    padding-bottom: 30px
}

.card::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -15px;
    width: 30px;
    height: calc(100% - 10px);
    background-color: var(--color-borders);
    border-radius: 0 var(--radius-main) var(--radius-main) 0;
    z-index: -1;
    transition: all var(--transition-base);
    transform: translateY(-50%)
}

.card:hover {
    box-shadow: 0px 4px 4px var(--color-borders)
}

.card.done::after {
    background-color: var(--color-borders)
}

.card.unfinished::after {
    background-color: var(--color-accent-2)
}

.card .card-divider {
    border: none;
    height: 1px;
    background-color: var(--color-text);
    margin: var(--spacing-sm) 0;
    width: 100%
}

.card-container {
    margin: 0 auto;
    display: flex;
    justify-content: flex-start;
    width: 100%;
    padding: clamp(var(--spacing-xl) / 6, var(--spacing-xl) / 6 + 2vw, var(--spacing-xl)) 0;
    overflow-x: auto;
    flex-wrap: nowrap
}

.accordion {
    min-width: 250px;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 0
}

.accordion .hidden-check {
    position: absolute;
    inline-size: 1px;
    block-size: 1px;
    margin: -1px;
    border: 0;
    padding: 0;
    clip: rect(0 0 0 0);
    overflow: hidden
}

.accordion .accordion-item {
    overflow: hidden;
    position: relative
}

.accordion .accordion-item:not(:last-child) {
    border-bottom: 1px solid var(--color-borders)
}

.accordion .accordion-header {
    display: flex;
    gap: 8px;
    justify-content: space-between;
    padding: 20px 16px;
    cursor: pointer;
    font-size: var(--font-size-base);
    user-select: none;
    transition: background-color var(--dur) var(--ease)
}

.accordion .accordion-content {
    max-height: 0;
    overflow: hidden;
    padding: 0 16px;
    opacity: 0;
    transform: translateY(-8px);
    transition: max-height var(--dur) var(--ease), padding var(--dur) var(--ease), opacity var(--dur) var(--ease), transform var(--dur) var(--ease)
}

.accordion .dropdown-arrow {
    transition: transform var(--dur) var(--ease)
}

.accordion .dropdown-arrow svg {
    width: 19px;
    height: 9px
}

.accordion .hidden-check:checked + .accordion-header + .accordion-content {
    max-height: 620px;
    padding: 0 16px 16px 16px;
    opacity: 1;
    transform: translateY(0);
    overflow-y: auto
}

.accordion .hidden-check:checked + .accordion-header .dropdown-arrow {
    transform: rotate(180deg)
}

@media (prefers-reduced-motion: reduce) {
    .accordion .accordion-content, .accordion .accordion-header, .accordion .dropdown-arrow {
        transition: none
    }
}

.accordion-hindamise {
    min-width: 250px;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 0
}

.accordion-hindamise .accordion-item {
    position: relative;
    display: flex;
    flex-direction: column
}

.accordion-hindamise .accordion-footer {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: var(--spacing-xl);
    padding: 16px 20px 40px 20px
}

.accordion-hindamise .accordion-item:not(:last-child) {
    border-bottom: 1px solid var(--color-borders)
}

.accordion-hindamise .accordion-header-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    padding: 16px 20px;
    gap: 16px
}

.accordion-hindamise .accordion-header-row .name {
    min-width: 220px
}

.accordion-hindamise .accordion-header-row .title {
    min-width: 320px;
    display: none
}

.accordion-hindamise .button-group {
    display: flex;
    gap: 12px;
    align-items: center
}

.accordion-hindamise .btn-mine-muutma {
    background-color: var(--color-accent-1);
    border-radius: 30px;
    padding: 8px 20px;
    cursor: pointer;
    font-size: var(--font-size-base);
    transition: all var(--transition-slow);
    border: 1px solid var(--color-borders);
    white-space: nowrap
}


.accordion-hindamise .btn-mine-muutma-ai-static {
    background-color: var(--color-bg-minor-grey);
    border-radius: 30px;
    padding: 8px 20px;
    cursor: pointer;
    font-size: var(--font-size-base);
    transition: all var(--transition-slow);
    border: 1px solid var(--color-borders);
    white-space: nowrap
}


.btn-mine-muutma-done {
    background-color: var(--color-accent-done);
    border-radius: 30px;
    padding: 8px 20px;
    cursor: pointer;
    font-size: var(--font-size-base);
    transition: all var(--transition-slow);
    border: 1px solid var(--color-borders);
    white-space: nowrap
}

.accordion-hindamise .btn-mine-muutma:hover {
    box-shadow: 0px 4px 4px var(--color-borders)
}

.accordion-hindamise .status-container {
    display: flex;
    justify-content: flex-end
}

.accordion-hindamise .status-badge {
    border-radius: 30px;
    padding: 8px 20px;
    min-width: 130px;
    text-align: center;
    border: 1px solid var(--color-borders)
}

.accordion-hindamise .status-badge.done {
    background-color: var(--color-accent-1)
}

.accordion-hindamise .status-badge.progress {
    background-color: var(--color-accent-2);
    color: white;
}

.accordion-hindamise .accordion-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height .35s cubic-bezier(0.2, 0.9, 0.3, 1), padding .25s ease;
    display: flex;
    flex-direction: column;
    gap: 20px
}

.accordion-hindamise .accordion-content .content-row {
    display: flex;
    flex-wrap: wrap;
    gap: 20px
}

.accordion-hindamise .accordion-content .hinnatav-content {
    flex: 1;
    border-right: 1px solid var(--color-borders);
    border-top: 1px solid var(--color-borders);
    border-bottom: 1px solid var(--color-borders);
    max-height: 1000px;
    overflow-y: auto;
    padding: 16px;
    min-width: 300px
}

.accordion-hindamise .accordion-content .hindamise-bloki-container {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: var(--spacing-lg)
}

.accordion-hindamise .hidden-check:checked ~ .accordion-content {
    max-height: 1220px;
    overflow-y: auto
}

.accordion-hindamise .hidden-check:checked ~ .accordion-header-row .title {
    display: flex
}

.square-container {
    border-radius: 0;
    border: 1px solid var(--color-borders);
    display: flex;
    flex-direction: column;
    align-items: stretch;
    inline-size: 100%;
    min-block-size: 120px
}

.square-container .hidden-check {
    position: absolute;
    inline-size: 1px;
    block-size: 1px;
    margin: -1px;
    border: 0;
    padding: 0;
    clip: rect(0 0 0 0);
    overflow: hidden
}

.square-container .close-sidebar {
    padding: 11px 20px;
    cursor: pointer;
    font-size: var(--font-size-base);
    display: flex;
    align-items: center;
    gap: 14px;
    border-bottom: 1px solid var(--color-borders);
    user-select: none
}

.square-container .close-sidebar svg {
    transition: transform var(--dur) var(--ease)
}

.square-container .close-sidebar span {
    transition: opacity var(--dur) var(--ease)
}

.square-container .left-side, .square-container .right-side {
    position: relative;
    min-inline-size: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column
}

.square-container .left-side .panel-content, .square-container .right-side .panel-content {
    opacity: 1;
    transition: opacity var(--dur) var(--ease), transform var(--dur) var(--ease)
}

.square-container .left-side {
    border-bottom: 1px solid var(--color-borders)
}

.square-container .left-side .close-sidebar {
    justify-content: flex-end
}

.square-container .right-side {
    border-top: 1px solid var(--color-borders)
}

.square-container .middle-side {
    flex: 1 1 auto;
    padding: 16px;
    display: flex;
    flex-direction: column;
    min-inline-size: 0
}

.square-container .middle-side .intro-section {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-main);
    padding-bottom: var(--spacing-main)
}

#accordion-closer-left:checked ~ .square-container .left-side .close-sidebar {
    border-bottom: none
}

#accordion-closer-left:checked ~ .square-container .left-side .close-sidebar svg {
    transform: rotate(180deg)
}

#accordion-closer-left:checked ~ .square-container .left-side .panel-content {
    max-height: 0;
    opacity: 0;
    transform: translateY(-18px);
    pointer-events: none;
    overflow: hidden
}

#accordion-closer-right:checked ~ .square-container .right-side .close-sidebar {
    border-bottom: none
}

#accordion-closer-right:checked ~ .square-container .right-side .close-sidebar svg {
    transform: rotate(180deg)
}

#accordion-closer-right:checked ~ .square-container .right-side .panel-content {
    max-height: 0;
    opacity: 0;
    transform: translateY(18px);
    pointer-events: none;
    overflow: hidden
}

@media (min-width: 1120px) {
    .square-container {
        flex-direction: row
    }

    .square-container .left-side, .square-container .right-side {
        flex: 0 0 var(--edge-open);
        transition: flex-basis var(--dur) var(--ease)
    }

    .square-container .left-side {
        border-bottom: none;
        border-right: 1px solid var(--color-borders)
    }

    .square-container .right-side {
        border-top: none;
        border-left: 1px solid var(--color-borders)
    }

    #accordion-closer-left:checked ~ .square-container .left-side {
        flex-basis: var(--edge-closed)
    }

    #accordion-closer-left:checked ~ .square-container .left-side .close-sidebar {
        justify-content: center;
        padding-inline: 10px;
        border-bottom: 1px solid var(--color-borders)
    }

    #accordion-closer-left:checked ~ .square-container .left-side .close-sidebar span {
        position: absolute;
        width: 1px;
        height: 1px;
        opacity: 0;
        pointer-events: none;
        overflow: hidden
    }

    #accordion-closer-left:checked ~ .square-container .left-side .panel-content {
        opacity: 0;
        transform: translateX(-18px);
        pointer-events: none;
        max-height: none;
        overflow: visible
    }

    #accordion-closer-right:checked ~ .square-container .right-side {
        flex-basis: var(--edge-closed)
    }

    #accordion-closer-right:checked ~ .square-container .right-side .close-sidebar {
        justify-content: center;
        padding-inline: 10px;
        border-bottom: 1px solid var(--color-borders)
    }

    #accordion-closer-right:checked ~ .square-container .right-side .close-sidebar span {
        position: absolute;
        width: 1px;
        height: 1px;
        opacity: 0;
        pointer-events: none;
        overflow: hidden
    }

    #accordion-closer-right:checked ~ .square-container .right-side .panel-content {
        opacity: 0;
        transform: translateX(18px);
        pointer-events: none;
        max-height: none;
        overflow: visible
    }
}

@media (prefers-reduced-motion: reduce) {
    .square-container .left-side, .square-container .right-side, .square-container .panel-content, .square-container .close-sidebar svg, .square-container .close-sidebar span {
        transition: none
    }
}

.rich-text-editor {
    min-width: 300px;
    width: 100%;
    border: 1px solid var(--color-borders);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    min-height: 350px;
    height: 100%
}

.rich-text-editor .editor-toolbar {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 4px;
    padding: 5px 16px;
    border-bottom: 1px solid var(--color-borders);
    flex-wrap: wrap
}

.rich-text-editor .toolbar-group {
    display: flex;
    align-items: center;
    gap: 4px
}

.rich-text-editor .toolbar-divider {
    width: 1px;
    height: 30px;
    background-color: var(--color-borders);
    margin: 0 4px;
    display: none
}

.rich-text-editor .toolbar-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: none;
    background-color: rgba(0, 0, 0, 0);
    color: var(--color-text);
    cursor: pointer;
    border-radius: 4px;
    transition: all var(--transition-fast);
    font-family: var(--font-family-content);
    font-size: 20px
}

.rich-text-editor .toolbar-btn:hover {
    transform: scale(1.1);
    box-shadow: none
}

.rich-text-editor .toolbar-btn svg {
    flex-shrink: 0;
    pointer-events: none
}

.rich-text-editor .toolbar-btn svg * {
    pointer-events: none
}

.rich-text-editor .toolbar-btn span {
    pointer-events: none
}

.rich-text-editor .toolbar-btn .bold {
    font-weight: bold
}

.rich-text-editor .toolbar-btn .italic {
    font-style: italic
}

.rich-text-editor .toolbar-btn .underline {
    text-decoration: underline
}

.rich-text-editor .font-size-control {
    display: flex;
    align-items: center;
    gap: 0
}

.rich-text-editor .line-height-control {
    display: flex;
    align-items: center;
    gap: 4px;
    position: relative
}

.rich-text-editor .line-height-display {
    color: var(--color-text);
    min-width: 28px;
    text-align: center;
    font-family: var(--font-family-content)
}

.rich-text-editor .line-height-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    margin-top: 4px;
    background-color: var(--color-bg);
    border: 1px solid var(--color-borders);
    border-radius: 4px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .1);
    z-index: 1000;
    min-width: 70px;
    display: none
}

.rich-text-editor .line-height-dropdown.show {
    display: block
}

.rich-text-editor .line-height-dropdown .dropdown-option {
    cursor: pointer;
    color: var(--color-text);
    transition: background-color var(--transition-base);
    border: none;
    padding: 8px 12px;
    border-radius: 0;
    background-color: var(--color-bg);
    width: 100%;
    border-bottom: 1px solid var(--color-bg);
    font-family: var(--font-family-content);
    font-size: var(--font-size-base)
}

.rich-text-editor .line-height-dropdown .dropdown-option:hover {
    background-color: var(--color-bg-support);
    box-shadow: none;
    border-bottom: 1px solid var(--color-accent-1);
    transform: translateY(0px)
}

.rich-text-editor .line-height-dropdown .dropdown-option:first-child {
    border-radius: 4px 4px 0 0
}

.rich-text-editor .line-height-dropdown .dropdown-option:last-child {
    border-radius: 0 0 4px 4px
}

.rich-text-editor .font-size-input {
    width: 40px;
    height: 28px;
    border: 1px solid var(--color-borders);
    background-color: var(--color-bg-support);
    text-align: center;
    outline: none;
    -moz-appearance: textfield
}

.rich-text-editor .font-size-input::-webkit-outer-spin-button, .rich-text-editor .font-size-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0
}

.rich-text-editor .editor-content {
    min-height: 350px;
    height: 100%;
    padding: var(--spacing-main);
    font-family: var(--font-family-content);
    font-size: var(--font-size-base);
    line-height: 1.5;
    color: var(--color-text);
    background-color: var(--color-bg-support);
    outline: none;
    overflow-y: auto
}

.rich-text-editor .editor-content:empty::before {
    content: attr(data-placeholder);
    pointer-events: none
}

.rich-text-editor .editor-content:focus::before {
    opacity: .5
}

.rich-text-editor .editor-content * {
    font-family: var(--font-family-content) !important
}

.rich-text-editor .editor-content b, .rich-text-editor .editor-content strong {
    font-weight: 600
}

.rich-text-editor .editor-content i, .rich-text-editor .editor-content em {
    font-style: italic
}

.rich-text-editor .editor-content u {
    text-decoration: underline
}

.rich-text-editor .editor-content p {
    margin: 0 0 1em 0
}

.rich-text-editor .editor-content p:last-child {
    margin-bottom: 0
}

@media (min-width: 520px) {
    .rich-text-editor .toolbar-divider {
        display: block
    }
}

.editor-footer {
    display: flex;
    justify-content: flex-end;
    margin-top: 8px
}

.word-count {
    border: 1px solid var(--color-borders);
    padding: 4px 12px;
    font-family: var(--font-family-content)
}

.select-one {
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: var(--spacing-main)
}

.select-one .options {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 20px;
    margin-top: var(--spacing-sm)
}

@media (min-width: 475px) {
    .select-one .options:has(.wide) {
        gap: var(--spacing-main)
    }
}

.select-one .option-container {
    display: flex;
    gap: var(--spacing-main);
    width: 100%
}

@media (min-width: 475px) {
    .select-one .option-container {
        width: fit-content;
        display: flex;
        flex-wrap: wrap
    }
}

@media (min-width: 475px) {
    .select-one .option-container:has(.wide) {
        width: 100%;
        max-width: 220px;
        flex: 1
    }
}

.select-one .option-container .option {
    font-size: var(--font-size-base);
    cursor: pointer;
    border-radius: 8px;
    transition: all var(--transition-fast);
    border: 1px solid var(--color-borders);
    border-radius: 999px;
    padding: var(--spacing-sm) var(--spacing-main);
    text-align: center;
    min-width: 220px;
    width: 100%
}

.select-one .option-container .option:hover {
    box-shadow: 0px 4px 4px var(--color-borders);
    transform: translateY(-2px)
}

.select-one .option-container .uppercase {
    text-transform: uppercase
}

.select-one .option-container input[type=radio]:checked + label {
    background-color: var(--color-accent-1)
}

.hindamise-blokk {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 10px;
    text-align: center;
    gap: var(--spacing-lg)
}

.hindamise-blokk .opivaljundid-container {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 20px
}

.hindamise-blokk .opivaljundid-container span {
    text-align: left
}

.hindamise-blokk .opivaljundid-container .checkboxes {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 10px
}

.hindamise-blokk .opivaljundid-container .checkboxes .check {
    display: flex;
    align-items: center;
    gap: 10px
}

.hindamise-blokk .opivaljundid-container .checkboxes label {
    font-size: var(--font-size-base);
    cursor: pointer
}

.hindamise-blokk .opivaljundid-container .checkboxes input[type=checkbox] {
    cursor: pointer;
    width: 20px;
    height: 20px;
    border: 1px solid var(--color-borders);
    background-color: var(--color-bg-support);
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    cursor: pointer;
    transition: background-color var(--transition-fast)
}

.hindamise-blokk .opivaljundid-container .checkboxes input[type=checkbox]:checked {
    background-color: var(--color-accent-1);
    border-color: var(--color-borders)
}

.hindamise-blokk .hindamise-item {
    display: flex;
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    justify-content: space-between;
    flex: 2
}

.hindamise-blokk .hindamise-item .hindamise-title {
    display: flex;
    width: 100%;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
    align-items: center
}

.hindamise-blokk .hindamise-textarea {
    width: 100%;
    height: 160px;
    border-radius: 0px;
    font-family: var(--font-family-content);
    background-color: var(--color-bg-support);
    resize: none
}

.kriteeriumite-container {
    display: grid;
    grid-template-columns:repeat(auto-fit, minmax(335px, 1fr));
    gap: var(--spacing-md)
}

.kriteeriumi-wrapper {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm)
}

.kriteeriumi-wrapper .delete-button {
    cursor: pointer;
    margin-left: 20px
}

.kriteeriumi-wrapper .delete-button path {
    transition: stroke .3s ease
}

.kriteeriumi-wrapper .delete-button:hover path {
    stroke: var(--color-accent-2)
}

.kriteeriumi-textarea {
    resize: none;
    font-family: var(--font-family-content);
    background-color: var(--color-bg-support);
    height: 120px
}

.hindamisskaala-wrapper {
    min-width: 250px;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 20px
}

.hindamisskaala-wrapper .hindamisskaala-item {
    border: 1px solid var(--color-borders);
    box-shadow: 0px 4px 4px var(--color-borders);
    padding: 0 30px 0 30px;
    border-radius: var(--radius-main)
}

.hindamisskaala-wrapper .hindamisskaala-header {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    padding-bottom: 20px
}

.hindamisskaala-wrapper .hindamisskaala-header .delete-section-button {
    align-self: flex-end;
    cursor: pointer;
    transition: transform var(--transition-slow)
}

.hindamisskaala-wrapper .hindamisskaala-header .delete-section-button path {
    transition: stroke .3s ease
}

.hindamisskaala-wrapper .hindamisskaala-header .delete-section-button:hover path {
    stroke: var(--color-accent-2)
}

.hindamisskaala-wrapper .dropdown-arrow {
    margin-top: -1px;
    cursor: pointer
}

.hindamisskaala-wrapper .dropdown-arrow .arrow-svg {
    transform-origin: center;
    transition: transform var(--dur) var(--ease)
}

.hindamisskaala-wrapper .hindamisskaala-content {
    max-height: 0;
    overflow: hidden;
    padding: 0 16px;
    opacity: 0;
    transform: translateY(-8px);
    transition: max-height var(--dur) var(--ease), padding var(--dur) var(--ease), opacity var(--dur) var(--ease), transform var(--dur) var(--ease)
}

.hindamisskaala-wrapper .hindamisskaala-grupp {
    display: flex;
    flex-direction: column;
    gap: 20px;
    border-bottom: 1px solid var(--color-borders);
    padding-bottom: 20px
}

.hindamisskaala-wrapper .hindamisskaala-grupp .delete-grupp-button {
    align-self: flex-end;
    cursor: pointer;
    transition: transform var(--transition-slow)
}

.hindamisskaala-wrapper .hindamisskaala-grupp .delete-grupp-button path {
    transition: stroke .3s ease
}

.hindamisskaala-wrapper .hindamisskaala-grupp .delete-grupp-button:hover path {
    stroke: var(--color-accent-2)
}

.hindamisskaala-wrapper .hidden-check:checked + .hindamisskaala-header + .hindamisskaala-content {
    max-height: 2220px;
    padding: 20px 0;
    opacity: 1;
    transform: translateY(0);
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 20px
}

.hindamisskaala-wrapper .hidden-check:checked + .hindamisskaala-header .dropdown-arrow .arrow-svg {
    transform: rotate(180deg)
}

.hindamisskaala-wrapper .hindamisskaala-content {
    border-top: 1px solid var(--color-borders)
}

.hindamisskaala-wrapper .add-kriteerium {
    cursor: pointer
}

.hindamisskaala-wrapper .add-kriteerium line, .hindamisskaala-wrapper .add-kriteerium path {
    transition: stroke var(--transition-slow)
}

.hindamisskaala-wrapper .add-kriteerium:hover line, .hindamisskaala-wrapper .add-kriteerium:hover path {
    stroke: var(--color-accent-1)
}

.hindamisskaala-wrapper .add-hindamisskaala-grupp {
    background-color: var(--color-bg-support);
    width: fit-content;
    border: 1px solid var(--color-borders);
    padding: 20px;
    border-radius: 20px;
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    transition: all var(--transition-slow)
}

.hindamisskaala-wrapper .add-hindamisskaala-grupp:hover {
    transform: translateY(-2px);
    box-shadow: 0px 4px 4px var(--color-borders)
}

.hindamisskaala-wrapper .add-hindamisskaala-section-item {
    border: 1px solid var(--color-borders);
    box-shadow: 0px 4px 4px var(--color-borders);
    padding: 20px;
    border-radius: var(--radius-main)
}

.hindamisskaala-wrapper .add-hindamisskaala-section-item svg {
    cursor: pointer
}

.hindamisskaala-wrapper .add-hindamisskaala-section-item line, .hindamisskaala-wrapper .add-hindamisskaala-section-item path {
    transition: stroke var(--transition-slow)
}

.hindamisskaala-wrapper .add-hindamisskaala-section-item:hover line, .hindamisskaala-wrapper .add-hindamisskaala-section-item:hover path {
    stroke: var(--color-accent-1)
}

.bar-graph-wrapper {
    display: flex;
    flex-direction: column;
    gap: 40px
}

.bar-graph-container {
    display: flex;
    margin-top: 20px;
    gap: 20px;
    margin-left: 100px
}

.bar-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 1;
    max-width: 140px;
    gap: 10px;
    z-index: 1
}

.bar-wrapper {
    width: 100%;
    height: 300px;
    border: 1px solid var(--color-borders);
    border-radius: 20px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    position: relative;
    background-color: var(--color-bg-support);
    padding: 0 1px 1px 1px
}

.bar-label {
    position: absolute;
    top: 10px;
    left: 50%;
    transform: translateX(-50%);
    color: var(--color-text);
    text-align: center
}

.bar-fill {
    width: calc(100% + 4px);
    border-radius: 20px;
    transition: height .3s ease;
    border: 1px solid var(--color-borders);
    margin-bottom: -2px;
    margin-top: -4px
}

.low {
    background-color: var(--color-accent-3)
}

.medium {
    background-color: var(--color-accent-2)
}

.high {
    background-color: var(--color-accent-1)
}

.ülesande-tulemus {
    display: flex;
    flex-direction: column;
    gap: 40px;
    align-items: center;
    justify-content: center
}

.ülesande-tulemus h3 {
    text-align: center
}

.circles-visual-container {
    display: flex;
    flex-direction: column;
    gap: 40px;
    margin-bottom: 40px
}

.circles-visual-container .circles-data {
    display: flex;
    flex-wrap: wrap;
    gap: 20px
}

.circles-visual-container .circles-data .circles-data-header {
    display: flex;
    align-items: center;
    gap: 10px
}

.circles-visual-container .circles-data .circles-data-circles {
    display: flex;
    flex-wrap: wrap;
    gap: 10px
}

.pie-chart-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    width: 100%
}

.pie-chart-wrapper .graph-title {
    font-family: var(--font-family-headings);
    font-size: var(--font-size-lg);
    color: var(--color-text);
    text-align: center;
    margin: 0
}

.pie-chart-wrapper .pie-chart-container {
    position: relative;
    width: 100%;
    max-width: 800px;
    height: 400px;
    display: flex;
    justify-content: center;
    align-items: center
}

.chart-legend {
    display: none;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
    margin-top: 20px;
    max-width: 600px
}

.legend-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: var(--font-family-headings);
    font-size: 14px;
    padding: 8px 12px;
    border: 1px solid var(--color-borders);
    border-radius: 999px;
    background-color: var(--color-bg)
}

.legend-item .legend-color {
    width: 12px;
    height: 12px;
    border-radius: 2px
}

@media (max-width: 1000px) {
    .pie-chart-container {
        height: auto;
        min-height: 320px
    }

    .pie-chart-container .floating-label {
        display: none !important
    }

    .chart-legend {
        display: flex
    }
}

.gauge-chart-grid {
    display: grid;
    grid-template-columns:repeat(auto-fit, minmax(255px, 1fr));
    gap: 20px
}

.gauge-chart-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    width: 100%
}

.gauge-chart-wrapper .chart-legend {
    display: flex
}

.gauge-chart-wrapper .graph-title {
    font-family: var(--font-family-headings);
    font-size: var(--font-size-lg);
    color: var(--color-text);
    text-align: center;
    margin: 0
}

.gauge-chart-wrapper .gauge-chart-container {
    position: relative;
    width: 100%;
    max-width: 600px;
    min-width: 340px;
    display: flex;
    justify-content: center;
    align-items: flex-end
}

.gauge-footer-box {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    border: 1px solid var(--color-borders);
    background-color: var(--color-bg-support);
    border-radius: 0 999px 999px 0;
    box-sizing: border-box
}

.gauge-footer-box .info-text {
    font-family: var(--font-family-content);
    font-size: 14px;
    color: var(--color-text);
    margin-left: 10px
}

.gauge-footer-box .btn {
    margin-right: -1px
}

.status-table-container {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 100%;
    overflow-x: auto;
    padding-bottom: 20px;
    margin-top: 40px
}

.status-table-header {
    display: flex;
    align-items: flex-end;
    padding-bottom: 10px
}

.status-table-header .header-spacer {
    width: 150px;
    flex-shrink: 0;
    margin-right: 20px
}

.status-table-header .label {
    flex: 1;
    text-align: center;
    min-width: 180px;
    padding: 0 10px
}

.status-table-row {
    display: flex;
    align-items: stretch;
    margin-bottom: 20px
}

.status-table-row .student-name {
    width: 150px;
    flex-shrink: 0;
    font-family: var(--font-family-content);
    font-size: 1rem;
    color: var(--color-text);
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding-right: 20px;
    border-right: 1px solid var(--color-text)
}

.status-table-row .status-cell {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    border-right: 1px solid var(--color-text);
    padding: 0 20px;
    min-width: 180px
}

.status-table-row .status-cell:last-child {
    border-right: none
}

.status-table-row .status-pill {
    width: 100%;
    padding: 11px 0;
    border-radius: 999px;
    text-align: center;
    font-family: var(--font-family-buttons);
    font-size: clamp(1rem, .9135rem + .3846vw, 1.25rem)
}

.status-table-row .status-pill.filled {
    background-color: var(--color-accent-1)
}

.status-table-row .status-pill.unfilled {
    background-color: var(--color-accent-2);
    color: #fff
}

.horizontal-status-bar-container {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap
}

.horizontal-status-bar-container .label {
    flex: 0;
    text-wrap: nowrap;
    min-width: 200px
}

.horizontal-status-bar-container a {
    height: 40px
}

.horizontal-status-bar-container .horizontal-status-bar {
    height: 40px;
    background-color: var(--color-bg);
    border: 1px solid var(--color-borders);
    border-radius: 999px;
    overflow: hidden;
    position: relative;
    display: flex;
    align-items: center;
    flex: 1;
    min-width: 300px
}

.status-bar-fill {
    height: 100%;
    background-color: var(--color-accent-1);
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    transition: width .3s ease;
    min-width: 0;
    border-right: 1px solid var(--color-borders)
}
.status-bar-fill-done {
    height: 100%;
    background-color: var(--color-accent-done);
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    transition: width .3s ease;
    min-width: 0;
    border-right: 1px solid var(--color-borders)
}


.status-bar-fill .status-bar-label {
    font-family: var(--font-family-headings);
    font-size: 14px;
    color: var(--color-text);
    white-space: nowrap;
    padding: 0 20px
}

.bar-container {
    flex: 1;
    min-width: 300px
}

.bar-container .status-label {
    margin: 0;
    padding-bottom: 20px;
    font-size: 14px
}

.horizontal-status-bar-container:first-child .label {
    margin-bottom: -40px
}

h3 + .horizontal-status-bar-container .label {
    margin-bottom: -40px
}

.nimistu-title {
    margin-bottom: 20px
}

.nimistu-row {
    display: flex;
    justify-content: space-between;
    padding: 10px 10px;
    padding: 10px clamp(.625rem, -0.3977rem + 4.5455vw, 2.5rem);
    border: 1px solid var(--color-borders);
    border-bottom: none;
    flex-wrap: wrap;
    gap: clamp(.625rem, .2841rem + 1.5152vw, 1.25rem)
}

.nimistu-row:last-child {
    border-bottom: 1px solid var(--color-borders)
}

.nimistu-row .nimistu-info, .nimistu-row .nimistu-buttons {
    display: flex;
    align-items: center;
    gap: clamp(.625rem, .2841rem + 1.5152vw, 1.25rem);
    flex-wrap: wrap
}

.nimistu-row .student-name {
    padding-left: clamp(.625rem, .2841rem + 1.5152vw, 1.25rem)
}

.nimistu-row p {
    min-width: clamp(.625rem, -0.3977rem + 4.5455vw, 2.5rem)
}

/*# sourceMappingURL=main.css.map */
