:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:#e9edf6;background:#0a0e17}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.35;cursor:default}.app{display:flex;min-height:100vh}.sidebar{width:246px;background:#101622;border-right:1px solid #263044;flex-shrink:0;padding:28px 16px;display:flex;flex-direction:column;gap:6px}.brand{padding:5px 12px 30px;display:flex;gap:12px;align-items:center}.crest{display:grid;place-items:center;width:43px;height:43px;border:1px solid #d4ad63;border-radius:12px;color:#e9c786;font-size:23px}.brand strong{font-size:20px;letter-spacing:.08em}.brand small{display:block;color:#8794ac;font-size:10px;letter-spacing:.15em;margin-top:3px}.nav{padding:13px 14px;border:0;border-radius:9px;text-align:left;background:transparent;color:#96a3b9;font-weight:600}.nav:hover,.nav.active{background:#273143;color:#f2d09a}.sidefoot{margin-top:auto;padding:16px 10px;border-top:1px solid #273044;color:#8390a6;font-size:12px;line-height:1.6}.main{flex:1;min-width:0;padding:36px clamp(18px,4vw,64px);max-width:1700px;margin:auto}.top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:30px}.eyebrow{font-size:11px;color:#d8b778;letter-spacing:.19em;text-transform:uppercase;font-weight:800}.top h1{font-family:Georgia,serif;font-weight:500;font-size:36px;margin:8px 0 6px}.muted{color:#8998ae;font-size:13px}.btn{border:1px solid #39445a;border-radius:9px;background:#1b2535;color:#f2f4f9;padding:10px 15px;font-weight:650}.btn.primary{background:#d5ad69;color:#14171c;border-color:#d5ad69}.btn:hover{filter:brightness(1.14)}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:24px}.stat,.panel{background:#131b29;border:1px solid #293347;border-radius:14px}.stat{padding:21px}.stat .value{font-size:30px;font-weight:750;margin-top:10px}.stat .label{color:#a3aec0;font-size:12px}.stat .accent{color:#d8b778}.panel{padding:21px;margin-bottom:20px}.panel h2{font-size:17px;margin:0 0 14px}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.field{background:#0d1420;border:1px solid #344056;border-radius:9px;padding:11px 13px;color:#e9edf6;min-width:0}.toolbar input{flex:1;min-width:180px}.toolbar select{min-width:150px}.tablewrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:13px}.data-table th{text-align:left;color:#8393ab;font-size:11px;text-transform:uppercase;letter-spacing:.08em;padding:13px 12px;border-bottom:1px solid #354055}.data-table td{padding:14px 12px;border-bottom:1px solid #263043}.data-table tr:hover td{background:#1c2738}.name{font-weight:700;color:#f1f4fa}.pill{display:inline-block;border:1px solid #5d5261;background:#312c3b;color:#e8d1ab;border-radius:20px;padding:5px 9px;font-size:11px}.pill.green{border-color:#28594c;background:#15392f;color:#7be1b1}.pill.red{border-color:#694343;background:#39252b;color:#f1a3a3}.linkbtn{background:transparent;border:0;color:#e4bc7b;text-decoration:underline}.org{overflow-x:auto;padding:18px 0 30px}.orglevel{display:flex;justify-content:center;align-items:stretch;gap:15px;flex-wrap:wrap}.orgcard{width:210px;background:#192334;border:1px solid #4b5260;border-top:3px solid #c8a369;border-radius:12px;padding:15px;text-align:center;cursor:pointer}.orgcard:hover{background:#253247}.orgcard .initials{width:42px;height:42px;margin:0 auto 9px;border-radius:50%;background:#3a3940;color:#f2d7a2;display:grid;place-items:center;font-family:Georgia,serif;font-size:16px}.orgcard strong{display:block;font-size:13px}.orgcard small{display:block;color:#91a1b8;margin-top:5px;font-size:11px}.orgcard .ranklabel{color:#dbb778;font-size:11px;margin-bottom:7px}.orgline{height:30px;width:1px;background:#677083;margin:0 auto}.leveltag{text-align:center;font-size:11px;color:#a4afc2;text-transform:uppercase;letter-spacing:.14em;margin:12px}.orgcard.custodes{border-top-color:#6e9cd4}.notice{background:#1e2a3a;border:1px solid #455772;color:#b5c5d9;padding:14px 16px;border-radius:10px;font-size:13px;line-height:1.6;margin-bottom:18px}.rankrow{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid #2c374a;border-radius:10px;margin:8px 0;background:#192231}.rankrow input{flex:1}.rankrow small{color:#9da9bb}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:15px}.formlabel{display:flex;flex-direction:column;gap:7px;color:#a5b2c5;font-size:12px}.formlabel .field{width:100%}.formactions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}.overlay{position:fixed;inset:0;background:#02050bbd;display:grid;place-items:center;z-index:10;padding:18px}.modal{background:#151e2c;border:1px solid #47546a;border-radius:16px;padding:25px;width:min(670px,100%);max-height:92vh;overflow:auto}.modalhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modalhead h2{margin:0;font-family:Georgia,serif;font-weight:400;font-size:26px}.hidden{display:none!important}.empty{padding:40px;text-align:center;color:#9ba8b9}.tag{display:inline-block;color:#d9ba83;border:1px solid #6b593c;border-radius:7px;padding:5px 9px;font-size:11px}.footerline{margin-top:26px;color:#64758f;font-size:11px}.compact{font-size:12px}.sectionheading{display:flex;justify-content:space-between;align-items:center;gap:10px}.rankcount{color:#a7b4c7;font-size:12px}.toggle{display:flex;gap:9px;align-items:center;color:#b5c2d4;font-size:13px}@media(max-width:850px){.app{display:block}.sidebar{width:100%;flex-direction:row;align-items:center;overflow-x:auto;padding:12px;gap:4px}.brand{padding:0 12px 0 0}.brand small,.sidefoot{display:none}.nav{white-space:nowrap;padding:10px}.main{padding:24px 16px}.stats{grid-template-columns:repeat(2,1fr)}.top h1{font-size:29px}.grid2{grid-template-columns:1fr}}@media(max-width:500px){.brand strong{font-size:15px}.crest{display:none}.stats{gap:8px}.stat{padding:15px}.top{align-items:flex-start;flex-direction:column}}

