/* MentoraPro öğretmen paneli — 2026-08-20 paket */

#teacher-panel [data-sutlac-dock],
.mp-sutlac-dock-hidden { display: none !important; }
#teacher-panel .view-block.hidden,
#teacher-ai-view.hidden {
    display: none !important;
}
#teacher-dashboard-view #tdash-week-feedback,
.mp-sutlac-flow-hidden { display: none !important; }

.mp-gdrive-logo {
    display: inline-flex;
    width: 1.35rem;
    height: 1.25rem;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
}
.mp-gdrive-logo svg {
    width: 1.35rem;
    height: 1.25rem;
    display: block;
    overflow: visible;
}
#teacher-sidebar .tdash-nav-item[data-nav="drive"] .mp-gdrive-logo {
    width: 1.5rem;
    height: 1.38rem;
    padding: 0.1rem;
    border-radius: 0.42rem;
    background: linear-gradient(145deg, #e8f0fe 0%, #fef7e0 55%, #fff 100%);
    box-shadow: inset 0 0 0 1px rgba(251, 188, 4, 0.35);
}
#teacher-sidebar .tdash-nav-item[data-nav="drive"] .mp-gdrive-logo svg {
    width: 1.28rem;
    height: 1.18rem;
}
.mp-agenda-ico {
    position: relative;
    display: inline-flex;
    width: 1.05rem;
    height: 1.05rem;
    align-items: center;
    justify-content: center;
}
.mp-agenda-ico .fa-book { font-size: 0.95rem; }
.mp-agenda-ico .fa-pen {
    position: absolute;
    right: -0.2rem;
    bottom: -0.12rem;
    font-size: 0.48rem;
    color: #0f766e;
}

