/* Source unique des palettes V3 Art Nouveau, Figma 92:85 / 97:397 / 97:2991 / 97:3955. */
:root {
 color-scheme:dark;
 --font-title:'Cormorant Garamond',Garamond,serif;
 --font-body:Inter,system-ui,sans-serif;
 /* Fond presque neutre : l'Art nouveau passe par la forme — serif, verre, filets de laiton —
    et non par la couleur, pour qu'un visuel généré ne soit jamais jugé sur un fond qui le teinte. */
 --bg:linear-gradient(140.19deg,#0f1211 0%,#141716 34.286%,#111011 71.429%);
 --panel:rgba(23,27,26,.72); --soft:rgba(38,44,42,.92);
 --text:#e9e4d6; --muted:#a6afa8; --line:rgba(206,184,134,.22);
 --accent:#3f6154; --ink:#f2efe4; --link:#cbb27c;
 --shadow:0 14px 36px #00000066,inset 0 1px 1px #d8c79a1f;
 --shadow-card:0 10px 28px #0000005c;
 /* Surface de jugement : tout média affiché repose sur un neutre profond, sans reflet coloré. */
 --stage:#0b0c0c;
 --glass-sheen:linear-gradient(140.90372deg,rgba(233,228,214,.07) 0%,rgba(233,228,214,.03) 27.143%,transparent 42.857%,rgba(233,228,214,.04) 71.429%);
 --glass-edge:linear-gradient(90deg,rgba(206,184,134,.38),rgba(206,184,134,.06) 50%,rgba(206,184,134,.2));
}

*{box-sizing:border-box}body{margin:0;min-height:100dvh;background:var(--bg);color:var(--text);font:15px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,textarea,select{font:inherit}a{color:var(--link)}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button,a{ -webkit-tap-highlight-color:transparent}h1,h2,h3,p{margin:0 0 16px}h1{font-size:clamp(28px,3vw,40px);line-height:1.2;letter-spacing:-.035em}h2{font-size:24px;letter-spacing:-.02em}h3{font-size:18px}img{max-width:100%}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--link);outline-offset:3px}.muted{color:var(--muted)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.button,button{border:0;border-radius:10px;padding:11px 20px;color:var(--text);background:var(--soft);text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;transition:filter .15s,transform .15s}.button:hover,button:hover{filter:brightness(.96)}.primary,.button.primary,.button.accent{background:var(--accent);color:var(--ink)}.badge{font-size:12px;padding:5px 9px;border-radius:20px;background:var(--soft);color:var(--muted)}.field,input,textarea,select{border:1px solid var(--line);border-radius:10px;background:var(--soft);color:var(--text);padding:12px;max-width:100%}textarea{resize:vertical}label{font-weight:500}#header{min-height:72px;padding:12px 28px;display:flex;align-items:center;gap:24px;background:var(--panel)}.header-context{font-size:12px;letter-spacing:.08em;color:var(--muted)}.header-spacer{flex:1}.brand{display:flex;flex-shrink:0}.brand-crop{width:128px;height:40px;position:relative;overflow:hidden;display:block}.brand-crop img{position:absolute;max-width:none;width:526.32%;height:1000%;left:-18.42%;top:-80%}#content{min-height:calc(100dvh - 72px)}.entry-layout{max-width:1400px;margin:auto;padding:90px 7%;display:grid;grid-template-columns:1.3fr 1fr;gap:80px;align-items:center;min-height:calc(100dvh - 72px)}.entry-welcome h1{font-size:clamp(42px,4vw,64px);line-height:1.4}.entry-welcome>p:last-child{font-size:20px}.eyebrow{font-size:12px;letter-spacing:.12em;color:var(--muted);font-weight:600}.entry-card{padding:40px;display:flex;flex-direction:column;gap:18px;min-height:430px}.entry-card p{margin:0}.entry-note{font-size:12px}.portal-page{max-width:1300px;margin:0 auto;padding:70px 40px}.portal-title{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:40px}.forge-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-bottom:30px}.forge-card{display:flex;flex-direction:column;min-height:216px;padding:28px;text-decoration:none;color:var(--text)}.forge-card:hover{border-color:var(--link);transform:translateY(-2px)}.forge-card p:last-child{margin-top:auto;font-size:13px}.error{max-width:680px;margin:60px auto;padding:32px}.loading{padding:48px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-100px;left:15px;z-index:1000;padding:12px;background:var(--accent);color:var(--ink)}.skip-link:focus{top:10px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:90vw;padding:14px 24px;background:var(--text);color:var(--bg);border-radius:12px;box-shadow:var(--shadow);z-index:1000;opacity:0;pointer-events:none}#toast.visible{opacity:1}
@media(max-width:850px){#header{padding:12px 16px;gap:12px;flex-wrap:wrap}.header-context,.local-badge{display:none}.entry-layout{grid-template-columns:1fr;padding:40px 24px;gap:28px}.entry-card{padding:28px;min-height:0}.portal-page{padding:32px 20px}.portal-title{align-items:flex-start;flex-direction:column}.forge-grid{grid-template-columns:1fr}.brand-crop{width:102px;height:32px}.button,button{padding:10px 14px}.error{margin:24px;padding:24px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* Shell partagé : l'heure ne change pas quand on entre dans un autre poste. */
/* Developer workstations: always dark, without altering the creative studio palettes. */
body.forge-workspace {
 color-scheme:dark;
 --bg:linear-gradient(135deg,#101e20,#172a2c 55%,#18252a);
 --panel:rgba(28,45,47,.88); --soft:rgba(39,60,62,.95);
 --text:#e3ece7; --muted:#afc3bb; --line:rgba(167,195,181,.24);
 --accent:#456d62; --ink:#f1f6f0; --link:#b4d6c5;
 --shadow:0 10px 28px #00000040,inset 0 1px 1px #d5eadb16;
 --shadow-card:0 8px 24px #00000035;
 --glass-sheen:linear-gradient(140deg,#ffffff0c,#ffffff02 43%,#ffffff06);
}

body.forge-workspace #toast { background:var(--soft); color:var(--text); }
body{background:var(--bg);background-attachment:fixed;font-family:var(--font-body)}
h1,h2,h3{font-family:var(--font-title);font-weight:600;letter-spacing:0}
.panel{background:var(--glass-sheen),var(--panel);backdrop-filter:blur(24px);border-radius:24px}
#header{background:var(--panel);backdrop-filter:blur(24px);border-bottom:1px solid var(--line)}
.brand{font-family:var(--font-title);font-size:26px;font-weight:600;color:var(--text);text-decoration:none}
.button,button{border-radius:999px}
input,textarea,select{border-radius:14px}
.entry-layout,.portal-page{position:relative}
.entry-layout:before,.portal-page:before{content:"";position:fixed;inset:16px;pointer-events:none;background:url('/workspace/employee/companion/ornement.svg') center/100% 100% no-repeat;opacity:.35;z-index:-1}
#toast{background:var(--soft);color:var(--text);border:1px solid var(--line)}
body.forge-workspace #header{display:none}
body.forge-workspace #content{min-height:100dvh}
@media(min-height:560px){
 body.employee-workspace{height:100dvh;display:flex;flex-direction:column;overflow:hidden}
 body.employee-workspace #header{flex-shrink:0}
 body.employee-workspace #content{flex:1;min-height:0;overflow:auto}
 body.employee-workspace #content>.employee{height:100%;min-height:0}
 body.employee-workspace .employee-view-library{height:100%}
 .portal-page{height:calc(100dvh - 72px);min-height:0;padding:24px 32px;display:flex;flex-direction:column}
 .portal-title{flex-shrink:0;margin-bottom:20px;gap:16px}
 .portal-title h1{font-size:32px;margin-bottom:0}
 .forge-grid{flex:1;min-height:0;grid-auto-rows:minmax(0,1fr);gap:16px;margin-bottom:12px}
 .forge-card{min-height:0;padding:20px;gap:8px;overflow:auto}
 .forge-card p,.forge-card h2{margin-bottom:0}
 .portal-page>p{margin:0;font-size:13px}
 .entry-layout{min-height:calc(100dvh - 72px);padding:24px 32px;gap:32px}
 .entry-card{min-height:0;padding:24px;gap:14px}
 .entry-welcome h1{line-height:1.2}
}
@media(max-width:600px) and (min-height:560px){
 .portal-page{padding:16px;height:calc(100dvh - 112px)}
 .portal-title h1{font-size:26px}
 .forge-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .forge-card{padding:12px;font-size:14px}
 .forge-card h2{font-size:22px;overflow-wrap:anywhere}
 .entry-layout{padding:16px;gap:16px;min-height:0}
 .entry-welcome h1{font-size:36px;margin-bottom:8px}
 .entry-welcome>p:last-child{font-size:16px}
}
@media (max-width: 600px) {
  body.employee-workspace #header .local-badge { display: none; }
  body.employee-workspace #header { flex-wrap: nowrap; gap: 8px; padding: 8px 12px; min-height: 56px; }
}
@media (min-height: 560px) {
 body.entry-workspace{height:100dvh;display:flex;flex-direction:column;overflow:hidden}
 body.entry-workspace #header{flex-shrink:0}
 body.entry-workspace #content{flex:1;min-height:0;overflow:auto}
 body.entry-workspace .portal-page{height:100%;min-height:0}
 body.entry-workspace .entry-layout{min-height:100%}
}

/* Illustrations du portail : contenu lisible hors image, défilement de la page. */
body.entry-workspace .portal-page{height:auto;min-height:100%}
.portal-page .forge-grid{flex:none;grid-auto-rows:auto}
.portal-page .forge-card{padding:0;gap:0;overflow:hidden;min-height:0}
.forge-card-image{display:block;width:100%;height:auto;aspect-ratio:1672/941;object-fit:cover;flex-shrink:0}
.forge-card-copy{display:flex;flex-direction:column;gap:8px;padding:20px;flex:1}
.forge-card-copy h2,.forge-card-copy p{margin:0}
.forge-card-copy p:last-child{padding-top:4px}
@media(max-width:600px){
 .portal-page .forge-grid{grid-template-columns:1fr}
 .forge-card-copy{padding:16px}
}
/* Portail de travail : quatre entrées lisibles, illustrations conservées. */
.portal-page .forge-card-image{height:clamp(100px,16vh,160px);aspect-ratio:auto;object-fit:cover}
.portal-page .forge-card-copy{padding:16px;gap:6px}
.portal-page .forge-card-copy h2{font-size:24px}
