.axon-view{background-color:#fff;min-height:100vh;padding:0!important;margin:0!important}.modern-hero,.three-blocks-container,.modern-features-container,.table-section,.main-footer>div{width:100%!important;margin-left:auto;margin-right:auto}.modern-hero,.three-blocks-container,.modern-features-container,.table-section,.main-footer{animation:fadeInUp .8s ease-out forwards}.modern-info-block,.modern-feature-card{animation:fadeIn .6s ease-out backwards}.modern-info-block:nth-child(1){animation-delay:.1s}.modern-info-block:nth-child(2){animation-delay:.2s}.modern-info-block:nth-child(3){animation-delay:.3s}.modern-feature-card:nth-child(1){animation-delay:.1s}.modern-feature-card:nth-child(2){animation-delay:.2s}.modern-feature-card:nth-child(3){animation-delay:.3s}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modern-hero{position:relative}.modern-hero:has(.modern-features-container){padding:120px 0 100px;margin-top:0}.modern-hero:has(.three-blocks-container){padding:00px 0;margin-top:0}.hero-title{font-size:2rem;font-weight:800;line-height:1.2;color:#1f2937;text-align:center;margin-bottom:8px;margin-top:0}.hero-subtitle{font-size:1.03rem;color:#4b5563;max-width:1080px;text-align:center;line-height:1.5;margin-top:0;margin-bottom:20px}.modern-features-container{gap:20px;margin:5px 0;display:flex;flex-wrap:wrap;justify-content:center}.modern-feature-card{background:#fff;border-radius:24px;padding:20px;box-shadow:0 10px 30px #00000014;border:1px solid #fee2e2;transition:all .35s ease;text-align:center;flex:1;min-width:260px;display:flex;flex-direction:column;align-items:center;justify-content:center}.modern-feature-card:hover{transform:translateY(-8px);box-shadow:0 25px 40px -10px #e6393926}.modern-feature-icon{margin-bottom:15px;transition:transform .3s ease;width:60px;height:60px}.modern-feature-card:hover .modern-feature-icon{transform:scale(1.1)}.modern-feature-title{font-size:1.4rem;font-weight:700;margin:0 0 8px;color:#1f2937}.modern-feature-desc{font-size:.9rem;line-height:1.4;color:#4b5563;max-width:280px;margin:0 auto}.three-blocks-container{margin-top:5px;gap:20px;width:100%;margin-bottom:20px;justify-content:center;align-items:stretch}.modern-info-block{background:#fff;border-radius:12px;padding:16px;box-shadow:0 2px 8px #0000000a;border:1px solid #e9ecef;transition:all .2s ease;flex:1;min-width:200px;max-width:calc(33.333% - 14px);text-align:center}.modern-info-block:hover{transform:translateY(-2px);box-shadow:0 8px 16px #0000000f;border-color:#d0d7de}.modern-block-title{font-size:1rem;font-weight:600;margin-bottom:12px;padding-bottom:6px;border-bottom:2px solid #f1f3f4}.modern-count-value{color:#e63939;font-weight:700;font-size:1.5rem;display:block;margin-top:8px;padding:6px 0;text-align:center;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.modern-stat-item{background:#f8f9fa;border-radius:8px;padding:8px 6px;flex:1;text-align:center;border:1px solid #e9ecef}.modern-stat-value{font-size:1.1rem;font-weight:700;margin:0}.modern-stat-label{font-size:.7rem;color:#6c757d}.hero-cta{margin-top:5px;margin-bottom:10px}.table-section{padding:30px 0;border-top:1px solid #e9ecef;margin-bottom:30px;clear:both}.info-message{background:#fff5f5;border-left:6px solid #e63939;padding:12px 20px;border-radius:12px;margin-bottom:20px}.chantiers-grid{border:1px solid #e9ecef;border-radius:12px;overflow-x:auto}.chantiers-grid::part(header-cell){background:#fff5f5;font-weight:700;border-bottom:2px solid #e63939}.status-badge{padding:4px 12px;border-radius:9999px;font-size:.75rem;font-weight:700}.deadline-soon{color:#f59e0b;background:#fffbeb;border-radius:8px;padding:4px 10px}.deadline-passed{color:#ef4444;background:#fee2e2;border-radius:8px;padding:4px 10px}.main-footer{background:#1f2937;color:#9ca3af;padding:30px 0 20px!important;clear:both;margin-top:10px;width:100%}.main-footer>div{width:95%!important;max-width:1600px;margin:0 auto}.footer-columns{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;width:100%;margin-bottom:20px}.footer-column{flex:1;min-width:150px;text-align:center}.footer-column-title{color:#fff;font-size:1rem;margin-bottom:12px;font-weight:600}.footer-link{color:#9ca3af;text-decoration:none;font-size:.85rem;line-height:1.4;transition:color .2s}.footer-link:hover{color:#e63939}.social-icon{color:#9ca3af;transition:color .3s;display:inline-block;margin:0 6px}.social-icon:hover{color:#e63939}.copyright{font-size:.75rem;margin-top:0;margin-left:auto;margin-right:auto;text-align:center;opacity:.8;display:block;width:fit-content}.trust-logo{height:12px;width:12px;opacity:.7;transition:opacity .3s ease;cursor:pointer}.trust-logo:hover{opacity:1}.trust-bar{display:none}.advice-bubble{transition:all .3s ease;backdrop-filter:blur(4px)}.advice-bubble:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0003}.advice-refresh-btn:hover,.advice-close-btn:hover{color:#e63939;cursor:pointer}#profile-edit-dialog{--lumo-overlay-background-color: #ffffff;border-radius:16px;overflow:hidden}#profile-edit-dialog::part(overlay){border-radius:16px;box-shadow:0 20px 40px #00000026;max-width:520px;width:92%}#profile-edit-dialog::part(header){background:linear-gradient(135deg,#e63939,#f05b5b);padding:20px 24px;border-radius:16px 16px 0 0}#profile-edit-dialog::part(title){color:#fff;font-size:1.15rem;font-weight:700}#profile-edit-dialog::part(content){padding:0}#profile-edit-dialog vaadin-text-field,#profile-edit-dialog vaadin-email-field,#profile-edit-dialog vaadin-password-field{--vaadin-input-field-border-radius: 10px;--vaadin-input-field-background: #f9fafb;--vaadin-input-field-border-color: #e5e7eb;width:100%;margin-bottom:4px}#profile-edit-dialog vaadin-text-field:focus-within,#profile-edit-dialog vaadin-email-field:focus-within{--vaadin-input-field-border-color: #e63939;--vaadin-input-field-focus-ring-color: rgba(230, 57, 57, .2)}#profile-edit-dialog vaadin-email-field[readonly]{--vaadin-input-field-background: #f3f4f6;opacity:.7}#profile-edit-dialog vaadin-upload{border:2px dashed #e5e7eb;border-radius:10px;padding:12px;background:#fafafa;transition:border-color .2s;width:100%;margin-top:4px}#profile-edit-dialog vaadin-upload:hover{border-color:#f87171;background:#fff5f5}#profile-edit-dialog vaadin-button[theme~=primary]{background:linear-gradient(135deg,#e63939,#f05b5b)!important;border-radius:10px!important;color:#fff!important;font-weight:600!important;min-width:120px;transition:all .2s!important;box-shadow:0 2px 8px #e6393940!important}#profile-edit-dialog vaadin-button[theme~=primary]:hover{transform:translateY(-1px);box-shadow:0 6px 14px #e639394d!important}#profile-edit-dialog vaadin-button[theme~=tertiary]{color:#6b7280!important;border-radius:10px!important}#profile-edit-dialog vaadin-button[theme~=tertiary]:hover{color:#374151!important;background:#f3f4f6!important}@media(max-width:480px){#profile-edit-dialog::part(overlay){width:96%;border-radius:14px}}@media(max-width:768px){.axon-view{padding:0!important}.hero-title{font-size:1.5rem;margin-top:10px;margin-bottom:15px}.modern-hero:has(.three-blocks-container){padding:70px 0 10px}.modern-hero:has(.modern-features-container){padding:170px 0 100px}.modern-features-container{flex-direction:column;gap:16px;margin:20px 0}.modern-feature-card{width:100%;min-width:auto;padding:16px}.modern-feature-card:nth-child(1){margin-top:30px}.three-blocks-container{flex-direction:column;gap:12px;margin-top:10px;margin-bottom:15px}.modern-info-block{max-width:100%;min-width:100%;padding:12px}.hero-cta{width:100%;margin-top:15px;margin-bottom:10px}.table-section{padding:20px 10px;margin-bottom:20px}.chantiers-grid{font-size:.8rem}.main-footer{padding:10px 0 0!important;margin-top:20px;margin-bottom:0}.footer-columns{flex-direction:column;align-items:center;gap:0px;margin-bottom:0}.footer-column{min-width:auto;width:100%;text-align:center}.footer-column-title{margin-bottom:0;font-size:.85rem}.footer-link{font-size:.7rem;line-height:1.6}.trust-logo{height:20px}.social-icon{margin:0 4px}.social-icon vaadin-icon{width:18px;height:18px}.copyright{font-size:.6rem;margin-top:8px;padding:0 15px}.advice-bubble{width:260px;bottom:15px;right:15px;padding:10px}}html,body,#outlet{height:100vh;margin:0;padding:0;overflow:hidden}vaadin-app-layout{display:flex;flex-direction:column;height:100vh}vaadin-app-layout::part(navbar){position:fixed!important;top:0;left:0;right:0;height:56px!important;z-index:1000;background:#fff!important;box-shadow:0 2px 8px #00000014;border-bottom:1px solid #e5e7eb}vaadin-app-layout::part(content){margin-top:56px!important;height:calc(100vh - 56px)!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch;padding:0!important}vaadin-app-layout::part(drawer),vaadin-app-layout [part=drawer]{display:none!important}.header-layout{height:56px!important;padding:0 16px;box-sizing:border-box;gap:8px;display:flex;align-items:center}.logo-link{display:flex;align-items:center;flex-shrink:0;text-decoration:none}.logo-image{width:40px;height:40px;object-fit:contain;flex-shrink:0}.title-container{flex:1;min-width:0;overflow:hidden;display:flex;align-items:center;justify-content:center}.chantier-title{font-weight:600;font-size:15px;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;max-width:100%}.skeleton-loader{background:linear-gradient(90deg,#f0f0f0 25%,#e8e8e8,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:4px;height:18px;width:160px}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes loading{0%{transform:translate(-100%)}to{transform:translate(100%)}}.loading-indicator{position:fixed;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#e63939,#f05b5b);z-index:2000;animation:loading 1s ease-in-out infinite}.user-menu{display:flex;align-items:center;gap:8px;flex-shrink:0}.welcome-message{font-size:13px;color:#6b7280;white-space:nowrap}.user-avatar{width:32px;height:32px;border-radius:50%}.language-select{width:110px!important;height:32px!important;border-radius:16px!important;background:#f7f8fa!important;border:1px solid #e5e7eb!important;font-size:13px!important}.language-select::part(input-field){min-height:32px!important;background:transparent!important;border:none!important;box-shadow:none!important}.language-select::part(toggle-button){background:transparent!important;border:none!important}.sign-out-button::part(label){display:none}.sign-out-button{min-width:36px!important;width:36px;padding:0!important;color:#6b7280}.sign-out-button:hover{color:#e63939}.hamburger-btn{display:none;flex-shrink:0;min-width:36px!important;width:36px;padding:0!important;color:#374151}.drawer-panel{position:fixed;top:0;left:0;width:100%;height:100%;z-index:999;pointer-events:none}.drawer-overlay{position:absolute;inset:0;background:transparent;transition:background .3s ease;pointer-events:none}.drawer-content{position:absolute;top:56px;left:0;width:260px;height:calc(100% - 56px);background:#fff;border-right:1px solid #e5e7eb;box-shadow:2px 0 12px #00000014;transform:translate(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);overflow-y:auto;padding:12px 0;display:flex;flex-direction:column}.drawer-chantier-title{font-size:.82rem;font-weight:600;color:#374151;padding:6px 16px 10px;border-bottom:1px solid #f3f4f6;margin-bottom:6px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#drawer-menu-list{list-style:none;margin:0;padding:0 8px;display:flex;flex-direction:column;gap:2px}#drawer-menu-list li a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;color:#374151;text-decoration:none;font-size:14px;font-weight:500;transition:background .15s ease,color .15s ease}#drawer-menu-list li a:hover,#drawer-menu-list li a[highlight]{background:#fee2e2;color:#e63939}.drawer-panel.drawer-open{pointer-events:all}.drawer-panel.drawer-open .drawer-content{transform:translate(0)}@media(min-width:768px){.hamburger-btn{display:none!important}.drawer-panel,.drawer-panel.drawer-open,.drawer-panel.drawer-closed{pointer-events:all}.drawer-content{transform:translate(0)!important;box-shadow:none}.drawer-panel .drawer-overlay{display:none}vaadin-app-layout::part(content){margin-left:260px!important}.welcome-message{display:inline!important}.language-select{display:flex!important}.chantier-title{font-size:16px}}@media(min-width:992px){.chantier-title{font-size:18px}.header-layout{padding:0 24px}}@media(max-width:767px){.hamburger-btn{display:flex!important}.header-layout{padding:0 10px;gap:6px}.logo-image{width:32px;height:32px}.chantier-title{font-size:12px}.user-menu{gap:4px}.user-avatar{width:28px;height:28px}.welcome-message,.language-select{display:none!important}.sign-out-button{min-width:30px!important;width:30px}.sign-out-button::part(button){padding:0!important;min-width:30px!important;height:30px!important;justify-content:center!important}vaadin-app-layout::part(content){margin-left:0!important}.drawer-panel.drawer-open .drawer-overlay{background:#0006;pointer-events:all}}.modifier-chantier-view .sticky-header{position:sticky;top:0;z-index:100;background:#fffffff2!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid #e5e7eb;box-shadow:0 2px 8px #0000000f;padding:12px 16px}.modifier-chantier-view .back-button{color:#e63939;font-weight:500}.chantier-tabs{overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.chantier-tabs::-webkit-scrollbar{height:3px}.chantier-tabs::-webkit-scrollbar-track{background:transparent}.chantier-tabs::-webkit-scrollbar-thumb{background:#e5e7eb;border-radius:4px}@media(max-width:640px){.modifier-chantier-view .sticky-header{padding:8px 12px}.chantier-tabs .vaadin-tab{min-width:76px;padding:8px 4px;font-size:.75rem}}.corps-etat-full{width:100%;margin:0!important;padding:0!important}.corps-etat-full .corps-fixed-header{position:sticky;top:0;background:#fffffff5!important;backdrop-filter:blur(14px);border-bottom:1px solid #e5e7eb;box-shadow:0 2px 8px #0000000f}.corps-etat-full .building-title{font-weight:600;font-size:1.1rem;color:#a6091c;display:flex;align-items:center;gap:6px}.corps-etat-full .action-bar{padding:0 16px 12px;gap:8px;flex-wrap:wrap;align-items:center}.corps-etat-full .building-select,.corps-etat-full .search-field{flex:1 1 200px;min-width:140px}.corps-etat-full .counter-label{font-weight:700;color:var(--lumo-primary-color);white-space:nowrap;font-size:.9rem}.corps-etat-full .scrollable-content{height:calc(100vh - 120px);overflow-y:auto;-webkit-overflow-scrolling:touch}.corps-etat-full .category-title{font-weight:600;font-size:1rem;color:#333}.corps-etat-full .category-content{padding:0 16px 16px;background:var(--lumo-contrast-5pct);border-radius:0 0 var(--lumo-border-radius-l) var(--lumo-border-radius-l)}@media(max-width:600px){.corps-etat-full .action-bar{flex-direction:column;gap:8px}.corps-etat-full .building-select,.corps-etat-full .search-field,.corps-etat-full .counter-label,.corps-etat-full .toggle-all-btn{width:100%!important;flex:none}.corps-etat-full .toggle-all-btn{order:-1}.corps-etat-full .building-title{font-size:1rem}}.compact-field .vaadin-text-field-container,.compact-combo .vaadin-combo-box-container{height:36px!important;padding:0!important}.compact-field .vaadin-text-field-input,.compact-combo .vaadin-combo-box-input{font-size:13px!important;padding:0 8px!important}.compact-field .vaadin-field-label,.compact-combo .vaadin-field-label{display:none!important}.compact-field:focus-within,.compact-combo:focus-within{outline:2px solid #10b98130;outline-offset:1px;border-radius:8px}.badge{padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase;display:inline-block}.badge.success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.badge.warning{background:#fff3cd;color:#856404;border:1px solid #ffeaa7}.badge.error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.badge.contrast{background:#e9ecef;color:#495057;border:1px solid #dee2e6}.progress-complete{--lumo-primary-color: #4CAF50}.progress-high{--lumo-primary-color: #8BC34A}.progress-medium{--lumo-primary-color: #FFC107}.progress-low{--lumo-primary-color: #F44336}vaadin-grid::part(pending-review){background-color:#bde9ea}.pending-review{background-color:var(--lumo-primary-color-10pct)!important}.pending-review:hover{background-color:var(--lumo-primary-color-20pct)!important}.photo-thumbnail{transition:transform .2s ease}.photo-thumbnail:hover{transform:scale(1.05)}.corps-etat-section{border-left:4px solid var(--lumo-primary-color);padding-left:12px}.stat-card{transition:transform .2s ease,box-shadow .2s ease;cursor:pointer}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.chart-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.small-icon-button{padding:4px;min-width:auto}.document-viewer{background:var(--lumo-base-color)}.document-toolbar{background:var(--lumo-base-color);border-bottom:1px solid var(--lumo-contrast-10pct)}.document-status-bar{position:sticky;bottom:0;z-index:10}.document-top-bar{background:var(--lumo-base-color);border-bottom:1px solid var(--lumo-contrast-10pct);padding:8px 16px;flex-wrap:wrap;gap:8px}@media(max-width:768px){.document-toolbar{padding:8px}.document-status-bar{font-size:.9em}.document-top-bar{flex-direction:column;align-items:stretch}.document-top-bar>*{width:100%}.delais-form-section{padding:.5rem!important}.delais-role-section{flex-direction:column!important}.delais-controls{width:100%!important}.delais-info{width:100%!important;margin-bottom:1rem}.hide-on-mobile{display:none!important}}vaadin-accordion-panel[opened]{background-color:var(--lumo-primary-color-10pct)!important}vaadin-checkbox[disabled]{opacity:.6}.formulaire-chantier{font-family:Arial,sans-serif;padding:20px;background-color:#f5f5f5;border-radius:5px;box-shadow:0 2px 4px #0000001a;margin:20px auto;max-width:800px}.content-container{display:flex;justify-content:center;width:100%}.new-stakeholder-form{background-color:#fff;border-radius:8px;padding:20px}.new-stakeholder-form .vaadin-combo-box,.new-stakeholder-form .vaadin-text-field,.new-stakeholder-form .vaadin-email-field,.new-stakeholder-form .vaadin-multi-select-combo-box{width:100%}[theme~=dark] vaadin-app-layout::part(navbar){background:#1f2937!important;border-bottom-color:#374151}[theme~=dark] .drawer-content{background:#1f2937;border-right-color:#374151}[theme~=dark] #drawer-menu-list li a{color:#d1d5db}[theme~=dark] #drawer-menu-list li a:hover{background:#7f1d1d;color:#fca5a5}[theme~=dark] .chantier-title{color:#f9fafb}