/* —— Sütlaç dinamik ada: yuvarlak, yazısız —— */
.mp-sutlac-island {
    position: fixed;
    top: 4.6rem;
    right: 1.15rem;
    z-index: 360;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3.55rem;
    height: 3.55rem;
    min-width: 3.55rem;
    min-height: 3.55rem;
    padding: 0;
    margin: 0;
    border: 2px solid rgba(255, 255, 255, 0.92);
    border-radius: 50%;
    background: #dbe7f2;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.22), inset 0 1px 0 rgba(255,255,255,.7);
    cursor: grab;
    touch-action: none;
    user-select: none;
    overflow: visible;
    flex-direction: row;
    gap: 0;
    writing-mode: horizontal-tb;
    white-space: nowrap;
    overflow: visible;
    transition: transform 0.18s ease, box-shadow 0.18s ease, width 0.18s ease, height 0.18s ease;
}
.mp-sutlac-island.is-nested,
.mp-sutlac-island.is-nested:not(.hidden) {
    position: absolute !important;
    inset: 0 !important;
    left: 0 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: none !important;
    max-height: none !important;
    border-width: 0 !important;
    box-shadow: none !important;
    z-index: 2;
    cursor: pointer;
    transform: none !important;
    overflow: visible !important;
    display: block !important;
    animation: none !important;
    transition: none !important;
    background: #dbe7f2;
}
.mp-sutlac-island.is-nested img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    object-fit: cover !important;
    object-position: center 22% !important;
    transform: none !important;
    border-radius: 50% !important;
    flex: none !important;
}
.mp-sutlac-island.is-nested .mp-sutlac-island-dot {
    display: block !important;
    z-index: 6;
    right: 0;
    bottom: 0;
    width: 0.48rem;
    height: 0.48rem;
    border-width: 1.5px;
    transform: translate(18%, 18%);
    pointer-events: none;
}
.mp-sutlac-island.is-hop {
    animation: mp-sutlac-hop 0.4s cubic-bezier(0.22, 1.2, 0.36, 1);
}
@keyframes mp-sutlac-hop {
    0% { transform: translateY(10px) scale(1.18); }
    55% { transform: translateY(-7px) scale(0.9); }
    100% { transform: translateY(0) scale(1); }
}
.mp-sutlac-island.is-dragging { cursor: grabbing; transform: scale(1.06); }
.mp-sutlac-island:not(.hidden) {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1;
}
.mp-sutlac-island img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 42%;
    pointer-events: none;
    border-radius: 50%;
}
.mp-sutlac-island > span:not(.mp-sutlac-island-dot) {
    display: none !important;
}
.mp-sutlac-island-dot {
    position: absolute;
    right: 0.18rem;
    bottom: 0.18rem;
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 999px;
    background: #16a34a;
    border: 2px solid #fff;
    box-shadow: 0 0 0 2px rgba(22, 163, 74, 0.28);
    flex-shrink: 0;
}
.mp-sutlac-popup {
    position: fixed;
    z-index: 361;
    width: min(32rem, calc(100vw - 1.5rem));
    max-height: min(78vh, 40rem);
    overflow: auto;
    padding: 1.05rem 1.05rem 1.05rem;
    border-radius: 1.25rem;
    border: 1px solid #e2e8f0;
    background: #fffef8;
    color: #0f172a;
    box-shadow: 0 24px 60px rgba(15, 23, 42, 0.22);
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}
.mp-sutlac-popup.hidden { display: none !important; }
.mp-island-toolbar {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    margin: 0 0 0.15rem;
    flex-wrap: wrap;
}
.mp-island-alerts {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}
.mp-island-chip {
    display: inline-flex;
    flex-direction: column;
    gap: 0.05rem;
    padding: 0.28rem 0.55rem;
    border-radius: 0.7rem;
    border: 1px solid #e2e8f0;
    background: #f8fafc;
    font-size: 0.72rem;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.25;
    max-width: 100%;
}
.mp-island-chip em {
    font-style: normal;
    font-size: 0.58rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #64748b;
}
.mp-island-chip.is-warn { background: #fff7ed; border-color: #fdba74; }
.mp-island-chip.is-warn em { color: #c2410c; }
.mp-island-chip.is-alert { background: #fef2f2; border-color: #fca5a5; }
.mp-island-chip.is-alert em { color: #b91c1c; }
.mp-island-chip.is-mood { background: #f5f3ff; border-color: #c4b5fd; }
.mp-island-chip.is-mood em { color: #6d28d9; }
.mp-island-chip.is-info { background: #eff6ff; border-color: #93c5fd; }
.mp-island-chip.is-info em { color: #1d4ed8; }
.mp-island-chip.is-ok { background: #ecfdf5; border-color: #6ee7b7; }
.mp-island-chip.is-ok em { color: #047857; }
button.mp-island-chip {
    cursor: pointer;
    text-align: left;
    font-family: inherit;
}
.mp-island-summarize {
    flex: 0 0 auto;
    border: 1px solid #99f6e4;
    background: #ccfbf1;
    color: #0f766e;
    border-radius: 0.85rem;
    font-size: 0.72rem;
    font-weight: 800;
    padding: 0.45rem 0.7rem;
    cursor: pointer;
    white-space: nowrap;
}
.mp-island-summarize:hover { background: #99f6e4; }
.mp-island-fresh {
    flex: 1 1 auto;
    min-height: 8.5rem;
    display: flex;
    flex-direction: column;
    border: 1px solid #e2e8f0;
    border-radius: 0.95rem;
    background: #fff;
    overflow: hidden;
}
.mp-island-fresh-label {
    margin: 0;
    padding: 0.4rem 0.7rem 0.2rem;
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #0f766e;
}
.mp-island-fresh-empty {
    margin: auto;
    padding: 1.2rem 1rem;
    text-align: center;
    color: #64748b;
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1.45;
}
.mp-island-thread {
    flex: 1 1 auto;
    min-height: 7rem;
    max-height: min(28vh, 14rem);
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    margin: 0;
    padding: 0.35rem 0.65rem 0.7rem;
}
.mp-island-ask {
    display: flex;
    gap: 0.4rem;
    margin: 0;
    flex-shrink: 0;
}
.mp-island-ask input {
    flex: 1;
    border: 1.5px solid #0f172a;
    border-radius: 0.85rem;
    padding: 0.55rem 0.75rem;
    font-size: 0.8rem;
    color: #0f172a;
    background: #fff;
}
.mp-island-close {
    position: absolute;
    top: 0.45rem;
    right: 0.55rem;
    margin: 0;
    font-size: 0.72rem;
    font-weight: 800;
    padding: 0.3rem 0.6rem;
    border-radius: 0.7rem;
    border: 1px solid #e2e8f0;
    background: #f8fafc;
    color: #334155;
    cursor: pointer;
}
.mp-island-kicker {
    margin: 0 2.5rem 0.35rem 0;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #0f766e;
}
.mp-island-brief,
.mp-island-live {
    margin: 0 0 0.45rem;
    font-size: 0.82rem;
    font-weight: 650;
    line-height: 1.45;
    color: #1e293b;
    white-space: pre-wrap;
}
.mp-island-live:empty { display: none; }
.mp-island-ask button {
    border: none;
    border-radius: 0.85rem;
    background: #0d9488;
    color: #fff;
    padding: 0 0.85rem;
    cursor: pointer;
    min-width: 2.6rem;
}
.mp-island-jumps {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
    margin: 0;
}
.mp-island-bubble {
    max-width: 95%;
    padding: 0.4rem 0.55rem;
    border-radius: 0.7rem;
    font-size: 0.75rem;
    line-height: 1.4;
    white-space: pre-wrap;
}
.mp-island-bubble.is-me {
    align-self: flex-end;
    background: #ccfbf1;
    color: #134e4a;
}
.mp-island-bubble.is-ai {
    align-self: flex-start;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    color: #0f172a;
}
.mp-island-bubble.is-typing { color: #64748b; font-style: italic; }
.mp-island-jumps button {
    border: 1px solid #e2e8f0;
    background: #f8fafc;
    color: #0f172a;
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 800;
    padding: 0.28rem 0.65rem;
    cursor: pointer;
}
.mp-island-jumps button:hover { background: #ecfdf5; border-color: #99f6e4; }
@media (max-width: 520px) {
    .mp-island-summarize { width: 100%; white-space: normal; }
}

.tdash-kpi-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.65rem;
    margin: 0 0 0.85rem;
}
.tdash-kpi-card {
    text-align: left;
    border: 1px solid #e2e8f0;
    background: #fff;
    border-radius: 1rem;
    padding: 0.75rem 0.85rem;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.05);
    cursor: pointer;
    min-width: 0;
    overflow: hidden;
}
.tdash-kpi-kicker {
    display: block;
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #64748b;
}
.tdash-kpi-card strong {
    display: block;
    margin: 0.2rem 0 0.1rem;
    font-size: 1.35rem;
    font-weight: 900;
    color: #0f172a;
}
.tdash-kpi-card em {
    font-style: normal;
    font-size: 0.62rem;
    color: #64748b;
    display: block;
    line-height: 1.3;
}
.tdash-sutlac-home {
    margin: 0 0 0.75rem;
    padding: 0.7rem 0.8rem 0.8rem;
    border-radius: 1rem;
    border: 1px solid #bbf7d0;
    background: linear-gradient(180deg, #ecfdf5, #fff);
}
.tdash-sutlac-home-head {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.55rem;
}
.tdash-sutlac-home-head img { width: 2.1rem; height: 2.1rem; object-fit: contain; }
.tdash-sutlac-home-kicker {
    margin: 0;
    font-size: 0.55rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #047857;
}
.tdash-sutlac-home-head h2 {
    margin: 0;
    font-size: 0.82rem;
    font-weight: 800;
    color: #0f172a;
}
.tdash-sutlac-home-head p { margin: 0; font-size: 0.62rem; color: #64748b; }
.tdash-sutlac-home-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(16rem, 0.95fr);
    gap: 0.7rem;
    align-items: stretch;
}
.tdash-sutlac-home-left { min-width: 0; }
.tdash-sutlac-home-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.45rem;
    align-items: stretch;
}
.tdash-sutlac-stat {
    display: flex;
    gap: 0.45rem;
    align-items: flex-start;
    min-width: 0;
    height: 100%;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 0.75rem;
    padding: 0.55rem 0.55rem 0.6rem;
    cursor: pointer;
    text-align: left;
    overflow: hidden;
}
.tdash-sutlac-ico {
    flex-shrink: 0;
    width: 1.45rem;
    height: 1.45rem;
    border-radius: 0.45rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.62rem;
    background: #f1f5f9;
    color: #475569;
}
.tdash-sutlac-stat.is-ok .tdash-sutlac-ico { background: #dcfce7; color: #15803d; }
.tdash-sutlac-stat.is-warn .tdash-sutlac-ico { background: #fef3c7; color: #b45309; }
.tdash-sutlac-stat.is-alert .tdash-sutlac-ico { background: #fee2e2; color: #b91c1c; }
.tdash-sutlac-stat-body { min-width: 0; flex: 1; overflow: hidden; }
.tdash-sutlac-stat-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.3rem;
    min-width: 0;
}
.tdash-sutlac-stat h3 {
    margin: 0;
    font-size: 0.55rem;
    font-weight: 700;
    color: #64748b;
    line-height: 1.2;
    min-width: 0;
    flex: 1;
    overflow: visible;
    white-space: normal;
    word-break: normal;
    overflow-wrap: normal;
}
.tdash-sutlac-stat strong {
    font-size: 0.72rem;
    font-weight: 800;
    color: #0f172a;
    white-space: nowrap;
    flex-shrink: 0;
    line-height: 1.2;
}
.tdash-sutlac-bar {
    display: block;
    height: 0.28rem;
    margin: 0.28rem 0 0.22rem;
    border-radius: 999px;
    background: #e2e8f0;
    overflow: hidden;
}
.tdash-sutlac-bar b {
    display: block;
    height: 100%;
    border-radius: 999px;
    background: #94a3b8;
    min-width: 0;
}
.tdash-sutlac-bar.is-ok b { background: #22c55e; }
.tdash-sutlac-bar.is-warn b { background: #f59e0b; }
.tdash-sutlac-bar.is-alert b { background: #ef4444; }
.tdash-sutlac-stat > .tdash-sutlac-stat-body > p {
    margin: 0;
    font-size: 0.56rem;
    color: #475569;
    line-height: 1.35;
    overflow: visible;
}
.tdash-sutlac-who {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.14rem;
    margin-top: 0.28rem;
    min-width: 0;
}
.tdash-sutlac-who > span {
    font-size: 0.5rem;
    font-weight: 700;
    color: #94a3b8;
    margin-right: 0.08rem;
}
.tdash-sutlac-name {
    border: 0;
    background: #f1f5f9;
    border-radius: 999px;
    padding: 0.06rem 0.3rem;
    font-size: 0.5rem;
    font-weight: 700;
    color: #334155;
    cursor: pointer;
    white-space: nowrap;
}
.tdash-sutlac-name i { font-style: normal; margin-left: 0.12rem; color: #0f766e; }
.tdash-sutlac-name:hover { background: #ecfdf5; }
.tdash-sutlac-more { font-size: 0.5rem; color: #64748b; font-weight: 700; }
.tdash-sutlac-home-empty { font-size: 0.72rem; color: #64748b; }
.tdash-sutlac-chat {
    display: flex;
    flex-direction: column;
    min-height: 16.5rem;
    max-height: 22rem;
    border: 1px solid #99f6e4;
    border-radius: 0.95rem;
    background: #fff;
    overflow: hidden;
}
.tdash-sutlac-chat-head {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.5rem 0.7rem;
    background: #f0fdfa;
    border-bottom: 1px solid #ccfbf1;
}
.tdash-sutlac-chat-head img { width: 1.55rem; height: 1.55rem; object-fit: contain; }
.tdash-sutlac-chat-head strong { display: block; font-size: 0.78rem; color: #134e4a; }
.tdash-sutlac-chat-head span { font-size: 0.6rem; font-weight: 700; color: #64748b; }
.tdash-sutlac-thread {
    flex: 1;
    min-height: 7.5rem;
    overflow-y: auto;
    padding: 0.55rem 0.65rem;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    background: linear-gradient(180deg, #f8fafc, #fff);
}
.tdash-sutlac-thread-empty {
    margin: auto;
    text-align: center;
    font-size: 0.72rem;
    color: #64748b;
    line-height: 1.45;
    max-width: 16rem;
}
.tdash-sutlac-bubble {
    max-width: 92%;
    padding: 0.42rem 0.6rem;
    border-radius: 0.75rem;
    font-size: 0.74rem;
    line-height: 1.42;
    white-space: pre-wrap;
}
.tdash-sutlac-bubble.is-me {
    align-self: flex-end;
    background: #ccfbf1;
    color: #134e4a;
}
.tdash-sutlac-bubble.is-ai {
    align-self: flex-start;
    background: #fff;
    border: 1px solid #e2e8f0;
    color: #0f172a;
}
.tdash-sutlac-bubble.is-typing { color: #64748b; font-style: italic; }
.tdash-sutlac-ask-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
    padding: 0.4rem 0.6rem 0.15rem;
}
.tdash-sutlac-ask-chips button {
    font-size: 0.62rem;
    font-weight: 700;
    padding: 0.22rem 0.5rem;
    border-radius: 999px;
    border: 1px solid #d1fae5;
    background: #ecfdf5;
    color: #065f46;
    cursor: pointer;
}
.tdash-sutlac-ask-form {
    display: flex;
    gap: 0.4rem;
    padding: 0.4rem 0.6rem 0.55rem;
}
.tdash-sutlac-ask-form input {
    flex: 1;
    border: 1px solid #e2e8f0;
    border-radius: 0.7rem;
    padding: 0.45rem 0.65rem;
    font-size: 0.78rem;
}
.tdash-sutlac-ask-form button {
    width: 2.3rem;
    border: 0;
    border-radius: 0.7rem;
    background: #0f766e;
    color: #fff;
    cursor: pointer;
}
.tdash-sutlac-ask-reply { display: none !important; }
@media (max-width: 767px) {
    .mp-sutlac-island {
        width: 4.15rem;
        height: 4.15rem;
        min-width: 4.15rem;
        min-height: 4.15rem;
        top: 3.35rem;
        right: 0.7rem;
    }
    .mp-sutlac-island-dot {
        width: 0.62rem;
        height: 0.62rem;
    }
    .mp-sutlac-popup {
        width: auto;
        left: 0.45rem;
        right: 0.45rem;
        max-height: none;
        height: calc(var(--mp-vv-h, 100dvh) - 0.9rem);
        top: calc(var(--mp-vv-top, 0px) + 0.45rem);
        padding: 0.75rem 0.75rem 0.65rem;
        border-radius: 1.05rem;
        overflow: hidden;
    }
    html.mp-kb-open .mp-island-jumps { display: none; }
    html.mp-kb-open .mp-island-kicker { margin-bottom: 0.15rem; }
    html.mp-kb-open .mp-island-fresh { min-height: 3.5rem; }
    .mp-island-fresh {
        flex: 1 1 auto;
        min-height: 5.5rem;
        overflow: hidden;
    }
    .mp-island-thread { max-height: none; flex: 1 1 auto; min-height: 0; overflow-y: auto; }
    .mp-island-ask { margin-top: auto; }
    .mp-island-ask input { font-size: 1rem; min-height: 2.45rem; }
}
#tdash-cmd-drawer-body.hidden { display: none !important; }
#tdash-cmd-drawer.is-open #tdash-cmd-drawer-body:not(.hidden) { display: grid !important; }
@media (max-width: 900px) {
    .tdash-kpi-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .tdash-sutlac-home-grid { grid-template-columns: 1fr; }
    .tdash-sutlac-chat { max-height: none; min-height: 14rem; }
    .tdash-sutlac-home-stats { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
    .tdash-sutlac-home-stats { grid-template-columns: 1fr; }
}

/* —— Atatürk + takvim boy ikizleri (yalnız masaüstü) —— */
@media (min-width: 1024px) {
#teacher-panel #teacher-dashboard-view .tdash-context-row--compact {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 0.85rem !important;
    min-height: 16.5rem !important;
    max-height: min(38vh, 22rem) !important;
    height: min(38vh, 22rem) !important;
    overflow: hidden !important;
}
#teacher-panel #teacher-dashboard-view .tdash-island-ataturk,
#teacher-panel #teacher-dashboard-view .tdash-ataturk-card--hover,
#teacher-panel #teacher-dashboard-view .tdash-student-ataturk {
    flex: 0 0 34% !important;
    max-width: 17.5rem !important;
    min-width: 9.5rem !important;
    height: auto !important;
    overflow: hidden !important;
}
#teacher-panel #teacher-dashboard-view .tdash-ataturk-hover-zone,
#teacher-panel #teacher-dashboard-view .tdash-ataturk-photo-wrap {
    height: 100% !important;
    max-height: none !important;
    overflow: hidden !important;
}
#teacher-panel #teacher-dashboard-view .tdash-ataturk-photo {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: 50% 12% !important;
    display: block !important;
}
#teacher-panel #teacher-dashboard-view .tdash-island-cal {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    height: 100% !important;
    overflow: hidden !important;
    display: flex !important;
}
#teacher-panel #teacher-dashboard-view .tdash-cal-hover-zone {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    width: 100% !important;
}
#teacher-panel #teacher-dashboard-view .tdash-cal-body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
}
#teacher-panel #teacher-dashboard-view #calendar-days-grid {
    flex: 1 1 auto !important;
    display: grid !important;
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
    grid-auto-rows: 1fr !important;
    min-height: 0 !important;
}
#teacher-panel #teacher-dashboard-view .tdash-island-cal--hover .s-cal-day,
#teacher-panel #teacher-dashboard-view .tdash-island-cal--hover .s-cal-cell-empty {
    min-height: 0 !important;
    height: auto !important;
}
}

/* Telefon: Atatürk + takvim alt alta (yan yana sıkışmayı kır) */
@media (max-width: 1023px) {
    #teacher-panel #teacher-dashboard-view .tdash-context-row--compact {
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        min-height: 0 !important;
        max-height: none !important;
        height: auto !important;
        overflow: visible !important;
        gap: 0.65rem !important;
    }
    #teacher-panel #teacher-dashboard-view .tdash-island-ataturk,
    #teacher-panel #teacher-dashboard-view .tdash-ataturk-card--hover,
    #teacher-panel #teacher-dashboard-view .tdash-student-ataturk {
        flex: 0 0 auto !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        height: auto !important;
    }
    #teacher-panel #teacher-dashboard-view .tdash-ataturk-photo {
        max-height: none !important;
        height: auto !important;
        object-fit: cover !important;
    }
    #teacher-panel.mp-phone-shell #teacher-dashboard-view .tdash-ataturk-photo {
        max-height: none !important;
        height: 100% !important;
    }
    #teacher-panel #teacher-dashboard-view .tdash-island-cal {
        flex: 0 0 auto !important;
        width: 100% !important;
        height: auto !important;
    }
}

/* —— Premium öğrenci kartları —— */
.s360-live-card {
    position: relative;
    border-radius: 1.15rem !important;
    border: 1px solid rgba(226, 232, 240, 0.95) !important;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.06) !important;
    background:
        linear-gradient(180deg, #ffffff 0%, #f8fafc 100%) !important;
    overflow: hidden;
}
.s360-live-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 5px;
    background: linear-gradient(180deg, var(--s360, #0f766e), #1d4ed8);
}
.s360-live-card.is-g5::before { background: linear-gradient(180deg, #2563eb, #38bdf8); }
.s360-live-card.is-g6::before { background: linear-gradient(180deg, #ca8a04, #facc15); }
.s360-live-card.is-g7::before { background: linear-gradient(180deg, #15803d, #4ade80); }
.s360-live-card.is-g8::before { background: linear-gradient(180deg, #9a3412, #fb7185); }

/* Arama simgesi sağda — input ile çakışmasın */
.s360-search-icon-btn { right: 0.55rem !important; left: auto !important; }
.s360-search-input { padding: 0.7rem 2.85rem 0.7rem 0.95rem !important; }

/* —— Geri bar —— */
.mp-back-bar {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0 0 0.75rem;
}
.mp-back-bar button {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.72rem;
    font-weight: 800;
    padding: 0.42rem 0.75rem;
    border-radius: 0.8rem;
    border: 1px solid #e2e8f0;
    background: #fff;
    color: #334155;
    cursor: pointer;
}
.mp-back-bar button:hover { background: #f8fafc; color: #0f766e; }

/* —— Dart Haftalık Plan ikonu —— */
.mp-dart-icon {
    width: 1.15rem;
    height: 1.15rem;
    display: inline-grid;
    place-items: center;
    border-radius: 999px;
    background: radial-gradient(circle at 50% 50%, #fb7185 0 18%, #fff 19% 32%, #22c55e 33% 48%, #fff 49% 62%, #2563eb 63% 78%, #fff 79% 88%, #0f172a 89% 100%);
    box-shadow: 0 0 0 1px #0f172a;
    position: relative;
}
.mp-dart-icon::after {
    content: "";
    position: absolute;
    width: 0.55rem;
    height: 0.12rem;
    background: linear-gradient(90deg, #fbbf24, #ef4444);
    transform: rotate(-38deg) translate(0.18rem, -0.12rem);
    border-radius: 2px;
}

/* —— Sütlaç AI orman/gece teması —— */
.tai-view.tai-view--pack:not(.hidden),
.tai-view.tai-view--wide:not(.hidden) {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}
.tai-view.tai-view--pack .tai-hero,
.tai-view.tai-view--wide .tai-hero {
    background: linear-gradient(135deg, #ecfdf5, #fff 42%, #eff6ff) !important;
    border-color: #bbf7d0 !important;
}
.tai-view.tai-view--wide .tai-pane--chat,
.tai-view.tai-view--pack #tai-pane-chat {
    min-height: min(70vh, 42rem);
}
.tai-view.tai-view--wide .tai-chat-log,
.tai-view.tai-view--pack .tai-chat-log {
    min-height: min(52vh, 36rem);
    max-height: min(70vh, 44rem);
}
.tai-view.tai-view--pack .tai-side { display: none !important; }
.tai-rank, .tai-monitor-drawer, .tai-writings {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 1.15rem;
    padding: 0.8rem 0.85rem;
}
.tai-rank h3, .tai-monitor-drawer h3, .tai-writings h3 {
    margin: 0 0 0.55rem;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #334155;
}
.tai-rank-row {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.32rem 0;
    font-size: 0.75rem;
    color: #0f172a;
    border-bottom: 1px solid #f1f5f9;
}
.tai-rank-row:last-child { border-bottom: 0; }
.tai-rank-delta.is-up { color: #15803d; }
.tai-rank-delta.is-down { color: #b91c1c; }
.tai-rank-delta.is-flat { color: #64748b; }
.tai-view.tai-view--pack .tai-bubble.is-user { background: #0f766e; }
.tai-view.tai-view--pack .tai-chat-log { min-height: 22rem; max-height: 42rem; }
.tai-write-name {
    display: block;
    width: 100%;
    text-align: left;
    border: 0;
    background: transparent;
    padding: 0.38rem 0.2rem;
    font-size: 0.75rem;
    font-weight: 700;
    color: #0f172a;
    cursor: pointer;
    border-radius: 0.5rem;
}
.tai-write-name:hover, .tai-write-name.is-on { background: #ecfdf5; }
@media (max-width: 960px) {
    .tai-view.tai-view--pack:not(.hidden) { display: flex; flex-direction: column; }
}

/* —— Bildirim + mantar pano —— */
.mp-hub-tabs { display: flex; gap: 0.4rem; margin: 0 0 0.85rem; }
.mp-hub-tab {
    font-size: 0.75rem; font-weight: 800;
    padding: 0.42rem 0.85rem; border-radius: 999px;
    border: 2px solid #e2e8f0; background: #fff; color: #475569;
}
.mp-hub-tab.is-on { border-color: #0f766e; background: #ecfdf5; color: #065f46; }
.mp-cork {
    min-height: 18rem;
    padding: 1rem;
    border-radius: 1.1rem;
    background:
        radial-gradient(circle at 20% 15%, rgba(255,255,255,.18), transparent 28%),
        repeating-linear-gradient(0deg, rgba(120, 72, 32, 0.08) 0 1px, transparent 1px 18px),
        linear-gradient(160deg, #c4a574, #b0894f 55%, #a67c42);
    box-shadow: inset 0 0 0 8px #8b5e34;
}
.mp-cork-note {
    position: relative;
    display: inline-block;
    width: min(15rem, 100%);
    margin: 0.55rem;
    padding: 1rem 0.9rem 0.8rem;
    background:
        linear-gradient(145deg, rgba(255,255,255,0.55) 0%, transparent 40%),
        linear-gradient(180deg, #fffdf5 0%, #fff7d6 55%, #fdecc8 100%);
    border: 1px solid rgba(214, 184, 120, 0.5);
    border-radius: 0.35rem 0.5rem 0.4rem 0.35rem;
    box-shadow: 0 10px 20px rgba(0,0,0,.16), 0 1px 0 rgba(255,255,255,.65) inset;
    transform: rotate(-1.4deg);
    vertical-align: top;
}
.mp-cork-note::before {
    content: '';
    position: absolute;
    top: -0.28rem;
    left: 50%;
    width: 2.4rem;
    height: 0.55rem;
    transform: translateX(-50%);
    background: rgba(255,255,255,0.45);
    border: 1px solid rgba(255,255,255,0.35);
}
.mp-cork-note.is-urgent { background: linear-gradient(180deg, #fff1f2, #fecdd3); border-color: rgba(251,113,133,.45); }
.mp-cork-note h4 { margin: 0 0 0.35rem; font-size: 0.86rem; font-weight: 900; color: #1e293b; }
.mp-cork-note p { margin: 0; font-size: 0.74rem; color: #334155; white-space: pre-wrap; line-height: 1.45; }
.mp-cork-note small { display: block; margin-top: 0.55rem; padding-top: 0.4rem; border-top: 1px dashed rgba(100,116,139,.3); font-size: 0.62rem; color: #64748b; font-weight: 700; }

/* —— Mesajlar: durum şeridi + kompakt düzen —— */
#messages-view .tmsg-shell,
#messages-view #tmsg-shell {
    min-height: 0;
}
.mp-status-rail {
    display: flex;
    align-items: center;
    gap: 0.38rem;
    overflow-x: auto;
    padding: 0.28rem 0.55rem 0.38rem;
    scrollbar-width: none;
    border-bottom: 1px solid #eef2f6;
    min-height: 0;
}
.mp-status-rail::-webkit-scrollbar { display: none; }
.mp-status-chip {
    flex: 0 0 auto;
    width: 2.35rem;
    text-align: center;
    background: transparent;
    border: 0;
    cursor: pointer;
    color: #475569;
    font-size: 0;
    line-height: 0;
    padding: 0;
}
.mp-status-empty {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 0.68rem;
    font-weight: 700;
    color: #94a3b8;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    padding: 0 0.25rem;
}
.mp-status-avatar {
    width: 2.15rem;
    height: 2.15rem;
    margin: 0 auto;
    border-radius: 999px;
    display: grid;
    place-items: center;
    background: #e2e8f0;
    box-shadow: 0 0 0 1.5px #fff, 0 0 0 3px #cbd5e1;
    font-weight: 900;
    font-size: 0.62rem;
    line-height: 1;
    color: #334155;
}
.mp-status-chip.has-new .mp-status-avatar {
    box-shadow: 0 0 0 1.5px #fff, 0 0 0 3px #14b8a6;
}
.mp-quick-replies {
    display: none !important;
}
@media (max-width: 760px) {
    #messages-view .tmsg-layout { display: block; }
    #messages-view.is-thread .tmsg-rail { display: none; }
    #messages-view:not(.is-thread) .tmsg-stage { display: none; }
}

/* —— Doğum günü takvimi —— */
.bday-month-grid { gap: 0.45rem !important; }
.bday-day {
    min-height: 5.2rem !important;
    padding: 0.4rem !important;
    font-size: 0.82rem;
    background:
        linear-gradient(180deg, #fff, #f8fafc);
    border: 1px solid #e2e8f0;
    border-radius: 0.75rem;
}
.bday-day-num { font-size: 0.9rem !important; font-weight: 900 !important; }
.bday-day.is-holiday { background: #fff7ed; border-color: #fdba74; }
.bday-holiday-chip {
    display: block;
    margin-top: 0.2rem;
    font-size: 0.58rem;
    font-weight: 800;
    color: #9a3412;
    line-height: 1.2;
}
.mp-bday-pop {
    position: fixed;
    inset: 0;
    z-index: 120;
    background: rgba(15, 23, 42, 0.45);
    display: grid;
    place-items: center;
    padding: 1rem;
}
.mp-bday-pop.hidden { display: none !important; }
.mp-bday-card {
    width: min(28rem, 100%);
    background: #fff;
    border-radius: 1.25rem;
    padding: 1.1rem 1.2rem;
    box-shadow: 0 24px 60px rgba(15,23,42,.25);
}
.mp-confetti {
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 140;
    overflow: hidden;
}
.mp-confetti i {
    position: absolute;
    top: -8px;
    width: 8px;
    height: 12px;
    animation: mp-fall 1.8s linear forwards;
}
@keyframes mp-fall {
    to { transform: translateY(110vh) rotate(240deg); opacity: 0.2; }
}

/* —— Ajanda / ödev / sınav / test cilası —— */
#agenda-view h2 i { color: #0f766e; }
.mp-year-cal {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(7.2rem, 1fr));
    gap: 0.45rem;
    margin-top: 0.75rem;
}
.mp-year-cal span {
    display: block;
    padding: 0.45rem 0.5rem;
    border-radius: 0.7rem;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    font-size: 0.68rem;
    font-weight: 800;
    color: #334155;
}
.mp-year-cal span.is-break { background: #ecfdf5; color: #047857; }
#karne-pdf-input, #exams-view input[type="file"] {
    font-size: 0.85rem;
    padding: 0.85rem;
    border: 2px dashed #0f766e;
    border-radius: 1rem;
    background: #fff;
    width: 100%;
}
.texam-folder-title { font-size: 0.95rem !important; }
.texam-folder-meta { font-size: 0.78rem !important; }
.texam-grade-head {
    grid-column: 1 / -1;
    margin: 0.35rem 0 0;
    font-size: 0.78rem;
    font-weight: 900;
    color: #0f766e;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

/* Öğrenci detay AI özet */
.sdet-ai-card {
    background: #fff !important;
    border: 1px solid #d1fae5 !important;
    color: #0f172a !important;
}
.sdet-ai-card .text-emerald-300,
.sdet-ai-card .text-slate-400,
.sdet-ai-card .text-slate-200 { color: #334155 !important; }
.mp-ai-table { width: 100%; border-collapse: collapse; font-size: 0.75rem; }
.mp-ai-table th, .mp-ai-table td { border-bottom: 1px solid #e2e8f0; padding: 0.4rem 0.35rem; text-align: left; }
.mp-ai-pills { display: flex; flex-wrap: wrap; gap: 0.35rem; margin-top: 0.45rem; }
.mp-ai-pills span {
    font-size: 0.65rem; font-weight: 800;
    padding: 0.22rem 0.5rem; border-radius: 999px;
    background: #fff7ed; color: #9a3412;
}

/* Kitap detay her zaman açık tema */
.mp-book-light, .sdet-book-pop, #sdet-book-detail {
    background: #fff !important;
    color: #0f172a !important;
}

/* Sol menü altı Ayarlar / Süper Yönetici — tıklama her zaman açık */
#teacher-sidebar .tdash-sidebar-bottom-bar,
#teacher-sidebar .tdash-sidebar-footer,
#teacher-sidebar #nav-settings-view,
#teacher-sidebar #sa-shortcut-container,
#teacher-sidebar .tdash-footer-action {
    pointer-events: auto !important;
    position: relative;
    z-index: 2;
}

/* Öğretmen Sütlaç yuvası — üst bar, telefonda yer kaplamasın */
#teacher-panel .t-sutlac-nest {
    position: relative;
    width: 2.55rem;
    height: 2.55rem;
    min-width: 2.55rem;
    padding: 0;
    border-radius: 999px;
    border: 1.5px dashed rgba(148, 163, 184, 0.55);
    background: #dbe7f2;
    color: #94a3b8;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.62rem;
    cursor: pointer;
    overflow: visible;
    isolation: isolate;
    flex-shrink: 0;
}
#teacher-panel .t-sutlac-nest-ring { display: none; }
#teacher-panel .t-sutlac-nest.is-occupied {
    border-style: solid;
    border-color: rgba(255, 255, 255, 0.7);
    background: #dbe7f2;
    color: transparent;
    overflow: visible;
}
#teacher-panel .t-sutlac-nest.is-occupied i { display: none !important; }
#teacher-panel .t-sutlac-nest .mp-sutlac-island.is-nested img {
    object-fit: cover !important;
    object-position: center 22% !important;
    transform: none !important;
}
@media (max-width: 639px) {
    #teacher-panel .t-sutlac-nest {
        width: 2.2rem;
        height: 2.2rem;
        min-width: 2.2rem;
    }
    #teacher-panel .t-header-stats {
        gap: 0.4rem;
    }
}

/* Yapay zeka tam ekran açıkken ada sohbetin üstüne binmesin */
body.mp-teacher-ai-open #mp-sutlac-island:not(.is-nested) {
    z-index: 40 !important;
    top: auto !important;
    bottom: 5.75rem !important;
    left: 0.85rem !important;
    right: auto !important;
}
body.mp-teacher-ai-open #mp-sutlac-island-pop {
    display: none !important;
}
