/* =========================================================
   MATHINITY DRIVE V2
   Design System v0.5
   Mniej ramek, więcej przestrzeni
   ========================================================= */

.mdv2-wrap{
    --mdv2-primary:#1ab69d;
    --mdv2-primary-dark:#128f7c;
    --mdv2-primary-deep:#0b6f61;
    --mdv2-primary-light:#5fd3c1;

    --mdv2-primary-soft:#e9f9f6;
    --mdv2-primary-soft-2:#f4fcfa;
    --mdv2-primary-soft-3:#f8fefd;

    --mdv2-ink:#142b3d;
    --mdv2-ink-soft:#334b5d;

    --mdv2-muted:#728394;
    --mdv2-muted-light:#9aa7b3;

    --mdv2-white:#ffffff;
    --mdv2-page:#fbfdfc;
    --mdv2-surface:#ffffff;

    --mdv2-border:#e2ece9;
    --mdv2-border-strong:#cadfda;

    --mdv2-success:#16845f;
    --mdv2-success-soft:#e9f8f1;

    --mdv2-warning:#9d6c17;
    --mdv2-warning-soft:#fff7e5;

    --mdv2-danger:#bd4040;
    --mdv2-danger-soft:#fff1f1;

    --mdv2-shadow-xs:
        0 3px 12px rgba(20,43,61,.035);

    --mdv2-shadow-sm:
        0 8px 24px rgba(20,43,61,.055);

    --mdv2-shadow:
        0 15px 42px rgba(20,43,61,.075);

    width:100%;
    max-width:1240px;
    margin:36px auto;

    color:var(--mdv2-ink);
    font-family:inherit;
    line-height:1.6;
}

.mdv2-wrap *,
.mdv2-wrap *::before,
.mdv2-wrap *::after{
    box-sizing:border-box;
}


/* =========================================================
   TYPOGRAFIA
   ========================================================= */

.mdv2-wrap h1,
.mdv2-wrap h2,
.mdv2-wrap h3,
.mdv2-wrap h4,
.mdv2-wrap h5{
    color:var(--mdv2-ink);
    font-family:inherit;
}

.mdv2-wrap p{
    color:var(--mdv2-muted);
}

.mdv2-eyebrow,
.mdv2-section-kicker,
.mdv2-subsection-title{
    display:block;

    color:var(--mdv2-primary);

    font-size:11px;
    line-height:1.3;
    font-weight:850;
    letter-spacing:.10em;
    text-transform:uppercase;
}


/* =========================================================
   GÓRNE HERO - ZOSTAJE KARTĄ
   ========================================================= */

.mdv2-dashboard-header,
.mdv2-head{
    position:relative;
    isolation:isolate;
    overflow:hidden;

    min-height:205px;

    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:32px;

    margin-bottom:24px;
    padding:38px 42px;

    border:1px solid var(--mdv2-border);
    border-radius:30px;

    background:
        radial-gradient(
            circle at 88% 18%,
            rgba(26,182,157,.13) 0,
            rgba(26,182,157,.13) 8%,
            transparent 8.5%
        ),
        linear-gradient(
            135deg,
            #ffffff 0%,
            #f7fcfb 48%,
            #edf9f6 100%
        );

    box-shadow:var(--mdv2-shadow);
}

.mdv2-dashboard-header::before,
.mdv2-head::before{
    content:"";

    position:absolute;
    z-index:-1;

    width:220px;
    height:220px;

    right:-96px;
    top:-94px;

    border:38px solid rgba(26,182,157,.105);
    border-radius:50%;
}

.mdv2-dashboard-header::after,
.mdv2-head::after{
    content:"";

    position:absolute;
    z-index:-1;

    width:105px;
    height:105px;

    right:110px;
    bottom:-63px;

    border-radius:30px;

    background:
        linear-gradient(
            135deg,
            rgba(26,182,157,.11),
            rgba(26,182,157,.035)
        );

    transform:rotate(29deg);
}

.mdv2-dashboard-header h2,
.mdv2-head h2{
    max-width:760px;

    margin:9px 0 13px;

    font-size:clamp(32px,4vw,50px);
    line-height:1.05;
    font-weight:850;
    letter-spacing:-.045em;
}

.mdv2-dashboard-header p,
.mdv2-head p{
    max-width:690px;
    margin:0;

    color:var(--mdv2-muted);

    font-size:15px;
    line-height:1.75;
}


/* =========================================================
   ALERTY
   ========================================================= */

.mdv2-alert{
    position:relative;

    margin:0 0 20px;
    padding:15px 18px 15px 48px;

    border-radius:17px;

    font-size:13px;
    font-weight:750;
}

