*{box-sizing:border-box}:root{--bg:#080d14;--panel:#111a26;--panel2:#151f2d;--line:#243244;--txt:#f4f7fb;--mut:#8997aa;--blue:#1478ff;--blue2:#0d5fd4;--green:#36d399;--red:#ff626f}body{margin:0;background:radial-gradient(circle at 85% 0,#10233c 0,transparent 27%),var(--bg);color:var(--txt);font:15px "Segoe UI",Arial,sans-serif}aside{position:fixed;width:245px;inset:0 auto 0 0;background:#0b121c;border-right:1px solid var(--line);padding:27px 17px;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;padding:0 8px 30px}.brand>div:last-child{display:grid}.brand span{font-size:11px;color:var(--mut);margin-top:3px}.logo{display:grid;place-items:center;background:linear-gradient(145deg,#2088ff,#075ac4);box-shadow:0 8px 25px #0968df44;width:45px;height:45px;border-radius:13px;font-weight:900}nav{display:grid;gap:7px}nav a{color:#a8b4c5;text-decoration:none;padding:13px 14px;border-radius:10px;transition:.2s}nav a:hover{background:#152235;color:white;transform:translateX(2px)}nav span{margin-left:8px}.aside-foot{margin-top:auto;color:#6f7e91;font-size:11px;padding:12px}.dot{display:inline-block;width:7px;height:7px;background:var(--green);border-radius:50%;margin-right:7px;box-shadow:0 0 10px var(--green)}main{margin-left:245px;padding:40px 46px;max-width:1800px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:27px}h1{font-size:32px;margin:5px 0 4px;letter-spacing:-.6px}h2{margin:4px 0}h3{margin:12px 0 6px}small{color:#67a6ff;font-weight:800;letter-spacing:1.35px;font-size:10px}p{color:var(--mut);margin:5px 0}.btn,.secondary{border:0;border-radius:10px;padding:12px 17px;font-weight:750;cursor:pointer;text-decoration:none;display:inline-block}.btn{background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;box-shadow:0 7px 20px #0d68dd30}.secondary{background:#172333;color:#dce5ef;border:1px solid #2b3d53}.hero{padding:25px;background:linear-gradient(110deg,#132238,#101a27);border:1px solid #27415f;border-radius:16px;display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.hero>div{display:flex;align-items:center;gap:18px}.hero-icon,.cardicon{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:#142c4b;color:#69aaff;font-size:21px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.cards section,section,.peoplebar{background:linear-gradient(145deg,#121c29,#0f1722);border:1px solid var(--line);border-radius:15px;padding:22px}.cards section{min-height:190px}.cards a{display:inline-block;margin-top:20px;color:#65a6ff;text-decoration:none;font-weight:700}.step{font-size:11px;color:#8ba0b9;border:1px solid var(--line);padding:9px 12px;border-radius:9px}.identity{margin-bottom:18px}.identity-title{display:flex;gap:13px;align-items:center;margin-bottom:19px}.identity-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.identity-grid .wide{grid-column:1/-1}label{display:block;color:#aab6c5;font-size:12px;margin-bottom:7px}input,textarea{width:100%;background:#09111b;border:1px solid #2a3a4e;color:#fff;border-radius:9px;padding:12px;outline:none;transition:.2s}input:focus,textarea:focus{border-color:#2582ff;box-shadow:0 0 0 3px #1677ff18}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.borne{padding:0;overflow:hidden;margin:0}.borne-head{display:flex;justify-content:space-between;align-items:center;padding:17px 19px;background:#141f2d;border-bottom:1px solid var(--line)}.borne-head h2{font-size:23px}.status,.good,.bad{font-size:10px;padding:7px 10px;border-radius:30px;font-weight:900}.status,.good{color:#6ee7b7;background:#123328}.status.badstate,.bad{color:#ff9aa2;background:#3a1e25}.row{padding:13px 18px;border-bottom:1px solid #1c2938;display:grid;grid-template-columns:1fr 205px;gap:10px;align-items:center}.choices{display:flex;gap:7px;justify-content:flex-end}.choice{margin:0;cursor:pointer}.choice input{display:none}.choice span{display:block;padding:7px 9px;border:1px solid #2c3c50;border-radius:8px;font-size:11px;font-weight:800;color:#8291a4}.choice input:checked+span{border-color:#2e8b6e;background:#123328;color:#72e5ba}.choice.ko input:checked+span{border-color:#8d3944;background:#3a1e25;color:#ff9aa2}.detail{grid-column:1/-1;display:none}.detail.show{display:block}.savebar{position:sticky;bottom:15px;margin-top:20px;padding:15px 18px;border:1px solid #2a3b50;background:#0f1925ed;backdrop-filter:blur(14px);border-radius:13px;display:flex;align-items:center;justify-content:space-between;z-index:4}.savebar div{display:grid}.savebar span{font-size:12px;color:var(--mut);margin-top:3px}.peoplebar{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:18px}.peoplebar div{display:grid;gap:5px}.peoplebar span{font-size:10px;color:#718196;letter-spacing:1.1px;font-weight:800}.peoplebar b{font-size:17px}.twocol{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}.sectionhead{margin-bottom:18px}.res{border-top:1px solid var(--line);padding:15px 0}.res>div{display:flex;justify-content:space-between;align-items:center}.res p{background:#171f2a;padding:10px;border-radius:8px;margin-top:10px}.reportbox textarea{height:300px;resize:vertical;line-height:1.55;margin:15px 0 12px}.copy{width:100%;font-size:14px}.copyhelp{display:block;color:#f0b766;font-size:12px;margin-top:10px}.toast{position:fixed;right:25px;bottom:25px;background:#123328;color:#8df0c9;border:1px solid #285b48;padding:13px 18px;border-radius:10px;opacity:0;transform:translateY(12px);pointer-events:none;transition:.25s;z-index:99}.toast.show{opacity:1;transform:none}.hist,.cfg{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:12px 0}.hist a{color:white;text-decoration:none}.cfg>form:first-child{display:flex;gap:10px;flex:1}.del{border:0;background:none;color:#ff7b7b;cursor:pointer;padding:10px}.add{display:flex;gap:10px;max-width:600px}@media(max-width:1000px){aside{width:75px;padding:20px 9px}.brand>div:last-child,nav span,.aside-foot{display:none}main{margin-left:75px;padding:25px 18px}.grid,.twocol,.cards,.identity-grid,.peoplebar{grid-template-columns:1fr}.identity-grid .wide{grid-column:auto}.row{grid-template-columns:1fr}.choices{justify-content:flex-start}}
/* Identité visuelle CSU */
.logo-wrap{width:58px;height:58px;border-radius:50%;overflow:hidden;flex:0 0 58px;border:2px solid #fff;box-shadow:0 5px 24px #0008,0 0 0 3px #0d3a61}
.logo-wrap img{width:100%;height:100%;object-fit:cover}
.brand{padding-bottom:14px!important}
.brand strong{font-size:15px}
.brand span{font-size:10px!important}
.flagline{height:3px;display:grid;grid-template-columns:1fr 1fr 1fr;margin:0 9px 24px;border-radius:4px;overflow:hidden;opacity:.85}
.flagline i:nth-child(1){background:#274b9b}.flagline i:nth-child(2){background:#f4f4f1}.flagline i:nth-child(3){background:#ed2939}
.wolf-watermark{position:absolute;left:39px;bottom:70px;width:165px;height:165px;border-radius:50%;overflow:hidden;opacity:.035;filter:grayscale(1);pointer-events:none}
.wolf-watermark img{width:100%;height:100%;object-fit:cover}
.top-accent{position:fixed;top:0;left:245px;right:0;height:3px;display:grid;grid-template-columns:1fr 1fr 1fr;z-index:20;opacity:.7}
.top-accent span:nth-child(1){background:#274b9b}.top-accent span:nth-child(2){background:#e9edf2}.top-accent span:nth-child(3){background:#ed2939}
.hero{position:relative;overflow:hidden}
.hero:after{content:"CSU";position:absolute;right:22px;bottom:-25px;font-size:100px;font-weight:900;color:#fff;opacity:.018;letter-spacing:-8px;pointer-events:none}
.cards section:first-child{border-top:2px solid #274b9b}.cards section:nth-child(2){border-top:2px solid #e7e7e7}.cards section:nth-child(3){border-top:2px solid #ed2939}
.borne-head{position:relative}
.borne-head:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(#274b9b 0 33%,#e8e8e8 33% 66%,#ed2939 66%)}
.head-actions{display:flex;align-items:center;gap:14px}
.fr-clock{min-width:145px;padding:8px 12px;border:1px solid #27394e;border-radius:10px;background:#101a27;display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:center}
.fr-clock span{font-size:11px;color:#8e9caf}
.fr-clock b{font-size:19px;grid-row:1/3;grid-column:2}
.fr-clock small{font-size:8px;letter-spacing:1px;color:#52779f}
.fr-clock.compact small{display:none}
@media(max-width:1000px){.top-accent{left:75px}.logo-wrap{width:48px;height:48px;flex-basis:48px}.wolf-watermark,.flagline{display:none}.head-actions{align-items:flex-end;flex-direction:column}.fr-clock{display:none}}
