:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:#162033;background:#f5f7fb;--primary:#3859e8;--nav:#111827;--muted:#6b7280;--border:#e5e7eb}*{box-sizing:border-box}body{margin:0}a{color:var(--primary);text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.sidebar{position:fixed;inset:0 auto 0 0;width:250px;background:linear-gradient(180deg,#111827,#172033);padding:24px 18px;color:white;display:flex;flex-direction:column;z-index:20}.brand{display:flex;gap:12px;align-items:center;padding:0 8px 24px}.brand>span,.brand-logo{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#5b75ff,#8b5cf6);color:white;font-weight:900;font-size:22px}.brand div{display:grid}.brand small{color:#94a3b8;margin-top:3px}.sidebar nav{display:grid;gap:5px}.sidebar nav a,.logout{color:#cbd5e1;padding:11px 13px;border-radius:9px}.sidebar nav a:hover,.sidebar nav a.active{background:#27344c;color:#fff}.logout{margin-top:auto}.topbar{position:fixed;left:250px;right:0;top:0;height:70px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:18px;padding:0 28px;z-index:10}.global-search{flex:1;max-width:520px}.global-search input{width:100%;background:#f3f5f9;border:1px solid transparent}.user-pill{margin-left:auto;font-weight:700}.menu{display:none}.content{margin-left:250px;padding:100px 30px 40px;max-width:1700px}.page-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.page-head h1{margin:0;font-size:28px}.page-head p{margin:6px 0 0;color:var(--muted)}.page-head>div:last-child{display:flex;gap:8px}.card{background:#fff;border:1px solid var(--border);border-radius:15px;padding:22px;box-shadow:0 8px 26px rgba(15,23,42,.04);margin-bottom:22px}.card h2{margin-top:0}.card-head{display:flex;justify-content:space-between;align-items:center}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}.stat{background:#fff;border:1px solid var(--border);border-radius:15px;padding:20px}.stat span,.stat small{display:block;color:var(--muted)}.stat b{display:block;font-size:25px;margin:9px 0}.btn,button.primary{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);background:#fff;color:#263248;padding:10px 14px;border-radius:9px;font-weight:700}.btn.primary,button.primary{background:var(--primary);color:#fff;border-color:var(--primary)}form{display:grid;gap:14px}label{display:grid;gap:6px;font-weight:650;font-size:14px}input,select,textarea{width:100%;border:1px solid #d8dee8;border-radius:9px;padding:11px;background:#fff;color:#172033}textarea{min-height:90px;resize:vertical}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.span-2{grid-column:span 2}.form-actions{display:flex;justify-content:flex-end;gap:10px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:13px 12px;border-bottom:1px solid #edf0f4;vertical-align:middle;white-space:nowrap}th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#697386}td small{display:block;color:var(--muted);margin-top:3px}.actions{display:flex;gap:10px;align-items:center}.actions form{display:inline}.link{border:0;background:none;padding:0;color:var(--primary)}.danger-text,.negative{color:#c63b3b}.positive{color:#138a55}.badge{display:inline-flex;padding:5px 9px;border-radius:999px;background:#eef2ff;color:#4052b8;font-size:12px;font-weight:750}.badge.success{background:#e8f8ef;color:#177047}.badge.danger{background:#feecec;color:#ad3030}.alert{padding:13px 16px;border-radius:10px;margin-bottom:18px}.alert.success{background:#e9f8ef;color:#17663d}.alert.error{background:#feecec;color:#a82c2c}.empty{text-align:center;color:var(--muted);padding:28px}.tabs{display:flex;gap:8px;margin-bottom:18px}.tabs a{padding:9px 13px;border-radius:8px;background:#fff;border:1px solid var(--border);color:#455065}.tabs a.active{background:#e9edff;color:#304bc7;border-color:#cfd6ff}.line-row{display:grid;grid-template-columns:1fr 100px 150px 45px;gap:8px;margin-bottom:8px}.two-cols{display:grid;grid-template-columns:340px 1fr;gap:20px}.login-shell{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top left,#e9edff,#f7f8fc 55%)}.login-card{width:min(430px,92vw);background:white;border:1px solid var(--border);border-radius:20px;padding:34px;box-shadow:0 30px 80px rgba(30,42,90,.12)}.login-card .brand-logo{margin-bottom:18px}.login-card h1{margin:0}.login-card p{color:var(--muted)}.login-card small{display:block;margin-top:16px;color:var(--muted)}@media(max-width:980px){.stats{grid-template-columns:repeat(2,1fr)}.two-cols{grid-template-columns:1fr}.sidebar{transform:translateX(-100%);transition:.2s}.nav-open .sidebar{transform:none}.topbar{left:0}.content{margin-left:0}.menu{display:block;border:0;background:none;font-size:24px}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}}@media(max-width:620px){.content{padding:90px 14px 25px}.topbar{padding:0 14px}.user-pill{display:none}.stats{grid-template-columns:1fr}.page-head{align-items:flex-start;flex-direction:column}.page-head>div:last-child{width:100%;flex-wrap:wrap}.line-row{grid-template-columns:1fr 70px 100px 40px}.card{padding:16px}th,td{padding:11px 9px}}