.mdv2-alert::before{
    content:"";

    position:absolute;

    left:18px;
    top:50%;

    width:14px;
    height:14px;

    border-radius:50%;

    transform:translateY(-50%);
}

.mdv2-alert-ok{
    color:var(--mdv2-success);
    background:var(--mdv2-success-soft);
}

.mdv2-alert-ok::before{
    background:var(--mdv2-success);
}

.mdv2-alert-err{
    color:var(--mdv2-danger);
    background:var(--mdv2-danger-soft);
}

.mdv2-alert-err::before{
    background:var(--mdv2-danger);
}


/* =========================================================
   PRZYCISKI
   ========================================================= */

.mdv2-btn{
    position:relative;
    overflow:hidden;

    min-height:46px;

    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;

    padding:11px 21px;

    border:1px solid transparent;
    border-radius:999px;

    font:inherit;
    font-size:13px;
    line-height:1;
    font-weight:850;

    text-decoration:none !important;

    cursor:pointer;

    transition:
        transform .18s ease,
        box-shadow .18s ease,
        background-color .18s ease,
        border-color .18s ease,
        color .18s ease,
        opacity .18s ease;
}

.mdv2-btn:hover{
    transform:translateY(-2px);
}

.mdv2-btn:active{
    transform:translateY(0);
}

.mdv2-btn:focus-visible{
    outline:none;

    box-shadow:
        0 0 0 4px rgba(26,182,157,.18);
}

.mdv2-btn:disabled{
    opacity:.55;
    cursor:not-allowed;
    transform:none;
}

.mdv2-btn-primary{
    color:#fff !important;

    background:
        linear-gradient(
            135deg,
            var(--mdv2-primary),
            var(--mdv2-primary-dark)
        );

    box-shadow:
        0 10px 24px rgba(26,182,157,.23);
}

.mdv2-btn-primary:hover{
    color:#fff !important;

    box-shadow:
        0 15px 31px rgba(26,182,157,.29);
}

.mdv2-btn-light{
    color:var(--mdv2-ink) !important;
    background:#fff;
    border-color:var(--mdv2-border-strong);
}

.mdv2-btn-light:hover{
    color:var(--mdv2-primary-deep) !important;
    background:var(--mdv2-primary-soft-2);
}

.mdv2-btn-danger-ghost{
    color:var(--mdv2-danger) !important;
    background:transparent;
    border-color:#efcccc;
}

.mdv2-btn-danger-ghost:hover{
    background:var(--mdv2-danger-soft);
}

.mdv2-btn-wide{
    width:100%;
}


/* =========================================================
   GÓRNE STATYSTYKI - ZOSTAJĄ KARTAMI
   ========================================================= */

.mdv2-stats-grid,
.mdv2-student-stats{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));

    gap:14px;

    margin-bottom:28px;
}

