:root{font-family:system-ui,sans-serif;background:#101418;color:#f4f1ea}*{box-sizing:border-box}.shell{min-height:100%;padding:16px}.landscape{min-width:900px}.kiosk-header{display:flex;gap:16px;align-items:center;justify-content:space-between;margin-bottom:16px}.kiosk-brand{display:flex;align-items:center;gap:12px;min-width:0;flex:1}.kiosk-logo{height:48px;max-width:160px;object-fit:contain;background:#fff;border-radius:4px;padding:4px}.kiosk-raison-sociale{font-size:14px;opacity:.85}.kiosk-header h1{margin:0}.trombi-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.trombi-header-center{display:flex;flex-direction:column;align-items:center;justify-self:center;gap:4px;min-width:0}.trombi-horloge{justify-self:start;display:flex;flex-direction:column;align-items:flex-start;gap:2px;line-height:1.2}.trombi-horloge-date{font-size:16px}.trombi-horloge-heure{font-size:28px;font-weight:700;font-variant-numeric:tabular-nums}.trombi-header .kiosk-actions{justify-self:end}.trombi-dbname-logo{height:72px;max-width:240px}.trombi-vide{margin:0;max-width:720px;text-align:center;font-size:22px;line-height:1.45}.trombi-shell{min-height:100%;display:flex;flex-direction:column}.trombi-zone{flex:1;display:flex;flex-direction:column;justify-content:safe center;min-height:0}.kiosk-actions{display:flex;gap:8px;align-items:center}.modal-bd{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:20}.modal-sheet{width:min(520px,92vw);max-height:80vh;overflow:auto;background:#1c242c;padding:16px;display:flex;flex-direction:column;gap:12px}.modal-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.modal-head h2{margin:0}.exploitant-list{display:flex;flex-direction:column;gap:8px}.exploitant-item{display:flex;flex-direction:column;align-items:flex-start;gap:4px;background:#101418;color:inherit;border:2px solid transparent;padding:12px;cursor:pointer;text-align:left}.exploitant-item.on{border-color:#2f6f4e}.exploitant-nom{opacity:.7;font-size:14px}.trombi-masque{visibility:hidden}.trombi-veille{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#000;display:flex;align-items:center;justify-content:center}.trombi-veille-photo{max-width:100%;max-height:100%;object-fit:contain}.trombi-grid{display:flex;flex-wrap:wrap;justify-content:center;align-content:center;align-items:flex-start;gap:60px;width:100%}.avatar-card{width:130px;background:#1c242c;border:0;color:inherit;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px}.avatar-slot{position:relative;display:inline-flex}.avatar-declaration{position:absolute;right:-4px;bottom:-4px;width:26px;height:26px;border-radius:50%;background:#1b7f3a;color:#fff;display:flex;align-items:center;justify-content:center;border:2px solid #101418}.avatar-declaration svg{width:14px;height:14px;fill:currentColor}.avatar-production-gauche{position:absolute;left:-4px;top:-4px;width:26px;height:26px;border-radius:50%;background:#c47d12;color:#fff;display:flex;align-items:center;justify-content:center;border:2px solid #101418}.avatar-production-gauche svg{width:14px;height:14px;fill:currentColor}.avatar-production{position:absolute;right:-4px;top:-4px;width:26px;height:26px;border-radius:50%;background:#c47d12;color:#fff;display:flex;align-items:center;justify-content:center;border:2px solid #101418}.avatar-production svg{width:14px;height:14px;fill:currentColor}.avatar{width:80px;height:80px;border-radius:50%;background:#2f6f4e;display:flex;align-items:center;justify-content:center;font-size:28px;position:relative;overflow:hidden;border:2px solid transparent;flex:0 0 auto}.avatar-photo{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;border-radius:50%}.avatar-letters{position:relative}.btn{min-height:48px;padding:8px 16px;font-size:18px;cursor:pointer}.btn.primary{background:#2f6f4e;color:#fff;border:0}.login-shell{min-height:100%;display:flex;align-items:center;justify-content:center}.login-card{max-width:560px;width:100%;margin:24px auto;padding:28px 32px;background:#1c242c;border-radius:12px}.login-card h1{margin:0 0 8px;font-size:32px}.login-card p{margin:0 0 12px;line-height:1.45}.login-next{opacity:.92}.login-help{font-size:15px;opacity:.85}.login-error{color:#f0c14b;background:#f0c14b1f;padding:12px 14px;border-radius:8px}.login-code{display:flex;flex-direction:column;gap:8px;margin-top:8px}.login-card label{font-weight:700}.login-card input{min-height:48px;padding:8px 12px;font-size:18px;color:#101418;background:#f4f1ea;border:0;border-radius:8px}.login-or{display:flex;align-items:center;gap:12px;margin:20px 0 12px;opacity:.7}.login-or:before,.login-or:after{content:"";flex:1;height:1px;background:#f4f1ea59}.login-card .btn{width:100%;border-radius:8px}.login-card .btn:disabled{opacity:.6;cursor:progress}.login-google{background:#f4f1ea;color:#101418;border:0}.warn{color:#f0c14b}.edit-layout{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:16px}.badge,.pastille{display:block;margin:8px 0;padding:12px;background:#1c242c;border:2px solid transparent;color:inherit;cursor:pointer}.badge.on,.pastille.on{border-color:#2f6f4e}.badge.location{outline:3px solid #f0c14b}.numpad{display:grid;grid-template-columns:repeat(3,80px);gap:8px}.numpad button{min-height:64px;font-size:28px}.duree{font-size:40px;margin:8px 0}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:32px;gap:16px}.overlay-choix-jour{max-width:920px;margin:0;padding:0 24px;text-align:center}.overlay-choix-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:16px}.overlay-dialog{width:min(720px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto;background:#fff;color:#1c242c;border-radius:12px;padding:24px;display:flex;flex-direction:column;gap:16px;font-size:16px}.overlay-dialog .overlay-choix-jour{font-size:22px;font-weight:700}.overlay-dialog .btn:not(.primary){background:#fff;color:#1c242c;border:1px solid #c8c8c8}.decl-validation-vide{margin:0;text-align:center}.decl-validation-lignes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.decl-validation-ligne{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;background:#f7f4ee;border-radius:8px;padding:10px 12px}.decl-validation-libelle{display:flex;flex-direction:column;gap:2px;min-width:0}.decl-validation-affaire{font-weight:700}.decl-validation-etape,.decl-validation-materiel{font-size:14px}.decl-validation-temps{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex:0 0 auto;font-variant-numeric:tabular-nums}.decl-validation-heure{display:flex;align-items:baseline;gap:2px;font-weight:700}.decl-validation-duree{font-size:14px}.decl-notification{margin:0;width:min(720px,calc(100vw - 32px));background:#fff;color:#1c242c;border-radius:12px;border-top:6px solid #2f6f4e;padding:24px 32px;text-align:center;font-size:22px;font-weight:700}.sticky-return{position:sticky;top:8px}.planning-head,.planning-row{display:grid;grid-template-columns:160px repeat(7,1fr);gap:4px}.planning-sticky{position:sticky;top:0;z-index:6;background:#101418;margin:-16px -16px 0;padding:16px 16px 8px}.planning-toolbar{margin-bottom:8px;justify-content:flex-start}.planning-toolbar h1{flex:1;text-align:center}.planning-toolbar-fin{display:flex;align-items:center;gap:0;margin-left:auto}.planning-page .planning-head,.planning-page .planning-row{grid-template-columns:160px repeat(var(--planning-jours, 7),1fr);gap:0}.planning-head>span{display:flex;align-items:center;justify-content:center;text-align:center;min-height:36px;font-weight:700}.planning-head>span,.planning-user,.planning-cell{border-left:1px solid rgba(244,241,234,.28)}.planning-head>span:last-child,.planning-row>:last-child{border-right:1px solid rgba(244,241,234,.28)}.planning-user .avatar{width:60px;height:60px;font-size:21px}button.planning-user{color:inherit;font:inherit;background:transparent;cursor:pointer;width:100%;border-top:0;border-bottom:0}.planning-page.planning-mois .planning-head,.planning-page.planning-mois .planning-row{grid-template-columns:repeat(var(--planning-jours, 7),1fr)}.planning-mois-identite{display:flex;justify-content:center;padding-bottom:8px}.planning-mois-identite .planning-user{border:0}.planning-jour-numero{font-size:12px;font-weight:700;opacity:.8}.planning-cell-vide{background:#0000002e}.planning-row{background:#1c242c;border-radius:6px}.planning-head+.planning-row,.planning-row+.planning-row{margin-top:6px}.planning-row-alt{background:#314252}.planning-user{display:flex;flex-direction:column;align-items:center;align-self:start;gap:4px;padding:8px 4px;text-align:center}.planning-user-prenom,.planning-user-nom{max-width:100%;overflow-wrap:anywhere;line-height:1.2;font-size:14px}.planning-user-nom{font-weight:700}.planning-grid{overflow:auto}.planning-cell{background:transparent;min-height:48px;padding:4px;font-size:12px;display:flex;flex-direction:column;gap:6px;align-items:stretch}.planning-tuile{display:block;width:100%;margin:0;padding:6px;background:#fff;color:#1c242c;border:0;border-top:8px solid #383838;border-radius:5px;box-shadow:0 0 5px #00000080;text-align:left;font:inherit;cursor:pointer}article.planning-tuile{cursor:default}.planning-tuile-head{display:flex;align-items:flex-start;gap:6px}.planning-tuile-textes{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.planning-tuile-nom{font-size:12px;font-weight:700}.planning-tuile-meta{font-size:11px;color:#4f4f4f;overflow-wrap:anywhere}.planning-tuile-duree{margin-left:auto;font-size:12px;font-weight:700;white-space:nowrap}.planning-tuile .etape-pastille{width:16px;height:16px}.planning-tuile .etape-pastille.avec-icone{width:auto;height:auto;padding:2px}.planning-tuile .etape-pastille-svg{width:12px;height:12px}.planning-affaire-details{margin:0;display:flex;flex-direction:column;gap:8px}.planning-affaire-details div{display:grid;grid-template-columns:180px 1fr;gap:8px}.planning-affaire-details dt{font-weight:700}.planning-affaire-details dd,.planning-affaire-etape,.planning-affaire-vide{margin:0}.split{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ref-search{width:100%;padding:8px}.dev-panel{margin-top:24px}.decl-layout{display:grid;grid-template-columns:minmax(280px,380px) minmax(320px,1fr) minmax(300px,420px);gap:16px;align-items:start}.decl-affaires{max-height:calc(100vh - 140px);overflow:auto}.decl-search{position:sticky;top:0;z-index:1;margin-bottom:8px;font-size:18px;background:#fff;color:#1c242c;border:1px solid #c8c8c8;border-radius:6px}.decl-saisie,.decl-recap{background:#f7f4ee;color:#1c242c;border-radius:8px;padding:16px}.decl-saisie{display:flex;flex-direction:column;align-items:center;gap:12px}.decl-recap{display:flex;flex-direction:column;gap:8px;max-height:calc(100vh - 140px)}.decl-recap h2{margin:0}.decl-recap-liste{overflow:auto;display:flex;flex-direction:column;gap:8px}.decl-recap-carte{display:flex;flex-direction:column;align-items:stretch;gap:6px;width:100%;background:#fff;color:inherit;border:0;border-radius:8px;padding:8px;text-align:left;cursor:pointer}.decl-recap-carte.on{box-shadow:inset 0 0 0 3px orange}.decl-recap-principale{display:flex;align-items:flex-start;gap:8px;width:100%}.decl-recap-identite{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.decl-recap-head{display:flex;gap:8px;align-items:center}.decl-recap-affaire{flex:1;min-width:0}.decl-recap-etape{font-size:13px;font-weight:700}.decl-recap-temps{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex:0 0 auto;font-variant-numeric:tabular-nums}.decl-recap-heure{display:flex;align-items:baseline;gap:2px;font-size:16px;font-weight:700}.decl-recap-heure-marque{font-size:12px;font-weight:700;text-decoration:none;color:#2f6f4e}.decl-recap-duree{font-size:13px}.decl-recap-materiel{display:flex;align-items:center;gap:8px;font-size:13px;padding-left:4px}.avatar.avatar-materiel{width:28px;height:28px;font-size:11px}.decl-recap-cumul{margin:0;display:grid;gap:4px;font-size:14px}.decl-recap-cumul-ligne{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:baseline}.decl-recap-cumul dt,.decl-recap-cumul dd{margin:0}.decl-recap-cumul dd{text-align:right;font-variant-numeric:tabular-nums}.decl-recap-total{font-weight:700}.decl-recap-valider{width:100%;margin-top:auto}.decl-recap-valider:disabled{opacity:.45;cursor:default}.affaire-card{background:#fff;color:#1c242c;border-radius:8px;margin-bottom:8px;padding:8px}.affaire-card.on{box-shadow:inset 0 0 0 4px orange}.affaire-card.vide{opacity:.55}.affaire-head{display:flex;gap:10px;align-items:center;width:100%;background:transparent;border:0;color:inherit;text-align:left;cursor:pointer;padding:4px}.nature-pastille{width:42px;height:42px;border-radius:50%;border:4px solid #2f6f4e;display:flex;align-items:center;justify-content:center;font-weight:700;flex:0 0 auto;overflow:hidden;background:#fff}.nature-pastille img{width:100%;height:100%;object-fit:cover}.affaire-text{display:flex;flex-direction:column;min-width:0}.affaire-client{font-weight:700;font-size:14px}.affaire-ref{font-weight:700;font-size:13px;word-break:break-word}.affaire-desc{font-size:12px;font-weight:700;overflow:hidden;text-overflow:ellipsis}.etape-list{display:flex;flex-direction:column;gap:4px;margin-top:6px}.etape-btn{display:flex;align-items:center;gap:8px;width:100%;border:0;background:#f3f3f3;color:#1c242c;padding:6px 8px;cursor:pointer;text-align:left}.etape-btn.on{background:orange}.etape-nom{min-width:0}.etape-pastille{width:23px;height:23px;border-radius:25%;flex:0 0 auto;display:flex;align-items:center;justify-content:center;color:#fff}.etape-pastille.avec-icone{width:auto;height:auto;padding:7px}.etape-pastille-svg{width:24px;height:24px;display:block;fill:currentColor}.etape-heures{margin-left:auto;flex:0 0 auto;width:28px;height:28px;border-radius:50%;background:#1b7f3a;color:#fff;display:flex;align-items:center;justify-content:center}.etape-heures svg{width:16px;height:16px;fill:currentColor}.hm-box{background:#d6e9f0;width:100%;text-align:center;padding:12px;border-radius:4px}.hm-box p,.decl-label{margin:0;font-size:18px;text-align:center}.hm-line{display:flex;align-items:center;justify-content:center;gap:8px}.hm-field{width:3.2em;min-height:64px;font-size:2rem;font-weight:700;text-align:center;border:2px solid #c8c8c8;border-radius:6px;background:#fff;color:#1c242c;cursor:pointer}.hm-field.on{border-color:#2f6f4e;box-shadow:0 0 0 2px #2f6f4e}.numpad-legacy{display:grid;grid-template-columns:repeat(3,76px);gap:8px;justify-content:center}.numpad-legacy button{min-height:58px;font-size:22px;background:#f3f3f3;color:#222;border:1px solid #c8c8c8;border-radius:8px;cursor:pointer}.btn.link{background:transparent;color:#1d4e89;border:0;text-decoration:underline}.decl-error{color:#b00020;font-weight:700;margin:0}.decl-empty{margin:0;text-align:center}.decl-etape-identite{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%}.decl-etape-identite .etape-pastille{width:48px;height:48px}.decl-etape-identite .etape-pastille.avec-icone{width:auto;height:auto;padding:10px}.decl-etape-identite .etape-pastille-svg{width:32px;height:32px}.decl-etape-nom{font-weight:700;text-align:center}.materiel-overlay{background:#00000073}.materiel-fermer{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;background:#fff;padding-bottom:8px}.materiel-fermer h2{margin:0;font-size:22px}.materiel-sheet{width:min(960px,96vw);max-height:92vh;overflow:auto;background:#fff;color:#1c242c;padding:16px;display:flex;flex-direction:column;gap:16px;align-items:center}.materiel-cols{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%}.materiel-col h3{margin:0 0 8px;background:#eaeaea;padding:8px;font-size:16px}.materiel-col:last-child{border-left:1px solid #d0d0d0;padding-left:12px}.materiel-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.materiel-nom{font-size:16px}.materiel-vide{font-size:14px}.edit-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.edit-identity{display:flex;align-items:center;gap:12px;min-width:0;justify-self:start}.edit-identity-name{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.avatar.avatar-edit{width:60px;height:60px;font-size:21px}.edit-header-date{justify-self:center;font-size:32px;font-weight:700;white-space:nowrap}.edit-header-actions{justify-self:end;display:flex;gap:8px;align-items:center}.sel-choix{display:flex;flex-direction:column;gap:8px}.sel-ecran{position:relative;min-height:calc(100vh - 140px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.sel-plein{flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:center;align-content:center;gap:16px;width:100%}.sel-ecran .sel-retour{position:absolute;top:0;left:0;margin:0}.sel-ecran .sel-titre{position:absolute;top:0;left:50%;transform:translate(-50%);margin:0;text-align:center}.sel-item{position:relative;overflow:hidden;min-height:72px;padding:14px;border:0;border-radius:8px;font-size:18px;text-align:left;cursor:pointer;color:#1c242c}.sel-plein .sel-item{width:min(320px,46vw);min-height:160px;font-size:22px}.sel-item-image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.sel-item-nom{position:relative;z-index:1;display:inline-block;background:#ffffffdb;padding:6px 10px;border-radius:6px}.sel-retour{margin-bottom:8px}.sel-titre{margin:0 0 8px;font-weight:700}.sel-hint{margin:8px 0;font-size:16px}.suivi-ecran{height:100%;min-height:100%;display:flex;flex-direction:column;padding:80px 16px 16px}.suivi-header{position:fixed;top:0;left:0;right:0;z-index:30;height:64px;display:flex;align-items:center;padding:0 16px;background:#101418}.suivi-centre{flex:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:minmax(0,1fr);align-items:stretch;overflow:hidden;text-align:center;gap:12px;width:100%;min-height:0}.suivi-retour{min-width:160px;min-height:48px}.suivi-zone{min-width:0;min-height:0;overflow:auto;display:flex;flex-direction:column}.suivi-zone-scan{justify-content:center}.suivi-zone-declarations{overflow:hidden}.suivi-zone-statut{justify-content:safe center}.suivi-zone-vide{margin:12px 0;font-size:18px;opacity:.8}.suivi-declarations{flex:1;min-height:0;width:100%;display:flex;flex-direction:column;text-align:left}.suivi-declarations-scroll{flex:1;min-height:0;overflow:auto}.suivi-declarations-titre{margin:0 0 8px;font-size:22px;text-align:center}.suivi-declarations ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.suivi-declaration{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:center;padding:8px 12px;background:#1c242c;border-radius:8px;font-size:16px}.suivi-declaration>:nth-child(1),.suivi-declaration>:nth-child(2){grid-column:1 / -1}.suivi-declaration-encours{background:#e0a82e;color:#1c1404;box-shadow:inset 8px 0 #ffe08a}.suivi-declaration-interrompu{background:#3a2a22;box-shadow:inset 6px 0 #e07a3d}.suivi-declaration-cloture{background:#1e2e28;box-shadow:inset 6px 0 #6fbf8a}.suivi-declaration-entete{position:sticky;top:0;z-index:2;background:#101418;color:#f4f1ea;font-size:13px;letter-spacing:.04em;text-transform:uppercase;opacity:1;padding-bottom:8px}.suivi-declaration-affaire{background:#fff;color:#1c242c;border-radius:8px;cursor:default;min-width:0}.suivi-declarations-cumul{flex:0 0 auto;margin:0;padding-top:8px;border-top:1px solid rgba(244,241,234,.35);text-align:right;font-size:20px;font-weight:700}.suivi-form{display:flex;flex-direction:column;align-items:center;width:min(720px,100%);margin:0 auto;gap:8px}.suivi-titre{display:flex;align-items:center;justify-content:center;width:100%;min-height:40px;margin:0;font-size:28px;font-weight:700;line-height:1.2}.suivi-consigne{margin:0;font-size:24px;line-height:1.3}.suivi-code{width:100%;font-size:32px;min-height:72px;padding:8px 16px;text-align:center}.suivi-fiche{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%}.suivi-identite{font-size:28px;font-weight:700;margin:0}.suivi-affaire{width:100%;margin:0;text-align:left}.suivi-affaire .affaire-head{cursor:default}.suivi-statut{display:flex;flex-direction:column;align-items:center;gap:4px;margin:0;width:100%;min-width:0;padding:16px 28px;border:4px solid #f0c14b;border-radius:12px;background:#1c242c}.suivi-statut-libelle{font-size:18px;letter-spacing:.08em;text-transform:uppercase}.suivi-statut-valeur{font-size:40px;font-weight:700;line-height:1.15}.suivi-date{margin:0;font-size:24px}.suivi-actions{display:flex;gap:16px;flex-wrap:wrap;justify-content:center}.suivi-zone-statut .suivi-actions .btn{min-height:72px;min-width:0;width:100%;font-size:22px}.suivi-choix{flex-direction:column;width:100%}.suivi-choix .btn{display:flex;align-items:center;width:100%;justify-content:flex-start;gap:16px;padding:0 24px}.suivi-message{font-size:20px;margin:0;text-align:center}.suivi-confirmation-identite{margin:0;text-align:center;font-size:20px;font-weight:700}
