/*
 * Présentation moderne du Portail TechnoESN.
 * Toutes les règles structurantes sont limitées à .ui-layout-atelier afin que
 * .ui-layout-classic conserve intégralement l'interface historique.
 */

.portal-brand-story,
.portal-login-kicker,
.portal-login-intro,
.atelier-admin-sidebar,
.atelier-page-kicker,
.admin-login-brand,
.admin-login-intro {
    display: none;
}
.admin-login-main { width: 100%; display: flex; justify-content: center; }

body.ui-layout-atelier {
    --atelier-ink: #182838;
    --atelier-muted: #607181;
    --atelier-line: #dce5ea;
    --atelier-paper: #f3f6f8;
    --atelier-white: #ffffff;
    --atelier-nav: #15313a;
    --atelier-nav-soft: #24464e;
    --atelier-accent: #0f8b83;
    --atelier-accent-deep: #08766f;
    --atelier-accent-soft: #dff3ee;
    --atelier-shadow: 0 18px 55px rgba(22, 48, 71, .08);
    --atelier-shadow-hover: 0 24px 70px rgba(22, 48, 71, .14);
    --atelier-radius: 22px;
    color-scheme: light;
}

body.ui-layout-atelier.ui-theme-foret { --atelier-accent: #168466; --atelier-accent-deep: #106b53; --atelier-accent-soft: #e0f4eb; }
body.ui-layout-atelier.ui-theme-indigo { --atelier-accent: #5b63c8; --atelier-accent-deep: #454cac; --atelier-accent-soft: #ececff; }
body.ui-layout-atelier.ui-theme-violet { --atelier-accent: #8b55ba; --atelier-accent-deep: #704195; --atelier-accent-soft: #f3eafb; }
body.ui-layout-atelier.ui-theme-cuivre { --atelier-accent: #a56820; --atelier-accent-deep: #835017; --atelier-accent-soft: #f8eddf; }
body.ui-layout-atelier.ui-theme-glacier { --atelier-accent: #187f99; --atelier-accent-deep: #12667c; --atelier-accent-soft: #e1f3f7; }
body.ui-layout-atelier.ui-theme-graphite { --atelier-accent: #56616c; --atelier-accent-deep: #3f4851; --atelier-accent-soft: #e9edf0; }
body.ui-layout-atelier.ui-theme-framboise { --atelier-accent: #b64165; --atelier-accent-deep: #96324f; --atelier-accent-soft: #f9e7ed; }
body.ui-layout-atelier.ui-theme-acadie { --atelier-accent: #2463a5; --atelier-accent-deep: #174d87; --atelier-accent-soft: #e3eef9; }

.ui-layout-atelier .portal-eyebrow,
.ui-layout-atelier .portal-login-kicker,
.ui-layout-atelier .atelier-page-kicker {
    display: block;
    color: #82d8c2;
    font-size: .7rem;
    font-weight: 900;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.ui-layout-atelier .atelier-brand-mark {
    width: 38px;
    height: 38px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 4px;
    flex: 0 0 auto;
    transform: rotate(-8deg);
    transition: transform .35s cubic-bezier(.22, 1, .36, 1);
}
.ui-layout-atelier .atelier-brand-mark i { border-radius: 5px; background: #82d8c2; }
.ui-layout-atelier .atelier-brand-mark i:nth-child(2) { background: #d9f0ea; }
.ui-layout-atelier .atelier-brand-mark i:nth-child(3) { background: #5c9799; }
.ui-layout-atelier a:hover .atelier-brand-mark { transform: rotate(0deg) scale(1.04); }

/* Portail élève — fond clair, héros narratif et cartes modulaires. */
body.ui-layout-atelier.ux-shell-bg {
    background: var(--atelier-paper) !important;
    color: var(--atelier-ink) !important;
}
.ui-layout-atelier > .blob { display: none; }
.ui-layout-atelier > .container {
    width: min(1480px, 100%);
    max-width: none;
    padding: 24px 28px 54px;
}

.ui-layout-atelier .portal-main-header {
    align-items: stretch;
    min-height: 300px;
    margin-bottom: 24px !important;
    padding: 32px;
    overflow: hidden;
    border-radius: 28px;
    background:
        radial-gradient(circle at 90% 10%, rgba(130,216,194,.19), transparent 17rem),
        linear-gradient(135deg, var(--atelier-nav), #193942 62%, #214a50);
    box-shadow: 0 22px 70px rgba(21,49,58,.18);
    color: #fff;
}
.ui-layout-atelier .portal-main-header::after {
    content: "";
    position: absolute;
    right: -70px;
    bottom: -100px;
    width: 310px;
    height: 310px;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 50%;
    box-shadow: 0 0 0 42px rgba(255,255,255,.025), 0 0 0 84px rgba(255,255,255,.018);
    pointer-events: none;
}
.ui-layout-atelier .portal-account-bar {
    position: absolute;
    top: 22px;
    right: 26px;
    padding: 0;
}
.ui-layout-atelier .portal-account-bar .text-slate-400,
.ui-layout-atelier .portal-account-bar .text-slate-600 { color: #c4d8da !important; }
.ui-layout-atelier .portal-account-bar a:hover { color: #fff !important; }
.ui-layout-atelier .portal-brand-wrap { justify-content: flex-start; padding: 0; }
.ui-layout-atelier .portal-brand-identity {
    width: min(960px, 100%);
    display: grid;
    grid-template-columns: 215px minmax(0, 1fr);
    gap: 38px;
    align-items: center;
}
.ui-layout-atelier .portal-brand-logo {
    width: 215px;
    max-height: 138px;
    object-fit: contain;
    border-radius: 20px;
    box-shadow: 0 18px 45px rgba(0,0,0,.22);
}
.ui-layout-atelier .portal-brand-story { display: block; padding-top: 14px; position: relative; z-index: 1; }
.ui-layout-atelier .portal-brand-story h1 {
    max-width: 760px;
    margin: 10px 0 10px;
    color: #fff;
    font-size: clamp(2rem, 4vw, 3.65rem);
    font-weight: 950;
    line-height: .98;
    letter-spacing: -.055em;
}
.ui-layout-atelier .portal-brand-story > p {
    max-width: 720px;
    margin: 0;
    color: #b9d0d3;
    font-size: 1rem;
    line-height: 1.55;
}
.ui-layout-atelier .portal-brand-steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 10px;
    margin-top: 24px;
}
.ui-layout-atelier .portal-brand-steps span {
    min-height: 70px;
    padding: 13px 14px;
    border: 1px solid rgba(180,223,216,.22);
    border-radius: 15px;
    background: rgba(255,255,255,.055);
    color: #eefafa;
    font-size: .78rem;
}
.ui-layout-atelier .portal-brand-steps b {
    display: block;
    margin-bottom: 2px;
    color: #8be0c9;
    font-size: 1.05rem;
}

.ui-layout-atelier .portal-large-grid { gap: 14px; margin-bottom: 28px; }
.ui-layout-atelier .portal-disclosure,
.ui-layout-atelier .glass-section,
.ui-layout-atelier .ux-bento,
.ui-layout-atelier .portal-tool-button,
.ui-layout-atelier .glass-card {
    color: var(--atelier-ink) !important;
    background: var(--atelier-white) !important;
    border-color: var(--atelier-line) !important;
    box-shadow: var(--atelier-shadow) !important;
}
.ui-layout-atelier .portal-disclosure { border-radius: 18px; }
.ui-layout-atelier .portal-disclosure summary {
    min-height: 86px;
    background: #fff !important;
    transition: background .2s ease;
}
.ui-layout-atelier .portal-disclosure[open] summary { background: #f8fbfb !important; }
.ui-layout-atelier .portal-disclosure summary::after { color: var(--atelier-accent); }
.ui-layout-atelier .portal-disclosure-body { background: #fff !important; }
.ui-layout-atelier .portal-disclosure .text-slate-100,
.ui-layout-atelier .portal-disclosure .text-white { color: var(--atelier-ink) !important; }
.ui-layout-atelier .portal-disclosure .text-slate-300,
.ui-layout-atelier .portal-disclosure .text-slate-400,
.ui-layout-atelier .portal-disclosure .text-slate-500 { color: var(--atelier-muted) !important; }
.ui-layout-atelier .portal-count-badge {
    color: var(--atelier-accent-deep) !important;
    background: var(--atelier-accent-soft) !important;
    border-color: color-mix(in srgb, var(--atelier-accent) 24%, transparent) !important;
}
.ui-layout-atelier .tache-item {
    background: #f7fafb !important;
    border-color: var(--atelier-line) !important;
}
.ui-layout-atelier .tache-accordion-panel {
    color: var(--atelier-ink);
    background: #fff !important;
    border-color: var(--atelier-line) !important;
}
.ui-layout-atelier .tache-accordion-panel .text-slate-300,
.ui-layout-atelier .tache-accordion-panel .text-slate-400,
.ui-layout-atelier .tache-accordion-panel .text-slate-500 { color: var(--atelier-muted) !important; }

.ui-layout-atelier .ux-bento { border-radius: 24px !important; padding: 28px !important; }
.ui-layout-atelier .ux-bento h2,
.ui-layout-atelier .portal-tool-button h3 { color: var(--atelier-ink) !important; }
.ui-layout-atelier .ux-bento .text-slate-500,
.ui-layout-atelier .portal-tool-button p { color: var(--atelier-muted) !important; }
.ui-layout-atelier .portal-tool-button {
    min-height: 184px;
    border-radius: 20px !important;
    overflow: hidden;
}
.ui-layout-atelier .portal-tool-button::before {
    opacity: 1;
    background: radial-gradient(circle at 93% 6%, color-mix(in srgb, var(--atelier-accent) 12%, transparent), transparent 8rem);
}
.ui-layout-atelier .portal-tool-button::after {
    content: "→";
    position: absolute;
    right: 18px;
    bottom: 15px;
    color: var(--atelier-accent);
    font-size: 1.15rem;
    font-weight: 900;
    transition: transform .2s ease;
}
.ui-layout-atelier .portal-tool-button:hover {
    transform: translateY(-5px) !important;
    border-color: color-mix(in srgb, var(--atelier-accent) 40%, var(--atelier-line)) !important;
    box-shadow: var(--atelier-shadow-hover) !important;
}
.ui-layout-atelier .portal-tool-button:hover::after { transform: translateX(4px); }
.ui-layout-atelier .portal-tool-button .bg-indigo-500\/15,
.ui-layout-atelier .portal-tool-button .bg-sky-500\/15,
.ui-layout-atelier .portal-tool-button .bg-emerald-500\/15,
.ui-layout-atelier .portal-tool-button .bg-cyan-500\/15 { background: var(--atelier-accent-soft) !important; color: var(--atelier-accent-deep) !important; }
.ui-layout-atelier .portal-tool-badge { background: var(--atelier-accent) !important; }
.ui-layout-atelier .portal-modal-panel a { color: inherit; text-decoration: none; }
.ui-layout-atelier .portal-modal-panel .text-cyan-200,
.ui-layout-atelier .portal-modal-panel .text-cyan-200\/70 { color: #a5f3fc !important; }
.ui-layout-atelier .portal-modal-panel .text-slate-400 { color: #cbd5e1 !important; }
.ui-layout-atelier .portal-modal-panel .text-slate-500 { color: #94a3b8 !important; }
.ui-layout-atelier .portal-modal-panel .text-white { color: #f8fafc !important; }
.ui-layout-atelier .seb-alert-card {
    color: var(--atelier-ink) !important;
    background: #fffaf2 !important;
    border-color: #efd9b2 !important;
    box-shadow: var(--atelier-shadow) !important;
}
.ui-layout-atelier .seb-alert-card h2 { color: var(--atelier-ink) !important; }
.ui-layout-atelier .seb-alert-card .text-slate-300 { color: #6d5b42 !important; }
.ui-layout-atelier .seb-alert-card .text-yellow-100 { color: #835017 !important; }
.ui-layout-atelier footer { color: #71808d !important; margin-top: 54px !important; }

/* Connexion élève en écran partagé. */
.ui-layout-atelier.portal-guest > .container {
    display: grid;
    grid-template-columns: minmax(390px, 42%) minmax(0, 1fr);
    align-items: stretch;
    min-height: 100vh;
    padding: 0;
}
.ui-layout-atelier.portal-guest .portal-main-header {
    min-height: 100vh;
    margin: 0 !important;
    padding: 48px;
    border-radius: 0;
    box-shadow: none;
}
.ui-layout-atelier.portal-guest .portal-account-bar { top: 28px; right: 30px; }
.ui-layout-atelier.portal-guest .portal-brand-identity { display: block; width: 100%; }
.ui-layout-atelier.portal-guest .portal-brand-logo { width: 190px; max-height: 120px; }
.ui-layout-atelier.portal-guest .portal-brand-story { margin-top: 68px; }
.ui-layout-atelier.portal-guest .portal-brand-story h1 { max-width: 520px; font-size: clamp(2.6rem, 5vw, 4.5rem); }
.ui-layout-atelier.portal-guest .portal-brand-steps { grid-template-columns: repeat(2, minmax(0,1fr)); max-width: 560px; }
.ui-layout-atelier.portal-guest .portal-login-panel {
    align-self: center;
    width: min(460px, calc(100% - 48px));
    max-width: none;
    margin: 40px auto !important;
    padding: 36px !important;
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}
.ui-layout-atelier .portal-login-kicker { color: var(--atelier-accent); margin-bottom: 8px; }
.ui-layout-atelier .portal-login-panel h2 { color: var(--atelier-ink) !important; font-size: 1.85rem; font-weight: 900; }
.ui-layout-atelier .portal-login-intro,
.ui-layout-atelier .admin-login-intro { display: block; margin: 0 0 24px; color: var(--atelier-muted); }
.ui-layout-atelier .portal-login-panel label { color: #344352 !important; font-weight: 800; letter-spacing: normal; text-transform: none; }
.ui-layout-atelier .portal-login-panel .login-input {
    min-height: 50px;
    background: #fff !important;
    color: var(--atelier-ink) !important;
    border: 1px solid #cbd8df !important;
    border-radius: 12px;
}
.ui-layout-atelier .portal-login-panel .login-input:focus {
    border-color: var(--atelier-accent) !important;
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--atelier-accent) 15%, transparent);
}
.ui-layout-atelier .portal-login-panel button {
    min-height: 50px;
    background: var(--atelier-accent) !important;
    color: #fff !important;
    box-shadow: 0 14px 30px color-mix(in srgb, var(--atelier-accent) 22%, transparent);
}
.ui-layout-atelier.portal-guest .seb-alert-card,
.ui-layout-atelier.portal-guest > .container > .portal-disclosure {
    grid-column: 1 / -1;
    width: min(1180px, calc(100% - 48px));
    margin: 28px auto !important;
}
.ui-layout-atelier.portal-guest footer { grid-column: 1 / -1; display: none; }

/* Administration — navigation latérale du Portail. */
body.ui-layout-atelier.admin-ui {
    min-height: 100vh;
    padding: 28px 32px 56px 286px !important;
    color: var(--atelier-ink) !important;
    background: var(--atelier-paper) !important;
    background-image: none !important;
}
.ui-layout-atelier.admin-ui > .max-w-7xl { max-width: 1480px; }
.ui-layout-atelier .atelier-admin-sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    z-index: 60;
    width: 254px;
    display: flex;
    flex-direction: column;
    gap: 22px;
    padding: 28px 17px 20px;
    overflow-y: auto;
    color: #d2e0e2;
    background: var(--atelier-nav);
    box-shadow: 18px 0 50px rgba(21,49,58,.08);
}
.ui-layout-atelier .atelier-admin-brand {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 9px;
    color: #fff;
    text-decoration: none;
}
.ui-layout-atelier .atelier-admin-brand strong { display: block; color: #fff; font-size: 1.35rem; line-height: 1; }
.ui-layout-atelier .atelier-admin-brand small { display: block; margin-top: 5px; color: #91b4b8; font-size: .62rem; letter-spacing: .2em; }
.ui-layout-atelier .atelier-sidebar-label { margin: 8px 13px -13px; color: #89a9ad; font-size: .62rem; letter-spacing: .17em; text-transform: uppercase; }
.ui-layout-atelier .atelier-sidebar-nav { display: grid; gap: 4px; }
.ui-layout-atelier .atelier-sidebar-nav a {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 42px;
    padding: 10px 13px;
    border-radius: 11px;
    color: #c4d5d7;
    font-size: .82rem;
    font-weight: 650;
    text-decoration: none;
    transition: transform .18s ease, background .18s ease, color .18s ease;
}
.ui-layout-atelier .atelier-sidebar-nav a i { width: 20px; text-align: center; color: #91cfc0; }
.ui-layout-atelier .atelier-sidebar-nav a:hover,
.ui-layout-atelier .atelier-sidebar-nav a:focus-visible { color: #fff; background: var(--atelier-nav-soft); transform: translateX(3px); }
.ui-layout-atelier .atelier-sidebar-bottom { margin-top: auto; padding: 16px 10px 0; border-top: 1px solid rgba(255,255,255,.1); font-size: .75rem; }
.ui-layout-atelier .atelier-sidebar-bottom strong,
.ui-layout-atelier .atelier-sidebar-bottom span { display: block; }
.ui-layout-atelier .atelier-sidebar-bottom span { margin: 3px 0 9px; color: #8facb0; font-size: .68rem; }
.ui-layout-atelier .atelier-sidebar-bottom a { color: #9ee1cf; font-weight: 800; }

.ui-layout-atelier.admin-ui .admin-page-header {
    min-height: 74px;
    margin: -28px -32px 26px !important;
    padding: 16px 32px;
    background: rgba(255,255,255,.92);
    border-bottom: 1px solid var(--atelier-line);
    backdrop-filter: blur(14px);
}
.ui-layout-atelier.admin-ui .admin-page-header h1 { margin-top: 3px; color: var(--atelier-ink) !important; font-size: 1.55rem; }
.ui-layout-atelier.admin-ui .atelier-page-kicker { color: var(--atelier-accent); }
.ui-layout-atelier.admin-ui .admin-page-header a { border: 1px solid var(--atelier-line); background: #fff !important; color: var(--atelier-ink) !important; }
.ui-layout-atelier.admin-ui .admin-page-header a:last-child { color: #a32d40 !important; background: #fae9ed !important; border-color: #f3cdd5; }

.ui-layout-atelier.admin-ui .admin-zone-shell,
.ui-layout-atelier.admin-ui .admin-zone-panel,
.ui-layout-atelier.admin-ui .admin-action-tile,
.ui-layout-atelier.admin-ui .admin-zone-card,
.ui-layout-atelier.admin-ui .admin-stat-card,
.ui-layout-atelier.admin-ui .card,
.ui-layout-atelier.admin-ui .bg-slate-800,
.ui-layout-atelier.admin-ui .bg-slate-800\/50,
.ui-layout-atelier.admin-ui .bg-slate-900\/50 {
    color: var(--atelier-ink) !important;
    background: #fff !important;
    border-color: var(--atelier-line) !important;
    box-shadow: var(--atelier-shadow) !important;
}
.ui-layout-atelier.admin-ui .admin-zone-shell { padding: 20px; border-radius: 24px; }
.ui-layout-atelier.admin-ui .admin-zone-panel { background: #f8fbfb !important; box-shadow: none !important; }
.ui-layout-atelier.admin-ui .admin-zone-card,
.ui-layout-atelier.admin-ui .admin-action-tile { border-radius: 17px; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.ui-layout-atelier.admin-ui .admin-zone-card:hover,
.ui-layout-atelier.admin-ui .admin-action-tile:hover { transform: translateY(-3px); border-color: color-mix(in srgb, var(--atelier-accent) 38%, var(--atelier-line)) !important; box-shadow: var(--atelier-shadow-hover) !important; }
.ui-layout-atelier.admin-ui .admin-zone-card.is-active { background: var(--atelier-accent-soft) !important; border-color: color-mix(in srgb, var(--atelier-accent) 38%, var(--atelier-line)) !important; }
.ui-layout-atelier.admin-ui .admin-zone-card strong,
.ui-layout-atelier.admin-ui .admin-action-tile strong,
.ui-layout-atelier.admin-ui h1,
.ui-layout-atelier.admin-ui h2,
.ui-layout-atelier.admin-ui h3,
.ui-layout-atelier.admin-ui .text-white,
.ui-layout-atelier.admin-ui .text-slate-100,
.ui-layout-atelier.admin-ui .text-slate-200 { color: var(--atelier-ink) !important; }
.ui-layout-atelier.admin-ui .admin-zone-card small,
.ui-layout-atelier.admin-ui .admin-action-tile small,
.ui-layout-atelier.admin-ui .text-slate-300,
.ui-layout-atelier.admin-ui .text-slate-400,
.ui-layout-atelier.admin-ui .text-slate-500 { color: var(--atelier-muted) !important; }
.ui-layout-atelier.admin-ui .text-sky-200,
.ui-layout-atelier.admin-ui .text-sky-300,
.ui-layout-atelier.admin-ui .text-cyan-200,
.ui-layout-atelier.admin-ui .text-cyan-300 { color: #18758e !important; }
.ui-layout-atelier.admin-ui .text-emerald-200,
.ui-layout-atelier.admin-ui .text-emerald-300 { color: #176b53 !important; }
.ui-layout-atelier.admin-ui .text-indigo-200,
.ui-layout-atelier.admin-ui .text-indigo-300,
.ui-layout-atelier.admin-ui .text-violet-200,
.ui-layout-atelier.admin-ui .text-violet-300,
.ui-layout-atelier.admin-ui .text-purple-200,
.ui-layout-atelier.admin-ui .text-purple-300 { color: #6551a2 !important; }
.ui-layout-atelier.admin-ui .text-yellow-200,
.ui-layout-atelier.admin-ui .text-yellow-300,
.ui-layout-atelier.admin-ui .text-amber-200,
.ui-layout-atelier.admin-ui .text-amber-300 { color: #8b5b16 !important; }
.ui-layout-atelier.admin-ui .text-pink-200,
.ui-layout-atelier.admin-ui .text-pink-300 { color: #9c3f65 !important; }
.ui-layout-atelier.admin-ui .admin-section > .bg-slate-800,
.ui-layout-atelier.admin-ui .admin-section .bg-slate-800\/50,
.ui-layout-atelier.admin-ui .admin-section .bg-slate-900\/50 {
    background: #fff !important;
    border-color: var(--atelier-line) !important;
    box-shadow: var(--atelier-shadow) !important;
}
.ui-layout-atelier.admin-ui .admin-input,
.ui-layout-atelier.admin-ui .form-control,
.ui-layout-atelier.admin-ui .form-select,
.ui-layout-atelier.admin-ui input[type="text"],
.ui-layout-atelier.admin-ui input[type="number"],
.ui-layout-atelier.admin-ui input[type="url"],
.ui-layout-atelier.admin-ui input[type="datetime-local"],
.ui-layout-atelier.admin-ui input[type="date"],
.ui-layout-atelier.admin-ui select,
.ui-layout-atelier.admin-ui textarea {
    color: var(--atelier-ink) !important;
    background: #fff !important;
    border-color: #cbd8df !important;
}
.ui-layout-atelier.admin-ui .admin-input:focus,
.ui-layout-atelier.admin-ui input:focus,
.ui-layout-atelier.admin-ui select:focus,
.ui-layout-atelier.admin-ui textarea:focus { border-color: var(--atelier-accent) !important; box-shadow: 0 0 0 4px color-mix(in srgb, var(--atelier-accent) 14%, transparent) !important; }
.ui-layout-atelier.admin-ui .admin-soft-btn,
.ui-layout-atelier.admin-ui .wizard-launch-card { color: var(--atelier-ink); background: #fff; border-color: var(--atelier-line); }
.ui-layout-atelier.admin-ui .admin-wizard-panel,
.ui-layout-atelier.admin-ui .admin-wizard-panel h2,
.ui-layout-atelier.admin-ui .admin-wizard-panel label { color: #f8fafc !important; }
.ui-layout-atelier.admin-ui .admin-wizard-panel input,
.ui-layout-atelier.admin-ui .admin-wizard-panel select,
.ui-layout-atelier.admin-ui .admin-wizard-panel textarea { color: #f8fafc !important; background: #020617 !important; border-color: #334155 !important; }

/* Options du site en mode Atelier. */
body.ui-layout-atelier.admin-options-page {
    color: var(--atelier-ink) !important;
    background: var(--atelier-paper) !important;
}
.ui-layout-atelier.admin-options-page .option-card { color: var(--atelier-ink); background: #fff; border-color: var(--atelier-line); box-shadow: var(--atelier-shadow); }
.ui-layout-atelier.admin-options-page h1,
.ui-layout-atelier.admin-options-page h2,
.ui-layout-atelier.admin-options-page .theme-card strong,
.ui-layout-atelier.admin-options-page .layout-card strong { color: var(--atelier-ink) !important; }
.ui-layout-atelier.admin-options-page .text-slate-300,
.ui-layout-atelier.admin-options-page .text-slate-400,
.ui-layout-atelier.admin-options-page .theme-card small,
.ui-layout-atelier.admin-options-page .layout-card small,
.ui-layout-atelier.admin-options-page .option-row p { color: var(--atelier-muted) !important; }
.ui-layout-atelier.admin-options-page .theme-card,
.ui-layout-atelier.admin-options-page .layout-card { background: #f8fafb; border-color: var(--atelier-line); }
.ui-layout-atelier.admin-options-page .theme-card:has(input:checked),
.ui-layout-atelier.admin-options-page .layout-card:has(input:checked) { background: var(--atelier-accent-soft); border-color: var(--atelier-accent); }
.ui-layout-atelier.admin-options-page .admin-input { color: var(--atelier-ink); background: #fff; border-color: #cbd8df; }
.ui-layout-atelier.admin-options-page .option-back-link,
.ui-layout-atelier.admin-options-page .option-cancel-link { color: #fff !important; text-decoration: none; background: var(--atelier-nav) !important; }
.ui-layout-atelier.admin-options-page button[type="submit"] { color: #fff !important; background: var(--atelier-accent) !important; }

/* Connexion enseignant en écran partagé. */
body.ui-layout-atelier.admin-login-page {
    display: grid;
    grid-template-columns: minmax(390px, 42%) minmax(0, 1fr);
    align-items: stretch;
    margin: 0;
    background: var(--atelier-paper) !important;
    color: var(--atelier-ink);
}
.ui-layout-atelier .admin-login-brand {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 100vh;
    padding: 48px;
    color: #fff;
    background:
        radial-gradient(circle at 90% 10%, rgba(130,216,194,.18), transparent 18rem),
        linear-gradient(145deg, var(--atelier-nav), #1d4249);
}
.ui-layout-atelier .admin-login-logo { display: flex; align-items: center; gap: 12px; color: #fff; text-decoration: none; }
.ui-layout-atelier .admin-login-logo strong { display: block; color: #fff; font-size: 1.55rem; line-height: 1; }
.ui-layout-atelier .admin-login-logo small { display: block; margin-top: 5px; color: #93b6b9; font-size: .65rem; letter-spacing: .2em; }
.ui-layout-atelier .admin-login-brand h1 { max-width: 610px; margin: 12px 0; font-size: clamp(2.8rem, 5.2vw, 5rem); line-height: .98; letter-spacing: -.055em; }
.ui-layout-atelier .admin-login-brand p { max-width: 600px; color: #b9d0d3; font-size: 1rem; line-height: 1.6; }
.ui-layout-atelier .admin-login-brand > small { color: #9ab7ba; }
.ui-layout-atelier .admin-login-features { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; max-width: 620px; margin-top: 30px; }
.ui-layout-atelier .admin-login-features span { min-height: 82px; padding: 17px; border: 1px solid rgba(190,228,221,.22); border-radius: 16px; background: rgba(255,255,255,.055); }
.ui-layout-atelier .admin-login-features b { display: block; color: #8be0c9; font-size: 1.2rem; }
.ui-layout-atelier .admin-login-main { display: flex; align-items: center; justify-content: center; padding: 42px; }
.ui-layout-atelier .admin-login-card {
    max-width: 460px;
    padding: 36px !important;
    color: var(--atelier-ink);
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none;
}
.ui-layout-atelier .admin-login-card h2 { color: var(--atelier-ink) !important; text-align: left; background: none; -webkit-text-fill-color: currentColor; }
.ui-layout-atelier .admin-login-card label { color: #344352 !important; font-weight: 800; }
.ui-layout-atelier .admin-login-card input { min-height: 50px; color: var(--atelier-ink); background: #fff !important; border-color: #cbd8df !important; }
.ui-layout-atelier .admin-login-card input:focus { border-color: var(--atelier-accent) !important; box-shadow: 0 0 0 4px color-mix(in srgb, var(--atelier-accent) 14%, transparent); }
.ui-layout-atelier .admin-login-card button { min-height: 50px; background: var(--atelier-accent) !important; }
.ui-layout-atelier .admin-login-card button { color: #fff !important; }

/* Mouvement progressif, jamais essentiel à la compréhension. */
.ui-layout-atelier.portal-animations-on .portal-brand-story,
.ui-layout-atelier.portal-animations-on .admin-login-brand > div { animation: atelierRise .55s cubic-bezier(.22,1,.36,1) both; }
.ui-layout-atelier.portal-animations-on .portal-brand-logo,
.ui-layout-atelier.portal-animations-on .admin-login-logo { animation: atelierPop .48s cubic-bezier(.22,1,.36,1) both; }
.ui-layout-atelier.portal-animations-on .portal-large-grid > *,
.ui-layout-atelier.portal-animations-on .ux-bento,
.ui-layout-atelier.portal-animations-on .seb-alert-card,
.ui-layout-atelier.portal-animations-on.admin-ui .admin-zone-shell,
.ui-layout-atelier.portal-animations-on.admin-ui .admin-section.is-active { animation: atelierRise .42s cubic-bezier(.22,1,.36,1) both; }
.ui-layout-atelier.portal-animations-on .portal-tool-button:nth-child(2),
.ui-layout-atelier.portal-animations-on .portal-large-grid > :nth-child(2) { animation-delay: .07s; }
.ui-layout-atelier.portal-animations-on .portal-tool-button:nth-child(3) { animation-delay: .12s; }
.ui-layout-atelier.portal-animations-on .portal-tool-button:nth-child(4) { animation-delay: .17s; }
@keyframes atelierRise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@keyframes atelierPop { from { opacity: 0; transform: scale(.94) rotate(-1.5deg); } to { opacity: 1; transform: none; } }

@media (max-width: 1080px) {
    .ui-layout-atelier .portal-brand-identity { grid-template-columns: 170px minmax(0,1fr); gap: 24px; }
    .ui-layout-atelier .portal-brand-logo { width: 170px; }
    .ui-layout-atelier .portal-brand-steps { grid-template-columns: repeat(2, minmax(0,1fr)); }
    body.ui-layout-atelier.admin-ui { padding-left: 32px !important; }
    .ui-layout-atelier .atelier-admin-sidebar { display: none; }
}

@media (max-width: 780px) {
    .ui-layout-atelier > .container { padding: 14px 14px 40px; }
    .ui-layout-atelier .portal-main-header { min-height: 0; padding: 72px 22px 24px; border-radius: 22px; }
    .ui-layout-atelier .portal-account-bar { top: 18px; right: 20px; }
    .ui-layout-atelier .portal-brand-identity { display: block; }
    .ui-layout-atelier .portal-brand-logo { width: 150px; max-height: 92px; margin-bottom: 24px; }
    .ui-layout-atelier .portal-brand-story { padding-top: 0; }
    .ui-layout-atelier .portal-brand-story h1 { font-size: 2.15rem; }
    .ui-layout-atelier .portal-brand-steps { display: none; }
    .ui-layout-atelier .portal-disclosure summary { align-items: flex-start; flex-direction: column; }
    .ui-layout-atelier .portal-disclosure summary > span:last-child { justify-content: flex-start; }
    .ui-layout-atelier .ux-bento { padding: 20px !important; }

    .ui-layout-atelier.portal-guest > .container { display: block; min-height: 100vh; padding: 0; }
    .ui-layout-atelier.portal-guest .portal-main-header { min-height: 310px; padding: 78px 24px 30px; }
    .ui-layout-atelier.portal-guest .portal-brand-story { margin-top: 20px; }
    .ui-layout-atelier.portal-guest .portal-brand-story h1 { font-size: 2.35rem; }
    .ui-layout-atelier.portal-guest .portal-brand-logo { width: 145px; }
    .ui-layout-atelier.portal-guest .portal-login-panel { width: auto; margin: 0 !important; padding: 32px 24px 44px !important; }
    .ui-layout-atelier.portal-guest .seb-alert-card,
    .ui-layout-atelier.portal-guest > .container > .portal-disclosure { width: calc(100% - 28px); margin: 18px auto !important; }

    body.ui-layout-atelier.admin-ui { padding: 16px 14px 42px !important; }
    .ui-layout-atelier.admin-ui .admin-page-header { margin: -16px -14px 20px !important; padding: 14px; }
    .ui-layout-atelier.admin-ui .admin-page-header > div:last-child { width: 100%; display: grid; grid-template-columns: 1fr 1fr; }
    .ui-layout-atelier.admin-ui .admin-zone-shell { padding: 14px; }

    body.ui-layout-atelier.admin-login-page { display: block; }
    .ui-layout-atelier .admin-login-brand { min-height: 270px; padding: 28px 24px; }
    .ui-layout-atelier .admin-login-brand h1 { margin-top: 10px; font-size: 2.3rem; }
    .ui-layout-atelier .admin-login-brand p,
    .ui-layout-atelier .admin-login-features,
    .ui-layout-atelier .admin-login-brand > small { display: none; }
    .ui-layout-atelier .admin-login-main { padding: 30px 22px 44px; }
    .ui-layout-atelier .admin-login-card { padding: 0 !important; }
}

@media (prefers-reduced-motion: reduce) {
    .ui-layout-atelier *,
    .ui-layout-atelier *::before,
    .ui-layout-atelier *::after {
        animation: none !important;
        transition-duration: .01ms !important;
        scroll-behavior: auto !important;
    }
}

/* Révision demandée : présentation moderne sombre et menu latéral élève. */
body.ui-layout-atelier {
    --atelier-ink: #f8fafc;
    --atelier-muted: #a9bac8;
    --atelier-line: rgba(148, 163, 184, .2);
    --atelier-paper: #08111f;
    --atelier-white: #111c2e;
    --atelier-nav: #102d36;
    --atelier-nav-soft: #214751;
    --atelier-accent: #29b8aa;
    --atelier-accent-deep: #7de1d5;
    --atelier-accent-soft: rgba(41, 184, 170, .14);
    --atelier-shadow: 0 18px 55px rgba(0, 0, 0, .22);
    --atelier-shadow-hover: 0 26px 75px rgba(0, 0, 0, .34);
    color-scheme: dark;
}
body.ui-layout-atelier.ui-theme-foret { --atelier-accent:#34d399; --atelier-accent-deep:#a7f3d0; --atelier-accent-soft:rgba(52,211,153,.14); }
body.ui-layout-atelier.ui-theme-indigo { --atelier-accent:#818cf8; --atelier-accent-deep:#c7d2fe; --atelier-accent-soft:rgba(129,140,248,.15); }
body.ui-layout-atelier.ui-theme-violet { --atelier-accent:#c084fc; --atelier-accent-deep:#e9d5ff; --atelier-accent-soft:rgba(192,132,252,.15); }
body.ui-layout-atelier.ui-theme-cuivre { --atelier-accent:#f59e0b; --atelier-accent-deep:#fde68a; --atelier-accent-soft:rgba(245,158,11,.14); }
body.ui-layout-atelier.ui-theme-glacier { --atelier-accent:#22d3ee; --atelier-accent-deep:#a5f3fc; --atelier-accent-soft:rgba(34,211,238,.14); }
body.ui-layout-atelier.ui-theme-graphite { --atelier-accent:#d4d4d8; --atelier-accent-deep:#f4f4f5; --atelier-accent-soft:rgba(212,212,216,.12); }
body.ui-layout-atelier.ui-theme-framboise { --atelier-accent:#fb7185; --atelier-accent-deep:#fecdd3; --atelier-accent-soft:rgba(251,113,133,.14); }
body.ui-layout-atelier.ui-theme-acadie { --atelier-accent:#facc15; --atelier-accent-deep:#fef08a; --atelier-accent-soft:rgba(250,204,21,.13); }

body.ui-layout-atelier.ux-shell-bg,
body.ui-layout-atelier.admin-ui,
body.ui-layout-atelier.admin-options-page,
body.ui-layout-atelier.admin-login-page {
    color: var(--atelier-ink) !important;
    background:
        radial-gradient(circle at 82% -12%, color-mix(in srgb, var(--atelier-accent) 13%, transparent), transparent 30rem),
        linear-gradient(180deg, #07101d, #0b1423 54%, #08111f) !important;
}

/* Menu de navigation principal de l'élève. */
.portal-student-sidebar { display: none; }
body.ui-layout-atelier.portal-authenticated {
    padding-left: 254px;
    box-sizing: border-box;
}
.ui-layout-atelier.portal-authenticated .portal-student-sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    z-index: 70;
    width: 254px;
    display: flex;
    flex-direction: column;
    gap: 22px;
    padding: 28px 17px 20px;
    overflow-y: auto;
    color: #d2e0e2;
    background:
        radial-gradient(circle at 0 0, rgba(41,184,170,.12), transparent 16rem),
        var(--atelier-nav);
    border-right: 1px solid rgba(148,163,184,.12);
    box-shadow: 18px 0 50px rgba(0,0,0,.16);
}
.ui-layout-atelier .portal-sidebar-brand {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 9px;
    color: #fff;
    text-decoration: none;
}
.ui-layout-atelier .portal-sidebar-brand strong { display: block; color: #fff; font-size: 1.35rem; line-height: 1; }
.ui-layout-atelier .portal-sidebar-brand small { display: block; margin-top: 5px; color: #8fb3b8; font-size: .62rem; letter-spacing: .2em; }
.ui-layout-atelier .portal-sidebar-label { margin: 8px 13px -13px; color: #82a7ac; font-size: .62rem; letter-spacing: .17em; text-transform: uppercase; }
.ui-layout-atelier .portal-sidebar-nav { display: grid; gap: 4px; }
.ui-layout-atelier .portal-sidebar-nav a,
.ui-layout-atelier .portal-sidebar-nav button {
    appearance: none;
    width: 100%;
    min-height: 43px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    padding: 10px 13px;
    border: 0;
    border-radius: 11px;
    color: #c4d5d7;
    background: transparent;
    font: inherit;
    font-size: .82rem;
    font-weight: 700;
    text-align: left;
    text-decoration: none;
    cursor: pointer;
    transition: transform .18s ease, background .18s ease, color .18s ease;
}
.ui-layout-atelier .portal-sidebar-nav i { width: 20px; color: var(--atelier-accent-deep); text-align: center; }
.ui-layout-atelier .portal-sidebar-nav a:hover,
.ui-layout-atelier .portal-sidebar-nav button:hover,
.ui-layout-atelier .portal-sidebar-nav a:focus-visible,
.ui-layout-atelier .portal-sidebar-nav button:focus-visible {
    color: #fff;
    background: var(--atelier-nav-soft);
    transform: translateX(3px);
}
.ui-layout-atelier .portal-sidebar-bottom { margin-top: auto; padding: 16px 10px 0; border-top: 1px solid rgba(255,255,255,.1); font-size: .75rem; }
.ui-layout-atelier .portal-sidebar-bottom strong,
.ui-layout-atelier .portal-sidebar-bottom span { display: block; }
.ui-layout-atelier .portal-sidebar-bottom span { margin: 3px 0 9px; color: #8facb0; font-size: .68rem; }
.ui-layout-atelier .portal-sidebar-bottom a { color: var(--atelier-accent-deep); font-weight: 850; }

.ui-layout-atelier.portal-authenticated > .container { width: min(1480px, 100%); }
.ui-layout-atelier .portal-main-header {
    background:
        radial-gradient(circle at 90% 10%, color-mix(in srgb, var(--atelier-accent) 20%, transparent), transparent 17rem),
        linear-gradient(135deg, #102b34, #173b44 62%, #1d444b);
    border: 1px solid rgba(148,163,184,.14);
}
.ui-layout-atelier .portal-disclosure,
.ui-layout-atelier .glass-section,
.ui-layout-atelier .ux-bento,
.ui-layout-atelier .portal-tool-button,
.ui-layout-atelier .glass-card {
    color: var(--atelier-ink) !important;
    background: linear-gradient(145deg, rgba(20,32,51,.97), rgba(14,25,42,.96)) !important;
    border-color: var(--atelier-line) !important;
}
.ui-layout-atelier .portal-disclosure summary,
.ui-layout-atelier .portal-disclosure[open] summary,
.ui-layout-atelier .portal-disclosure-body { background: #111c2e !important; }
.ui-layout-atelier .portal-disclosure .text-slate-100,
.ui-layout-atelier .portal-disclosure .text-white,
.ui-layout-atelier .ux-bento h2,
.ui-layout-atelier .portal-tool-button h3 { color: #f8fafc !important; }
.ui-layout-atelier .portal-disclosure .text-slate-300,
.ui-layout-atelier .portal-disclosure .text-slate-400,
.ui-layout-atelier .portal-disclosure .text-slate-500,
.ui-layout-atelier .ux-bento .text-slate-500,
.ui-layout-atelier .portal-tool-button p { color: var(--atelier-muted) !important; }
.ui-layout-atelier .portal-count-badge { color: var(--atelier-accent-deep) !important; background: var(--atelier-accent-soft) !important; }
.ui-layout-atelier .tache-item { background: #0d1727 !important; border-color: var(--atelier-line) !important; }
.ui-layout-atelier .tache-accordion-panel { color: var(--atelier-ink); background: #091321 !important; border-color: var(--atelier-line) !important; }
.ui-layout-atelier .tache-accordion-panel .text-slate-300,
.ui-layout-atelier .tache-accordion-panel .text-slate-400,
.ui-layout-atelier .tache-accordion-panel .text-slate-500 { color: var(--atelier-muted) !important; }
.ui-layout-atelier .portal-tool-button::before { background: radial-gradient(circle at 93% 6%, color-mix(in srgb, var(--atelier-accent) 16%, transparent), transparent 8rem); }
.ui-layout-atelier .seb-alert-card { color: #f8fafc !important; background: linear-gradient(145deg, rgba(48,35,16,.92), rgba(24,28,39,.97)) !important; border-color: rgba(245,158,11,.34) !important; }
.ui-layout-atelier .seb-alert-card h2 { color: #fff !important; }
.ui-layout-atelier .seb-alert-card .text-slate-300 { color: #d8cbb8 !important; }
.ui-layout-atelier .seb-alert-card .text-yellow-100 { color: #fde68a !important; }

/* Connexions sombres. */
.ui-layout-atelier.portal-guest .portal-login-panel,
.ui-layout-atelier .admin-login-card { color: var(--atelier-ink); }
.ui-layout-atelier.portal-guest > .container,
.ui-layout-atelier .admin-login-main { background: #0b1423; }
.ui-layout-atelier .portal-login-panel h2,
.ui-layout-atelier .admin-login-card h2 { color: #f8fafc !important; }
.ui-layout-atelier .portal-login-intro,
.ui-layout-atelier .admin-login-intro { color: var(--atelier-muted); }
.ui-layout-atelier .portal-login-panel label,
.ui-layout-atelier .admin-login-card label { color: #d5e0e8 !important; }
.ui-layout-atelier .portal-login-panel .login-input,
.ui-layout-atelier .admin-login-card input {
    color: #f8fafc !important;
    background: #101c2e !important;
    border-color: rgba(148,163,184,.3) !important;
}

/* Administration et options en surfaces sombres. */
.ui-layout-atelier.admin-ui .admin-page-header { background: rgba(11,20,35,.94); border-color: var(--atelier-line); }
.ui-layout-atelier.admin-ui .admin-page-header h1 { color: #f8fafc !important; }
.ui-layout-atelier.admin-ui .admin-page-header a { color: #e2e8f0 !important; background: #142033 !important; border-color: var(--atelier-line); }
.ui-layout-atelier.admin-ui .admin-page-header a:last-child { color: #fecdd3 !important; background: rgba(190,18,60,.18) !important; border-color: rgba(251,113,133,.3); }
.ui-layout-atelier.admin-ui .admin-zone-shell,
.ui-layout-atelier.admin-ui .admin-zone-panel,
.ui-layout-atelier.admin-ui .admin-action-tile,
.ui-layout-atelier.admin-ui .admin-zone-card,
.ui-layout-atelier.admin-ui .admin-stat-card,
.ui-layout-atelier.admin-ui .card,
.ui-layout-atelier.admin-ui .bg-slate-800,
.ui-layout-atelier.admin-ui .bg-slate-800\/50,
.ui-layout-atelier.admin-ui .bg-slate-900\/50,
.ui-layout-atelier.admin-ui .admin-section > .bg-slate-800,
.ui-layout-atelier.admin-ui .admin-section .bg-slate-800\/50,
.ui-layout-atelier.admin-ui .admin-section .bg-slate-900\/50 {
    color: #f8fafc !important;
    background: #111c2e !important;
    border-color: var(--atelier-line) !important;
}
.ui-layout-atelier.admin-ui .admin-zone-panel { background: #0d1727 !important; }
.ui-layout-atelier.admin-ui .admin-zone-card.is-active { background: var(--atelier-accent-soft) !important; }
.ui-layout-atelier.admin-ui .admin-zone-card strong,
.ui-layout-atelier.admin-ui .admin-action-tile strong,
.ui-layout-atelier.admin-ui h1,
.ui-layout-atelier.admin-ui h2,
.ui-layout-atelier.admin-ui h3,
.ui-layout-atelier.admin-ui .text-white,
.ui-layout-atelier.admin-ui .text-slate-100,
.ui-layout-atelier.admin-ui .text-slate-200 { color: #f8fafc !important; }
.ui-layout-atelier.admin-ui .admin-zone-card small,
.ui-layout-atelier.admin-ui .admin-action-tile small,
.ui-layout-atelier.admin-ui .text-slate-300,
.ui-layout-atelier.admin-ui .text-slate-400,
.ui-layout-atelier.admin-ui .text-slate-500 { color: var(--atelier-muted) !important; }
.ui-layout-atelier.admin-ui .admin-input,
.ui-layout-atelier.admin-ui .form-control,
.ui-layout-atelier.admin-ui .form-select,
.ui-layout-atelier.admin-ui input[type="text"],
.ui-layout-atelier.admin-ui input[type="number"],
.ui-layout-atelier.admin-ui input[type="url"],
.ui-layout-atelier.admin-ui input[type="datetime-local"],
.ui-layout-atelier.admin-ui input[type="date"],
.ui-layout-atelier.admin-ui select,
.ui-layout-atelier.admin-ui textarea {
    color: #f8fafc !important;
    background: #091321 !important;
    border-color: rgba(148,163,184,.3) !important;
}
.ui-layout-atelier.admin-ui .admin-soft-btn,
.ui-layout-atelier.admin-ui .wizard-launch-card { color: #e2e8f0; background: #111c2e; border-color: var(--atelier-line); }

.ui-layout-atelier.admin-options-page .option-card,
.ui-layout-atelier.admin-options-page .theme-card,
.ui-layout-atelier.admin-options-page .layout-card {
    color: #f8fafc;
    background: #111c2e;
    border-color: var(--atelier-line);
}
.ui-layout-atelier.admin-options-page h1,
.ui-layout-atelier.admin-options-page h2,
.ui-layout-atelier.admin-options-page .theme-card strong,
.ui-layout-atelier.admin-options-page .layout-card strong { color: #f8fafc !important; }
.ui-layout-atelier.admin-options-page .text-slate-300,
.ui-layout-atelier.admin-options-page .text-slate-400,
.ui-layout-atelier.admin-options-page .theme-card small,
.ui-layout-atelier.admin-options-page .layout-card small,
.ui-layout-atelier.admin-options-page .option-row p { color: var(--atelier-muted) !important; }
.ui-layout-atelier.admin-options-page .theme-card:has(input:checked),
.ui-layout-atelier.admin-options-page .layout-card:has(input:checked) { background: var(--atelier-accent-soft); }
.ui-layout-atelier.admin-options-page .admin-input { color: #f8fafc; background: #091321; border-color: rgba(148,163,184,.3); }

@media (max-width: 1080px) {
    body.ui-layout-atelier.portal-authenticated { padding-left: 0; }
    .ui-layout-atelier.portal-authenticated .portal-student-sidebar { display: none; }
}