.mdv2-stat-card,
.mdv2-student-stat{
    position:relative;
    overflow:hidden;

    min-height:122px;

    padding:20px 21px;

    display:flex;
    flex-direction:column;
    justify-content:space-between;

    border:1px solid var(--mdv2-border);
    border-radius:23px;

    background:
        linear-gradient(
            145deg,
            #ffffff,
            #fbfefd
        );

    box-shadow:var(--mdv2-shadow-xs);

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.mdv2-stat-card::after,
.mdv2-student-stat::after{
    content:"";

    position:absolute;

    width:84px;
    height:84px;

    right:-35px;
    bottom:-39px;

    border-radius:50%;

    background:rgba(26,182,157,.07);
}

.mdv2-stat-card:hover,
.mdv2-student-stat:hover{
    transform:translateY(-4px);
    box-shadow:var(--mdv2-shadow-sm);
}

.mdv2-stat-label,
.mdv2-student-stat span{
    position:relative;
    z-index:1;

    color:var(--mdv2-muted);

    font-size:12px;
    font-weight:750;
}

.mdv2-stat-card strong,
.mdv2-student-stat strong{
    position:relative;
    z-index:1;

    color:var(--mdv2-ink);

    font-size:33px;
    line-height:1;
    font-weight:850;
    letter-spacing:-.045em;
}


/* =========================================================
   TOOLBAR
   ========================================================= */

.mdv2-toolbar{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:18px;

    margin:0 0 12px;
    padding:12px 0 18px;

    border-bottom:1px solid var(--mdv2-border);

    background:transparent;
}

.mdv2-search-wrap{
    width:min(490px,100%);

    display:grid;
    gap:7px;
}

.mdv2-search-wrap label{
    color:var(--mdv2-ink-soft);

    font-size:11px;
    font-weight:850;
}

.mdv2-search-wrap input{
    width:100%;
    height:49px;

    padding:0 16px;

    color:var(--mdv2-ink);

    border:1px solid var(--mdv2-border);
    border-radius:15px;

    background:#fff;

    font:inherit;

    outline:none;
}

.mdv2-search-wrap input:focus{
    border-color:var(--mdv2-primary);

    box-shadow:
        0 0 0 4px rgba(26,182,157,.11);
}

.mdv2-toolbar-actions{
    display:flex;
    gap:9px;
    flex-wrap:wrap;
}


/* =========================================================
   FOLDERY UCZNIÓW
   MNIEJ KARCIANE
   ========================================================= */

.mdv2-student-folders{
    display:grid;
}

.mdv2-student-folder{
    position:relative;

    border-bottom:1px solid var(--mdv2-border);

    background:transparent;
}

.mdv2-student-folder:first-child{
    border-top:1px solid var(--mdv2-border);
}

.mdv2-student-folder.is-open{
    background:
        linear-gradient(
            180deg,
            var(--mdv2-primary-soft-3),
            #fff
        );
}

.mdv2-folder-toggle{
    width:100%;
    min-height:92px;

    padding:18px 6px;

    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;

    color:inherit;
    text-align:left;

    border:0;

    background:transparent;

    cursor:pointer;

    transition:
        padding .18s ease,
        background-color .18s ease;
}

.mdv2-folder-toggle:hover{
    padding-left:10px;
    padding-right:10px;

    background:var(--mdv2-primary-soft-3);
}

.mdv2-folder-person{
    min-width:0;

    display:flex;
    align-items:center;
    gap:14px;
}

.mdv2-avatar{
    width:52px;
    height:52px;
    flex:0 0 52px;

    display:grid;
    place-items:center;

    border-radius:18px;

    color:#fff;

    background:
        linear-gradient(
            145deg,
            var(--mdv2-primary-light),
            var(--mdv2-primary-dark)
        );

    box-shadow:
        0 10px 22px rgba(26,182,157,.18);

    font-size:18px;
    font-weight:850;
}

.mdv2-folder-person-text{
    min-width:0;

    display:grid;
    gap:3px;
}

.mdv2-folder-person-text strong{
    overflow:hidden;

    color:var(--mdv2-ink);

    font-size:16px;
    font-weight:850;

    text-overflow:ellipsis;
    white-space:nowrap;
}

.mdv2-folder-person-text small{
    overflow:hidden;

    color:var(--mdv2-muted);

    font-size:12px;

    text-overflow:ellipsis;
    white-space:nowrap;
}

.mdv2-folder-meta{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:12px;
}

.mdv2-folder-file-count{
    color:var(--mdv2-muted);

    font-size:11px;

    white-space:nowrap;
}

.mdv2-balance-pill{
    padding:8px 13px;

    border-radius:999px;

    font-size:11px;
    font-weight:850;

    white-space:nowrap;
}

.mdv2-balance-positive{
    color:var(--mdv2-success);
    background:var(--mdv2-success-soft);
}

.mdv2-balance-low{
    color:var(--mdv2-warning);
    background:var(--mdv2-warning-soft);
}

.mdv2-balance-negative{
    color:var(--mdv2-danger);
    background:var(--mdv2-danger-soft);
}

.mdv2-chevron{
    width:10px;
    height:10px;
    flex:0 0 10px;

    border-right:2px solid #718096;
    border-bottom:2px solid #718096;

    transform:rotate(45deg);

    transition:
        transform .2s ease,
        border-color .2s ease;
}

.mdv2-student-folder.is-open
.mdv2-folder-toggle
.mdv2-chevron{
    transform:rotate(225deg);
}

.mdv2-folder-content{
    padding:2px 6px 30px;

    background:transparent;
}

.mdv2-folder-columns{
    display:grid;

    grid-template-columns:
        minmax(290px,.8fr)
        minmax(430px,1.5fr);

    gap:34px;

    padding-top:18px;
}


/* =========================================================
   PANEL UPLOAD + LEKCJE
   BEZ KARTY W KARCIE
   ========================================================= */

.mdv2-upload-panel,
.mdv2-lessons-panel{
    min-width:0;

    padding:0;

    border:0;
    border-radius:0;

    background:transparent;
    box-shadow:none;
}

.mdv2-lessons-panel{
    padding-left:30px;

    border-left:1px solid var(--mdv2-border);
}

.mdv2-section-heading{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:14px;

    margin-bottom:18px;
}

.mdv2-section-heading h3{
    margin:4px 0 0;

    font-size:22px;
    line-height:1.22;
    font-weight:850;
    letter-spacing:-.025em;
}

.mdv2-count-badge{
    min-width:35px;
    height:35px;

    padding:0 10px;

    display:grid;
    place-items:center;

    border-radius:999px;

    color:var(--mdv2-primary-deep);

    background:var(--mdv2-primary-soft);

    font-size:12px;
    font-weight:850;
}


/* =========================================================
   UPLOAD NOTATKI
   ========================================================= */

.mdv2-upload-box{
    display:grid;
    gap:13px;
}

.mdv2-drop{
    position:relative;

    min-height:184px;

    padding:25px;

    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:5px;

    text-align:center;

    border:2px dashed #b5dcd4;
    border-radius:20px;

    background:
        linear-gradient(
            145deg,
            #f4fbfa,
            #ffffff
        );

    cursor:pointer;

    transition:
        transform .18s ease,
        border-color .18s ease,
        background-color .18s ease;
}

.mdv2-drop::before{
    content:"+";

    width:48px;
    height:48px;

    margin-bottom:8px;

    display:grid;
    place-items:center;

    border-radius:50%;

    color:#fff;

    background:
        linear-gradient(
            145deg,
            var(--mdv2-primary-light),
            var(--mdv2-primary-dark)
        );

    font-size:29px;
    line-height:1;
}

.mdv2-drop:hover,
.mdv2-drop.is-dragging{
    border-color:var(--mdv2-primary);
    background:var(--mdv2-primary-soft-2);
}

.mdv2-drop input{
    position:absolute;

    width:1px;
    height:1px;

    opacity:0;
    pointer-events:none;
}

.mdv2-drop-title{
    color:var(--mdv2-ink);

    font-size:15px;
    font-weight:850;
}

.mdv2-drop-subtitle{
    color:var(--mdv2-muted);

    font-size:12px;
}

.mdv2-file-choice{
    max-width:100%;

    margin-top:9px;
    padding:7px 12px;

    overflow:hidden;

    border-radius:999px;

    color:var(--mdv2-muted);

    background:#fff;

    font-size:11px;

    text-overflow:ellipsis;
    white-space:nowrap;
}

.mdv2-file-choice.has-file{
    color:var(--mdv2-primary-deep);
    background:var(--mdv2-primary-soft);
    font-weight:850;
}

.mdv2-format-hint{
    padding:11px 0;

    display:grid;
    gap:3px;

    color:var(--mdv2-muted);

    font-size:11px;
}

.mdv2-format-hint strong{
    color:var(--mdv2-ink-soft);
}

.mdv2-check{
    display:flex;
    align-items:flex-start;
    gap:10px;
}

.mdv2-check input{
    margin-top:4px;
    accent-color:var(--mdv2-primary);
}

.mdv2-check-card{
    padding:13px 0;

    border:0;
    border-top:1px solid var(--mdv2-border);
    border-bottom:1px solid var(--mdv2-border);

    background:transparent;

    cursor:pointer;
}

.mdv2-check-card span{
    display:grid;
    gap:2px;
}

.mdv2-check-card strong{
    color:var(--mdv2-ink);

    font-size:13px;
}

.mdv2-check-card small{
    color:var(--mdv2-muted);

    font-size:11px;
    line-height:1.45;
}


/* =========================================================
   LISTA LEKCJI
   WIERSZE ZAMIAST KART
   ========================================================= */

.mdv2-lesson-list,
.mdv2-student-lessons-list{
    display:grid;
}

.mdv2-lesson-item,
.mdv2-student-lesson{
    position:relative;

    border:0;
    border-bottom:1px solid var(--mdv2-border);

    border-radius:0;

    background:transparent;

    box-shadow:none;
}

.mdv2-lesson-item:first-child,
.mdv2-student-lesson:first-child{
    border-top:1px solid var(--mdv2-border);
}

.mdv2-lesson-item[open],
.mdv2-student-lesson[open]{
    background:
        linear-gradient(
            90deg,
            var(--mdv2-primary-soft-3),
            transparent
        );

    box-shadow:none;
}

.mdv2-lesson-summary,
.mdv2-student-lesson-summary{
    min-height:78px;

    padding:15px 4px;

    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:15px;

    list-style:none;

    cursor:pointer;
    user-select:none;

    transition:
        padding .18s ease,
        background-color .18s ease;
}

.mdv2-lesson-summary:hover,
.mdv2-student-lesson-summary:hover{
    padding-left:9px;
    padding-right:9px;

    background:var(--mdv2-primary-soft-3);
}

.mdv2-lesson-summary::-webkit-details-marker,
.mdv2-student-lesson-summary::-webkit-details-marker{
    display:none;
}

.mdv2-lesson-date,
.mdv2-student-lesson-left{
    min-width:0;

    display:flex;
    align-items:center;
    gap:12px;
}

.mdv2-pdf-mark{
    width:43px;
    height:43px;
    flex:0 0 43px;

    display:grid;
    place-items:center;

    border-radius:14px;

    color:var(--mdv2-primary-deep);

    background:var(--mdv2-primary-soft);

    font-size:10px;
    font-weight:900;
}

.mdv2-lesson-date strong,
.mdv2-student-lesson-title strong{
    color:var(--mdv2-ink);

    font-size:14px;
    font-weight:850;
}

.mdv2-lesson-time,
.mdv2-student-lesson-title small{
    color:var(--mdv2-muted);

    font-size:12px;
}

.mdv2-lesson-summary-right,
.mdv2-student-lesson-right{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
}

.mdv2-hours-small{
    color:var(--mdv2-muted);

    font-size:11px;
    font-weight:750;

    white-space:nowrap;
}

.mdv2-status{
    padding:6px 10px;

    border-radius:999px;

    font-size:10px;
    font-weight:850;

    white-space:nowrap;
}

.mdv2-status-none{
    color:#728394;
    background:#f1f5f4;
}

.mdv2-status-waiting{
    color:var(--mdv2-warning);
    background:var(--mdv2-warning-soft);
}

.mdv2-status-done{
    color:var(--mdv2-success);
    background:var(--mdv2-success-soft);
}


/* =========================================================
   ROZWINIĘTA LEKCJA
   BEZ KART WEWNĄTRZ
   ========================================================= */

.mdv2-lesson-details,
.mdv2-student-lesson-content{
    padding:12px 4px 26px;

    background:transparent;

    border-top:0;
}

.mdv2-lesson-details-grid{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:18px;
}

.mdv2-lesson-homework{
    margin-top:20px;
    padding-top:20px;

    border-top:1px solid var(--mdv2-border);
}

.mdv2-homework-empty{
    padding:12px 0;

    color:var(--mdv2-warning);
    background:transparent;

    font-size:12px;
}


/* =========================================================
   PANEL UCZNIA - GÓRA ZOSTAJE W RAMKACH
   ========================================================= */

.mdv2-student-dashboard{
    max-width:1120px;
}

.mdv2-student-dashboard-header{
    display:grid;

    grid-template-columns:
        minmax(0,1.55fr)
        minmax(290px,.75fr);

    gap:18px;

    margin-bottom:20px;
}

.mdv2-student-dashboard-header > div:first-child{
    position:relative;
    isolation:isolate;
    overflow:hidden;

    min-height:220px;

    padding:37px 39px;

    display:flex;
    flex-direction:column;
    justify-content:center;

    border:1px solid var(--mdv2-border);
    border-radius:30px;

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

    box-shadow:var(--mdv2-shadow);
}

.mdv2-student-dashboard-header h2{
    max-width:700px;

    margin:8px 0 11px;

    font-size:clamp(32px,4vw,47px);
    line-height:1.06;
    font-weight:850;
    letter-spacing:-.045em;
}

.mdv2-student-dashboard-header p{
    max-width:600px;

    margin:0;

    color:var(--mdv2-muted);

    font-size:15px;
    line-height:1.75;
}


/* =========================================================
   OPŁACONE GODZINY - ZOSTAJE KARTĄ
   ========================================================= */

.mdv2-student-main-balance{
    position:relative;
    overflow:hidden;

    min-width:0;

    padding:28px;

    display:flex;
    flex-direction:column;
    justify-content:center;

    border-radius:30px;

    box-shadow:var(--mdv2-shadow);
}

.mdv2-student-main-balance span{
    margin-bottom:10px;

    font-size:10px;
    line-height:1.45;
    font-weight:850;
    letter-spacing:.085em;
    text-transform:uppercase;
}

.mdv2-student-main-balance strong{
    margin-bottom:11px;

    font-size:48px;
    line-height:1;
    font-weight:850;
    letter-spacing:-.055em;
}

.mdv2-student-main-balance small{
    display:block;

    margin-top:5px;

    font-size:11px;
    line-height:1.55;
}

.mdv2-student-main-balance-positive{
    color:#fff;

    background:
        linear-gradient(
            145deg,
            var(--mdv2-primary-light) 0%,
            var(--mdv2-primary) 38%,
            var(--mdv2-primary-dark) 100%
        );
}

.mdv2-student-main-balance-positive span,
.mdv2-student-main-balance-positive small,
.mdv2-student-main-balance-positive strong{
    color:#fff;
}

.mdv2-student-main-balance-low{
    color:#765112;

    background:
        linear-gradient(
            145deg,
            #fffaf0,
            #fff1c7
        );
}

.mdv2-student-main-balance-negative{
    color:var(--mdv2-danger);

    background:
        linear-gradient(
            145deg,
            #fff8f8,
            #ffe7e7
        );
}


/* =========================================================
   HISTORIA ZAJĘĆ
   BEZ ZEWNĘTRZNEJ KARTY
   ========================================================= */

.mdv2-student-lessons-section{
    padding:16px 0 0;

    border:0;
    border-radius:0;

    background:transparent;

    box-shadow:none;
}

.mdv2-student-lessons-heading{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;

    margin-bottom:18px;
    padding-bottom:17px;

    border-bottom:1px solid var(--mdv2-border);
}

.mdv2-student-lessons-heading h3{
    margin:4px 0 5px;

    font-size:28px;
    font-weight:850;
    letter-spacing:-.03em;
}

.mdv2-student-lessons-heading p{
    margin:0;

    color:var(--mdv2-muted);

    font-size:12px;
}


/* =========================================================
   NOTATKA I ZADANIE DOMOWE
   BEZ DODATKOWYCH PUDEŁEK
   ========================================================= */

.mdv2-student-note-section,
.mdv2-student-homework-section{
    padding:18px 0;

    border:0;
    border-radius:0;

    background:transparent;

    box-shadow:none;
}

.mdv2-student-homework-section{
    margin-top:6px;
    padding-top:22px;

    border-top:1px solid var(--mdv2-border);
}

.mdv2-student-section-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:15px;
}

