:root{--bg:#f5f6f8;--card:#fff;--text:#1f2430;--muted:#707785;--line:#e4e7ec;--accent:#202736;--soft:#eef1f5;--danger:#9d2d2d}*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:"Segoe UI",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;color:var(--text);background:var(--bg)}a{color:inherit}.topbar{height:64px;padding:0 24px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10}.topbar nav{display:flex;align-items:center;gap:18px}.topbar a{text-decoration:none}.home{max-width:1000px;margin:0 auto;padding:40px 22px 70px}.hero h1{font-size:38px;margin:0 0 8px}.hero p,.muted{color:var(--muted)}.subject-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;margin-top:20px}.subject-card h2{margin-top:0}.lesson-list{display:grid;gap:8px}.lesson-row{display:flex;justify-content:space-between;gap:20px;padding:14px 16px;border-radius:12px;text-decoration:none;background:var(--soft)}.auth-body{min-height:100vh;display:grid;place-items:center;padding:20px}.auth-card{width:min(430px,100%);background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px}.stack,.admin-form{display:grid;gap:16px}label{display:grid;gap:7px;font-weight:600}input,textarea,select{width:100%;padding:11px 12px;border:1px solid #cfd4dc;border-radius:10px;background:#fff;font:inherit}textarea{resize:vertical}button,.button-link{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:10px;padding:11px 16px;background:var(--accent);color:#fff;font:inherit;font-weight:700;cursor:pointer;text-decoration:none}button:disabled{opacity:.55;cursor:wait}.alert,.notice{padding:12px 14px;border-radius:10px;margin:14px 0;background:#fff0f0;border:1px solid #f0c9c9}.notice{background:#eef7ef;border-color:#cae6cf}.split{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);height:calc(100vh - 64px)}.lesson-pane{overflow:auto;padding:38px clamp(24px,4vw,60px) 70px;background:#fff}.lesson-pane h1{font-size:34px;margin:8px 0 14px}.lesson-meta{color:var(--muted);font-weight:700}.lead{font-size:19px;line-height:1.6;color:#3b4350}.lesson-content{font-size:17px;line-height:1.7}.lesson-content img{max-width:100%;height:auto;border-radius:14px}.homework{margin-top:36px;padding-top:24px;border-top:1px solid var(--line)}.bot-pane{display:flex;flex-direction:column;border-left:1px solid var(--line);background:#fafbfc;min-width:0}.bot-head{min-height:58px;padding:11px 16px;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px}.bot-head>div{display:flex;flex-direction:column;gap:2px}.bot-head span{color:var(--muted);font-size:12px;max-width:380px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.native-chat{height:100%;min-height:0}.chat-clear{background:transparent;color:var(--muted);border:1px solid var(--line);padding:7px 10px;font-size:12px;font-weight:600}.chat-messages{flex:1;min-height:0;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:12px}.chat-empty{margin:auto;max-width:360px;text-align:center;color:var(--muted);padding:30px}.chat-empty strong{color:var(--text)}.chat-message{display:flex;width:100%}.chat-message.user{justify-content:flex-end}.chat-message.assistant{justify-content:flex-start}.bubble{max-width:88%;padding:11px 14px;border-radius:16px;line-height:1.55;font-size:15px;word-wrap:break-word;overflow-wrap:anywhere}.chat-message.user .bubble{background:var(--accent);color:#fff;border-bottom-right-radius:5px}.chat-message.assistant .bubble{background:#fff;border:1px solid var(--line);border-bottom-left-radius:5px}.chat-photo{display:block;max-width:100%;max-height:330px;object-fit:contain;border-radius:10px;margin-bottom:9px;background:#fff}.message-text mjx-container{overflow-x:auto;overflow-y:hidden;max-width:100%}.attachment-preview{margin:0 14px 10px;padding:9px 10px;border:1px solid var(--line);border-radius:12px;background:#fff;display:grid;grid-template-columns:58px 1fr auto;gap:10px;align-items:center}.attachment-preview[hidden]{display:none}.attachment-preview img{width:58px;height:58px;object-fit:cover;border-radius:8px}.attachment-preview div{display:flex;flex-direction:column;gap:3px}.attachment-preview span{font-size:12px;color:var(--muted)}.remove-attachment{width:30px;height:30px;padding:0;border-radius:50%;background:var(--soft);color:var(--text);font-size:20px;font-weight:400}.chat-compose{padding:14px;border-top:1px solid var(--line);background:#fff;display:grid;grid-template-columns:auto auto auto minmax(0,1fr) auto;gap:9px;align-items:stretch}.chat-compose>button{min-height:48px}.photo-btn,.explain-task-btn{background:#fff;color:var(--text);border:1px solid var(--line);white-space:nowrap}.check-solution-btn{background:#eef1f5;color:var(--text);border:1px solid var(--line);white-space:nowrap}.chat-input-shell{position:relative;grid-column:1/5;grid-row:2;width:100%;height:76px;min-height:64px;max-height:360px}.chat-input-shell textarea{display:block;width:100%;height:100%;min-height:0;max-height:none;resize:none;overflow-y:auto;padding:16px 64px 14px 16px}.resize-handle{position:absolute;top:8px;right:9px;z-index:3;width:44px;height:44px!important;padding:0!important;border:0!important;border-radius:10px!important;background:rgba(245,246,248,.96)!important;color:#606874!important;box-shadow:0 0 0 1px rgba(31,36,48,.08)!important;display:flex;align-items:center;justify-content:center;cursor:ns-resize;user-select:none;touch-action:none}.resize-handle:hover{background:#e9edf2!important;color:#252d38!important}.resize-icon{font-size:22px;line-height:1;font-weight:700;transform:translateY(-1px)}.is-resizing-chat,.is-resizing-chat *{cursor:ns-resize!important;user-select:none!important}.chat-compose #sendBtn{grid-column:5;grid-row:2;min-height:64px;height:100%}.admin-shell{display:grid;grid-template-columns:220px 1fr;min-height:calc(100vh - 64px)}.admin-nav{padding:22px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:8px}.admin-nav a{padding:10px 12px;border-radius:9px;text-decoration:none}.admin-nav a:hover{background:var(--soft)}.admin-main{padding:34px;max-width:1200px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0}.stats div{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px}.stats strong{font-size:34px;display:block}.stats span{color:var(--muted)}.heading-row{display:flex;justify-content:space-between;align-items:center;gap:15px}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:14px}table{width:100%;border-collapse:collapse}th,td{padding:13px 14px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}th{background:#fafbfc}.inline-form{grid-template-columns:repeat(4,1fr) auto;align-items:end;margin:18px 0 24px}.ghost{background:transparent;color:var(--text);border:1px solid var(--line)}.danger{margin-top:22px;background:var(--danger)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid .wide{grid-column:1/-1}.checkbox{display:flex;align-items:center;gap:8px;align-self:end}.checkbox input{width:auto}.codearea{font-family:Consolas,monospace;font-size:14px}.actions{display:flex;gap:10px}.ghost-link{background:#fff;color:var(--text);border:1px solid var(--line)}.settings-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;display:grid;gap:14px;margin-bottom:16px}.settings-card h2{margin:0}.tiny-form{display:flex;gap:6px;align-items:center}.tiny-form input{min-width:110px}.parent-admin-list{margin-top:24px}.memory-picker{max-width:340px;margin:16px 0 22px}.memory-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0 30px}.memory-card,.memory-lesson{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px}.wide-memory{grid-column:1/-1}.memory-lessons{display:grid;gap:12px}.memory-lesson-head{display:flex;justify-content:space-between;gap:12px}.status-pill{font-size:12px;background:var(--soft);border-radius:999px;padding:5px 9px;color:var(--muted)}
/* Parent dashboard */.parent-home{max-width:1180px;margin:0 auto;padding:36px 24px 70px}.parent-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px}.parent-heading h1{font-size:38px;margin:3px 0}.parent-heading h1 span{font-size:18px;color:var(--muted);font-weight:500}.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:12px;color:var(--muted);font-weight:700}.parent-filters{display:flex;gap:8px;align-items:center}.parent-filters select{min-width:135px}.parent-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.parent-stats>div{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px}.parent-stats strong{display:block;font-size:26px;line-height:1.15}.parent-stats span{display:block;color:var(--muted);font-size:13px;margin-top:6px}.parent-section{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;margin-top:18px}.section-title{display:flex;justify-content:space-between;gap:20px;align-items:baseline}.section-title h2{margin:0}.section-title p{margin:0;color:var(--muted);font-size:13px}.mastery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}.mastery-card{border:1px solid var(--line);border-radius:14px;padding:18px}.mastery-card strong{display:block;font-size:32px}.mastery-card span{color:var(--muted)}.mastery-card.mastered{background:#f3f8f4}.mastery-card.needs{background:#fff9ef}.activity-bars{height:105px;display:flex;align-items:flex-end;gap:8px;margin-top:18px;border-bottom:1px solid var(--line);padding:0 6px}.daybar{flex:1;min-width:12px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:5px}.daybar .bar{width:min(22px,75%);min-height:5px;background:#cbd2dc;border-radius:6px 6px 2px 2px}.daybar span{font-size:10px;color:var(--muted);height:16px}.subject-progress-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:16px}.subject-progress-card{border:1px solid var(--line);border-radius:14px;padding:18px;text-decoration:none}.subject-progress-card:hover{background:#fafbfc}.subject-progress-card h3{margin:0 0 6px}.subject-progress-card p{color:var(--muted);margin:0 0 12px}.subject-progress-card div{display:flex;gap:18px;font-size:13px}.insight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}.insight-card{background:#fafbfc;border:1px solid var(--line);border-radius:14px;padding:18px}.insight-card h3{margin:0 0 10px}.insight-card p{margin:0;line-height:1.55}.activity-list{margin-top:10px}.activity-row{display:flex;justify-content:space-between;gap:18px;padding:13px 0;border-bottom:1px solid var(--line)}.activity-row:last-child{border-bottom:0}.activity-row div{display:flex;flex-direction:column;gap:3px}.activity-row span,.activity-row time{color:var(--muted);font-size:13px}.parent-empty{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px}
@media(max-width:1000px){.parent-stats{grid-template-columns:repeat(3,1fr)}.insight-grid{grid-template-columns:1fr}.parent-heading{align-items:flex-start;flex-direction:column}.parent-filters{flex-wrap:wrap}.split{grid-template-columns:1fr;height:auto}.lesson-pane{overflow:visible}.bot-pane{border-left:0;border-top:1px solid var(--line);height:72vh}.admin-shell{grid-template-columns:1fr}.admin-nav{border-right:0;border-bottom:1px solid var(--line);flex-direction:row;overflow:auto}.inline-form{grid-template-columns:1fr 1fr}.stats{grid-template-columns:1fr 1fr}.topbar span{display:none}}
@media(max-width:650px){.chat-compose{grid-template-columns:1fr 1fr}.chat-compose .photo-btn{grid-column:1}.chat-compose .check-solution-btn{grid-column:2}.chat-compose .explain-task-btn{grid-column:1/-1}.chat-input-shell{grid-column:1/-1;grid-row:3}.chat-compose #sendBtn{grid-column:1/-1;grid-row:4;height:44px}.parent-stats,.mastery-grid,.subject-progress-grid{grid-template-columns:1fr}.parent-filters{display:grid;width:100%;grid-template-columns:1fr 1fr}.parent-filters button{grid-column:1/-1}.section-title{display:block}.section-title p{margin-top:6px}.activity-row{flex-direction:column;gap:5px}.form-grid,.memory-grid{grid-template-columns:1fr}.wide-memory{grid-column:auto}.inline-form{grid-template-columns:1fr}}


/* =========================================================
   MOBILE LESSON / TUTOR LAYOUT
   ========================================================= */
@media (max-width:650px){

    /* General mobile scale */
    .topbar{
        height:52px;
        padding:0 14px;
        font-size:13px;
    }

    .topbar nav{
        gap:12px;
    }

    .lesson-pane{
        padding:22px 18px 34px;
    }

    .lesson-pane h1{
        font-size:25px;
        line-height:1.18;
        margin:7px 0 11px;
    }

    .lesson-meta{
        font-size:13px;
    }

    .lead{
        font-size:15px;
        line-height:1.5;
    }

    .lesson-content{
        font-size:14px;
        line-height:1.6;
    }

    .homework{
        margin-top:24px;
        padding-top:18px;
    }

    /* Tutor gets almost a full phone screen */
    .bot-pane{
        height:92dvh;
        min-height:640px;
        max-height:none;
        border-left:0;
        border-top:1px solid var(--line);
    }

    .bot-head{
        min-height:48px;
        padding:8px 12px;
    }

    .bot-head strong{
        font-size:14px;
    }

    .bot-head span{
        font-size:10px;
        max-width:270px;
    }

    .chat-clear{
        padding:5px 8px;
        font-size:10px;
    }

    /* Larger useful reading area */
    .chat-messages{
        padding:11px 10px;
        gap:9px;
    }

    .bubble{
        max-width:96%;
        padding:9px 11px;
        border-radius:12px;
        font-size:13px;
        line-height:1.45;
    }

    .chat-photo{
        max-height:260px;
        margin-bottom:7px;
        border-radius:8px;
    }

    .chat-empty{
        padding:18px 12px;
        font-size:13px;
    }

    /* Compact attachment preview */
    .attachment-preview{
        margin:0 10px 7px;
        padding:7px 8px;
        grid-template-columns:44px 1fr auto;
        gap:8px;
    }

    .attachment-preview img{
        width:44px;
        height:44px;
    }

    .attachment-preview strong{
        font-size:12px;
    }

    .attachment-preview span{
        font-size:10px;
    }

    /* IMPORTANT:
       Three lesson actions are always visible and go vertically */
    .chat-compose{
        display:flex !important;
        flex-direction:column;
        gap:7px;
        padding:9px 10px 10px;
        align-items:stretch;
    }

    .chat-compose .photo-btn,
    .chat-compose .check-solution-btn,
    .chat-compose .explain-task-btn{
        display:flex !important;
        width:100% !important;
        min-height:38px !important;
        height:38px !important;
        padding:7px 10px !important;
        margin:0;
        font-size:13px;
        line-height:1;
        border-radius:10px;
        grid-column:auto !important;
        grid-row:auto !important;
    }

    /* Text field gets its own full-width row */
    .chat-input-shell{
        display:block;
        width:100%;
        height:68px;
        min-height:58px;
        max-height:260px;
        grid-column:auto !important;
        grid-row:auto !important;
        flex:0 0 auto;
    }

    .chat-input-shell textarea{
        width:100%;
        height:100%;
        padding:12px 54px 10px 12px !important;
        font-size:14px;
        line-height:1.4;
        border-radius:11px;
    }

    .resize-handle{
        top:7px;
        right:7px;
        width:38px;
        height:38px !important;
        border-radius:9px !important;
    }

    .resize-icon{
        font-size:18px;
    }

    /* Send button is compact and full width */
    .chat-compose #sendBtn{
        display:flex !important;
        width:100%;
        min-height:40px !important;
        height:40px !important;
        padding:8px 12px;
        margin:0;
        grid-column:auto !important;
        grid-row:auto !important;
        font-size:14px;
        border-radius:10px;
    }
}

/* Very narrow phones */
@media (max-width:390px){
    .lesson-pane{
        padding-left:14px;
        padding-right:14px;
    }

    .lesson-pane h1{
        font-size:23px;
    }

    .bot-pane{
        height:94dvh;
        min-height:620px;
    }

    .chat-compose{
        padding-left:8px;
        padding-right:8px;
    }

    .chat-compose .photo-btn,
    .chat-compose .check-solution-btn,
    .chat-compose .explain-task-btn{
        height:36px !important;
        min-height:36px !important;
        font-size:12.5px;
    }

    .chat-input-shell{
        height:64px;
    }
}


/* =========================================================
   Remember-login control
   ========================================================= */
.remember-login{
    display:flex;
    flex-direction:row;
    align-items:flex-start;
    gap:10px;
    font-weight:400;
    cursor:pointer;
}
.remember-login input{
    width:18px;
    height:18px;
    margin:2px 0 0;
    flex:0 0 auto;
}
.remember-login span{
    display:flex;
    flex-direction:column;
    gap:2px;
}
.remember-login strong{
    font-size:14px;
}
.remember-login small{
    color:var(--muted);
    font-size:12px;
    line-height:1.35;
}

/* Desktop uses the full action labels */
.mobile-label{display:none}

/* =========================================================
   MOBILE: three tutor actions in ONE compact row
   ========================================================= */
@media (max-width:650px){
    .desktop-label{display:none}
    .mobile-label{display:inline}

    .chat-compose{
        display:grid !important;
        grid-template-columns:0.8fr 1.05fr 1.15fr !important;
        gap:6px !important;
        padding:8px 9px 10px !important;
        align-items:stretch !important;
    }

    .chat-compose .photo-btn,
    .chat-compose .check-solution-btn,
    .chat-compose .explain-task-btn{
        display:flex !important;
        grid-row:1 !important;
        grid-column:auto !important;
        width:100% !important;
        min-width:0 !important;
        height:34px !important;
        min-height:34px !important;
        padding:5px 5px !important;
        margin:0 !important;
        border-radius:9px !important;
        font-size:11.5px !important;
        line-height:1 !important;
        white-space:nowrap !important;
        overflow:hidden;
        text-overflow:ellipsis;
    }

    .chat-input-shell{
        grid-column:1 / -1 !important;
        grid-row:2 !important;
        width:100% !important;
        height:64px !important;
        min-height:56px !important;
        max-height:260px !important;
        margin:0 !important;
    }

    .chat-input-shell textarea{
        font-size:13px !important;
        line-height:1.35 !important;
        padding:11px 51px 9px 11px !important;
    }

    .resize-handle{
        width:36px !important;
        height:36px !important;
        top:7px !important;
        right:7px !important;
    }

    .resize-icon{
        font-size:17px !important;
    }

    .chat-compose #sendBtn{
        grid-column:1 / -1 !important;
        grid-row:3 !important;
        width:100% !important;
        height:36px !important;
        min-height:36px !important;
        padding:6px 10px !important;
        margin:0 !important;
        font-size:13px !important;
        border-radius:9px !important;
    }
}

@media (max-width:370px){
    .chat-compose{
        grid-template-columns:0.8fr 1fr 1.15fr !important;
        gap:4px !important;
        padding-left:6px !important;
        padding-right:6px !important;
    }
    .chat-compose .photo-btn,
    .chat-compose .check-solution-btn,
    .chat-compose .explain-task-btn{
        font-size:10.5px !important;
        padding-left:3px !important;
        padding-right:3px !important;
    }
}


/* MOBILE RESIZE FIX
   The earlier mobile rule used height:64px !important, which prevented JS resizing. */
@media (max-width:650px){
    .chat-input-shell{
        height:64px !important;
        min-height:56px !important;
        max-height:55dvh !important;
        transition:none !important;
    }

    .resize-handle{
        touch-action:none !important;
        -webkit-user-select:none !important;
        user-select:none !important;
    }

    .is-resizing-chat{
        overscroll-behavior:none;
        touch-action:none;
    }
}


/* =========================================================
   VISUAL SEPARATION: LESSON / AI TUTOR
   ========================================================= */

/* Main lesson stays clean white */
.lesson-pane{
    background:#ffffff;
}

/* AI tutor gets a subtle cool background */
.bot-pane{
    background:#f6f8fb;
    border-left:1px solid #dce2e9;
}

/* Header belongs visually to tutor area */
.bot-head{
    background:#f6f8fb;
    border-bottom:1px solid #dfe4ea;
}

/* Message area keeps the same tutor background */
.chat-messages{
    background:#f6f8fb;
}

/* Assistant messages stay white and stand out from tutor background */
.chat-message.assistant,
.chat-message.assistant .bubble{
    background:#ffffff;
}

/* Composer remains part of the tutor workspace */
.chat-compose{
    background:#f6f8fb;
    border-top:1px solid #dfe4ea;
}

/* Attachment preview also reads as a card inside tutor area */
.attachment-preview{
    background:#ffffff;
}

/* Mobile: horizontal divider instead of vertical */
@media(max-width:650px){
    .bot-pane{
        border-left:0;
        border-top:1px solid #dce2e9;
        background:#f6f8fb;
    }

    .bot-head,
    .chat-messages,
    .chat-compose{
        background:#f6f8fb;
    }
}


/* =========================================================
   STRONGER VISUAL SEPARATION — v2
   ========================================================= */

/* Lesson stays pure white */
.lesson-pane{
    background:#ffffff !important;
}

/* Tutor workspace is visibly cooler and darker */
.bot-pane{
    background:#eef2f6 !important;
    border-left:2px solid #cfd6df !important;
    box-shadow:inset 10px 0 18px -18px rgba(31,36,48,.45);
}

/* All tutor sub-areas inherit the same workspace tone */
.bot-head,
.chat-messages,
.chat-compose{
    background:#eef2f6 !important;
}

/* Slightly stronger separators inside tutor */
.bot-head{
    border-bottom:1px solid #d5dbe3 !important;
}
.chat-compose{
    border-top:1px solid #d5dbe3 !important;
}

/* Assistant cards remain clearly white */
.chat-message.assistant .bubble,
.bubble.assistant,
.chat-messages .assistant{
    background:#ffffff !important;
}

/* Empty state remains on tutor background */
.chat-empty{
    background:transparent !important;
}

/* Mobile: same visual logic, horizontal separation */
@media(max-width:650px){
    .bot-pane{
        background:#eef2f6 !important;
        border-left:0 !important;
        border-top:2px solid #cfd6df !important;
        box-shadow:inset 0 10px 18px -18px rgba(31,36,48,.45) !important;
    }

    .bot-head,
    .chat-messages,
    .chat-compose{
        background:#eef2f6 !important;
    }
}

/* =========================================================
   STUDENT HOME: compact subject accordion
   ========================================================= */
