/* ── Century Gothic font stack ──────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Century+Gothic&display=swap');

:root {
    --lg-green:   #1B6B3A;
    --lg-green2:  #16A34A;
    --lg-dark:    #1A1A2E;
    --lg-grey:    #64748B;
    --lg-light:   #F8FAFC;
    --lg-border:  #E2E8F0;
    --lg-red:     #DC2626;
    --lg-orange:  #D97706;
    --lg-radius:  10px;
    --lg-shadow:  0 4px 20px rgba(0,0,0,.09);
    --lg-font:    'Century Gothic', 'CenturyGothic', 'AppleGothic', sans-serif;
}

* { box-sizing: border-box; }
.logieval-login-wrap, .logieval-portal-wrap, .logieval-eval-wrap { font-family: var(--lg-font); }

/* ── Buttons ─────────────────────────────────────────────────── */
.logieval-btn { display:inline-block; padding:10px 22px; border-radius:6px; font-weight:700; font-family:var(--lg-font);
    text-decoration:none; cursor:pointer; border:none; font-size:.95rem; transition:all .2s; }
.logieval-btn-primary  { background:var(--lg-green); color:#fff; }
.logieval-btn-primary:hover { background:#145230; }
.logieval-btn-secondary{ background:#F1F5F9; color:#334155; }
.logieval-btn-success  { background:var(--lg-green2); color:#fff; }
.logieval-btn-export   { background:#D97706; color:#fff; }
.logieval-btn-logout   { background:transparent; border:1px solid rgba(255,255,255,.4); padding:6px 14px;
    border-radius:6px; color:rgba(255,255,255,.9); cursor:pointer; text-decoration:none; font-size:.85rem; font-family:var(--lg-font); }
.logieval-error { background:#FEF2F2; color:var(--lg-red); padding:12px 18px; border-radius:6px;
    border-left:4px solid var(--lg-red); margin-bottom:16px; font-family:var(--lg-font); }
.logieval-hidden { display:none !important; }
.logieval-empty  { color:var(--lg-grey); font-style:italic; }

/* ── Brand ───────────────────────────────────────────────────── */
.logieval-login-brand, .logieval-brand-header {
    font-family:var(--lg-font); font-size:1.4rem; font-weight:700; color:var(--lg-green); letter-spacing:.02em; margin-bottom:12px;
}
.logieval-login-brand span, .logieval-brand-header span { font-size:.85rem; font-weight:400; color:var(--lg-grey); margin-left:4px; }

/* ── Login ───────────────────────────────────────────────────── */
.logieval-login-wrap { display:flex; justify-content:center; padding:48px 16px; }
.logieval-login-card { background:#fff; border-radius:var(--lg-radius); padding:48px 40px; box-shadow:var(--lg-shadow);
    max-width:420px; width:100%; text-align:center; border-top:4px solid var(--lg-green); }
.logieval-login-card h2 { font-family:var(--lg-font); color:var(--lg-dark); margin:8px 0; }
.logieval-login-form { display:flex; flex-direction:column; gap:14px; margin-top:24px; }
.logieval-input-code { font-family:monospace; font-size:1.3rem; text-align:center; letter-spacing:.15em;
    padding:14px; border:2px solid var(--lg-border); border-radius:8px; text-transform:uppercase; transition:border-color .2s; }
.logieval-input-code:focus { border-color:var(--lg-green); outline:none; }

/* ── Portal ──────────────────────────────────────────────────── */
.logieval-portal-wrap { max-width:960px; margin:0 auto; padding:24px 16px; }
.logieval-portal-header { display:flex; justify-content:space-between; align-items:flex-start;
    background:var(--lg-dark); color:#fff; padding:24px 28px; border-radius:var(--lg-radius); margin-bottom:32px; }
.logieval-portal-header h2 { font-family:var(--lg-font); color:#fff; margin:0 0 6px; }
.logieval-portal-header p { margin:0; color:rgba(255,255,255,.75); font-size:.9rem; font-family:var(--lg-font); }
.logieval-portal-header code { background:rgba(255,255,255,.15); padding:2px 8px; border-radius:4px; color:#fff; }
.logieval-portal-wrap h3 { font-family:var(--lg-font); color:var(--lg-dark); border-left:4px solid var(--lg-green); padding-left:12px; }

/* ── Eval cards ─────────────────────────────────────────────── */
.logieval-eval-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:16px; margin-bottom:32px; }
.logieval-eval-card { background:#fff; border:1px solid var(--lg-border); border-radius:var(--lg-radius);
    padding:20px; box-shadow:0 2px 8px rgba(0,0,0,.06); transition:transform .15s,box-shadow .15s; }
.logieval-eval-card:hover { transform:translateY(-2px); box-shadow:0 6px 18px rgba(0,0,0,.10); }
.logieval-clickable-card { cursor: pointer; }
.logieval-eval-card h4 { font-family:var(--lg-font); color:var(--lg-dark); margin:0 0 6px; }
.logieval-semestre { color:#555; font-size:.85rem; font-family:var(--lg-font); margin:0 0 4px; }
.logieval-echeance { color:#777; font-size:.82rem; font-family:var(--lg-font); margin:0 0 8px; }
.logieval-card-urgent  { border-left:4px solid var(--lg-red); }
.logieval-card-warning { border-left:4px solid var(--lg-orange); }
.logieval-card-closed  { opacity:.85; }

/* ── Badges ──────────────────────────────────────────────────── */
.logieval-badge { display:inline-block; padding:2px 10px; border-radius:20px; font-size:.78rem; font-weight:700; font-family:var(--lg-font); }
.logieval-badge-green  { background:#DCFCE7; color:#166534; }
.logieval-badge-orange { background:#FEF9C3; color:#854D0E; }
.logieval-badge-blue   { background:#DBEAFE; color:#1E40AF; }
.logieval-badge-grey   { background:#F1F5F9; color:#475569; }

/* ── Eval header ─────────────────────────────────────────────── */
.logieval-eval-wrap { max-width:960px; margin:0 auto; padding:16px; }
.logieval-eval-header { display:flex; justify-content:space-between; align-items:flex-start;
    background:var(--lg-dark); color:#fff; padding:20px 24px; border-radius:var(--lg-radius); margin-bottom:16px; }
.logieval-eval-header h2 { font-family:var(--lg-font); color:#fff; margin:4px 0; font-size:1.2rem; }
.logieval-eval-header p  { color:rgba(255,255,255,.75); margin:0; font-size:.88rem; font-family:var(--lg-font); }
.logieval-back-link { color:rgba(255,255,255,.65); text-decoration:none; font-size:.82rem; display:block; margin-bottom:4px; font-family:var(--lg-font); }

/* Teacher chips */
.logieval-ens-status-bar { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:14px; }
.logieval-ens-chip { padding:4px 12px; border-radius:20px; font-size:.78rem; font-weight:700; font-family:var(--lg-font); cursor:default; }
.logieval-ens-chip.done    { background:#DCFCE7; color:#166534; }
.logieval-ens-chip.pending { background:#FEF9C3; color:#854D0E; }

/* Autosave bar */
.logieval-autosave-bar { display:flex; align-items:center; gap:12px; padding:10px 16px;
    background:#F8FAFC; border:1px solid var(--lg-border); border-radius:6px; margin-bottom:20px; }
#logieval-save-status { font-size:.85rem; color:#555; flex:1; font-family:var(--lg-font); }

.logieval-manage-eval-card {
    background: #fff;
    border: 1px solid var(--lg-border);
    border-left: 4px solid var(--lg-green);
    border-radius: 8px;
    padding: 16px 18px;
    margin-bottom: 16px;
    font-family: var(--lg-font);
}
.logieval-manage-eval-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}
.logieval-manage-eval-head h3 {
    margin: 0;
    color: var(--lg-dark);
    font-size: 1rem;
}
.logieval-manage-eval-head span {
    color: #92400E;
    background: #FEF3C7;
    border-radius: 999px;
    padding: 3px 10px;
    font-size: .78rem;
    font-weight: 700;
}
.logieval-manage-eval-grid {
    display: grid;
    grid-template-columns: minmax(220px, .45fr) minmax(260px, 1fr);
    gap: 16px;
    margin-bottom: 14px;
}
.logieval-manage-eval-grid strong {
    display: block;
    margin-bottom: 7px;
    color: var(--lg-dark);
}
.logieval-manage-eval-grid input[type="date"] {
    width: 100%;
    max-width: 240px;
    padding: 8px 10px;
    border: 1px solid var(--lg-border);
    border-radius: 6px;
}
.logieval-front-ens-checks {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 6px 12px;
}
.logieval-front-ens-checks label {
    display: flex;
    align-items: center;
    gap: 6px;
}

/* ── Student cards ───────────────────────────────────────────── */
.logieval-student-card { background:#fff; border:1px solid var(--lg-border); border-radius:var(--lg-radius);
    margin-bottom:12px; box-shadow:0 1px 4px rgba(0,0,0,.05); overflow:hidden; }
.logieval-student-header { display:flex; justify-content:space-between; align-items:center;
    padding:14px 20px; cursor:pointer; background:var(--lg-light); border-bottom:1px solid var(--lg-border);
    transition:background .15s; }
.logieval-student-header:hover { background:#EEF2FF; }
.logieval-student-name { font-family:var(--lg-font); font-weight:700; font-size:1rem; color:var(--lg-dark); }
.logieval-student-score { display:flex; align-items:center; gap:12px; font-family:var(--lg-font); font-size:.88rem; }
.logieval-ref-note { color:var(--lg-grey); font-style:italic; font-size:.8rem; }
.logieval-my-score strong { font-size:1.05rem; }
.logieval-chevron { color:var(--lg-grey); font-size:.85rem; transition:transform .2s; }
.logieval-student-body { padding:0; }

/* ── Objectives ──────────────────────────────────────────────── */
.logieval-objectif { padding:16px 20px; border-bottom:1px solid var(--lg-border); }
.logieval-objectif:last-child { border-bottom:none; }
.logieval-obj-maitre { background:#FFFBEB; border-left:4px solid var(--lg-orange); }
.logieval-obj-header { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:12px; gap:16px; }
.logieval-obj-title { font-family:var(--lg-font); font-size:.95rem; font-weight:600; color:var(--lg-dark); flex:1; line-height:1.4; }
.logieval-obj-score { font-family:var(--lg-font); font-size:1rem; font-weight:700; color:var(--lg-green); white-space:nowrap;
    background:#DCFCE7; padding:4px 12px; border-radius:20px; }
.logieval-obj-score span { font-size:1.2rem; }
.logieval-maitre-badge { display:inline-block; background:#FEF3C7; color:#92400E; border-radius:4px;
    padding:1px 8px; font-size:.75rem; font-weight:700; margin-bottom:4px; font-family:var(--lg-font); }
.logieval-locked-msg { font-family:var(--lg-font); font-size:.82rem; color:var(--lg-grey); font-style:italic; margin:4px 0 0; }

/* ── Sub-criteria ────────────────────────────────────────────── */
.logieval-sc-list { display:flex; flex-direction:column; gap:6px; }
.logieval-sc-label { display:flex; align-items:flex-start; gap:10px; padding:10px 14px; border-radius:8px;
    border:1px solid var(--lg-border); cursor:pointer; transition:all .15s; font-family:var(--lg-font);
    background:#fff; line-height:1.4; }
.logieval-sc-label:hover:not(.logieval-sc-disabled) { border-color:var(--lg-green); background:#F0FDF4; }
.logieval-sc-checked { border-color:var(--lg-green)!important; background:#F0FDF4!important; }
.logieval-sc-disabled {
    cursor: not-allowed;
    opacity: .6;
    pointer-events: none;  /* blocks all mouse events on label */
}
/* Extra class to ensure no interaction possible */
.logieval-sc-noedit {
    pointer-events: none !important;
    user-select: none;
}
.logieval-sc-noedit * {
    pointer-events: none !important;
    cursor: not-allowed !important;
}
.logieval-sc-label input[type="radio"],
.logieval-sc-label input[type="checkbox"] { margin-top:3px; accent-color:var(--lg-green); transform:scale(1.2); flex-shrink:0; }
.logieval-rep-ro { flex-shrink:0; font-size:1.1rem; margin-top:2px; color:var(--lg-grey); }
.logieval-sc-lettre { font-weight:700; color:var(--lg-green); min-width:20px; flex-shrink:0; font-size:.95rem; }
.logieval-sc-text   { flex:1; font-size:.88rem; color:#334155; }
.logieval-sc-pts    { font-weight:700; color:var(--lg-green); font-size:.85rem; white-space:nowrap; background:#DCFCE7; padding:2px 8px; border-radius:12px; flex-shrink:0; }
.logieval-arb-required-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: #FED7AA;
    color: #9A3412;
    border-radius: 999px;
    padding: 3px 10px;
    font-family: var(--lg-font);
    font-size: .78rem;
    font-weight: 800;
    white-space: nowrap;
    flex-shrink: 0;
}

/* ── Note colors ─────────────────────────────────────────────── */
.logieval-note-green  { color:#166534!important; }
.logieval-note-orange { color:#854D0E!important; }
.logieval-note-red    { color:var(--lg-red)!important; }

/* Legend */
.logieval-legend { display:flex; gap:16px; flex-wrap:wrap; margin-top:20px; font-size:.82rem; color:#555; font-family:var(--lg-font); }

/* ── Responsive ──────────────────────────────────────────────── */
@media (max-width:600px) {
    .logieval-login-card  { padding:32px 20px; }
    .logieval-eval-header { flex-direction:column; gap:12px; }
    .logieval-portal-header { flex-direction:column; gap:12px; }
    .logieval-student-score { flex-direction:column; align-items:flex-end; gap:4px; }
    .logieval-obj-header { flex-direction:column; }
    .logieval-manage-eval-grid { grid-template-columns: 1fr; }
}

/* ── Colleagues' answers badge ───────────────────────────────── */
.logieval-sc-wrapper { display: flex; flex-direction: column; gap: 4px; }

.logieval-others-badge {
    display: flex; align-items: center; gap: 6px;
    padding: 4px 10px; margin-left: 4px;
    background: #EFF6FF; border: 1px solid #BFDBFE;
    border-radius: 6px; font-family: var(--lg-font);
    font-size: .78rem; color: #1E40AF;
}
.logieval-others-count {
    display: inline-flex; align-items: center; justify-content: center;
    background: #2563EB; color: #fff; border-radius: 50%;
    width: 20px; height: 20px; font-size: .75rem; font-weight: 700; flex-shrink: 0;
}
.logieval-others-label { color: #1E40AF; }

/* ── Error banner ────────────────────────────────────────────── */
.logieval-error-banner {
    display: flex; align-items: flex-start; gap: 10px;
    padding: 12px 16px; margin: 8px 0;
    background: #FEF2F2; border: 1px solid #FECACA;
    border-left: 4px solid #DC2626;
    border-radius: 6px; font-family: var(--lg-font); font-size: .9rem; color: #991B1B;
}
.logieval-error-msg { flex: 1; line-height: 1.5; }

/* ── Save status colors ──────────────────────────────────────── */
#logieval-save-status.saving { color: var(--lg-orange); }
#logieval-save-status.error  { color: var(--lg-red); font-weight: 600; }

/* ── Maître de classe section ────────────────────────────────── */
.logieval-maitre-section {
    margin-top: 32px;
    padding: 24px 28px;
    background: #FFFBEB;
    border: 1px solid #FDE68A;
    border-left: 4px solid #D97706;
    border-radius: var(--lg-radius);
}
.logieval-maitre-section h3 {
    font-family: var(--lg-font);
    color: #92400E;
    margin: 0 0 8px;
    border: none;
    padding: 0;
}
.logieval-btn-create {
    background: var(--lg-green);
    color: #fff;
    font-size: 1rem;
    padding: 12px 28px;
    margin-top: 8px;
    display: inline-block;
}
.logieval-btn-create:hover { background: #145230; color: #fff; text-decoration: none; }
.logieval-btn-large { padding: 13px 32px; font-size: 1rem; }

/* ── Create evaluation form ──────────────────────────────────── */
.logieval-create-form-card {
    background: #fff;
    border: 1px solid var(--lg-border);
    border-radius: var(--lg-radius);
    padding: 32px;
    margin-top: 20px;
    max-width: 640px;
    box-shadow: var(--lg-shadow);
}
.logieval-form-group {
    margin-bottom: 22px;
}
.logieval-form-label {
    display: block;
    font-family: var(--lg-font);
    font-weight: 700;
    font-size: .92rem;
    color: var(--lg-dark);
    margin-bottom: 7px;
}
.logieval-required { color: var(--lg-red); margin-left: 2px; }
.logieval-form-input,
.logieval-form-select {
    width: 100%;
    padding: 11px 14px;
    border: 1.5px solid var(--lg-border);
    border-radius: 7px;
    font-family: var(--lg-font);
    font-size: .95rem;
    color: var(--lg-dark);
    background: #fff;
    transition: border-color .2s;
    box-sizing: border-box;
}
.logieval-form-input:focus,
.logieval-form-select:focus {
    border-color: var(--lg-green);
    outline: none;
    box-shadow: 0 0 0 3px rgba(27,107,58,.08);
}
.logieval-ens-checkboxes {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 14px;
    background: var(--lg-light);
    border: 1px solid var(--lg-border);
    border-radius: 7px;
    max-height: 200px;
    overflow-y: auto;
}
.logieval-ens-check-label {
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: var(--lg-font);
    font-size: .9rem;
    cursor: pointer;
    padding: 4px 0;
}
.logieval-ens-check-label input[type="checkbox"] {
    accent-color: var(--lg-green);
    transform: scale(1.15);
    flex-shrink: 0;
}
.logieval-form-actions {
    display: flex;
    gap: 12px;
    margin-top: 28px;
    flex-wrap: wrap;
}
.logieval-ens-select,
.logieval-prev-select { margin-bottom: 22px; }

/* ── Logout message ──────────────────────────────────────────── */
.logieval-logout-msg {
    background: #F0FDF4;
    border: 1px solid #BBF7D0;
    color: #166534;
    padding: 10px 14px;
    border-radius: 6px;
    margin-bottom: 16px;
    font-size: .9rem;
}

/* ── Mobile improvements ─────────────────────────────────────── */
@media (max-width: 480px) {
    .logieval-input-code {
        font-size: 1.1rem;
        letter-spacing: .1em;
    }
    .logieval-login-card { padding: 28px 18px; }
    .logieval-student-header { flex-direction: column; align-items: flex-start; gap: 6px; }
    .logieval-student-score { width: 100%; justify-content: space-between; }
    .logieval-obj-header { flex-direction: column; }
    .logieval-autosave-bar { flex-wrap: wrap; gap: 8px; }
    .logieval-btn { padding: 10px 16px; font-size: .9rem; }
}

/* ── Maître: evaluation management list ─────────────────────── */
.logieval-maitre-header {
    display: flex; justify-content: space-between; align-items: center;
    margin-bottom: 16px; flex-wrap: wrap; gap: 12px;
}
.logieval-maitre-header h3 { margin: 0; border: none; padding: 0; color: #92400E; }

.logieval-maitre-evals { display: flex; flex-direction: column; gap: 8px; }

.logieval-meval-row {
    display: flex; align-items: center; gap: 12px;
    background: #fff; border: 1px solid #E2E8F0; border-radius: 8px;
    padding: 12px 16px; flex-wrap: wrap;
    transition: box-shadow .15s;
}
.logieval-meval-row:hover { box-shadow: 0 2px 8px rgba(0,0,0,.08); }
.logieval-meval-urgent  { border-left: 4px solid var(--lg-red); }
.logieval-meval-warning { border-left: 4px solid var(--lg-orange); }

.logieval-meval-info {
    flex: 1; display: flex; flex-direction: column; gap: 2px; min-width: 160px;
}
.logieval-meval-classe { font-weight: 700; color: var(--lg-dark); font-family: var(--lg-font); font-size: .95rem; }
.logieval-meval-sem    { color: #555; font-size: .85rem; font-family: var(--lg-font); }
.logieval-meval-date   { color: #888; font-size: .8rem; font-family: var(--lg-font); }

.logieval-meval-status { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.logieval-meval-progress { display: flex; flex-direction: column; gap: 2px; align-items: center; }

.logieval-meval-actions { display: flex; align-items: center; gap: 8px; }

.logieval-btn-meval {
    padding: 6px 14px; border-radius: 6px; font-size: .85rem; font-weight: 600;
    font-family: var(--lg-font); cursor: pointer; border: none; text-decoration: none;
    display: inline-block; transition: all .15s;
}
.logieval-btn-meval-view {
    background: var(--lg-green); color: #fff;
}
.logieval-btn-meval-view:hover { background: #145230; color: #fff; }
.logieval-btn-meval-del {
    background: #FEE2E2; color: #991B1B; border: 1px solid #FECACA;
    padding: 6px 10px; font-size: 1rem;
}
.logieval-btn-meval-del:hover { background: #FCA5A5; }
.logieval-btn-meval-reopen {
    background: #FEF3C7;
    color: #92400E;
    border: 1px solid #FCD34D;
}
.logieval-btn-meval-reopen:hover {
    background: #FDE68A;
    color: #78350F;
}

/* ── Delete confirmation modal ───────────────────────────────── */
.logieval-modal {
    position: fixed; inset: 0; background: rgba(0,0,0,.55);
    z-index: 99999; display: flex; align-items: center; justify-content: center;
    padding: 16px;
}
.logieval-del-modal-inner {
    background: #fff; border-radius: 12px; padding: 32px 28px;
    max-width: 460px; width: 100%; box-shadow: 0 8px 40px rgba(0,0,0,.25);
}
.logieval-del-modal-inner h3 {
    margin: 0 0 12px; color: #92400E; font-family: var(--lg-font);
}
.logieval-del-modal-inner p { font-family: var(--lg-font); color: #333; margin-bottom: 16px; }

.logieval-del-warning {
    background: #FEF3C7; border: 1px solid #FDE68A; border-left: 4px solid #D97706;
    padding: 10px 14px; border-radius: 6px; font-family: var(--lg-font);
    font-size: .88rem; color: #92400E; margin-bottom: 20px;
}

.logieval-del-code-wrap {
    margin-bottom: 12px;
}
.logieval-del-code-wrap label {
    display: block; font-family: var(--lg-font); font-size: .9rem;
    color: #444; margin-bottom: 10px; line-height: 1.5;
}
.logieval-del-code-badge {
    display: inline-block; background: #1A1A2E; color: #4ADE80;
    font-family: monospace; font-size: 1.1rem; letter-spacing: .12em;
    padding: 3px 12px; border-radius: 6px; margin-left: 4px;
}
.logieval-del-code-input {
    width: 100%; padding: 11px 14px; font-family: monospace;
    font-size: 1.1rem; letter-spacing: .1em; text-align: center; text-transform: uppercase;
    border: 2px solid #E2E8F0; border-radius: 7px; box-sizing: border-box;
    transition: border-color .2s;
}
.logieval-del-code-input:focus { border-color: var(--lg-red); outline: none; }
.logieval-del-code-error {
    color: var(--lg-red); font-size: .85rem; font-family: var(--lg-font); margin-bottom: 12px;
}
.logieval-del-actions {
    display: flex; gap: 10px; margin-top: 20px; flex-wrap: wrap;
}
.logieval-btn-danger {
    background: #DC2626; color: #fff; flex: 1;
}
.logieval-btn-danger:hover:not(:disabled) { background: #B91C1C; }
.logieval-btn-danger:disabled { background: #FCA5A5; cursor: not-allowed; }

@media (max-width: 480px) {
    .logieval-meval-row { flex-direction: column; align-items: flex-start; }
    .logieval-meval-actions { width: 100%; justify-content: flex-end; }
}

/* ── Back link — white, prominent on dark header ────────────── */
.logieval-back-link {
    color: #fff !important;
    text-decoration: none;
    font-family: var(--lg-font);
    font-size: .88rem;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 12px;
    border: 1px solid rgba(255,255,255,.4);
    border-radius: 20px;
    margin-bottom: 8px;
    transition: background .15s, border-color .15s;
}
.logieval-back-link:hover {
    background: rgba(255,255,255,.15);
    border-color: rgba(255,255,255,.7);
    color: #fff !important;
    text-decoration: none;
}

/* ── Header actions (export + logout) ───────────────────────── */
.logieval-header-actions {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
    flex-shrink: 0;
}

/* ── Logout in eval header — always visible ─────────────────── */
.logieval-btn-logout-header {
    display: inline-block;
    padding: 5px 14px;
    border: 1px solid rgba(255,255,255,.4);
    border-radius: 20px;
    color: rgba(255,255,255,.85) !important;
    font-size: .82rem;
    font-family: var(--lg-font);
    text-decoration: none;
    cursor: pointer;
    transition: background .15s;
    white-space: nowrap;
}
.logieval-btn-logout-header:hover {
    background: rgba(255,255,255,.15);
    color: #fff !important;
    text-decoration: none;
}

/* ── Portal logout — always visible top right ───────────────── */
.logieval-portal-header .logieval-btn-logout {
    flex-shrink: 0;
    align-self: flex-start;
}

/* ── Success notice ──────────────────────────────────────────── */
.logieval-notice-success {
    background: #DCFCE7; border: 1px solid #BBF7D0; border-left: 4px solid #16A34A;
    color: #166534; padding: 12px 16px; border-radius: 6px;
    font-family: var(--lg-font); font-size: .9rem; margin-bottom: 16px;
}

/* ── Maitre-only objective — non-editable state ─────────────── */
.logieval-objectif.logieval-obj-maitre .logieval-sc-label.logieval-sc-disabled {
    background: #FEF9C3;
    border-color: #FDE68A;
}
.logieval-locked-msg {
    font-family: var(--lg-font);
    font-size: .82rem;
    color: #92400E;
    font-style: italic;
    margin: 8px 0 0 4px;
    display: flex;
    align-items: center;
    gap: 4px;
}

/* ── Non-évaluable toggle ────────────────────────────────────── */
.logieval-obj-right {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}

.logieval-btn-ne {
    padding: 4px 12px;
    border-radius: 20px;
    border: 1px solid #CBD5E1;
    background: #F8FAFC;
    color: #64748B;
    font-family: var(--lg-font);
    font-size: .78rem;
    font-weight: 600;
    cursor: pointer;
    transition: all .15s;
    white-space: nowrap;
}
.logieval-btn-ne:hover {
    border-color: var(--lg-orange);
    color: var(--lg-orange);
    background: #FFFBEB;
}
.logieval-btn-ne-active {
    background: #EFF6FF;
    border-color: #93C5FD;
    color: #1D4ED8;
}
.logieval-btn-ne-active:hover {
    border-color: var(--lg-green);
    color: var(--lg-green);
    background: #F0FDF4;
}

/* Objectif marked as NE */
.logieval-obj-ne {
    background: #F1F5F9 !important;
}
.logieval-obj-ne .logieval-obj-title {
    color: #94A3B8;
    text-decoration: line-through;
}
.logieval-obj-score-ne {
    background: #E2E8F0 !important;
    color: #94A3B8 !important;
}
.logieval-ne-label {
    font-size: .8rem;
    font-style: italic;
    color: #94A3B8;
}

/* Sub-criteria list when NE */
.logieval-sc-list-ne {
    opacity: .35;
    pointer-events: none !important;
}
.logieval-sc-list-ne * {
    pointer-events: none !important;
}

/* ══ Vote-based UI ════════════════════════════════════════════ */

/* SC row layout */
.logieval-sc-row {
    display: flex; align-items: flex-start; gap: 10px;
    padding: 10px 14px; font-family: var(--lg-font);
}
.logieval-sc-wrapper { border: 1px solid var(--lg-border); border-radius: 8px; margin-bottom: 6px; overflow: hidden; }
.logieval-sc-wrapper:hover { border-color: #CBD5E1; }
.logieval-sc-tie      { border-color: #FCD34D !important; }
.logieval-sc-need-arb { border-color: #F97316 !important; border-width: 2px !important; }

/* Vote buttons */
.logieval-vote-row {
    display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
    padding: 8px 14px; background: var(--lg-light); border-top: 1px solid var(--lg-border);
}
.logieval-vote-btns { display: flex; gap: 6px; }
.logieval-vote-btn {
    padding: 5px 14px; border-radius: 20px; border: 1.5px solid #CBD5E1;
    font-family: var(--lg-font); font-size: .82rem; font-weight: 600;
    cursor: pointer; background: #fff; transition: all .15s;
}
.logieval-vote-oui:hover, .logieval-vote-oui.active { background: #DCFCE7; border-color: #16A34A; color: #166534; }
.logieval-vote-non:hover, .logieval-vote-non.active { background: #FEE2E2; border-color: #DC2626; color: #991B1B; }
.logieval-vote-abs:hover, .logieval-vote-abs.active { background: #F1F5F9; border-color: #94A3B8; color: #475569; }

/* Read-only vote display */
.logieval-vote-readonly { font-family: var(--lg-font); font-size: .85rem; }
.logieval-vote-ro-oui { color: #166534; font-weight: 700; }
.logieval-vote-ro-non { color: #991B1B; font-weight: 700; }
.logieval-vote-ro-abs { color: #94A3B8; }
.logieval-vote-ro-missing { color: #B45309; font-weight: 700; }
.logieval-print-student { font-size: .75rem; color: #2563EB; text-decoration: none; margin-left: 8px; }
.logieval-print-student:hover { text-decoration: underline; }

/* Tally */
.logieval-tally { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-family: var(--lg-font); font-size: .82rem; margin-left: auto; }
.logieval-tally-oui { color: #166534; font-weight: 700; background: #DCFCE7; padding: 2px 8px; border-radius: 10px; }
.logieval-tally-non { color: #991B1B; font-weight: 700; background: #FEE2E2; padding: 2px 8px; border-radius: 10px; }
.logieval-tally-abs { color: #475569; font-weight: 700; background: #E2E8F0; padding: 2px 8px; border-radius: 10px; }
.logieval-tally-tie { color: #92400E; font-weight: 700; background: #FEF3C7; padding: 2px 8px; border-radius: 10px; }
.logieval-tally-arb-needed { background: #FED7AA; color: #9A3412; animation: pulse-arb 1.5s infinite; }
@keyframes pulse-arb { 0%,100%{opacity:1} 50%{opacity:.65} }

.logieval-others {
    padding: 0 14px 8px 14px;
    background: var(--lg-light);
    font-family: var(--lg-font);
    font-size: .78rem;
}
.logieval-others-line {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin: 4px 8px 0 0;
    padding: 4px 8px;
    border-radius: 8px;
}
.logieval-others-oui { background: #DCFCE7; color: #166534; }
.logieval-others-non { background: #FEE2E2; color: #991B1B; }
.logieval-others-abs { background: #E2E8F0; color: #475569; }

/* Arbitrage buttons */
.logieval-arb-btns { display: flex; gap: 6px; }
.logieval-arb-btn {
    padding: 4px 12px; border-radius: 20px; font-family: var(--lg-font); font-size: .8rem;
    font-weight: 700; cursor: pointer; border: 1.5px solid; transition: all .15s;
}
.logieval-arb-oui { background: #DCFCE7; border-color: #16A34A; color: #166534; }
.logieval-arb-oui:hover { background: #BBF7D0; }
.logieval-arb-non { background: #FEE2E2; border-color: #DC2626; color: #991B1B; }
.logieval-arb-non:hover { background: #FECACA; }

/* Comment field */
.logieval-comment-wrap { padding: 6px 14px 10px; border-top: 1px dashed #E2E8F0; }
.logieval-comment-input {
    width: 100%; padding: 6px 10px; font-family: var(--lg-font); font-size: .82rem;
    border: 1px solid #E2E8F0; border-radius: 6px; resize: none; overflow: hidden;
    color: #555; background: #FAFAFA; transition: border-color .15s; box-sizing: border-box;
}
.logieval-comment-input:focus { border-color: var(--lg-green); outline: none; background: #fff; }
.logieval-comment-ro {
    padding: 6px 14px 10px; font-family: var(--lg-font); font-size: .82rem;
    color: #64748B; font-style: italic; border-top: 1px dashed #E2E8F0;
}
.logieval-others-comments .logieval-comment-ro {
    background: #F8FAFC;
    color: #475569;
}
.logieval-others-comments strong,
.logieval-comment-ro strong {
    color: #334155;
    font-style: normal;
}

/* Tie alert on student header */
.logieval-tie-alert {
    background: #FED7AA; color: #9A3412; border-radius: 20px;
    padding: 3px 10px; font-size: .78rem; font-weight: 700; font-family: var(--lg-font);
    animation: pulse-arb 1.5s infinite;
}