.mdv2-student-section-header h3{
    margin:4px 0 0;

    font-size:20px;
    font-weight:850;
    letter-spacing:-.025em;
}

.mdv2-student-lesson-information{
    display:flex;
    gap:22px;
    flex-wrap:wrap;

    margin-top:15px;
}

.mdv2-student-lesson-information span{
    color:var(--mdv2-muted);

    font-size:11px;
}

.mdv2-student-lesson-information strong{
    margin-left:4px;

    color:var(--mdv2-ink-soft);
}

.mdv2-student-homework-empty{
    margin-top:15px;
    padding:14px 0;

    border:0;
    border-top:1px dashed #dac991;
    border-bottom:1px dashed #dac991;

    border-radius:0;

    background:transparent;
}

.mdv2-student-homework-empty strong{
    display:block;

    color:#735217;

    font-size:13px;
}

.mdv2-student-homework-empty p{
    margin:4px 0 0;

    color:#876d39;

    font-size:12px;
}


/* =========================================================
   PLIKI ZADANIA
   PROSTA LISTA
   ========================================================= */

.mdv2-homework-submissions,
.mdv2-file-links,
.mdv2-student-homework-files{
    display:grid;
}

.mdv2-attachment-link,
.mdv2-student-homework-file{
    min-width:0;

    padding:11px 0;

    border:0;
    border-bottom:1px solid var(--mdv2-border);

    border-radius:0;

    background:transparent;

    box-shadow:none;
}

