/* Novadesko Teams (05/11/2026) : page /{locale}/teams. Se charge après public/assets/home/home.css (composants ndh-).
   ndtm- : sections de la page ; tm- : fausse app Teams de la démo (public/assets/teams/teams-demo.js). */

/* ================= Page ================= */
.ndtm-hero{padding-bottom:210px}
.ndtm-badge{display:inline-flex;align-items:center;gap:9px;margin:0 0 22px;padding:6px 14px 6px 7px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);color:#fff;font-size:12.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.ndtm-badge img{width:24px;height:24px;border-radius:7px;display:block}
.ndtm-ico{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:var(--ndh-soft);color:var(--ndh-brand);font-size:21px;line-height:1}
.ndtm h3{font-size:18px;font-weight:600;color:var(--ndh-ink);margin:16px 0 8px;letter-spacing:-.01em}
.ndtm li p{font-size:15px;line-height:1.6;color:var(--ndh-text);margin:0}
.ndtm ul,.ndtm ol{list-style:none;margin:0;padding:0}

.ndtm-benefit-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.ndtm-benefit-list li{padding:26px 24px;border:1px solid var(--ndh-line);border-radius:20px;background:#fff}

.ndtm-feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.ndtm-feature{position:relative;min-width:0;padding:24px 22px;border-radius:20px;background:var(--ndh-soft);border:1px solid #efe8fa}
.ndtm-feature .ndtm-ico{background:#fff}
.ndtm-feature--clock,.ndtm-feature--projects,.ndtm-feature--privacy{grid-column:span 2}
.ndtm-feature--clock .ndtm-ico{background:#dcfce7;color:#047857}
.ndtm-feature-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.ndtm-tag{display:inline-block;padding:3px 9px;border-radius:999px;background:#fff;border:1px solid #e3d8f6;color:#5b4a7a;font-size:11.5px;font-weight:600;letter-spacing:.02em;font-style:normal;white-space:nowrap}
.ndtm-tag--soon{background:#fff7ed;border-color:#fed7aa;color:#9a3412}
.ndtm-tag--live{background:#ecfdf5;border-color:#a7f3d0;color:#047857}
.ndtm-feature-note{margin-top:12px!important;font-size:13.5px!important;color:var(--ndh-muted)!important;display:flex;align-items:center;gap:8px;flex-wrap:wrap}

.ndtm-apps-box{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:44px;align-items:center;padding:44px;border-radius:28px;background:#faf8fe;border:1px solid var(--ndh-line)}
.ndtm-apps-icon{display:block;width:72px;height:72px;border-radius:18px;box-shadow:0 6px 14px -8px rgba(42,11,82,.4);margin-bottom:20px}
.ndtm-apps-box h2{font-size:clamp(1.6rem,2.6vw,2.2rem);font-weight:600;letter-spacing:-.02em;color:var(--ndh-ink);margin:0 0 12px}
.ndtm-apps-text>p{margin:0;font-size:16px;line-height:1.6;color:var(--ndh-text)}
.ndtm-apps-text .ndtm-apps-manager{display:flex;gap:10px;margin-top:18px;padding:14px 16px;border-radius:14px;background:#fff;border:1px solid var(--ndh-line);font-size:14.5px}
.ndtm-apps-manager i{color:var(--ndh-brand-2);font-size:19px;line-height:1.3}
.ndtm-app-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media (min-width:1024px){.ndtm-app-list{grid-template-columns:minmax(0,1fr);gap:10px}.ndtm-app-list li{padding:11px 14px}}
.ndtm-app-list li{display:flex;align-items:center;gap:12px;min-width:0;padding:14px 14px;border-radius:16px;background:#fff;border:1px solid var(--ndh-line)}
.ndtm-app-list li>i{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--ndh-soft);color:var(--ndh-ink);font-size:21px}
.ndtm-app-list li.is-live>i{background:#ede6fb;color:var(--ndh-brand)}
.ndtm-app-list div{flex:1;min-width:0;display:flex;flex-direction:column}
.ndtm-app-list b{font-size:15px;font-weight:600;color:var(--ndh-ink)}
.ndtm-app-list span{font-size:13px;color:var(--ndh-muted);line-height:1.35}

.ndtm-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.ndtm-steps li{position:relative;padding:24px 22px 26px;border-radius:20px;border:1px solid var(--ndh-line);background:#fff}
.ndtm-steps li:not(:last-child)::after{content:"";position:absolute;top:44px;right:-21px;width:22px;height:1px;background:var(--ndh-line)}
.ndtm-step-n{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--ndh-soft);color:var(--ndh-brand);font-weight:700;font-size:16px}

@media (max-width:1023px){
  .ndtm-benefit-list,.ndtm-feature-grid,.ndtm-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ndtm-steps li:not(:last-child)::after{display:none}
  .ndtm-apps-box{grid-template-columns:1fr;padding:32px}
}
@media (max-width:640px){
  .ndtm-hero{padding-bottom:120px}
  .ndtm-benefit-list,.ndtm-feature-grid,.ndtm-steps,.ndtm-app-list{grid-template-columns:minmax(0,1fr)}
  .ndtm-feature--clock,.ndtm-feature--projects,.ndtm-feature--privacy{grid-column:auto}
  .ndtm-apps-box{padding:26px 18px;border-radius:22px}
}
@media (max-width:699px){
  .ndtm .ndh-ctas{flex-direction:column;align-items:stretch}
  .ndtm .ndh-ctas .ndh-btn{justify-content:center;min-height:52px;white-space:normal;text-align:center}
}

/* ================= Démo : cadre et commandes ================= */
.ndtm-demo-wrap{position:relative;max-width:calc(var(--ndh-max) + 2 * var(--ndh-gutter));margin:-170px auto 0;padding:0 var(--ndh-gutter)}
.ndtm-demo-head{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.tm-stage{position:relative;width:100%;height:600px;border-radius:18px;background:#F7F6FB;overflow:hidden;box-shadow:0 18px 40px -24px rgba(30,1,56,.35),0 0 0 1px rgba(20,10,36,.08);contain:layout paint;font-family:"NdDemoInter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:#17112B}
.tm-stage.is-c{height:auto;max-width:440px;margin:0 auto;border-radius:28px;display:flex;flex-direction:column;background:#fff}
.tm-noscript{padding:40px;text-align:center}
.tm-app{position:relative;display:flex;height:100%;font-size:14px;-webkit-user-select:none;user-select:none}
.is-c .tm-app{flex-direction:column;height:620px}
.tm-app button{font:inherit;color:inherit;background:none;border:0;padding:0;margin:0;cursor:pointer;-webkit-tap-highlight-color:transparent}
.tm-app button:disabled{cursor:default}
.tm-app i[class^="ri-"]{line-height:1}
.tm-app h3,.tm-app h4,.tm-app p{margin:0}
.tm-app ul,.tm-app ol{list-style:none;margin:0;padding:0}

.tm-ctrl{display:flex;align-items:center;gap:16px;margin-top:18px}
.tm-chaps{flex:1;min-width:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;list-style:none;margin:0;padding:0}
.tm-chaps button{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:8px 8px 10px;border-radius:12px;border:0;background:transparent;cursor:pointer;font:inherit;text-align:left;color:var(--ndh-muted);transition:background .2s;min-height:44px}
.tm-chaps button:hover{background:var(--ndh-soft)}
.tm-chap-n{font-size:11.5px;font-weight:700;color:#b3a9c9}
.tm-chap-name{font-size:13.5px;font-weight:600;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.tm-chap-bar{display:block;width:100%;height:3px;border-radius:3px;background:var(--ndh-line);overflow:hidden}
.tm-chap-bar i{display:block;height:100%;width:0;background:var(--ndh-brand-2);border-radius:inherit}
.tm-chaps .is-done .tm-chap-bar i{width:100%}
.tm-chaps .is-on button{color:var(--ndh-ink)}
.tm-chaps .is-on .tm-chap-n{color:var(--ndh-brand-2)}
.tm-chaps .is-on .tm-chap-bar i{width:var(--p,0%)}
.tm-btns{display:flex;align-items:center;gap:6px;flex:none}
.tm-cb{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:44px;height:44px;padding:0 10px;border-radius:12px;border:1px solid var(--ndh-line);background:#fff;color:var(--ndh-ink);font:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}
.tm-cb:hover{background:var(--ndh-soft);border-color:#d9cdee}
.tm-cb i{font-size:20px}
.tm-cb--main{background:var(--ndh-brand);border-color:transparent;color:#fff}
.tm-cb--main:hover{background:var(--ndh-brand);filter:brightness(1.12)}
.tm-cb--prev span,.tm-cb--next span,.tm-cb--full{display:none}
.tm-cb:focus-visible,.tm-chaps button:focus-visible{outline:2px solid var(--ndh-brand-2);outline-offset:2px}
.tm-disclaimer{margin:10px 2px 0;font-size:12.5px;color:#8a849b}

/* Guide de l'étape : bulle dans la fenêtre sur ordinateur, carte sous l'écran sur téléphone */
.tm-guide{position:absolute;right:18px;bottom:18px;z-index:30;width:300px;padding:14px 16px;border-radius:16px;background:#17112B;color:#fff;box-shadow:0 8px 20px -10px rgba(20,10,36,.45)}
.tm-guide-n{display:block;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#c4b5fd;margin-bottom:4px}
.tm-guide b{display:block;font-size:15px;font-weight:600;line-height:1.3;margin-bottom:5px}
.tm-guide p{margin:0;font-size:13.5px;line-height:1.5;color:rgba(255,255,255,.84)}
.tm-guide-try{display:none;align-items:center;gap:6px;margin-top:10px;padding:5px 10px;border-radius:999px;background:rgba(167,139,250,.22);color:#ddd6fe;font-size:12.5px;font-weight:600}
.tm-guide.is-try .tm-guide-try{display:inline-flex}
.is-c .tm-guide{position:static;width:auto;border-radius:0;padding:14px 18px 16px;box-shadow:none;min-height:118px}
.is-c .tm-guide b{font-size:16px}
.is-c .tm-guide p{font-size:15px}

/* Téléphone : commandes en grands boutons */
.ndtm-demo.is-c .tm-ctrl{flex-direction:column;align-items:stretch;gap:10px;max-width:440px;margin-left:auto;margin-right:auto}
.ndtm-demo.is-c .tm-chaps{gap:4px}
.ndtm-demo.is-c .tm-chap-name{display:none}
.ndtm-demo.is-c .tm-chaps button{align-items:center;padding:6px 2px 8px}
.ndtm-demo.is-c .tm-btns{display:grid;grid-template-columns:1fr 52px 1fr 52px;gap:8px}
.ndtm-demo.is-c .tm-cb{height:52px;font-size:15.5px}
.ndtm-demo.is-c .tm-cb--prev span,.ndtm-demo.is-c .tm-cb--next span{display:inline}
.ndtm-demo.is-c .tm-cb--full{display:inline-flex;grid-column:1/-1;height:48px}
.ndtm-demo.is-c .tm-disclaimer{text-align:center}

/* Plein écran (téléphone) */
html.tm-lock,html.tm-lock body{overflow:hidden!important}
.ndtm-demo.is-full{position:fixed;inset:0;z-index:2147483000;background:#140a24;display:flex;flex-direction:column;padding:max(10px,env(safe-area-inset-top)) 10px max(10px,env(safe-area-inset-bottom));overflow:hidden}
.ndtm-demo.is-full .tm-stage{flex:1;min-height:0;max-width:520px;width:100%;border-radius:22px}
.ndtm-demo.is-full .tm-app{flex:1;height:auto;min-height:0}
.ndtm-demo.is-full .tm-guide{min-height:0;padding:10px 16px 12px}
.ndtm-demo.is-full .tm-guide p{font-size:14px}
.ndtm-demo.is-full .tm-ctrl{margin-top:10px;width:100%}
.ndtm-demo.is-full .tm-chaps button{color:#c4b5fd}
.ndtm-demo.is-full .tm-chap-bar{background:rgba(255,255,255,.18)}
.ndtm-demo.is-full .tm-disclaimer{display:none}

/* ================= Démo : fausse app ================= */
.tm-side{flex:none;width:214px;display:flex;flex-direction:column;padding:18px 12px;background:#fff;border-right:1px solid #ECE9F3}
.tm-brand{display:flex;align-items:center;gap:10px;padding:0 6px 18px}
.tm-brand img{width:34px;height:34px;border-radius:9px}
.tm-brand small{display:block;font-size:11px;color:#6B6680;line-height:1.1}
.tm-brand b{font-size:17px;font-weight:700}
.tm-side nav{display:flex;flex-direction:column;gap:3px}
.tm-nav{display:flex;align-items:center;gap:11px;height:42px;padding:0 12px!important;border-radius:11px;font-weight:500!important;color:#3F3A4D!important;transition:background .2s,color .2s;text-align:left}
.tm-nav i{font-size:19px;color:#6B6680}
.tm-nav:hover{background:#F5F2FC!important}
.tm-nav.on{background:#EEE9FD!important;color:#4F2BD8!important;font-weight:600!important}
.tm-nav.on i{color:#4F2BD8}
.tm-me{margin-top:auto;display:flex;align-items:center;gap:10px;padding:10px 6px 0;border-top:1px solid #ECE9F3}
.tm-me b{display:block;font-size:13px}.tm-me small{font-size:11.5px;color:#6B6680}
.tm-av{flex:none;display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;color:#fff;font-weight:700;font-size:13px}
.tm-av--s{width:20px;height:20px;font-size:10px}

.tm-main{position:relative;flex:1;min-width:0;min-height:0;overflow:hidden;padding:24px 28px 24px;padding-right:340px}
.tm-main[data-scr="5"],.tm-main[data-scr="3"]{padding-right:28px;padding-bottom:150px}
.is-c .tm-main{padding:16px 16px 12px;overflow:hidden}
.is-c .tm-main[data-scr="5"],.is-c .tm-main[data-scr="3"]{padding:16px 16px 12px}
.tm-h{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px}
.tm-h h3{font-size:22px;font-weight:700;letter-spacing:-.01em;line-height:1.2}
.tm-h p{margin-top:3px;font-size:13px;color:#6B6680}
.is-c .tm-h{margin-bottom:14px}
.is-c .tm-h h3{font-size:21px}

.tm-tabbar{flex:none;display:grid;grid-template-columns:repeat(5,1fr);padding:6px 4px 8px;background:#fff;border-top:1px solid #ECE9F3}
.tm-tabbar .tm-nav{flex-direction:column;justify-content:center;gap:3px;height:54px;padding:0!important;font-size:11.5px;border-radius:12px;min-width:0}
.tm-tabbar .tm-nav span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tm-tabbar .tm-nav i{font-size:21px}
.tm-tabbar .tm-nav.on{background:transparent!important}
.tm-tabbar .tm-nav.on i{display:grid;place-items:center;width:46px;height:28px;border-radius:14px;background:#EEE9FD;color:#4F2BD8}

/* Pointer */
.tm-clock{display:flex;flex-direction:column;align-items:center;gap:12px;max-width:460px;margin:-6px auto 0}
.tm-state{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;background:#EFEDF4;font-weight:600;font-size:13.5px}
.tm-state i{width:8px;height:8px;border-radius:50%;background:#6B6680}
.tm-state--in{background:#DCFCE7;color:#166534}.tm-state--in i{background:#16A34A;animation:tmBlink 1.4s infinite}
.tm-state--pause{background:#FFEDD5;color:#9A3412}.tm-state--pause i{background:#F97316}
.tm-state--done{background:#EEE9FD;color:#4F2BD8}.tm-state--done i{background:#7C3AED}
.tm-big{position:relative;width:172px;height:172px;border-radius:50%!important;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#fff!important;transition:transform .2s,background .4s,box-shadow .4s;overflow:hidden}
.tm-big i{font-size:36px}
.tm-big b{font-size:23px;font-weight:700}
.tm-big small{font-size:12.5px;opacity:.92;padding:0 18px;line-height:1.3}
.tm-big--start{background:#10B981!important;box-shadow:0 6px 16px -8px rgba(16,185,129,.6)}
.tm-big--pause{background:#F97316!important;box-shadow:0 6px 16px -8px rgba(249,115,22,.6)}
.tm-big--resume{background:#7C3AED!important;box-shadow:0 6px 16px -8px rgba(124,58,237,.6)}
.tm-big--done{background:#A78BFA!important;box-shadow:none;opacity:.85}
.tm-big:active,.tm-app .is-press{transform:scale(.94)}
.tm-scanbox{position:absolute;inset:0;display:none;place-items:center;background:rgba(10,8,20,.82);border-radius:50%}
.tm-scanbox::before{content:"";width:92px;height:92px;border:3px solid #fff;border-radius:14px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.22) 0 8px,transparent 8px 16px),repeating-linear-gradient(0deg,rgba(255,255,255,.22) 0 8px,transparent 8px 16px)}
.tm-scanbox i{position:absolute;left:50%;top:50%;width:104px;height:3px;margin-left:-52px;background:#34D399;box-shadow:0 0 12px #34D399;animation:tmScan 1s ease-in-out infinite alternate}
.tm-big.is-scan .tm-scanbox{display:grid}
.tm-endlink{display:inline-flex!important;align-items:center;gap:7px;height:40px;padding:0 16px!important;border-radius:999px!important;border:1px solid #E5E1EF!important;background:#fff!important;font-weight:600;font-size:13.5px}
.tm-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%}
.tm-stats div{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px;border-radius:16px;background:#fff;border:1px solid #ECE9F3}
.tm-stats b{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums}
.tm-stats span{font-size:12.5px;color:#6B6680;text-align:center}
.tm-checks{width:100%;display:grid;border-radius:14px;background:#fff;border:1px solid #ECE9F3;overflow:hidden}
.tm-checks li{display:flex;align-items:center;gap:12px;padding:8px 12px;animation:tmIn .4s ease both}
.tm-checks li+li{border-top:1px solid #ECE9F3}
.tm-checks li+li{animation-delay:.12s}
.tm-checks i{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:#DCFCE7;color:#15803D;font-size:18px}
.tm-checks b{display:block;font-size:13.5px}.tm-checks span{font-size:12px;color:#6B6680}
.is-c .tm-big{width:150px;height:150px}
.is-c .tm-big b{font-size:21px}
.is-c .tm-big i{font-size:30px}
.is-c .tm-clock{gap:10px;margin-top:-4px}
.is-c .tm-stats div{padding:9px}
.is-c .tm-stats b{font-size:18px}

/* Mes heures */
.tm-sum{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}
.tm-sum div{padding:12px 14px;border-radius:14px;background:#fff;border:1px solid #ECE9F3}
.tm-sum span{display:block;font-size:12.5px;color:#6B6680}
.tm-sum b{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums}
.tm-sum .is-ot b{color:#C2410C}
.tm-days{display:grid;gap:6px}
.tm-days li{border-radius:14px;background:#fff;border:1px solid #ECE9F3;overflow:hidden}
.tm-days li>button,.tm-days li.is-plan{width:100%;display:grid!important;grid-template-columns:52px 1fr auto;align-items:center;gap:10px;min-height:48px;padding:6px 12px!important;text-align:left}
.tm-days li.is-plan{color:#6B6680;background:#FAF9FD}
.tm-days li.is-today{border-color:#C4B5FD}
.tm-days li.is-open{box-shadow:0 0 0 2px #7C3AED}
.tm-d{display:flex;flex-direction:column;line-height:1.15}
.tm-d b{font-size:13.5px}.tm-d small{font-size:12px;color:#6B6680}
.tm-hv{font-weight:600;font-variant-numeric:tabular-nums;display:flex;align-items:center;gap:8px}
.tm-live{display:inline-block;width:8px;height:8px;border-radius:50%;background:#16A34A;animation:tmBlink 1.4s infinite}
.tm-pill{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}
.tm-pill--ot{background:#FFEDD5;color:#C2410C}
.tm-pill--ok{background:#DCFCE7;color:#15803D}
.tm-pill--plan{background:#F1EFF7;color:#6B6680;font-weight:500}
.tm-pill--wait{background:#FEF3C7;color:#92400E}
.tm-pill--okl{background:#DCFCE7;color:#15803D}
.tm-dd{display:flex;flex-wrap:wrap;gap:14px;padding:0 12px 10px 74px;font-size:13px;color:#3F3A4D;animation:tmIn .25s ease}
.tm-dd span{display:inline-flex;align-items:center;gap:5px}.tm-dd i{color:#7C3AED}
.tm-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.tm-btn{display:inline-flex!important;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 16px!important;border-radius:12px!important;font-weight:600!important;font-size:14px;white-space:nowrap;transition:transform .15s,background .3s}
.tm-btn i{font-size:18px}
.tm-btn--p{background:#5B21B6!important;color:#fff!important}
.tm-btn--p:disabled{opacity:.45}
.tm-btn--o{background:#fff!important;border:1px solid #E5E1EF!important}
.tm-btn--o:disabled{opacity:.55}
.tm-btn--ok{background:#DCFCE7!important;color:#15803D!important}
.tm-btn--wide{width:100%;margin-top:14px}
.is-c .tm-actions .tm-btn{flex:1 1 100%}
.is-c .tm-days li>button,.is-c .tm-days li.is-plan{grid-template-columns:46px 1fr auto;padding:5px 10px!important;min-height:44px}
.is-c .tm-dd{padding-left:66px}
.is-c .tm-sum b{font-size:20px}

/* Planning */
.tm-seg{flex:none;display:flex;padding:3px;border-radius:12px;background:#EFEDF4}
.tm-seg button{min-width:72px;height:36px;padding:0 12px!important;border-radius:9px!important;font-weight:600!important;font-size:13.5px;color:#6B6680!important}
.tm-seg button.on{background:#fff!important;color:#17112B!important;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.tm-grid{display:grid;grid-template-columns:96px repeat(var(--n),minmax(0,1fr));gap:6px}
.tm-gh{font-size:12.5px;color:#6B6680;text-align:center;padding:4px 0}
.tm-gh b{color:#17112B}
.tm-gh.is-today{background:#EEE9FD;border-radius:8px;color:#4F2BD8}
.tm-gp{display:flex;align-items:center;gap:8px;font-weight:600;font-size:13.5px;min-width:0}
.tm-cell{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:1px;height:54px;border-radius:12px!important;background:color-mix(in srgb,var(--c) 9%,#fff)!important;border:1px solid color-mix(in srgb,var(--c) 14%,#ECE9F3)!important;font-variant-numeric:tabular-nums;transition:transform .15s,box-shadow .2s}
.tm-cell b{font-size:13.5px}.tm-cell span{font-size:12px;color:#6B6680}
.tm-cell--leave{background:#FFF7ED!important;border-color:#FDE3C8!important;color:#9A3412}
.tm-cell--leave span{color:#9A3412}
.tm-cell.on{box-shadow:0 0 0 2px #17112B}
.tm-pop{position:relative;display:flex;align-items:center;gap:12px;margin-top:14px;padding:12px 44px 12px 14px;border-radius:14px;background:#17112B;color:#fff;animation:tmIn .25s ease}
.tm-pop b{display:block;font-size:14px}.tm-pop span{font-size:13px;color:rgba(255,255,255,.8)}
.tm-x{position:absolute;right:6px;top:50%;margin-top:-20px!important;width:40px;height:40px;display:grid!important;place-items:center;color:#fff!important;font-size:19px}
.tm-agenda{display:grid;gap:8px}
.tm-agenda li{display:grid;grid-template-columns:52px 1fr;gap:10px;align-items:start;padding:10px 12px;border-radius:14px;background:#fff;border:1px solid #ECE9F3}
.tm-agenda li.is-today{border-color:#C4B5FD}
.tm-agenda li.is-leave{background:#FFF7ED;border-color:#FED7AA;animation:tmIn .4s ease}
.tm-ag{display:flex;flex-direction:column;gap:5px;min-width:0}
.tm-ev{display:flex;align-items:center;gap:7px;font-size:13px;padding:5px 9px;border-radius:9px;min-width:0;line-height:1.35}
.tm-ev i{flex:none;font-size:15px}
.tm-ev--shift{background:#EEE9FD;color:#3B1C8C}
.tm-ev--meet{background:#E0F2FE;color:#075985}
.tm-ev--task{background:#DCFCE7;color:#166534}
.tm-ev--leave{background:#FFEDD5;color:#9A3412;font-weight:600}
.is-c .tm-h:has(.tm-seg){flex-direction:column}
.is-c .tm-seg{align-self:stretch}.is-c .tm-seg button{flex:1;height:40px}
.is-c .tm-grid{grid-template-columns:54px repeat(var(--n),minmax(0,1fr));gap:4px}
.is-c .tm-gp{flex-direction:column;gap:3px;font-size:11.5px;justify-content:center}
.is-c .tm-gh{font-size:11.5px}
.is-c .tm-gh b{display:block}
.is-c .tm-cell{height:44px;border-radius:8px!important}
.is-c .tm-cell b{font-size:12px}.is-c .tm-cell span{font-size:11px}
.is-c .tm-cell--leave i{font-size:15px}
.is-c .tm-cell--leave span{font-size:10px}
.is-c .tm-agenda li{grid-template-columns:44px 1fr;padding:8px 10px}
.is-c .tm-ev{font-size:12.5px}

/* Congé */
.tm-bal{flex:none;padding:8px 12px;border-radius:12px;background:#ECFDF5;color:#047857;font-size:13px;white-space:nowrap}
.tm-bal b{font-size:17px}
.tm-form{max-width:520px;padding:18px;border-radius:18px;background:#fff;border:1px solid #ECE9F3}
.tm-form h4{font-size:16px;font-weight:700;margin-bottom:10px}
.tm-form label{display:block;margin:12px 0 7px;font-size:12.5px;font-weight:600;color:#6B6680;text-transform:uppercase;letter-spacing:.04em}
.tm-types{display:flex;flex-wrap:wrap;gap:8px}
.tm-types button{min-height:40px;padding:0 14px!important;border-radius:999px!important;border:1px solid #E5E1EF!important;font-weight:500;font-size:13.5px;transition:background .2s,border-color .2s}
.tm-types button.on{background:#EEE9FD!important;border-color:#7C3AED!important;color:#4F2BD8!important;font-weight:600}
.tm-dpick{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.tm-dpick button{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:1px;height:58px;border-radius:14px!important;border:1px solid #E5E1EF!important;transition:background .2s,border-color .2s,color .2s}
.tm-dpick small{font-size:12px;color:#6B6680}.tm-dpick b{font-size:18px}
.tm-dpick button.on{background:#5B21B6!important;border-color:transparent!important;color:#fff!important}
.tm-dpick button.on small{color:rgba(255,255,255,.85)}
.tm-switch{display:flex!important;align-items:center;justify-content:space-between;width:100%;min-height:44px;margin-top:10px!important;font-weight:500}
.tm-switch i{position:relative;width:46px;height:28px;border-radius:14px;background:#D9D5E3;transition:background .2s}
.tm-switch i::after{content:"";position:absolute;left:3px;top:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .2s}
.tm-switch.on i{background:#7C3AED}.tm-switch.on i::after{transform:translateX(18px)}
.tm-req{max-width:520px;padding:16px;border-radius:18px;background:#fff;border:1px solid #ECE9F3;animation:tmIn .35s ease}
.tm-req.is-ok{border-color:#86EFAC}
.tm-req-top{display:flex;align-items:center;gap:12px}
.tm-req-top>i{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#FFEDD5;color:#C2410C;font-size:20px}
.tm-req-top div{flex:1;min-width:0}.tm-req-top b{display:block}.tm-req-top span{font-size:13px;color:#6B6680}
.tm-flow{display:grid;gap:8px;margin-top:14px!important;padding-top:12px!important;border-top:1px solid #ECE9F3}
.tm-flow li{display:flex;align-items:center;gap:9px;font-size:13.5px;color:#A39DB5;transition:color .3s}
.tm-flow li i{font-size:18px}
.tm-flow li.on{color:#17112B}.tm-flow li.on i{color:#16A34A}
.is-c .tm-form{padding:14px}
.is-c .tm-dpick{gap:6px}
.is-c .tm-bal{padding:6px 10px;font-size:12px}

/* Tâches */
.tm-hint{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:#6B6680;padding:6px 10px;border-radius:999px;background:#fff;border:1px solid #ECE9F3}
.tm-kan{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.tm-col{min-width:0;padding:10px;border-radius:16px;background:#EFEDF4;transition:background .2s,box-shadow .2s}
.tm-col.is-over{background:#E4DCFB;box-shadow:inset 0 0 0 2px #7C3AED}
.tm-col header{display:flex;align-items:center;gap:8px;padding:2px 4px 10px;font-weight:600;font-size:13.5px}
.tm-col header i{width:10px;height:10px;border-radius:50%;background:#9CA3AF}
.tm-col--1 header i{background:#F59E0B}.tm-col--2 header i{background:#10B981}
.tm-col header em{margin-left:auto;font-style:normal;font-size:12px;color:#6B6680;background:#fff;border-radius:999px;padding:1px 8px}
.tm-cards{display:grid;gap:8px;min-height:60px}
.tm-card{position:relative;display:flex;gap:10px;align-items:flex-start;padding:11px 12px;border-radius:13px;background:#fff;box-shadow:0 1px 2px rgba(20,10,36,.06);cursor:grab;touch-action:none;transition:box-shadow .2s}
.tm-card.is-drag{z-index:20;box-shadow:0 10px 20px -10px rgba(20,10,36,.35);cursor:grabbing}
.tm-card.is-lock{opacity:.6;cursor:default;touch-action:auto}
.tm-card.is-flash{animation:tmFlash 1.4s ease}
.tm-card b{display:block;font-size:13.5px;font-weight:600;line-height:1.3}
.tm-card>div>span{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:12px;color:#6B6680}
.tm-check{flex:none;display:grid!important;place-items:center;width:26px;height:26px;border-radius:50%!important;border:2px solid #CFC9DD!important;color:transparent!important;font-size:15px;position:relative}
.tm-check::after{content:"";position:absolute;inset:-9px}
.tm-col--2 .tm-check{background:#10B981!important;border-color:#10B981!important;color:#fff!important}
.is-c .tm-kan{grid-template-columns:minmax(0,1fr);gap:8px}
.is-c .tm-col{padding:8px}
.is-c .tm-col header{padding-bottom:6px}
.is-c .tm-cards{min-height:0}
.is-c .tm-card{padding:9px 10px;cursor:default;touch-action:auto}
.is-c .tm-hint{display:none}

/* Toast, curseur, contact */
.tm-toast{position:absolute;left:50%;top:16px;z-index:40;display:flex;align-items:center;gap:8px;max-width:calc(100% - 32px);padding:10px 16px;border-radius:999px;background:#17112B;color:#fff;font-size:13.5px;font-weight:500;box-shadow:0 8px 18px -10px rgba(20,10,36,.45);transform:translate(-50%,-80px);transition:transform .4s cubic-bezier(.16,1,.3,1)}
.tm-toast i{color:#34D399;font-size:18px}
.tm-toast.on{transform:translate(-50%,0)}
.tm-cursor{position:absolute;left:0;top:0;z-index:50;width:22px;height:22px;margin:-3px 0 0 -4px;pointer-events:none;opacity:0;transition:transform .7s cubic-bezier(.4,0,.2,1),opacity .3s;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 2l15 9-6.5 1.6L16 20l-3 1.4-3.4-7.3L4 18z' fill='%2317112B' stroke='white' stroke-width='1.5' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat;background-size:contain}
.tm-cursor.on{opacity:1}
.tm-cursor.is-grab{filter:drop-shadow(0 4px 6px rgba(0,0,0,.25))}
.is-c .tm-cursor{display:none}
.tm-tap{position:absolute;left:0;top:0;z-index:50;width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;background:rgba(124,58,237,.35);border:2px solid rgba(124,58,237,.7);pointer-events:none;opacity:0;transform:scale(.4)}
.tm-tap.on{animation:tmTap .55s ease-out}

@keyframes tmBlink{50%{opacity:.35}}
@keyframes tmScan{from{transform:translateY(-44px)}to{transform:translateY(44px)}}
@keyframes tmIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes tmFlash{0%,100%{box-shadow:0 1px 2px rgba(20,10,36,.06)}30%{box-shadow:0 0 0 3px #10B981}}
@keyframes tmTap{0%{opacity:.9;transform:scale(.4)}100%{opacity:0;transform:scale(1.3)}}

/* ===== Densité « vraie app » (Anthony 05/11 08:12 : démo moins zoomée) ===== */
.tm-stage{height:540px;border-radius:14px}
.tm-app{font-size:13px}
.tm-side{width:188px;padding:14px 10px}
.tm-brand{gap:8px;padding:0 6px 14px}.tm-brand img{width:28px;height:28px;border-radius:7px}.tm-brand b{font-size:15px}.tm-brand small{font-size:10.5px}
.tm-nav{gap:9px;height:34px;padding:0 10px!important;border-radius:8px;font-size:13px}.tm-nav i{font-size:17px}
.tm-me b{font-size:12.5px}.tm-me small{font-size:11px}.tm-av{width:26px;height:26px;font-size:11.5px}
.tm-main{padding:18px 22px;padding-right:310px}
.tm-main[data-scr="5"],.tm-main[data-scr="3"]{padding-right:22px;padding-bottom:130px}
.tm-h{margin-bottom:14px}.tm-h h3{font-size:18px}.tm-h p{font-size:12px;margin-top:2px}
.tm-guide{width:270px;right:14px;bottom:14px;padding:12px 14px;border-radius:12px}
.tm-guide-n{font-size:10px}.tm-guide b{font-size:13.5px}.tm-guide p{font-size:12.5px;line-height:1.45}.tm-guide-try{font-size:11.5px;margin-top:8px;padding:4px 9px}
.tm-clock{gap:10px;max-width:400px}
.tm-state{font-size:12px;padding:4px 11px}
.tm-big{width:136px;height:136px;gap:4px}.tm-big i{font-size:28px}.tm-big b{font-size:18px}.tm-big small{font-size:11px;padding:0 14px}
.tm-stats{gap:8px}.tm-stats div{padding:8px;border-radius:10px}.tm-stats b{font-size:16px}.tm-stats span{font-size:11.5px}
.tm-checks{border-radius:10px}.tm-checks li{padding:6px 10px;gap:10px}.tm-checks i{width:24px;height:24px;border-radius:7px;font-size:15px}.tm-checks b{font-size:12.5px}.tm-checks span{font-size:11.5px}
.tm-endlink{height:32px;font-size:12.5px;padding:0 12px!important}
.tm-sum{gap:8px;margin-bottom:10px}.tm-sum div{padding:9px 12px;border-radius:10px}.tm-sum span{font-size:11.5px}.tm-sum b{font-size:18px}
.tm-days{gap:4px}.tm-days li{border-radius:10px}
.tm-days li>button,.tm-days li.is-plan{min-height:38px;padding:4px 10px!important;grid-template-columns:46px 1fr auto}
.tm-d b{font-size:12.5px}.tm-d small{font-size:11px}.tm-pill{font-size:11px;padding:2px 8px}
.tm-dd{font-size:12px;padding:0 10px 8px 66px}
.tm-actions{margin-top:10px;gap:8px}
.tm-btn{min-height:36px;padding:0 13px!important;border-radius:9px!important;font-size:13px}.tm-btn i{font-size:16px}
.tm-seg{border-radius:9px}.tm-seg button{height:30px;min-width:62px;font-size:12.5px;border-radius:7px!important}
.tm-grid{grid-template-columns:84px repeat(var(--n),minmax(0,1fr));gap:5px}
.tm-gh{font-size:11.5px;padding:3px 0}.tm-gp{font-size:12.5px;gap:7px}.tm-gp .tm-av{width:22px;height:22px;font-size:10.5px}
.tm-cell{height:42px;border-radius:8px!important}.tm-cell b{font-size:12.5px}.tm-cell span{font-size:11px}.tm-cell--leave i{font-size:14px}
.tm-pop{margin-top:10px;padding:9px 40px 9px 12px;border-radius:10px;gap:10px}.tm-pop b{font-size:13px}.tm-pop span{font-size:12px}
.tm-x{width:34px;height:34px;margin-top:-17px!important;font-size:17px}
.tm-agenda{gap:5px}.tm-agenda li{padding:7px 10px;border-radius:10px;grid-template-columns:44px 1fr;gap:8px}
.tm-ev{font-size:12px;padding:4px 8px;border-radius:7px}.tm-ev i{font-size:14px}
.tm-bal{padding:6px 10px;font-size:12px;border-radius:9px}.tm-bal b{font-size:15px}
.tm-form{max-width:460px;padding:14px;border-radius:12px}.tm-form h4{font-size:14.5px;margin-bottom:6px}
.tm-form label{margin:10px 0 6px;font-size:11px}
.tm-types{gap:6px}.tm-types button{min-height:32px;padding:0 12px!important;font-size:12.5px}
.tm-dpick{gap:6px}.tm-dpick button{height:46px;border-radius:10px!important}.tm-dpick b{font-size:15px}.tm-dpick small{font-size:11px}
.tm-switch{min-height:36px;margin-top:6px!important;font-size:13px}
.tm-switch i{width:38px;height:22px}.tm-switch i::after{width:16px;height:16px}.tm-switch.on i::after{transform:translateX(16px)}
.tm-btn--wide{margin-top:10px}
.tm-req{max-width:460px;padding:12px 14px;border-radius:12px}.tm-req-top>i{width:32px;height:32px;border-radius:9px;font-size:17px}.tm-req-top span{font-size:12px}
.tm-flow{gap:6px;margin-top:10px!important;padding-top:10px!important}.tm-flow li{font-size:12.5px}.tm-flow li i{font-size:16px}
.tm-hint{font-size:11.5px;padding:4px 9px}
.tm-kan{gap:10px}.tm-col{padding:8px;border-radius:12px}.tm-col header{font-size:12.5px;padding:2px 4px 8px}
.tm-cards{gap:6px}.tm-card{padding:8px 10px;border-radius:9px;gap:8px}.tm-card b{font-size:12.5px}.tm-card>div>span{font-size:11px;margin-top:4px}
.tm-check{width:22px;height:22px;font-size:13px}
.tm-toast{font-size:12.5px;padding:8px 14px}
.tm-ctrl{gap:12px;margin-top:14px}
.tm-chap-name{font-size:12.5px}.tm-chap-n{font-size:11px}
.tm-cb{height:40px;min-width:40px;border-radius:10px;font-size:13px}.tm-cb i{font-size:18px}
/* Téléphone (is-c) */
.tm-stage.is-c{max-width:400px;border-radius:24px}
.is-c .tm-app{height:540px}
.is-c .tm-main,.is-c .tm-main[data-scr="5"],.is-c .tm-main[data-scr="3"]{padding:14px 16px 10px}
.is-c .tm-h{margin-bottom:10px}.is-c .tm-h h3{font-size:18px}
.is-c .tm-seg button{height:32px}
.is-c .tm-big{width:124px;height:124px}.is-c .tm-big b{font-size:17px}.is-c .tm-big i{font-size:26px}
.is-c .tm-stats b{font-size:15px}.is-c .tm-stats div{padding:7px}
.is-c .tm-sum b{font-size:17px}
.is-c .tm-days li>button,.is-c .tm-days li.is-plan{grid-template-columns:42px 1fr auto;padding:4px 10px!important;min-height:38px}
.is-c .tm-dd{padding-left:60px}
.is-c .tm-grid{grid-template-columns:46px repeat(var(--n),minmax(0,1fr));gap:3px}
.is-c .tm-gp{font-size:10.5px;gap:2px}.is-c .tm-gp .tm-av{width:22px;height:22px;font-size:10px}
.is-c .tm-gh{font-size:10.5px}
.is-c .tm-cell{height:40px;border-radius:7px!important}
.is-c .tm-cell b{font-size:11px}.is-c .tm-cell span{font-size:10px}
.is-c .tm-cell--leave i{font-size:13px}.is-c .tm-cell--leave span{font-size:9.5px}
.is-c .tm-agenda li{grid-template-columns:40px 1fr;padding:6px 9px}
.is-c .tm-ev{font-size:11.5px}
.is-c .tm-form{padding:12px}
.is-c .tm-dpick button{height:44px}
.is-c .tm-btn{min-height:40px}
.is-c .tm-card{padding:8px 10px}
.tm-tabbar{padding:4px 4px 6px}
.tm-tabbar .tm-nav{height:46px;font-size:10.5px;gap:2px}
.tm-tabbar .tm-nav i{font-size:19px}
.tm-tabbar .tm-nav.on i{width:40px;height:24px;border-radius:12px}
.is-c .tm-guide{min-height:96px;padding:12px 16px 14px}
.is-c .tm-guide b{font-size:14px}.is-c .tm-guide p{font-size:13px}
.ndtm-demo.is-c .tm-ctrl{max-width:400px;gap:8px}
.ndtm-demo.is-c .tm-btns{grid-template-columns:1fr 44px 1fr 44px;gap:6px}
.ndtm-demo.is-c .tm-cb{height:44px;font-size:14px}
.ndtm-demo.is-c .tm-cb--full{height:42px}
.ndtm-demo.is-full .tm-stage{max-width:480px}

/* Largeurs intermédiaires (iPad portrait) */
@media (max-width:1023px){
  .tm-stage:not(.is-c){height:auto;display:flex;flex-direction:column}
  .tm-stage:not(.is-c) .tm-app{height:500px}
  .tm-side{width:172px}
  .tm-main,.tm-main[data-scr="5"],.tm-main[data-scr="3"]{padding:16px 18px}
  .tm-stage:not(.is-c) .tm-guide{position:static;width:auto;border-radius:0;box-shadow:none;padding:12px 18px 14px}
  .tm-stage:not(.is-c) .tm-guide b{font-size:14px}
  .tm-stage:not(.is-c) .tm-guide p{font-size:13px}
}
@media (max-width:759px){
  .ndtm-demo-wrap{margin-top:-90px;padding:0 12px}
}
@media (prefers-reduced-motion:reduce){
  .tm-app *,.tm-toast,.tm-cursor{animation:none!important;transition:none!important}
}
@media (min-width:1024px){.tm-stage:not(.is-c) .tm-main[data-scr="3"] .tm-pop{margin-right:290px}}
