/* Archive-App : espace dédié, documents en relief et atelier bureautique. */
:root { --navy: #122554; --surface: #F5F7FB; --card: #fff; --text: #1C2B46; --muted: #75839B; --border: #E6EBF3; }
[data-theme="dark"] { --surface: #0E1626; --card: #1A2438; --text: #E6ECF5; --muted: #A3B0C5; --border: #2B3852; }
.page-heading h1 { font-size: 27px; letter-spacing: -.9px; }
.page-heading p { font-size: 12px; }
.page-actions { flex-wrap: wrap; max-width: 100%; }
.document-card { position: relative; }
.document-card>.card-quick-action { position: absolute; top: 9px; right: 9px; padding: 0; z-index: 1; }
.card-quick-action .icon-button { background: var(--card); border: 1px solid var(--border); width: 31px; height: 31px; border-radius: 7px; }
.card-quick-action .icon-button .icon { width: 15px; height: 15px; }
.page-heading h1 { overflow-wrap: anywhere; }
.document-preview,.document-inspector,#live-preview,#content-preview,.editor-workspace { min-width: 0; }
.btn { min-height: 41px; }
.tenant-identity { display: flex; align-items: center; gap: 11px; padding: 13px; margin-bottom: 17px; border: 1px solid #ffffff19; background: #ffffff07; border-radius: 9px; }
.tenant-identity>div { flex: 1; }
.tenant-identity>div>span { display: block; color: #A7B9DB; font-size: 10px; }
.tenant-identity strong { display: block; color: #fff; font-size: 13px; }
.tenant-identity>.icon { color: #7F96BF; width: 14px; }
.sidebar { padding-top: 24px; }
.brand { padding-bottom: 22px; }
.nav-section { margin-top: 13px; }
.nav-item { padding-top: 9px; padding-bottom: 9px; }
.sidebar-logout { width: 100%; display: flex; align-items: center; gap: 11px; padding: 10px 15px; border: 0; background: none; color: #C7D5EF; font-size: 12px; border-radius: 6px; position: relative; }
.sidebar-logout:hover { background: #ffffff0c; }
.sidebar-logout .icon { width: 17px; }
.product-credit { display: flex; align-items: center; gap: 7px; border-top: 1px solid #ffffff15; padding: 15px 3px 0; margin: 14px 10px 0; font-size: 9px; color: #8DA3CA; }
.online-dot { width: 5px; height: 5px; border-radius: 50%; background: #72BCA5; }
.mobile-brand,.mobile-bottom-nav { display: none; }
.dashboard-welcome { position: relative; display: flex; justify-content: space-between; gap: 15px; overflow: hidden; padding: 24px 29px; background: #EAF0FD; border: 1px solid #DEE7FB; border-radius: 13px; margin-bottom: 22px; }
.role-chip { display: inline-flex; align-items: center; gap: 6px; font-size: 10px; color: #4F6FA6; margin-bottom: 12px; }
.role-chip .icon { width: 13px; height: 13px; }
.dashboard-welcome h2 { font-size: 24px; letter-spacing: -.85px; color: #234279; line-height: 1.5; }
.dashboard-welcome p { font-size: 11px; margin: 8px 0 13px; color: #788CB0; max-width: 590px; }
.dashboard-welcome a { display: flex; align-items: center; gap: 10px; font-weight: 600; font-size: 11px; }
.dashboard-welcome a .icon { width: 16px; }
.welcome-files { position: relative; width: 237px; flex-shrink: 0; perspective: 700px; }
.mini-file { width: 73px; height: 103px; position: absolute; top: 28px; background: #fff; border-radius: 7px 18px 7px 7px; box-shadow: -4px 6px 0 #CBD9F0, 0 16px 18px #1C458924; transform: rotateY(-18deg) rotateZ(-12deg); padding: 15px 12px; z-index: 1; }
.mini-file span { width: 32px; height: 29px; display: grid; place-items: center; font-size: 16px; font-weight: 600; background: #426ADB; color: #fff; border-radius: 5px; margin-left: -22px; margin-top: 4px; box-shadow: 2px 3px 5px #365BAB35; }
.mini-file i { display: block; width: 42px; height: 3px; background: #D9E3F7; margin-top: 9px; }
.mini-file i:last-child { width: 26px; }
.mini-file.file-excel { left: 21px; top: 30px; transform: rotateY(-18deg) rotateZ(-23deg); }
.mini-file.file-word { left: 86px; top: 10px; z-index: 3; }
.mini-file.file-pdf { left: 145px; top: 35px; transform: rotateY(-20deg) rotateZ(13deg); }
.file-excel span { background: #389276; }
.file-pdf span { background: #D77065; font-size: 11px; }
.file-shadow { position: absolute; width: 188px; height: 17px; background: #8DA8D326; border-radius: 50%; bottom: 4px; left: 28px; filter: blur(5px); }
.revised-stats { gap: 17px; margin-bottom: 25px; }
.revised-stats .stat-item { display: flex; align-items: flex-start; gap: 13px; padding: 20px; border-radius: 10px; }
.revised-stats .stat-icon { flex-shrink: 0; width: 37px; height: 37px; margin-top: 4px; }
.stat-label { color: var(--muted); font-size: 11px; display: block; }
.revised-stats strong { display: block; font-size: 27px; letter-spacing: -1px; line-height: 1.4; font-weight: 600; margin: 6px 0; }
.revised-stats small { color: var(--muted); font-size: 9px; line-height: 1.8; display: block; }
.analytics-grid { display: grid; grid-template-columns: minmax(0,1.9fr) minmax(280px,1fr); gap: 22px; margin-bottom: 29px; }
.chart-panel { background: var(--card); border: 1px solid var(--border); border-radius: 10px; padding: 23px; min-width: 0; }
.chart-panel h2 { font-size: 14px; }
.chart-panel .section-heading p { font-size: 10px; }
.period-switch { display: flex; background: var(--soft); padding: 3px; border: 1px solid var(--border); border-radius: 6px; flex-shrink: 0; }
.period-switch button { position: relative; border: 0; background: none; border-radius: 4px; color: var(--muted); font-size: 10px; padding: 5px 9px; }
.period-switch button.active { background: var(--card); color: var(--color-primary); box-shadow: 0 1px 4px #1837680c; }
.chart-legend { display: flex; gap: 19px; margin-top: 10px; margin-bottom: 17px; }
.chart-legend span { display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: 10px; }
.legend-dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0; }
.dot-blue { background: #4B76DB; }.dot-gold { background: #D5A632; }.dot-green { background: #5DA893; }.dot-red { background: #DF8B7D; }.dot-gray { background: #A9B7CC; }
.activity-chart-wrap { height: 206px; position: relative; }
.chart-data { margin-top: 10px; font-size: 9px; color: var(--muted); }
.chart-data summary { cursor: pointer; }
.chart-data .table-responsive { max-height: 170px; margin-top: 15px; }
.chart-data table { font-size: 10px; --bs-table-bg: transparent; --bs-table-color: var(--text); }
.format-chart { position: relative; width: 177px; height: 177px; margin: 15px auto 19px; }
.chart-center { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; pointer-events: none; }
.chart-center strong { font-size: 30px; font-weight: 600; letter-spacing: -1px; }
.chart-center span { font-size: 10px; color: var(--muted); }
.format-legend { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 20px; margin-top: 7px; }
.format-legend>span { display: flex; align-items: center; gap: 7px; font-size: 11px; color: var(--muted); }
.format-legend strong { margin-left: auto; color: var(--text); font-size: 11px; }
.dashboard-departments { margin-bottom: 28px; }
.department-shelf { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 13px; }
.shelf-card { border: 1px solid var(--border); border-radius: 10px; background: var(--card); padding: 18px 15px 17px; color: var(--text); position: relative; transition: border-color .15s; }
.shelf-card h3 { font-size: 11px; min-height: 32px; line-height: 1.6; margin: 18px 0 5px; }
.shelf-card>span { font-size: 9px; color: var(--muted); }
.shelf-card>.icon { width: 12px; height: 12px; position: absolute; right: 13px; bottom: 21px; color: #A2B2CA; }
.shelf-card:hover { border-color: #ABC0E4; color: var(--text); }
.folder-3d { --folder-back: #577DCF; --folder-front: #87A8EE; position: relative; width: 55px; height: 45px; margin: 6px 0 0 6px; transform: rotateY(-17deg) rotateX(7deg) rotateZ(-5deg); transform-style: preserve-3d; }
.folder-3d:before { content: ''; position: absolute; width: 59px; height: 40px; top: 2px; background: var(--folder-back); border-radius: 4px; box-shadow: -4px 4px 0 #1b3a8b14; }
.folder-3d:after { content: ''; position: absolute; width: 27px; height: 12px; left: 0; top: -5px; background: var(--folder-back); border-radius: 4px 6px 0 0; z-index: -1; }
.folder-3d i { position: absolute; width: 46px; height: 37px; background: #FFF; border: 1px solid #E3EAF5; top: -3px; left: 7px; transform: rotateZ(4deg); }
.folder-3d span { position: absolute; inset: 9px -8px -4px 2px; background: linear-gradient(155deg,var(--folder-front),var(--folder-back)); border: 1px solid #ffffff50; border-radius: 4px 5px 6px 6px; transform: skewX(-7deg); box-shadow: 0 8px 12px #1b3a8b15; }
.folder-3d b { position: absolute; top: 19px; left: 21px; color: #ffffffd9; z-index: 1; }
.folder-3d .icon { width: 15px; height: 15px; }
.folder-green { --folder-back: #4C9C8B; --folder-front: #89C5B5; }.folder-gold { --folder-back: #D3A733; --folder-front: #F3CF6F; }.folder-purple { --folder-back: #8B76BF; --folder-front: #B5A4E3; }.folder-orange { --folder-back: #CB8D54; --folder-front: #EBB58C; }.folder-sky { --folder-back: #569CBD; --folder-front: #96CEE4; }
.dashboard-lower { display: grid; grid-template-columns: minmax(0,2.2fr) minmax(250px,1fr); gap: 22px; }
.dashboard-lower .activity-panel { border-radius: 10px; }
.dashboard-lower .activity-list li { padding-bottom: 17px; }
.file-icon { position: relative; border-radius: 3px 9px 4px 4px; border: 1px solid #ffffffa0; box-shadow: -2px 2px 0 #b2c2dc2b, 0 4px 6px #203d6810; }
.file-fold { position: absolute; width: 7px; height: 7px; right: -1px; top: -1px; background: #ffffffbb; border-radius: 0 8px 0 3px; box-shadow: -1px 1px 2px #263f6419; }
.document-grid { gap: 18px; grid-template-columns: repeat(3,minmax(0,1fr)); }
.document-card { border-radius: 11px; transition: border-color .15s; }
.document-card:hover { border-color: #A2B8DF; }
.document-card-preview { position: relative; height: 157px; background: #F4F7FD; overflow: hidden; perspective: 500px; }
.document-card-preview:after { content: ''; position: absolute; width: 88px; height: 9px; border-radius: 50%; background: #29478313; bottom: 23px; filter: blur(5px); }
.document-card-preview .file-icon { width: 56px; height: 77px; transform: rotateY(-16deg) rotateZ(-9deg); background: #fff; border: 1px solid #E5ECF7; box-shadow: -3px 3px 0 #D5E0F2, -6px 6px 0 #E8EDF6, 5px 13px 15px #25447420; gap: 8px; z-index: 1; }
.document-card-preview .file-icon:after { content: ''; width: 26px; height: 3px; background: #E0E7F3; box-shadow: 0 6px 0 #E0E7F3; margin-top: -2px; }
.document-card-preview .file-icon>.icon { width: 24px; height: 24px; }
.document-card-preview .file-icon small { position: absolute; left: -11px; bottom: 17px; padding: 5px 6px; background: #4474CA; color: #fff; font-size: 8px; border-radius: 3px; box-shadow: 2px 3px 4px #29488326; }
.document-card-preview .type-pdf small { background: #D17C6F; }.document-card-preview .type-xlsx small { background: #4B9B7D; }
.document-card>div { padding: 17px; }
.document-card .document-name { font-size: 12px; }
.document-card p { font-size: 10px; }
.document-card-bottom small { font-size: 9px; }
.folder-card { border-radius: 9px; }
.folder-card>.icon:first-child { filter: drop-shadow(-2px 3px 1px #d7aa2830); }

/* Connexion : un espace propre à l’organisation, séparé des vues métier. */
.auth-layout { min-height: 100dvh; display: grid; grid-template-columns: 48% 52%; background: #fff; }
.auth-story { background: #122554; color: #fff; padding: 39px 50px 25px; position: relative; display: flex; flex-direction: column; overflow: hidden; }
.auth-story .brand { padding: 0; align-self: flex-start; }
.auth-story .brand strong { font-size: 25px; }.auth-story .brand span { font-size: 10px; }
.auth-story-content { margin: auto 0; padding: 55px 6px 35px; position: relative; z-index: 1; }
.auth-tenant { font-size: 11px; color: #A7B9DA; display: flex; align-items: center; gap: 8px; margin-bottom: 24px; }.auth-tenant .icon { width: 16px; }
.auth-story h1 { font-size: clamp(34px,3.5vw,53px); letter-spacing: -2px; line-height: 1.23; font-weight: 600; color: white; }
.auth-story p { font-size: 12px; line-height: 1.9; color: #A7BBDE; margin: 19px 0; }
.auth-sculpture { width: 300px; height: 235px; margin: 31px auto 10px; position: relative; perspective: 900px; }
.sculpture-halo { position: absolute; width: 220px; height: 220px; border-radius: 50%; background: #29437644; box-shadow: 0 0 0 28px #29437619, 0 0 0 60px #2943760d; left: 33px; top: -8px; }
.sculpture-file { position: absolute; width: 103px; height: 130px; border-radius: 8px 22px 8px 8px; background: #F9FBFF; border: 1px solid #fff; padding: 20px 14px; box-shadow: -4px 5px 0 #AAC0E3; transform: rotateY(-18deg) rotateZ(-12deg); top: 20px; left: 82px; z-index: 3; }
.sculpture-file>span { display: grid; place-items: center; width: 40px; height: 38px; background: #426ADB; color: #fff; border-radius: 6px; font-size: 22px; margin-left: -26px; margin-bottom: 10px; box-shadow: 4px 4px 9px #294e9d33; font-weight: 600; }
.sculpture-file i { display: block; width: 55px; height: 4px; background: #D6E0F3; margin-top: 9px; }.sculpture-file i:last-child { width: 35px; }
.sculpture-file.file-excel { left: 12px; top: 57px; transform: rotateY(-18deg) rotateZ(-27deg); z-index: 2; }.sculpture-file.file-excel>span { background: #328B71; }
.sculpture-file.file-pdf { left: 166px; top: 40px; transform: rotateY(-15deg) rotateZ(15deg); z-index: 1; }.sculpture-file.file-pdf>span { background: #D5756B; font-size: 14px; }
.sculpture-grid { width: 65px; height: 48px; background: repeating-linear-gradient(0deg,transparent,transparent 11px,#CFE8DC 11px,#CFE8DC 13px), repeating-linear-gradient(90deg,transparent,transparent 20px,#CFE8DC 20px,#CFE8DC 22px); }
.sculpture-tray { width: 229px; height: 87px; position: absolute; bottom: 21px; left: 35px; border-radius: 7px 7px 16px 14px; background: linear-gradient(150deg,#FFE18D,#E2AF33); box-shadow: -5px 6px 0 #BF9026, 5px 19px 30px #030e292e; transform: perspective(600px) rotateY(-12deg) rotateZ(-5deg); z-index: 4; border: 1px solid #FFE9A3; }
.sculpture-tray img { width: 41px; margin: 18px 90px; opacity: .7; }
.sculpture-badge { display: flex; align-items: center; gap: 7px; font-size: 10px; position: absolute; right: -11px; bottom: 12px; background: #fff; color: #52726A; border-radius: 7px; padding: 9px 12px; z-index: 5; transform: rotateZ(3deg); box-shadow: 0 6px 17px #0a173330; }.sculpture-badge .icon { width: 14px; color: #42977B; }
.auth-promises { display: flex; gap: 20px; color: #A9BCDE; justify-content: space-between; padding-top: 33px; margin-top: 12px; border-top: 1px solid #ffffff14; }.auth-promises>span { font-size: 9px; display: flex; align-items: center; gap: 6px; }.auth-promises .icon { width: 14px; }
.auth-copyright { color: #6E86B3; font-size: 10px; }
.auth-main { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 50px 55px 25px; background: #fff; color: #1C2B46; }
.auth-form-wrap { width: 100%; max-width: 415px; margin: auto 0; padding: 20px 0 30px; }
.auth-org-badge { width: 45px; height: 45px; display: grid; place-items: center; border-radius: 11px; border: 1px solid #D9E3F6; background: #F2F5FB; color: #2447A3; font-size: 16px; font-weight: 600; margin-bottom: 23px; }
.auth-space { display: block; color: #8795AC; font-size: 11px; margin-bottom: 9px; }
.auth-form-wrap h2 { font-size: 25px; letter-spacing: -.8px; line-height: 1.5; margin-bottom: 10px; }
.auth-form-wrap>p { font-size: 12px; line-height: 1.8; margin-bottom: 30px; color: #7B88A0; }
.auth-form-wrap .form-label { font-size: 11px; color: #45546D; }.auth-form-wrap .form-control { min-height: 47px; border-color: #DDE4EF; background: #fff; color: #1C2B46; font-size: 12px; padding: 11px 14px; }
.password-label { display: flex; align-items: baseline; justify-content: space-between; margin-top: 22px; gap: 10px; }.password-label a { font-size: 10px; color: #4263A7; }
.password-field { position: relative; }.password-field .form-control { padding-right: 48px; }.password-field .icon-button { position: absolute; top: 6px; right: 7px; }.password-field .icon { width: 17px; }
.auth-session-note { font-size: 9px; display: flex; align-items: center; gap: 5px; margin: 13px 0 23px; color: #8694A9; }.auth-session-note .icon { width: 12px; }
.auth-submit { width: 100%; min-height: 46px; font-size: 12px; margin-top: 4px; background: #2447A3; }
.demo-accounts { border-top: 1px solid #E8EDF5; margin-top: 29px; padding-top: 20px; }.demo-accounts>span { display: block; font-size: 10px; color: #8996AC; margin-bottom: 13px; }
.demo-profile-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }.demo-profile-grid button { position: relative; display: flex; gap: 8px; align-items: center; border: 1px solid #E4EAF4; border-radius: 7px; padding: 10px 9px; text-align: left; background: #fff; color: #4F617D; }.demo-profile-grid button:hover { background: #F5F8FD; border-color: #A7BCE0; }.demo-profile-grid .avatar { width: 27px; height: 27px; font-size: 8px; }.demo-profile-grid strong { font-size: 8px; line-height: 1.6; display: block; }.demo-profile-grid small { font-size: 8px; color: #98A4B8; display: block; }.demo-profile-grid button>.icon { width: 10px; margin-left: auto; }
.demo-accounts p { font-size: 9px; color: #929DB0; margin: 12px 0 0; }.demo-accounts code { color: #6A7B99; font-size: 10px; }
.auth-local-note { display: flex; gap: 8px; color: #8C99AD; font-size: 9px; line-height: 1.8; margin-top: 24px; }.auth-local-note .icon { width: 13px; height: 13px; margin-top: 3px; }
.auth-main>footer { color: #A3AEC0; font-size: 9px; }.auth-mobile-brand { display: none; }.back-login { display: block; font-size: 11px; text-align: center; margin: 24px 0; }
.auth-form-wrap .alert { font-size: 11px; }

/* Dépôt et atelier documentaire. */
.upload-types { display: flex; gap: 7px; padding: 4px 0; }.upload-types b { background: var(--card); border: 1px solid var(--border); border-radius: 4px; font-weight: 400; font-size: 9px; padding: 3px 8px; }
.edit-after-upload { display: flex; align-items: center; gap: 9px; font-size: 11px; margin: 18px 0 0; cursor: pointer; }
.import-progress { padding: 18px; background: var(--soft); border: 1px solid var(--border); border-radius: 7px; margin-top: 20px; }.import-progress strong { font-size: 11px; font-weight: 400; }.import-progress .progress { height: 6px; margin-top: 15px; }.import-progress-bottom { display: flex; justify-content: space-between; align-items: center; font-size: 10px; color: var(--muted); margin-top: 9px; }
.initializing-module { display: flex; justify-content: center; align-items: center; gap: 12px; padding: 75px 20px; color: var(--muted); font-size: 12px; }
.editor-heading { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 19px; }.editor-back { display: flex; align-items: center; gap: 7px; font-size: 11px; }.editor-back .icon { width: 12px; transform: rotate(180deg); }.editor-save-status { font-size: 10px; color: #579680; display: flex; align-items: center; gap: 7px; }.editor-save-status .icon { width: 13px; }.editor-save-status.dirty { color: #BC9138; }
.editor-workspace { background: var(--card); border: 1px solid var(--border); border-radius: 11px; overflow: hidden; }.editor-titlebar { display: flex; align-items: center; justify-content: space-between; padding: 20px 23px; gap: 15px; border-bottom: 1px solid var(--border); }.editor-titlebar>div { display: flex; align-items: center; gap: 12px; min-width: 0; }.editor-titlebar>div:last-child { flex-shrink: 0; gap: 8px; }.editor-titlebar h1 { font-size: 16px; letter-spacing: -.35px; margin: 0 0 3px; overflow-wrap: anywhere; }.editor-titlebar>div>div>span { font-size: 10px; color: var(--muted); }
.rich-toolbar { display: flex; align-items: center; gap: 6px; padding: 10px 18px; border-bottom: 1px solid var(--border); flex-wrap: wrap; }.rich-toolbar>span { height: 18px; width: 1px; background: var(--border); margin: 0 5px; }.rich-toolbar select { color: var(--text); background: var(--card); border: 0; font-size: 11px; width: 130px; min-height: 34px; }.format-button { border: 0; font-size: 11px; color: var(--text); padding: 7px 10px; min-height: 34px; }.format-button:hover { background: var(--soft); }.format-button[data-command=bold] { font-weight: 600; }.format-button[data-command=italic] { font-style: italic; }.format-button[data-command=underline] { text-decoration: underline; }
.writing-desk { background: #EDF1F7; padding: 34px; min-height: 620px; max-height: 75vh; overflow: auto; }.writing-paper { background: #fff; color: #2A3850; box-shadow: 0 3px 17px #1831570c; max-width: 780px; min-height: 720px; padding: 50px 57px; margin: auto; outline: none; font-size: 14px; line-height: 1.9; overflow-wrap: anywhere; }.writing-paper h1 { font-size: 28px; line-height: 1.5; }.writing-paper h2 { font-size: 21px; margin: 20px 0 13px; }.writing-paper h3 { font-size: 17px; margin-top: 20px; }.writing-paper p { color: inherit; }.writing-paper table,.paper-rich-content table { border-collapse: collapse; width: 100%; table-layout: fixed; }.writing-paper td,.writing-paper th,.paper-rich-content td,.paper-rich-content th { border: 1px solid #D8DFEA; padding: 8px; overflow-wrap: anywhere; }.writing-paper:focus { box-shadow: 0 0 0 2px #AFC4E640; }
.editor-notice { display: flex; align-items: center; gap: 9px; padding: 10px 20px; font-size: 10px; color: var(--muted); border-bottom: 1px solid var(--border); background: var(--soft); }.editor-notice .icon { width: 15px; height: 15px; }.pdf-notice { color: #947842; background: #FCF8EC; }
.editor-statusbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 13px 21px; border-top: 1px solid var(--border); color: var(--muted); font-size: 9px; }.editor-statusbar>span { display: flex; align-items: center; gap: 7px; }.editor-statusbar .icon { width: 13px; }.editor-statusbar label { display: flex; align-items: center; gap: 12px; }.editor-statusbar input { font-size: 10px; width: 230px; padding: 7px 10px; border: 1px solid var(--border); border-radius: 5px; background: var(--card); color: var(--text); }
.sheet-topbar { display: flex; align-items: center; gap: 12px; padding: 9px 16px; border-bottom: 1px solid var(--border); }.sheet-cell-reference { font-size: 11px; min-width: 50px; color: var(--muted); border-right: 1px solid var(--border); }.formula-symbol { font-family: Georgia,serif; font-style: italic; color: #9AA8BC; font-size: 19px; }.sheet-topbar>input { border: 0; background: transparent; color: var(--text); flex: 1; min-width: 50px; font-size: 11px; padding: 7px 0; }.sheet-tools { display: flex; gap: 7px; }.sheet-scroll { overflow: auto; max-height: 60vh; position: relative; }.workbook-grid { border-collapse: separate; border-spacing: 0; font-family: 'Segoe UI',sans-serif; font-size: 13px; width: max-content; min-width: 100%; }.workbook-grid th { background: var(--soft); font-weight: 400; color: var(--muted); text-align: center; border-bottom: 1px solid var(--border); border-right: 1px solid var(--border); min-width: 42px; height: 32px; }.workbook-grid thead th { position: sticky; top: 0; z-index: 2; }.workbook-grid tbody th { position: sticky; left: 0; z-index: 1; }.workbook-grid td { padding: 0; border-bottom: 1px solid var(--border); border-right: 1px solid var(--border); }.sheet-cell-input { width: 155px; min-height: 35px; padding: 7px 10px; border: 0; border-radius: 0; background: var(--card); color: var(--text); font: inherit; outline-offset: -2px; }.sheet-cell-input:focus { outline: 2px solid #48A08B; background: #F1FBF6; color: #254A3F; }.formula-cell input { color: #318775; }.workbook-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; border-top: 1px solid var(--border); }.sheet-tabs { display: flex; overflow: auto; max-width: 100%; flex: 1; }.sheet-tabs button { display: flex; gap: 7px; align-items: center; position: relative; white-space: nowrap; border: 0; background: var(--soft); color: var(--muted); padding: 13px 19px; font-size: 10px; border-right: 1px solid var(--border); border-bottom: 2px solid transparent; }.sheet-tabs button.active { color: #398D76; background: var(--card); border-bottom-color: #398D76; }.sheet-tabs .icon { width: 13px; height: 13px; }.sheet-pagination { display: flex; align-items: center; gap: 9px; padding: 7px 12px; font-size: 10px; }
.document-view-tabs { display: flex; border-bottom: 1px solid var(--border); gap: 22px; background: var(--card); padding: 0 20px; }.document-view-tabs .btn { font-size: 11px; }.paper-rich-content { font-size: 13px; line-height: 1.9; color: #273951; overflow-wrap: anywhere; }.paper-rich-content p { color: inherit; }.paper-rich-content h1 { font-size: 23px; }.paper-rich-content h2 { font-size: 18px; margin: 20px 0 14px; }.paper-rich-content h3 { font-size: 15px; margin: 17px 0 12px; }.original-image { display: block; max-width: 100%; max-height: 800px; object-fit: contain; margin: auto; }.pdf-navigation { display: flex; align-items: center; justify-content: center; gap: 16px; margin-bottom: 22px; font-size: 11px; }.document-canvas canvas { display: block; width: 100%; max-width: 850px; height: auto; margin: 0 auto; box-shadow: 0 4px 20px #1e335816; }.preview-sheet-tabs { display: flex; overflow: auto; gap: 8px; padding-bottom: 14px; }.workbook-preview { background: #fff; color: #294159; font: 12px 'Segoe UI',sans-serif; }.workbook-preview td { white-space: nowrap; padding: 10px 15px; border: 1px solid #DFE5ED; min-width: 100px; }.workbook-preview th { font-weight: 400; color: #91A0B1; text-align: center; background: #F5F7FA; border: 1px solid #DFE5ED; width: 35px; }
[data-theme=dark] .dashboard-welcome { background: #203152; border-color: #2F4468; }[data-theme=dark] .dashboard-welcome h2 { color: #DDE7FB; }[data-theme=dark] .dashboard-welcome p,[data-theme=dark] .role-chip { color: #ABC0E3; }[data-theme=dark] .document-card-preview { background: #202D44; }[data-theme=dark] .writing-desk { background: #111B2D; }[data-theme=dark] .pdf-notice { background: #302D23; color: #D1BE92; }[data-theme=dark] .revised-stats .stat-icon { background: #263651; }

@media(min-width:1600px) { .dashboard-welcome h2 { font-size: 28px; }.department-shelf { gap: 18px; }.shelf-card { padding: 22px; }.shelf-card h3 { font-size: 12px; }.activity-chart-wrap { height: 230px; }.chart-panel { padding: 26px; } }
@media(max-width:1270px) { .revised-stats .stat-item { padding: 17px 14px; gap: 10px; }.revised-stats strong { font-size: 24px; }.stat-label { font-size: 10px; }.revised-stats .stat-icon { width: 30px; height: 30px; }.analytics-grid { gap: 17px; }.chart-panel { padding: 20px; }.department-shelf { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }.shelf-card { display: grid; grid-template-columns: 70px 1fr; column-gap: 10px; padding: 18px; }.shelf-card .folder-3d { grid-row: 1/3; margin-top: 6px; }.shelf-card h3 { margin: 3px 0 3px; min-height: auto; }.shelf-card>span { font-size: 10px; }.shelf-card>.icon { display: none; }.auth-story { padding: 32px; }.auth-main { padding: 35px; }.auth-promises { flex-wrap: wrap; gap: 15px; }.dashboard-lower { grid-template-columns: minmax(0,1.8fr) 260px; }.editor-titlebar { flex-wrap: wrap; } }
@media(max-width:1050px) { .welcome-files { width: 155px; transform: scale(.8); transform-origin: right center; margin-right: 20px; }.dashboard-welcome h2 { font-size: 21px; }.dashboard-welcome p { font-size: 11px; }.revised-stats .stat-item { padding: 18px; }.revised-stats .stat-icon { width: 36px; height: 36px; }.stat-label { font-size: 11px; }.analytics-grid { grid-template-columns: minmax(0,1.6fr) minmax(240px,1fr); gap: 15px; }.chart-panel .section-heading { align-items: flex-start; flex-wrap: wrap; gap: 10px; }.chart-panel h2 { font-size: 13px; }.period-switch { margin-left: auto; }.activity-chart-wrap { height: 190px; }.format-chart { width: 153px; height: 153px; }.format-legend { gap: 9px 12px; }.department-shelf { gap: 10px; }.shelf-card { grid-template-columns: 1fr; padding: 18px; }.shelf-card .folder-3d { grid-row: auto; }.shelf-card h3 { margin: 18px 0 5px; }.shelf-card>span { font-size: 9px; }.dashboard-lower { grid-template-columns: 1fr; }.dashboard-lower .activity-list { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }.auth-layout { grid-template-columns: 45% 55%; }.auth-story { padding: 30px 25px; }.auth-story h1 { font-size: 34px; }.auth-main { padding: 35px; }.auth-form-wrap h2 { font-size: 23px; }.auth-sculpture { transform: scale(.83); transform-origin: left center; width: 250px; }.editor-statusbar { flex-wrap: wrap; }.editor-statusbar label { flex: 1; justify-content: flex-end; }.editor-statusbar input { min-width: 150px; }.editor-titlebar .btn { font-size: 11px; } }
@media(max-width:780px) { .sidebar { visibility: hidden; }.menu-open .sidebar { visibility: visible; }.topbar { height: 70px; position: sticky; top: 0; z-index: 1010; }.mobile-brand { display: flex; align-items: center; gap: 6px; font-size: 14px; color: var(--text); white-space: nowrap; }.global-search { margin-left: 12px; }.global-search input { font-size: 10px; }.mobile-bottom-nav { position: fixed; bottom: 0; left: 0; right: 0; z-index: 1020; background: var(--card); border-top: 1px solid var(--border); box-shadow: 0 -3px 15px #21365404; display: flex; align-items: center; justify-content: space-around; padding: 7px 7px calc(7px + env(safe-area-inset-bottom)); }.mobile-bottom-nav>a,.mobile-bottom-nav>button { position: relative; border: 0; background: none; color: var(--muted); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; min-width: 50px; min-height: 46px; font-size: 9px; border-radius: 8px; }.mobile-bottom-nav .icon { width: 20px; height: 20px; }.mobile-bottom-nav .active { color: var(--color-primary); }.mobile-bottom-nav .mobile-deposit { background: var(--org-primary); color: #fff; width: 43px; min-width: 43px; min-height: 43px; border-radius: 13px; box-shadow: 0 5px 11px #2447a326; }.app-footer { margin-bottom: 69px; }.auth-layout { grid-template-columns: 1fr; }.auth-story { display: none; }.auth-main { min-height: 100dvh; padding: 27px 30px; }.auth-form-wrap { max-width: 460px; padding-top: 30px; }.auth-mobile-brand { display: flex; align-items: center; align-self: flex-start; gap: 8px; font-size: 19px; }.auth-org-badge { margin-top: 10px; }.auth-form-wrap h2 { font-size: 27px; }.auth-main>footer { padding-top: 10px; }.demo-profile-grid strong { font-size: 10px; }.demo-profile-grid small { font-size: 9px; }.demo-profile-grid button { min-height: 63px; }.auth-session-note,.auth-local-note,.demo-accounts p { font-size: 10px; }.auth-submit { min-height: 49px; font-size: 13px; }.editor-heading { flex-wrap: wrap; gap: 8px; }.writing-desk { padding: 18px; }.writing-paper { padding: 35px 30px; }.editor-titlebar { padding: 17px; }.editor-titlebar h1 { font-size: 15px; }.document-detail-layout .page-actions { gap: 7px; } }
@media(max-width:580px) { #main-content { padding: 22px 16px; }.page-heading h1 { font-size: 24px; }.page-heading p { font-size: 11px; }.page-heading { margin-bottom: 20px; }.topbar { height: 107px; padding: 9px 14px; display: grid; grid-template-columns: 31px 1fr auto; gap: 5px 7px; align-content: center; }.topbar [data-action=menu] { grid-row: 1; }.mobile-brand { font-size: 16px; grid-column: 2; }.topbar-actions { grid-column: 3; grid-row: 1; }.topbar-actions .profile-button { display: none; }.topbar .global-search { grid-column: 1/-1; grid-row: 2; width: 100%; margin: 4px 0 0; background: var(--soft); border: 1px solid var(--border); border-radius: 7px; padding: 7px 11px; min-height: 33px; }.global-search>.icon { display: block; width: 14px; height: 14px; }.global-search input { font-size: 11px; width: 100%; }.topbar .icon-button { min-width: 31px; min-height: 33px; }.dashboard-welcome { padding: 21px; min-height: 179px; margin-bottom: 17px; }.dashboard-welcome h2 { font-size: 20px; letter-spacing: -.6px; max-width: 230px; line-height: 1.45; }.dashboard-welcome p { font-size: 10px; max-width: 240px; line-height: 1.9; margin: 11px 0; }.dashboard-welcome a { font-size: 10px; }.role-chip { font-size: 9px; margin-bottom: 10px; }.welcome-files { display: none; }.revised-stats { gap: 11px; margin-bottom: 22px; }.revised-stats .stat-item { position: relative; display: block; padding: 15px; min-height: 135px; }.revised-stats .stat-icon { float: right; width: 26px; height: 26px; margin: 0 0 3px 7px; }.revised-stats .stat-icon .icon { width: 14px; height: 14px; }.stat-label { font-size: 10px; display: block; min-height: 32px; }.revised-stats strong { font-size: 25px; margin: 5px 0; }.revised-stats small { font-size: 9px; line-height: 1.8; min-height: 31px; }.analytics-grid { grid-template-columns: 1fr; gap: 15px; margin-bottom: 25px; }.chart-panel { padding: 20px 17px; }.chart-panel h2 { font-size: 13px; }.chart-panel .section-heading p { font-size: 10px; max-width: 260px; }.chart-panel .section-heading { gap: 13px; }.period-switch { margin-left: 0; }.chart-legend { gap: 15px; }.chart-legend span { font-size: 9px; }.activity-chart-wrap { height: 175px; }.format-chart-panel { display: grid; grid-template-columns: 145px 1fr; gap: 0 20px; align-items: center; }.format-chart-panel .section-heading { grid-column: 1/-1; margin-bottom: 4px; }.format-chart { width: 140px; height: 140px; margin: 13px 0 3px; }.format-legend { grid-template-columns: 1fr; gap: 13px; margin-top: 8px; }.format-legend>span { font-size: 10px; }.chart-center strong { font-size: 25px; }.chart-center span { font-size: 9px; }.dashboard-departments>.section-heading { flex-wrap: wrap; gap: 9px; }.dashboard-departments h2 { font-size: 14px; }.department-shelf { grid-template-columns: 1fr 1fr; gap: 11px; }.shelf-card { padding: 19px 17px 16px; }.shelf-card h3 { min-height: 30px; font-size: 11px; margin-top: 18px; }.shelf-card>span { font-size: 10px; }.shelf-card .folder-3d { margin-left: 5px; }.dashboard-lower { gap: 18px; }.dashboard-lower .activity-list { display: block; }.dashboard-lower .activity-panel { padding: 20px; }.document-grid { grid-template-columns: 1fr 1fr; padding: 13px; gap: 11px; }.document-card-preview { height: 127px; }.document-card-preview .file-icon { width: 48px; height: 67px; }.document-card-preview .file-icon>.icon { width: 21px; height: 21px; }.document-card>div { padding: 13px; }.document-card .document-name { font-size: 10px; line-height: 1.8; }.document-card p { font-size: 9px; }.document-card-bottom .status-badge { font-size: 8px; }.document-card-bottom small { font-size: 8px; }.document-card-bottom { gap: 8px; }.folder-grid { gap: 10px; }.folder-card { min-height: 75px; }.folder-card strong { font-size: 10px; }.folder-card span { font-size: 9px; }.filters .form-select { min-height: 40px; font-size: 10px; }.filter-search .form-control { min-height: 42px; font-size: 11px; }.filter-search .icon { top: 14px; }.pagination-bar .btn { min-height: 37px; }.view-toggle .icon-button { width: 34px; height: 34px; }.document-detail-layout { display: flex; flex-direction: column; }.document-preview,.document-inspector { width: 100%; }.document-canvas { padding: 13px; min-height: 300px; }.paper-preview { padding: 24px 20px; }.paper-rich-content { font-size: 12px; }.document-view-tabs { gap: 15px; padding: 0 14px; }.document-view-tabs .btn { font-size: 10px; }.pdf-navigation { gap: 9px; font-size: 10px; }.pdf-navigation .btn { font-size: 9px; }.preview-footnote { font-size: 10px; line-height: 1.8; }.page-actions .btn { min-height: 39px; font-size: 10px; }.auth-main { padding: 25px 23px; }.auth-form-wrap { padding-top: 29px; }.auth-form-wrap h2 { font-size: 25px; }.auth-form-wrap>p { font-size: 12px; margin-bottom: 26px; }.auth-org-badge { margin-bottom: 19px; }.auth-space { font-size: 10px; }.auth-form-wrap .form-control { font-size: 13px; min-height: 49px; }.password-label a { font-size: 10px; }.auth-form-wrap .form-label { font-size: 11px; }.demo-profile-grid { gap: 8px; }.demo-profile-grid button { padding: 11px 9px; }.demo-profile-grid strong { font-size: 9px; }.demo-profile-grid small { font-size: 8px; }.demo-profile-grid .avatar { width: 25px; height: 25px; }.auth-local-note { font-size: 9px; }.auth-main>footer { font-size: 9px; }.editor-titlebar { gap: 17px; }.editor-titlebar>div:last-child { justify-content: space-between; width: 100%; }.editor-titlebar .btn { min-height: 41px; font-size: 10px; }.editor-titlebar h1 { font-size: 14px; }.editor-titlebar .file-icon { width: 30px; }.editor-save-status { font-size: 9px; }.rich-toolbar { padding: 9px 11px; gap: 2px; }.rich-toolbar select { width: 115px; font-size: 10px; }.format-button { padding: 8px; font-size: 10px; }.format-button .icon { width: 13px; }.rich-toolbar>span { margin: 0 2px; }.writing-desk { padding: 12px; min-height: 420px; max-height: none; }.writing-paper { padding: 25px 20px; font-size: 13px; min-height: 580px; }.writing-paper h1 { font-size: 23px; }.writing-paper h2 { font-size: 18px; }.editor-statusbar { padding: 13px; gap: 13px; font-size: 9px; }.editor-statusbar label { width: 100%; flex: auto; justify-content: space-between; gap: 8px; }.editor-statusbar input { width: 190px; min-width: 0; font-size: 10px; min-height: 35px; }.editor-notice { padding: 12px 14px; font-size: 9px; line-height: 1.8; }.sheet-topbar { flex-wrap: wrap; gap: 7px; padding: 9px 12px; }.sheet-cell-reference { min-width: 37px; }.sheet-tools { width: 100%; border-top: 1px solid var(--border); padding-top: 5px; }.sheet-tools .btn { min-height: 31px; }.sheet-cell-input { font-size: 13px; min-height: 39px; width: 128px; }.workbook-bottom { display: block; }.sheet-tabs { border-bottom: 1px solid var(--border); }.sheet-pagination { justify-content: center; font-size: 9px; }.sheet-pagination .btn { min-height: 33px; font-size: 9px; }.modal-dialog { margin: 10px; }.modal-header,.modal-body { padding: 19px; }.modal-body { max-height: 68dvh; }.modal-footer .btn { min-height: 44px; }.edit-after-upload { font-size: 10px; align-items: flex-start; }.dropzone { min-height: 194px; }.dropzone strong { font-size: 12px; }.dropzone small { font-size: 9px; }.dropzone span { font-size: 10px; }.upload-types b { font-size: 9px; }.toast-container { bottom: 69px!important; }.is-editor .app-footer { margin-bottom: 69px; } }
/* Les listes documentaires deviennent des fiches lisibles sur téléphone. */
@media(max-width:580px) {
    .archive-table { display: block; min-width: 0!important; width: 100%; }
    .archive-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
    .archive-table tbody { display: block; padding: 0 13px 8px; }
    .archive-table tbody tr { position: relative; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 5px 10px; margin: 10px 0; padding: 15px; border: 1px solid var(--border); border-radius: 8px; }
    .archive-table tbody td { padding: 0; border: 0; font-size: 10px; min-width: 0; }
    .archive-table tbody td:first-child { grid-column: 1/-1; padding-right: 22px; margin-bottom: 7px; }
    .archive-table tbody td:last-child { position: absolute; top: 12px; right: 9px; }
    .archive-table tbody td:nth-child(2) { grid-column: 1; }
    .archive-table tbody td:nth-child(3) { grid-column: 2; text-align: right; }
    .archive-table tbody td:nth-child(3) .cell-meta { display: none; }
    .archive-table .document-name { font-size: 11px; line-height: 1.7; }.archive-table .file-cell>div>span { font-size: 9px; }.archive-table .cell-date { font-size: 9px; }.archive-table .status-badge { font-size: 9px; }.archive-table .file-cell { gap: 10px; }.archive-table .department-tag { font-size: 8px; }.archive-table .icon-button { width: 29px; height: 32px; }.archive-table .icon-button .icon { width: 17px; }
}
@media(max-width:360px) { #main-content { padding-left: 12px; padding-right: 12px; }.format-chart-panel { grid-template-columns: 125px 1fr; gap: 0 10px; }.format-chart { width: 125px; height: 125px; }.chart-panel { padding: 17px 14px; }.document-grid { grid-template-columns: 1fr; }.document-card { display: grid; grid-template-columns: 94px 1fr; }.document-card-preview { height: 100%; min-height: 125px; border-bottom: 0; border-right: 1px solid var(--border); }.auth-form-wrap h2 { font-size: 23px; }.auth-main { padding-left: 20px; padding-right: 20px; } }
@media(prefers-reduced-motion:reduce) { .shelf-card,.document-card,.sidebar { transition: none!important; } }
@media(max-width:580px) {
    .user-table tbody td:last-child,.audit-table tbody td:last-child { position: static; grid-column: 1/-1; margin-top: 7px; }
    .user-table tbody td:nth-child(3),.audit-table tbody td:nth-child(3) { overflow-wrap: anywhere; max-width: 145px; }
    .user-table .person-cell { gap: 10px; }
    .user-table .person-cell small { overflow-wrap: anywhere; }
    .user-table tbody td:last-child .btn { width: 100%; min-height: 40px; font-size: 11px; }
    .audit-table tbody td:last-child { color: var(--muted); }
    .page-actions { gap: 7px; }
}
