:root{--bg:#03050a;--panel:#0b1220cc;--panel2:#111c34cc;--line:#22335c;
--blue:#2f7dff;--cyan:#5fd4ff;--text:#eef2fb;--muted:#8b96b8;--danger:#e35d5d;--radius:18px;}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;scroll-padding-top:84px;}
body{background:var(--bg);color:var(--text);font-family:'Manrope',sans-serif;overflow-x:hidden;position:relative;}
.orb{position:fixed;border-radius:50%;filter:blur(100px);pointer-events:none;z-index:-1;animation:drift 22s ease-in-out infinite alternate;}
.orb1{width:480px;height:480px;background:radial-gradient(circle,var(--blue),transparent 70%);opacity:.35;top:-160px;left:-140px;}
.orb2{width:420px;height:420px;background:radial-gradient(circle,var(--cyan),transparent 70%);opacity:.25;top:30%;right:-160px;animation-delay:-6s;}
.orb3{width:360px;height:360px;background:radial-gradient(circle,var(--blue),transparent 70%);opacity:.22;bottom:-140px;left:28%;animation-delay:-12s;}
@keyframes drift{from{transform:translate(0,0) scale(1);}to{transform:translate(40px,30px) scale(1.08);}}
h1,h2,h3{font-family:'Bebas Neue',sans-serif;letter-spacing:.03em;font-weight:400;}
a{color:inherit;text-decoration:none;}
.logo{display:flex;align-items:center;gap:10px;}
.logo svg{width:38px;height:38px;filter:drop-shadow(0 0 10px rgba(95,212,255,.5));}
.logo span{font-family:'Bebas Neue';font-size:1.4rem;letter-spacing:.08em;}
nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;
padding:14px 5vw;background:rgba(3,5,10,.75);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);}
.navlinks{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;}
.navlinks a{color:var(--muted);font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;}
.navlinks a:hover{color:var(--cyan);}
.pill{background:var(--panel2);border:1px solid var(--line);color:var(--cyan);padding:9px 16px;border-radius:999px;font-size:.78rem;cursor:pointer;backdrop-filter:blur(6px);}
.pill:hover{border-color:var(--cyan);}
section{padding:100px 6vw;max-width:1180px;margin:0 auto;}
.hero{min-height:80vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;animation:fadein .8s ease both;}
@keyframes fadein{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:translateY(0);}}
.hero .hero-logo{width:132px;height:132px;margin-bottom:24px;filter:drop-shadow(0 0 30px rgba(47,125,255,.55));}
.hero h1{font-size:clamp(2.8rem,7.5vw,5.6rem);color:#fff;line-height:.98;}
.hero p{max-width:560px;margin:22px auto 0;color:var(--muted);line-height:1.7;font-size:1.05rem;}
.eyebrow{color:var(--blue);font-size:.85rem;font-weight:600;margin-bottom:8px;}
.section-head{margin-bottom:44px;max-width:680px;display:flex;justify-content:space-between;align-items:flex-end;gap:20px;}
.section-head h2{font-size:clamp(1.8rem,3.6vw,2.6rem);color:#fff;}
.section-head p{color:var(--muted);margin-top:10px;line-height:1.65;}
.edit-btn{background:var(--panel2);border:1px solid var(--line);color:var(--muted);padding:7px 14px;font-size:.78rem;cursor:pointer;white-space:nowrap;}
.edit-btn:hover{color:var(--cyan);border-color:var(--cyan);}
.prose{color:var(--muted);line-height:1.8;font-size:1.02rem;max-width:760px;}
.motto{font-family:'Bebas Neue';font-size:1.3rem;letter-spacing:.08em;color:var(--cyan);margin-top:14px;text-transform:uppercase;}

/* ACTUALITES */
.news-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;}
.news-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;backdrop-filter:blur(10px);}
.news-card img{width:100%;height:150px;object-fit:cover;display:block;}
.news-body{padding:20px;}
.news-date{color:var(--blue);font-size:.72rem;font-weight:700;text-transform:uppercase;}
.news-card h3{margin-top:8px;font-size:1.1rem;color:#fff;}
.news-card p{margin-top:8px;color:var(--muted);font-size:.88rem;line-height:1.55;}
.news-actions{display:flex;gap:8px;padding:0 20px 16px;}
.news-actions button{background:none;border:1px solid var(--line);color:var(--muted);padding:6px 10px;border-radius:8px;font-size:.75rem;cursor:pointer;}
.news-actions button:hover{border-color:var(--cyan);color:var(--cyan);}

/* FAQ */
.faq-list{display:flex;flex-direction:column;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;}
.faq-item{background:var(--panel);padding:22px 24px;}
.faq-item .q{font-weight:700;color:#fff;margin-bottom:8px;}
.faq-item .a{color:var(--muted);font-size:.92rem;line-height:1.6;}

/* Statuts (Congés / Suggestions) */
.status-badge{display:inline-block;padding:4px 10px;border-radius:999px;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;}
.status-pending{background:rgba(255,193,7,.15);color:#ffc107;}
.status-accepted{background:rgba(62,207,122,.15);color:#3ecf7a;}
.status-refused{background:rgba(227,93,93,.15);color:var(--danger);}
.status-other{background:rgba(95,212,255,.15);color:var(--cyan);}
.request-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px;backdrop-filter:blur(10px);margin-bottom:14px;}
.request-card .r-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px;}
.request-card .r-meta{color:var(--muted);font-size:.82rem;}
.request-card .r-text{color:var(--text);font-size:.92rem;line-height:1.5;}
.request-actions{display:flex;gap:8px;margin-top:12px;}
.request-actions button{background:none;border:1px solid var(--line);padding:7px 14px;border-radius:8px;font-size:.8rem;cursor:pointer;color:var(--muted);}
.request-actions button.accept:hover{border-color:#3ecf7a;color:#3ecf7a;}
.request-actions button.refuse:hover{border-color:var(--danger);color:var(--danger);}
.request-actions button.other:hover{border-color:var(--cyan);color:var(--cyan);}

/* HIERARCHIE */
.hier-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);}
.hier-cat{background:var(--panel);padding:28px 24px;}
.hier-cat h3{color:var(--cyan);font-size:1.3rem;margin-bottom:14px;}
.hier-cat ul{list-style:none;display:flex;flex-direction:column;gap:8px;}
.hier-cat li{color:var(--text);font-weight:600;font-size:.95rem;padding-bottom:8px;border-bottom:1px solid var(--line);}
.hier-cat li:last-child{border:none;}

/* DIVISIONS */
.div-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);}
.div-card{background:var(--panel);padding:30px 24px;transition:background .2s;}
.div-card:hover{background:var(--panel2);}
.div-card .tag{color:var(--blue);font-size:.75rem;font-weight:700;text-transform:uppercase;}
.div-card h3{margin-top:10px;font-size:1.2rem;color:#fff;}
.div-card p{margin-top:10px;color:var(--muted);font-size:.9rem;line-height:1.55;}

/* AGENTS */
.agent-grid{display:flex;flex-direction:column;gap:24px;}
.agent-cat-panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:26px;backdrop-filter:blur(10px);}
.agent-cat-head{display:flex;align-items:baseline;gap:12px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--line);}
.agent-cat-title{color:var(--cyan);font-size:1.3rem;}
.agent-cat-count{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;}
.agent-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;}
.agent-card{background:var(--panel);border:1px solid var(--line);padding:20px;text-align:center;}
.agent-photo{width:74px;height:74px;border-radius:50%;margin:0 auto 12px;object-fit:cover;border:2px solid var(--cyan);
background:var(--panel2);display:flex;align-items:center;justify-content:center;font-family:'Bebas Neue';font-size:1.4rem;color:var(--muted);}
.a-grade{color:var(--cyan);font-size:.72rem;font-weight:700;text-transform:uppercase;}
.a-name{font-weight:700;margin-top:6px;}