.mdv2-attachment-link{
    display:flex;
    align-items:center;
    gap:10px;

    color:var(--mdv2-ink-soft) !important;

    font-size:12px;
    text-decoration:none !important;
}

.mdv2-student-homework-file{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:11px;
}

.mdv2-student-file-link{
    min-width:0;
    flex:1;

    display:flex;
    align-items:center;
    gap:10px;

    color:var(--mdv2-ink-soft) !important;

    text-decoration:none !important;
}

.mdv2-student-file-link:hover,
.mdv2-attachment-link:hover{
    color:var(--mdv2-primary-deep) !important;
}

.mdv2-attachment-type{
    padding:5px 7px;

    border-radius:8px;

    color:var(--mdv2-primary-deep);

    background:var(--mdv2-primary-soft);

    font-size:8px;
    font-weight:900;
}

.mdv2-student-file-name{
    overflow:hidden;

    font-size:12px;
    font-weight:750;

    text-overflow:ellipsis;
    white-space:nowrap;
}

.mdv2-file-delete-button{
    min-height:34px;

    padding:6px 11px;

    color:var(--mdv2-danger);

    border:1px solid #efcccc;
    border-radius:999px;

    background:transparent;

    font:inherit;
    font-size:10px;
    font-weight:850;

    cursor:pointer;
}