/* AssoPilot — entrée calée sur l’interface Orbite */
.login-screen{
  --bg-main:#050505;--bg-secondary:#12100A;--surface:#111111;--surface-active:#18150B;
  --accent:#FFD814;--accent-hover:#FFE568;--text-main:#FFFFFF;--text-muted:#C8C8C8;
  --accent-rgb:255,216,20;--accent-hover-rgb:255,229,104;--accent-text:#090909;
  --line:rgba(255,216,20,.28);--text:var(--text-main);--muted:var(--text-muted);
  --shadow:0 24px 80px rgba(0,0,0,.46);
  position:fixed;inset:0;z-index:1000;display:grid;place-items:center;min-height:100vh;min-height:100dvh;
  padding:28px;overflow:auto;color:var(--text);
  background:
    radial-gradient(circle at 16% 4%,rgba(255,216,20,.22),transparent 34%),
    radial-gradient(circle at 91% 90%,rgba(255,216,20,.13),transparent 34%),
    linear-gradient(145deg,#050505 0%,#0B0A06 48%,#050505 100%);
}
.login-layout{position:relative;z-index:2;width:min(100%,930px);display:grid;grid-template-columns:minmax(0,1.55fr) minmax(305px,.8fr);align-items:stretch;gap:18px}
.hero-panel{border:1px solid rgba(255,216,20,.26);border-radius:20px;background:radial-gradient(circle at 88% 5%,rgba(255,216,20,.10),transparent 34%),linear-gradient(145deg,rgba(24,24,22,.98),rgba(5,5,5,.98) 76%);box-shadow:var(--shadow)}
.login-hero{min-height:545px;margin:0;padding:50px;display:flex;align-items:center}
.login-welcome{margin:0 0 16px;max-width:620px;color:#fff;font-size:clamp(46px,4.6vw,62px);font-weight:850;line-height:1.05;letter-spacing:-.025em}
.login-hero .hero-tagline{margin:0 0 8px;color:#fff;font-size:20px;font-weight:750;line-height:1.35}
.login-hero .hero-copy{max-width:610px;margin:0;color:#d9d9d9!important;font-size:14px!important;line-height:1.6}
.login-card{width:100%;min-height:545px;padding:24px;display:flex;flex-direction:column;justify-content:center;border:1px solid rgba(255,216,20,.38);border-radius:20px;background:rgba(16,16,16,.97);color:#fff;box-shadow:0 30px 100px rgba(0,0,0,.55);backdrop-filter:blur(20px)}
.login-brand-text{margin-bottom:24px}.login-brand-text strong,.login-brand-text span{display:block}.login-brand-text strong{font-size:18px;line-height:1.15}.login-brand-text span{margin-top:5px;color:#c3c3c3;font-size:11px}
.login-heading .eyebrow{margin:0 0 12px;color:var(--accent);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.1em}
.login-heading h2{margin:0 0 14px;color:#fff;font-size:clamp(34px,3vw,44px);font-weight:850;line-height:1.08;letter-spacing:-.035em}.login-heading>p:last-child{margin:0 0 22px;color:#d3d3d3;font-size:13px;line-height:1.55}
.login-form{gap:13px}.login-form label{font-size:12px;color:#fff;font-weight:750}.login-form input{min-height:44px;padding:10px 12px;border:1px solid rgba(255,255,255,.24);border-radius:10px;background:#0b0b0b;color:#fff}.login-form input:focus{outline:0;border-color:rgba(255,216,20,.72);box-shadow:0 0 0 3px rgba(255,216,20,.12)}
.login-submit{width:100%;min-height:44px;margin-top:4px;border:0;border-radius:10px;background:linear-gradient(135deg,#FFD814,#FFE568);color:#080808;font-weight:900;box-shadow:0 10px 25px rgba(255,216,20,.22)}.login-submit:hover{filter:brightness(1.04);transform:translateY(-1px)}
.login-register{margin:16px 0 0;text-align:center;color:#c8c8c8;font-size:12px}.login-register a{color:var(--accent);font-weight:800;text-decoration:none}.login-register a:hover{text-decoration:underline}
.autofill-trap{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.login-orbit{position:fixed;border:1px solid rgba(255,216,20,.16);border-radius:50%;pointer-events:none}.login-orbit-one{width:480px;height:480px;top:-195px;right:-125px}.login-orbit-two{width:620px;height:620px;bottom:-345px;left:-370px}
.orysma-login-emblem{position:fixed;top:72px;right:42px;z-index:3;width:clamp(132px,10vw,178px);aspect-ratio:1;display:grid;place-items:center;pointer-events:none;animation:orysma-logo-float 7s ease-in-out infinite;filter:drop-shadow(0 18px 36px rgba(0,0,0,.42))}
.orysma-login-emblem::before{content:"";position:absolute;inset:-13px;border-radius:50%;border:1px solid rgba(255,216,20,.34);border-top-color:rgba(238,178,64,.80);border-right-color:rgba(55,185,198,.54);box-shadow:inset 0 0 32px rgba(255,216,20,.04),0 0 34px rgba(255,216,20,.10);animation:orysma-orbit-spin 22s linear infinite}
.orysma-login-emblem::after{content:"";position:absolute;top:4px;left:17%;width:7px;height:7px;border-radius:50%;background:rgba(238,178,64,.98);box-shadow:0 0 15px rgba(238,178,64,.78),118px 92px 0 rgba(55,185,198,.9);animation:orysma-orbit-pulse 4.8s ease-in-out infinite}
.orysma-login-emblem img{position:relative;z-index:1;display:block;width:88%;height:88%;object-fit:contain;opacity:.96;filter:drop-shadow(0 0 13px rgba(124,92,232,.25));animation:orysma-logo-breathe 5.6s ease-in-out infinite}
@keyframes orysma-logo-float{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-9px,0)}}
@keyframes orysma-orbit-spin{to{transform:rotate(360deg)}}
@keyframes orysma-orbit-pulse{0%,100%{opacity:.68;transform:scale(.92)}50%{opacity:1;transform:scale(1.18)}}
@keyframes orysma-logo-breathe{0%,100%{transform:scale(.985);opacity:.88}50%{transform:scale(1.025);opacity:1}}
.register-layout{align-items:center}.register-card{min-height:620px}.register-layout .login-hero{min-height:620px}
.login-screen .alert{margin:0 0 14px;padding:10px 12px;border-radius:10px;font-size:12px}.login-screen .alert.success{background:rgba(255,216,20,.12);color:#fff1a3;border:1px solid rgba(255,216,20,.24)}.login-screen .alert.error{background:rgba(255,90,90,.12);color:#ffadad;border:1px solid rgba(255,90,90,.24)}
@media(max-width:1180px){.orysma-login-emblem{top:32px;right:24px;width:132px}.orysma-login-emblem::after{box-shadow:0 0 15px rgba(238,178,64,.78),88px 70px 0 rgba(55,185,198,.9)}}
@media(max-width:980px){.login-layout{grid-template-columns:1fr;max-width:700px}.login-hero{min-height:310px}.login-card{min-height:auto}.register-layout .login-hero,.register-card{min-height:auto}.orysma-login-emblem{top:18px;right:18px;width:110px;opacity:.8}.orysma-login-emblem::before{inset:-9px}.orysma-login-emblem::after{box-shadow:0 0 15px rgba(238,178,64,.78),72px 58px 0 rgba(55,185,198,.9)}}
@media(max-width:700px){.orysma-login-emblem{display:none}.login-screen{padding:14px}.login-layout{gap:14px}.login-hero{min-height:260px;padding:28px 22px}.login-welcome{font-size:39px}.login-card{padding:24px 20px;border-radius:18px}.login-orbit{display:none}}
@media(prefers-reduced-motion:reduce){.orysma-login-emblem,.orysma-login-emblem::before,.orysma-login-emblem::after,.orysma-login-emblem img{animation:none!important}}
