:root{--p:#123d70;--a:#2563eb;--bg:#f5f7fb;--t:#172033;--m:#6b7280;--b:#e5e7eb}.itd-body{margin:0;background:var(--bg);color:var(--t);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}.itd-shell{display:flex;min-height:100vh}.itd-sidebar{width:270px;background:#0f2747;color:#fff;padding:22px 16px;position:fixed;inset:0 auto 0 0;overflow:auto;z-index:40;box-sizing:border-box}.itd-brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-weight:800;font-size:20px;padding:0 8px 22px}.itd-brand img{width:38px;height:38px;object-fit:contain;background:#fff;border-radius:10px;padding:4px}.itd-profile{background:rgba(255,255,255,.08);border-radius:16px;padding:16px;margin-bottom:18px;display:grid;gap:4px}.itd-avatar{width:36px;height:36px;border-radius:50%;background:#fff;color:#0f2747;display:inline-grid;place-items:center;font-weight:800}.itd-avatar.large{width:52px;height:52px}.itd-profile small{color:#bfd0e7}.itd-nav-link{display:block;color:#dbe7f6;text-decoration:none;padding:11px 12px;border-radius:11px;margin:3px 0;font-size:14px}.itd-nav-link:hover,.itd-nav-link.active{background:#fff;color:#0f2747}.itd-main{margin-left:270px;min-width:0;flex:1}.itd-header{height:76px;background:#fff;border-bottom:1px solid var(--b);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:30}.itd-header h1{font-size:18px;margin:2px 0}.itd-kicker{font-size:10px;font-weight:800;letter-spacing:.12em;color:var(--a)}.itd-user{display:flex;gap:8px;align-items:center;font-size:13px}.itd-menu{display:none}.itd-content{padding:28px;max-width:1440px;margin:0 auto}.itd-hero{background:linear-gradient(135deg,#102f57,#1c62b5);color:white;padding:30px;border-radius:22px;display:flex;justify-content:space-between;align-items:center;gap:20px}.itd-hero h2,.itd-page-head h2{font-size:30px;margin:8px 0}.itd-hero p{color:#dcecff}.itd-pill{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;background:#e8f0ff;color:#1d4ed8;padding:6px 9px;border-radius:999px}.itd-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:20px 0}.itd-stat,.itd-card,.itd-mini,.itd-empty{background:#fff;border:1px solid var(--b);border-radius:18px;padding:20px;box-shadow:0 8px 30px rgba(16,24,40,.04)}.itd-stat span{display:block;color:var(--m);font-size:12px}.itd-stat strong{display:block;font-size:27px;margin:7px 0}.itd-grid-2{display:grid;grid-template-columns:1.4fr 1fr;gap:18px}.itd-action-grid,.itd-card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.itd-action-grid a{padding:14px;border:1px solid var(--b);border-radius:12px;text-decoration:none;color:var(--t);font-weight:650}.itd-page-head{margin-bottom:20px}.itd-page-head p{color:var(--m);margin:0}.itd-toolbar{display:flex;gap:10px;margin:14px 0 18px}.itd-input{box-sizing:border-box;width:100%;padding:11px 12px;border:1px solid #d8dee8;border-radius:10px;background:#fff;font:inherit;margin:7px 0 14px}.itd-toolbar .itd-input{max-width:360px;margin:0}.itd-btn{border:1px solid #cdd6e2;background:#fff;color:#172033;border-radius:11px;padding:10px 14px;font-weight:700;cursor:pointer;text-decoration:none;display:inline-block}.itd-btn.primary{background:#1e5aa8;color:#fff;border-color:#1e5aa8}.itd-hero .itd-btn.primary{background:#fff;color:#123a68}.itd-empty{text-align:center;padding:48px 24px;color:var(--m)}.itd-card-grid{grid-template-columns:repeat(3,1fr)}.itd-flow{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:18px 0}.itd-flow div{background:#fff;border:1px solid var(--b);padding:12px 16px;border-radius:11px;font-weight:800}.itd-mobile-nav{display:none}@media(max-width:980px){.itd-sidebar{transform:translateX(-100%);transition:.25s}.itd-sidebar.open{transform:translateX(0)}.itd-main{margin-left:0}.itd-menu{display:inline-block;border:0;background:transparent;font-size:22px}.itd-header{padding:0 16px}.itd-user span:last-child{display:none}.itd-content{padding:18px 18px 80px}.itd-stats{grid-template-columns:repeat(2,1fr)}.itd-grid-2{grid-template-columns:1fr}.itd-mobile-nav{position:fixed;display:grid;grid-template-columns:repeat(4,1fr);bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--b);z-index:35}.itd-mobile-nav a{text-align:center;text-decoration:none;color:#24354c;font-size:11px;padding:12px 5px}}@media(max-width:640px){.itd-hero{align-items:flex-start;flex-direction:column;padding:22px}.itd-hero h2,.itd-page-head h2{font-size:24px}.itd-card-grid,.itd-action-grid{grid-template-columns:1fr}}
/* ============================================================
   INOVEDU R2B - PREMIUM TEACHER HEADER
   ============================================================ */

.itd-header-premium{
    min-height:82px;
    padding:14px 26px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    position:sticky;
    top:0;
    z-index:60;
    background:rgba(255,255,255,.94);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    border-bottom:1px solid rgba(15,23,42,.07);
    box-shadow:0 8px 30px rgba(15,23,42,.035);
}

.itd-header-left,
.itd-header-actions,
.itd-kicker-row,
.itd-account-trigger,
.itd-account-menu-head,
.itd-account-role{
    display:flex;
    align-items:center;
}

.itd-header-left{gap:15px}
.itd-header-actions{gap:11px}

.itd-heading-block h1{
    margin:3px 0 0;
    font-size:22px;
    line-height:1.15;
    color:#111827;
    font-weight:800;
    letter-spacing:-.03em;
}

.itd-kicker-row{gap:7px}

.itd-kicker{
    font-size:10px;
    font-weight:800;
    letter-spacing:.1em;
    color:#2563eb;
}

.itd-product-dot{
    width:7px;height:7px;border-radius:50%;
    background:#22c55e;
    box-shadow:0 0 0 4px rgba(34,197,94,.11);
}

.itd-plan-badge{
    padding:3px 7px;
    border-radius:999px;
    font-size:9px;
    line-height:1;
    font-weight:900;
    color:#4f46e5;
    background:#eef2ff;
    border:1px solid #e0e7ff;
}

.itd-notification-btn{
    position:relative;
    width:43px;
    height:43px;
    display:grid;
    place-items:center;
    border-radius:14px;
    background:#f8fafc;
    border:1px solid #e8edf5;
    color:#64748b;
    transition:.2s ease;
}

.itd-notification-btn:hover{
    background:#eef4ff;
    color:#2563eb;
    transform:translateY(-1px);
}

.itd-notification-btn svg{
    width:19px;
    height:19px;
    fill:currentColor;
}

.itd-notification-count{
    position:absolute;
    top:-5px;
    right:-5px;
    min-width:19px;
    height:19px;
    padding:0 5px;
    display:grid;
    place-items:center;
    color:white;
    background:#ef4444;
    border:2px solid white;
    border-radius:999px;
    font-size:9px;
    font-weight:900;
}

.itd-account-wrap{position:relative}

.itd-account-trigger{
    min-width:210px;
    padding:6px 9px 6px 7px;
    gap:10px;
    border:1px solid #e8edf5;
    background:white;
    border-radius:16px;
    cursor:pointer;
    text-align:left;
    box-shadow:0 6px 20px rgba(15,23,42,.04);
    transition:.2s ease;
}

.itd-account-trigger:hover,
.itd-account-trigger.is-open{
    border-color:#c7d7fe;
    box-shadow:0 10px 26px rgba(37,99,235,.10);
}

.itd-avatar,
.itd-account-menu-avatar{
    width:38px;
    height:38px;
    flex:0 0 38px;
    display:grid;
    place-items:center;
    border-radius:12px;
    font-size:13px;
    font-weight:900;
    color:white;
    background:linear-gradient(135deg,#2563eb,#7c3aed);
    box-shadow:0 6px 16px rgba(79,70,229,.22);
}

.itd-account-text{
    display:flex;
    flex:1;
    min-width:0;
    flex-direction:column;
}

.itd-account-text strong{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:12px;
    color:#172033;
}

.itd-account-text small{
    margin-top:2px;
    color:#8a94a7;
    font-size:10px;
}

.itd-account-chevron{
    width:16px;
    height:16px;
    fill:none;
    stroke:#94a3b8;
    stroke-width:1.8;
    transition:.2s ease;
}

.itd-account-trigger.is-open .itd-account-chevron{
    transform:rotate(180deg);
}

.itd-account-menu{
    position:absolute;
    top:calc(100% + 10px);
    right:0;
    width:300px;
    padding:9px;
    border:1px solid rgba(226,232,240,.9);
    border-radius:20px;
    background:rgba(255,255,255,.98);
    box-shadow:
        0 24px 60px rgba(15,23,42,.16),
        0 4px 12px rgba(15,23,42,.05);
    opacity:0;
    visibility:hidden;
    transform:translateY(-6px) scale(.98);
    transform-origin:top right;
    transition:.18s ease;
}

.itd-account-menu.is-open{
    opacity:1;
    visibility:visible;
    transform:translateY(0) scale(1);
}

.itd-account-menu-head{
    gap:11px;
    padding:10px;
}

.itd-account-menu-head div{
    min-width:0;
    display:flex;
    flex-direction:column;
}

.itd-account-menu-head strong{
    font-size:13px;
    color:#111827;
}

.itd-account-menu-head span:not(.itd-account-menu-avatar){
    margin-top:3px;
    font-size:10px;
    color:#8491a5;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.itd-account-role{
    gap:7px;
    margin:1px 9px 9px;
    padding:7px 9px;
    border-radius:10px;
    font-size:10px;
    font-weight:700;
    color:#15803d;
    background:#f0fdf4;
}

.itd-account-role span{
    width:7px;height:7px;border-radius:50%;background:#22c55e;
}

.itd-account-menu-links{
    display:flex;
    flex-direction:column;
    gap:2px;
}

.itd-account-menu-links a{
    display:flex;
    align-items:center;
    gap:10px;
    min-height:39px;
    padding:8px 10px;
    border-radius:11px;
    color:#475569;
    font-size:12px;
    font-weight:650;
    text-decoration:none;
    transition:.16s ease;
}

.itd-account-menu-links a:hover{
    color:#1d4ed8;
    background:#f4f7ff;
}

.itd-mi{
    width:22px;
    text-align:center;
    color:#64748b;
}

.itd-menu-count{
    margin-left:auto;
    padding:2px 6px;
    border-radius:999px;
    color:white;
    background:#ef4444;
    font-size:9px;
}

.itd-account-menu-separator{
    height:1px;
    margin:7px 4px;
    background:#eef2f7;
}

.itd-account-menu-links .itd-logout-link{
    color:#dc2626;
}

.itd-account-menu-links .itd-logout-link:hover{
    color:#b91c1c;
    background:#fff1f2;
}

.itd-menu{
    width:42px;
    height:42px;
    display:none;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:4px;
    border:1px solid #e8edf5;
    border-radius:13px;
    background:#fff;
}

.itd-menu span{
    width:17px;height:2px;border-radius:2px;background:#475569;
}

@media(max-width:900px){

    .itd-header-premium{
        min-height:70px;
        padding:10px 14px;
    }

    .itd-menu{display:flex}

    .itd-heading-block h1{font-size:17px}

    .itd-kicker,
    .itd-plan-badge{display:none}

    .itd-account-trigger{
        min-width:auto;
        border:0;
        padding:3px;
        background:transparent;
        box-shadow:none;
    }

    .itd-account-text,
    .itd-account-chevron{display:none}

    .itd-avatar{
        width:39px;height:39px;flex-basis:39px;
    }

    .itd-account-menu{
        position:fixed;
        top:72px;
        left:12px;
        right:12px;
        width:auto;
    }
}


/* =============================================================
   INOVEDU R2C - PREMIUM TEACHER SIDEBAR
   ============================================================= */

.itd-sidebar-premium{
    width:286px;
    min-width:286px;
    height:100vh;
    position:sticky;
    top:0;
    display:flex;
    flex-direction:column;
    padding:18px 15px 15px;
    overflow-y:auto;
    overflow-x:hidden;
    background:
        radial-gradient(circle at 20% 0%,rgba(59,130,246,.15),transparent 30%),
        linear-gradient(180deg,#102d55 0%,#0d294e 48%,#0a2343 100%);
    color:#fff;
    border-right:1px solid rgba(255,255,255,.05);
    box-shadow:18px 0 45px rgba(15,23,42,.06);
}

.itd-sidebar-brand{
    min-height:58px;
    padding:0 6px 13px;
    display:flex;
    align-items:center;
    justify-content:space-between;
}

.itd-brand-link{
    display:flex;
    align-items:center;
    gap:11px;
    text-decoration:none;
    color:#fff;
}

.itd-brand-mark{
    width:43px;
    height:43px;
    display:grid;
    place-items:center;
    border-radius:13px;
    color:#1d4ed8;
    background:#fff;
    box-shadow:0 9px 24px rgba(0,0,0,.13);
}

.itd-brand-mark svg{
    width:24px;
    height:24px;
    fill:currentColor;
    stroke:currentColor;
}

.itd-brand-link > span:last-child{
    display:flex;
    flex-direction:column;
}

.itd-brand-link strong{
    font-size:15px;
    line-height:1.05;
}

.itd-brand-link small{
    margin-top:3px;
    color:#91b8ec;
    font-size:10px;
    letter-spacing:.08em;
    text-transform:uppercase;
    font-weight:800;
}

.itd-sidebar-close{
    display:none;
    width:34px;
    height:34px;
    border:0;
    border-radius:10px;
    color:#dbeafe;
    background:rgba(255,255,255,.07);
    font-size:22px;
    cursor:pointer;
}

.itd-sidebar-account{
    display:flex;
    align-items:center;
    gap:11px;
    margin:4px 2px 20px;
    padding:13px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:17px;
    background:linear-gradient(
        135deg,
        rgba(255,255,255,.10),
        rgba(255,255,255,.055)
    );
    box-shadow:inset 0 1px rgba(255,255,255,.06);
}

.itd-sidebar-avatar{
    width:43px;
    height:43px;
    flex:0 0 43px;
    display:grid;
    place-items:center;
    border-radius:13px;
    color:#fff;
    background:linear-gradient(135deg,#2563eb,#7c3aed);
    font-size:14px;
    font-weight:900;
    box-shadow:0 9px 24px rgba(10,35,67,.25);
}

.itd-sidebar-account-copy{
    min-width:0;
    display:flex;
    flex-direction:column;
}

.itd-sidebar-account-copy strong{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:12px;
}

.itd-sidebar-account-copy > span{
    margin-top:2px;
    color:#b8c9de;
    font-size:10px;
}

.itd-sidebar-account-copy small{
    display:flex;
    align-items:center;
    gap:5px;
    margin-top:5px;
    color:#82e3aa;
    font-size:9px;
    font-weight:700;
}

.itd-sidebar-account-copy small i{
    width:6px;
    height:6px;
    border-radius:50%;
    background:#22c55e;
    box-shadow:0 0 0 3px rgba(34,197,94,.12);
}

.itd-premium-nav{
    flex:1;
}

.itd-nav-label{
    margin:6px 9px 8px;
    color:#7697bf;
    font-size:8.5px;
    font-weight:900;
    letter-spacing:.15em;
}

.itd-nav-label-spaced{
    margin-top:18px;
}

.itd-nav-item,
.itd-nav-parent{
    width:100%;
    min-height:43px;
    margin:2px 0;
    padding:8px 10px;
    display:flex;
    align-items:center;
    gap:10px;
    border:0;
    border-radius:12px;
    color:#cad7e7;
    background:transparent;
    text-decoration:none;
    font-family:inherit;
    font-size:11.5px;
    font-weight:650;
    text-align:left;
    cursor:pointer;
    transition:.18s ease;
}

.itd-nav-item:hover,
.itd-nav-parent:hover{
    color:#fff;
    background:rgba(255,255,255,.07);
}

.itd-nav-item.is-active{
    color:#fff;
    background:linear-gradient(
        135deg,
        rgba(59,130,246,.32),
        rgba(99,102,241,.20)
    );
    box-shadow:inset 3px 0 #60a5fa;
}

.itd-nav-icon{
    width:32px;
    height:32px;
    flex:0 0 32px;
    display:grid;
    place-items:center;
    border-radius:9px;
    background:rgba(255,255,255,.055);
}

.itd-nav-icon svg{
    width:16px;
    height:16px;
    fill:currentColor;
}

.itd-nav-item.is-active .itd-nav-icon{
    background:rgba(255,255,255,.13);
}

.itd-nav-parent > span:nth-child(2){
    flex:1;
}

.itd-nav-chevron{
    width:14px;
    height:14px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    transition:transform .18s ease;
}

.itd-nav-group.is-open .itd-nav-chevron{
    transform:rotate(180deg);
}

.itd-nav-children{
    max-height:0;
    overflow:hidden;
    opacity:.25;
    transition:max-height .25s ease,opacity .18s ease;
}

.itd-nav-group.is-open .itd-nav-children{
    max-height:220px;
    opacity:1;
    padding-bottom:5px;
}

.itd-nav-children a{
    position:relative;
    min-height:34px;
    margin-left:42px;
    padding:8px 12px 8px 17px;
    display:flex;
    align-items:center;
    border-radius:9px;
    color:#9fb4ce;
    text-decoration:none;
    font-size:10.5px;
    font-weight:600;
    transition:.16s ease;
}

.itd-nav-children a::before{
    content:"";
    position:absolute;
    left:4px;
    width:5px;
    height:5px;
    border-radius:50%;
    background:#59799e;
}

.itd-nav-children a:hover{
    color:#fff;
    background:rgba(255,255,255,.05);
}

.itd-nav-children a.is-active{
    color:#fff;
    background:rgba(59,130,246,.13);
}

.itd-nav-children a.is-active::before{
    background:#60a5fa;
    box-shadow:0 0 0 4px rgba(96,165,250,.12);
}

.itd-sidebar-bottom{
    padding-top:14px;
}

.itd-upgrade-card{
    padding:12px;
    border-radius:15px;
    background:
        linear-gradient(145deg,rgba(79,70,229,.27),rgba(37,99,235,.14));
    border:1px solid rgba(147,197,253,.14);
}

.itd-upgrade-icon{
    width:29px;
    height:29px;
    display:grid;
    place-items:center;
    border-radius:9px;
    color:#dbeafe;
    background:rgba(255,255,255,.10);
}

.itd-upgrade-card div{
    margin:8px 0;
    display:flex;
    flex-direction:column;
}

.itd-upgrade-card strong{
    font-size:11px;
}

.itd-upgrade-card div span{
    margin-top:3px;
    color:#a9bed7;
    font-size:9px;
    line-height:1.4;
}

.itd-upgrade-card a{
    display:flex;
    justify-content:center;
    padding:8px 10px;
    border-radius:9px;
    color:#dbeafe;
    background:rgba(255,255,255,.09);
    text-decoration:none;
    font-size:9px;
    font-weight:800;
}

.itd-back-home{
    display:block;
    margin-top:11px;
    padding:7px;
    text-align:center;
    color:#7999bd;
    font-size:9.5px;
    text-decoration:none;
}

.itd-sidebar-overlay{
    display:none;
}

@media(max-width:900px){

    .itd-sidebar-premium{
        position:fixed;
        z-index:1000;
        top:0;
        left:0;
        width:min(306px,86vw);
        min-width:0;
        transform:translateX(-105%);
        transition:transform .25s ease;
        box-shadow:25px 0 65px rgba(2,6,23,.34);
    }

    .itd-sidebar-premium.is-open{
        transform:translateX(0);
    }

    .itd-sidebar-close{
        display:grid;
        place-items:center;
    }

    .itd-sidebar-overlay{
        position:fixed;
        inset:0;
        z-index:999;
        background:rgba(2,6,23,.48);
        backdrop-filter:blur(2px);
    }

    .itd-sidebar-overlay.is-open{
        display:block;
    }
}


/* =============================================================
   INOVEDU R2C1
   FIX DOUBLE SIDEBAR OFFSET + IMPROVE READABILITY
   ============================================================= */

/*
 * The sidebar is already a flex item inside .itd-shell.
 * Old dashboard CSS may still apply margin-left / padding-left
 * designed for a fixed sidebar. Neutralize that second offset.
 */

.itd-shell{
    display:flex !important;
    width:100% !important;
    min-height:100vh !important;
    align-items:stretch !important;
}

.itd-sidebar,
.itd-sidebar-premium{
    flex:0 0 286px !important;
    width:286px !important;
    min-width:286px !important;
}

.itd-main{
    flex:1 1 auto !important;
    width:auto !important;
    min-width:0 !important;

    margin-left:0 !important;
    left:auto !important;
    transform:none !important;

    padding-left:0 !important;

    position:relative !important;
}


/* Header must start immediately after sidebar */

.itd-header,
.itd-header-premium{
    width:100% !important;
    margin-left:0 !important;
    left:auto !important;
}


/* Main content alignment */

.itd-content{
    width:100% !important;
    max-width:none !important;

    margin-left:0 !important;
    margin-right:0 !important;

    padding-left:32px !important;
    padding-right:32px !important;
}


/* =============================================================
   READABILITY
   ============================================================= */

.itd-nav-item,
.itd-nav-parent{
    min-height:48px !important;

    padding-top:9px !important;
    padding-bottom:9px !important;

    font-size:13.5px !important;
    line-height:1.35 !important;
    font-weight:650 !important;
}

.itd-nav-icon{
    width:34px !important;
    height:34px !important;
    flex-basis:34px !important;
}

.itd-nav-icon svg{
    width:17px !important;
    height:17px !important;
}

.itd-nav-children a{
    min-height:38px !important;

    padding-top:9px !important;
    padding-bottom:9px !important;

    font-size:12.5px !important;
    line-height:1.4 !important;
}

.itd-nav-label{
    margin-top:10px !important;
    margin-bottom:9px !important;

    font-size:9.5px !important;
    letter-spacing:.14em !important;
}

.itd-sidebar-account-copy strong{
    font-size:13.5px !important;
    line-height:1.25 !important;
}

.itd-sidebar-account-copy > span{
    font-size:11.5px !important;
    line-height:1.35 !important;
}

.itd-sidebar-account-copy small{
    font-size:10.5px !important;
}

.itd-brand-link strong{
    font-size:16px !important;
}

.itd-brand-link small{
    font-size:10.5px !important;
}

.itd-upgrade-card strong{
    font-size:12.5px !important;
}

.itd-upgrade-card div span{
    font-size:10.5px !important;
    line-height:1.45 !important;
}

.itd-upgrade-card a{
    min-height:35px !important;
    align-items:center !important;

    font-size:10.5px !important;
}

.itd-back-home{
    font-size:10.5px !important;
}


/* Header readability */

.itd-heading-block h1{
    font-size:23px !important;
}

.itd-kicker{
    font-size:10.5px !important;
}

.itd-account-text strong{
    font-size:13px !important;
}

.itd-account-text small{
    font-size:11px !important;
}


/* Main page readability */

.itd-content h1{
    line-height:1.2;
}

.itd-content h2{
    line-height:1.25;
}

.itd-content p,
.itd-content label,
.itd-content button,
.itd-content input,
.itd-content select,
.itd-content textarea{
    line-height:1.5;
}


/* =============================================================
   RESPONSIVE
   ============================================================= */

@media(max-width:1100px){

    .itd-sidebar,
    .itd-sidebar-premium{
        flex-basis:270px !important;
        width:270px !important;
        min-width:270px !important;
    }

    .itd-content{
        padding-left:24px !important;
        padding-right:24px !important;
    }
}

@media(max-width:900px){

    .itd-sidebar,
    .itd-sidebar-premium{
        width:min(320px,88vw) !important;
        min-width:0 !important;
        flex-basis:auto !important;
    }

    .itd-main{
        width:100% !important;
        flex:1 1 100% !important;
        margin-left:0 !important;
        padding-left:0 !important;
    }

    .itd-content{
        padding-left:16px !important;
        padding-right:16px !important;
    }

    .itd-nav-item,
    .itd-nav-parent{
        font-size:14px !important;
        min-height:50px !important;
    }

    .itd-nav-children a{
        font-size:13px !important;
        min-height:40px !important;
    }
}


/* =============================================================
   INOVEDU R2D - LAYER SOVEREIGNTY
   Drawer > Overlay > Header > Content
   ============================================================= */

.itd-shell{
    isolation:isolate;
}

.itd-sidebar-premium{
    z-index:200 !important;
}

.itd-header-premium{
    z-index:100 !important;
}

.itd-account-menu{
    z-index:140 !important;
}

@media(max-width:900px){

    .itd-sidebar-premium{
        z-index:5000 !important;
    }

    .itd-sidebar-overlay{
        z-index:4900 !important;
    }

    .itd-header-premium{
        z-index:100 !important;
    }

    .itd-account-menu{
        z-index:150 !important;
    }
}


/* =============================================================
   INOVEDU R2D - TEACHER PREMIUM DASHBOARD
   ============================================================= */

.itd-premium-dashboard{
    display:flex;
    flex-direction:column;
    gap:22px;
    padding-bottom:50px;
}

.itd-dashboard-hero{
    position:relative;
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
    padding:30px 32px;
    border-radius:24px;
    color:#fff;
    background:
        radial-gradient(circle at 88% 15%,rgba(56,189,248,.34),transparent 30%),
        linear-gradient(135deg,#123a6c 0%,#1e5ca7 58%,#1670c4 100%);
    box-shadow:0 20px 42px rgba(30,64,175,.12);
}

.itd-dashboard-hero::after{
    content:"";
    position:absolute;
    width:190px;
    height:190px;
    border-radius:50%;
    right:-60px;
    bottom:-100px;
    background:rgba(255,255,255,.08);
}

.itd-dashboard-hero-copy{
    position:relative;
    z-index:2;
}

.itd-dashboard-eyebrow{
    display:inline-flex;
    padding:6px 10px;
    border-radius:999px;
    color:#1d4ed8;
    background:#fff;
    font-size:10px;
    font-weight:900;
    letter-spacing:.1em;
}

.itd-dashboard-hero h2{
    margin:14px 0 8px;
    font-size:29px;
    line-height:1.2;
    color:#fff;
}

.itd-dashboard-hero p{
    margin:0;
    max-width:680px;
    color:#d9e7fb;
    font-size:14px;
}

.itd-hero-actions{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    margin-top:20px;
}

.itd-hero-btn{
    min-height:40px;
    padding:9px 14px;
    display:inline-flex;
    align-items:center;
    border-radius:11px;
    text-decoration:none;
    font-size:12px;
    font-weight:800;
}

.itd-hero-btn-primary{
    color:#17457c;
    background:#fff;
}

.itd-hero-btn-soft{
    color:#fff;
    background:rgba(255,255,255,.13);
    border:1px solid rgba(255,255,255,.16);
}

.itd-hero-summary{
    position:relative;
    z-index:2;
    min-width:205px;
    padding:18px;
    border:1px solid rgba(255,255,255,.14);
    border-radius:17px;
    background:rgba(255,255,255,.10);
    backdrop-filter:blur(10px);
}

.itd-hero-summary-label{
    display:block;
    color:#bde3ff;
    font-size:9px;
    font-weight:900;
    letter-spacing:.1em;
}

.itd-hero-summary strong{
    display:block;
    margin-top:7px;
    font-size:24px;
}

.itd-hero-summary small{
    color:#c4d9ef;
    font-size:10px;
}

.itd-hero-online{
    margin-top:13px;
    display:flex;
    align-items:center;
    gap:6px;
    font-size:10px;
    color:#dff7e7;
}

.itd-hero-online i{
    width:7px;
    height:7px;
    border-radius:50%;
    background:#4ade80;
}

.itd-kpi-grid{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:13px;
}

.itd-kpi{
    min-height:126px;
    padding:18px;
    display:flex;
    align-items:flex-start;
    gap:13px;
    border-radius:18px;
    text-decoration:none;
    border:1px solid rgba(226,232,240,.8);
    transition:.18s ease;
}

.itd-kpi:hover{
    transform:translateY(-2px);
    box-shadow:0 12px 30px rgba(15,23,42,.08);
}

.itd-kpi-icon{
    width:40px;
    height:40px;
    flex:0 0 40px;
    display:grid;
    place-items:center;
    border-radius:12px;
    font-size:17px;
    background:rgba(255,255,255,.72);
}

.itd-kpi > div:last-child{
    display:flex;
    flex-direction:column;
}

.itd-kpi span{
    font-size:11px;
    font-weight:700;
    color:#64748b;
}

.itd-kpi strong{
    margin-top:4px;
    color:#172033;
    font-size:25px;
}

.itd-kpi small{
    margin-top:4px;
    color:#8491a5;
    font-size:9.5px;
}

.itd-kpi-blue{background:#eef6ff}
.itd-kpi-violet{background:#f5f1ff}
.itd-kpi-cyan{background:#edfbff}
.itd-kpi-amber{background:#fff8e8}
.itd-kpi-green{background:#edfdf4}

.itd-kpi-money{
    font-size:20px !important;
}

.itd-dashboard-grid{
    display:grid;
    gap:17px;
}

.itd-dashboard-grid-main{
    grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);
}

.itd-dashboard-grid-triple{
    grid-template-columns:repeat(3,minmax(0,1fr));
}

.itd-dash-box{
    padding:22px;
    border:1px solid #e6ebf2;
    border-radius:20px;
    background:#fff;
    box-shadow:0 10px 25px rgba(15,23,42,.035);
}

.itd-box-agenda{
    background:linear-gradient(145deg,#fff,#f5f9ff);
}

.itd-box-tasks{
    background:linear-gradient(145deg,#fff,#faf7ff);
}

.itd-box-students{
    background:linear-gradient(145deg,#eff7ff,#fff);
}

.itd-box-ai{
    position:relative;
    overflow:hidden;
    background:linear-gradient(145deg,#312e81,#5b21b6);
    color:#fff;
}

.itd-box-business{
    background:linear-gradient(145deg,#effcf5,#fff);
}

.itd-box-head,
.itd-box-head > div{
    display:flex;
    align-items:center;
}

.itd-box-head{
    justify-content:space-between;
    gap:14px;
}

.itd-box-head > div{
    gap:11px;
}

.itd-box-icon{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    border-radius:11px;
    background:#eef4ff;
}

.itd-box-head h3,
.itd-dash-box h3{
    margin:0;
    color:#182238;
    font-size:17px;
}

.itd-box-head p{
    margin:3px 0 0;
    color:#8a95a7;
    font-size:10.5px;
}

.itd-box-head a,
.itd-card-link{
    color:#2563eb;
    font-size:11px;
    font-weight:800;
    text-decoration:none;
}

.itd-empty-premium{
    margin-top:20px;
    min-height:120px;
    padding:18px;
    display:flex;
    align-items:center;
    gap:15px;
    border-radius:15px;
    background:rgba(255,255,255,.82);
    border:1px dashed #d8e3f0;
}

.itd-empty-orb{
    width:44px;
    height:44px;
    flex:0 0 44px;
    display:grid;
    place-items:center;
    border-radius:14px;
    color:#2563eb;
    background:#eaf3ff;
    font-size:20px;
}

.itd-empty-premium div{
    flex:1;
}

.itd-empty-premium strong{
    color:#1e293b;
    font-size:12.5px;
}

.itd-empty-premium p{
    margin:4px 0 0;
    color:#7b8799;
    font-size:10.5px;
}

.itd-empty-premium a{
    padding:8px 11px;
    border-radius:9px;
    color:#fff;
    background:#2563eb;
    text-decoration:none;
    font-size:10px;
    font-weight:800;
}

.itd-task-list{
    margin-top:15px;
    display:flex;
    flex-direction:column;
    gap:7px;
}

.itd-task-list a{
    display:flex;
    align-items:center;
    gap:10px;
    padding:11px;
    border-radius:12px;
    color:#1e293b;
    background:rgba(255,255,255,.75);
    text-decoration:none;
}

.itd-task-list a:hover{
    background:#fff;
}

.itd-task-list div{
    flex:1;
    display:flex;
    flex-direction:column;
}

.itd-task-list strong{
    font-size:11.5px;
}

.itd-task-list small{
    margin-top:2px;
    color:#8a95a7;
    font-size:9.5px;
}

.itd-task-dot{
    width:8px;height:8px;border-radius:50%;
}

.itd-task-blue{background:#3b82f6}
.itd-task-violet{background:#8b5cf6}
.itd-task-green{background:#22c55e}

.itd-mini-badge{
    display:inline-flex;
    padding:5px 8px;
    border-radius:999px;
    color:#2563eb;
    background:#e9f2ff;
    font-size:8.5px;
    font-weight:900;
    letter-spacing:.08em;
}

.itd-dash-box > h3{
    margin-top:11px;
}

.itd-dash-box > p{
    color:#68758a;
    font-size:11px;
}

.itd-progress-preview{
    margin:18px 0;
    padding:13px;
    border-radius:13px;
    background:rgba(255,255,255,.7);
}

.itd-progress-preview > div:first-child{
    display:flex;
    align-items:center;
    justify-content:space-between;
    font-size:10px;
}

.itd-progress-track{
    height:7px;
    margin:9px 0;
    overflow:hidden;
    border-radius:999px;
    background:#e4edf8;
}

.itd-progress-track i{
    display:block;
    height:100%;
    border-radius:999px;
    background:#3b82f6;
}

.itd-progress-preview small{
    color:#8491a5;
    font-size:9px;
}

.itd-box-ai h3,
.itd-box-ai p{
    color:#fff;
}

.itd-box-ai p{
    color:#ddd6fe;
}

.itd-ai-spark{
    position:absolute;
    right:20px;
    top:18px;
    font-size:28px;
    color:#c4b5fd;
}

.itd-mini-badge-ai{
    color:#ede9fe;
    background:rgba(255,255,255,.12);
}

.itd-ai-tags{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin:16px 0;
}

.itd-ai-tags span{
    padding:5px 8px;
    border-radius:8px;
    color:#ede9fe;
    background:rgba(255,255,255,.09);
    font-size:9px;
}

.itd-ai-button{
    display:inline-flex;
    padding:9px 12px;
    border-radius:9px;
    color:#4c1d95;
    background:#fff;
    text-decoration:none;
    font-size:10px;
    font-weight:900;
}

.itd-business-number{
    margin:16px 0 5px;
}

.itd-business-number strong{
    font-size:28px;
    color:#166534;
}

.itd-business-number span{
    margin-left:4px;
    color:#4b7b60;
    font-size:10px;
}

.itd-quick-grid{
    margin-top:15px;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
}

.itd-quick-grid a{
    min-height:92px;
    padding:14px;
    display:flex;
    flex-direction:column;
    border-radius:14px;
    border:1px solid #e8edf4;
    color:#1e293b;
    background:#fbfcfe;
    text-decoration:none;
    transition:.18s ease;
}

.itd-quick-grid a:hover{
    transform:translateY(-2px);
    border-color:#cfe0fb;
    background:#f5f9ff;
}

.itd-quick-grid a > span{
    font-size:18px;
    color:#2563eb;
}

.itd-quick-grid strong{
    margin-top:7px;
    font-size:11.5px;
}

.itd-quick-grid small{
    margin-top:3px;
    color:#8b96a8;
    font-size:9.5px;
}

@media(max-width:1250px){

    .itd-kpi-grid{
        grid-template-columns:repeat(3,1fr);
    }

    .itd-dashboard-grid-triple{
        grid-template-columns:1fr 1fr;
    }

}

@media(max-width:900px){

    .itd-dashboard-hero{
        padding:22px;
        align-items:flex-start;
        flex-direction:column;
    }

    .itd-dashboard-hero h2{
        font-size:24px;
    }

    .itd-hero-summary{
        width:100%;
    }

    .itd-kpi-grid{
        grid-template-columns:1fr 1fr;
    }

    .itd-dashboard-grid-main,
    .itd-dashboard-grid-triple{
        grid-template-columns:1fr;
    }

    .itd-quick-grid{
        grid-template-columns:1fr 1fr;
    }

}

@media(max-width:560px){

    .itd-kpi-grid,
    .itd-quick-grid{
        grid-template-columns:1fr;
    }

    .itd-empty-premium{
        align-items:flex-start;
        flex-wrap:wrap;
    }

}


/* =============================================================
   R2E - PREMIUM TYPOGRAPHY / READABILITY
   ============================================================= */

/* Hero */
.itd-dashboard-eyebrow{
    font-size:11px !important;
}

.itd-dashboard-hero p{
    font-size:15px !important;
    line-height:1.6 !important;
}

.itd-hero-btn{
    font-size:13px !important;
}

.itd-hero-summary-label{
    font-size:11px !important;
}

.itd-hero-summary small,
.itd-hero-online{
    font-size:12px !important;
}

/* KPI cards */
.itd-kpi span{
    font-size:13px !important;
}

.itd-kpi strong{
    font-size:27px !important;
}

.itd-kpi small{
    font-size:11.5px !important;
    line-height:1.45 !important;
}

.itd-kpi-money{
    font-size:22px !important;
}

/* Card headers */
.itd-box-head h3,
.itd-dash-box h3{
    font-size:18px !important;
}

.itd-box-head p{
    font-size:12.5px !important;
    line-height:1.45 !important;
}

.itd-box-head a,
.itd-card-link{
    font-size:12.5px !important;
}

/* Empty states */
.itd-empty-premium strong{
    font-size:14px !important;
}

.itd-empty-premium p{
    font-size:12.5px !important;
    line-height:1.55 !important;
}

.itd-empty-premium a{
    font-size:12px !important;
}

/* Task cards */
.itd-task-list strong{
    font-size:13px !important;
}

.itd-task-list small{
    font-size:11.5px !important;
    line-height:1.4 !important;
}

/* Labels */
.itd-mini-badge{
    font-size:10px !important;
}

/* Standard card text */
.itd-dash-box > p{
    font-size:13px !important;
    line-height:1.6 !important;
}

/* Progress */
.itd-progress-preview > div:first-child{
    font-size:12px !important;
}

.itd-progress-preview small{
    font-size:11px !important;
    line-height:1.45 !important;
}

/* AI */
.itd-ai-tags span{
    font-size:11px !important;
}

.itd-ai-button{
    font-size:12px !important;
}

/* Business */
.itd-business-number span{
    font-size:12px !important;
}

/* Quick actions */
.itd-quick-grid strong{
    font-size:13.5px !important;
}

.itd-quick-grid small{
    font-size:11.5px !important;
    line-height:1.45 !important;
}

/* Sidebar secondary text */
.itd-sidebar-premium small,
.itd-sidebar-premium .itd-nav-subtitle{
    font-size:11.5px !important;
    line-height:1.45 !important;
}


/* ============================================================
   INOVEDU R2G - RESPONSIVE + READABILITY CONTRACT
   ============================================================ */

html,
body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
}

.itd-body {
    width: 100%;
    max-width: 100vw;
    overflow-x: hidden;
    font-size: 16px;
}

.itd-shell {
    width: 100%;
    max-width: 100vw;
    min-width: 0;
    overflow-x: clip;
}

.itd-main {
    min-width: 0;
    max-width: 100%;
    overflow-x: hidden;
}

.itd-content {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    overflow-x: hidden;
}

.itd-content *,
.itd-main *,
.itd-shell * {
    box-sizing: border-box;
}

.itd-content > *,
.itd-dash-grid > *,
.itd-kpi-grid > *,
.itd-quick-grid > * {
    min-width: 0;
    max-width: 100%;
}

/* Never let text force a card wider than its container */
.itd-content p,
.itd-content small,
.itd-content span,
.itd-content strong,
.itd-content a,
.itd-content h1,
.itd-content h2,
.itd-content h3 {
    overflow-wrap: anywhere;
}

/* ---------- Readability ---------- */

.itd-header-title,
.itd-page-title {
    font-size: clamp(25px, 2vw, 32px);
    line-height: 1.15;
}

.itd-sidebar-premium {
    font-size: 15px;
}

.itd-sidebar-premium a,
.itd-sidebar-premium button {
    font-size: 15px;
}

.itd-card h2,
.itd-card h3,
.itd-dash-card h2,
.itd-dash-card h3 {
    font-size: 19px;
    line-height: 1.3;
}

.itd-card p,
.itd-dash-card p,
.itd-dash-box > p {
    font-size: 14px;
    line-height: 1.6;
}

.itd-kpi-label {
    font-size: 14px;
}

.itd-kpi-value,
.itd-kpi strong {
    font-size: 29px;
}

.itd-quick-grid strong {
    font-size: 15px;
    line-height: 1.35;
}

.itd-quick-grid small {
    font-size: 13px;
    line-height: 1.45;
}

.itd-hero p {
    font-size: 16px;
    line-height: 1.6;
}

.itd-hero a,
.itd-hero button {
    font-size: 14px;
}

/* ---------- Fluid grids ---------- */

.itd-dash-grid,
.itd-kpi-grid,
.itd-quick-grid {
    width: 100%;
    max-width: 100%;
}

@media (max-width: 1400px) {

    .itd-content {
        padding-left: 20px;
        padding-right: 20px;
    }

    .itd-kpi-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .itd-quick-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 1100px) {

    .itd-dash-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .itd-kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {

    .itd-main,
    .itd-content {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    .itd-content {
        padding-left: 16px;
        padding-right: 16px;
        padding-bottom: 90px;
    }

    .itd-dash-grid,
    .itd-kpi-grid,
    .itd-quick-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {

    .itd-content {
        padding-left: 12px;
        padding-right: 12px;
    }

    .itd-header-title,
    .itd-page-title {
        font-size: 24px;
    }

    .itd-card h2,
    .itd-card h3,
    .itd-dash-card h2,
    .itd-dash-card h3 {
        font-size: 18px;
    }

    .itd-card p,
    .itd-dash-card p,
    .itd-dash-box > p {
        font-size: 14px;
    }

    .itd-quick-grid strong {
        font-size: 15px;
    }

    .itd-quick-grid small {
        font-size: 13px;
    }
}

/* ============================================================
   INOVEDU R3A - TEACHER PREMIUM WELCOME
   ============================================================ */

.itd-welcome{
    width:100%;
    max-width:1500px;
    margin:0 auto;
    padding:18px 4px 48px;
}

.itd-welcome-hero{
    position:relative;
    overflow:hidden;
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);
    gap:54px;
    align-items:center;
    min-height:590px;
    padding:64px;
    border-radius:32px;
    background:
        radial-gradient(circle at 90% 15%,rgba(96,165,250,.24),transparent 30%),
        linear-gradient(135deg,#071f46 0%,#123b78 52%,#1d4ed8 100%);
    color:#fff;
    box-shadow:0 30px 80px rgba(15,55,110,.18);
}

.itd-welcome-hero:before{
    content:"";
    position:absolute;
    width:380px;
    height:380px;
    border-radius:50%;
    background:rgba(255,255,255,.05);
    right:-140px;
    bottom:-190px;
}

.itd-welcome-copy{
    position:relative;
    z-index:2;
}

.itd-welcome-badge{
    display:inline-flex;
    align-items:center;
    gap:9px;
    padding:8px 13px;
    border:1px solid rgba(255,255,255,.18);
    border-radius:999px;
    background:rgba(255,255,255,.09);
    font-size:13px;
    font-weight:800;
    letter-spacing:.07em;
    text-transform:uppercase;
}

.itd-welcome-copy h1{
    max-width:760px;
    margin:22px 0 20px;
    font-size:clamp(40px,4.7vw,68px);
    line-height:1.02;
    letter-spacing:-.045em;
    color:#fff;
}

.itd-welcome-copy h1 span{
    display:block;
    color:#93c5fd;
}

.itd-welcome-lead{
    max-width:690px;
    margin:0;
    font-size:18px !important;
    line-height:1.72 !important;
    color:#dbeafe;
}

.itd-welcome-actions{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    margin-top:32px;
}

.itd-welcome-primary,
.itd-welcome-secondary{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:52px;
    padding:0 22px;
    border-radius:14px;
    font-size:15px !important;
    font-weight:800;
    text-decoration:none;
    transition:.2s ease;
}

.itd-welcome-primary{
    gap:9px;
    background:#fff;
    color:#123b78;
    box-shadow:0 12px 30px rgba(0,0,0,.12);
}

.itd-welcome-secondary{
    color:#fff;
    border:1px solid rgba(255,255,255,.22);
    background:rgba(255,255,255,.07);
}

.itd-welcome-primary:hover,
.itd-welcome-secondary:hover{
    transform:translateY(-2px);
}

.itd-welcome-trust{
    display:flex;
    gap:19px;
    flex-wrap:wrap;
    margin-top:29px;
    color:#bfdbfe;
    font-size:13px;
    font-weight:700;
}

.itd-welcome-visual{
    position:relative;
    z-index:2;
    min-width:0;
}

.itd-demo-window{
    padding:24px;
    border:1px solid rgba(255,255,255,.2);
    border-radius:27px;
    background:rgba(255,255,255,.96);
    color:#0f172a;
    box-shadow:0 35px 70px rgba(0,0,0,.26);
    transform:rotate(1deg);
}

.itd-demo-top{
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.itd-demo-top small{
    display:block;
    margin-bottom:3px;
    color:#64748b;
    font-size:11px;
    font-weight:800;
}

.itd-demo-top strong{
    font-size:19px;
}

.itd-demo-live{
    padding:7px 10px;
    border-radius:999px;
    background:#ecfdf5;
    color:#047857;
    font-size:11px;
    font-weight:800;
}

.itd-demo-metrics{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
    margin:22px 0 13px;
}

.itd-demo-metrics > div{
    padding:17px;
    border:1px solid #e5e7eb;
    border-radius:17px;
    background:#f8fafc;
}

.itd-demo-metrics span,
.itd-demo-metrics small{
    display:block;
    color:#64748b;
    font-size:12px;
}

.itd-demo-metrics strong{
    display:block;
    margin:7px 0 4px;
    font-size:27px;
}

.itd-demo-card{
    padding:21px;
    border-radius:19px;
    background:linear-gradient(135deg,#312e81,#5b21b6);
    color:#fff;
}

.itd-demo-ai{
    display:inline-block;
    margin-bottom:12px;
    font-size:11px;
    font-weight:900;
    color:#ddd6fe;
}

.itd-demo-card strong{
    display:block;
    font-size:17px;
    line-height:1.35;
}

.itd-demo-card p{
    margin:8px 0 0;
    color:#ddd6fe;
    font-size:13px !important;
    line-height:1.55 !important;
}

.itd-demo-session{
    display:grid;
    grid-template-columns:auto 1fr auto;
    gap:12px;
    align-items:center;
    margin-top:13px;
    padding:15px;
    border:1px solid #e5e7eb;
    border-radius:17px;
}

.itd-demo-avatar{
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    border-radius:13px;
    background:#dbeafe;
    color:#1d4ed8;
    font-size:12px;
    font-weight:900;
}

.itd-demo-session strong,
.itd-demo-session small{
    display:block;
}

.itd-demo-session strong{
    font-size:13px;
}

.itd-demo-session small{
    margin-top:3px;
    color:#64748b;
    font-size:11px;
}

.itd-demo-session > span{
    color:#2563eb;
    font-size:11px;
    font-weight:800;
}

.itd-welcome-float{
    position:absolute;
    display:flex;
    gap:9px;
    align-items:center;
    padding:11px 14px;
    border-radius:14px;
    background:#fff;
    color:#0f172a;
    box-shadow:0 15px 35px rgba(0,0,0,.18);
}

.itd-welcome-float span{
    color:#2563eb;
}

.itd-welcome-float strong,
.itd-welcome-float small{
    display:block;
}

.itd-welcome-float strong{font-size:11px}
.itd-welcome-float small{font-size:9px;color:#64748b}

.itd-welcome-float-one{
    left:-30px;
    bottom:45px;
}

.itd-welcome-float-two{
    right:-20px;
    top:48px;
}

.itd-welcome-section{
    padding:82px 14px 30px;
}

.itd-welcome-section-head{
    max-width:780px;
    margin:0 auto 38px;
    text-align:center;
}

.itd-welcome-section-head > span,
.itd-welcome-bottom > div > span{
    color:#2563eb;
    font-size:12px;
    font-weight:900;
    letter-spacing:.12em;
}

.itd-welcome-section-head h2{
    margin:12px 0;
    font-size:clamp(30px,3vw,44px);
    line-height:1.1;
    letter-spacing:-.035em;
}

.itd-welcome-section-head p{
    color:#64748b;
    font-size:16px !important;
    line-height:1.65 !important;
}

.itd-benefit-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:17px;
}

.itd-benefit-card{
    min-width:0;
    padding:27px;
    border:1px solid #e5e7eb;
    border-radius:22px;
    background:#fff;
    box-shadow:0 10px 28px rgba(15,23,42,.045);
}

.itd-benefit-icon{
    display:grid;
    place-items:center;
    width:48px;
    height:48px;
    border-radius:15px;
    background:#eff6ff;
    color:#2563eb;
    font-size:20px;
}

.itd-benefit-card h3{
    margin:19px 0 8px;
    font-size:18px;
}

.itd-benefit-card p{
    margin:0;
    color:#64748b;
    font-size:14px !important;
    line-height:1.65 !important;
}

.itd-welcome-bottom{
    display:flex;
    justify-content:space-between;
    gap:30px;
    align-items:center;
    margin:55px 14px 10px;
    padding:38px 42px;
    border-radius:25px;
    background:#eff6ff;
}

.itd-welcome-bottom h2{
    margin:8px 0;
    font-size:28px;
}

.itd-welcome-bottom p{
    margin:0;
    color:#64748b;
    font-size:14px !important;
}

.itd-welcome-bottom > a{
    flex:0 0 auto;
    padding:15px 20px;
    border-radius:13px;
    background:#1d4ed8;
    color:#fff;
    font-size:14px;
    font-weight:800;
    text-decoration:none;
}

@media(max-width:1180px){
    .itd-welcome-hero{
        grid-template-columns:1fr;
        padding:48px;
    }

    .itd-welcome-visual{
        max-width:650px;
    }
}

@media(max-width:840px){
    .itd-benefit-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .itd-welcome-bottom{
        align-items:flex-start;
        flex-direction:column;
    }
}

@media(max-width:600px){
    .itd-welcome{
        padding-top:5px;
    }

    .itd-welcome-hero{
        padding:30px 21px;
        border-radius:22px;
    }

    .itd-welcome-copy h1{
        font-size:38px;
    }

    .itd-welcome-lead{
        font-size:16px !important;
    }

    .itd-benefit-grid{
        grid-template-columns:1fr;
    }

    .itd-welcome-section{
        padding:55px 2px 20px;
    }

    .itd-welcome-float{
        display:none;
    }

    .itd-demo-metrics{
        grid-template-columns:1fr;
    }

    .itd-welcome-bottom{
        margin-left:0;
        margin-right:0;
        padding:27px 23px;
    }
}

/* ============================================================
   INOVEDU R3B - TEACHER PUBLIC REGISTRATION
   ============================================================ */

.itd-register-cta{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:52px;
    padding:0 22px;
    border-radius:14px;
    background:#60a5fa;
    color:#071f46;
    font-size:15px;
    font-weight:900;
    text-decoration:none;
    box-shadow:0 12px 30px rgba(0,0,0,.10);
    transition:.2s ease;
}

.itd-register-cta:hover{
    transform:translateY(-2px);
    background:#93c5fd;
}

.itd-register-section{
    display:grid;
    grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);
    gap:48px;
    align-items:center;
    margin:62px 14px 20px;
    padding:46px;
    border:1px solid #dbeafe;
    border-radius:28px;
    background:
        radial-gradient(
            circle at 0 0,
            rgba(59,130,246,.12),
            transparent 35%
        ),
        #f8fbff;
}

.itd-register-eyebrow{
    color:#2563eb;
    font-size:12px;
    font-weight:900;
    letter-spacing:.12em;
}

.itd-register-copy h2{
    margin:12px 0 15px;
    font-size:clamp(30px,3vw,44px);
    line-height:1.08;
    letter-spacing:-.035em;
}

.itd-register-copy > p{
    max-width:560px;
    color:#64748b;
    font-size:16px !important;
    line-height:1.7 !important;
}

.itd-register-points{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
    margin-top:25px;
}

.itd-register-points span{
    padding:12px 14px;
    border-radius:12px;
    background:#fff;
    color:#1e3a5f;
    font-size:13px;
    font-weight:700;
    border:1px solid #dbeafe;
}

.itd-role-register-form{
    display:grid;
    gap:16px;
    padding:28px;
    border-radius:22px;
    background:#fff;
    border:1px solid #e5e7eb;
    box-shadow:0 18px 45px rgba(15,23,42,.08);
}

.itd-form-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:13px;
}

.itd-role-register-form label > span{
    display:block;
    margin-bottom:7px;
    color:#334155;
    font-size:13px;
    font-weight:800;
}

.itd-role-register-form input[type="text"],
.itd-role-register-form input[type="email"],
.itd-role-register-form input[type="tel"],
.itd-role-register-form input[type="password"]{
    width:100%;
    min-width:0;
    height:49px;
    padding:0 14px;
    border:1px solid #dbe3ef;
    border-radius:12px;
    outline:none;
    background:#fff;
    color:#0f172a;
    font-size:15px;
}

.itd-role-register-form input:focus{
    border-color:#3b82f6;
    box-shadow:0 0 0 4px rgba(59,130,246,.10);
}

.itd-register-check{
    display:grid !important;
    grid-template-columns:auto 1fr;
    gap:9px;
    align-items:start;
}

.itd-register-check input{
    margin-top:3px;
}

.itd-register-check span{
    margin:0 !important;
    color:#64748b !important;
    font-size:12px !important;
    font-weight:500 !important;
    line-height:1.5;
}

.itd-register-submit{
    min-height:52px;
    border:0;
    border-radius:13px;
    background:#1d4ed8;
    color:#fff;
    font-size:15px;
    font-weight:900;
    cursor:pointer;
}

.itd-register-submit:disabled{
    opacity:.65;
    cursor:wait;
}

.itd-register-status{
    min-height:20px;
    font-size:13px;
    font-weight:700;
}

.itd-register-status.is-success{
    color:#047857;
}

.itd-register-status.is-error{
    color:#b91c1c;
}

.itd-register-login{
    margin:0 !important;
    text-align:center;
    color:#64748b;
    font-size:13px !important;
}

.itd-register-login a{
    color:#2563eb;
    font-weight:800;
}

@media(max-width:950px){
    .itd-register-section{
        grid-template-columns:1fr;
        padding:34px;
    }
}

@media(max-width:600px){
    .itd-register-section{
        margin-left:0;
        margin-right:0;
        padding:25px 20px;
        border-radius:22px;
    }

    .itd-form-grid,
    .itd-register-points{
        grid-template-columns:1fr;
    }

    .itd-role-register-form{
        padding:20px;
    }
}

/* ============================================================
   INOVEDU R3C - TEACHER PUBLIC WELCOME SITE SHELL
   ============================================================ */

body:not(.itd-body) .itd-welcome{
    width:min(100% - 32px,1500px);
    max-width:1500px;
    margin:0 auto;
    padding-top:34px;
}

body:not(.itd-body) .itd-welcome *{
    box-sizing:border-box;
}

@media(max-width:700px){
    body:not(.itd-body) .itd-welcome{
        width:min(100% - 20px,1500px);
        padding-top:20px;
    }
}