.mdv2-file-delete-button:hover{
    background:var(--mdv2-danger-soft);
}


/* =========================================================
   UPLOAD ZADANIA
   ========================================================= */

.mdv2-student-homework-upload{
    display:flex;
    align-items:flex-end;
    gap:11px;
    flex-wrap:wrap;

    margin-top:18px;
    padding-top:18px;

    border-top:1px solid var(--mdv2-border);
}

.mdv2-student-upload-box{
    flex:1;
    min-width:240px;

    padding:14px;

    display:grid;
    gap:4px;

    border:1.5px dashed #c8b982;
    border-radius:15px;

    background:transparent;

    cursor:pointer;
}

.mdv2-student-upload-box:hover{
    border-color:var(--mdv2-primary);
    background:var(--mdv2-primary-soft-3);
}

.mdv2-student-upload-title{
    color:var(--mdv2-ink);

    font-size:12px;
    font-weight:850;
}

.mdv2-student-upload-subtitle{
    color:var(--mdv2-muted);

    font-size:10px;
}

.mdv2-student-upload-box input{
    max-width:100%;

    margin-top:8px;

    font-size:11px;
}

.mdv2-limit-message{
    margin-top:15px;
    padding:12px 0;

    color:var(--mdv2-muted);

    font-size:11px;
}


