:root{--bg:#040913;--panel:rgba(8,20,36,.69);--panel-solid:#0a1625;--text:#eef7ff;--muted:#83a0ba;--line:rgba(80,163,230,.19);--blue:#238eff;--cyan:#55c9ff;--danger:#ff5266;--success:#42dc9a;--shadow:0 30px 90px rgba(0,0,0,.42);color-scheme:dark;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
[data-theme=light]{--bg:#eaf3fb;--panel:rgba(255,255,255,.73);--panel-solid:#fff;--text:#0a1725;--muted:#587087;--line:rgba(20,95,160,.16);--shadow:0 25px 70px rgba(20,65,105,.14);color-scheme:light}
.globe-logo{position:relative;z-index:2;display:block;width:min(100%,700px);max-width:100%;max-height:100%;height:auto;object-fit:contain;filter:drop-shadow(0 0 18px rgba(16,124,255,.4));pointer-events:none}.hero-core .globe-logo{width:min(82%,700px);max-height:390px}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:radial-gradient(circle at 55% 25%,rgba(16,91,170,.22),transparent 36%),var(--bg);color:var(--text)}body{font-size:16px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a.button{cursor:pointer}#global-bg{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}.glass{background:linear-gradient(135deg,rgba(255,255,255,.045),transparent 48%),var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}.eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.2em;color:var(--cyan)}.muted{color:var(--muted)}h1,h2,p{margin-top:0}h1{font-size:clamp(1.65rem,3vw,2.7rem);margin-bottom:.3rem}h2{font-size:1.15rem}.primary{border:1px solid rgba(87,196,255,.55);background:linear-gradient(115deg,#0769d5,#22a4ff);box-shadow:0 8px 30px rgba(18,137,255,.25);color:#fff;border-radius:10px;padding:.9rem 1.15rem;font-weight:800;letter-spacing:.08em}.primary:hover{filter:brightness(1.12);transform:translateY(-1px)}.ghost-button{border:1px solid var(--line);padding:.7rem 1rem;border-radius:9px}.alert{position:relative;z-index:2;padding:.85rem 1rem;border-radius:10px;margin:0 0 1rem;border:1px solid}.alert.error{background:rgba(255,82,102,.09);border-color:rgba(255,82,102,.35);color:#ff9aa8}.alert.success{background:rgba(66,220,154,.09);border-color:rgba(66,220,154,.35);color:#86f2c0}label{display:flex;flex-direction:column;gap:.45rem;color:var(--muted);font-size:.86rem;font-weight:650}input,select,textarea{width:100%;border-radius:9px;border:1px solid var(--line);background:rgba(0,0,0,.16);color:var(--text);padding:.78rem .85rem;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(35,142,255,.12)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-grid h2{grid-column:1/-1;margin:1rem 0 0}.span-2{grid-column:1/-1}.install-page{display:grid;place-items:center;padding:3rem 1rem}.install-shell{position:relative;z-index:1;width:min(760px,100%);padding:2rem;border-radius:22px}.install-shell .primary{margin-top:1rem}.login-layout{position:relative;z-index:1;min-height:100vh;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;max-width:1280px;margin:auto;padding:3rem}.login-brand{text-align:center}.login-card{width:min(430px,100%);padding:2rem;border-radius:22px}.login-card form{display:grid;gap:1rem}.login-card button{margin-top:.4rem}.security-note{margin-top:1.2rem;color:var(--muted);font-size:.8rem;text-align:center}.security-note span{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--success);box-shadow:0 0 12px var(--success)}.system-label{font-size:clamp(2rem,5vw,4rem);font-weight:900;letter-spacing:.13em;background:linear-gradient(#fff,#637b90);background-clip:text;color:transparent}.system-sub{font-size:.75rem;letter-spacing:.45em;color:var(--cyan)}.globe-stage{position:relative;width:min(540px,90vw);aspect-ratio:1;display:grid;place-items:center;margin:auto}.globe-stage canvas{position:absolute}.globe-core{position:relative;z-index:2;font-size:clamp(2.6rem,7vw,5.8rem);font-weight:1000;font-style:italic;letter-spacing:-.12em;background:linear-gradient(135deg,#eaf8ff 20%,#359eff 47%,#122943 70%);background-clip:text;color:transparent;filter:drop-shadow(0 0 18px rgba(39,145,255,.75));transform:translateX(-.05em)}.app-page{display:flex;min-height:100vh}.sidebar{position:fixed;z-index:10;inset:1rem auto 1rem 1rem;width:245px;border-radius:18px;padding:1rem;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:.7rem;padding:.35rem .2rem 1rem;font-size:1.05rem;font-weight:900;letter-spacing:.08em}.brand small{color:var(--cyan)}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1px solid rgba(83,193,255,.5);background:radial-gradient(circle,#168cff 0 10%,#08182b 12% 55%,#168cff 57% 59%,transparent 61%);font-size:.78rem;box-shadow:0 0 22px rgba(29,142,255,.24)}.sidebar nav{display:grid;gap:.35rem;margin-top:1rem}.sidebar nav a,.admin-link,.logout{display:flex;align-items:center;gap:.75rem;padding:.8rem;border-radius:9px;color:var(--muted);font-weight:650}.sidebar nav a.active,.sidebar nav a:hover,.admin-link:hover{color:var(--text);background:rgba(35,142,255,.11);box-shadow:inset 3px 0 var(--blue)}.sidebar nav em{margin-left:auto;font-size:.6rem;font-style:normal;opacity:.5}.admin-link{margin-top:auto}.logout{font-size:.8rem}.main-content{position:relative;z-index:1;width:calc(100% - 278px);margin-left:278px;padding:1.5rem 1.5rem 3rem}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.top-actions,.user-chip{display:flex;align-items:center;gap:.75rem}.theme-toggle,.menu-toggle{border:1px solid var(--line);background:var(--panel);color:var(--text);width:42px;height:42px;border-radius:10px}.menu-toggle{display:none}.user-chip>span{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#1878db,#51c8ff);font-weight:900}.user-chip div{display:grid}.user-chip small{font-size:.62rem;letter-spacing:.12em;color:var(--cyan)}.dashboard-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem}.hero-core{grid-column:span 8;min-height:440px;border-radius:18px;position:relative;overflow:hidden}.hero-core .globe-stage{height:420px}.hero-copy{position:absolute;left:1.5rem;bottom:1.5rem;display:grid}.hero-copy strong{font-size:2rem}.hero-copy span{color:var(--muted);font-size:.8rem}.quick-actions{grid-column:span 4;border-radius:18px;padding:1.25rem;display:flex;flex-direction:column;gap:.75rem}.quick-actions .eyebrow{margin-bottom:.5rem}.quick-actions button{border:1px solid var(--line);background:rgba(255,255,255,.025);color:var(--muted);border-radius:10px;padding:.9rem;text-align:left}.quick-actions .button{text-align:center}.stat-card{grid-column:span 4;border-radius:16px;padding:1.2rem;display:grid}.stat-card span,.stat-card small{color:var(--muted)}.stat-card strong{font-size:2rem;margin:.45rem 0}.stat-card.warning strong{color:#ff9a5c}.entities-panel{grid-column:1/-1;border-radius:18px;padding:1.3rem}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.section-heading h2{margin:.25rem 0}.section-heading>span{color:var(--muted);font-size:.8rem}.entity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.entity-grid article{display:flex;align-items:center;gap:.75rem;border:1px solid var(--line);background:rgba(255,255,255,.025);padding:1rem;border-radius:12px}.entity-dot{width:10px;height:10px;border-radius:50%;background:var(--entity);box-shadow:0 0 12px var(--entity)}.entity-grid article div{display:grid}.entity-grid small{color:var(--muted);margin-top:.25rem}.entity-grid i{margin-left:auto;color:var(--entity);font-size:1.5rem}.client-form,.data-panel{padding:1.5rem;border-radius:18px}.client-form fieldset{border:1px solid var(--line);border-radius:12px;margin:1.4rem 0;padding:1rem}.client-form legend{padding:0 .5rem;color:var(--cyan);font-weight:700}.entity-checks{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem}.entity-checks label{display:flex;flex-direction:row;align-items:center;border:1px solid var(--line);border-radius:9px;padding:.8rem}.entity-checks input{width:auto}.entity-checks span{width:9px;height:9px;background:var(--entity);box-shadow:0 0 10px var(--entity);border-radius:50%}.form-actions{text-align:right}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;min-width:760px}th,td{text-align:left;padding:.9rem;border-bottom:1px solid var(--line)}th{font-size:.7rem;letter-spacing:.12em;color:var(--muted)}td small{display:block;color:var(--muted);margin-top:.25rem}.empty-state{display:grid;place-items:center;gap:.5rem;padding:4rem;color:var(--muted)}.empty-state strong{color:var(--text)}.admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.admin-grid>div{display:grid;padding:1rem;border:1px solid var(--line);border-radius:12px}.admin-grid span{color:var(--muted);margin-top:.4rem}.online{color:var(--success)!important}.boot-overlay{position:fixed;z-index:99;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#02060d;color:#fff;opacity:0;visibility:hidden;transition:opacity .55s}.boot-overlay.active{opacity:1;visibility:visible}.boot-overlay strong{font-size:clamp(1.4rem,5vw,3.5rem);letter-spacing:.15em}.boot-overlay span{color:var(--cyan);font-size:.75rem;letter-spacing:.35em;margin-top:1rem}.scan-line{position:absolute;width:100%;height:2px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);box-shadow:0 0 25px var(--blue);animation:scan 1.7s linear infinite}@keyframes scan{from{top:5%}to{top:95%}}
@media(max-width:950px){.login-layout{grid-template-columns:1fr;padding:1rem}.login-brand .globe-stage{width:min(360px,80vw)}.system-label{font-size:2rem}.login-card{margin:auto}.sidebar{transform:translateX(-120%);transition:.3s}.menu-open .sidebar{transform:none}.main-content{width:100%;margin:0;padding:1rem}.menu-toggle{display:block}.hero-core{grid-column:1/-1}.quick-actions{grid-column:1/-1}.entity-grid{grid-template-columns:1fr 1fr}.topbar{align-items:flex-start}.user-chip div{display:none}}
@media(max-width:620px){.form-grid,.entity-checks,.admin-grid{grid-template-columns:1fr}.span-2,.form-grid h2{grid-column:auto}.stat-card{grid-column:1/-1}.entity-grid{grid-template-columns:1fr}.hero-core{min-height:370px}.hero-core .globe-stage{height:340px}.hero-copy strong{font-size:1.5rem}.topbar h1{font-size:1.45rem}.section-heading{align-items:flex-start;gap:1rem}.install-shell,.client-form,.data-panel{padding:1rem}.system-sub{letter-spacing:.23em}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.scan-line{animation:none}}

/* Connexion mobile : aucun calque décoratif ne doit intercepter les touchers. */
.login-page .login-brand,
.login-page .globe-stage,
.login-page .globe-wrap,
.login-page .globe-stage canvas,
.login-page .globe-stage img,
.login-page #global-bg{pointer-events:none!important;touch-action:none}
.login-page .login-card{position:relative;z-index:30;pointer-events:auto;isolation:isolate}
.login-page .login-card form,
.login-page .login-card label,
.login-page .login-card input,
.login-page .login-card button{position:relative;z-index:31;pointer-events:auto;touch-action:manipulation}
.login-page .login-card input{font-size:16px;-webkit-user-select:text;user-select:text;-webkit-appearance:none;appearance:none}
.login-page .boot-overlay{pointer-events:none}
.login-page .boot-overlay.active{pointer-events:auto}
@media(max-width:950px){
  .login-page .login-layout{display:flex;flex-direction:column;justify-content:center;gap:.5rem;min-height:100svh}
  .login-page .login-brand{width:100%;flex:0 0 auto}
  .login-page .login-card{flex:0 0 auto}
}
@media(max-width:620px){
  .login-page .login-brand .globe-stage{width:min(250px,68vw)}
  .login-page .login-card{padding:1.25rem}
}

/* Multilayer animated brand scene. */
.globe-stage.logo-scene{position:relative;width:min(700px,90vw);height:auto;aspect-ratio:1.5;display:block;overflow:visible;padding:0}
.hero-core .globe-stage.logo-scene{width:min(720px,100%);height:auto;aspect-ratio:1.5;margin:-.3rem auto 0}
.logo-scene .globe-wrap{position:absolute;z-index:1;left:50%;top:0;width:58%;aspect-ratio:1;transform:translateX(-50%);filter:drop-shadow(0 0 22px rgba(15,126,255,.38))}
.logo-scene .globe-shell,.logo-scene .globe-motion{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}
.logo-scene .globe-shell{z-index:1}.logo-scene .globe-motion{z-index:2}
.logo-scene .dg-layer{position:absolute;z-index:4;left:50%;top:15%;width:69%;height:auto;transform:translateX(-50%);filter:drop-shadow(0 0 13px rgba(0,126,255,.42));pointer-events:none}
.logo-scene .wordmark-layer{position:absolute;z-index:5;left:50%;bottom:0;width:94%;height:auto;transform:translateX(-50%);filter:drop-shadow(0 0 10px rgba(0,126,255,.28));pointer-events:none}
.logo-scene .orbit-layer{position:absolute!important;inset:0;width:100%!important;height:100%!important;pointer-events:none}
.logo-scene .orbit-back{z-index:0}.logo-scene .orbit-front{z-index:3}
.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.permission-grid label{display:flex;flex-direction:row;align-items:center;gap:.6rem;padding:.7rem;border:1px solid var(--line);border-radius:9px}.permission-grid input{width:auto}.privacy-note{padding:.85rem 1rem;border-left:3px solid var(--cyan);background:rgba(40,150,255,.07);color:var(--muted);font-size:.86rem}.access-card{display:grid;gap:.45rem;margin:0 0 1rem;padding:1rem;border:1px solid rgba(66,220,154,.4);border-radius:12px;background:rgba(66,220,154,.08)}.access-card code{user-select:all;font-size:1rem;color:#fff}.compact-form{margin-bottom:1rem}.compact-form .eyebrow{margin-bottom:1rem}.timeline{display:grid;gap:.65rem}.timeline article{display:grid;grid-template-columns:145px 1fr;gap:1rem;padding:1rem;border-left:3px solid var(--entity);background:rgba(255,255,255,.025);border-radius:8px}.timeline article div{display:grid}.timeline span{color:var(--muted);margin-top:.25rem}.booking-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.booking-grid article{padding:1rem;border:1px solid var(--line);border-top:3px solid var(--entity);border-radius:12px;background:rgba(255,255,255,.025)}.booking-grid article>div{display:flex;justify-content:space-between;gap:.5rem}.booking-grid h3{margin:.8rem 0 .35rem}.booking-grid p{color:var(--muted)}.status{font-size:.72rem;padding:.3rem .5rem;border-radius:999px;background:rgba(83,180,255,.12);color:var(--cyan)}.status-booked{color:var(--success);background:rgba(66,220,154,.1)}.status-refused,.status-cancelled{color:#ff91a0;background:rgba(255,82,102,.1)}.file-tabs,.file-tools,.file-tools form{display:flex;gap:.6rem;align-items:center}.inline-select{max-width:360px;margin-bottom:1rem}.file-path{padding:.65rem .85rem;margin-bottom:1rem;border:1px solid var(--line);border-radius:8px;color:var(--cyan);font-family:ui-monospace,monospace}.file-tools{justify-content:space-between;flex-wrap:wrap;margin-bottom:1rem}.file-tools input{width:auto}.file-list{display:grid;gap:.4rem}.file-list>a{display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:.65rem;padding:.8rem;border:1px solid var(--line);border-radius:9px}.file-list>a:hover{background:rgba(35,142,255,.08)}.file-list small{color:var(--muted)}.admin-launcher{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1rem}.admin-launcher a{display:grid;gap:.35rem;padding:1rem;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.025)}.admin-launcher span{color:var(--muted);font-size:.85rem}.password-panel{max-width:720px;margin:auto}
@media(max-width:760px){.permission-grid,.booking-grid,.admin-launcher{grid-template-columns:1fr}.timeline article{grid-template-columns:1fr}.file-tools,.file-tools form{align-items:stretch;flex-direction:column}.file-tools input{width:100%}}
.toggle-line{display:flex;flex-direction:row;align-items:center}.toggle-line input{width:auto}
.card-action{display:inline-block;margin-top:.8rem;color:var(--cyan);font-size:.82rem;font-weight:700}
.nav-badge{margin-left:auto;display:grid;place-items:center;min-width:21px;height:21px;padding:0 5px;border-radius:999px;background:var(--danger);color:#fff;font-size:.7rem}.task-list,.message-list{display:grid;gap:.8rem}.task-item{padding:1rem;border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:12px;background:rgba(255,255,255,.025)}.task-item.task-done{border-left-color:var(--success);background:rgba(66,220,154,.045)}.task-item.task-tomorrow{border-left-color:#ffd24a;background:rgba(255,210,74,.045)}.task-item.task-today{border-left-color:var(--danger);background:rgba(255,82,102,.055)}.task-item.task-cancelled{border-left-color:#657587;opacity:.72}.task-head,.task-head>div,.task-status,.comments form{display:flex;align-items:center;gap:.65rem}.task-head{justify-content:space-between}.task-head small,.task-meta{color:var(--muted)}.task-item h3{margin:.9rem 0 .4rem}.task-meta{font-size:.78rem}.task-status{margin:1rem 0}.task-status select{width:auto}.comments{display:grid;gap:.55rem;border-top:1px solid var(--line);padding-top:.8rem}.comments>div{display:grid;gap:.2rem;padding:.65rem;background:rgba(0,0,0,.12);border-radius:8px}.comments small,.message-list small{color:var(--muted)}.comments form input{flex:1}.message-list article{display:grid;gap:.65rem;padding:1rem;border:1px solid var(--line);border-radius:11px}.message-list article.unread{border-left:4px solid var(--cyan);background:rgba(35,142,255,.07)}.message-list article>div{display:grid;gap:.25rem}.message-list article p{margin:0}.message-list article .ghost-button{justify-self:start}.payroll-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem}.payroll-grid article{display:flex;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid var(--line);border-radius:11px}.payroll-grid article div{display:grid;gap:.3rem}.payroll-grid small{color:var(--muted)}.payroll-grid b{color:var(--cyan)}
@media(max-width:760px){.payroll-grid{grid-template-columns:1fr}.task-head,.task-status,.comments form{align-items:stretch;flex-direction:column}.task-status select{width:100%}}
.dashboard-return{padding:.68rem .85rem;border:1px solid var(--line);border-radius:10px;color:var(--cyan);font-weight:750}.module-launcher{grid-column:1/-1;padding:1.2rem;border-radius:18px}.module-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem}.module-grid a{position:relative;display:flex;align-items:center;gap:.7rem;padding:1rem;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.025);transition:.2s}.module-grid a:hover{transform:translateY(-2px);border-color:rgba(85,201,255,.5);background:rgba(35,142,255,.09)}.module-grid a>span{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:rgba(35,142,255,.13);color:var(--cyan)}.module-grid a>b{position:absolute;right:.55rem;top:.45rem;min-width:20px;height:20px;padding:2px 5px;text-align:center;border-radius:999px;background:var(--danger);color:#fff;font-size:.7rem}.form-actions{display:flex;justify-content:flex-end;align-items:center;gap:.65rem;flex-wrap:wrap}.form-actions .ghost-button{background:transparent;color:var(--text)}
@media(max-width:760px){.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-return{font-size:0}.dashboard-return:first-letter{font-size:1rem}}
.module-grid a{box-shadow:inset 0 0 0 1px transparent}.module-grid a:hover{box-shadow:inset 0 0 24px color-mix(in srgb,var(--module-color) 18%,transparent),0 0 18px color-mix(in srgb,var(--module-color) 12%,transparent)}.module-grid a>span{color:var(--module-color);box-shadow:0 0 18px color-mix(in srgb,var(--module-color) 20%,transparent)}
.module-transition{position:fixed;z-index:999;inset:0;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at center,rgba(8,55,105,.94),#01040a 58%);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .14s}.module-transition.active{opacity:1;visibility:visible}.transition-grid{position:absolute;inset:-30%;background-image:linear-gradient(rgba(58,172,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(58,172,255,.12) 1px,transparent 1px);background-size:42px 42px;transform:perspective(500px) rotateX(64deg) translateY(24%);animation:grid-rush .8s ease-in forwards}.energy-ring{position:absolute;width:min(62vw,620px);aspect-ratio:1;border:1px solid rgba(91,210,255,.65);border-radius:50%;box-shadow:0 0 35px rgba(24,145,255,.45),inset 0 0 35px rgba(24,145,255,.2)}.energy-ring:before,.energy-ring:after{content:"";position:absolute;inset:8%;border:2px dashed rgba(80,198,255,.42);border-radius:50%}.ring-one{animation:ring-one .8s cubic-bezier(.2,.8,.2,1) forwards}.ring-two{width:min(44vw,440px);border-style:dashed;animation:ring-two .8s cubic-bezier(.2,.8,.2,1) forwards}.energy-core{position:relative;z-index:2;display:grid;place-items:center;gap:.7rem;text-align:center}.energy-core span{font-size:.7rem;letter-spacing:.55em;color:var(--cyan)}.energy-core strong{font-size:clamp(1.2rem,4vw,3.4rem);letter-spacing:.16em;text-transform:uppercase;text-shadow:0 0 25px #168cff;animation:core-lock .75s ease both}.energy-core i{display:block;width:180px;height:2px;background:linear-gradient(90deg,transparent,#fff,transparent);box-shadow:0 0 22px #168cff;animation:line-charge .7s ease both}.transition-scan{position:absolute;inset:0;background:linear-gradient(transparent 48%,rgba(103,218,255,.55) 50%,transparent 52%);transform:translateY(-100%);animation:module-scan .75s linear forwards}@keyframes ring-one{0%{transform:scale(2.2) rotate(0);opacity:0}35%{opacity:1}100%{transform:scale(.62) rotate(150deg);opacity:.85}}@keyframes ring-two{0%{transform:scale(.1) rotate(180deg);opacity:0}100%{transform:scale(1.45) rotate(-90deg);opacity:.65}}@keyframes grid-rush{from{background-size:100px 100px;opacity:0}to{background-size:24px 24px;opacity:1}}@keyframes core-lock{0%{opacity:0;filter:blur(16px);transform:scale(1.4)}45%{opacity:1}100%{filter:blur(0);transform:scale(1)}}@keyframes line-charge{from{width:0;opacity:0}to{width:min(60vw,360px);opacity:1}}@keyframes module-scan{to{transform:translateY(100%)}}
body.module-arrival .main-content{animation:module-arrival .55s cubic-bezier(.16,.84,.3,1) both}@keyframes module-arrival{from{opacity:0;filter:blur(10px);transform:translateY(18px) scale(.985)}to{opacity:1;filter:blur(0);transform:none}}
.profile-card{max-width:920px;margin:auto}.master-profile-link{display:flex;justify-content:flex-end;margin-bottom:.7rem}.payment-choice{display:flex;flex-direction:row;align-items:center;gap:.7rem;padding:1rem;border:1px solid var(--line);border-radius:11px;background:rgba(35,142,255,.045)}.payment-choice input{width:auto}.payment-choice small{margin-left:auto}.bank-fields{display:none;padding:1rem;border:1px solid rgba(85,201,255,.24);border-radius:12px;background:rgba(35,142,255,.04)}.bank-fields.active{display:block}
@media(prefers-reduced-motion:reduce){.module-transition{display:none}.module-grid a:hover{transform:none}}
.contact-grid,.brand-grid,.module-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.contact-grid article{display:flex;gap:.8rem;padding:1rem;border:1px solid var(--line);border-radius:12px}.contact-grid article>span{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:rgba(35,142,255,.15);color:var(--cyan);font-weight:900}.contact-grid article>div{display:grid;gap:.28rem}.contact-grid small,.contact-grid a{color:var(--muted);font-size:.8rem}.split-panels{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.catalog-row{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--line)}.catalog-row div{display:grid}.catalog-row small{color:var(--muted)}.catalog-row b{color:var(--cyan)}.checklist-grid{display:grid;gap:.55rem}.checklist-grid label{display:grid;grid-template-columns:24px 1fr 100px 130px;align-items:center;gap:.6rem;padding:.65rem;border:1px solid var(--line);border-radius:9px}.checklist-grid input[type=checkbox]{width:auto}.paper-document{max-width:920px;margin:0 auto 1rem;background:#fff;color:#101923;padding:44px;min-height:1050px;box-shadow:0 24px 70px rgba(0,0,0,.4)}.paper-document header{display:flex;justify-content:space-between;gap:2rem;border-bottom:2px solid #239cff;padding-bottom:1.5rem}.paper-document header>div{display:grid;max-width:42%;font-size:.8rem}.paper-document header img{max-width:220px;max-height:110px;object-fit:contain}.document-meta{display:flex;justify-content:space-between;margin:2rem 0}.document-meta>div{display:grid;gap:.25rem}.document-total{display:flex;justify-content:flex-end;gap:2rem;padding:1.2rem;font-size:1.3rem}.brand-card,.module-admin-grid article,.module-admin-grid form{display:grid;gap:.65rem;padding:1rem;border:1px solid var(--line);border-radius:12px}.brand-card img{width:100%;height:130px;object-fit:contain;background:rgba(255,255,255,.04);border-radius:8px}.brand-grid{margin-top:1rem}.receipt-list{display:grid;gap:.7rem}.receipt-list article{display:grid;grid-template-columns:1fr auto auto;gap:.8rem;align-items:center;padding:1rem;border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:11px}.receipt-list article>div{display:grid}.receipt-list small{color:var(--muted)}.receipt-to_return{border-left-color:#ffb347!important}.receipt-returned{border-left-color:#ffd447!important}.receipt-locked{border-left-color:var(--success)!important}.receipt-list form{grid-column:1/-1;display:flex;gap:.6rem}.receipt-list form input{max-width:220px}.module-admin-grid{margin:1rem 0}.module-admin-grid form span,.module-admin-grid article span{color:var(--muted)}
@media(max-width:900px){.contact-grid,.brand-grid,.module-admin-grid{grid-template-columns:1fr 1fr}.split-panels{grid-template-columns:1fr}.checklist-grid label{grid-template-columns:24px 1fr}.receipt-list article{grid-template-columns:1fr}.paper-document{padding:24px;min-height:auto}}
@media(max-width:620px){.contact-grid,.brand-grid,.module-admin-grid{grid-template-columns:1fr}.paper-document header{flex-direction:column}.paper-document header>div{max-width:100%}}
@media print{body{background:#fff!important}.sidebar,.topbar,#global-bg,.no-print,.module-transition{display:none!important}.main-content{margin:0!important;padding:0!important;width:100%!important}.paper-document{box-shadow:none;margin:0;max-width:none;min-height:0;padding:12mm}.paper-document table{min-width:0}}
.password-reset-card{display:grid;grid-template-columns:1fr minmax(240px,360px) auto;align-items:center;gap:1rem;padding:1rem;margin-bottom:1rem;border-radius:12px}.password-reset-card div{display:grid}.password-reset-card small{color:var(--muted);margin-top:.25rem}@media(max-width:760px){.password-reset-card{grid-template-columns:1fr}}
.hero-core .hero-copy{bottom:18px!important;top:auto!important;z-index:12;background:linear-gradient(90deg,rgba(2,10,24,.92),rgba(2,10,24,.55),transparent);padding:14px 22px;border-radius:14px;max-width:72%}
.hero-core{min-height:540px}.hero-core .hero-copy{bottom:8px!important}.entity-module-grid img{width:48px;height:48px;object-fit:contain;filter:drop-shadow(0 0 12px var(--module-color))}.energy-core>img{width:150px;height:110px;object-fit:contain;filter:drop-shadow(0 0 28px #168cff);margin-bottom:.5rem}.energy-core>img[hidden]{display:none}.accounting-export{display:flex;gap:.7rem;align-items:center;flex-wrap:wrap;padding:1rem;margin-bottom:1rem}.accounting-export select,.accounting-export input{width:auto}.danger{color:#ff8192;border-color:rgba(255,82,102,.35)}
.calendar-view-picker{display:flex;gap:.4rem;margin:0 0 1rem}.calendar-view-picker button{border:1px solid var(--line);background:transparent;color:var(--muted);padding:.55rem .8rem;border-radius:8px}.calendar-view-picker button.active{background:rgba(35,142,255,.18);color:var(--cyan)}.timeline.calendar-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.timeline.calendar-grid article{grid-template-columns:1fr}.timeline.calendar-list article{grid-template-columns:115px 1fr;padding:.65rem}.timeline.calendar-list article div span{display:none}@media(max-width:850px){.timeline.calendar-grid{grid-template-columns:1fr}}
.mail-actions{display:flex;gap:10px;flex-wrap:wrap}.mail-list{display:grid;gap:8px;margin-top:22px}.mail-row{display:grid;grid-template-columns:10px minmax(140px,.7fr) minmax(220px,1.5fr) auto;gap:16px;align-items:center;padding:16px 18px;border:1px solid rgba(91,195,255,.15);border-radius:14px;background:rgba(3,15,31,.52);color:inherit;text-decoration:none;transition:.25s}.mail-row:hover{transform:translateX(6px);border-color:#42bfff;box-shadow:0 0 28px rgba(66,191,255,.12)}.mail-row.unread{background:linear-gradient(90deg,rgba(30,151,255,.18),rgba(3,15,31,.62));font-weight:700}.mail-signal{width:7px;height:7px;border-radius:50%;background:#294b68}.mail-row.unread .mail-signal{background:#42bfff;box-shadow:0 0 14px #42bfff}.mail-reader pre{white-space:pre-wrap;font:inherit;line-height:1.65;background:rgba(0,8,20,.55);padding:24px;border-radius:16px}.event-status{display:inline-flex;margin-left:8px;padding:4px 8px;border-radius:999px;font-size:9px;letter-spacing:.12em}.event-status.confirmed{color:#73ffbd;background:rgba(34,190,117,.14)}.event-status.provisional{color:#ffd15c;background:rgba(255,193,67,.13)}.next-deadline{border-color:rgba(66,191,255,.5)!important}.financial-terms{padding:14px;border:1px solid rgba(66,191,255,.15);border-radius:14px}
@media(max-width:760px){.mail-row{grid-template-columns:10px 1fr}.mail-row time{grid-column:2}.hero-core .hero-copy{max-width:94%;left:3%!important;right:auto!important}}
.entity-hero{display:flex;align-items:center;gap:30px;padding:30px;border-color:color-mix(in srgb,var(--entity) 45%,transparent);overflow:hidden;position:relative}.entity-hero:after{content:"";position:absolute;inset:-80%;background:conic-gradient(transparent,var(--entity),transparent 18%);opacity:.08;animation:spin 9s linear infinite}.entity-hero>*{position:relative;z-index:1}.entity-hero img{width:180px;height:130px;object-fit:contain;filter:drop-shadow(0 0 25px color-mix(in srgb,var(--entity) 50%,transparent))}.entity-monogram{width:120px;height:120px;border:1px solid var(--entity);border-radius:50%;display:grid;place-items:center;font-size:34px;box-shadow:0 0 35px color-mix(in srgb,var(--entity) 25%,transparent)}
.documentation-intro{margin-bottom:1rem;overflow:hidden;position:relative}.documentation-intro:after{content:"";position:absolute;width:280px;height:280px;right:-110px;top:-150px;border:1px solid rgba(85,201,255,.38);border-radius:50%;box-shadow:0 0 55px rgba(35,142,255,.2)}.documentation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.documentation-card{position:relative;display:grid;grid-template-columns:74px 1fr;gap:1rem;padding:1.35rem;border:1px solid var(--line);border-radius:16px;background:linear-gradient(135deg,rgba(35,142,255,.1),rgba(255,255,255,.02));overflow:hidden}.documentation-icon{display:grid;place-items:center;width:70px;height:90px;border:1px solid rgba(85,201,255,.45);border-radius:10px;background:rgba(3,15,31,.72);color:var(--cyan);font-size:1.6rem;box-shadow:0 0 28px rgba(35,142,255,.16)}.documentation-card h2{margin:.15rem 0 .55rem}.documentation-card p{color:var(--muted);line-height:1.55}.documentation-actions{grid-column:1/-1;display:flex;gap:.65rem;flex-wrap:wrap}.documentation-actions a{flex:1;text-align:center}.documentation-note{margin-top:1rem;color:var(--muted)}@media(max-width:760px){.documentation-grid{grid-template-columns:1fr}.documentation-card{grid-template-columns:58px 1fr}.documentation-icon{width:56px;height:72px}.documentation-actions a{flex-basis:100%}}
.task-filter{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.task-filter label{min-width:230px}.task-type{display:inline-flex;margin-left:8px;padding:.22rem .55rem;border:1px solid rgba(75,207,255,.3);border-radius:999px;color:#8edfff;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.task-attachments{margin-top:14px;padding:14px;border:1px solid rgba(100,190,255,.14);border-radius:14px;background:rgba(3,13,26,.35)}.task-file{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid rgba(100,190,255,.1)}.task-file>a{overflow-wrap:anywhere}.task-file form{margin:0}.task-file-upload{display:flex;align-items:center;gap:10px;margin-top:12px}.task-file-upload input[type=file]{min-width:0;flex:1}@media(max-width:680px){.task-file{grid-template-columns:1fr}.task-file-upload{align-items:stretch;flex-direction:column}.task-filter,.task-filter label{width:100%}}
/* Navigation de la barre latérale sur les fenêtres courtes ou non maximisées. */
.sidebar{max-height:calc(100vh - 2rem);overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(82,216,255,.45) transparent}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-thumb{background:rgba(82,216,255,.45);border-radius:99px}.sidebar nav{min-height:0;flex:0 0 auto}.sidebar .admin-link,.sidebar .logout{flex:0 0 auto;margin-top:1rem}
.mail-bulk-panel{margin-bottom:1rem;padding:1rem 1.2rem}.mail-bulk-panel .section-heading{align-items:center}.mail-select-all{display:flex;align-items:center;gap:.5rem;white-space:nowrap;color:var(--cyan);font-weight:700}.mail-select-all input,.mail-bulk-list input{width:auto}.mail-bulk-list{display:grid;gap:.35rem;max-height:260px;overflow:auto;margin:.8rem 0;padding:.5rem;border:1px solid var(--line);border-radius:10px}.mail-bulk-list label{display:grid;grid-template-columns:24px minmax(0,1fr) minmax(140px,.7fr);gap:.6rem;align-items:center;padding:.55rem .65rem;border-radius:7px}.mail-bulk-list label:hover{background:rgba(35,142,255,.08)}.mail-bulk-list small{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:680px){.mail-bulk-list label{grid-template-columns:24px 1fr}.mail-bulk-list small{grid-column:2}}