/* RECRUTEMENT */
.cal-wrap{display:flex;gap:40px;flex-wrap:wrap;align-items:flex-start;}
.cal{flex:1 1 360px;background:var(--panel);border:1px solid var(--line);padding:24px;}
.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;}
.cal-head h3{font-size:1.2rem;color:#fff;}
.cal-head button{background:var(--panel2);border:1px solid var(--line);color:var(--text);width:32px;height:32px;cursor:pointer;}
.cal-head button:hover{border-color:var(--cyan);}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;}
.dow{color:var(--muted);font-size:.7rem;text-align:center;font-weight:600;}
.cal-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:var(--panel2);
font-size:.82rem;cursor:pointer;border:1px solid transparent;border-radius:2px;transition:.15s;}
.cal-day.empty{background:none;cursor:default;}
.cal-day:not(.empty):hover{border-color:var(--blue);}
.cal-day.selected{background:var(--blue);color:#fff;font-weight:700;}
.cal-side{flex:1 1 280px;}
.cal-side h3{color:#fff;font-size:1.1rem;margin-bottom:16px;}
#upcoming-list{list-style:none;display:flex;flex-direction:column;gap:10px;}
#upcoming-list li{display:flex;justify-content:space-between;align-items:center;background:var(--panel);
border:1px solid var(--line);padding:12px 14px;font-size:.88rem;cursor:pointer;}
.muted-note{color:var(--muted);font-size:.85rem;font-style:italic;}

footer{text-align:center;padding:36px 6vw;color:var(--muted);font-size:.8rem;border-top:1px solid var(--line);}

/* MODALS */
.modal-bg{position:fixed;inset:0;background:rgba(2,3,7,.85);backdrop-filter:blur(3px);display:none;align-items:center;justify-content:center;z-index:200;padding:20px;}
.modal-bg.show{display:flex;}
.modal{background:var(--panel);border:1px solid var(--line);padding:32px;max-width:440px;width:100%;position:relative;max-height:88vh;overflow-y:auto;}
.modal-wide{max-width:840px;}
.modal-close{position:absolute;top:12px;right:12px;background:none;border:none;color:var(--muted);font-size:1.1rem;cursor:pointer;}
.modal-close:hover{color:var(--text);}
.modal h3{font-size:1.5rem;color:#fff;margin-bottom:16px;}
input,select,textarea{width:100%;background:var(--panel2);border:1px solid var(--line);color:var(--text);
padding:11px 12px;font-size:.88rem;margin-bottom:12px;font-family:'Manrope';border-radius:12px;}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--cyan);}
input[type="date"]{color-scheme:dark;}
::placeholder{color:var(--muted);opacity:1;}
select{cursor:pointer;}
select option{background:var(--panel2);color:var(--text);}
label{font-size:.72rem;color:var(--muted);text-transform:uppercase;display:block;margin-bottom:5px;}
.perm-check input{width:auto;margin:0;}
.btn-primary{background:var(--blue);color:#fff;border:none;padding:10px 20px;font-weight:700;cursor:pointer;}
.btn-primary:hover{background:var(--cyan);color:#03050a;}
.btn-ghost{background:none;border:1px solid var(--line);color:var(--muted);padding:10px 16px;cursor:pointer;}
.btn-ghost:hover{border-color:var(--cyan);color:var(--cyan);}
.session-photo{width:100%;border-radius:4px;margin-bottom:14px;max-height:220px;object-fit:cover;}

/* PANEL STAFF (onglets) */
.tabbar{display:flex;gap:6px;border-bottom:1px solid var(--line);margin-bottom:22px;flex-wrap:wrap;}
.tabbar button{background:none;border:none;color:var(--muted);padding:10px 4px;font-size:.85rem;font-weight:700;
text-transform:uppercase;letter-spacing:.03em;cursor:pointer;border-bottom:2px solid transparent;margin-right:16px;}
.tabbar button.active{color:var(--cyan);border-color:var(--cyan);}
.tab-pane{display:none;}
.tab-pane.active{display:block;}
.admin-grid{display:flex;gap:28px;flex-wrap:wrap;}
.admin-list{flex:1 1 280px;max-height:400px;overflow-y:auto;display:flex;flex-direction:column;gap:8px;}
.admin-row{display:flex;align-items:center;gap:10px;background:var(--panel2);border:1px solid var(--line);padding:9px 10px;}
.admin-row img,.admin-row .ph{width:36px;height:36px;border-radius:50%;object-fit:cover;background:var(--panel);}
.admin-row .ainfo{flex:1;font-size:.85rem;}
.admin-row button{background:none;border:none;color:var(--muted);cursor:pointer;}
.admin-row button:hover{color:var(--cyan);}
.perm-check{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:.85rem;color:var(--text);}
.perm-check input{width:auto;margin:0;}
.list-editor-row{display:flex;gap:8px;margin-bottom:10px;align-items:flex-start;}
.list-editor-row input,.list-editor-row textarea{margin-bottom:0;}
.list-editor-row button{background:none;border:1px solid var(--line);color:var(--danger);cursor:pointer;padding:8px 10px;height:fit-content;}
.small-add{background:none;border:1px dashed var(--line);color:var(--muted);padding:8px 14px;cursor:pointer;font-size:.8rem;margin-bottom:16px;}
.small-add:hover{border-color:var(--cyan);color:var(--cyan);}

/* Arrondis + effet verre sur les blocs */
.hier-cat,.div-card,.agent-card,.cal,#upcoming-list li,.modal,.admin-row{border-radius:var(--radius);backdrop-filter:blur(10px);}
.cal-day,.cal-head button,.btn-primary,.btn-ghost,.small-add,.session-photo,.modal input,.modal select,.modal textarea{border-radius:12px;}
.edit-btn{border-radius:999px;}
.div-grid,.hier-grid{background:transparent;border:none;gap:16px;}
.div-card,.hier-cat{border:1px solid var(--line);}

@media(max-width:760px){.cal-wrap{flex-direction:column;} .navlinks{gap:.7rem;} .section-head{flex-direction:column;align-items:flex-start;}}

/* Logo image (remplace l'ancien SVG) */
.logo img{width:40px;height:40px;border-radius:50%;filter:drop-shadow(0 0 10px rgba(95,212,255,.5));}
.hero-logo-img{width:150px;height:150px;border-radius:50%;margin-bottom:24px;filter:drop-shadow(0 0 34px rgba(47,125,255,.55));}
.navlinks a.active{color:var(--cyan);}

/* En-tête de page (pages secondaires) */
.page-header{padding:150px 6vw 40px;max-width:1180px;margin:0 auto;text-align:center;}
.page-header h1{font-size:clamp(2.2rem,5vw,3.4rem);color:#fff;}
.page-header p{color:var(--muted);margin-top:12px;max-width:600px;margin-left:auto;margin-right:auto;line-height:1.6;}

/* Accueil : cartes de navigation rapide */
.home-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;}
.home-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:26px;backdrop-filter:blur(10px);transition:transform .2s,border-color .2s;}
.home-card:hover{transform:translateY(-4px);border-color:var(--cyan);}
.home-card .eyebrow{margin-bottom:6px;}
.home-card h3{font-size:1.25rem;color:#fff;margin-bottom:8px;}
.home-card p{color:var(--muted);font-size:.88rem;line-height:1.5;}