/* =========================================================
   PUSTE STANY
   ========================================================= */

.mdv2-empty{
    padding:30px 0;

    color:var(--mdv2-muted);
    text-align:center;

    border:0;

    background:transparent;
}

.mdv2-empty-small{
    padding:23px 0;

    font-size:13px;
}

.mdv2-muted{
    color:var(--mdv2-muted);

    font-size:12px;
}

.mdv2-actions-inline{
    display:flex;
    align-items:center;
    gap:9px;
    flex-wrap:wrap;
}


/* =========================================================
   PŁATNOŚCI
   ========================================================= */

.mdv2-balance-box{
    position:relative;
    overflow:hidden;

    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;

    margin:18px 0;
    padding:23px;

    border:1px solid var(--mdv2-border);
    border-radius:25px;

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

    box-shadow:var(--mdv2-shadow);
}

.mdv2-balance-box h3{
    margin:5px 0;

    font-size:35px;
    font-weight:850;
}

.mdv2-balance-box p{
    margin:0;
}

.mdv2-balance-suggest{
    padding:15px 17px;

    border-radius:17px;

    color:var(--mdv2-ink-soft);

    background:var(--mdv2-primary-soft);
}

.mdv2-payment-card,
.mdv2-admin-picker{
    margin:16px 0;
    padding:23px;

    border:1px solid var(--mdv2-border);
    border-radius:25px;

    background:#fff;

    box-shadow:var(--mdv2-shadow);
}

.mdv2-payment-form{
    max-width:500px;

    display:grid;
    gap:15px;
}

.mdv2-payment-form label,
.mdv2-admin-picker label,
.mdv2-custom-hours-row{
    display:grid;
    gap:8px;

    color:var(--mdv2-ink-soft);

    font-size:13px;
    font-weight:850;
}

.mdv2-payment-form select,
.mdv2-payment-form input,
.mdv2-admin-picker select,
.mdv2-custom-hours-row input{
    min-height:50px;

    padding:11px 14px;

    color:var(--mdv2-ink);

    border:1px solid var(--mdv2-border);
    border-radius:15px;

    background:#fff;

    font:inherit;

    outline:none;
}

.mdv2-payment-form select:focus,
.mdv2-payment-form input:focus,
.mdv2-admin-picker select:focus,
.mdv2-custom-hours-row input:focus{
    border-color:var(--mdv2-primary);

    box-shadow:
        0 0 0 4px rgba(26,182,157,.11);
}

.mdv2-admin-picker form{
    display:flex;
    align-items:flex-end;
    gap:11px;
    flex-wrap:wrap;
}

.mdv2-price-note{
    padding:14px 15px;

    border-radius:15px;

    color:var(--mdv2-primary-deep);

    background:var(--mdv2-primary-soft);

    font-weight:850;
}


/* =========================================================
   ADMIN
   ========================================================= */

.mdv2-admin-section{
    margin:18px 0 34px;
    padding:0;

    border:0;
    border-radius:0;

    background:transparent;

    box-shadow:none;
}

.mdv2-admin-section h3{
    margin:0 0 17px;

    font-size:24px;
    font-weight:850;
    letter-spacing:-.03em;
}

.mdv2-table-wrap{
    overflow:auto;

    border-top:1px solid var(--mdv2-border);
    border-bottom:1px solid var(--mdv2-border);

    background:#fff;
}

.mdv2-table{
    width:100%;
    min-width:850px;

    border-collapse:collapse;
}

.mdv2-table th,
.mdv2-table td{
    padding:14px;

    border-bottom:1px solid var(--mdv2-border);

    text-align:left;

    font-size:13px;
}

.mdv2-table th{
    color:var(--mdv2-primary-deep);

    background:#f5fbf9;

    font-size:10px;
    font-weight:850;
    letter-spacing:.06em;
    text-transform:uppercase;
}

.mdv2-table tbody tr:hover{
    background:var(--mdv2-primary-soft-3);
}


/* =========================================================
   LOGIN - ZOSTAJE KARTĄ
   ========================================================= */

.mdv2-login-wrap{
    max-width:620px;
}

.mdv2-login-card{
    padding:30px;

    display:grid;
    gap:16px;

    border:1px solid var(--mdv2-border);
    border-radius:30px;

    background:
        linear-gradient(
            145deg,
            #ffffff,
            #f4fbf9
        );

    box-shadow:var(--mdv2-shadow);
}

