/* ── 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-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); }

/* ── 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:default; opacity:.75; }
.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; }

/* ── 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; }
}

/* ── 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; }
}