/* LEGIO XXV — palette de la bannière impériale */
:root{color:#f0e3cd;background:#120d0d}body{background:#120d0d;color:#f0e3cd}.sidebar{background:#1a1011;border-right-color:#59432e}.brand small,.muted,.stat .label,.data-table th,.orgcard small,.rankrow small,.sidefoot,.footerline{color:#b9a58d}.nav{color:#c4ae96}.nav:hover,.nav.active{background:#54202a;color:#f4d59a}.sidefoot{border-top-color:#624a37}.main{background:radial-gradient(ellipse at top right,#35141b 0%,#160f10 48%,#120d0d 100%)}.eyebrow,.stat .accent,.orgcard .ranklabel,.linkbtn,.tag{color:#d8ad59}.btn{background:#312023;border-color:#79533b;color:#f7e8cf}.btn.primary{background:#851d2d;border-color:#bb8545;color:#ffe8b7}.btn.primary:hover{background:#a32c3d}.stat,.panel{background:#201617;border-color:#604232}.field{background:#160f10;border-color:#77543b;color:#f6e7cf}.data-table th,.data-table td{border-bottom-color:#51362c}.data-table tr:hover td{background:#402127}.name{color:#fff0d7}.pill{background:#49252b;border-color:#8c5642;color:#f1d7a3}.pill.green{background:#263a2b;border-color:#648360;color:#b8dfb0}.pill.red{background:#54252b;border-color:#a35c5a;color:#ffd0c6}.orgcard{background:#2d191c;border-color:#76503a;border-top-color:#d8ad59}.orgcard:hover{background:#4a242a}.orgcard .initials{background:#612c30;color:#ffe0a0}.orgcard.custodes{border-top-color:#d8ad59;border-style:solid}.orgline{background:#977445}.leveltag,.rankcount{color:#d2b891}.notice{background:#392327;border-color:#865b42;color:#e4cdb2}.rankrow{background:#2c1b1e;border-color:#674334}.rankrow small,.toggle,.formlabel{color:#d3bda5}.overlay{background:#090404d9}.modal{background:#261819;border-color:#946f48}.tag{border-color:#937342}.crest{border-color:#bd914c;color:#efc76e}.brand strong{color:#f4e7d0}.top h1,.modalhead h2{color:#f5e6cc}.splash{position:fixed;inset:0;z-index:30;background:#0e0909;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:auto;text-align:center}.splash:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#09060618 0%,#100808a8 73%,#0d0707 100%),url('../TES.jpg') center/cover no-repeat;opacity:.95}.splash-inner{position:relative;z-index:1;padding:35px 22px;background:#160c0cce;border:1px solid #ac854f;box-shadow:0 16px 80px #000b;max-width:min(520px,90vw)}.splash-inner .overline{color:#e7b963;font-size:11px;letter-spacing:.28em;text-transform:uppercase}.splash-inner h1{font:normal clamp(38px,7vw,70px) Georgia,serif;color:#f3dfb8;letter-spacing:.09em;margin:14px 0 8px}.splash-inner p{color:#d3b69b;font-size:14px;line-height:1.6;margin:0 0 25px}.splash-inner button{min-width:210px;padding:13px 25px;letter-spacing:.07em}.brand-flag{width:38px;height:38px;object-fit:cover;border:1px solid #b58d4f;border-radius:4px}
.pie-layout{display:flex;align-items:center;gap:24px;flex-wrap:wrap;padding:14px 0 5px}.pie{width:210px;height:210px;flex:0 0 210px;border-radius:50%;display:grid;place-items:center;box-shadow:0 0 0 1px #a47b49,0 10px 30px #0005}.pie-hole{width:112px;height:112px;border-radius:50%;background:#201617;display:flex;flex-direction:column;justify-content:center;align-items:center;box-shadow:0 0 0 1px #76503a}.pie-hole b{font:normal 36px Georgia,serif;color:#f4d59a}.pie-hole small{font-size:11px;color:#b9a58d}.pie-legend{flex:1;min-width:180px}.pie-row{display:flex;align-items:center;gap:9px;padding:7px 0;border-bottom:1px solid #49302a;font-size:12px}.pie-dot{width:10px;height:10px;border-radius:2px;flex:none}.pie-name{flex:1}.pie-percent{color:#b9a58d;min-width:38px;text-align:right}@media(max-width:520px){.pie-layout{justify-content:center}.pie-legend{width:100%}.pie{width:190px;height:190px;flex-basis:190px}}
.parallel-level{display:flex;align-items:flex-start;justify-content:center;gap:24px;flex-wrap:wrap}.orgbranch{flex:1 1 320px;min-width:0}.orgbranch .orglevel{justify-content:center}.orgcard small{display:block;margin-top:5px}.orgcard{min-width:170px}.orgbranch .leveltag{text-align:center;margin:10px 0 14px}

/* ===== V5 — accès, historique, notes, conflits ===== */
.splash-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.splash-actions .btn{min-width:180px}
.loginbox{display:flex;flex-direction:column;gap:10px;margin-top:6px;text-align:left}
.loginbox .field{width:100%}
.loginbox .formactions{margin-top:6px}
.loginerr{color:#ffb4a8;font-size:13px;min-height:18px}
.session{margin-top:10px;padding:12px 10px;border-top:1px solid #624a37;font-size:12px;line-height:1.6;color:#d3bda5}
.session b{color:#f4d59a}
.session .btn{width:100%;margin-top:8px;padding:8px 10px;font-size:12px}
.rolepill{display:inline-block;border:1px solid #937342;border-radius:6px;padding:1px 7px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#d8ad59}
.readonly-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px}
.readonly-grid div small{display:block;color:#b9a58d;font-size:11px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:3px}
.readonly-grid div span{color:#fff0d7}
.banner{padding:11px 14px;border-radius:9px;font-size:13px;margin-bottom:14px;line-height:1.5}
.banner.warn{background:#4a3215;border:1px solid #b5823a;color:#ffdca0}
.banner.err{background:#54252b;border:1px solid #a35c5a;color:#ffd0c6}
.banner.ok{background:#263a2b;border:1px solid #648360;color:#c9ecc2}
.notes{margin-top:22px;border-top:1px solid #604232;padding-top:16px}
.notes h3{margin:0 0 10px;font:normal 19px Georgia,serif;color:#f4d59a}
.note{background:#1f1415;border:1px solid #5a3d30;border-radius:9px;padding:11px 13px;margin:8px 0}
.note-meta{display:flex;justify-content:space-between;gap:8px;color:#b9a58d;font-size:11px;margin-bottom:6px}
.note-text{white-space:pre-wrap;font-size:13px;line-height:1.5}
.note-actions{display:flex;gap:10px;margin-top:6px}
.note textarea{width:100%;margin-top:6px}
.histo-entry{display:grid;grid-template-columns:150px 1fr;gap:14px;padding:13px 4px;border-bottom:1px solid #51362c;font-size:13px}
.histo-entry .when{color:#b9a58d;font-size:12px;line-height:1.5}
.histo-entry .who{color:#d8ad59;font-weight:700}
.histo-entry .what b{color:#fff0d7}
.histo-diff{margin-top:6px;color:#d3bda5;font-size:12px;line-height:1.7}
.histo-diff .old{color:#e8a49b;text-decoration:line-through}
.histo-diff .new{color:#b8dfb0}
.histo-note{margin-top:6px;padding:8px 10px;border-left:2px solid #937342;background:#1f1415;white-space:pre-wrap;font-size:12px}
.conflict-table{width:100%;border-collapse:collapse;font-size:13px;margin:10px 0}
.conflict-table th,.conflict-table td{padding:9px 8px;border-bottom:1px solid #51362c;text-align:left;vertical-align:top}
.conflict-table th{color:#b9a58d;font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.conflict-table label{display:flex;gap:7px;align-items:flex-start;cursor:pointer}
.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);z-index:40;background:#261819;border:1px solid #946f48;color:#f5e6cc;padding:11px 18px;border-radius:10px;box-shadow:0 10px 40px #000a;font-size:13px}
.toast.err{border-color:#a35c5a;color:#ffd0c6}
.acct-row{display:grid;grid-template-columns:1fr 130px auto;gap:10px;align-items:center;padding:11px;border:1px solid #674334;border-radius:10px;margin:8px 0;background:#2c1b1e}
.acct-row code{color:#fff0d7;font-size:14px}
.acct-row small{color:#b9a58d}
@media(max-width:700px){.histo-entry{grid-template-columns:1fr}.readonly-grid{grid-template-columns:1fr}.acct-row{grid-template-columns:1fr}}

/* ===== V5.2 — calendrier de Tamriel ===== */
.formlabel{position:relative}
.datefield{display:flex;gap:6px}
.datefield .field{flex:1;min-width:0}
.calbtn{padding:8px 11px;flex:none}
.tescal{position:absolute;top:100%;right:0;z-index:20;margin-top:6px;width:262px;background:#261819;border:1px solid #946f48;border-radius:12px;box-shadow:0 14px 40px #000c;padding:12px;color:#f0e3cd}
.tescal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.tescal-head b{font:normal 15px Georgia,serif;color:#f4d59a}
.tescal-head button{background:transparent;border:1px solid #674334;color:#f0e3cd;border-radius:7px;width:30px;height:28px}
.tescal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.tescal-wd span{text-align:center;font-size:10px;color:#b9a58d;padding:3px 0}
.tescal-grid button{background:#1f1415;border:1px solid transparent;color:#f0e3cd;border-radius:6px;height:30px;font-size:12px;padding:0}
.tescal-grid button:hover{background:#4a242a}
.tescal-grid button.today{border-color:#b5823a}
.tescal-grid button.sel{background:#851d2d;border-color:#bb8545;color:#ffe8b7}
.tescal-foot{display:flex;justify-content:space-between;margin-top:9px;font-size:12px}

/* ===== V5.2.1 — accueil plein écran ===== */
.splash{justify-content:space-between;padding:clamp(28px,7vh,72px) 16px clamp(28px,8vh,80px);background:#0d0707}
.splash:before{background:linear-gradient(180deg,#0d0707e0 0%,#0d070733 24%,#0d070700 40%,#0d070700 62%,#0d070799 82%,#0d0707f0 100%),url('../TES.jpg') center/cover no-repeat;opacity:1}
.splash-title{position:relative;z-index:1;margin:0;font:normal clamp(44px,9vw,104px) Georgia,serif;letter-spacing:.12em;color:#f3dfb8;text-shadow:0 4px 30px #000,0 0 2px #000}
.splash-bottom{position:relative;z-index:1;width:min(440px,100%);display:flex;flex-direction:column;align-items:center}
.splash-bottom .splash-actions .btn{min-width:180px;padding:14px 26px;letter-spacing:.08em;font-size:15px;box-shadow:0 8px 30px #000a}
.splash-bottom .loginbox{width:100%;background:#160c0cdd;border:1px solid #ac854f;padding:18px;border-radius:12px;box-shadow:0 16px 60px #000c;backdrop-filter:blur(3px)}
.splash-bottom .loginbox .muted{color:#d3b69b}
.splash-bottom p{margin:16px 0 0;font-size:12px}
@media(max-width:500px){.splash-bottom .splash-actions{flex-direction:column;width:100%}.splash-bottom .splash-actions .btn{width:100%}}

/* ===== V5.3 — questionnaire de recrutement ===== */
.recq{margin-top:20px;border-top:1px solid #604232;padding-top:14px}
.recq summary{cursor:pointer;font:normal 19px Georgia,serif;color:#f4d59a;margin-bottom:12px;list-style-position:inside}
.recq textarea{width:100%;resize:vertical}