.mdv2-login-card label{
    display:grid;
    gap:8px;

    color:var(--mdv2-ink-soft);

    font-size:13px;
    font-weight:850;
}

.mdv2-login-card input[type="text"],
.mdv2-login-card input[type="email"],
.mdv2-login-card input[type="password"]{
    width:100%;
    min-height:51px;

    padding:11px 15px;

    color:var(--mdv2-ink);

    border:1px solid var(--mdv2-border);
    border-radius:15px;

    background:#fff;

    font:inherit;

    outline:none;
}

.mdv2-login-card input:focus{
    border-color:var(--mdv2-primary);

    box-shadow:
        0 0 0 4px rgba(26,182,157,.11);
}


/* =========================================================
   KOMPATYBILNOŚĆ
   ========================================================= */

.mdv2-student-grid{
    display:grid;
    gap:18px;
}

.mdv2-folder-card{
    padding:21px;

    border:1px solid var(--mdv2-border);
    border-radius:25px;

    background:#fff;

    box-shadow:var(--mdv2-shadow);
}

.mdv2-folder-top{
    display:flex;
    align-items:center;
    gap:14px;

    margin-bottom:16px;
}

.mdv2-folder-top h3{
    margin:0;

    font-size:19px;
}

.mdv2-folder-top p{
    margin:3px 0 0;

    font-size:12px;
}

.mdv2-mini-file{
    padding:13px 0;

    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;

    border-bottom:1px solid var(--mdv2-border);

    background:transparent;
}

.mdv2-mini-title{
    font-size:13px;
    font-weight:850;
}


/* =========================================================
   RESPONSYWNOŚĆ
   ========================================================= */

@media (max-width:1050px){

    .mdv2-folder-columns{
        grid-template-columns:1fr;
    }

    .mdv2-lessons-panel{
        padding-left:0;
        padding-top:28px;

        border-left:0;
        border-top:1px solid var(--mdv2-border);
    }

    .mdv2-student-dashboard-header{
        grid-template-columns:1fr;
    }

}


@media (max-width:900px){

    .mdv2-stats-grid,
    .mdv2-student-stats{
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

}


@media (max-width:720px){

    .mdv2-wrap{
        margin:20px auto;
    }

    .mdv2-dashboard-header,
    .mdv2-head{
        min-height:0;

        padding:27px 23px;

        border-radius:24px;
    }

    .mdv2-dashboard-header h2,
    .mdv2-head h2{
        font-size:34px;
    }

    .mdv2-toolbar{
        display:grid;
    }

    .mdv2-search-wrap{
        width:100%;
    }

    .mdv2-toolbar-actions{
        display:grid;
        grid-template-columns:1fr 1fr;
    }

    .mdv2-folder-toggle{
        align-items:flex-start;
    }

    .mdv2-folder-meta{
        display:grid;
        justify-items:end;
        gap:7px;
    }

    .mdv2-folder-file-count{
        display:none;
    }

    .mdv2-lesson-summary,
    .mdv2-student-lesson-summary{
        align-items:flex-start;
    }

    .mdv2-lesson-summary-right,
    .mdv2-student-lesson-right{
        flex-wrap:wrap;
    }

    .mdv2-lesson-details-grid{
        display:grid;
    }

    .mdv2-balance-box{
        display:grid;
    }

    .mdv2-student-dashboard-header > div:first-child{
        min-height:195px;

        padding:28px 24px;

        border-radius:24px;
    }

    .mdv2-student-dashboard-header h2{
        font-size:34px;
    }

    .mdv2-student-main-balance{
        min-height:0;

        padding:25px;

        border-radius:24px;
    }

}


@media (max-width:500px){

    .mdv2-stats-grid,
    .mdv2-student-stats{
        grid-template-columns:
            repeat(2,minmax(0,1fr));

        gap:8px;
    }

    .mdv2-stat-card,
    .mdv2-student-stat{
        min-height:98px;

        padding:14px;
    }

    .mdv2-stat-card strong,
    .mdv2-student-stat strong{
        font-size:25px;
    }

    .mdv2-toolbar-actions{
        grid-template-columns:1fr;
    }

    .mdv2-folder-toggle{
        padding:14px 2px;
    }

    .mdv2-avatar{
        width:44px;
        height:44px;
        flex-basis:44px;

        border-radius:15px;
    }

    .mdv2-folder-meta{
        min-width:96px;
    }

    .mdv2-balance-pill{
        font-size:10px;
    }

    .mdv2-status{
        display:none;
    }

    .mdv2-student-dashboard-header h2{
        font-size:30px;
    }

    .mdv2-student-main-balance strong{
        font-size:41px;
    }

}