.subject-accordion{display:grid;gap:12px;margin-top:22px}
.subject-fold{padding:0;margin:0;overflow:hidden}
.subject-fold[open]{box-shadow:0 2px 12px rgba(31,36,48,.04)}
.subject-summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;cursor:pointer;user-select:none}
.subject-summary::-webkit-details-marker{display:none}
.subject-summary::marker{display:none;content:""}
.subject-summary-main{display:flex;align-items:baseline;gap:12px;min-width:0}
.subject-summary-main strong{font-size:21px;line-height:1.3}
.subject-count{font-size:13px;color:var(--muted);white-space:nowrap}
.subject-chevron{flex:0 0 auto;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--soft);color:#68717e;font-size:24px;line-height:1;transition:transform .18s ease,background .18s ease}
.subject-fold[open] .subject-chevron{transform:rotate(90deg);background:#e8edf4;color:#37404b}
.subject-body{padding:0 14px 14px;border-top:1px solid #f0f2f5}
.compact-lessons{gap:4px;padding-top:10px}
.compact-lesson-row{display:grid;grid-template-columns:74px minmax(0,1fr) 28px;align-items:center;gap:12px;padding:11px 12px;background:transparent;border:1px solid transparent;border-radius:10px;text-align:left}
.compact-lesson-row:hover{background:var(--soft);border-color:#e8ebef}
.lesson-section{font-size:13px;font-weight:700;color:#657080;white-space:nowrap;text-align:left;justify-self:start}
.lesson-title{min-width:0;line-height:1.4;text-align:left;justify-self:start;width:100%}
.lesson-arrow{justify-self:end;color:#7b8490;font-size:18px}
.subject-empty{margin:14px 8px 4px}

@media(max-width:650px){
    .home{padding:26px 14px 46px}
    .hero h1{font-size:30px}
    .subject-accordion{gap:9px;margin-top:18px}
    .subject-summary{padding:16px 15px}
    .subject-summary-main{display:grid;gap:2px}
    .subject-summary-main strong{font-size:18px}
    .subject-count{font-size:12px}
    .subject-chevron{width:28px;height:28px;font-size:22px}
    .subject-body{padding:0 8px 8px}
    .compact-lesson-row{grid-template-columns:58px minmax(0,1fr) 20px;gap:8px;padding:10px 8px}
    .lesson-section{font-size:12px}
    .lesson-title{font-size:13px}
    .lesson-arrow{font-size:16px}
}


/* =========================================================
   LESSON DESIGN SYSTEM: typography, formulas and advanced tasks
   ========================================================= */

/* Base lesson typography */
.lesson-content{
    font-family:"Segoe UI",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
    font-size:17px;
    line-height:1.7;
}
.lesson-content p,
.lesson-content li{
    font-family:"Segoe UI",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
    font-size:17px;
    line-height:1.7;
}
.lesson-content p{margin:0 0 15px}
.lesson-content ul,
.lesson-content ol{margin:0 0 18px 22px;line-height:1.7}

/* Unified lesson subheadings */
.lesson-content h2,
.lesson-content h3{
    margin:30px 0 12px;
    font-family:"Segoe UI",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
    font-size:22px;
    line-height:1.3;
    font-weight:700;
    color:#2466A8;
}
.lesson-content h3{margin-top:24px}

/* Unified formula component */
.lesson-formula{
    margin:14px 0 18px;
    padding:13px 18px;
    border-radius:12px;
    background:#f5f6f8;
    text-align:center;
    font-family:"Cambria Math","STIX Two Math",serif;
    font-size:18px;
    line-height:1.5;
    font-weight:700;
    color:#202736;
}
.lesson-formula strong{font-weight:700}
.system-line{display:block;margin:3px 0}
.standalone-math{
    text-align:center;
    font-family:"Cambria Math","STIX Two Math",serif;
    font-size:18px;
    line-height:1.5;
    font-weight:700;
    color:#202736;
}
.frac{
    display:inline-flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    vertical-align:middle;
    line-height:1;
    margin:0 .18em;
    font-family:"Cambria Math","STIX Two Math",serif;
    font-weight:700;
}
.frac .num{
    display:block;
    min-width:1.25em;
    padding:0 .18em .12em;
    border-bottom:1.5px solid currentColor;
    text-align:center;
}
.frac .den{
    display:block;
    min-width:1.25em;
    padding:.12em .18em 0;
    text-align:center;
}

/* Reusable lesson cards */
.life-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0 22px}
.life-card{padding:18px;border:1px solid #dfe7ee;border-radius:16px;background:#f8fafc;font-family:"Segoe UI",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif}
.life-card strong{display:block;margin-bottom:8px;line-height:1.35;color:#202736}
.life-card p{margin:0;line-height:1.55}
.life-kicker{margin-bottom:7px;color:#60758a;font-family:"Segoe UI",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;font-size:13px;font-weight:700;letter-spacing:.02em;text-transform:uppercase}
.lesson-callout{margin:22px 0;padding:18px 20px;border-radius:16px;font-family:"Segoe UI",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif}
.lesson-callout p{margin:6px 0 0}
.lesson-callout--example{border:1px solid #d8e4ef;background:#f3f7fb}
.lesson-callout--result{border:1px solid #cfdde9;background:#eaf2f8}
.callout-label{display:inline-block;color:#536b80;font-family:"Segoe UI",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;font-size:13px;font-weight:700;letter-spacing:.02em;text-transform:uppercase}
.insight-box{margin:22px 0;padding:18px 20px;border:1px solid #cfdde9;border-radius:16px;background:#eaf2f8;font-family:"Segoe UI",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;line-height:1.65}

/* Advanced task card */
.advanced-task{
    border:1px solid #dfe4ea;
    border-radius:14px;
    background:#fafbfc;
    padding:16px 18px;
    margin:12px 0;
    font-family:"Segoe UI",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
    font-size:17px;
    line-height:1.7;
    color:inherit;
}
.advanced-task h3{
    margin:0 0 12px;
    font-family:"Segoe UI",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
    font-size:22px;
    line-height:1.3;
    font-weight:700;
    color:#2466A8;
}
.advanced-task p,
.advanced-task li{font-family:"Segoe UI",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;font-size:17px;line-height:1.7}
.advanced-task p{margin:0 0 15px}
.advanced-task ol,
.advanced-task ul{margin:0 0 18px 22px;padding:0;font-family:"Segoe UI",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;font-size:17px;line-height:1.7}
.advanced-task li{margin:7px 0}
.advanced-task .formula,
.advanced-task .lesson-formula{
    margin:14px 0 18px;
    padding:13px 18px;
    border-radius:12px;
    background:#f5f6f8;
    text-align:center;
    font-family:"Cambria Math","STIX Two Math",serif;
    font-size:18px;
    line-height:1.5;
    font-weight:700;
    color:#202736;
}
.advanced-task .prompt{margin-top:16px;padding:12px 14px;border-left:3px solid #9aa5b3;background:#fff;border-radius:0 10px 10px 0}
.advanced-task .prompt p{margin:0 0 8px;font-family:"Segoe UI",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;font-size:17px;line-height:1.7}
.advanced-task .prompt p:last-child{margin-bottom:0}
.advanced-task .note{margin-top:12px;margin-bottom:0;color:#6e7884;font-family:"Segoe UI",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;font-size:17px;line-height:1.7}

@media(max-width:650px){
    .lesson-content{font-size:16px;line-height:1.6}
    .lesson-content p,
    .lesson-content li,
    .lesson-content ul,
    .lesson-content ol{font-size:16px;line-height:1.6}
    .lesson-content h2,
    .lesson-content h3{margin:24px 0 10px;font-size:19px;line-height:1.3}
    .lesson-formula,
    .standalone-math{font-size:16px}
    .lesson-formula{padding:11px 14px}
    .life-grid{grid-template-columns:1fr}

    .advanced-task{padding:13px 14px;font-size:16px;line-height:1.6}
    .advanced-task h3{font-size:19px;line-height:1.3;margin-bottom:10px}
    .advanced-task p,
    .advanced-task li,
    .advanced-task ol,
    .advanced-task ul,
    .advanced-task .prompt p,
    .advanced-task .note{font-size:16px;line-height:1.6}
    .advanced-task .formula,
    .advanced-task .lesson-formula{padding:11px 14px;font-size:16px;line-height:1.5}
}

/* =========================================================
   LESSON CONTENT — общие компоненты урока
   Эти правила НЕ зависят от вложенности и работают для
   .lesson-formula / .life-* в коде параграфов напрямую.
   ========================================================= */

/* Формульная плашка */
.lesson-formula,
.advanced-task .lesson-formula,
.advanced-task .formula{
  margin:14px 0 18px;
  padding:13px 18px;
  border-radius:12px;
  background:#f5f6f8;
  text-align:center;
  font-family:"Cambria Math","STIX Two Math",serif;
  font-size:18px;
  line-height:1.5;
  font-weight:700;
  color:#202736;
}

.lesson-formula strong,
.advanced-task .lesson-formula strong,
.advanced-task .formula strong{
  font-weight:700;
}

/* Единая формульная плашка только для заданий */
.advanced-task .lesson-formula,
.advanced-task .formula{
  border:1px solid #B9D2EA;
  background:#EAF3FB;
  color:#163A5C;
}

.system-line{
  display:block;
  margin:3px 0;
}

/* Горизонтальные дроби */
.frac{
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  vertical-align:middle;
  line-height:1;
  margin:0 .18em;
  font-family:"Cambria Math","STIX Two Math",serif;
  font-weight:700;
}

.frac .num{
  display:block;
  min-width:1.25em;
  padding:0 .18em .12em;
  border-bottom:1.5px solid currentColor;
  text-align:center;
}

.frac .den{
  display:block;
  min-width:1.25em;
  padding:.12em .18em 0;
  text-align:center;
}

.standalone-math{
  text-align:center;
  font-family:"Cambria Math","STIX Two Math",serif;
  font-size:18px;
  line-height:1.5;
  font-weight:700;
  color:#202736;
}

/* "Где ещё пригодится" */
.life-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin:18px 0 22px;
}

.life-card{
  padding:18px;
  border:1px solid #dfe7ee;
  border-radius:16px;
  background:#f8fafc;
  font-family:"Segoe UI",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
}

.life-card > strong{
  display:block;
  margin-bottom:8px;
  font-family:"Segoe UI",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
  font-size:17px;
  line-height:1.35;
  font-weight:700;
  color:#202736;
}

.life-card p{
  margin:0;
  font-family:"Segoe UI",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
  font-size:17px;
  line-height:1.55;
}

.life-kicker{
  margin-bottom:7px;
  color:#2466A8;
  font-family:"Segoe UI",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
  font-size:17px;
  line-height:1.35;
  font-weight:700;
}

/* Смысловые плашки урока */
.lesson-callout{
  margin:22px 0;
  padding:18px 20px;
  border-radius:16px;
  font-family:"Segoe UI",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
}

.lesson-callout p{
  margin:6px 0 0;
}

.lesson-callout--example{
  border:1px solid #d8e4ef;
  background:#f3f7fb;
}

.lesson-callout--result{
  border:1px solid #cfdde9;
  background:#eaf2f8;
}

.callout-label{
  display:inline-block;
  color:#2466A8;
  font-family:"Segoe UI",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
  font-size:17px;
  line-height:1.35;
  font-weight:700;
}

.insight-box{
  margin:22px 0;
  padding:18px 20px;
  border:1px solid #cfdde9;
  border-radius:16px;
  background:#eaf2f8;
  font-family:"Segoe UI",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
  font-size:17px;
  line-height:1.65;
}

@media(max-width:650px){
  .lesson-formula,
  .advanced-task .lesson-formula,
  .advanced-task .formula{
    padding:11px 14px;
    font-size:16px;
  }

  .standalone-math{
    font-size:16px;
  }

  .life-grid{
    grid-template-columns:1fr;
  }

  .life-card > strong,
  .life-card p,
  .life-kicker,
  .callout-label,
  .insight-box{
    font-size:16px;
  }
}

/* =========================================================
   CHAT READABILITY — larger text for Selin
   ========================================================= */

.chat-message .bubble{
    font-size:17px !important;
    line-height:1.6 !important;
}

.chat-input-shell textarea{
    font-size:17px !important;
    line-height:1.5 !important;
}

.chat-empty{
    font-size:17px !important;
    line-height:1.5 !important;
}

.bot-head span{
    font-size:14px !important;
}

@media (max-width:650px){
    .chat-message .bubble{
        font-size:16px !important;
        line-height:1.55 !important;
    }

    .chat-input-shell textarea{
        font-size:17px !important;
        line-height:1.45 !important;
    }

    .chat-empty{
        font-size:16px !important;
    }

    .bot-head span{
        font-size:13px !important;
    }
}



/* Admin notes */
.notes-page{width:100%}
.note-create-card{margin-top:18px}
.note-create-form{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:10px;align-items:end}
.notes-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px;align-items:stretch}
.note-card{position:relative;display:flex;flex-direction:column;min-width:0;min-height:220px;padding:18px 18px 58px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 2px 8px rgba(14,40,65,.04)}
.note-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid var(--line)}
.note-card-title{font-size:17px;line-height:1.4;color:#2466A8}
.note-edit-link{flex:0 0 auto;font-size:13px;color:#2466A8;text-decoration:none}
.note-edit-link:hover{text-decoration:underline}
.note-content{white-space:normal;overflow-wrap:anywhere;line-height:1.6;min-height:80px}
.note-content a{color:#2466A8;text-decoration:underline;text-underline-offset:2px}
.note-delete-form{position:absolute;right:16px;bottom:14px;margin:0}
.note-delete-button{padding:7px 10px;font-size:12px;color:var(--danger)}
.note-editor textarea{min-height:260px;line-height:1.55}
@media(max-width:800px){
  .note-create-form{grid-template-columns:1fr}
  .notes-grid{grid-template-columns:1fr;gap:14px}
  .note-card{min-height:180px}
}


/* Notes page: use the full admin content width */
.admin-main.notes-page{
  max-width:none;
  width:100%;
  min-width:0;
}

/* =========================================================
   STUDENT NOTES — personal study notes on the front end
   ========================================================= */
.student-home-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.student-home-hero>div{min-width:0}
.student-notes-open-button,.lesson-add-note,.lesson-my-notes{background:#fff;color:#2466A8;border:1px solid #cfdde9;box-shadow:0 2px 8px rgba(14,40,65,.04)}
.student-notes-open-button{flex:0 0 auto;min-width:150px}
.student-notes-open-button:hover,.lesson-add-note:hover,.lesson-my-notes:hover{background:#f4f8fc}
.student-notes-count-wrap{font-weight:700}
.lesson-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.lesson-title-row h1{flex:1;min-width:0}
.lesson-note-actions{display:flex;flex-direction:column;align-items:stretch;gap:7px;flex:0 0 auto;padding-top:8px;min-width:190px}
.lesson-add-note{padding:9px 12px;font-size:13px;white-space:nowrap}
.lesson-my-notes{padding:11px 16px;font-size:15px;font-weight:700;white-space:nowrap}
.student-notes-overlay{position:fixed;inset:0;background:rgba(21,29,39,.28);opacity:0;visibility:hidden;transition:opacity .18s ease,visibility .18s ease;z-index:90}
.student-notes-overlay.is-open{opacity:1;visibility:visible}
.student-notes-drawer{position:fixed;top:0;right:0;width:min(470px,92vw);height:100dvh;background:#f7f8fa;border-left:1px solid var(--line);box-shadow:-18px 0 48px rgba(31,36,48,.16);z-index:91;transform:translateX(102%);transition:transform .22s ease;display:flex;flex-direction:column}
.student-notes-drawer.is-open{transform:translateX(0)}
body.student-notes-open{overflow:hidden}
.student-notes-head{min-height:72px;padding:15px 18px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px}
.student-notes-head>div{display:flex;flex-direction:column;gap:3px}
.student-notes-head strong{font-size:19px;color:#202736}
.student-notes-head span{font-size:12px;color:var(--muted)}
.student-notes-head-main{min-width:0}
.student-notes-help-links{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:7px}
.student-notes-help-links button{appearance:none;border:0;background:transparent;padding:0;color:#2466A8;font:inherit;font-size:12px;font-weight:600;cursor:pointer;text-align:left}
.student-notes-help-links button:hover{text-decoration:underline}
.student-notes-close{width:38px;height:38px;padding:0;border-radius:50%;background:var(--soft);color:#505967;font-size:24px;font-weight:400}
.student-notes-body{padding:16px 18px 28px;overflow:auto}
.student-note-create-button{width:100%;margin:0 0 14px;background:#fff;color:#2466A8;border:1px solid #cfdde9;border-radius:12px;padding:10px 14px;font:inherit;font-size:14px;font-weight:700;cursor:pointer}
.student-note-create-button:hover{background:#f4f8fc}
.student-note-create-button[hidden],.student-note-form[hidden]{display:none!important}
.student-note-form{display:grid;gap:9px;padding:16px;background:#fff;border:1px solid var(--line);border-radius:16px}
.student-note-form label{font-size:14px}
.student-note-form textarea{min-height:104px;line-height:1.5;resize:vertical}
.student-note-form select{font-size:14px}
.student-note-lesson-label{margin-top:2px}
.student-note-lesson-label span{font-size:12px;color:var(--muted);font-weight:400}
.student-note-form button[type=submit]{margin-top:2px}
.student-notes-feedback{font-size:13px;line-height:1.4;color:#32623a;background:#eef7ef;border:1px solid #cae6cf;border-radius:9px;padding:8px 10px}
.student-notes-feedback.is-error{color:#8b2c2c;background:#fff0f0;border-color:#f0c9c9}
.student-notes-filter-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:20px 2px 10px}
.student-notes-filter-row>strong{font-size:15px}
.student-notes-completed-toggle{display:flex;grid-template-columns:none;flex-direction:row;align-items:center;gap:7px;font-size:12px;font-weight:500;color:var(--muted);cursor:pointer}
.student-notes-completed-toggle input{width:16px;height:16px;margin:0}
.student-notes-list{display:grid;gap:10px}
.student-notes-empty{padding:24px 16px;text-align:center;color:var(--muted);font-size:14px;background:#fff;border:1px dashed #d8dde4;border-radius:14px}
.student-note-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 14px 11px;box-shadow:0 2px 7px rgba(14,40,65,.035)}
.student-note-card.is-completed{opacity:.68}
.student-note-card-top{display:flex;align-items:flex-start;gap:11px}
.student-note-check{display:block;flex:0 0 auto;padding-top:2px;cursor:pointer}
.student-note-check input{width:19px;height:19px;margin:0;accent-color:#2466A8}
.student-note-main{min-width:0;flex:1}
.student-note-context{font-size:12px;line-height:1.35;color:#2466A8;font-weight:700;margin-bottom:6px}
.student-note-content{font-size:15px;line-height:1.55;overflow-wrap:anywhere}
.student-note-card.is-completed .student-note-content{text-decoration:line-through;color:var(--muted)}
.student-note-date{font-size:11px;color:#9298a2;margin-top:7px}
.student-note-actions{display:flex;flex-wrap:wrap;gap:6px 11px;margin:10px 0 0 30px;padding-top:9px;border-top:1px solid #edf0f3}
.student-note-action{appearance:none;border:0;background:transparent!important;color:#2466A8!important;padding:0!important;font-size:12px!important;font-weight:600!important;text-decoration:none;box-shadow:none!important;min-height:0!important}
.student-note-action:hover{text-decoration:underline}
.student-note-action.danger-text{color:#9d2d2d!important}

@media(max-width:700px){
  .student-home-hero{align-items:stretch;flex-direction:column;gap:13px}
  .student-home-hero .student-notes-open-button{align-self:flex-start;min-width:0}
  .lesson-title-row{display:block}
  .lesson-note-actions{padding-top:0;margin:0 0 18px;flex-wrap:wrap}
  .lesson-add-note,.lesson-my-notes{font-size:12px;padding:8px 10px}
  .student-notes-drawer{width:100vw}
  .student-notes-head{min-height:62px;padding:12px 14px}
  .student-notes-body{padding:12px 12px 24px}
  .student-note-form{padding:13px}
  .student-note-form textarea{font-size:16px;min-height:96px}
  .student-note-content{font-size:15px}
}


/* FAQ по личным заметкам */
.student-notes-home-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.student-notes-help-button,.lesson-notes-help,.lesson-tutor-help{appearance:none;border:1px solid #d9e0e8;background:#fff;color:#2466A8;border-radius:10px;padding:9px 12px;font:inherit;font-size:13px;font-weight:600;cursor:pointer}
.student-notes-help-button:hover,.lesson-notes-help:hover,.lesson-tutor-help:hover{background:#f6f9fc;border-color:#c7d4e1}
.student-notes-help-overlay{position:fixed;inset:0;background:rgba(21,29,39,.28);opacity:0;visibility:hidden;transition:opacity .18s ease,visibility .18s ease;z-index:94}
.student-notes-help-overlay.is-open{opacity:1;visibility:visible}
.student-notes-help{position:fixed;top:0;right:0;width:min(470px,92vw);height:100dvh;background:#f7f8fa;border-left:1px solid var(--line);box-shadow:-18px 0 48px rgba(31,36,48,.16);z-index:95;transform:translateX(102%);transition:transform .22s ease;display:flex;flex-direction:column;visibility:visible}
.student-notes-help.is-open{transform:translateX(0)}
.student-notes-help-head{min-height:72px;padding:15px 18px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px;flex:0 0 auto}
.student-notes-help-head>div{display:flex;flex-direction:column;gap:3px}
.student-notes-help-head strong{display:block;font-size:19px;color:#202736}
.student-notes-help-head span{display:block;color:var(--muted);font-size:13px}
.student-notes-help-close{width:38px;height:38px;padding:0;border:0;border-radius:50%;background:var(--soft);color:#505967;font-size:24px;font-weight:400;line-height:1;cursor:pointer;flex:0 0 auto}
.student-notes-help-body{padding:16px 18px 28px;overflow:auto;flex:1 1 auto}
.student-notes-help-intro{margin:0 0 15px;line-height:1.6;color:#4c5866;font-size:16px}
.student-notes-help-examples{display:grid;grid-template-columns:1fr;gap:10px}
.student-notes-help-examples>div{background:#fff;border:1px solid #e0e5ea;border-radius:12px;padding:12px 13px}
.student-notes-help-examples strong{display:block;color:#2466A8;font-size:14px;margin-bottom:5px}
.student-notes-help-examples p{margin:0;color:#3f4955;font-size:15px;line-height:1.5}
.student-notes-help-how{margin-top:14px;background:#edf4fa;border-radius:12px;padding:13px 15px}
.student-notes-help-how strong{color:#0E2841;font-size:15px}
.student-notes-help-how p{margin:5px 0 0;font-size:15px;line-height:1.6;color:#44515f}
body.student-notes-help-open{overflow:hidden}
@media(max-width:700px){
 .student-notes-home-actions{justify-content:flex-start}
 .student-notes-help-button{font-size:12px;padding:8px 10px}
 .lesson-notes-help,.lesson-tutor-help{font-size:12px;padding:8px 10px}
 .student-notes-help{width:100vw}
 .student-notes-help-head{min-height:62px;padding:12px 14px}
 .student-notes-help-head span{font-size:12px}
 .student-notes-help-body{padding:12px 12px 24px}
 .student-notes-help-intro{font-size:14px;line-height:1.55}
 .student-notes-help-examples strong{font-size:13px}
 .student-notes-help-examples p{font-size:13px;line-height:1.45}
 .student-notes-help-how strong{font-size:14px}
 .student-notes-help-how p{font-size:13px;line-height:1.55}
}

.lesson-tutor-help{appearance:none;border:1px solid #d9e0e8;background:#fff;color:#2466A8;border-radius:10px;padding:9px 12px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}
.lesson-note-actions>button{width:100%;justify-content:center}
@media(max-width:700px){.lesson-title-row{display:block}.lesson-note-actions{width:100%;min-width:0;padding-top:0;margin:8px 0 12px}.lesson-note-actions>button{width:100%}}

/* UX polish: help links live inside the notes drawer; larger touch targets */
.student-notes-head{flex:0 0 auto;align-items:flex-start;padding-bottom:16px}
.student-notes-head-main{flex:1 1 auto}
.student-notes-help-links{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:10px;padding-bottom:2px}
.student-notes-help-links button{
  appearance:none;border:0;background:transparent;padding:6px 0;color:#2466A8;
  font:inherit;font-size:14px;font-weight:650;line-height:1.35;cursor:pointer;text-align:left;
  min-height:32px
}
.student-notes-help-links button:hover{text-decoration:underline}
.student-notes-close{flex:0 0 auto}

@media(max-width:700px){
  .student-notes-head{
    min-height:auto;
    padding:24px 16px 14px;
    padding-top:max(24px, env(safe-area-inset-top));
    gap:12px
  }
  .student-notes-head strong{font-size:21px;line-height:1.25}
  .student-notes-head span{font-size:14px;line-height:1.35}
  .student-notes-help-links{display:grid;grid-template-columns:1fr;gap:0;margin-top:10px;padding-bottom:0}
  .student-notes-help-links button{
    width:100%;font-size:16px;line-height:1.35;min-height:42px;padding:9px 0
  }
  .student-notes-close{width:44px;height:44px;font-size:27px}
}

/* =========================================================
   LESSON TEXT SELECTION — ask tutor / save to notes
   ========================================================= */
.lesson-selection-tools{
  position:fixed;
  left:0;
  top:0;
  z-index:89;
  display:flex;
  align-items:center;
  gap:6px;
  padding:6px;
  background:#fff;
  border:1px solid #cfd8e3;
  border-radius:12px;
  box-shadow:0 8px 26px rgba(31,36,48,.16);
  transform:translate(-50%,-100%);
}
.lesson-selection-tools[hidden]{display:none!important}
.lesson-selection-tools button{
  appearance:none;
  border:0;
  border-radius:8px;
  background:#f4f7fa;
  color:#2466A8;
  padding:8px 10px;
  min-height:36px;
  font:inherit;
  font-size:13px;
  line-height:1.2;
  font-weight:700;
  white-space:nowrap;
  cursor:pointer;
}
.lesson-selection-tools button:hover{background:#eaf1f7}
.lesson-selection-tools button:first-child{background:#2466A8;color:#fff}
.lesson-selection-tools button:first-child:hover{background:#1f5b96}
@media(max-width:700px){
  .lesson-selection-tools{
    gap:5px;
    padding:5px;
    max-width:calc(100vw - 20px);
  }
  .lesson-selection-tools button{
    min-height:44px;
    padding:10px 12px;
    font-size:14px;
  }
}

/* =========================================================
   QUICK DIAGNOSTIC: "Проверить понимание"
   Desktop: four compact tutor actions in one row.
   Mobile: two-by-two grid so tap targets stay large.
   ========================================================= */
.check-understanding-btn{
    background:#fff;
    color:var(--text);
    border:1px solid var(--line);
    white-space:nowrap;
}

@media (min-width:651px){
    .chat-compose{
        grid-template-columns:auto auto auto auto minmax(0,1fr) auto !important;
    }
    .chat-compose .photo-btn,
    .chat-compose .check-solution-btn,
    .chat-compose .explain-task-btn,
    .chat-compose .check-understanding-btn{
        grid-row:1 !important;
        min-height:42px !important;
        padding:8px 12px !important;
    }
    .chat-input-shell{
        grid-column:1 / 6 !important;
        grid-row:2 !important;
    }
    .chat-compose #sendBtn{
        grid-column:6 !important;
        grid-row:2 !important;
    }
}

@media (max-width:650px){
    .chat-compose{
        display:grid !important;
        grid-template-columns:1fr 1fr !important;
        gap:7px !important;
    }
    .chat-compose .photo-btn,
    .chat-compose .check-solution-btn,
    .chat-compose .explain-task-btn,
    .chat-compose .check-understanding-btn{
        display:flex !important;
        width:100% !important;
        min-width:0 !important;
        height:40px !important;
        min-height:40px !important;
        padding:7px 8px !important;
        font-size:12px !important;
        line-height:1.1 !important;
        white-space:nowrap !important;
        overflow:hidden !important;
        text-overflow:ellipsis !important;
        grid-column:auto !important;
    }
    .chat-compose .photo-btn,
    .chat-compose .check-solution-btn{grid-row:1 !important;}
    .chat-compose .explain-task-btn,
    .chat-compose .check-understanding-btn{grid-row:2 !important;}
    .chat-input-shell{
        grid-column:1 / -1 !important;
        grid-row:3 !important;
    }
    .chat-compose #sendBtn{
        grid-column:1 / -1 !important;
        grid-row:4 !important;
    }
}


/* =========================================================
   PHYS-MATH PRACTICE
   Five tutor actions. Desktop keeps them on one compact row;
   mobile uses 2 + 2 + 1 so tap targets stay comfortable.
   ========================================================= */
.physmat-practice-btn,
.chem-practice-btn{
    background:#fff;
    color:var(--text);
    border:1px solid var(--line);
    white-space:nowrap;
}

@media (min-width:651px){
    .chat-compose{
        grid-template-columns:auto auto auto auto auto minmax(0,1fr) auto !important;
    }
    .chat-compose .photo-btn,
    .chat-compose .check-solution-btn,
    .chat-compose .explain-task-btn,
    .chat-compose .check-understanding-btn,
    .chat-compose .physmat-practice-btn,
    .chat-compose .chem-practice-btn{
        grid-row:1 !important;
        min-height:42px !important;
        padding:8px 10px !important;
        font-size:12px !important;
    }
    .chat-input-shell{
        grid-column:1 / 7 !important;
        grid-row:2 !important;
    }
    .chat-compose #sendBtn{
        grid-column:7 !important;
        grid-row:2 !important;
    }
}

@media (max-width:650px){
    .chat-compose{
        display:grid !important;
        grid-template-columns:1fr 1fr !important;
        gap:7px !important;
    }
    .chat-compose .photo-btn,
    .chat-compose .check-solution-btn,
    .chat-compose .explain-task-btn,
    .chat-compose .check-understanding-btn,
    .chat-compose .physmat-practice-btn,
    .chat-compose .chem-practice-btn{
        display:flex !important;
        width:100% !important;
        min-width:0 !important;
        height:42px !important;
        min-height:42px !important;
        padding:7px 8px !important;
        font-size:12px !important;
        line-height:1.1 !important;
        white-space:nowrap !important;
        overflow:hidden !important;
        text-overflow:ellipsis !important;
    }
    .chat-compose .photo-btn,
    .chat-compose .check-solution-btn{
        grid-row:1 !important;
        grid-column:auto !important;
    }
    .chat-compose .explain-task-btn,
    .chat-compose .check-understanding-btn{
        grid-row:2 !important;
        grid-column:auto !important;
    }
    .chat-compose .physmat-practice-btn,
    .chat-compose .chem-practice-btn{
        grid-row:3 !important;
        grid-column:1 / -1 !important;
    }
    .chat-input-shell{
        grid-column:1 / -1 !important;
        grid-row:4 !important;
    }
    .chat-compose #sendBtn{
        grid-column:1 / -1 !important;
        grid-row:5 !important;
    }
}


/* Tutor quick actions: final readable labels */
.chat-compose .photo-btn,
.chat-compose .check-solution-btn,
.chat-compose .explain-task-btn{
    font-size:14px !important;
}
.chat-compose .check-understanding-btn,
.chat-compose .physmat-practice-btn,
.chat-compose .chem-practice-btn{
    font-size:14px !important;
    font-weight:700 !important;
}
@media (max-width:650px){
    .chat-compose .photo-btn,
    .chat-compose .check-solution-btn,
    .chat-compose .explain-task-btn,
    .chat-compose .check-understanding-btn,
    .chat-compose .physmat-practice-btn,
    .chat-compose .chem-practice-btn{
        font-size:13px !important;
    }
}

/* Mobile tutor action order: PHOTO · CHECK · EXPLAIN · PHYS-MATH · UNDERSTANDING */
@media (max-width:650px){
    .chat-compose .photo-btn{
        grid-row:1 !important;
        grid-column:1 !important;
    }
    .chat-compose .check-solution-btn{
        grid-row:1 !important;
        grid-column:2 !important;
    }
    .chat-compose .explain-task-btn{
        grid-row:2 !important;
        grid-column:1 !important;
    }
    .chat-compose .physmat-practice-btn,
    .chat-compose .chem-practice-btn{
        grid-row:2 !important;
        grid-column:2 !important;
    }
    .chat-compose .check-understanding-btn{
        grid-row:3 !important;
        grid-column:1 / -1 !important;
    }
    .chat-input-shell{
        grid-row:4 !important;
        grid-column:1 / -1 !important;
    }
    .chat-compose #sendBtn{
        grid-row:5 !important;
        grid-column:1 / -1 !important;
    }
}


/* Mobile navigation between lesson content and AI tutor */
.mobile-lesson-bridge{
  display:none;
}

@media (max-width: 768px){
  .lesson-page .split{
    display:block;
  }

  .mobile-lesson-bridge{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    width:100%;
    padding:14px 18px 16px;
    background:#fff;
    border-top:1px solid #e2e7ed;
    border-bottom:1px solid #d8dee6;
  }

  .mobile-lesson-bridge-btn{
    min-height:44px;
    padding:10px 16px;
    border:1px solid #d6dee8;
    border-radius:12px;
    background:#fff;
    color:#2466A8;
    font:inherit;
    font-weight:700;
    line-height:1.2;
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
  }

  .mobile-lesson-bridge-btn:active{
    transform:translateY(1px);
  }
}


/* Отдельный нейтральный HTML-блок ниже фиолетового интерактива */
.lesson-page .lesson-pane .lesson-extra-html{
    margin-top:28px;
}


/* =========================================================
   Cross-platform lesson UI font
   Windows: Segoe UI; iPhone/iPad: system San Francisco.
   MathJax keeps its own mathematical typeface.
   ========================================================= */
.lesson-content :where(
  p, li, h2, h3, h4,
  button, label, input, select, textarea,
  .life-card, .life-kicker, .lesson-callout, .callout-label, .insight-box,
  .advanced-task, .advanced-task p, .advanced-task li,
  [class*="control"], [class*="metric"], [class*="label"], [class*="legend"],
  [class*="message"], [class*="instruction"], [class*="result"]
){
  font-family:"Segoe UI",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif !important;
}


/* =========================================================
   TUTOR ACTIONS — compact final layout
   - keep PHOTO icon only
   - first three actions compact
   - long actions use two lines
   - no tutor-width override here
   ========================================================= */
@media (min-width:651px){
  .chat-compose{
    display:grid !important;
    grid-template-columns:
      minmax(70px,.78fr)
      minmax(82px,.88fr)
      minmax(78px,.84fr)
      minmax(118px,1.18fr)
      minmax(132px,1.32fr)
      !important;
    column-gap:10px !important;
    row-gap:9px !important;
    padding:10px 12px 12px !important;
    align-items:stretch !important;
    overflow:hidden !important;
  }

  .chat-compose .photo-btn,
  .chat-compose .check-solution-btn,
  .chat-compose .explain-task-btn,
  .chat-compose .physmat-practice-btn,
  .chat-compose .chem-practice-btn,
  .chat-compose .check-understanding-btn{
    grid-row:1 !important;
    width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:6px 7px !important;
    border-radius:10px !important;
    justify-content:center !important;
    align-items:center !important;
    text-align:center !important;
    font-size:12px !important;
    font-weight:700 !important;
    line-height:1.08 !important;
    overflow:hidden !important;
    text-overflow:clip !important;
  }

  .chat-compose .photo-btn{ grid-column:1 !important; height:48px !important; }
  .chat-compose .check-solution-btn{ grid-column:2 !important; height:48px !important; }
  .chat-compose .explain-task-btn{ grid-column:3 !important; height:48px !important; }

  .chat-compose .physmat-practice-btn,
  .chat-compose .chem-practice-btn{
    grid-column:4 !important;
    height:48px !important;
    white-space:normal !important;
  }

  .chat-compose .check-understanding-btn{
    grid-column:5 !important;
    height:48px !important;
    white-space:normal !important;
  }

  /* Hide every action icon except PHOTO. Covers common icon wrappers
     and pseudo-elements used by the current tutor package. */
  .chat-compose .check-solution-btn .icon,
  .chat-compose .explain-task-btn .icon,
  .chat-compose .physmat-practice-btn .icon,
  .chat-compose .chem-practice-btn .icon,
  .chat-compose .check-understanding-btn .icon,
  .chat-compose .check-solution-btn svg,
  .chat-compose .explain-task-btn svg,
  .chat-compose .physmat-practice-btn svg,
  .chat-compose .chem-practice-btn svg,
  .chat-compose .check-understanding-btn svg{
    display:none !important;
  }

  .chat-compose .check-solution-btn::before,
  .chat-compose .explain-task-btn::before,
  .chat-compose .physmat-practice-btn::before,
  .chat-compose .chem-practice-btn::before,
  .chat-compose .check-understanding-btn::before{
    display:none !important;
    content:none !important;
  }

  .chat-compose textarea,
  .chat-compose .chat-input,
  .chat-compose .composer-input{
    grid-column:1 / 5 !important;
    grid-row:2 !important;
    min-width:0 !important;
  }

  .chat-compose #sendBtn{
    grid-column:5 !important;
    grid-row:2 !important;
    width:100% !important;
    min-width:0 !important;
    margin:0 !important;
  }
}


/* =========================================================
   MOBILE TUTOR ACTIONS
   Keep the original 2 + 2 + 1 mobile layout, but keep every
   label on one line and hide all action icons except PHOTO.
   ========================================================= */
@media (max-width:650px){
  .chat-compose .photo-btn,
  .chat-compose .check-solution-btn,
  .chat-compose .explain-task-btn,
  .chat-compose .physmat-practice-btn,
  .chat-compose .chem-practice-btn,
  .chat-compose .check-understanding-btn{
    white-space:nowrap !important;
    line-height:1 !important;
    min-width:0 !important;
    overflow:hidden !important;
    text-overflow:clip !important;
  }

  /* Long labels need a little less type on narrow screens. */
  .chat-compose .physmat-practice-btn,
  .chat-compose .chem-practice-btn,
  .chat-compose .check-understanding-btn{
    font-size:12px !important;
    padding-left:7px !important;
    padding-right:7px !important;
  }

  /* Remove icons from every action except PHOTO. */
  .chat-compose .check-solution-btn .icon,
  .chat-compose .explain-task-btn .icon,
  .chat-compose .physmat-practice-btn .icon,
  .chat-compose .chem-practice-btn .icon,
  .chat-compose .check-understanding-btn .icon,
  .chat-compose .check-solution-btn svg,
  .chat-compose .explain-task-btn svg,
  .chat-compose .physmat-practice-btn svg,
  .chat-compose .chem-practice-btn svg,
  .chat-compose .check-understanding-btn svg{
    display:none !important;
  }

  .chat-compose .check-solution-btn::before,
  .chat-compose .explain-task-btn::before,
  .chat-compose .physmat-practice-btn::before,
  .chat-compose .chem-practice-btn::before,
  .chat-compose .check-understanding-btn::before{
    display:none !important;
    content:none !important;
  }
}

@media (min-width:651px){
  .chat-compose .physmat-practice-btn,
  .chat-compose .chem-practice-btn,
  .chat-compose .check-understanding-btn{
    white-space:normal !important;
    line-height:1.08 !important;
  }
}


/* FINAL: desktop/mobile tutor labels are intentionally independent */
@media (min-width:651px){
  .chat-compose .desktop-label,
  .tutor-actions .desktop-label{display:inline !important;}
  .chat-compose .mobile-label,
  .tutor-actions .mobile-label{display:none !important;}
}
@media (max-width:650px){
  .chat-compose .desktop-label,
  .tutor-actions .desktop-label{display:none !important;}
  .chat-compose .mobile-label,
  .tutor-actions .mobile-label{
    display:inline !important;
    white-space:nowrap !important;
  }
}

/* Only PHOTO keeps an icon */
.check-solution-btn .icon,.explain-task-btn .icon,
.physmat-practice-btn .icon,.chem-practice-btn .icon,.check-understanding-btn .icon,
.check-solution-btn svg,.explain-task-btn svg,
.physmat-practice-btn svg,.chem-practice-btn svg,.check-understanding-btn svg{
  display:none !important;
}
.check-solution-btn::before,.explain-task-btn::before,
.physmat-practice-btn::before,.chem-practice-btn::before,.check-understanding-btn::before{
  display:none !important;content:none !important;
}


/* =========================================================
   MOBILE LESSON HEADER TABS
   Notes + tutor navigation share one compact row on phones.
   Desktop is intentionally untouched.
   ========================================================= */
@media (max-width:650px){
  .mobile-lesson-tabs{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    gap:10px !important;
    width:100% !important;
    margin:12px 0 24px !important;
    align-items:stretch !important;
  }

  .mobile-lesson-tabs > a,
  .mobile-lesson-tabs > button{
    width:100% !important;
    min-width:0 !important;
    height:58px !important;
    min-height:58px !important;
    margin:0 !important;
    padding:0 10px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    white-space:nowrap !important;
    border-radius:14px !important;
    box-sizing:border-box !important;
    font-size:16px !important;
    font-weight:700 !important;
    line-height:1.1 !important;
  }
}


/* =========================================================
   NOTES — persistent high-visibility header action
   ========================================================= */
.header-notes-accent{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-sizing:border-box !important;
  min-height:38px !important;
  padding:8px 16px !important;
  margin-right:14px !important;
  border:1px solid #b9d7f4 !important;
  border-radius:10px !important;
  background:#e8f3ff !important;
  color:#1769aa !important;
  font-weight:700 !important;
  text-decoration:none !important;
  white-space:nowrap !important;
  box-shadow:0 1px 2px rgba(24,105,170,.08) !important;
}
.header-notes-accent:hover{
  background:#dcebfb !important;
  border-color:#9fc8ee !important;
}

/* Desktop: notes live in the fixed top header; no lesson-title duplicate. */
@media (min-width:651px){
  .header-notes-accent{
    font-size:14px !important;
  }
}

/* Mobile: keep the header compact. */
@media (max-width:650px){
  .header-notes-accent{
    min-height:36px !important;
    padding:7px 10px !important;
    margin-right:8px !important;
    font-size:13px !important;
  }
}


/* NOTES HEADER — definitive placement */
.topbar nav .header-notes-accent{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:38px !important;
  padding:8px 16px !important;
  margin:0 16px 0 0 !important;
  border:1px solid #8fc5f4 !important;
  border-radius:10px !important;
  background:#dceeff !important;
  color:#0d67ad !important;
  font-weight:800 !important;
  text-decoration:none !important;
  white-space:nowrap !important;
  box-shadow:0 1px 3px rgba(13,103,173,.12) !important;
}
.topbar nav .header-notes-accent:hover{background:#cfe7fc !important;}

@media (max-width:650px){
  .topbar nav .header-notes-accent{
    padding:7px 9px !important;
    margin-right:8px !important;
    min-height:34px !important;
    font-size:12px !important;
  }
}


/* NOTES: one canonical trigger only — in the fixed top bar */
body .lesson-main [data-open-student-notes],
body .lesson-content [data-open-student-notes],
body .lesson-footer [data-open-student-notes],
body .lesson-note-actions [data-open-student-notes]{
  display:none !important;
}
.topbar nav [data-open-student-notes]{
  display:inline-flex !important;
}


/* =========================================================
   MOBILE TEXT SELECTION
   Leave room above for Samsung/Android's native Copy/Translate menu.
   Desktop positioning remains unchanged.
   ========================================================= */
@media (max-width:650px){
  .lesson-selection-tools{
    transform:translateY(82px) !important;
  }
}


/* =========================================================
   MOBILE TEXT SELECTION — centered and fully on-screen
   Browser's native Copy/Translate menu stays above.
   Our actions use a viewport-centered row below it.
   Desktop untouched.
   ========================================================= */
@media (max-width:650px){
  .lesson-selection-tools{
    left:50vw !important;
    right:auto !important;
    width:max-content !important;
    max-width:calc(100vw - 24px) !important;
    transform:translate(-50%, 82px) !important;
    box-sizing:border-box !important;
    justify-content:center !important;
  }

  .lesson-selection-tools button{
    min-width:0 !important;
    max-width:calc((100vw - 48px)/2) !important;
    padding-left:10px !important;
    padding-right:10px !important;
  }
}


/* MOBILE: make the secondary "В заметки" selection action clearly distinct */
@media (max-width:650px){
  .lesson-selection-tools button:nth-child(2){
    background:#7c5ce0 !important;
    border-color:#7c5ce0 !important;
    color:#fff !important;
    box-shadow:0 2px 6px rgba(76,52,150,.18) !important;
  }
  .lesson-selection-tools button:nth-child(2):active{
    background:#6d4fd0 !important;
    border-color:#6d4fd0 !important;
  }
}


/* DESKTOP: "В заметки" uses the same lilac accent as on mobile */
@media (min-width:651px){
  .lesson-selection-tools button:nth-child(2){
    background:#7c5ce0 !important;
    border-color:#7c5ce0 !important;
    color:#fff !important;
    box-shadow:0 2px 6px rgba(76,52,150,.18) !important;
  }
  .lesson-selection-tools button:nth-child(2):hover{
    background:#7253d5 !important;
    border-color:#7253d5 !important;
  }
  .lesson-selection-tools button:nth-child(2):active{
    background:#6d4fd0 !important;
    border-color:#6d4fd0 !important;
  }
}


/* =========================================================
   CABINET v3 — preserved live effects from earlier drafts
   Only declarations that still affected the current cabinet remain here.
   ========================================================= */
body.cabinet-page .subject-card.subject-fold{
  position:relative !important;
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
  transition:transform .18s ease !important;
}
body.cabinet-page .subject-card.subject-fold::before{
  content:"";
  position:absolute;
  left:0;
  top:13px;
  bottom:13px;
  width:4px;
  border-radius:0 6px 6px 0;
  background:linear-gradient(180deg,#67a9e8,#8b70df);
  opacity:.9;
}
body.cabinet-page .subject-card.subject-fold:hover{
  transform:translateY(-2px);
}
body.cabinet-page .subject-chevron{
  box-shadow:0 4px 12px rgba(50,70,100,.05) !important;
}
@media (max-width:650px){
  body.cabinet-page .subject-card.subject-fold{
    backdrop-filter:blur(5px);
    -webkit-backdrop-filter:blur(5px);
  }
}

/* =========================================================
   SELIN CABINET v3 — explicit live-index implementation
   The page now has body.cabinet-page, so desktop/mobile styling
   cannot miss because of generic page selectors.
   ========================================================= */

body.cabinet-page{
  min-height:100vh;
  background:#f7f9fd url("selin-study-background.png") center center / cover fixed no-repeat !important;
}

/* A translucent page wash: enough contrast for UI, but artwork remains visible. */
body.cabinet-page::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  background:rgba(249,251,254,.34);
}

body.cabinet-page .topbar{
  background:rgba(255,255,255,.88) !important;
  border-bottom:1px solid rgba(112,137,171,.14);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}

body.cabinet-page .home{
  position:relative;
  z-index:0;
  background:transparent !important;
}

body.cabinet-page .student-home-hero{
  background:transparent !important;
}

/* Hero typography */
body.cabinet-page .cabinet-method-title{
  margin:0 0 10px;
  font-size:19px;
  line-height:1.35;
  font-weight:600;
  letter-spacing:-.01em;
  color:#63749a;
}
body.cabinet-page .student-home-hero h1{
  font-size:clamp(38px,3vw,48px);
  line-height:1.05;
  letter-spacing:-.045em;
  font-weight:800;
}
body.cabinet-page .student-home-hero p{
  font-size:16px;
  line-height:1.5;
  color:#737e8e;
}

/* Notes: a deliberate little utility card */
body.cabinet-page .student-notes-open-button{
  border:1px solid rgba(61,129,190,.24) !important;
  background:linear-gradient(135deg,rgba(237,247,255,.96),rgba(244,239,255,.96)) !important;
  color:#246ba7 !important;
  border-radius:14px !important;
  box-shadow:0 8px 22px rgba(51,92,137,.10) !important;
}

/* Remove the old white outer details card completely. */
body.cabinet-page .subject-card.subject-fold{
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:20px !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:visible !important;
}

body.cabinet-page .subject-accordion{
  display:grid;
  gap:14px !important;
  margin-top:28px;
}

/* The actual visible card from the uploaded index.php */
body.cabinet-page .subject-summary{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:76px;
  padding:18px 20px 18px 28px !important;
  border:1px solid rgba(97,124,160,.20) !important;
  border-radius:20px !important;
  background:
    linear-gradient(110deg,rgba(255,255,255,.96),rgba(250,252,255,.82)) !important;
  box-shadow:
    0 12px 30px rgba(49,70,102,.09),
    inset 0 1px 0 rgba(255,255,255,.95) !important;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease !important;
}

/* colored rail */
body.cabinet-page .subject-summary::before{
  content:"";
  position:absolute;
  z-index:-1;
  left:0;
  top:12px;
  bottom:12px;
  width:6px;
  border-radius:0 7px 7px 0;
  background:linear-gradient(180deg,#62aae9,#8b6fe2);
}

/* very soft subject tint on the right */
body.cabinet-page .subject-summary::after{
  content:"";
  position:absolute;
  z-index:-2;
  width:180px;
  height:180px;
  right:-75px;
  top:50%;
  transform:translateY(-50%);
  border-radius:50%;
  background:radial-gradient(circle,rgba(111,169,232,.13),rgba(139,111,226,0) 68%);
}

body.cabinet-page .subject-summary-main{
  gap:5px !important;
}
body.cabinet-page .subject-summary-main strong{
  font-size:20px !important;
  line-height:1.15;
  font-weight:780 !important;
  letter-spacing:-.025em !important;
}
body.cabinet-page .subject-count{
  color:#7c8796 !important;
  font-size:13px !important;
}
body.cabinet-page .subject-chevron{
  width:36px !important;
  height:36px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:50% !important;
  background:rgba(236,241,248,.92) !important;
  border:1px solid rgba(105,132,167,.10) !important;
  color:#687789 !important;
  transition:transform .18s ease,background .18s ease !important;
}

@media (hover:hover) and (pointer:fine){
  body.cabinet-page .subject-summary:hover{
    transform:translateY(-3px);
    border-color:rgba(73,124,184,.31) !important;
    box-shadow:
      0 17px 38px rgba(49,70,102,.14),
      inset 0 1px 0 rgba(255,255,255,.98) !important;
  }
  body.cabinet-page .subject-summary:hover .subject-chevron{
    background:#e8f2fb !important;
    transform:translateX(2px);
  }
}

/* Open subject visually connects to its lesson list. */
body.cabinet-page .subject-fold[open] .subject-summary{
  border-radius:20px 20px 14px 14px !important;
  border-color:rgba(73,124,184,.28) !important;
}
body.cabinet-page .subject-body{
  margin-top:8px;
  padding:8px !important;
  border:1px solid rgba(100,128,164,.14);
  border-radius:14px;
  background:rgba(255,255,255,.78);
  backdrop-filter:blur(9px);
  -webkit-backdrop-filter:blur(9px);
  box-shadow:0 8px 22px rgba(49,70,102,.06);
}

/* MOBILE: same visual language, deliberately compact. */
@media (max-width:650px){
  body.cabinet-page{
    background-position:center top !important;
    background-size:auto 100vh !important;
  }
  body.cabinet-page::before{
    background:rgba(250,251,254,.54);
  }
  body.cabinet-page .cabinet-method-title{
    margin-bottom:8px;
    font-size:15.5px;
    line-height:1.4;
  }
  body.cabinet-page .student-home-hero h1{
    font-size:32px;
  }
  body.cabinet-page .student-home-hero p{
    font-size:15px;
  }
  body.cabinet-page .subject-accordion{
    gap:10px !important;
    margin-top:22px;
  }
  body.cabinet-page .subject-summary{
    min-height:68px !important;
    padding:14px 14px 14px 23px !important;
    border-radius:17px !important;
  }
  body.cabinet-page .subject-summary-main strong{
    font-size:18px !important;
  }
  body.cabinet-page .subject-chevron{
    width:32px !important;
    height:32px !important;
  }
}

/* DESKTOP: make the redesign unmistakable and let the background breathe. */
@media (min-width:651px){
  body.cabinet-page .home{
    max-width:1040px !important;
    padding-top:46px !important;
  }
  body.cabinet-page .subject-summary{
    min-height:78px !important;
  }
}


/* =========================================================
   SELIN ADMIN v1 — working dashboard redesign
   Scoped to body.admin-page so the student cabinet and lessons stay untouched.
   ========================================================= */
body.admin-page{
  --admin-accent:#2466A8;
  --admin-accent-dark:#174D80;
  --admin-ink:#202938;
  --admin-muted:#748094;
  --admin-line:#E3E9F1;
  --admin-surface:#FFFFFF;
  --admin-bg:#F4F7FB;
  min-height:100vh;
  background:
    radial-gradient(circle at 82% 0%,rgba(111,151,213,.10),transparent 30%),
    linear-gradient(180deg,#F8FAFD 0,#F4F7FB 35%,#F4F7FB 100%) !important;
  color:var(--admin-ink);
}
body.admin-page .admin-topbar{
  height:68px;
  padding:0 28px;
  background:rgba(255,255,255,.94);
  border-bottom:1px solid rgba(119,142,172,.16);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  box-shadow:0 2px 14px rgba(35,55,84,.035);
}
body.admin-page .admin-brand{display:flex;align-items:center;gap:11px;min-width:0}
body.admin-page .admin-brand strong{font-size:15px;letter-spacing:-.015em;white-space:nowrap}
body.admin-page .admin-brand span{
  display:inline-flex;align-items:center;height:26px;padding:0 9px;border-radius:999px;
  background:#EEF4FA;color:var(--admin-accent);font-size:11px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;
}
body.admin-page .admin-topbar nav{gap:10px}
body.admin-page .admin-topbar nav a{padding:9px 12px;border-radius:10px;color:#596579;font-size:14px;font-weight:600}
body.admin-page .admin-topbar nav a:hover{background:#F3F6FA;color:var(--admin-ink)}
body.admin-page .admin-topbar nav .admin-cabinet-link{color:var(--admin-accent);background:#F1F6FB;border:1px solid #DFEAF5}

body.admin-page .admin-shell{grid-template-columns:248px minmax(0,1fr);min-height:calc(100vh - 68px)}
body.admin-page .admin-nav{
  position:sticky;top:68px;align-self:start;height:calc(100vh - 68px);overflow-y:auto;
  padding:26px 18px 34px;background:rgba(255,255,255,.92);border-right:1px solid var(--admin-line);gap:24px;
}
body.admin-page .admin-nav-group{display:grid;gap:5px}
body.admin-page .admin-nav-label{
  padding:0 12px 7px;color:#9AA5B5;font-size:10px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;
}
body.admin-page .admin-nav a{
  position:relative;padding:11px 13px 11px 15px;border-radius:11px;color:#4D596C;font-size:14px;font-weight:600;
  transition:background .16s ease,color .16s ease,transform .16s ease;
}
body.admin-page .admin-nav a:hover{background:#F4F7FB;color:#233044}
body.admin-page .admin-nav a.is-active{
  background:linear-gradient(90deg,#EAF3FC 0,#F3F7FC 100%);color:var(--admin-accent-dark);font-weight:750;
  box-shadow:inset 0 0 0 1px rgba(36,102,168,.08);
}
body.admin-page .admin-nav a.is-active::before{
  content:"";position:absolute;left:0;top:9px;bottom:9px;width:4px;border-radius:0 5px 5px 0;
  background:linear-gradient(180deg,#4C91D1,#7B6FE2);
}
body.admin-page .admin-main{width:100%;max-width:1440px;padding:40px 44px 72px}
body.admin-page .admin-main>h1,
body.admin-page .heading-row h1,
body.admin-page .tb-top h1{font-size:32px;line-height:1.12;letter-spacing:-.035em;margin:0 0 22px;color:#202938}
body.admin-page .heading-row{margin-bottom:22px}
body.admin-page .heading-row>div h1{margin-bottom:6px}
body.admin-page .heading-row .muted{margin:0;max-width:760px;line-height:1.55}
body.admin-page .admin-eyebrow{margin:0 0 7px;color:#8290A4;font-size:11px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
body.admin-page .admin-page-intro{max-width:720px;margin:8px 0 0;color:var(--admin-muted);font-size:15px;line-height:1.55}
body.admin-page .admin-dashboard-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px}
body.admin-page .admin-dashboard-head h1{font-size:38px;line-height:1.06;letter-spacing:-.045em;margin:0;color:#202938}
body.admin-page .admin-primary-action{min-height:42px;padding:11px 16px;border-radius:12px;background:var(--admin-accent);box-shadow:0 8px 20px rgba(36,102,168,.16)}

body.admin-page button,
body.admin-page .button-link{border-radius:11px;background:var(--admin-accent)}
body.admin-page button:hover,
body.admin-page .button-link:hover{filter:brightness(.98)}
body.admin-page .ghost,
body.admin-page .ghost-link{background:#fff;color:#455269;border:1px solid #DCE4EE;box-shadow:none}
body.admin-page input,
body.admin-page textarea,
body.admin-page select{border:1px solid #D8E0EA;border-radius:11px;background:#fff;box-shadow:0 1px 1px rgba(40,58,82,.02)}
body.admin-page input:focus,
body.admin-page textarea:focus,
body.admin-page select:focus{outline:none;border-color:#8CB6DC;box-shadow:0 0 0 3px rgba(36,102,168,.10)}
body.admin-page label{color:#3D495B}
body.admin-page .muted{color:var(--admin-muted)}
body.admin-page .notice{border-radius:13px;margin:0 0 22px;background:#F0F8F3;border-color:#CCE6D5;color:#325840}

/* Dashboard */
body.admin-page .dashboard-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}
body.admin-page .dashboard-stat-card{
  position:relative;overflow:hidden;min-height:132px;padding:20px 21px 18px;border:1px solid var(--admin-line);border-radius:18px;
  background:rgba(255,255,255,.94);box-shadow:0 10px 28px rgba(38,62,92,.055);
}
body.admin-page .dashboard-stat-card::after{
  content:"";position:absolute;width:120px;height:120px;right:-60px;top:-58px;border-radius:50%;
  background:radial-gradient(circle,rgba(80,145,204,.13),rgba(123,111,226,0) 70%);
}
body.admin-page .dashboard-stat-label{display:block;color:#7B8798;font-size:12px;font-weight:750;letter-spacing:.015em}
body.admin-page .dashboard-stat-card strong{display:block;margin:8px 0 7px;font-size:34px;line-height:1;font-weight:800;letter-spacing:-.04em;color:#223044}
body.admin-page .dashboard-stat-card small{display:block;color:#8792A2;font-size:12px;line-height:1.35}
body.admin-page .dashboard-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);gap:18px;align-items:start}
body.admin-page .dashboard-panel{
  border:1px solid var(--admin-line);border-radius:20px;background:rgba(255,255,255,.95);padding:22px;
  box-shadow:0 10px 30px rgba(38,62,92,.05);
}
body.admin-page .dashboard-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px}
body.admin-page .dashboard-panel-head h2{margin:0;color:#273448;font-size:19px;letter-spacing:-.025em}
body.admin-page .dashboard-panel-head p{margin:5px 0 0;color:#8792A2;font-size:12px;line-height:1.45}
body.admin-page .dashboard-panel-head>a{color:var(--admin-accent);font-size:12px;font-weight:750;text-decoration:none;white-space:nowrap}
body.admin-page .dashboard-subject-list{display:grid;gap:3px}
body.admin-page .dashboard-subject-row{
  display:grid;grid-template-columns:150px minmax(120px,1fr) 116px 58px;align-items:center;gap:13px;
  padding:13px 0;border-top:1px solid #EEF2F6;
}
body.admin-page .dashboard-subject-row:first-child{border-top:0;padding-top:4px}
body.admin-page .dashboard-subject-title{display:grid;gap:2px;min-width:0}
body.admin-page .dashboard-subject-title strong{font-size:14px;color:#344155;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.admin-page .dashboard-subject-title span{font-size:11px;color:#97A1AF}
body.admin-page .dashboard-subject-meter{height:7px;border-radius:999px;background:#EEF2F6;overflow:hidden}
body.admin-page .dashboard-subject-meter span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#5E9FD8,#7B73DF)}
body.admin-page .dashboard-subject-meta{font-size:11px;color:#8490A0;white-space:nowrap}
body.admin-page .dashboard-subject-meta .is-empty{color:#A4ACB7}
body.admin-page .dashboard-subject-link{justify-self:end;color:var(--admin-accent);font-size:12px;font-weight:750;text-decoration:none}
body.admin-page .dashboard-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
body.admin-page .dashboard-action-grid a{
  min-height:92px;padding:15px;border:1px solid #E6EBF2;border-radius:14px;background:#F9FBFD;text-decoration:none;
  display:flex;flex-direction:column;justify-content:center;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
body.admin-page .dashboard-action-grid a:hover{transform:translateY(-2px);border-color:#C9DBED;box-shadow:0 8px 18px rgba(45,77,115,.07)}
body.admin-page .dashboard-action-grid strong{font-size:13px;color:#2E3B4E}
body.admin-page .dashboard-action-grid span{margin-top:5px;color:#8B96A6;font-size:11px;line-height:1.35}
body.admin-page .dashboard-count-pill{display:inline-grid;place-items:center;min-width:32px;height:28px;padding:0 9px;border-radius:999px;background:#EEF4FA;color:var(--admin-accent);font-size:12px;font-weight:800}
body.admin-page .dashboard-note-list{display:grid;gap:10px}
body.admin-page .dashboard-note-item{padding:14px 15px;border:1px solid #E8EDF3;border-radius:14px;background:#FAFBFD}
body.admin-page .dashboard-note-meta{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:7px}
body.admin-page .dashboard-note-meta strong{font-size:12px;color:#315D8B}
body.admin-page .dashboard-note-meta span{font-size:11px;color:#96A0AE}
body.admin-page .dashboard-note-item p{margin:0;color:#465267;font-size:13px;line-height:1.5}
body.admin-page .dashboard-note-item>a{display:inline-block;margin-top:8px;color:var(--admin-accent);font-size:11px;font-weight:750;text-decoration:none}
body.admin-page .dashboard-empty{padding:18px;border-radius:14px;background:#F8FAFC;color:#8A95A4;font-size:13px;text-align:center}
body.admin-page .dashboard-system-list{display:grid;gap:0}
body.admin-page .dashboard-system-list>div{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-top:1px solid #EEF2F6;font-size:12px}
body.admin-page .dashboard-system-list>div:first-child{border-top:0;padding-top:2px}
body.admin-page .dashboard-system-list span{color:#7F8B9B}
body.admin-page .dashboard-system-list strong{color:#445167;text-align:right}
body.admin-page .dashboard-system-list strong.is-ok{color:#3B7A57}
body.admin-page .dashboard-system-list strong.is-warn{color:#A66A2D}
body.admin-page .dashboard-system-list strong.is-muted{color:#929CAB}
body.admin-page .dashboard-attention{margin-top:13px;padding:12px 13px;border-radius:12px;background:#FFF8EE;color:#8A642F;font-size:12px;line-height:1.45}
body.admin-page .dashboard-attention span{font-weight:800}
body.admin-page .dashboard-attention.is-clear{background:#F1F8F3;color:#4E755C}

/* The rest of the admin pages inherit the same card language. */
body.admin-page .settings-card,
body.admin-page .memory-card,
body.admin-page .memory-lesson,
body.admin-page .table-wrap{
  border-color:var(--admin-line);border-radius:16px;background:rgba(255,255,255,.96);box-shadow:0 8px 24px rgba(38,62,92,.04);
}
body.admin-page .settings-card{padding:22px}
body.admin-page .table-wrap table tr:last-child td{border-bottom:0}
body.admin-page .table-wrap th{background:#F8FAFC;color:#697588;font-size:12px;font-weight:750}
body.admin-page .table-wrap td{color:#445064}
body.admin-page .table-wrap tbody tr:hover{background:#FBFCFE}
body.admin-page .admin-subject-fold{border:1px solid var(--admin-line);border-radius:16px;background:#fff;overflow:hidden;box-shadow:0 7px 20px rgba(38,62,92,.04)}
body.admin-page .admin-subject-summary{background:#fff}
body.admin-page .admin-subject-fold[open] .admin-subject-summary{background:#FAFCFE}
body.admin-page .admin-status.is-published{background:#EDF7F0;color:#44745A}
body.admin-page .admin-status.is-draft{background:#FFF5E9;color:#9A6A30}

/* Notes page */
body.admin-page .notes-page{max-width:1280px}
body.admin-page .note-create-card,
body.admin-page .note-editor{border-radius:18px}
body.admin-page .admin-note-card{border-color:#E5EAF1;border-radius:15px}

/* Textbooks now live inside the same admin shell. */
body.admin-page .textbooks-admin-page{max-width:1440px}
body.admin-page .tb-admin{max-width:none;margin:0;padding:0}
body.admin-page .tb-top{margin-bottom:22px}
body.admin-page .tb-top h1{margin:0 0 7px}
body.admin-page .tb-card{border:1px solid var(--admin-line);border-radius:18px;padding:20px;background:#fff;box-shadow:0 8px 24px rgba(38,62,92,.04);margin:0 0 16px}
body.admin-page .tb-card h2{margin-top:0;color:#2C394D;font-size:18px}
body.admin-page .tb-table th{background:#F8FAFC;color:#697588}
body.admin-page .tb-ex{border-color:#E5EAF1;border-radius:14px;background:#FAFBFD}
body.admin-page .tb-badge{background:#EEF4FA;color:#4B6E92}

@media (max-width:1100px){
  body.admin-page .dashboard-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.admin-page .dashboard-layout{grid-template-columns:1fr}
  body.admin-page .dashboard-subject-row{grid-template-columns:145px minmax(120px,1fr) 110px 58px}
}
@media (max-width:900px){
  body.admin-page .admin-topbar{height:62px;padding:0 16px}
  body.admin-page .admin-brand strong{font-size:14px}
  body.admin-page .admin-brand span{display:none}
  body.admin-page .admin-shell{display:block;min-height:calc(100vh - 62px)}
  body.admin-page .admin-nav{
    position:sticky;top:62px;z-index:9;height:auto;padding:10px 14px;background:rgba(255,255,255,.97);border-right:0;border-bottom:1px solid var(--admin-line);
    display:flex;flex-direction:row;gap:8px;overflow-x:auto;overflow-y:hidden;white-space:nowrap;
  }
  body.admin-page .admin-nav-group{display:flex;flex-direction:row;gap:5px}
  body.admin-page .admin-nav-label{display:none}
  body.admin-page .admin-nav a{padding:9px 11px;font-size:13px}
  body.admin-page .admin-nav a.is-active::before{left:8px;right:8px;top:auto;bottom:0;width:auto;height:3px;border-radius:4px 4px 0 0}
  body.admin-page .admin-main{padding:28px 22px 60px}
}
@media (max-width:650px){
  body.admin-page .admin-topbar nav .admin-cabinet-link{display:none}
  body.admin-page .admin-dashboard-head{align-items:flex-start;flex-direction:column;margin-bottom:18px}
  body.admin-page .admin-dashboard-head h1{font-size:33px}
  body.admin-page .dashboard-stat-grid{grid-template-columns:1fr 1fr;gap:10px}
  body.admin-page .dashboard-stat-card{min-height:116px;padding:17px}
  body.admin-page .dashboard-stat-card strong{font-size:29px}
  body.admin-page .dashboard-panel{padding:17px;border-radius:17px}
  body.admin-page .dashboard-subject-row{grid-template-columns:1fr auto;gap:8px 12px;padding:13px 0}
  body.admin-page .dashboard-subject-meter{grid-column:1/-1;grid-row:2}
  body.admin-page .dashboard-subject-meta{grid-column:1;grid-row:3}
  body.admin-page .dashboard-subject-link{grid-column:2;grid-row:3}
  body.admin-page .dashboard-action-grid{grid-template-columns:1fr}
  body.admin-page .admin-main{padding:24px 14px 50px}
  body.admin-page .admin-main>h1,body.admin-page .heading-row h1,body.admin-page .tb-top h1{font-size:28px}
}

/* Admin detail pages and lesson accordion */
body.admin-page .admin-subject-accordion{display:grid;gap:12px}
body.admin-page .admin-subject-summary{
  list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:17px 19px;border-radius:16px;transition:background .16s ease;
}
body.admin-page .admin-subject-summary::-webkit-details-marker{display:none}
body.admin-page .admin-subject-summary-main{display:flex;align-items:baseline;gap:8px;min-width:0}
body.admin-page .admin-subject-summary-main strong{font-size:15px;color:#334055}
body.admin-page .admin-subject-count{font-size:11px;color:#929DAC}
body.admin-page .admin-subject-chevron{font-size:22px;line-height:1;color:#8A96A6;transition:transform .16s ease}
body.admin-page .admin-subject-fold[open] .admin-subject-chevron{transform:rotate(90deg)}
body.admin-page .admin-subject-body{padding:0 15px 15px}
body.admin-page .admin-subject-empty{margin:0;padding:8px 4px 4px}
body.admin-page .admin-lessons-table-wrap{box-shadow:none;border-radius:12px}
body.admin-page .admin-lessons-table th,body.admin-page .admin-lessons-table td{padding:12px 13px}
body.admin-page .admin-lesson-section{font-weight:800;color:#5C6A7F}
body.admin-page .admin-lesson-action{text-align:right}
body.admin-page .admin-lesson-action a{color:var(--admin-accent);font-size:12px;font-weight:750;text-decoration:none}
body.admin-page .admin-status{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.02em}

body.admin-page-users .student-add,
body.admin-page-parents .parent-add,
body.admin-page-edit_lesson .admin-main>form.admin-form{
  margin:0 0 22px;padding:22px;border:1px solid var(--admin-line);border-radius:18px;background:#fff;
  box-shadow:0 8px 24px rgba(38,62,92,.04);
}
body.admin-page-edit_lesson .admin-main>form.admin-form{gap:18px}
body.admin-page .field-help{color:#8A95A5;line-height:1.45}
body.admin-page .note-card{border-color:var(--admin-line);border-radius:17px;box-shadow:0 8px 24px rgba(38,62,92,.045)}
body.admin-page .note-card-title{color:var(--admin-accent-dark)}
body.admin-page .note-edit-link{color:var(--admin-accent)}
body.admin-page .memory-grid{gap:16px}
body.admin-page .memory-card,body.admin-page .memory-lesson{padding:20px}
body.admin-page .status-pill{background:#EEF4FA;color:#587695}

@media (max-width:1100px){
  body.admin-page .tb-form-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:650px){
  body.admin-page .admin-subject-summary{padding:15px}
  body.admin-page .admin-subject-summary-main{display:grid;gap:3px}
  body.admin-page .inline-form{grid-template-columns:1fr}
  body.admin-page .form-grid{grid-template-columns:1fr}
  body.admin-page .form-grid .wide{grid-column:1}
  body.admin-page .tb-form-grid{grid-template-columns:1fr}
}


/* =========================================================
   SELIN ADMIN v2 — card-based overview
   ========================================================= */
body.admin-page .admin-main{
  max-width:none;
  padding-right:clamp(28px,4vw,64px);
}
body.admin-page .admin-dashboard-head{
  max-width:1320px;
  margin-bottom:26px;
}
body.admin-page .dashboard-stat-grid,
body.admin-page .dashboard-section,
body.admin-page .dashboard-mid-grid{
  max-width:1320px;
}
body.admin-page .dashboard-stat-grid{gap:16px;margin-bottom:30px}
body.admin-page .dashboard-stat-card{
  min-height:146px;
  padding:22px 23px;
  border-radius:22px;
  border:1px solid rgba(203,214,228,.78);
  background:linear-gradient(145deg,rgba(255,255,255,.99),rgba(249,252,255,.96));
  box-shadow:0 14px 34px rgba(51,75,106,.07);
}
body.admin-page .dashboard-stat-card strong{font-size:40px;margin:10px 0 10px}
body.admin-page .dashboard-stat-card small{max-width:210px;font-size:12px;line-height:1.45}

body.admin-page .dashboard-section{margin:0 0 30px}
body.admin-page .dashboard-section-head{
  display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin:0 0 14px;
}
body.admin-page .dashboard-section-head h2{margin:0;color:#263348;font-size:21px;letter-spacing:-.03em}
body.admin-page .dashboard-section-head p{margin:5px 0 0;color:#8692A2;font-size:12px;line-height:1.45}
body.admin-page .dashboard-section-head>a{color:var(--admin-accent);font-size:12px;font-weight:800;text-decoration:none}

body.admin-page .dashboard-subject-card-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;
}
body.admin-page .dashboard-subject-card{
  min-height:220px;padding:18px;border:1px solid #DDE6F0;border-radius:20px;
  background:linear-gradient(160deg,#FFFFFF 0%,#F9FBFE 100%);
  box-shadow:0 12px 28px rgba(45,70,101,.055);
  display:flex;flex-direction:column;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
body.admin-page .dashboard-subject-card:hover{transform:translateY(-2px);border-color:#C8D9EA;box-shadow:0 16px 34px rgba(45,70,101,.08)}
body.admin-page .dashboard-subject-card.is-empty{background:linear-gradient(160deg,#FFFFFF 0%,#FBFCFE 100%)}
body.admin-page .dashboard-subject-card-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
body.admin-page .dashboard-subject-card-head>div{display:grid;gap:3px;min-width:0}
body.admin-page .dashboard-subject-card-head strong{font-size:15px;color:#2E3B50;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.admin-page .dashboard-subject-card-head>div span{font-size:10px;color:#98A3B1}
body.admin-page .dashboard-subject-badge{
  flex:0 0 auto;padding:5px 7px;border-radius:999px;background:#EEF5FB;color:#4E759A;font-size:9px;font-weight:800;white-space:nowrap;
}
body.admin-page .dashboard-subject-card.is-empty .dashboard-subject-badge{background:#F1F3F6;color:#929BA8}
body.admin-page .dashboard-subject-number{display:flex;align-items:baseline;gap:7px;margin:26px 0 17px}
body.admin-page .dashboard-subject-number strong{font-size:38px;line-height:1;color:#223044;letter-spacing:-.05em}
body.admin-page .dashboard-subject-number span{font-size:11px;color:#8793A3}
body.admin-page .dashboard-subject-quiz-count{display:flex;align-items:baseline;gap:6px;margin:-8px 0 14px;color:#6D79A0}
body.admin-page .dashboard-subject-quiz-count strong{font-size:16px;line-height:1;color:#596BB4;letter-spacing:-.02em}
body.admin-page .dashboard-subject-quiz-count span{font-size:10px;font-weight:650;color:#8A94A5}
body.admin-page .dashboard-subject-meter{height:8px;margin-top:auto;border-radius:999px;background:#EBF0F5;overflow:hidden}
body.admin-page .dashboard-subject-meter span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#5A9BD5,#8177E4)}
body.admin-page .dashboard-subject-card.is-empty .dashboard-subject-meter span{width:0!important}
body.admin-page .dashboard-subject-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:13px;padding-top:13px;border-top:1px solid #EDF1F5}
body.admin-page .dashboard-subject-footer>span{font-size:10px;color:#8B96A5;line-height:1.35}
body.admin-page .dashboard-subject-footer>a{font-size:11px;font-weight:800;color:var(--admin-accent);text-decoration:none}

body.admin-page .dashboard-mid-grid{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;margin-bottom:30px;
}
body.admin-page .dashboard-section-compact{margin:0}
body.admin-page .dashboard-action-grid,
body.admin-page .dashboard-health-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
body.admin-page .dashboard-action-grid a,
body.admin-page .dashboard-health-card{
  min-height:126px;padding:18px;border:1px solid #DFE6EF;border-radius:18px;background:#fff;
  box-shadow:0 10px 26px rgba(43,67,98,.05);
}
body.admin-page .dashboard-action-grid a{justify-content:flex-start}
body.admin-page .dashboard-action-grid a strong{font-size:14px;color:#2A384C}
body.admin-page .dashboard-action-grid a span{margin-top:8px;font-size:11px;line-height:1.45;color:#8A95A4}
body.admin-page .dashboard-health-card{display:flex;flex-direction:column;justify-content:center}
body.admin-page .dashboard-health-card>span{font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#929CAB}
body.admin-page .dashboard-health-card>strong{margin-top:8px;font-size:18px;line-height:1.2;color:#344156}
body.admin-page .dashboard-health-card>strong.is-ok{color:#42765A}
body.admin-page .dashboard-health-card>strong.is-warn{color:#A36A2F}
body.admin-page .dashboard-health-card>strong.is-muted{color:#7F8996}
body.admin-page .dashboard-health-card>small{margin-top:7px;color:#929CAB;font-size:10px;line-height:1.35}

body.admin-page .dashboard-notes-section{margin-bottom:10px}
body.admin-page .dashboard-note-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
body.admin-page .dashboard-note-item{
  min-height:190px;padding:18px;border:1px solid #DFE6EF;border-radius:19px;background:linear-gradient(160deg,#FFFFFF,#FAFCFE);
  box-shadow:0 11px 28px rgba(43,67,98,.05);display:flex;flex-direction:column;
}
body.admin-page .dashboard-note-meta{justify-content:space-between;align-items:center;margin-bottom:14px}
body.admin-page .dashboard-note-meta strong{font-size:11px;color:#356B9D}
body.admin-page .dashboard-note-meta span{font-size:10px;color:#9AA4B1}
body.admin-page .dashboard-note-item p{font-size:13px;line-height:1.55;color:#465267}
body.admin-page .dashboard-note-footer{margin-top:auto;padding-top:14px;border-top:1px solid #EDF1F5}
body.admin-page .dashboard-note-footer a{font-size:11px;font-weight:800;color:var(--admin-accent);text-decoration:none}
body.admin-page .dashboard-note-footer span{font-size:10px;color:#99A3B0}

@media (max-width:1250px){
  body.admin-page .dashboard-subject-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:1050px){
  body.admin-page .dashboard-mid-grid{grid-template-columns:1fr}
  body.admin-page .dashboard-note-card-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
  body.admin-page .dashboard-subject-card-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:650px){
  body.admin-page .dashboard-stat-grid,
  body.admin-page .dashboard-subject-card-grid,
  body.admin-page .dashboard-action-grid,
  body.admin-page .dashboard-health-grid,
  body.admin-page .dashboard-note-card-grid{grid-template-columns:1fr}
  body.admin-page .dashboard-subject-card{min-height:190px}
  body.admin-page .dashboard-section-head{align-items:flex-start}
}

/* =========================================================
   SELIN ADMIN — progress & memory dashboard
   ========================================================= */
body.admin-page-memory .admin-main{max-width:none}
body.admin-page-memory .progress-memory-page{max-width:1320px}
body.admin-page-memory .progress-memory-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:22px}
body.admin-page-memory .admin-eyebrow{margin-bottom:7px;color:#7A8CA1;font-size:10px;font-weight:850;letter-spacing:.10em;text-transform:uppercase}
body.admin-page-memory .progress-memory-head h1{margin:0;color:#263348;font-size:34px;line-height:1.08;letter-spacing:-.045em}
body.admin-page-memory .progress-memory-head p{margin:9px 0 0;color:#7F8B9B;font-size:13px;line-height:1.5}
body.admin-page-memory .progress-filters{display:grid;grid-template-columns:minmax(190px,1.1fr) minmax(180px,1fr) minmax(150px,.8fr) auto;gap:12px;align-items:end;margin:0 0 22px;padding:17px 18px;border:1px solid #DDE6F0;border-radius:18px;background:rgba(255,255,255,.94);box-shadow:0 10px 28px rgba(43,67,98,.045)}
body.admin-page-memory .progress-filters label{gap:6px;color:#6F7D90;font-size:11px;font-weight:800}
body.admin-page-memory .progress-filters select{height:42px;border-color:#D7E0EA;background:#FBFCFE;color:#344156;font-size:13px}
body.admin-page-memory .progress-filters button{height:42px;padding:0 18px;background:#3F77B5}

body.admin-page-memory .progress-stat-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:13px;margin-bottom:26px}
body.admin-page-memory .progress-stat-card{min-height:142px;padding:18px 18px 17px;border:1px solid #DCE5EF;border-radius:20px;background:linear-gradient(150deg,#FFFFFF 0%,#F9FBFE 100%);box-shadow:0 11px 28px rgba(43,67,98,.055);display:flex;flex-direction:column}
body.admin-page-memory .progress-stat-card>span{color:#8996A7;font-size:10px;font-weight:850;letter-spacing:.055em;text-transform:uppercase}
body.admin-page-memory .progress-stat-card>strong{margin:18px 0 10px;color:#27364B;font-size:36px;line-height:1;letter-spacing:-.055em}
body.admin-page-memory .progress-stat-card>strong.is-date{font-size:20px;line-height:1.25;letter-spacing:-.025em}
body.admin-page-memory .progress-stat-card>small{margin-top:auto;color:#8C98A7;font-size:10px;line-height:1.45}
body.admin-page-memory .progress-stat-card.is-visit{background:linear-gradient(145deg,#F7FBFF,#FFFFFF)}

body.admin-page-memory .progress-two-col{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(330px,.75fr);gap:18px;margin-bottom:28px}
body.admin-page-memory .progress-panel,body.admin-page-memory .progress-section{margin:0 0 28px;padding:22px;border:1px solid #DCE5EF;border-radius:21px;background:rgba(255,255,255,.96);box-shadow:0 11px 30px rgba(43,67,98,.05)}
body.admin-page-memory .progress-two-col .progress-panel{margin:0}
body.admin-page-memory .progress-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:17px}
body.admin-page-memory .progress-section-head h2{margin:0;color:#2B394D;font-size:19px;line-height:1.2;letter-spacing:-.025em}
body.admin-page-memory .progress-section-head p{margin:6px 0 0;color:#8A96A5;font-size:11px;line-height:1.45}
body.admin-page-memory .progress-context{flex:0 0 auto;padding:6px 9px;border-radius:999px;background:#EEF4FA;color:#567493;font-size:9px;font-weight:800}

body.admin-page-memory .progress-bars{height:132px;display:flex;align-items:flex-end;gap:8px;padding:7px 6px 0;border-bottom:1px solid #E7EDF4}
body.admin-page-memory .progress-day{flex:1;min-width:16px;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px}
body.admin-page-memory .progress-bar-wrap{height:94px;width:100%;display:flex;align-items:flex-end;justify-content:center}
body.admin-page-memory .progress-bar{width:min(24px,68%);min-height:4px;border-radius:7px 7px 2px 2px;background:linear-gradient(180deg,#75A9DD,#6F78D7);box-shadow:0 5px 12px rgba(83,112,170,.14)}
body.admin-page-memory .progress-day span{height:16px;color:#98A3B0;font-size:9px}

body.admin-page-memory .progress-mastery-grid{display:grid;grid-template-columns:1fr;gap:10px}
body.admin-page-memory .progress-mastery-grid article{min-height:78px;padding:15px 16px;border:1px solid #E1E8F0;border-radius:15px;background:#FAFBFD;display:flex;align-items:center;justify-content:space-between;gap:14px}
body.admin-page-memory .progress-mastery-grid strong{color:#314056;font-size:28px;line-height:1}
body.admin-page-memory .progress-mastery-grid span{color:#7F8B9B;font-size:11px;font-weight:750;text-align:right}
body.admin-page-memory .progress-mastery-grid .is-mastered{background:#F3F9F5;border-color:#DCEBDF}
body.admin-page-memory .progress-mastery-grid .is-mastered strong{color:#4D765C}
body.admin-page-memory .progress-mastery-grid .is-needs{background:#FFF9F0;border-color:#F0E3D0}
body.admin-page-memory .progress-mastery-grid .is-needs strong{color:#9B6A31}

body.admin-page-memory .progress-subject-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
body.admin-page-memory .progress-subject-card{min-height:214px;padding:20px;border:1px solid #C9D6E6;border-radius:18px;background:linear-gradient(155deg,#F7FAFF 0%,#FFFFFF 72%);box-shadow:0 10px 26px rgba(43,67,98,.085),inset 0 3px 0 #DCE8F7;text-decoration:none;display:flex;flex-direction:column;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease}
body.admin-page-memory .progress-subject-card:hover{transform:translateY(-2px);border-color:#AFC5DE;background:linear-gradient(155deg,#F3F8FF 0%,#FFFFFF 76%);box-shadow:0 15px 34px rgba(43,67,98,.12),inset 0 3px 0 #C9DCF2}
body.admin-page-memory .progress-subject-card.is-empty{background:linear-gradient(155deg,#F6F8FC 0%,#FFFFFF 78%);border-color:#CED9E7;box-shadow:0 9px 23px rgba(43,67,98,.07),inset 0 3px 0 #E1E7F0}
body.admin-page-memory .progress-subject-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
body.admin-page-memory .progress-subject-top strong{color:#26364C;font-size:16px;line-height:1.3;font-weight:800}
body.admin-page-memory .progress-subject-top span{padding:5px 8px;border-radius:999px;background:#EAF4EF;color:#4D6E5B;font-size:10.5px;line-height:1.15;font-weight:800;white-space:nowrap}
body.admin-page-memory .progress-subject-card.is-empty .progress-subject-top span{background:#E9EDF3;color:#667386}
body.admin-page-memory .progress-subject-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:24px 0 17px}
body.admin-page-memory .progress-subject-numbers div{min-width:0}
body.admin-page-memory .progress-subject-numbers b{display:block;color:#22344C;font-size:26px;line-height:1;font-weight:800}
body.admin-page-memory .progress-subject-numbers span{display:block;margin-top:6px;color:#6F7E90;font-size:11px;line-height:1.25}
body.admin-page-memory .progress-subject-memory{display:flex;gap:16px;padding-top:13px;border-top:1px solid #DDE5EE;color:#6C7A8C;font-size:11.5px;line-height:1.35}
body.admin-page-memory .progress-subject-memory b{color:#3F5067;font-weight:800}
body.admin-page-memory .progress-subject-card>small{margin-top:auto;padding-top:15px;color:#718094;font-size:10.5px;line-height:1.4}

body.admin-page-memory .progress-activity-list{display:grid;gap:0}
body.admin-page-memory .progress-activity-row{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 3px;border-top:1px solid #EDF1F5}
body.admin-page-memory .progress-activity-row:first-child{border-top:0;padding-top:4px}
body.admin-page-memory .progress-activity-mark{width:7px;height:7px;border-radius:50%;background:#7D9DCF;box-shadow:0 0 0 4px #EEF4FA}
body.admin-page-memory .progress-activity-main{min-width:0;display:flex;flex-direction:column;gap:3px}
body.admin-page-memory .progress-activity-main strong{color:#3A485C;font-size:12px}
body.admin-page-memory .progress-activity-main span{color:#8B97A6;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.admin-page-memory .progress-activity-row time{color:#98A3B0;font-size:10px;white-space:nowrap}
body.admin-page-memory .progress-empty-inline,body.admin-page-memory .progress-empty{padding:20px;border:1px dashed #D8E1EB;border-radius:15px;background:#FAFCFE;color:#8A96A5;font-size:12px;text-align:center}

body.admin-page-memory .memory-section{padding-bottom:24px}
body.admin-page-memory .memory-state{padding:6px 9px;border-radius:999px;font-size:9px;font-weight:850;white-space:nowrap}
body.admin-page-memory .memory-state.is-on{background:#EDF7F0;color:#4C775C}
body.admin-page-memory .memory-state.is-off{background:#F2F3F5;color:#89929D}
body.admin-page-memory .progress-memory-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin:0;gap:13px}
body.admin-page-memory .progress-memory-grid .wide-memory{grid-column:1/-1;min-height:145px}
body.admin-page-memory .progress-memory-grid .memory-card{min-height:150px;padding:18px;border-radius:17px;box-shadow:none;background:#FAFCFE}
body.admin-page-memory .progress-memory-grid .wide-memory{background:linear-gradient(145deg,#F7FAFE,#FFFFFF)}
body.admin-page-memory .memory-card-label{display:block;margin-bottom:10px;color:#7B8CA0;font-size:9px;font-weight:850;letter-spacing:.055em;text-transform:uppercase}
body.admin-page-memory .progress-memory-grid h3{margin:0 0 8px;color:#334157;font-size:17px}
body.admin-page-memory .progress-memory-grid p{margin:0;color:#596679;font-size:12px;line-height:1.6}
body.admin-page-memory .progress-memory-lessons{gap:11px}
body.admin-page-memory .progress-memory-lessons .memory-lesson{padding:17px 18px;border-radius:16px;box-shadow:none}
body.admin-page-memory .progress-memory-lessons .memory-lesson-head{align-items:center}
body.admin-page-memory .progress-memory-lessons .memory-lesson-head strong{color:#354359;font-size:12px;line-height:1.4}
body.admin-page-memory .progress-memory-lessons .memory-lesson p{margin:10px 0 0;color:#5C687A;font-size:11px;line-height:1.55}
body.admin-page-memory .memory-lesson-foot{display:flex;gap:16px;flex-wrap:wrap;margin-top:11px;padding-top:10px;border-top:1px solid #EDF1F5;color:#97A1AE;font-size:9px}
body.admin-page-memory .status-pill{font-size:9px;font-weight:850;padding:5px 8px}
body.admin-page-memory .status-pill.status-mastered{background:#EDF7F0;color:#4C775C}
body.admin-page-memory .status-pill.status-needs_practice{background:#FFF4E6;color:#9A672D}
body.admin-page-memory .status-pill.status-in_progress{background:#EEF4FA;color:#587695}

body.admin-page-memory .memory-danger-zone{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:8px;padding:19px 21px;border:1px solid #E8D9D9;border-radius:18px;background:#FFF9F9}
body.admin-page-memory .memory-danger-zone h2{margin:0 0 6px;color:#5B4247;font-size:15px}
body.admin-page-memory .memory-danger-zone p{max-width:760px;margin:0;color:#8B7478;font-size:10px;line-height:1.5}
body.admin-page-memory .memory-danger-zone form{flex:0 0 auto}
body.admin-page-memory .memory-danger-zone .danger{margin:0;padding:10px 14px;background:#A84F58;font-size:11px}

@media(max-width:1250px){
  body.admin-page-memory .progress-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  body.admin-page-memory .progress-subject-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:1000px){
  body.admin-page-memory .progress-filters{grid-template-columns:1fr 1fr}
  body.admin-page-memory .progress-filters button{align-self:end}
  body.admin-page-memory .progress-two-col{grid-template-columns:1fr}
  body.admin-page-memory .progress-subject-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
  body.admin-page-memory .progress-memory-head h1{font-size:29px}
  body.admin-page-memory .progress-filters{grid-template-columns:1fr}
  body.admin-page-memory .progress-stat-grid{grid-template-columns:1fr 1fr}
  body.admin-page-memory .progress-stat-card{min-height:126px}
  body.admin-page-memory .progress-subject-grid{grid-template-columns:1fr}
  body.admin-page-memory .progress-section,body.admin-page-memory .progress-panel{padding:17px;border-radius:18px}
  body.admin-page-memory .progress-section-head{display:block}
  body.admin-page-memory .progress-section-head .progress-context,body.admin-page-memory .memory-state{display:inline-flex;margin-top:10px}
  body.admin-page-memory .progress-memory-grid{grid-template-columns:1fr}
  body.admin-page-memory .progress-memory-grid .wide-memory{grid-column:auto}
  body.admin-page-memory .progress-activity-row{grid-template-columns:10px 1fr}
  body.admin-page-memory .progress-activity-row time{grid-column:2}
  body.admin-page-memory .memory-danger-zone{align-items:flex-start;flex-direction:column}
}
@media(max-width:430px){body.admin-page-memory .progress-stat-grid{grid-template-columns:1fr}}

/* =========================================================
   LESSON EDITOR — clear separation of lesson text and widget code
   ========================================================= */
body.admin-page-edit_lesson .admin-main{max-width:1440px}
body.admin-page-edit_lesson .lesson-editor-head{
  display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:0 0 24px;
}
body.admin-page-edit_lesson .lesson-editor-head h1{
  margin:0;color:#202938;font-size:36px;line-height:1.08;letter-spacing:-.04em;
}
body.admin-page-edit_lesson .lesson-editor-head .admin-page-intro{max-width:760px}
body.admin-page-edit_lesson .lesson-editor-head-meta{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end;
}
body.admin-page-edit_lesson .lesson-editor-head-meta span,
body.admin-page-edit_lesson .lesson-editor-head-meta b,
body.admin-page-edit_lesson .lesson-editor-head-meta em{
  display:inline-flex;align-items:center;min-height:30px;padding:6px 10px;border-radius:999px;
  font-size:11px;line-height:1;font-style:normal;font-weight:800;
}
body.admin-page-edit_lesson .lesson-editor-head-meta span{background:#EEF4FA;color:#557694}
body.admin-page-edit_lesson .lesson-editor-head-meta b{background:#F2F0FB;color:#65569A}
body.admin-page-edit_lesson .lesson-editor-head-meta em.is-published{background:#EDF7F0;color:#4D765C}
body.admin-page-edit_lesson .lesson-editor-head-meta em.is-draft{background:#F3F4F6;color:#7C8795}

body.admin-page-edit_lesson .admin-main>form.admin-form.lesson-editor-form{
  margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;gap:18px;
}
body.admin-page-edit_lesson .lesson-editor-meta-card,
body.admin-page-edit_lesson .lesson-editor-section{
  position:relative;padding:22px 24px;border:1px solid #DCE5EF;border-radius:20px;background:#fff;
  box-shadow:0 10px 28px rgba(43,67,98,.05);overflow:hidden;
}
body.admin-page-edit_lesson .lesson-editor-meta-card{padding-bottom:24px}
body.admin-page-edit_lesson .lesson-editor-card-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:17px;
}
body.admin-page-edit_lesson .lesson-editor-card-head.compact{align-items:center;margin-bottom:18px}
body.admin-page-edit_lesson .lesson-editor-card-head h2{
  margin:3px 0 5px;color:#2A374B;font-size:20px;line-height:1.2;letter-spacing:-.025em;
}
body.admin-page-edit_lesson .lesson-editor-card-head p{
  max-width:760px;margin:0;color:#7D8999;font-size:12px;line-height:1.5;font-weight:500;
}
body.admin-page-edit_lesson .lesson-editor-card-head.compact small{color:#8D98A7;font-size:11px;font-weight:600}
body.admin-page-edit_lesson .lesson-editor-kicker{
  display:block;color:#7990A8;font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;
}
body.admin-page-edit_lesson .lesson-editor-badge{
  flex:0 0 auto;display:inline-flex;align-items:center;min-height:29px;padding:6px 10px;border-radius:999px;
  background:#F1F4F8;color:#718096;font-size:9px;font-weight:900;letter-spacing:.035em;text-transform:uppercase;
}
body.admin-page-edit_lesson .lesson-editor-meta-grid{gap:14px 16px}
body.admin-page-edit_lesson .lesson-editor-meta-grid label{font-size:12px;font-weight:800;color:#536074}
body.admin-page-edit_lesson .lesson-editor-publish{
  min-height:43px;padding:0 13px;border:1px solid #DCE4EE;border-radius:11px;background:#FAFBFD;
}
body.admin-page-edit_lesson .lesson-editor-publish input{accent-color:var(--admin-accent)}

body.admin-page-edit_lesson .lesson-editor-section::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:#8AAFD2;
}
body.admin-page-edit_lesson .lesson-editor-section-content{
  border-color:#D5E2EE;background:linear-gradient(145deg,#FFFFFF 0%,#FAFDFF 100%);
}
body.admin-page-edit_lesson .lesson-editor-section-content::before{background:linear-gradient(180deg,#4D94D1,#78B5E4)}
body.admin-page-edit_lesson .lesson-editor-section-content .lesson-editor-kicker{color:#4D84B5}
body.admin-page-edit_lesson .lesson-editor-section-content .lesson-editor-badge{background:#EDF5FC;color:#477CA9}

body.admin-page-edit_lesson .lesson-editor-section-interactive{
  border-color:#DCD3F0;background:linear-gradient(145deg,#FFFEFF 0%,#FBF9FF 100%);
  box-shadow:0 12px 32px rgba(99,77,155,.075);
}
body.admin-page-edit_lesson .lesson-editor-section-interactive::before{background:linear-gradient(180deg,#7D67C8,#A67AD9)}
body.admin-page-edit_lesson .lesson-editor-section-interactive .lesson-editor-kicker{color:#765FB5}
body.admin-page-edit_lesson .lesson-editor-section-interactive .lesson-editor-badge{background:#F0EBFA;color:#705AA8}

body.admin-page-edit_lesson .lesson-editor-section-extra{
  border-color:#DDE7E6;background:linear-gradient(145deg,#FFFFFF 0%,#FAFDFC 100%);
}
body.admin-page-edit_lesson .lesson-editor-section-extra::before{background:linear-gradient(180deg,#6FAE9F,#91C8B9)}
body.admin-page-edit_lesson .lesson-editor-section-extra .lesson-editor-kicker{color:#598D80}
body.admin-page-edit_lesson .lesson-editor-section-extra .lesson-editor-badge{background:#EDF7F4;color:#58897D}

body.admin-page-edit_lesson .lesson-editor-section-context{
  border-color:#E7E1D4;background:linear-gradient(145deg,#FFFFFF 0%,#FFFCF7 100%);
}
body.admin-page-edit_lesson .lesson-editor-section-context::before{background:linear-gradient(180deg,#C39A57,#D8B982)}
body.admin-page-edit_lesson .lesson-editor-section-context .lesson-editor-kicker{color:#9A753E}
body.admin-page-edit_lesson .lesson-editor-section-context .lesson-editor-badge{background:#F8F1E5;color:#8B6A38}

body.admin-page-edit_lesson .lesson-editor-field-label{
  display:block;margin:0 0 8px;color:#4A586C;font-size:11px;font-weight:850;
}
body.admin-page-edit_lesson .lesson-editor-codearea,
body.admin-page-edit_lesson .lesson-editor-contextarea{
  display:block;width:100%;line-height:1.55;border-width:1px;font-size:13px;
}
body.admin-page-edit_lesson .lesson-editor-codearea{font-family:Consolas,"SFMono-Regular",Menlo,monospace}
body.admin-page-edit_lesson .lesson-editor-codearea-content{
  min-height:440px;border-color:#C8D9E9;background:#FBFDFF;
}
body.admin-page-edit_lesson .lesson-editor-codearea-content:focus{
  border-color:#69A3D5;box-shadow:0 0 0 4px rgba(77,148,209,.10);
}
body.admin-page-edit_lesson .lesson-editor-codearea-interactive{
  min-height:390px;border-color:#D1C4EB;background:#FCFAFF;
}
body.admin-page-edit_lesson .lesson-editor-codearea-interactive:focus{
  border-color:#9474D0;box-shadow:0 0 0 4px rgba(125,103,200,.11);
}
body.admin-page-edit_lesson .lesson-editor-codearea-extra{
  min-height:260px;border-color:#D0E0DC;background:#FBFDFC;
}
body.admin-page-edit_lesson .lesson-editor-contextarea{
  min-height:210px;border-color:#E0D5C2;background:#FFFDF9;font-family:inherit;font-size:13px;
}
body.admin-page-edit_lesson .lesson-editor-hint{
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:10px;
  padding:9px 11px;border-radius:10px;background:#F2F7FC;color:#6E8195;font-size:10px;font-weight:650;
}
body.admin-page-edit_lesson .lesson-editor-hint strong{color:#3F6F99;font-size:10px}
body.admin-page-edit_lesson .lesson-editor-hint-interactive{background:#F3EEFB;color:#786A9B}
body.admin-page-edit_lesson .lesson-editor-hint-interactive strong{color:#654B9B}

body.admin-page-edit_lesson .lesson-editor-color-divider{
  position:relative;height:14px;margin:1px 18px;border-radius:999px;overflow:hidden;
  background:linear-gradient(90deg,#4D94D1 0%,#73B3E0 42%,#B9B2DD 50%,#9C7BD2 64%,#7D67C8 100%);
  box-shadow:0 5px 16px rgba(80,104,154,.15);
}
body.admin-page-edit_lesson .lesson-editor-color-divider::after{
  content:"";position:absolute;inset:3px 4px;border-radius:999px;border:1px solid rgba(255,255,255,.38);
}
body.admin-page-edit_lesson .lesson-editor-color-divider span{
  position:absolute;left:50%;top:50%;width:42px;height:3px;border-radius:999px;background:rgba(255,255,255,.82);transform:translate(-50%,-50%);
}

body.admin-page-edit_lesson .lesson-editor-actions{
  position:sticky;bottom:14px;z-index:4;align-items:center;padding:12px 14px;border:1px solid #DCE4ED;
  border-radius:15px;background:rgba(255,255,255,.93);box-shadow:0 12px 32px rgba(39,60,86,.12);backdrop-filter:blur(12px);
}
body.admin-page-edit_lesson .lesson-editor-actions button,
body.admin-page-edit_lesson .lesson-editor-actions .button-link{min-height:42px;padding:10px 18px}
body.admin-page-edit_lesson .lesson-editor-delete{margin-top:10px}
body.admin-page-edit_lesson .lesson-editor-delete .danger{margin-top:0;background:#A64D57}

@media(max-width:850px){
  body.admin-page-edit_lesson .lesson-editor-head{align-items:flex-start;flex-direction:column}
  body.admin-page-edit_lesson .lesson-editor-head-meta{justify-content:flex-start}
  body.admin-page-edit_lesson .lesson-editor-card-head{flex-direction:column;gap:10px}
  body.admin-page-edit_lesson .lesson-editor-card-head.compact{align-items:flex-start}
  body.admin-page-edit_lesson .lesson-editor-section,
  body.admin-page-edit_lesson .lesson-editor-meta-card{padding:18px}
  body.admin-page-edit_lesson .lesson-editor-color-divider{margin:0 8px;height:10px}
  body.admin-page-edit_lesson .lesson-editor-codearea-content{min-height:360px}
  body.admin-page-edit_lesson .lesson-editor-codearea-interactive{min-height:330px}
}
@media(max-width:650px){
  body.admin-page-edit_lesson .lesson-editor-head h1{font-size:30px}
  body.admin-page-edit_lesson .lesson-editor-actions{position:static}
  body.admin-page-edit_lesson .lesson-editor-hint{align-items:flex-start;flex-direction:column;gap:4px}
}

/* =========================================================
   LESSON EDITOR TYPOGRAPHY — comfortable minimum 16px
   Keep the editor readable: no micro-text in the working UI.
   ========================================================= */
body.admin-page-edit_lesson{
  font-size:16px;
}
body.admin-page-edit_lesson .admin-brand strong,
body.admin-page-edit_lesson .admin-brand span,
body.admin-page-edit_lesson .admin-topbar nav a,
body.admin-page-edit_lesson .admin-nav-label,
body.admin-page-edit_lesson .admin-nav a,
body.admin-page-edit_lesson .admin-page-intro,
body.admin-page-edit_lesson .lesson-editor-head-meta span,
body.admin-page-edit_lesson .lesson-editor-head-meta b,
body.admin-page-edit_lesson .lesson-editor-head-meta em,
body.admin-page-edit_lesson .lesson-editor-card-head p,
body.admin-page-edit_lesson .lesson-editor-card-head.compact small,
body.admin-page-edit_lesson .lesson-editor-kicker,
body.admin-page-edit_lesson .lesson-editor-badge,
body.admin-page-edit_lesson .lesson-editor-meta-grid label,
body.admin-page-edit_lesson .lesson-editor-field-label,
body.admin-page-edit_lesson .lesson-editor-hint,
body.admin-page-edit_lesson .lesson-editor-hint strong,
body.admin-page-edit_lesson .lesson-editor-actions button,
body.admin-page-edit_lesson .lesson-editor-actions .button-link,
body.admin-page-edit_lesson .lesson-editor-delete button,
body.admin-page-edit_lesson input,
body.admin-page-edit_lesson select,
body.admin-page-edit_lesson textarea{
  font-size:16px;
}
body.admin-page-edit_lesson .admin-brand span,
body.admin-page-edit_lesson .lesson-editor-head-meta span,
body.admin-page-edit_lesson .lesson-editor-head-meta b,
body.admin-page-edit_lesson .lesson-editor-head-meta em,
body.admin-page-edit_lesson .lesson-editor-badge{
  line-height:1.25;
}
body.admin-page-edit_lesson .admin-brand span{
  height:auto;min-height:32px;padding:5px 10px;
}
body.admin-page-edit_lesson .admin-nav-label{
  line-height:1.3;letter-spacing:.08em;
}
body.admin-page-edit_lesson .admin-nav a{
  line-height:1.35;padding-top:12px;padding-bottom:12px;
}
body.admin-page-edit_lesson .lesson-editor-head h1{
  font-size:40px;
}
body.admin-page-edit_lesson .lesson-editor-head .admin-page-intro{
  font-size:17px;line-height:1.55;
}
body.admin-page-edit_lesson .lesson-editor-head-meta span,
body.admin-page-edit_lesson .lesson-editor-head-meta b,
body.admin-page-edit_lesson .lesson-editor-head-meta em{
  min-height:36px;padding:7px 12px;
}
body.admin-page-edit_lesson .lesson-editor-card-head h2{
  font-size:24px;line-height:1.22;
}
body.admin-page-edit_lesson .lesson-editor-card-head p{
  line-height:1.55;
}
body.admin-page-edit_lesson .lesson-editor-kicker{
  line-height:1.3;letter-spacing:.09em;
}
body.admin-page-edit_lesson .lesson-editor-badge{
  min-height:36px;padding:7px 12px;letter-spacing:.025em;
}
body.admin-page-edit_lesson .lesson-editor-meta-grid label,
body.admin-page-edit_lesson .lesson-editor-field-label{
  line-height:1.4;
}
body.admin-page-edit_lesson .lesson-editor-meta-grid input,
body.admin-page-edit_lesson .lesson-editor-meta-grid select{
  min-height:48px;padding:12px 14px;
}
body.admin-page-edit_lesson .lesson-editor-publish{
  min-height:48px;font-size:16px;
}
body.admin-page-edit_lesson .lesson-editor-codearea,
body.admin-page-edit_lesson .lesson-editor-contextarea{
  font-size:16px;line-height:1.62;padding:14px 16px;
}
body.admin-page-edit_lesson .lesson-editor-hint{
  line-height:1.5;padding:11px 13px;
}
body.admin-page-edit_lesson .lesson-editor-actions button,
body.admin-page-edit_lesson .lesson-editor-actions .button-link{
  min-height:48px;padding:12px 20px;
}

@media(max-width:900px){
  body.admin-page-edit_lesson .admin-brand strong,
  body.admin-page-edit_lesson .admin-nav a{font-size:16px}
}
@media(max-width:650px){
  body.admin-page-edit_lesson .lesson-editor-head h1{font-size:34px}
  body.admin-page-edit_lesson .lesson-editor-card-head h2{font-size:22px}
}

/* =========================================================
   LESSON EDITOR META — calmer typography
   Parameters are readable at 16px without looking heavy.
   ========================================================= */
body.admin-page-edit_lesson .lesson-editor-meta-card .lesson-editor-kicker{
  font-weight:700;
}
body.admin-page-edit_lesson .lesson-editor-meta-card .lesson-editor-card-head h2{
  font-weight:600;
}
body.admin-page-edit_lesson .lesson-editor-meta-card .lesson-editor-card-head.compact small{
  font-weight:400;
}
body.admin-page-edit_lesson .lesson-editor-meta-grid label{
  font-weight:500;
}
body.admin-page-edit_lesson .lesson-editor-meta-grid input,
body.admin-page-edit_lesson .lesson-editor-meta-grid select{
  font-weight:400;
  color:#2F3948;
}
body.admin-page-edit_lesson .lesson-editor-publish{
  font-weight:400;
}
body.admin-page-edit_lesson .lesson-editor-publish input{
  font-weight:400;
}

/* =========================================================
   LESSON RICH EDITOR — visual text editing + HTML source
   ========================================================= */
body.admin-page-edit_lesson .lesson-rich-editor{
  position:relative;border:1px solid #C9D9E8;border-radius:16px;background:#F8FBFE;overflow:hidden;
  box-shadow:0 7px 22px rgba(48,91,132,.06);
}
body.admin-page-edit_lesson .lesson-rich-tabs{
  min-height:58px;display:flex;align-items:center;gap:8px;padding:9px 11px;border-bottom:1px solid #D8E4EF;background:#F1F7FC;
}
body.admin-page-edit_lesson .lesson-rich-tab{
  min-height:40px;padding:8px 14px;border:1px solid transparent;border-radius:10px;background:transparent;color:#50667C;
  font-size:16px;font-weight:500;
}
body.admin-page-edit_lesson .lesson-rich-tab:hover{background:#E8F1F9;color:#315B82}
body.admin-page-edit_lesson .lesson-rich-tab.is-active{
  border-color:#BDD4E8;background:#fff;color:#2D6596;box-shadow:0 3px 10px rgba(48,91,132,.08);font-weight:600;
}
body.admin-page-edit_lesson .lesson-rich-sync-state{
  margin-left:auto;padding:7px 10px;border-radius:999px;color:#728397;background:rgba(255,255,255,.72);font-size:16px;line-height:1.3;
}
body.admin-page-edit_lesson .lesson-rich-sync-state.is-working{color:#806536;background:#FFF7E7}
body.admin-page-edit_lesson .lesson-rich-sync-state.is-ok{color:#4F785D;background:#EEF8F1}
body.admin-page-edit_lesson .lesson-rich-sync-state.is-error{color:#A04F59;background:#FFF0F2}

body.admin-page-edit_lesson .lesson-rich-toolbar{
  display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:11px;border-bottom:1px solid #DCE6EF;background:#fff;
  position:sticky;top:64px;z-index:3;
}
body.admin-page-edit_lesson .lesson-rich-toolbar.is-disabled{opacity:.48;pointer-events:none}
body.admin-page-edit_lesson .lesson-rich-toolbar.is-uploading{cursor:wait}
body.admin-page-edit_lesson .lesson-rich-toolbar button,
body.admin-page-edit_lesson .lesson-rich-toolbar select{
  width:auto;min-height:40px;padding:7px 10px;border:1px solid #D5E0EA;border-radius:9px;background:#F9FBFD;color:#364B60;
  font-size:16px;font-weight:500;line-height:1.2;box-shadow:none;
}
body.admin-page-edit_lesson .lesson-rich-toolbar button:hover{border-color:#AFC8DD;background:#EEF6FC;color:#285C88}
body.admin-page-edit_lesson .lesson-rich-toolbar button strong,
body.admin-page-edit_lesson .lesson-rich-toolbar button em,
body.admin-page-edit_lesson .lesson-rich-toolbar button u{font-size:17px}
body.admin-page-edit_lesson .lesson-rich-format-label{
  display:flex;align-items:center;gap:8px;color:#65778A;font-size:16px;font-weight:500;
}
body.admin-page-edit_lesson .lesson-rich-format-label select{min-width:190px;background:#fff}
body.admin-page-edit_lesson .lesson-rich-separator{width:1px;height:30px;margin:0 2px;background:#DCE5ED}
body.admin-page-edit_lesson .lesson-rich-visual-pane{padding:12px;background:#EEF5FB}
body.admin-page-edit_lesson .lesson-rich-frame{
  display:block;width:100%;min-height:620px;border:1px solid #C7D8E7;border-radius:12px;background:#fff;
  box-shadow:0 8px 24px rgba(42,73,105,.06);
}
body.admin-page-edit_lesson .lesson-rich-html-pane{padding:16px;background:#F8FBFE}
body.admin-page-edit_lesson .lesson-rich-html-pane .lesson-editor-codearea-content{min-height:620px;margin:0}
body.admin-page-edit_lesson .lesson-rich-footer{
  display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:11px 14px;border-top:1px solid #DCE7F0;
  background:#F4F9FD;color:#708295;font-size:16px;line-height:1.45;
}
body.admin-page-edit_lesson .lesson-rich-footer strong{color:#3E6E98;font-size:16px;font-weight:600}

body.lesson-rich-modal-open{overflow:hidden}
body.admin-page-edit_lesson .lesson-rich-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px}
body.admin-page-edit_lesson .lesson-rich-modal[hidden]{display:none}
body.admin-page-edit_lesson .lesson-rich-modal-backdrop{position:absolute;inset:0;background:rgba(28,39,55,.42);backdrop-filter:blur(4px)}
body.admin-page-edit_lesson .lesson-rich-modal-card{
  position:relative;width:min(560px,100%);max-height:min(760px,calc(100vh - 48px));overflow:auto;border:1px solid #D7E1EA;border-radius:18px;
  background:#fff;box-shadow:0 28px 80px rgba(27,43,64,.24);
}
body.admin-page-edit_lesson .lesson-rich-modal-head{
  display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid #E2E8EF;background:#F9FBFD;
}
body.admin-page-edit_lesson .lesson-rich-modal-head h3{margin:0;font-size:22px;font-weight:600;color:#26384A}
body.admin-page-edit_lesson .lesson-rich-modal-close{
  width:40px;height:40px;padding:0;border-radius:50%;background:#EEF3F7;color:#5B6B7B;font-size:27px;font-weight:400;
}
body.admin-page-edit_lesson .lesson-rich-modal-body{display:grid;gap:16px;padding:20px}
body.admin-page-edit_lesson .lesson-rich-modal-body label{font-size:16px;font-weight:500;color:#4C5D6E}
body.admin-page-edit_lesson .lesson-rich-modal-body input,
body.admin-page-edit_lesson .lesson-rich-modal-body select{font-size:16px;font-weight:400;min-height:46px}
body.admin-page-edit_lesson .lesson-rich-modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
body.admin-page-edit_lesson .lesson-rich-modal-check{display:flex;align-items:center;gap:9px}
body.admin-page-edit_lesson .lesson-rich-modal-check input{width:auto;min-height:0}
body.admin-page-edit_lesson .lesson-rich-modal-actions{
  display:flex;justify-content:flex-end;gap:10px;padding:15px 20px 20px;border-top:1px solid #E5EAF0;background:#FBFCFD;
}
body.admin-page-edit_lesson .lesson-rich-modal-actions button{min-height:44px;font-size:16px}
body.admin-page-edit_lesson .lesson-rich-upload-result{
  display:flex;flex-direction:column;gap:5px;padding:13px 14px;border:1px solid #D3E4D9;border-radius:11px;background:#F2FAF5;color:#4D745A;
}
body.admin-page-edit_lesson .lesson-rich-upload-result strong{font-size:16px;font-weight:600;overflow-wrap:anywhere}
body.admin-page-edit_lesson .lesson-rich-upload-result span{font-size:16px}

/* Tables and media inserted into lesson content. These styles apply on the student page too. */
.lesson-content .lesson-table-wrap{width:100%;overflow-x:auto;margin:24px 0}
.lesson-content table.lesson-data-table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid #D9E1EA;border-radius:12px;overflow:hidden;background:#fff}
.lesson-content table.lesson-data-table caption{padding:0 0 10px;text-align:left;font-weight:700;color:#39485A}
.lesson-content table.lesson-data-table th,
.lesson-content table.lesson-data-table td{padding:11px 13px;border-right:1px solid #E1E7EE;border-bottom:1px solid #E1E7EE;text-align:left;vertical-align:top;white-space:normal;line-height:1.5}
.lesson-content table.lesson-data-table th{background:#F3F7FB;font-weight:700}
.lesson-content table.lesson-data-table tr:last-child td{border-bottom:0}
.lesson-content table.lesson-data-table th:last-child,
.lesson-content table.lesson-data-table td:last-child{border-right:0}
.lesson-content .lesson-media-figure{display:block;max-width:100%;margin:26px auto;text-align:center}
.lesson-content .lesson-media{display:block;width:100%;max-width:100%;height:auto;margin:0 auto;border-radius:14px}
.lesson-content video.lesson-media{background:#111}
.lesson-content .lesson-media-figure figcaption{margin-top:8px;color:#747E8C;font-size:.94em;line-height:1.45;text-align:center}

@media(max-width:850px){
  body.admin-page-edit_lesson .lesson-rich-sync-state{width:100%;margin-left:0}
  body.admin-page-edit_lesson .lesson-rich-toolbar{position:static}
  body.admin-page-edit_lesson .lesson-rich-frame{min-height:520px}
  body.admin-page-edit_lesson .lesson-rich-footer{align-items:flex-start;flex-direction:column}
}
@media(max-width:650px){
  body.admin-page-edit_lesson .lesson-rich-tabs{align-items:stretch;flex-direction:column}
  body.admin-page-edit_lesson .lesson-rich-tab{width:100%}
  body.admin-page-edit_lesson .lesson-rich-toolbar{gap:6px}
  body.admin-page-edit_lesson .lesson-rich-toolbar button{flex:1 1 auto}
  body.admin-page-edit_lesson .lesson-rich-format-label{width:100%;align-items:flex-start;flex-direction:column}
  body.admin-page-edit_lesson .lesson-rich-format-label select{width:100%}
  body.admin-page-edit_lesson .lesson-rich-separator{display:none}
  body.admin-page-edit_lesson .lesson-rich-visual-pane{padding:7px}
  body.admin-page-edit_lesson .lesson-rich-frame{min-height:460px}
  body.admin-page-edit_lesson .lesson-rich-modal-grid{grid-template-columns:1fr}
  .lesson-content .lesson-media-figure{width:100%!important}
}

/* =========================================================
   ADMIN PUBLICATION CONTROLS + MOBILE CABINET LINK
   ========================================================= */
body.admin-page .admin-publish-toggle-form{margin:0}
body.admin-page .admin-publish-toggle{
  display:inline-flex;align-items:center;gap:9px;cursor:pointer;user-select:none;white-space:nowrap;
  font-size:13px;font-weight:600;color:#687587;
}
body.admin-page .admin-publish-toggle input,
body.admin-page-edit_lesson .lesson-editor-bottom-publish input{
  position:absolute;opacity:0;pointer-events:none;
}
body.admin-page .admin-publish-switch,
body.admin-page-edit_lesson .lesson-editor-bottom-switch{
  position:relative;display:inline-block;flex:0 0 auto;width:38px;height:22px;border-radius:999px;
  background:#D7DEE7;box-shadow:inset 0 0 0 1px rgba(74,91,111,.08);transition:.18s ease;
}
body.admin-page .admin-publish-switch::after,
body.admin-page-edit_lesson .lesson-editor-bottom-switch::after{
  content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#fff;
  box-shadow:0 2px 5px rgba(38,54,73,.18);transition:.18s ease;
}
body.admin-page .admin-publish-toggle input:checked + .admin-publish-switch,
body.admin-page-edit_lesson .lesson-editor-bottom-publish input:checked + .lesson-editor-bottom-switch{background:#5A91C8}
body.admin-page .admin-publish-toggle input:checked + .admin-publish-switch::after,
body.admin-page-edit_lesson .lesson-editor-bottom-publish input:checked + .lesson-editor-bottom-switch::after{transform:translateX(16px)}
body.admin-page .admin-publish-toggle:focus-within .admin-publish-switch,
body.admin-page-edit_lesson .lesson-editor-bottom-publish:focus-within .lesson-editor-bottom-switch{outline:3px solid rgba(90,145,200,.18);outline-offset:2px}

body.admin-page-edit_lesson .lesson-editor-management{
  display:flex;align-items:stretch;justify-content:space-between;gap:14px;margin-top:16px;padding:16px;
  border:1px solid #DDE5EE;border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(39,60,86,.06);
}
body.admin-page-edit_lesson .lesson-editor-publish-form{margin:0;flex:1}
body.admin-page-edit_lesson .lesson-editor-bottom-publish{
  min-height:54px;display:flex;align-items:center;gap:13px;padding:7px 8px;cursor:pointer;user-select:none;
}
body.admin-page-edit_lesson .lesson-editor-bottom-switch{width:44px;height:26px}
body.admin-page-edit_lesson .lesson-editor-bottom-switch::after{width:20px;height:20px}
body.admin-page-edit_lesson .lesson-editor-bottom-publish input:checked + .lesson-editor-bottom-switch::after{transform:translateX(18px)}
body.admin-page-edit_lesson .lesson-editor-bottom-copy{display:grid;gap:3px}
body.admin-page-edit_lesson .lesson-editor-bottom-copy strong{font-size:16px;font-weight:650;color:#344156}
body.admin-page-edit_lesson .lesson-editor-bottom-copy small{font-size:14px;line-height:1.35;color:#8290A2}
body.admin-page-edit_lesson .lesson-editor-management .lesson-editor-delete{display:flex;align-items:center;margin:0}
body.admin-page-edit_lesson .lesson-editor-management .lesson-editor-delete .danger{margin:0;min-height:44px}

@media(max-width:650px){
  body.admin-page .admin-topbar{gap:10px}
  body.admin-page .admin-brand strong{font-size:0;white-space:nowrap}
  body.admin-page .admin-brand strong::after{content:"Селин";font-size:15px;font-weight:750;color:#273244}
  body.admin-page .admin-topbar nav{gap:5px}
  body.admin-page .admin-topbar nav .admin-cabinet-link{
    display:inline-flex !important;align-items:center;justify-content:center;min-height:36px;padding:7px 10px !important;
    font-size:0 !important;white-space:nowrap;
  }
  body.admin-page .admin-topbar nav .admin-cabinet-link::after{content:"Кабинет";font-size:13px;font-weight:700}
  body.admin-page .admin-topbar nav a[href="logout.php"]{padding:7px 8px;font-size:13px}
  body.admin-page-edit_lesson .lesson-editor-management{flex-direction:column;align-items:stretch}
  body.admin-page-edit_lesson .lesson-editor-management .lesson-editor-delete{display:block}
  body.admin-page-edit_lesson .lesson-editor-management .lesson-editor-delete .danger{width:100%}
}

/* =========================================================
   LESSON NAV V9 — floating desktop navigation
   Frees the full vertical viewport for lesson interactives.
   Main actions stay visible at the top-right; service actions
   live in the compact overflow menu.
   ========================================================= */
.lesson-page .lesson-floating-nav .lesson-floating-actions{
  margin-left:auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
}
.lesson-page .lesson-nav-button,
.lesson-page .lesson-more-toggle{
  min-height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid #cdd9e7;
  border-radius:10px;
  background:rgba(255,255,255,.94);
  color:#315b86;
  text-decoration:none;
  font-size:14px;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
  box-shadow:0 2px 8px rgba(42,64,91,.08);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.lesson-page .lesson-nav-button{
  padding:9px 14px;
}
.lesson-page .topbar nav .header-notes-accent{
  min-height:38px !important;
  margin:0 !important;
  padding:8px 14px !important;
  border-color:#b9d8f3 !important;
  background:rgba(237,247,255,.96) !important;
  color:#25659a !important;
  box-shadow:0 2px 8px rgba(42,64,91,.08) !important;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.lesson-page .lesson-nav-button:hover,
.lesson-page .lesson-more-toggle:hover{
  background:#fff;
  border-color:#aac2dc;
}
.lesson-page .lesson-more-menu{
  position:relative;
  flex:0 0 auto;
}
.lesson-page .lesson-more-menu > summary{
  list-style:none;
}
.lesson-page .lesson-more-menu > summary::-webkit-details-marker{
  display:none;
}
.lesson-page .lesson-more-toggle{
  width:40px;
  padding:0 0 4px;
  cursor:pointer;
  font-size:22px;
  letter-spacing:1px;
  user-select:none;
}
.lesson-page .lesson-more-menu[open] .lesson-more-toggle{
  background:#fff;
  border-color:#9fb8d2;
}
.lesson-page .lesson-more-dropdown{
  position:absolute;
  top:calc(100% + 8px);
  right:0;
  width:250px;
  padding:8px;
  border:1px solid #d5dee9;
  border-radius:12px;
  background:rgba(255,255,255,.98);
  box-shadow:0 16px 40px rgba(31,45,66,.18);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.lesson-page .lesson-more-dropdown a,
.lesson-page .lesson-more-dropdown .lesson-menu-action{
  width:100%;
  min-height:38px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  padding:9px 10px;
  margin:0;
  border:0;
  border-radius:8px;
  background:transparent;
  color:#273342;
  text-decoration:none;
  font:inherit;
  font-size:14px;
  font-weight:650;
  text-align:left;
  box-shadow:none;
}
.lesson-page .lesson-more-dropdown a:hover,
.lesson-page .lesson-more-dropdown .lesson-menu-action:hover{
  background:#f1f5f9;
}
.lesson-page .lesson-menu-user{
  padding:7px 10px 9px;
  margin-bottom:4px;
  border-bottom:1px solid #e6ebf1;
  color:#778293;
  font-size:12px;
  font-weight:700;
}

@media (min-width:1200px){
  /* The old 64px header no longer participates in layout. */
  .lesson-page > .topbar.lesson-floating-nav{
    position:fixed !important;
    top:9px !important;
    right:12px !important;
    left:auto !important;
    width:auto !important;
    height:auto !important;
    min-height:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    z-index:80 !important;
  }
  .lesson-page > .topbar.lesson-floating-nav nav{
    margin:0 !important;
    gap:8px !important;
  }
  /* Recover the full 64px formerly occupied by the header. */
  .lesson-page .split{
    height:100vh !important;
  }
  /* Keep tutor title clear of the floating navigation without losing height. */
  .lesson-page .bot-head{
    padding-right:330px !important;
  }
}

@media (min-width:1200px) and (max-width:1399px){
  .lesson-page .lesson-nav-button{
    padding-left:11px;
    padding-right:11px;
    font-size:13px;
  }
  .lesson-page .topbar nav .header-notes-accent{
    padding-left:11px !important;
    padding-right:11px !important;
    font-size:13px !important;
  }
  .lesson-page .bot-head{
    padding-right:300px !important;
  }
}

@media (max-width:1199px){
  /* Compact but conventional header on narrower screens. */
  .lesson-page > .topbar.lesson-floating-nav{
    height:54px;
    min-height:54px;
    padding:0 12px;
  }
  .lesson-page .split{
    height:calc(100vh - 54px);
  }
  .lesson-page .lesson-nav-button,
  .lesson-page .lesson-more-toggle{
    min-height:36px;
    font-size:13px;
  }
  .lesson-page .lesson-more-toggle{
    width:38px;
    font-size:20px;
  }
}

@media (max-width:1000px){
  .lesson-page .split{
    height:auto;
  }
}

@media (max-width:650px){
  .lesson-page > .topbar.lesson-floating-nav{
    height:50px;
    min-height:50px;
    padding:0 8px;
  }
  .lesson-page .lesson-floating-actions{
    width:100%;
    gap:5px;
  }
  .lesson-page .lesson-nav-button{
    padding:8px 9px;
    font-size:12px;
  }
  .lesson-page .topbar nav .header-notes-accent{
    min-height:34px !important;
    padding:7px 8px !important;
    font-size:12px !important;
  }
  .lesson-page .lesson-more-toggle{
    width:34px;
    min-height:34px;
  }
  .lesson-page .lesson-more-dropdown{
    width:min(250px,calc(100vw - 16px));
  }
}


/* =========================================================
   LESSON EDITOR — QUIZ VARIANTS
   One quiz area, expandable Variant 1 | Variant 2 | ... | + Add
   ========================================================= */
body.admin-page-edit_lesson .lesson-editor-section-quiz-variants{
  overflow:visible;
}
body.admin-page-edit_lesson .lesson-quiz-variants-head{
  margin-bottom:14px;
}
body.admin-page-edit_lesson .lesson-quiz-active-count{
  background:#EEE9FA;
  color:#6D55A7;
  text-transform:none;
  letter-spacing:0;
  white-space:nowrap;
}
body.admin-page-edit_lesson .lesson-quiz-tabs{
  display:flex;
  align-items:center;
  gap:8px;
  width:100%;
  margin:0 0 16px;
  padding:8px;
  border:1px solid #DDD5EF;
  border-radius:14px;
  background:#F6F3FB;
  overflow-x:auto;
  scrollbar-width:thin;
}
body.admin-page-edit_lesson .lesson-quiz-tab,
body.admin-page-edit_lesson .lesson-quiz-add{
  flex:0 0 auto;
  min-height:44px;
  padding:9px 14px;
  border:1px solid transparent;
  border-radius:10px;
  font-size:16px;
  line-height:1.2;
  font-weight:500;
  cursor:pointer;
}
body.admin-page-edit_lesson .lesson-quiz-tab{
  display:inline-flex;
  align-items:center;
  gap:9px;
  background:transparent;
  color:#625A75;
  box-shadow:none;
}
body.admin-page-edit_lesson .lesson-quiz-tab:hover{
  background:#EEE8F7;
  color:#51426F;
}
body.admin-page-edit_lesson .lesson-quiz-tab.is-active{
  border-color:#CDBEE8;
  background:#FFFFFF;
  color:#553F80;
  box-shadow:0 4px 12px rgba(84,62,128,.10);
}
body.admin-page-edit_lesson .lesson-quiz-tab b{
  font-weight:600;
}
body.admin-page-edit_lesson .lesson-quiz-tab-dot{
  display:block;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#B6BDC7;
}
body.admin-page-edit_lesson .lesson-quiz-tab-dot.is-live{
  background:#5CA174;
}
body.admin-page-edit_lesson .lesson-quiz-tab-dot.is-draft{
  background:#B8B7C2;
}
body.admin-page-edit_lesson .lesson-quiz-add{
  margin-left:2px;
  border:1px dashed #BCA9DC;
  background:#FBF9FE;
  color:#7156A7;
  box-shadow:none;
}
body.admin-page-edit_lesson .lesson-quiz-add:hover{
  border-style:solid;
  background:#F0EAF9;
}
body.admin-page-edit_lesson .lesson-quiz-panel{
  display:none;
  padding:18px;
  border:1px solid #DED5EE;
  border-radius:16px;
  background:#FFFFFF;
}
body.admin-page-edit_lesson .lesson-quiz-panel.is-active{
  display:block;
}
body.admin-page-edit_lesson .lesson-quiz-panel[hidden]{
  display:none !important;
}
body.admin-page-edit_lesson .lesson-quiz-panel-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:0 0 13px;
}
body.admin-page-edit_lesson .lesson-quiz-panel-kicker{
  display:block;
  margin-bottom:3px;
  color:#8B7AA8;
  font-size:14px;
  line-height:1.25;
  font-weight:500;
}
body.admin-page-edit_lesson .lesson-quiz-panel-head h3{
  margin:0;
  color:#433654;
  font-size:21px;
  line-height:1.2;
  font-weight:600;
}
body.admin-page-edit_lesson .lesson-quiz-panel-tools{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:9px;
  flex-wrap:wrap;
}
body.admin-page-edit_lesson .lesson-quiz-active-toggle{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:42px;
  padding:8px 11px;
  border:1px solid #DDD6E9;
  border-radius:11px;
  background:#FAF9FC;
  color:#5C536A;
  font-size:15px;
  line-height:1.2;
  font-weight:500;
  cursor:pointer;
}
body.admin-page-edit_lesson .lesson-quiz-active-toggle input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
body.admin-page-edit_lesson .lesson-quiz-switch{
  position:relative;
  width:38px;
  height:22px;
  border-radius:999px;
  background:#C8CBD1;
  transition:.16s ease;
}
body.admin-page-edit_lesson .lesson-quiz-switch::after{
  content:"";
  position:absolute;
  left:3px;
  top:3px;
  width:16px;
  height:16px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 1px 4px rgba(0,0,0,.18);
  transition:.16s ease;
}
body.admin-page-edit_lesson .lesson-quiz-active-toggle input:checked + .lesson-quiz-switch{
  background:#6D9E7C;
}
body.admin-page-edit_lesson .lesson-quiz-active-toggle input:checked + .lesson-quiz-switch::after{
  transform:translateX(16px);
}
body.admin-page-edit_lesson .lesson-quiz-preview-link,
body.admin-page-edit_lesson .lesson-quiz-delete{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:8px 12px;
  border-radius:10px;
  font-size:15px;
  line-height:1.2;
  text-decoration:none;
}
body.admin-page-edit_lesson .lesson-quiz-preview-link{
  border:1px solid #D6CBEA;
  background:#F8F5FC;
  color:#604990;
}
body.admin-page-edit_lesson .lesson-quiz-delete{
  border:1px solid #E6D5D8;
  background:#FFF9FA;
  color:#9B5962;
  box-shadow:none;
}
body.admin-page-edit_lesson .lesson-quiz-delete:hover{
  background:#FFF0F2;
}
body.admin-page-edit_lesson .lesson-quiz-codearea{
  min-height:390px;
}
body.admin-page-edit_lesson .lesson-quiz-hint{
  margin-bottom:0;
}
body.admin-page-edit_lesson .lesson-quiz-footnote{
  margin:13px 3px 0;
  color:#766D82;
  font-size:15px;
  line-height:1.45;
}
body.admin-page-edit_lesson .has-one-variant .lesson-quiz-delete{
  opacity:.48;
}

@media(max-width:850px){
  body.admin-page-edit_lesson .lesson-quiz-panel-head{
    align-items:flex-start;
    flex-direction:column;
  }
  body.admin-page-edit_lesson .lesson-quiz-panel-tools{
    width:100%;
    justify-content:flex-start;
  }
}
@media(max-width:650px){
  body.admin-page-edit_lesson .lesson-quiz-tabs{
    padding:6px;
    gap:6px;
  }
  body.admin-page-edit_lesson .lesson-quiz-tab,
  body.admin-page-edit_lesson .lesson-quiz-add{
    min-height:42px;
    padding:8px 11px;
  }
  body.admin-page-edit_lesson .lesson-quiz-panel{
    padding:14px 12px;
  }
  body.admin-page-edit_lesson .lesson-quiz-panel-tools{
    align-items:stretch;
    flex-direction:column;
  }
  body.admin-page-edit_lesson .lesson-quiz-active-toggle,
  body.admin-page-edit_lesson .lesson-quiz-preview-link,
  body.admin-page-edit_lesson .lesson-quiz-delete{
    width:100%;
  }
}

/* =========================================================
   SELIN ADMIN — student note tabs on dashboard
   ========================================================= */
body.admin-page .dashboard-notes-head{margin-bottom:14px}
body.admin-page .dashboard-student-tabs{
  display:flex;gap:8px;overflow-x:auto;padding:2px 1px 12px;margin-bottom:4px;
  scrollbar-width:thin;
}
body.admin-page .dashboard-student-tab{
  flex:0 0 auto;display:inline-flex;align-items:center;gap:9px;min-height:38px;
  padding:8px 12px;border:1px solid #DDE5EE;border-radius:999px;background:#fff;
  color:#566477;font-size:12px;font-weight:750;box-shadow:none;
}
body.admin-page .dashboard-student-tab:hover{background:#F7FAFD;border-color:#CDD9E6}
body.admin-page .dashboard-student-tab.is-active{
  background:#EDF4FB;border-color:#BDD1E5;color:#2F5F8E;
}
body.admin-page .dashboard-student-tab small{
  display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;
  background:#F0F3F7;color:#778395;font-size:10px;font-weight:800;
}
body.admin-page .dashboard-student-tab.is-active small{background:#DCEAF7;color:#2F5F8E}
body.admin-page .dashboard-student-notes-panel[hidden]{display:none!important}
body.admin-page .dashboard-student-notes-panel.is-active{display:block}
body.admin-page .dashboard-notes-more{margin:13px 2px 0;color:#8B96A4;font-size:11px}
body.admin-page .dashboard-empty{padding:22px;border:1px dashed #D9E2EC;border-radius:16px;background:#FBFCFE;color:#8A95A4;font-size:13px}

@media (max-width:650px){
  body.admin-page .dashboard-student-tabs{margin-right:-4px}
  body.admin-page .dashboard-student-tab{min-height:42px;padding:9px 13px;font-size:13px}
}


/* =========================================================
   LESSON EDITOR — per-lesson autosaving work notes
   ========================================================= */
body.admin-page-edit_lesson .lesson-editor-section-worknotes{
  border-color:#D9E1EC;
  background:linear-gradient(145deg,#FFFFFF 0%,#FAFCFF 100%);
}
body.admin-page-edit_lesson .lesson-editor-section-worknotes::before{
  background:linear-gradient(180deg,#7F91D9,#9EADE4);
}
body.admin-page-edit_lesson .lesson-editor-section-worknotes .lesson-editor-kicker{color:#677ABF}
body.admin-page-edit_lesson .lesson-editor-section-worknotes .lesson-editor-badge{
  background:#EEF1FB;color:#6374B5;
}
body.admin-page-edit_lesson .lesson-worknotes-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  align-items:start;
}
body.admin-page-edit_lesson .lesson-worknote-card{
  position:relative;
  display:flex;
  flex-direction:column;
  height:300px;
  min-height:300px;
  max-height:300px;
  padding:16px;
  overflow:hidden;
  border:1px solid #C9D3E2;
  border-left:4px solid #7F91D9;
  border-radius:15px;
  background:#fff;
  box-shadow:0 8px 22px rgba(43,61,89,.08);
  transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}
body.admin-page-edit_lesson .lesson-worknote-card:hover{
  border-color:#BBC8DA;
  border-left-color:#6F83CF;
  box-shadow:0 10px 27px rgba(43,61,89,.11);
  transform:translateY(-1px);
}
body.admin-page-edit_lesson .lesson-worknote-card.is-saving{
  box-shadow:0 0 0 2px rgba(73,112,183,.08),0 8px 22px rgba(43,61,89,.08);
}
body.admin-page-edit_lesson .lesson-worknote-head{
  display:flex;
  align-items:center;
  gap:12px;
  flex:0 0 auto;
  padding:0 0 10px;
  border-bottom:1px solid #DFE6F0;
}
body.admin-page-edit_lesson .lesson-worknote-title{
  display:block;
  width:100%;
  min-width:0;
  margin:-5px 0 -5px -6px;
  padding:5px 6px!important;
  border:1px solid transparent!important;
  border-radius:9px!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#2A374B;
  font:inherit;
  font-size:16px!important;
  font-weight:750!important;
  transition:.15s ease;
}
body.admin-page-edit_lesson .lesson-worknote-title:hover{background:#F7F9FC!important}
body.admin-page-edit_lesson .lesson-worknote-title:focus{
  outline:none;
  background:#fff!important;
  border-color:#B9C9E8!important;
  box-shadow:0 0 0 3px rgba(73,112,183,.08)!important;
}
body.admin-page-edit_lesson .lesson-worknote-status{
  flex:0 0 auto;
  min-width:76px;
  text-align:right;
  color:#7B879B;
  font-size:12px;
  font-weight:600;
}
body.admin-page-edit_lesson .lesson-worknote-status.is-saving{color:#5675AA}
body.admin-page-edit_lesson .lesson-worknote-status.is-error{color:#B64646}
body.admin-page-edit_lesson .lesson-worknote-content{
  flex:1 1 auto;
  min-height:0;
  margin-top:11px;
  padding:13px 14px;
  overflow-x:hidden;
  overflow-y:auto;
  overflow-wrap:anywhere;
  white-space:pre-wrap;
  border:1px solid #DBE3EE;
  border-radius:11px;
  background:#F4F7FB;
  color:#354256;
  font-size:16px;
  line-height:1.55;
  cursor:text;
  scrollbar-gutter:stable;
  transition:.15s ease;
}
body.admin-page-edit_lesson .lesson-worknote-content:hover{
  background:#F1F5FA;border-color:#CFD9E7;
}
body.admin-page-edit_lesson .lesson-worknote-content:focus{
  outline:none;
  background:#fff;
  border-color:#9FB4DF;
  box-shadow:0 0 0 3px rgba(73,112,183,.11);
}
body.admin-page-edit_lesson .lesson-worknote-content:empty::before{
  content:attr(data-placeholder);
  color:#9AA4B5;
  pointer-events:none;
}
body.admin-page-edit_lesson .lesson-worknote-content a{cursor:pointer}
body.admin-page-edit_lesson .lesson-worknote-content::-webkit-scrollbar{width:9px}
body.admin-page-edit_lesson .lesson-worknote-content::-webkit-scrollbar-thumb{
  background:rgba(82,103,137,.22);
  border:2px solid transparent;
  border-radius:10px;
  background-clip:padding-box;
}
body.admin-page-edit_lesson .lesson-worknote-card[data-lesson-note-slot="1"]{
  border-left-color:#53A96B;
}
body.admin-page-edit_lesson .lesson-worknote-card[data-lesson-note-slot="1"]:hover{
  border-left-color:#45955B;
}
body.admin-page-edit_lesson .lesson-worknote-card[data-lesson-note-slot="1"] .lesson-worknote-title{
  color:#2E7D46;
}
body.admin-page-edit_lesson .lesson-worknote-card[data-lesson-note-slot="1"] .lesson-worknote-content:focus{
  border-color:#93C9A2;
  box-shadow:0 0 0 3px rgba(83,169,107,.12);
}
body.admin-page-edit_lesson .lesson-worknote-card[data-lesson-note-slot="2"]{
  border-left-color:#D76673;
}
body.admin-page-edit_lesson .lesson-worknote-card[data-lesson-note-slot="2"]:hover{
  border-left-color:#C75865;
}
body.admin-page-edit_lesson .lesson-worknote-card[data-lesson-note-slot="2"] .lesson-worknote-title{
  color:#B54855;
}
body.admin-page-edit_lesson .lesson-worknote-card[data-lesson-note-slot="2"] .lesson-worknote-content:focus{
  border-color:#E3A5AD;
  box-shadow:0 0 0 3px rgba(215,102,115,.12);
}
body.admin-page-edit_lesson .lesson-worknotes-empty{
  padding:18px 20px;
  border:1px dashed #C8D3E2;
  border-radius:13px;
  background:#F7F9FC;
  color:#718096;
  font-size:15px;
  line-height:1.5;
}
@media(max-width:900px){
  body.admin-page-edit_lesson .lesson-worknotes-grid{grid-template-columns:1fr}
  body.admin-page-edit_lesson .lesson-worknote-card{height:280px;min-height:280px;max-height:280px}
}

/* =========================================================
   SELIN ADMIN — safe lesson editor: accordions, locks, revisions
   ========================================================= */
body.admin-page-edit_lesson .lesson-editor-accordion{
  transition:padding .18s ease,border-color .18s ease,background .18s ease;
}
body.admin-page-edit_lesson .lesson-editor-accordion.is-collapsed{
  padding-top:15px;
  padding-bottom:15px;
}
body.admin-page-edit_lesson .lesson-editor-accordion-head{
  align-items:center;
}
body.admin-page-edit_lesson .lesson-editor-accordion.is-collapsed > .lesson-editor-accordion-head{
  margin-bottom:0;
}
body.admin-page-edit_lesson .lesson-editor-head-tools{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
  flex:0 0 auto;
}
body.admin-page-edit_lesson .lesson-editor-accordion-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:7px 12px;
  border:1px solid #D7E0EA;
  border-radius:10px;
  background:#F8FAFC;
  color:#53677E;
  font-size:12px;
  line-height:1;
  font-weight:800;
  box-shadow:none;
}
body.admin-page-edit_lesson .lesson-editor-accordion-toggle:hover{
  background:#EEF4F9;
}
body.admin-page-edit_lesson .lesson-editor-accordion-body[hidden]{display:none !important}

body.admin-page-edit_lesson .lesson-editor-lock-toggle{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:34px;
  padding:7px 10px;
  border:1px solid #D8E0E8;
  border-radius:10px;
  background:#FAFBFC;
  color:#667486;
  font-size:12px;
  line-height:1;
  font-weight:800;
  cursor:pointer;
  user-select:none;
}
body.admin-page-edit_lesson .lesson-editor-lock-toggle input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
body.admin-page-edit_lesson .lesson-editor-lock-icon{
  position:relative;
  display:inline-block;
  width:14px;
  height:11px;
  border:2px solid #8694A5;
  border-radius:3px;
  box-sizing:border-box;
}
body.admin-page-edit_lesson .lesson-editor-lock-icon::before{
  content:"";
  position:absolute;
  left:2px;
  top:-8px;
  width:6px;
  height:7px;
  border:2px solid #8694A5;
  border-bottom:0;
  border-radius:6px 6px 0 0;
  box-sizing:border-box;
}
body.admin-page-edit_lesson .lesson-editor-lock-toggle:has(input:checked){
  border-color:#B7D7C2;
  background:#EFF8F2;
  color:#477158;
}
body.admin-page-edit_lesson .lesson-editor-lock-toggle:has(input:checked) .lesson-editor-lock-icon,
body.admin-page-edit_lesson .lesson-editor-lock-toggle:has(input:checked) .lesson-editor-lock-icon::before{
  border-color:#5E9471;
}
body.admin-page-edit_lesson .is-code-locked{
  border-color:#CFE2D5 !important;
}
body.admin-page-edit_lesson .is-code-locked .lesson-editor-codearea[readonly]{
  background:#F4F7F5;
  border-color:#D5E2D9;
  color:#53635A;
  cursor:default;
}
body.admin-page-edit_lesson .lesson-quiz-panel.is-code-locked .lesson-quiz-active-toggle{
  opacity:.62;
  pointer-events:none;
}
body.admin-page-edit_lesson .lesson-quiz-panel.is-code-locked .lesson-quiz-delete,
body.admin-page-edit_lesson .lesson-quiz-delete:disabled{
  opacity:.42;
  pointer-events:none;
}
body.admin-page-edit_lesson .lesson-editor-lock-toggle-quiz{
  border-color:#DDD5EA;
  background:#FCFAFE;
}

body.admin-page-edit_lesson .lesson-editor-revisions{
  margin-top:11px;
  border:1px solid #E1E6EC;
  border-radius:11px;
  background:#FAFBFC;
  overflow:hidden;
}
body.admin-page-edit_lesson .lesson-editor-revisions summary{
  padding:10px 12px;
  color:#667487;
  font-size:11px;
  line-height:1.2;
  font-weight:800;
  cursor:pointer;
  user-select:none;
}
body.admin-page-edit_lesson .lesson-editor-revision-list{
  padding:0 10px 10px;
}
body.admin-page-edit_lesson .lesson-editor-revision-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:8px 9px;
  border-top:1px solid #E8ECF0;
  color:#7B8796;
  font-size:11px;
}
body.admin-page-edit_lesson .lesson-editor-revision-row button{
  min-height:30px;
  padding:6px 9px;
  border:1px solid #D4DEE8;
  border-radius:8px;
  background:#fff;
  color:#4E6D8E;
  font-size:11px;
  font-weight:800;
  box-shadow:none;
}
body.admin-page-edit_lesson .lesson-editor-revision-row button:disabled{
  opacity:.4;
  cursor:not-allowed;
}

@media(max-width:850px){
  body.admin-page-edit_lesson .lesson-editor-head-tools{
    width:100%;
    justify-content:flex-start;
  }
  body.admin-page-edit_lesson .lesson-editor-accordion-head{
    align-items:flex-start;
  }
}


/* =========================================================
   NOTES UI V3 — colored left stripe only + neutral drag handle
   ========================================================= */
body.admin-page-notes .note-card{
  background:#fff!important;
  border-top-color:#C4CFDF!important;
  border-right-color:#C4CFDF!important;
  border-bottom-color:#C4CFDF!important;
  border-left-width:4px!important;
  border-left-style:solid!important;
  border-left-color:var(--note-accent,#7F91D9)!important;
}
body.admin-page-notes .note-inline-title{color:#2A374B!important}
body.admin-page-notes .note-drag-handle,
body.admin-page-notes .note-drag-handle:hover,
body.admin-page-notes .note-drag-handle:focus,
body.admin-page-notes .note-drag-handle:active{
  width:18px!important;height:28px!important;min-width:18px!important;min-height:28px!important;
  margin:-2px 4px -2px -2px!important;padding:0!important;
  border:0!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;filter:none!important;
  color:#8B96A8!important;opacity:.72;
}
body.admin-page-notes .note-drag-handle:hover{color:#5F6C80!important;opacity:1}


/* =========================================================
   SELIN ADMIN — paragraph 2 independent publication state
   ========================================================= */
body.admin-page-edit_lesson .lesson-editor-extra-publish-toggle{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:34px;
  padding:6px 10px;
  border:1px solid #D6DEE9;
  border-radius:11px;
  background:#fff;
  color:#6E7889;
  font-size:12px;
  font-weight:700;
  line-height:1;
  cursor:pointer;
  user-select:none;
  transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease;
}
body.admin-page-edit_lesson .lesson-editor-extra-publish-toggle input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
body.admin-page-edit_lesson .lesson-editor-extra-publish-check{
  display:grid;
  place-items:center;
  width:18px;
  height:18px;
  border:1px solid #C8D1DE;
  border-radius:6px;
  background:#F7F9FC;
  color:transparent;
  font-size:12px;
  font-weight:900;
  transition:.15s ease;
}
body.admin-page-edit_lesson .lesson-editor-extra-publish-toggle:has(input:checked){
  border-color:#B9D9C3;
  background:#F2F9F4;
  color:#34784A;
}
body.admin-page-edit_lesson .lesson-editor-extra-publish-toggle:has(input:checked) .lesson-editor-extra-publish-check{
  border-color:#68AA7B;
  background:#68AA7B;
  color:#fff;
}
body.admin-page-edit_lesson .lesson-editor-extra-publish-toggle:focus-within{
  box-shadow:0 0 0 3px rgba(90,145,200,.12);
}
body.admin-page-edit_lesson .lesson-editor-extra-publish-toggle:has(input:disabled){
  opacity:.6;
  cursor:wait;
}


/* =========================================================
   ADULT / ADMIN UNIFIED BLUE TOPBAR
   ========================================================= */
:root{
  --adult-topbar:#2F659A;
  --adult-topbar-dark:#285984;
  --adult-topbar-line:rgba(255,255,255,.17);
}
.adult-topbar,
body.admin-page .admin-topbar.adult-topbar{
  height:68px !important;
  min-height:68px !important;
  padding:0 28px !important;
  background:linear-gradient(135deg,var(--adult-topbar) 0%,var(--adult-topbar-dark) 100%) !important;
  border-bottom:1px solid rgba(23,55,85,.34) !important;
  color:#fff !important;
  box-shadow:0 6px 18px rgba(29,58,89,.14) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
.adult-topbar .adult-brand,
.adult-topbar .admin-brand,
body.admin-page .admin-topbar.adult-topbar .admin-brand{
  display:flex;align-items:center;min-width:0;gap:0;
}
.adult-topbar .adult-brand strong,
.adult-topbar .admin-brand strong,
body.admin-page .admin-topbar.adult-topbar .admin-brand strong{
  color:#fff !important;
  font-size:16px !important;
  font-weight:800 !important;
  letter-spacing:.005em !important;
  white-space:nowrap;
}
.adult-topbar .admin-brand span,
body.admin-page .admin-topbar.adult-topbar .admin-brand span{display:none !important;}
.adult-topbar nav,
body.admin-page .admin-topbar.adult-topbar nav{
  display:flex;align-items:center;justify-content:flex-end;gap:7px !important;min-width:0;
}
.adult-topbar nav a,
body.admin-page .admin-topbar.adult-topbar nav a{
  min-height:36px;
  display:inline-flex;align-items:center;justify-content:center;
  padding:8px 10px !important;
  border:1px solid transparent;
  border-radius:10px !important;
  background:transparent !important;
  color:rgba(255,255,255,.89) !important;
  font-size:13px !important;
  font-weight:650 !important;
  line-height:1.2;
  text-decoration:none;
  white-space:nowrap;
  box-shadow:none !important;
}
.adult-topbar nav a:hover,
body.admin-page .admin-topbar.adult-topbar nav a:hover{
  background:rgba(255,255,255,.11) !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.08);
}
.adult-topbar nav .admin-cabinet-link,
body.admin-page .admin-topbar.adult-topbar nav .admin-cabinet-link{
  background:#fff !important;
  color:#285D90 !important;
  border-color:rgba(255,255,255,.88) !important;
  padding-left:13px !important;
  padding-right:13px !important;
  font-weight:800 !important;
}
.adult-topbar nav .admin-cabinet-link:hover,
body.admin-page .admin-topbar.adult-topbar nav .admin-cabinet-link:hover{
  background:#F2F7FC !important;
  color:#234F79 !important;
}
@media(max-width:900px){
  .adult-topbar,
  body.admin-page .admin-topbar.adult-topbar{padding:0 16px !important;gap:12px;}
  .adult-topbar nav,
  body.admin-page .admin-topbar.adult-topbar nav{overflow-x:auto;scrollbar-width:none;justify-content:flex-start;}
  .adult-topbar nav::-webkit-scrollbar,
  body.admin-page .admin-topbar.adult-topbar nav::-webkit-scrollbar{display:none;}
  .adult-topbar .adult-brand strong,
  .adult-topbar .admin-brand strong,
  body.admin-page .admin-topbar.adult-topbar .admin-brand strong{font-size:14px !important;}
}
@media(max-width:650px){
  .adult-topbar,
  body.admin-page .admin-topbar.adult-topbar{height:58px !important;min-height:58px !important;padding:0 12px !important;}
  .adult-topbar nav a,
  body.admin-page .admin-topbar.adult-topbar nav a{min-height:32px;padding:7px 9px !important;font-size:12px !important;}
}
