:root{--bleu-fonce: #003b5c;--vert: #00b140;--blanc: #ffffff;--gris-clair: #f4f4f4}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}body{font-family:Calibri,Helvetica,Arial,sans-serif;background-color:var(--gris-clair);color:var(--bleu-fonce)}.sidebar-left{position:fixed;top:0;left:0;height:100vh;width:70px;background-color:var(--bleu-fonce);display:flex;flex-direction:column;align-items:center;padding:20px 0;transition:width .3s ease;z-index:1000}.sidebar-left.open{width:200px}.toggle-btn{background:none;border:none;color:var(--blanc);cursor:pointer;font-size:1.4rem;margin-bottom:20px;transition:transform .3s}.toggle-btn:hover{color:var(--vert);transform:rotate(90deg)}.menu-items{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;flex-grow:1;gap:20px}.menu-item{background:transparent;border:none;color:var(--blanc);display:flex;align-items:center;gap:10px;width:100%;padding:10px 15px;cursor:pointer;transition:all .3s ease;font-size:12px}.menu-item:hover{background:#ffffff1a;color:var(--vert)}.menu-item.active{background:var(--vert);color:#fff;font-weight:700;border-left:4px solid white;box-shadow:inset 0 0 5px #0000004d}.menu-item.active:hover{background:var(--vert);color:#fff}.menu-item i{font-size:1.3rem;width:30px;text-align:center}.menu-item .label{opacity:0;transition:opacity .3s,transform .3s;white-space:nowrap;transform:translate(-10px)}.sidebar-left.open .menu-item .label{opacity:1;transform:translate(0)}.main-container{margin-left:70px;display:flex;flex-direction:column;height:100vh;transition:margin-left .3s}.sidebar-left.open+.main-container{margin-left:200px}.sidebar-overlay{position:fixed;inset:0;background:#00000073;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;z-index:800}.sidebar-overlay.visible{opacity:1;visibility:visible}.header-top{height:60px;background-color:var(--blanc);display:flex;align-items:center;justify-content:space-between;padding:0 20px;box-shadow:0 2px 4px #0000001a;z-index:900}.header-left img{height:45px;width:auto;max-width:130px;object-fit:contain;background:#8fbc8f;border-radius:15px;padding:5px}.header-center{text-align:center;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center}.header-center h1{font-size:1.6rem;color:var(--bleu-fonce);display:flex;align-items:center;gap:10px;font-weight:600;margin-bottom:5px}.emoji-bonjour{color:var(--vert);font-size:1.8rem;animation:wave 1.8s ease-in-out infinite;transform-origin:70% 70%}@keyframes wave{0%{transform:rotate(0)}10%{transform:rotate(14deg)}20%{transform:rotate(-8deg)}30%{transform:rotate(14deg)}40%{transform:rotate(-4deg)}50%{transform:rotate(10deg)}60%{transform:rotate(0)}to{transform:rotate(0)}}.header-center .sous-titre{font-size:.95rem;color:#555;font-style:italic}@media(max-width:768px){.header-center h1{font-size:1.3rem}.header-center .sous-titre{font-size:.85rem}}@media(max-width:480px){.header-center h1{font-size:1.1rem}.emoji-bonjour{font-size:1.5rem}}.header-right{display:flex;align-items:center;gap:15px}.header-right button{background:none;border:none;cursor:pointer;color:var(--bleu-fonce);font-size:1.2rem;transition:color .2s}.header-right button:hover{color:var(--vert)}.btn-publier{background-color:var(--vert);color:var(--blanc);border:none;padding:8px 16px;border-radius:8px;cursor:pointer;font-weight:700;transition:background .2s}.btn-publier:hover{background-color:#009e35}.btn-admin{background-color:var(--bleu-fonce);color:var(--blanc);border:none;padding:8px 16px;border-radius:8px;cursor:pointer;font-weight:700;transition:background .2s;display:flex;align-items:center;gap:5px}.btn-admin:hover{background-color:#002a45}.fab-publish{display:none;position:fixed;right:18px;bottom:18px;z-index:1200;background:var(--vert);color:var(--blanc);border:none;padding:12px 16px;border-radius:28px;box-shadow:0 6px 18px #0003;font-weight:700}.fab-publish:active{transform:translateY(1px)}.mobile-toggle{display:none;background:var(--bleu-fonce);color:#fff;border:none;padding:8px;border-radius:8px;position:fixed;left:2px;top:2px;z-index:1200}@media(max-width:1024px){.sidebar-left{width:60px}.sidebar-left.open{width:180px}.main-container{margin-left:60px}.sidebar-left.open+.main-container{margin-left:180px}.header-left img{height:40px;max-width:110px}}@media(max-width:768px){.sidebar-left{flex-direction:column;width:220px;height:100vh;left:0;top:0;padding:20px 0;transform:translate(-100%);transition:transform .25s ease}.menu-items{flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:12px;padding-left:12px}.menu-item .label{display:inline-block}.main-container{margin-left:0}.header-top{flex-direction:row;gap:5px;height:60px;padding:8px 12px}.header-right{flex-wrap:nowrap}.btn-publier{display:none}.fab-publish{display:block}.sidebar-left.open{transform:translate(0);z-index:1100}.sidebar-left{z-index:1100}.sidebar-overlay{z-index:1050}.mobile-toggle{display:block}}@media(max-width:480px){.header-left img{height:35px}.btn-publier{padding:6px 12px;font-size:.9rem}.header-right button{font-size:1rem}}@media(max-width:1280px){.sidebar-left{width:64px}.sidebar-left.open{width:180px}.main-container{margin-left:64px}.sidebar-left.open+.main-container{margin-left:180px}.menu-item{padding:8px 12px;font-size:11px}.menu-item i{width:28px}.header-center h1{font-size:1.4rem}.header-center .sous-titre{font-size:.9rem}}@media(max-width:1024px){.menu-item .label{display:none}.sidebar-left{width:60px}.sidebar-left.open{width:160px}.main-container{margin-left:60px}.sidebar-left.open+.main-container{margin-left:160px}.header-center h1{font-size:1.25rem}.emoji-bonjour{font-size:1.6rem}}@media(max-width:768px){.menu-item{padding:8px;font-size:14px}.menu-item .label{font-size:13px}.main-container{margin-left:0}.header-top{padding:8px}.header-center h1{font-size:1rem}.header-center .sous-titre{font-size:.8rem}}@media(max-width:480px){.menu-item{font-size:13px}.menu-item i{font-size:1.1rem}.sidebar-left{height:56px}}@media(max-width:1024px){.sidebar-left{position:fixed;top:0;left:0;width:220px;height:100vh;transform:translate(-100%);transition:transform .25s ease;display:flex;flex-direction:column;align-items:flex-start;padding:20px 0;z-index:1100}.sidebar-left.open{transform:translate(0)}.menu-items{flex-direction:column;gap:5px;padding-left:2px;align-items:flex-start;padding-top:25px}.menu-item .label{display:inline-block;opacity:0;transform:translate(-10px);transition:opacity .2s,transform .2s;font-size:10px!important}.sidebar-left.open .menu-item .label{opacity:1;transform:translate(0)}.main-container{margin-left:0}.mobile-toggle{display:block}.toggle-btn{display:none}.sidebar-overlay{z-index:1050}}.apps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}.app-card{background-color:#a2a2a2;padding:15px;border-radius:10px;box-shadow:0 2px 6px #0000001a;text-align:center;transition:transform .2s,box-shadow .2s}.app-card:hover{transform:translateY(-5px);box-shadow:0 4px 12px #00000026}.app-logo{height:60px;object-fit:contain;margin-bottom:10px;width:auto;max-width:200px}.btn-open{display:inline-block;margin-top:10px;padding:6px 12px;background-color:var(--vert);color:var(--blanc);border-radius:6px;text-decoration:none;font-weight:700;transition:background .2s}.btn-open:hover{background-color:#009e35}.lang-switch{display:flex;gap:5px}.btn-lang{background:none;border:none;font-size:22px;cursor:pointer;transition:transform .2s,opacity .2s}.btn-lang:hover{transform:scale(1.2);opacity:.8}.btn-lang.active{border-bottom:2px solid #007bff}.main-content{padding:5px}.legal-btn{position:fixed;bottom:15px;right:15px;background-color:#2b7bff;color:#fff;border:none;padding:10px 14px;border-radius:8px;cursor:pointer;font-size:14px;z-index:1000;box-shadow:0 3px 8px #0003;transition:.2s}.legal-btn:hover{background-color:#1a5ed8}.legal-container{padding:40px 20px;max-width:900px;margin:0 auto;background-color:#f9f9f9;border-radius:12px;box-shadow:0 6px 18px #00000014;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;color:#333;line-height:1.7}.legal-container h2{color:#2b7bff;font-size:28px;margin-bottom:20px;border-bottom:2px solid #2b7bff;padding-bottom:6px}.legal-container h3{font-size:20px;margin-top:20px;margin-bottom:10px;color:#1a5ed8}.legal-container p{margin-bottom:20px;font-size:16px}.legal-container ul{margin-left:20px;margin-bottom:20px;list-style-type:disc}.legal-container li{margin-bottom:8px}.legal-container a{color:#2b7bff;text-decoration:none}.legal-container a:hover{text-decoration:underline}.legal-container strong{color:#222}.legal-container em{font-style:italic}@media(max-width:600px){.legal-container{padding:20px 10px}.legal-container h2{font-size:24px}.legal-container h3{font-size:18px}.legal-container p,.legal-container li{font-size:15px}}.animate-fadeIn{animation:fadeIn .25s ease-out}.menu-item{position:relative;display:flex;align-items:center;justify-content:center}.menu-item .tooltip{position:absolute;left:100%;top:50%;transform:translateY(-50%);background-color:#333;color:#fff;padding:6px 10px;border-radius:6px;white-space:nowrap;font-size:12px;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;margin-left:8px;z-index:100}.menu-item .tooltip:after{content:"";position:absolute;left:-5px;top:50%;transform:translateY(-50%);border-width:5px;border-style:solid;border-color:transparent #333 transparent transparent}.menu-item:hover .tooltip{opacity:1;transform:translateY(-50%) translate(0)}:root{--green: #00a877;--blue: #0d4b78;--bg: #f8fafc;--text-dark: #333;--radius: 14px;--shadow: 0 6px 20px rgba(0, 0, 0, .08)}.homepage-modern{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;background:var(--bg);align-items:start;animation:fadeIn 1s ease-in-out;box-sizing:border-box;padding:2rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.panels-column,.dates-section{display:flex;flex-direction:column;gap:1.2rem}.panel,.dates-section{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;transition:all .35s cubic-bezier(.23,1,.32,1);position:relative;border:2px solid transparent;height:auto}.panel:hover{box-shadow:0 12px 35px #0000001f;border-color:var(--green);transform:translateY(-2px)}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.2rem;background:linear-gradient(135deg,var(--green) 0%,var(--blue) 100%);color:#fff;font-weight:700;font-size:1.05rem;cursor:pointer;transition:all .3s ease}.panel-header:hover{filter:brightness(1.08);transform:translate(2px)}.panel-header h3{margin:0;display:flex;align-items:center;gap:.8rem;font-size:1.1rem}.panel-header .arrow{font-size:.9rem;transition:transform .35s cubic-bezier(.23,1,.32,1)}.panel.open .panel-header .arrow{transform:rotate(180deg)}.panel-content{max-height:0;overflow:hidden;transition:max-height .35s cubic-bezier(.23,1,.32,1),padding .3s ease;background:linear-gradient(to bottom,#f7f9fb,#fafbfc);padding:0}.panel.open .panel-content{max-height:800px;padding:1.2rem;overflow-y:auto}.panel-content ul,.dates-section ul{list-style:none;margin:0;padding:0}.panel-content li,.dates-section li{position:relative;margin-left:2rem;color:var(--text-dark);font-size:.95rem;transition:all .3s ease;border-left:3px solid transparent;padding:.8rem 0 .8rem 1rem}.panel-content li:before,.dates-section li:before{content:"";position:absolute;left:-2rem;top:1.2rem;transform:translateY(-50%);width:12px;height:12px;background:linear-gradient(135deg,var(--green),#00d4a8);border-radius:50%;box-shadow:0 0 0 3px #00a87733;animation:pulse 2.2s infinite ease-in-out}@keyframes pulse{0%,to{transform:scale(1) translateY(-50%)}50%{transform:scale(1.35) translateY(-50%)}}.panel-content li:hover{color:var(--blue);transform:translate(6px);border-left-color:var(--green);background:#00a8770d;padding-left:1.2rem}.panel-content li:hover:before{box-shadow:0 0 0 6px #00a8774d}.dates-section h2{font-size:clamp(1rem,1.2vw,1.2rem);font-weight:700;color:var(--blue);padding:clamp(.8rem,1vw,1rem)}.dates-section:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,var(--green),var(--blue))}.news-column{display:flex;flex-direction:column;gap:1.5rem;grid-column:2 / -1}.news-slider{position:relative;border-radius:var(--radius);overflow:hidden;box-shadow:0 12px 40px #00000026;display:flex;flex-direction:column;transition:all .3s ease;border:2px solid transparent}.news-slider:hover{box-shadow:0 16px 50px #0003;border-color:var(--green)}.news-slide{width:100%;display:flex;flex-direction:column;align-items:stretch;position:relative;transition:all .35s cubic-bezier(.23,1,.32,1)}.news-slide .slide-img{height:auto;width:100%;border-top-left-radius:var(--radius);border-top-right-radius:var(--radius);max-height:350px;object-fit:contain}.news-overlay{position:static;background:#fff;color:var(--text-dark);box-shadow:none;border-bottom-left-radius:var(--radius);border-bottom-right-radius:var(--radius);padding:1.5rem;margin-top:0}.news-overlay h3{font-size:1.4rem;margin:0 0 .5rem;color:var(--blue);font-weight:700}.news-overlay .news-meta{font-size:.9rem;margin-bottom:.8rem;color:#666}.news-overlay .news-text{max-height:none;font-size:1rem;line-height:1.5;color:#333;margin:1rem 0}.slider-dots{position:static;transform:none;display:flex;justify-content:center;gap:.6rem;padding:1rem 0 0;margin:0}.dot{width:12px;height:12px;background:#0d4b784d;border-radius:50%;cursor:pointer;transition:all .3s cubic-bezier(.23,1,.32,1);border:none}.dot:hover{background:#0d4b7899;transform:scale(1.2)}.dot.active{background:linear-gradient(135deg,var(--green),var(--blue));transform:scale(1.3);box-shadow:0 4px 12px #00a87766}.news-reactions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem;padding-top:1rem;border-top:2px solid #f0f0f0}.news-reactions button.reaction-btn{display:inline-flex;align-items:center;gap:.4rem;background:#fff;border:2px solid #e0e0e0;border-radius:999px;padding:.5rem .9rem;font-size:.9rem;cursor:pointer;transition:all .3s cubic-bezier(.23,1,.32,1);font-weight:600;box-shadow:0 2px 8px #0000000f}.news-reactions button.reaction-btn:hover:not(:disabled){transform:translateY(-3px) scale(1.08);box-shadow:0 6px 16px #0000001f;border-color:var(--green)}.news-reactions button.reaction-btn:disabled{opacity:.85;cursor:default;transform:scale(1)}.reaction-count{font-weight:700;min-width:20px;text-align:center}.news-reactions button.reaction-btn.pulse{animation:pulse-reaction .4s ease-in-out}@keyframes pulse-reaction{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}.dot.active{background:var(--green);transform:scale(1.3);border:none}.news-slide .slide-img{display:block;width:100%;object-fit:contain;background-color:#f5f5f5;align-self:center}.news-slide .slide-img-placeholder{display:flex;align-items:center;justify-content:center;width:100%;min-height:280px;height:auto;background:linear-gradient(135deg,#667eea,#764ba2);font-size:clamp(2rem,4vw,3.5rem);font-weight:800;color:#fff;text-shadow:0 3px 10px rgba(0,0,0,.25);border-top-left-radius:var(--radius);border-top-right-radius:var(--radius);align-self:center;position:relative;overflow:hidden;box-shadow:inset 0 -3px 15px #0000001a}.news-slide .slide-img-placeholder:before{content:"";position:absolute;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.15) 1px,transparent 1px);background-size:60px 60px;animation:float-animation 25s linear infinite}.news-slide .slide-img-placeholder span{position:relative;z-index:1;letter-spacing:-.5px}@keyframes float-animation{0%{transform:translate(0)}to{transform:translate(60px,60px)}}.news-category{display:inline-block;padding:.18rem .5rem;margin-left:.6rem;margin-right:.5rem;border-radius:999px;color:#fff;font-weight:700;font-size:.78rem;vertical-align:middle;box-shadow:0 6px 18px #0f172a0f}.news-title-text{margin-left:.4rem;vertical-align:middle}@media(max-width:480px){.news-category{padding:.12rem .38rem;font-size:.72rem;margin-left:.4rem}}.cards-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.2rem}.card{background:#fff;border-radius:var(--radius);padding:1.5rem;display:flex;flex-direction:column;gap:1rem;transition:all .35s cubic-bezier(.23,1,.32,1);border:2px solid #e8f4f1;position:relative;overflow:hidden}.card:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,var(--green),var(--blue));transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.23,1,.32,1)}.card:hover:before{transform:scaleX(1)}.card:hover{transform:translateY(-6px);box-shadow:0 16px 40px #00a87726;border-color:var(--green)}.card h4{margin:0;color:var(--blue);font-size:1.1rem;font-weight:700;display:flex;align-items:center;gap:.8rem}.card h4>svg{color:var(--green)}.card p{color:#555;font-size:.95rem;line-height:1.5;margin:0}.card input[type=text],.card textarea{width:100%;padding:.8rem;border-radius:8px;border:2px solid #e0e0e0;font-size:.95rem;transition:all .3s ease;font-family:inherit}.card input[type=text]:focus,.card textarea:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px #00a8771a}.card textarea{min-height:80px;resize:vertical}.card button{padding:.8rem 1.2rem;background:linear-gradient(135deg,var(--green),#00d4a8);color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .3s cubic-bezier(.23,1,.32,1);font-weight:600;font-size:.95rem;box-shadow:0 4px 12px #00a87733}.card button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #00a8774d;filter:brightness(1.05)}.card button:active{transform:translateY(0)}.poll-options label{display:flex;align-items:center;gap:.5rem;margin-bottom:.3rem;font-size:clamp(.85rem,1vw,.95rem)}.admin-btn:hover{transform:translateY(-3px);box-shadow:0 12px 30px #4e54c84d;background:linear-gradient(135deg,#3b40a4,#4e54c8)}.admin-btn svg{font-size:1.2em}@media(max-width:1400px){.homepage-modern{grid-template-columns:repeat(2,1fr);gap:1.2rem;padding:1.5rem}.news-column{grid-column:auto}}@media(max-width:1024px){.homepage-modern{grid-template-columns:1fr;gap:1rem;padding:1rem}.news-column{grid-column:auto}.panels-column{gap:1rem}.panel{border-radius:12px}.card{padding:1.2rem}}@media(max-width:768px){.homepage-modern{grid-template-columns:1fr;gap:.8rem;padding:.8rem}.cards-row{grid-template-columns:1fr;gap:.8rem}.news-slider{border-radius:10px}.panel-header{padding:.9rem 1rem;font-size:1rem}.panel.open .panel-content{max-height:500px;padding:1rem}.news-overlay,.card{padding:1rem}}@media(max-width:480px){.homepage-modern{grid-template-columns:1fr;gap:.6rem;padding:.6rem}.panels-column,.news-column{gap:.8rem}.panel-header{padding:.8rem;font-size:.95rem}.panel-header h3{font-size:.95rem;gap:.6rem}.panel-content{padding:0!important}.panel.open .panel-content{max-height:400px;padding:.8rem!important}.card{padding:.8rem;gap:.8rem}.card h4{font-size:1rem}.news-overlay{padding:.8rem}.news-overlay h3{font-size:1.1rem}.cards-row{gap:.6rem}}.apps-preview{display:flex;flex-direction:column;gap:1rem;padding-bottom:.5rem}.app-mini-card{display:flex;align-items:center;gap:1rem;background:linear-gradient(135deg,#fff,#f8fbff);padding:1rem;border-radius:12px;box-shadow:0 4px 12px #00a87714;transition:all .3s cubic-bezier(.23,1,.32,1);border:2px solid #e8f4f1}.app-mini-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #00a87726;border-color:var(--green)}.app-mini-card img{width:50px;height:50px;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.app-mini-card h4{font-size:1rem;margin:0;color:var(--blue);font-weight:700}.app-mini-card p{font-size:.9rem;color:#555;margin:0}.app-mini-card a{color:var(--green);font-size:.9rem;text-decoration:none;font-weight:600;transition:all .3s ease}.app-mini-card a:hover{color:var(--blue);text-decoration:underline}.newcomers-list{display:flex;flex-direction:column;gap:1rem}.newcomer-card{display:flex;align-items:flex-start;background:linear-gradient(135deg,#fff,#f8fbff);border-radius:12px;padding:1rem;gap:1rem;transition:all .3s cubic-bezier(.23,1,.32,1);border:2px solid #e8f4f1}.newcomer-card:hover{background:linear-gradient(135deg,#fff,#f0faff);transform:translateY(-3px);box-shadow:0 8px 24px #00a8771f;border-color:var(--green)}.newcomer-card img{width:70px;height:70px;border-radius:50%;object-fit:cover;border:3px solid var(--green);flex-shrink:0;box-shadow:0 4px 12px #00a87733}.newcomer-info h4{margin:0;font-size:1.05rem;color:var(--blue);font-weight:700}.newcomer-info .poste{font-weight:700;color:var(--green);font-size:.95rem;margin:.3rem 0}.newcomer-info .service{font-size:.9rem;color:#555;margin:.2rem 0}.newcomer-info .date{font-size:.85rem;color:#999;margin:.2rem 0}.newcomer-info .desc{margin-top:.5rem;font-size:.9rem;color:#333;line-height:1.4}.newcomer-placeholder{width:70px;height:70px;border-radius:50%;background:linear-gradient(135deg,#e8f4f1,#d5e8e4);display:flex;align-items:center;justify-content:center;flex-shrink:0;border:3px solid var(--green)}.placeholder-icon{font-size:40px;color:var(--green)}.see-all-apps-btn{display:inline-flex;align-items:center;gap:.5rem;justify-content:center;padding:.55rem .9rem;background:linear-gradient(90deg,#00a877,#0d4b78);color:#fff;border:none;border-radius:12px;box-shadow:0 8px 20px #0d4b781f;cursor:pointer;font-weight:600;font-size:.95rem;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.see-all-apps-btn:hover{transform:translateY(-4px);box-shadow:0 14px 32px #0d4b782e;filter:brightness(1.03)}.see-all-apps-btn:active{transform:translateY(-1px)}.see-all-apps-btn:focus{outline:none;box-shadow:0 0 0 4px #00a87724,0 8px 20px #0d4b781f}@media(max-width:480px){.see-all-apps-btn{width:100%;padding:.7rem 1rem;font-size:1rem}}.see-all-docs-btn{display:inline-flex;align-items:center;gap:.5rem;justify-content:center;padding:.55rem .9rem;background:linear-gradient(90deg,#00a877,#0d4b78);color:#fff;border:none;border-radius:12px;box-shadow:0 8px 20px #0d4b781f;cursor:pointer;font-weight:600;font-size:.95rem;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.see-all-docs-btn:hover{transform:translateY(-4px);box-shadow:0 14px 32px #0d4b782e;filter:brightness(1.03)}.see-all-docs-btn:active{transform:translateY(-1px)}.see-all-docs-btn:focus{outline:none;box-shadow:0 0 0 4px #00a87724,0 8px 20px #0d4b781f}@media(max-width:480px){.see-all-docs-btn{width:100%;padding:.7rem 1rem;font-size:1rem}}.see-more-btn{margin-top:8px;background:none;border:none;color:#06c;cursor:pointer;font-size:14px;padding:0}.see-more-btn:hover{text-decoration:underline}.section.apps{padding:2rem;background:#f8fafc;min-height:100vh}.apps-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.apps-header h2{font-size:2rem;font-weight:700;color:#0d4b78;margin:0}.btn-request-app{display:inline-flex;align-items:center;gap:.7rem;padding:.8rem 1.4rem;background:linear-gradient(135deg,#00a877,#0d4b78);color:#fff;border:none;border-radius:50px;font-weight:600;font-size:.95rem;cursor:pointer;position:relative;overflow:hidden;box-shadow:0 8px 20px #0d4b7840;transition:transform .3s ease,box-shadow .3s ease}.btn-request-app:hover{transform:translateY(-3px);box-shadow:0 12px 30px #0d4b7859}.btn-request-app:active{transform:translateY(-1px)}.btn-request-app .btn-icon{font-size:1.2rem;display:inline-flex;animation:bounce 2s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.btn-request-app .btn-glow{position:absolute;top:50%;left:50%;width:0;height:0;background:#ffffff80;border-radius:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s;pointer-events:none}.btn-request-app:active .btn-glow{width:300px;height:300px;transition:width 0s,height 0s}.apps-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.8rem}.app-card{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 4px 12px #0f172a14;transition:transform .3s ease,box-shadow .3s ease;display:flex;flex-direction:column;gap:1rem;text-align:center}.app-card:hover{transform:translateY(-8px);box-shadow:0 12px 28px #0f172a26}.app-logo{width:130px;height:80px;object-fit:contain;margin:0 auto;transition:transform .3s ease;background:#c4c4c4;border-radius:25px;padding:10px}.app-card:hover .app-logo{transform:scale(1.1)}.app-card h3{font-size:1.3rem;font-weight:700;color:#0d4b78;margin:0}.app-card p{font-size:.9rem;color:#64748b;margin:0;flex-grow:1}.btn-open{display:inline-block;padding:.7rem 1.2rem;background:linear-gradient(90deg,#00a877,#0d4b78);color:#fff;text-decoration:none;border-radius:8px;font-weight:600;font-size:.9rem;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 4px 12px #0d4b7833}.btn-open:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0d4b784d}.group-list{margin-top:1rem;display:flex;flex-wrap:wrap;gap:.5rem}.group-item{flex:1 1 calc(50% - .5rem);background:#eef2f7;padding:.5rem .8rem;border-radius:8px;font-size:.85rem;text-align:center;color:#0d4b78;text-decoration:none;transition:background .2s}.group-item:hover{background:#d1e3f0}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;border-radius:16px;padding:2.5rem;max-width:500px;width:90%;box-shadow:0 20px 60px #0000004d;position:relative;animation:slideUp .4s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;cursor:pointer;color:#64748b;transition:color .2s ease,transform .2s ease;display:flex;align-items:center;justify-content:center}.modal-close:hover{color:#0d4b78;transform:scale(1.2)}.modal-content h3{font-size:1.6rem;color:#0d4b78;margin:0 0 .5rem}.modal-subtitle{color:#64748b;font-size:.95rem;margin:0 0 1.5rem}.request-form{display:flex;flex-direction:column;gap:1.2rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:600;color:#0d4b78;font-size:.95rem}.form-group input,.form-group textarea{padding:.8rem;border:2px solid #e2e8f0;border-radius:8px;font-size:.95rem;font-family:inherit;transition:border-color .2s ease,box-shadow .2s ease}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#00a877;box-shadow:0 0 0 3px #00a8771a}.form-group input:disabled,.form-group textarea:disabled{background:#f0f4f8;color:#91a3b0;cursor:not-allowed}.submit-message{padding:.8rem;border-radius:8px;text-align:center;font-weight:600;animation:slideDown .3s ease;background:#d1fae5;color:#065f46;border:1px solid #6ee7b7}.submit-message.error{background:#fecaca;color:#991b1b;border:1px solid #fca5a5}.submit-message.success{background:#d1fae5;color:#065f46;border:1px solid #6ee7b7}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.btn-submit{padding:.9rem;background:linear-gradient(135deg,#00a877,#0d4b78);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 6px 16px #0d4b7833}.btn-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #0d4b784d}.btn-submit:disabled{opacity:.7;cursor:not-allowed}@media(max-width:768px){.section.apps{padding:1rem}.apps-header{flex-direction:column;align-items:stretch}.apps-header h2{font-size:1.5rem}.btn-request-app{width:100%;justify-content:center}.apps-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.modal-content{padding:1.5rem;width:95%}}.page{font-family:Inter,system-ui,sans-serif;background:#f8fafc;color:#1f2937}h2{font-size:1.5rem;margin-bottom:.2rem;color:#0f172a;text-align:center}.loading,.error,.no-contacts{text-align:center;margin-top:2rem;color:#64748b}.contacts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem}.contact-card{background:#fff;border-radius:1rem;box-shadow:0 4px 10px #0f172a14;padding:1.2rem 1.5rem;transition:transform .2s ease,box-shadow .2s ease}.contact-card:hover{transform:translateY(-3px);box-shadow:0 6px 15px #0f172a1f}.contact-header{display:flex;align-items:center;margin-bottom:1rem}.avatar{width:48px;height:48px;color:#fff;font-weight:600;font-size:1.2rem;display:flex;align-items:center;justify-content:center;border-radius:9999px;margin-right:1rem;text-transform:uppercase;transition:background .3s ease}.avatar-blue{background:#0092d9}.avatar-green{background:#41cc2f}.contact-info-header h3{font-size:1.1rem;margin:0;color:#111827}.contact-agence{font-size:.9rem;color:#64748b}.contact-body p{margin:.4rem 0;font-size:.95rem}.contact-body a{color:#2563eb;text-decoration:none}.contact-body a:hover{text-decoration:underline}.filters-bar{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;align-items:center;margin-bottom:1.8rem}.search-input{padding:.7rem 1rem;border-radius:.6rem;border:1px solid #d1d5db;width:260px;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.search-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f633}.filter-select{padding:.7rem 1rem;border-radius:.6rem;border:1px solid #d1d5db;background:#fff;font-size:.95rem;cursor:pointer}.filter-select:hover{border-color:#3b82f6}.news-page{padding:2rem;background:#f7f9fb}.news-page h2{color:#0d4b78;margin-bottom:1.5rem;font-size:1.8rem;border-left:5px solid #00a877;padding-left:.8rem}.news-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.8rem}.news-card{position:relative;border-radius:16px;overflow:hidden;background:linear-gradient(160deg,#eef7f5,#e6f3fa);box-shadow:0 6px 16px #00000014;transition:transform .3s ease,box-shadow .3s ease}.news-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #0000001a}.news-image{width:100%;height:180px;background-size:cover;background-position:center}.news-image-placeholder{width:100%;height:240px;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;font-size:1.8rem;font-weight:700;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.2);position:relative;overflow:hidden}.news-image-placeholder:before{content:"";position:absolute;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 1px,transparent 1px);background-size:50px 50px;animation:float 20s linear infinite}.news-image-placeholder span{position:relative;z-index:1}@keyframes float{0%{transform:translate(0)}to{transform:translate(50px,50px)}}.news-info{padding:1rem}.news-info h3{font-size:1.2rem;color:#0d4b78;margin-bottom:.3rem}.news-meta{font-size:.85rem;color:#333;opacity:.75;margin-bottom:.5rem}.news-text{font-size:.8rem;color:#1c1c1c;line-height:1}.news-text h1,.news-text h2,.news-text h3{margin:0 0 8px}.news-text p{margin-bottom:10px}.news-text ul,.news-text ol{margin-left:20px}.news-text blockquote{margin:10px 0;padding-left:12px;border-left:4px solid #ddd;color:#555;font-style:italic}.news-reactions{display:flex;flex-wrap:wrap;gap:.4rem;margin:1rem 0}.news-reactions button.reaction-btn{display:inline-flex;align-items:center;gap:.3rem;background:#fff;border:1px solid transparent;border-radius:999px;padding:.5rem .8rem;font-size:.9rem;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s;font-weight:600;box-shadow:0 2px 6px #0000000d;position:relative;overflow:hidden}.news-reactions button.reaction-btn:after{content:"";position:absolute;width:100%;height:100%;top:0;left:0;background:#ffffff80;border-radius:50%;transform:scale(0);opacity:0;pointer-events:none;transition:transform .4s,opacity .4s}.news-reactions button.reaction-btn:active:after{transform:scale(2);opacity:0;transition:none}.news-reactions button.reaction-btn:hover:not(:disabled){transform:translateY(-2px) scale(1.05);box-shadow:0 6px 14px #00000026}.news-reactions button.reaction-btn:disabled{opacity:.9;cursor:default;transform:scale(1.1)}.reaction-emoji{display:inline-block;font-size:1.2em}.reaction-count{font-weight:700;min-width:18px;text-align:center}.news-reactions button.reaction-btn.pulse{animation:pulse .4s ease-in-out}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.reaction-count{font-weight:600;min-width:20px;text-align:center}.vehicules-root{padding:1rem;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial;color:#1a1a1a}.vehicules-header{display:flex;flex-direction:column;gap:.6rem;margin-bottom:.6rem}.vehicules-header h2{margin:0;font-size:1.15rem;display:flex;align-items:center;gap:.5rem}.months-grid{display:flex;flex-wrap:wrap;gap:.35rem}.month-btn{border:1px solid #e6e6e6;background:#fff;border-radius:8px;padding:6px 8px;min-width:64px;display:flex;flex-direction:column;align-items:center;gap:2px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;box-shadow:0 1px 3px #0000000a;font-size:.78rem}.month-btn small{color:#666}.month-btn:hover{transform:translateY(-3px);box-shadow:0 6px 18px #0000000f}.month-btn.active{border-color:#2f86eb;box-shadow:0 6px 20px #2f86eb1f}.legend{display:flex;align-items:center;gap:1rem;margin:.6rem 0;flex-wrap:wrap}.legend .legend-box{width:14px;height:14px;border-radius:3px;display:inline-block;margin-right:6px}.legend .hint{margin-left:1rem;color:#666;font-size:.9rem}.planner{background:#fff;border-radius:10px;padding:.6rem;box-shadow:0 8px 30px #0f141e08;overflow:auto}.planner-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.6rem}.month-title{display:flex;align-items:center;gap:.6rem}.title{font-weight:600;font-size:1rem}.nav-btn{background:#fafafa;border:1px solid #eee;padding:6px 10px;border-radius:6px;cursor:pointer}.grid-wrapper{overflow-x:auto}.grid{display:flex;flex-direction:column;gap:6px;min-width:900px}.grid-row{display:grid;grid-template-columns:160px 1fr;align-items:stretch;gap:8px}.grid-row--head{align-items:center}.grid-cell{padding:6px 8px;border-radius:6px;background:transparent}.vehicle-col{font-weight:600;background:#fafafa;border:1px solid #f0f0f0;display:flex;flex-direction:column;justify-content:flex-start;padding:8px 12px;min-width:120px}.day-col{border:1px dashed rgba(0,0,0,.04);min-height:42px;display:flex;align-items:flex-start;justify-content:center;position:relative;background:#fff}.row-days{position:relative;display:grid;gap:0}.day-number{font-size:.85rem;font-weight:600}.day-number.small{font-size:.75rem;color:#00000080}.clickable{cursor:pointer}.clickable:hover{background:#2f86eb0a;transform:translateY(-1px);transition:all .12s ease}.selected-start{outline:3px solid rgba(47,134,235,.12)}.bookings-overlay{position:absolute;inset:0;pointer-events:none}.booking-bar{position:absolute;top:8px;height:calc(100% - 16px);border-radius:6px;color:#fff;font-weight:600;display:flex;align-items:center;padding:6px 8px;box-sizing:border-box;pointer-events:auto;overflow:hidden;transition:transform .12s ease,box-shadow .12s ease}.booking-bar:hover{transform:translateY(-4px);box-shadow:0 10px 30px #0000001f}.booking-content{display:flex;align-items:center;justify-content:space-between;width:100%;gap:8px}.booking-del{background:#ffffff26;border:none;color:#fff;padding:6px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center}.booking-del:hover{background:#ffffff38}.booking-complete{flex-shrink:0;margin-left:2px;padding:2px;font-size:10px;background:#ffffff40;border:none;border-radius:4px;cursor:pointer}.booking-complete:hover{background:#ffffff59}.modal-backdrop{position:fixed;inset:0;background:#0a0c1073;display:flex;align-items:center;justify-content:center;z-index:999}.modal{background:#fff;width:420px;max-width:92%;border-radius:12px;padding:1rem;box-shadow:0 30px 80px #0f141e66;position:relative}.modal-close{position:absolute;right:12px;top:12px;border:none;background:transparent;cursor:pointer}.modal h3{margin-top:0}.modal label{display:block;font-size:.85rem;margin-top:8px;color:#333;font-weight:500}.modal input,.modal select,.modal textarea{width:100%;padding:8px 10px;border-radius:8px;border:1px solid #e6e6e6;margin-top:6px;box-sizing:border-box;transition:border-color .2s,box-shadow .2s}.modal input:focus,.modal select:focus,.modal textarea:focus{outline:none;border-color:#2f86eb;box-shadow:0 0 0 3px #2f86eb33}.modal textarea{resize:vertical}.modal input[type=checkbox]{transform:scale(1.1);margin-right:6px;vertical-align:middle}.checkbox-row{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:10px}.checkbox-row input[type=checkbox]{margin:0}.modal.completion .completion-form{display:flex;flex-direction:column;gap:12px}.modal.completion .form-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:6px 0;border-bottom:1px solid #e8e8e8}.modal.completion .form-row:last-child{border-bottom:none}.modal.completion .completion-form .icon{font-size:1.1rem;color:#2f86eb;flex-shrink:0}.modal.completion .completion-form .field{flex:1;display:flex;flex-direction:column;min-width:0}.modal.completion .completion-form label{font-weight:600;margin-bottom:4px;white-space:nowrap}.modal.completion input[type=number],.modal.completion textarea{width:100%}.modal.completion .checkbox-row{justify-content:space-between;margin-top:0}.modal.completion .modal{max-width:420px}@media(max-width:500px){.modal.completion .form-row{flex-direction:column;align-items:stretch}.modal.completion .completion-form .icon{margin-bottom:4px}}@media(max-width:900px){.modal{width:90%;padding:1rem}.modal.reservation .modal,.modal.completion .modal{max-width:100%}.modal.reservation input,.modal.reservation select,.modal.reservation textarea{font-size:1rem}.modal.completion .completion-form{gap:8px}.modal.completion .form-row{flex-direction:column;align-items:stretch}.modal.completion .checkbox-row{justify-content:flex-start;gap:10px}}.modal-actions{display:flex;gap:8px;margin-top:16px;justify-content:flex-end}.modal.reservation h3{color:#2f86eb}.modal.completion h3{color:#28a745}.btn{background:#2f86eb;color:#fff;border:none;padding:8px 12px;border-radius:8px;cursor:pointer;display:flex;gap:8px;align-items:center}.btn-ghost{background:transparent;border:1px solid #e6e6e6;color:#333}.error-msg{color:#a33;margin-top:6px}@media(max-width:900px){.grid{min-width:700px}.month-btn{min-width:56px;padding:6px}}.row-days{position:relative;min-height:64px;display:grid;gap:0}.bookings-overlay{position:absolute;inset:0;pointer-events:none;z-index:2}.booking-bar{position:absolute;top:8px;height:calc(100% - 16px);border-radius:6px;color:#fff;font-weight:600;display:flex;align-items:center;padding:6px 8px;box-sizing:border-box;pointer-events:auto;overflow:hidden;z-index:3}.booking-bar[data-contrast=dark]{color:#111}.booking-emp{font-size:.9rem;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.booking-half{font-size:.75rem;margin-left:4px;color:#ffffffe6}.vehicle-name{font-weight:600;font-size:.95rem}.vehicle-immatriculation{font-size:.6rem;color:#666;margin-top:2px;margin-left:5px}.vehicle-info-wrapper{position:relative;display:flex;margin-left:5px}.info-btn{background:#2f86eb;border:none;color:#fff;border-radius:50%;width:18px;height:18px;font-size:12px;cursor:pointer}.vehicle-tooltip{position:inherit;top:0;left:0;background:#fff;color:#333;border:1px solid #ddd;padding:8px 10px;border-radius:6px;box-shadow:0 2px 8px #00000026;z-index:100;width:220px;font-size:.85rem}.booking-bar{position:absolute;height:24px;border-radius:4px;display:flex;justify-content:space-between;align-items:center;padding:0 2px;font-size:12px;white-space:nowrap;overflow:hidden}.booking-content{display:flex;justify-content:space-between;align-items:center;width:100%}.booking-emp{overflow:hidden;text-overflow:ellipsis}.booking-del{flex-shrink:0;margin-left:2px;padding:2px;font-size:10px}.problem-btn{margin-left:4px;padding:2px;background:#000;color:#fff;border:none;border-radius:20px;cursor:pointer}.problem-btn:hover{background:#c0392b}textarea{width:100%;padding:6px;border-radius:4px;border:1px solid #ccc}.vehicle-comment-visible{margin-top:4px;padding:4px 6px;background-color:#fff3cd;border-left:3px solid #ffc107;font-size:.85rem;color:#856404;border-radius:3px;max-height:50px;overflow-y:auto;word-break:break-word}@media(max-width:900px){.grid{min-width:auto}.grid-row{grid-template-columns:1fr;align-items:stretch}.grid-row--head{display:none}.vehicle-col{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:10px;min-width:auto}.row-days{position:relative;display:block;overflow-x:auto;white-space:nowrap;min-height:64px}.day-col{display:inline-block;vertical-align:top;width:96px;min-width:96px;margin-right:6px}.bookings-overlay{position:absolute;inset:0;pointer-events:none;z-index:2}.booking-bar{position:absolute;top:8px;height:calc(100% - 16px);border-radius:6px;color:#fff;font-weight:600;display:flex;align-items:center;padding:6px 8px;box-sizing:border-box;pointer-events:auto;overflow:hidden;transition:transform .12s ease,box-shadow .12s ease;box-shadow:0 6px 14px #0000000f}.booking-emp{font-size:.95rem}.planner{padding:.6rem}}@media(max-width:480px){.grid{min-width:auto}.grid-row{display:flex;flex-direction:column;gap:10px}.vehicle-col{padding:12px;gap:8px}.vehicle-name{font-size:1rem}.vehicle-immatriculation{font-size:.8rem}.row-days{display:flex;gap:8px;overflow-x:auto;padding:8px 6px}.day-col{flex:0 0 88px;width:88px;min-width:88px;border-radius:8px}.booking-bar{font-size:12px;padding:4px 6px;height:auto;border-radius:6px}.booking-del{padding:4px;font-size:11px}.modal{width:96%;max-width:96%;padding:.9rem}.modal input,.modal select{padding:10px}.btn{padding:10px 12px}.info-btn{width:26px;height:26px;font-size:13px}}.presentation-group{padding:30px;font-family:Segoe UI,sans-serif;color:#1c1c1c;background:#f4f9f8}.presentation-group h2{text-align:center;color:#0a74da;margin-bottom:30px}.group-overview{text-align:center;margin-bottom:40px}.group-overview p{line-height:1.7;font-size:1.1rem;max-width:800px;margin:0 auto 20px}.btn-visit-site{display:inline-block;padding:10px 20px;background:linear-gradient(45deg,#0a74da,#2cb978);color:#fff;border-radius:6px;text-decoration:none;font-weight:700;transition:transform .2s,box-shadow .2s}.btn-visit-site:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.group-values h3{text-align:center;color:#0a74da;margin-bottom:20px}.values-grid{display:flex;gap:20px;justify-content:center;flex-wrap:wrap}.value-card{background:#e0f7f2;border-left:5px solid #0a74da;padding:20px;border-radius:10px;width:250px;transition:transform .2s,box-shadow .2s}.value-card:hover{transform:translateY(-5px);box-shadow:0 6px 15px #00000026}.value-card h4{color:#0a74da;margin-bottom:10px}.subsidiaries{margin-top:50px}.subsidiaries h3{text-align:center;color:#0a74da;margin-bottom:30px}.subsidiaries-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;padding:5px}.subsidiary-card{background:#fff;border-radius:10px;padding:20px;box-shadow:0 4px 10px #0000001a;transition:transform .2s,box-shadow .2s}.subsidiary-card:hover{transform:translateY(-5px);box-shadow:0 6px 18px #0003}.subsidiary-card h4{color:#2cb978;margin-bottom:10px}.subsidiary-card p{margin:5px 0}.btn-details{display:inline-block;margin-top:10px;padding:8px 15px;background:#0a74da;color:#fff;border-radius:6px;text-decoration:none;font-weight:500}.btn-details:hover{background:#2cb978}.doc-wrapper{padding:1rem;animation:fadeIn .4s ease-in-out}.doc-title{font-size:1rem;font-weight:700;color:#0f172a}.theme-section{margin-bottom:1.2rem}.theme-header{margin-bottom:.5rem;padding-bottom:.2rem;border-bottom:3px solid}.theme-badge{color:#fff;font-weight:600;padding:.35rem .6rem;border-radius:12px;font-size:.95rem}.doc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.doc-card{background:#fff;border-radius:16px;padding:.8rem;border:1px solid #e2e8f0;border-top:6px solid;box-shadow:0 4px 10px #0000000f;transition:transform .25s ease,box-shadow .25s ease}.doc-card:hover{transform:translateY(-3px);box-shadow:0 8px 20px #0000001f}.doc-card-title{font-size:1rem;font-weight:600;color:#0f172a;margin-bottom:.3rem}.doc-card-info{font-size:.85rem;color:#64748b;margin-bottom:1rem}.doc-btn{display:inline-block;color:#fff;padding:.55rem 1.1rem;border-radius:12px;font-weight:600;text-decoration:none;font-size:.85rem;transition:opacity .25s ease}.doc-btn:hover{opacity:.85}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.doc-wrapper-grid{padding:.5rem;animation:fadeIn .4s ease-in-out}.theme-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:1rem;margin-top:1rem}.theme-card{background:#fff;border-radius:12px;border:1px solid #e2e8f0;border-top:6px solid;box-shadow:0 4px 10px #0000000f;overflow:hidden}.theme-card-header{padding:.6rem;color:#fff}.theme-card-body{padding:.6rem}.doc-row{display:flex;justify-content:space-between;padding:.4rem 0;font-size:.9rem;border-bottom:1px solid #e2e8f0}.doc-download-btn{font-weight:600;text-decoration:none}@media(max-width:900px){.doc-wrapper,.doc-wrapper-grid{padding:1rem}.doc-title{font-size:1.5rem}.doc-subtitle{font-size:.95rem}.doc-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.theme-card-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.doc-card{padding:1rem;border-radius:12px}.doc-card-title{font-size:.98rem}.doc-card-info{font-size:.85rem}}@media(max-width:480px){.doc-grid,.theme-card-grid{grid-template-columns:1fr}.doc-wrapper,.doc-wrapper-grid{padding:.8rem}.doc-card{padding:.9rem;border-radius:12px}.doc-card-title{font-size:1rem}.doc-card-info{font-size:.95rem;margin-bottom:.8rem}.doc-btn,.doc-download-btn{display:block;width:100%;text-align:center;padding:.8rem .9rem;border-radius:10px;box-sizing:border-box}.theme-card{border-radius:12px;overflow:visible}.theme-card-header,.theme-card-body{padding:.9rem}.doc-row{flex-direction:column;align-items:flex-start;gap:.5rem}.doc-row a{width:100%}}.onedrive-section{margin-bottom:1.6rem}.onedrive-title{font-size:1.25rem;font-weight:700;margin-bottom:.6rem;color:#0f172a}.onedrive-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.onedrive-card{background:#fff;border-radius:12px;border:1px solid #e2e8f0;border-top:6px solid #2563eb;padding:.8rem;display:flex;align-items:center;justify-content:space-between;box-shadow:0 4px 8px #0f172a0a}.onedrive-card-body{flex:1 1 auto;padding-right:.8rem}.onedrive-card-title{font-weight:600;color:#0f172a;margin-bottom:.25rem}.onedrive-card-date{font-size:.85rem;color:#64748b}.onedrive-card-actions{flex:0 0 auto}.onedrive-open-btn{display:inline-block;padding:.4rem .9rem;background:#2563eb;color:#fff;border-radius:10px;text-decoration:none;font-weight:600}.onedrive-open-btn:hover{opacity:.92}.error{color:#ef4444}.help-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:999}.help-modal{background:#fff;width:600px;max-height:80vh;overflow-y:auto;border-radius:20px;padding:25px 30px;box-shadow:0 8px 30px #0003;animation:fadeIn .3s ease;position:relative}.help-close{position:absolute;top:15px;right:15px;background:none;border:none;font-size:1.3rem;cursor:pointer;color:#555}.help-modal h2{margin-bottom:10px}.help-modal p{color:#555;font-size:.95rem}.help-content{margin-top:20px}.faq-item{border-bottom:1px solid #eee}.faq-question{width:100%;background:none;border:none;outline:none;font-size:1rem;font-weight:500;padding:12px 0;cursor:pointer;display:flex;justify-content:space-between;align-items:center;color:#222;transition:color .2s}.faq-question:hover{color:#007bff}.faq-answer{padding:0 5px 12px;color:#555;font-size:.92rem;animation:slideDown .3s ease}.faq-icon{font-size:.85rem}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.modal-overlay{position:fixed;inset:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:10000}.modal-content{background:#fff;border-radius:12px;padding:25px;width:480px;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 5px 25px #0000004d}.modal-content.large{width:650px}@media(max-width:1024px){.modal-content.large{width:92%;max-height:90vh}.tab-container{display:flex;justify-content:center;margin-bottom:14px}.tab-select{width:100%;padding:10px;font-size:16px;border-radius:8px;border:1px solid #ccc}}@media(max-width:768px){.modal-overlay{align-items:flex-start;padding-top:12px}.modal-content{width:100%;height:100vh;max-height:100vh;border-radius:0;padding:16px;box-sizing:border-box;overflow-y:auto}.modal-content.large{width:100%}.close-btn{top:10px;right:10px}.tab-container{margin-bottom:12px}.tab-btn{padding:12px 10px;font-size:15px}.form-publish input,.form-publish textarea,.form-publish select{padding:12px;font-size:16px}.btn-submit{padding:14px;font-size:17px}}.close-btn{position:absolute;top:12px;right:12px;background:transparent;border:none;font-size:20px;cursor:pointer}.tab-container{display:flex;justify-content:space-around;margin-bottom:20px;border-bottom:2px solid #eee}.tab-btn{flex:1;padding:10px 0;background:none;border:none;cursor:pointer;font-weight:500;font-size:15px;color:#555;display:flex;align-items:center;justify-content:center;gap:8px}.tab-btn.active{border-bottom:3px solid #0078ff;color:#0078ff}.form-publish label{display:block;font-weight:700;margin-top:10px}.form-publish input,.form-publish textarea,.form-publish select{width:100%;margin-top:4px;padding:8px;border-radius:6px;border:1px solid #ccc;font-size:14px}.btn-submit{margin-top:20px;width:100%;background-color:#0078ff;color:#fff;border:none;border-radius:8px;padding:10px;font-size:16px;cursor:pointer}.btn-submit:hover{background-color:#005fcc}:root{--tiptap-primary: #4a90e2;--tiptap-secondary: #0077cc;--tiptap-bg: #ffffff;--tiptap-toolbar-bg: #f0f4ff;--tiptap-toolbar-border: #e0e0e0;--tiptap-hover-bg: #e0ebff;--tiptap-focus-outline: #0056b3;--tiptap-text-color: #333}.tiptap-wrapper{border:1px solid #ccc;border-radius:10px;background:var(--tiptap-bg);overflow:hidden;font-family:Segoe UI,Tahoma,sans-serif;box-shadow:0 3px 10px #00000014}.tiptap-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 10px;border-bottom:1px solid var(--tiptap-toolbar-border);background:var(--tiptap-toolbar-bg)}.tiptap-toolbar button{display:flex;align-items:center;gap:4px;border:none;background:#f5f5f5;color:#333;padding:6px 10px;border-radius:6px;cursor:pointer;font-size:14px;transition:background .2s,box-shadow .2s,transform .1s}.tiptap-toolbar button:hover{background:var(--tiptap-hover-bg);transform:translateY(-1px);box-shadow:0 2px 5px #00000026}.tiptap-toolbar button.active{background:var(--tiptap-primary);color:#fff;font-weight:700;box-shadow:0 2px 6px #0003}.tiptap-toolbar button:focus{outline:3px solid var(--tiptap-focus-outline)}.separator{width:1px;background:#cfd8dc;margin:0 6px}.tiptap-editor{padding:16px;min-height:180px;outline:none;line-height:1.6;font-size:15px;color:var(--tiptap-text-color);background:#fcfcfc;transition:background .2s}.tiptap-editor:focus{background:var(--tiptap-bg)}.tiptap-editor p{margin:8px 0}.tiptap-editor h1{font-size:1.9rem;margin:12px 0;font-weight:700;color:#2c3e50}.tiptap-editor h2{font-size:1.5rem;margin:10px 0;font-weight:700;color:#34495e}.tiptap-editor ul{list-style-type:disc;padding-left:30px;margin:10px 0}.tiptap-editor ol{list-style-type:decimal;padding-left:30px;margin:10px 0}.tiptap-editor li{margin:4px 0}.tiptap-editor blockquote{border-left:5px solid var(--tiptap-primary);padding-left:12px;margin:10px 0;color:#555;font-style:italic;background:#f0f5ff;border-radius:4px}.tiptap-editor a{color:var(--tiptap-link-color)!important;text-decoration:underline!important;font-weight:500}.tiptap-editor a:hover{color:#005999!important;text-decoration:none!important}@media(max-width:600px){.tiptap-toolbar{flex-wrap:wrap}.tiptap-toolbar button{flex:1 1 30%;margin-bottom:4px}}.calendrier-modern{margin:12px auto;background:#fff;border-radius:10px;padding:10px;box-shadow:0 6px 20px #0000000f;color:#222;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial}.cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.cal-title{font-size:1.15rem;font-weight:600}.nav-btn{background:transparent;border:1px solid #eee;padding:8px;border-radius:8px;cursor:pointer}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr)) 320px;grid-template-rows:auto 1fr;gap:10px;align-items:start}.cal-weekdays{grid-column:1 / 8;grid-row:1 / 2;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;width:100%;box-sizing:border-box}.weekday{text-align:center;color:#666;font-weight:600;padding:6px 0;box-sizing:border-box}.cal-days{grid-column:1 / 8;grid-row:2 / 3;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;width:100%;box-sizing:border-box}.cal-day{min-height:88px;border-radius:8px;padding:8px;background:#fafafa;cursor:pointer;display:flex;flex-direction:column;justify-content:flex-start;box-sizing:border-box;border:1px solid #339c36}.cal-day.muted{opacity:.45;background-color:#a9a9a9}.cal-day.selected{outline:2px solid #4f46e5;box-shadow:0 4px 14px #4f46e514}.date-num{font-size:.95rem;font-weight:700;margin-bottom:6px}.badges{display:flex;flex-direction:column;gap:6px}.badge{background:linear-gradient(90deg,#eef2ff,#f8fafc);color:#1f2937;padding:4px 6px;border-radius:6px;font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.more{font-size:.8rem;color:#444}.cal-details{margin-top:8px;background:#fff;padding:12px;border-radius:8px;border:1px solid #f0f0f0}.cal-loading,.cal-error{padding:12px}@media(min-width:900px){.cal-grid{grid-template-columns:1fr 320px}.cal-details{height:fit-content}}@media(max-width:640px){.cal-day{min-height:72px}.badge{font-size:.72rem}}@media(max-width:900px){.cal-grid{grid-template-columns:1fr;grid-template-rows:auto auto auto}.cal-weekdays{grid-column:1 / 2;grid-row:1 / 2;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;overflow-x:auto}.cal-days{grid-column:1 / 2;grid-row:2 / 3;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;overflow:auto}.cal-details{grid-column:1 / 2;grid-row:3 / 4;margin-top:8px}.cal-day{min-height:86px;padding:10px}.date-num{font-size:1rem}.badge{font-size:.78rem}}@media(max-width:640px){.cal-weekdays{display:none}.cal-grid{grid-template-columns:1fr;grid-template-rows:auto auto}.cal-days{display:grid;grid-template-columns:1fr;gap:10px}.cal-day{display:flex;align-items:center;justify-content:space-between;min-height:64px;padding:12px;border-radius:10px}.date-num{font-size:1.05rem;margin:0}.badges{display:flex;flex-direction:column;gap:6px;align-items:flex-end}.badge{max-width:70%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-details{margin-top:12px}}.driver-active .driver-overlay,.driver-active *{pointer-events:none}.driver-active .driver-active-element,.driver-active .driver-active-element *,.driver-popover,.driver-popover *{pointer-events:auto}@keyframes animate-fade-in{0%{opacity:0}to{opacity:1}}.driver-fade .driver-overlay{animation:animate-fade-in .2s ease-in-out}.driver-fade .driver-popover{animation:animate-fade-in .2s}.driver-popover{all:unset;box-sizing:border-box;color:#2d2d2d;margin:0;padding:15px;border-radius:5px;min-width:250px;max-width:300px;box-shadow:0 1px 10px #0006;z-index:1000000000;position:fixed;top:0;right:0;background-color:#fff}.driver-popover *{font-family:Helvetica Neue,Inter,ui-sans-serif,"Apple Color Emoji",Helvetica,Arial,sans-serif}.driver-popover-title{font:19px/normal sans-serif;font-weight:700;display:block;position:relative;line-height:1.5;zoom:1;margin:0}.driver-popover-close-btn{all:unset;position:absolute;top:0;right:0;width:32px;height:28px;cursor:pointer;font-size:18px;font-weight:500;color:#d2d2d2;z-index:1;text-align:center;transition:color;transition-duration:.2s}.driver-popover-close-btn:hover,.driver-popover-close-btn:focus{color:#2d2d2d}.driver-popover-title[style*=block]+.driver-popover-description{margin-top:5px}.driver-popover-description{margin-bottom:0;font:14px/normal sans-serif;line-height:1.5;font-weight:400;zoom:1}.driver-popover-footer{margin-top:15px;text-align:right;zoom:1;display:flex;align-items:center;justify-content:space-between}.driver-popover-progress-text{font-size:13px;font-weight:400;color:#727272;zoom:1}.driver-popover-footer button{all:unset;display:inline-block;box-sizing:border-box;padding:3px 7px;text-decoration:none;text-shadow:1px 1px 0 #fff;background-color:#fff;color:#2d2d2d;font:12px/normal sans-serif;cursor:pointer;outline:0;zoom:1;line-height:1.3;border:1px solid #ccc;border-radius:3px}.driver-popover-footer .driver-popover-btn-disabled{opacity:.5;pointer-events:none}:not(body):has(>.driver-active-element){overflow:hidden!important}.driver-no-interaction,.driver-no-interaction *{pointer-events:none!important}.driver-popover-footer button:hover,.driver-popover-footer button:focus{background-color:#f7f7f7}.driver-popover-navigation-btns{display:flex;flex-grow:1;justify-content:flex-end}.driver-popover-navigation-btns button+button{margin-left:4px}.driver-popover-arrow{content:"";position:absolute;border:5px solid #fff}.driver-popover-arrow-side-over{display:none}.driver-popover-arrow-side-left{left:100%;border-right-color:transparent;border-bottom-color:transparent;border-top-color:transparent}.driver-popover-arrow-side-right{right:100%;border-left-color:transparent;border-bottom-color:transparent;border-top-color:transparent}.driver-popover-arrow-side-top{top:100%;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.driver-popover-arrow-side-bottom{bottom:100%;border-left-color:transparent;border-top-color:transparent;border-right-color:transparent}.driver-popover-arrow-side-center{display:none}.driver-popover-arrow-side-left.driver-popover-arrow-align-start,.driver-popover-arrow-side-right.driver-popover-arrow-align-start{top:15px}.driver-popover-arrow-side-top.driver-popover-arrow-align-start,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-start{left:15px}.driver-popover-arrow-align-end.driver-popover-arrow-side-left,.driver-popover-arrow-align-end.driver-popover-arrow-side-right{bottom:15px}.driver-popover-arrow-side-top.driver-popover-arrow-align-end,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-end{right:15px}.driver-popover-arrow-side-left.driver-popover-arrow-align-center,.driver-popover-arrow-side-right.driver-popover-arrow-align-center{top:50%;margin-top:-5px}.driver-popover-arrow-side-top.driver-popover-arrow-align-center,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-center{left:50%;margin-left:-5px}.driver-popover-arrow-none{display:none}.modal-content{background:#fff;border-radius:20px;width:90%;max-width:1800px;max-height:95vh;overflow-y:auto;box-shadow:0 25px 80px #0003,0 15px 40px #0000001a;animation:modalSlideIn .4s cubic-bezier(.25,.46,.45,.94);position:relative}.modal-content.large{max-width:auto}.close-btn{position:absolute;top:20px;right:20px;background:none;border:none;font-size:24px;cursor:pointer;color:#666;transition:color .2s ease}.close-btn:hover{color:#333}.modal-content h2{margin:0 0 20px;padding:20px 20px 0;color:#333;font-size:1.8rem;font-weight:600}.tab-container{padding:0 20px;border-bottom:2px solid #e0e0e0;margin-bottom:20px}.tab-select{width:100%;padding:10px;border:1px solid #ccc;border-radius:8px;font-size:16px}.tab-btn{background:none;border:none;padding:12px 24px;cursor:pointer;font-size:16px;font-weight:500;color:#666;border-bottom:3px solid transparent;transition:all .3s ease}.tab-btn:hover{color:#4e54c8;background:#f8f9fa}.tab-btn.active{color:#4e54c8;border-bottom-color:#4e54c8;background:#f0f4ff}.admin-content{padding:20px}.users-tab h3,.documents-tab h3,.settings-tab h3{color:#333;margin-bottom:20px}.users-table-container{overflow-x:auto}.users-table{width:100%;border-collapse:collapse;font-size:14px}.users-table th,.users-table td{padding:12px 8px;text-align:left;border-bottom:1px solid #e0e0e0}.users-table th{background:#f8f9fa;font-weight:600;color:#333;position:sticky;top:0}.users-table tr:hover{background:#f8f9fa}.edit-btn,.delete-btn{padding:6px 12px;border:none;border-radius:6px;cursor:pointer;font-size:12px;margin-right:5px;transition:all .2s ease}.edit-btn{background:#4e54c8;color:#fff}.edit-btn:hover{background:#3b40a4}.delete-btn{background:#ef4444;color:#fff}.delete-btn:hover{background:#dc2626}.error{color:#ef4444;font-weight:500}.edit-modal{width:800px;max-height:80vh;overflow-y:auto}.permissions-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:20px 0}.permissions-form label{display:flex;align-items:center;gap:10px;font-weight:500}.filters-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.add-btn-container{margin:15px 0 10px;text-align:right}.add-btn-container .add-btn{width:auto}.add-btn{padding:8px 16px;background:#22c55e;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;transition:background .2s ease;align-self:center}.add-btn:hover{background:#16a34a}.filters-container input{padding:8px;border:1px solid #ccc;border-radius:4px;font-size:14px}.filters-container button{padding:8px 12px;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer}.filters-container button:hover{background:#0056b3}.edit-grid{display:grid;grid-template-columns:1.5fr 2fr;gap:30px;align-items:start}.edit-info label,.edit-perms label{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.edit-perms{background:#f9fafb;padding:16px;border-radius:12px;max-height:60vh;overflow-y:auto}.perm-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.perm-label{font-size:14px;color:#333}.toggle-switch{position:relative;display:inline-block;width:36px;height:20px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-switch .slider{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.4s;border-radius:20px}.toggle-switch .slider:before{position:absolute;content:"";height:16px;width:16px;left:2px;bottom:2px;background:#fff;transition:.4s;border-radius:50%}.toggle-switch input:checked+.slider{background-color:#4e54c8}.toggle-switch input:checked+.slider:before{transform:translate(16px)}.edit-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:12px}.btn{padding:10px 14px;background:linear-gradient(180deg,#007bff,#0056d6);color:#fff;border:none;border-radius:10px;cursor:pointer;box-shadow:0 6px 20px #0366d62e;font-weight:600}.btn-secondary{background:#f3f4f6;color:#111827;border:1px solid #e5e7eb}.edit-info input,.edit-info select,.filters-container input,.users-table input[type=text],.users-table input[type=email]{width:100%;padding:10px 12px;border-radius:10px;border:1px solid #e6e9ee;background:linear-gradient(180deg,#fff,#fbfbfd);box-shadow:inset 0 1px #fff9;transition:box-shadow .15s ease,border-color .15s ease,transform .08s ease;font-size:14px}.edit-info input:focus,.filters-container input:focus{outline:none;border-color:#7aa7ff;box-shadow:0 6px 18px #3b82f61f;transform:translateY(-1px)}.permissions-form label{gap:12px;align-items:center}.permissions-form input[type=checkbox]{width:18px;height:18px;accent-color:#4e54c8}.edit-info h4,.edit-perms h4{margin:0 0 12px;color:#111827;font-size:1rem}.users-tab h3{font-size:1.1rem}.users-table .action-group{display:flex;gap:6px;align-items:center}@media(max-width:768px){.modal-content{width:95%;max-height:95vh}.users-table{font-size:12px}.users-table th,.users-table td{padding:8px 4px}.tab-container{padding:0 10px}.tab-btn{padding:10px 12px;font-size:14px}.filters-container{grid-template-columns:1fr;padding:10px}.filters-container input{width:100%}.edit-grid{grid-template-columns:1fr}}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:20px}.card{background:#fff;padding:20px;border-radius:10px;box-shadow:0 2px 8px #0000001a}.connexion-table{width:100%;border-collapse:collapse}.connexion-table th,.connexion-table td{padding:8px;border-bottom:1px solid #ddd;text-align:left}.edit-perms{display:flex;flex-direction:column;gap:12px;max-height:55vh;overflow-y:auto;padding-right:5px}.perm-group{border:1px solid #e0e0e0;border-radius:8px;padding:10px 12px;background-color:#fafafa}.group-header{display:flex;align-items:center;gap:6px;font-weight:600;font-size:.95rem;cursor:pointer;margin-bottom:6px}.group-items.compact-group-items{display:flex;flex-wrap:wrap;gap:8px 12px}.perm-item{display:flex;align-items:center;justify-content:space-between;width:160px;padding:2px 0;font-size:.85rem}.toggle-switch.small{width:28px;height:14px}.toggle-switch.small .slider{border-radius:20px;inset:0;background-color:#ccc}.toggle-switch.small .slider:before{height:12px;width:12px;left:1px;bottom:1px}.toggle-switch.small input:checked+.slider{background-color:#4caf50}.toggle-switch.small input:checked+.slider:before{transform:translate(14px)}@media(max-width:768px){.group-items.compact-group-items{flex-direction:column}.perm-item{width:100%}}.login-page{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#cddbd0,#84ad9a);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;animation:fadeIn .5s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-card{background-color:#fff;padding:40px 35px;border-radius:20px;box-shadow:0 20px 60px #00000026,0 10px 30px #0000001a;width:100%;max-width:400px;display:flex;flex-direction:column;align-items:center;transition:transform .4s cubic-bezier(.25,.46,.45,.94),box-shadow .4s ease;position:relative;overflow:hidden}.login-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#33b422,#4e54c8)}.login-card:hover{transform:translateY(-8px);box-shadow:0 30px 80px #0003,0 15px 40px #00000026}.login-card h2{margin-bottom:25px;color:#4e54c8;font-size:1.8rem;text-align:center;letter-spacing:1px}.login-card label{width:100%;display:flex;flex-direction:column;margin-bottom:20px;font-weight:500;color:#333}.login-card input{margin-top:8px;padding:12px 16px;border-radius:12px;border:2px solid #e0e0e0;font-size:1rem;transition:all .3s cubic-bezier(.25,.46,.45,.94);background:#fafafa}.login-card input:focus{border-color:#4e54c8;box-shadow:0 0 0 3px #4e54c81a;outline:none;background:#fff}.login-card button{margin-top:20px;width:100%;padding:14px 0;border:none;border-radius:12px;background:linear-gradient(135deg,#33b422,#2e8b1a);color:#fff;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.25,.46,.45,.94);position:relative;overflow:hidden}.login-card button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.login-card button:hover:before{left:100%}.login-card button:hover{background:linear-gradient(135deg,#2e8b1a,#33b422);transform:translateY(-3px);box-shadow:0 10px 30px #33b4224d}.login-card button:disabled{background:#ccc;cursor:not-allowed;transform:none;box-shadow:none}.login-card .error{margin-top:10px;color:#e74c3c;font-size:.95rem;text-align:center}.login-card .info{margin-top:10px;color:#2980b9;font-size:.95rem;text-align:center}@media(max-width:500px){.login-card{padding:30px 20px;border-radius:12px}.login-card h2{font-size:1.5rem}.login-card input{font-size:.95rem}.login-card button{font-size:1rem}}.forgot-link{margin-top:12px;color:#4e54c8;cursor:pointer;font-size:14px;text-align:center;font-weight:500;transition:all .3s ease;position:relative}.forgot-link:hover{color:#33b422;text-decoration:none}.forgot-link:after{content:"";position:absolute;bottom:-2px;left:50%;width:0;height:2px;background:#33b422;transition:all .3s ease;transform:translate(-50%)}.forgot-link:hover:after{width:100%}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0009;display:flex;justify-content:center;align-items:center;z-index:999;animation:modalFadeIn .3s ease-out}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.modal-box{background:#fff;padding:30px;border-radius:20px;width:320px;text-align:center;box-shadow:0 25px 80px #0003,0 15px 40px #0000001a;animation:modalSlideIn .4s cubic-bezier(.25,.46,.45,.94);position:relative;overflow:hidden}.modal-box:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#4e54c8,#33b422)}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-box h3{margin-bottom:20px;color:#333;font-size:1.4rem;font-weight:600}.modal-box input{width:100%;padding:12px 16px;margin-top:12px;border-radius:12px;border:2px solid #e0e0e0;font-size:1rem;transition:all .3s cubic-bezier(.25,.46,.45,.94);background:#fafafa}.modal-box input:focus{border-color:#4e54c8;box-shadow:0 0 0 3px #4e54c81a;outline:none;background:#fff}.modal-actions{display:flex;justify-content:space-between;margin-top:25px;gap:10px}.modal-box button{flex:1;padding:12px 20px;border:none;border-radius:12px;background:linear-gradient(135deg,#33b422,#2e8b1a);color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.25,.46,.45,.94);position:relative;overflow:hidden}.modal-box button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.modal-box button:hover:before{left:100%}.modal-box button:hover{background:linear-gradient(135deg,#2e8b1a,#33b422);transform:translateY(-2px);box-shadow:0 8px 25px #33b4224d}.modal-box .cancel-btn{background:linear-gradient(135deg,#f0f0f0,#ccc);color:#333}.modal-box .cancel-btn:hover{background:linear-gradient(135deg,#ccc,#f0f0f0);box-shadow:0 8px 25px #0000001a}.timer-info{margin-top:10px;padding:10px 12px;background:#fff3cd;border-left:4px solid #ffc107;border-radius:6px;font-size:.95rem;color:#856404;text-align:center}.timer-info strong{font-family:Courier New,monospace;font-weight:600;color:#e61e1e}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:100%;font-family:Helvetica,Arial,sans-serif;background-color:#f9f9f9;color:#182f5d}body{line-height:1.5}a{text-decoration:none;color:inherit}button{font-family:inherit;cursor:pointer;transition:background .2s,color .2s,border-color .2s}ul,ol{list-style:none}
