@font-face{font-family:EronInter;src:local("Inter"),local("Avenir Next"),local("Avenir")}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#090d16;color:#eaf0fb;font-family:EronInter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px;line-height:1.55}button,input,select,textarea{font:inherit}a{color:inherit}button,a,input,select,textarea{ -webkit-tap-highlight-color:transparent }button{cursor:pointer}button:disabled{cursor:wait;opacity:.5}a{text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #95bfff;outline-offset:4px}::selection{background:#306aa0;color:white}.skip{position:fixed;z-index:100;top:-60px;left:20px;background:#143a66;padding:12px}.skip:focus{top:12px}.boot{min-height:100vh;display:flex;gap:20px;align-items:center;justify-content:center;color:#aab6cb}.brand-mark{display:grid;place-items:center;width:45px;height:45px;flex-shrink:0;border-radius:14px;border:1px solid #96adc357;background:linear-gradient(140deg,#17304b,#0d1726 80%);box-shadow:inset 0 1px #edf6ff35,0 8px 25px #0006;font-family:Georgia,serif;font-size:30px;color:#d7e2ef}.brand{display:flex;gap:12px;align-items:center}.brand-title{font-size:15px;letter-spacing:.03em;font-weight:650}.brand small{display:block;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#8190ab;margin-top:3px}.button{display:inline-flex;justify-content:center;align-items:center;gap:9px;min-height:42px;border:1px solid #cedcf440;border-radius:11px;padding:10px 17px;color:#ecf3ff;background:linear-gradient(180deg,#214e80,#153557);box-shadow:inset 0 1px #ffffff26,0 6px 15px #0003;line-height:1.3;font-weight:600;transition:background .2s,transform .2s,box-shadow .2s}.button:hover{transform:translateY(-1px);box-shadow:inset 0 1px #ffffff33,0 9px 18px #0004;background:linear-gradient(180deg,#286098,#1a416d)}.button.secondary{background:linear-gradient(180deg,#1e2a3d,#141e2e);color:#cbd5e4}.button.green{background:linear-gradient(180deg,#126953,#0c4236)}.button.danger{background:linear-gradient(180deg,#81364d,#552137);border-color:#dda0af50}.button.small{min-height:34px;padding:7px 11px;font-size:12px}.button.full{width:100%}.button.flat{box-shadow:none;background:#111927}.icon{width:18px;height:18px;vertical-align:middle;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.muted{color:#98a6bd}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#9eafc9}.sapphire{color:#8bb9f2}.test-line{background:#14253d;border:1px solid #7aaff32c;border-radius:12px;padding:12px 16px;color:#b9cce7;font-size:12px;display:flex;align-items:center;gap:10px}.test-line strong{color:#e3edfd;white-space:nowrap}.status-dot{width:6px;height:6px;border-radius:50%;background:#81d4b6;box-shadow:0 0 12px #4ce4b573;display:inline-block;flex-shrink:0}.error{border:1px solid #c7647966;background:#4b1c2c75;border-radius:10px;color:#ffc6d2;padding:11px 13px;font-size:13px}.error:empty{display:none}.success{border:1px solid #439c7d66;background:#0a362b75;border-radius:10px;color:#a8e1c6;padding:11px 13px}.auth{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}.auth-visual{position:relative;overflow:hidden;padding:52px clamp(24px,6vw,95px);display:flex;flex-direction:column;justify-content:space-between;background:radial-gradient(ellipse at 30% 65%,#133448 0%,#0c1625 43%,#080e19 80%);border-right:1px solid #a8c3e91a}.auth-visual:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,transparent 30%,#94c5f708 45%,transparent 70%)}.auth-orbit{position:absolute;width:min(550px,70vw);aspect-ratio:1;border:1px solid #91baf21b;border-radius:50%;top:30%;left:10%;animation:orbit 30s linear infinite;pointer-events:none}.auth-orbit:before,.auth-orbit:after{content:"";position:absolute;border:1px solid #adcdec17;border-radius:50%;inset:14%}.auth-orbit:after{inset:28%;box-shadow:0 0 100px #2b71a214}.auth-orbit i{position:absolute;left:12%;top:15%;width:7px;height:7px;background:#a4d0ee;border-radius:50%;box-shadow:0 0 20px #aad7ff}.auth-story{position:relative;margin:90px 0;max-width:430px;z-index:1}.auth-story h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(36px,4vw,58px);line-height:1.12;letter-spacing:-.045em;margin:22px 0}.auth-story h1 em{color:#b8cde6;font-weight:400}.auth-story p{color:#99aac4;font-size:15px;max-width:335px;line-height:1.8}.auth-footer{font-size:11px;color:#7c8aa2;display:flex;justify-content:space-between;gap:10px}.auth-form-area{padding:46px clamp(24px,5vw,85px);display:flex;flex-direction:column;justify-content:center;max-width:620px;width:100%;margin:auto}.auth-form-area h2{font-size:28px;letter-spacing:-.035em;font-weight:550;margin:0 0 10px}.auth-intro{margin-bottom:28px}.auth-intro p{color:#93a2bb}.fields{display:grid;gap:17px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.span-2{grid-column:1/-1}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field label,.field>span{font-size:12px;font-weight:600;color:#ccd7e8}.field input,.field select,.field textarea{background:#0c1421;color:#e7eefb;min-height:43px;border:1px solid #879ab530;border-radius:9px;padding:10px 12px;width:100%;transition:border-color .2s}.field input:hover,.field select:hover,.field textarea:hover{border-color:#93afce66}.field input:focus,.field select:focus,.field textarea:focus{border-color:#82b2ed;outline:2px solid #559bfb17;outline-offset:1px}.field input::placeholder,.field textarea::placeholder{color:#586980}.field textarea{resize:vertical;min-height:110px}.field small,.hint{font-size:11px;color:#8d9eb6}.auth-switch{text-align:center;font-size:12px;color:#98a8bd;margin:20px 0}.text-link{color:#b7d1f5;border:0;padding:0;background:none;font:inherit;text-decoration:underline;text-underline-offset:3px}.test-accounts{border-top:1px solid #7f97b626;margin-top:25px;padding-top:23px}.test-accounts p{font-size:12px;color:#8d9bb1;margin:0 0 12px}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.row.between{justify-content:space-between}.stack{display:grid;gap:18px}.portal{display:grid;grid-template-columns:252px minmax(0,1fr);min-height:100vh}.sidebar{position:fixed;width:252px;height:100dvh;top:0;left:0;z-index:40;background:linear-gradient(175deg,#101927,#0b111c 55%);border-right:1px solid #a7bbdd1b;display:flex;flex-direction:column;padding:30px 18px 18px}.sidebar .brand{padding:0 12px}.navigation{margin-top:38px;display:grid;gap:5px;overflow-y:auto}.nav-group{font-size:9px;letter-spacing:.17em;text-transform:uppercase;color:#52647e;padding:19px 15px 5px}.nav-item{display:flex;align-items:center;gap:12px;min-height:44px;padding:10px 14px;border:1px solid transparent;border-radius:10px;color:#94a5bd;font-size:13px;transition:background .2s,color .2s}.nav-item:hover{color:#dae5f5;background:#7eabd60b}.nav-item.active{background:linear-gradient(100deg,#254b744a,#1b354425);border-color:#7392b128;color:#d7eaff;box-shadow:inset 3px 0 #91b5db}.nav-item.active .icon{color:#a7c8f1}.sidebar-foot{margin-top:auto;border-top:1px solid #a7bbdd1b;padding:18px 10px 0;display:grid;gap:14px}.sidebar-foot a{font-size:12px;color:#9aabc1}.sidebar-foot .test-label{font-size:10px;color:#81baa9;display:flex;align-items:center;gap:8px}.work-area{grid-column:2;min-width:0;background:radial-gradient(ellipse at 90% 0%,#1021386b,transparent 50%)}.topbar{height:90px;border-bottom:1px solid #8da9ca14;padding:0 42px;display:flex;align-items:center;justify-content:space-between;gap:20px}.topbar-location{font-size:12px;color:#8190a7}.topbar-location span{color:#c4d0e4}.identity{display:flex;align-items:center;gap:12px;font-size:12px;text-align:right}.identity small{display:block;color:#7d90aa;font-size:10px}.avatar{width:37px;height:37px;border:1px solid #a8bfda42;border-radius:11px;background:linear-gradient(135deg,#21374e,#182739);display:grid;place-items:center;font-size:12px;font-weight:700;letter-spacing:.06em}.main{padding:34px 42px 50px;max-width:1520px;margin:0 auto}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:15px;margin-bottom:26px}.page-heading h1{font-size:29px;font-weight:550;line-height:1.2;letter-spacing:-.035em;margin:7px 0 9px}.page-heading p{margin:0;color:#8d9eb7;font-size:13px}.panel{border:1px solid #9db6d521;background:linear-gradient(145deg,#151f31b8,#0e1623d9);border-radius:17px;padding:24px;min-width:0;box-shadow:0 10px 25px #00000010}.panel h2{font-weight:550;font-size:17px;letter-spacing:-.02em;margin:0 0 8px}.panel p{color:#98a8bd;margin-top:8px}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.panel-header h2{margin:0}.panel-header p{font-size:12px;margin:6px 0 0}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px}.stat{position:relative;padding:20px;background:linear-gradient(135deg,#152238,#121b2a);border:1px solid #a5bcd522;border-radius:14px}.stat .value{font-size:33px;letter-spacing:-.045em;font-weight:500;line-height:1.2;display:block;margin:15px 0 5px}.stat .label{color:#8d9eb7;font-size:11px}.stat .stat-icon{position:absolute;right:19px;top:19px;color:#87a5c7}.dashboard-welcome{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;padding:32px;border:1px solid #8eb2d42c;border-radius:18px;background:linear-gradient(105deg,#1b3653,#111d32 80%)}.dashboard-welcome:before{content:"";position:absolute;width:330px;height:330px;right:-90px;top:-130px;border:1px solid #c0e4f11c;border-radius:50%;box-shadow:0 0 0 35px #accced05,0 0 0 70px #accced04;pointer-events:none}.dashboard-welcome h2{font-family:Georgia,serif;font-weight:400;font-size:30px;letter-spacing:-.03em;margin:0 0 10px}.dashboard-welcome p{color:#a3b7cf;max-width:560px;margin:0 0 22px;font-size:13px}.dashboard-emblem{width:88px;height:88px;display:grid;place-items:center;z-index:1;border:1px solid #abcce433;border-radius:50%;font:52px Georgia,serif;color:#cbdff5;background:#42658210}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.quick-links{display:grid;gap:10px}.quick-link{display:flex;gap:14px;align-items:center;padding:15px;border:1px solid #adc9ed19;border-radius:11px;background:#15223455;transition:background .2s}.quick-link:hover{background:#233b5570}.quick-link>.icon{color:#aac6e7}.quick-link strong{display:block;font-size:13px;font-weight:550}.quick-link small{display:block;color:#8a9ab2;font-size:11px;margin-top:2px}.quick-link .arrow{margin-left:auto;color:#7e99bb}.pill{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:6px;font-size:10px;font-weight:650;border:1px solid #7b9ec230;color:#b3c9e7;background:#20395655;white-space:nowrap}.pill.green{color:#98d6bf;background:#16433255;border-color:#86c7aa2d}.pill.red{color:#e9a6b8;background:#59253a55;border-color:#ca7e9133}.pill.muted{color:#9caac1;background:#28324355;border-color:#71839833}.table-scroll{overflow:auto;max-width:100%;border:1px solid #a9bed31a;border-radius:12px}table{border-collapse:collapse;width:100%;font-size:12px;min-width:570px}th{text-align:left;font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:#7189a7;background:#0c142175;padding:13px 15px;font-weight:600;white-space:nowrap}td{padding:15px;border-top:1px solid #9cb1d315;vertical-align:middle;color:#bbc9dc}td strong{display:block;font-size:12px;font-weight:550;color:#e1eaf6}td small{display:block;margin-top:4px;color:#798da9;overflow-wrap:anywhere}tr:hover td{background:#a7c7f004}.cell-actions{display:flex;gap:6px;flex-wrap:wrap}.search-row{display:flex;gap:12px;align-items:center;margin-bottom:17px}.search-row .field{max-width:360px;flex:1}.empty{padding:45px 20px;text-align:center;color:#879bb6}.empty .icon{width:30px;height:30px;color:#6d89aa;margin-bottom:9px}.empty strong{display:block;color:#bdcde2;margin-bottom:5px;font-weight:500}.empty p{font-size:12px;margin:0}.list{display:grid;gap:12px}.message-card{border:1px solid #93aace25;border-radius:13px;padding:20px;background:#0e1726}.message-card p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;color:#aabbd0}.message-meta{display:flex;gap:15px;flex-wrap:wrap;font-size:11px;color:#7f94af;margin:9px 0}.message-card h3{margin:0;font-size:14px;font-weight:550}.check{display:flex;gap:10px;align-items:flex-start;font-size:12px;color:#b5c4d8;cursor:pointer}.check input{accent-color:#478fc6;width:16px;height:16px;margin:2px 0 0;flex-shrink:0}.permissions{display:grid;grid-template-columns:1fr 1fr;gap:12px;border:1px solid #99bad02c;border-radius:12px;padding:16px;margin-top:8px}.permissions legend{padding:0 7px;color:#bed0e6;font-size:12px}.separator{border:0;border-top:1px solid #96aacc22;margin:23px 0}.form-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end;margin-top:22px}.quote{background:linear-gradient(150deg,#173149,#102330);border:1px solid #a7ccda38;border-radius:17px;padding:25px;position:sticky;top:24px;align-self:start}.quote .total{font-size:40px;letter-spacing:-.05em;margin:15px 0 5px;color:#e2f2fd;font-weight:500}.quote dl{margin:21px 0;font-size:12px}.quote dl>div{display:flex;gap:18px;justify-content:space-between;padding:9px 0;border-bottom:1px solid #9ab4ce1c}.quote dt{color:#9ab0c7}.quote dd{margin:0;text-align:right;color:#d4e3f2}.plan-purchase{display:grid;grid-template-columns:1.15fr 1fr;gap:22px;align-items:start}.duration-options{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:8px}.duration-options label{cursor:pointer;position:relative}.duration-options input{position:absolute;opacity:0}.duration-options span{display:grid;place-items:center;border:1px solid #829db82c;border-radius:10px;padding:15px 8px;line-height:1.3;color:#8b9fb8;font-size:13px;background:#0d1726}.duration-options input:checked+span{background:linear-gradient(145deg,#234e73,#183c54);border-color:#97cbe871;color:#eaf7ff;box-shadow:inset 0 1px #e5f6ff21}.duration-options input:focus-visible+span{outline:2px solid #acd3ff;outline-offset:3px}.training-card{position:relative;display:flex;flex-direction:column;padding:25px;border:1px solid #afc6dd26;background:linear-gradient(140deg,#17263b,#0f1929);border-radius:17px}.training-card .number{font:italic 37px Georgia,serif;color:#54708e;line-height:1;margin-bottom:30px}.training-card h2{font-size:20px;font-weight:500;line-height:1.3;letter-spacing:-.025em;margin:0 0 12px}.training-card p{font-size:12px;color:#92a5bf;flex:1;margin:0 0 25px}.training-card .training-footer{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}.toolbar{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.mobile-menu{display:none}.menu-backdrop{display:none}dialog{color:#e7edf9;border:1px solid #9ac2ed50;border-radius:19px;background:linear-gradient(145deg,#18263a,#101b2b);padding:0;max-width:640px;width:calc(100% - 30px);max-height:calc(100dvh - 40px);box-shadow:0 35px 100px #0008}dialog::backdrop{background:#020812c7;backdrop-filter:blur(6px)}.modal-inner{padding:27px}.modal-header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:22px}.modal-header h2{font-size:23px;letter-spacing:-.035em;font-weight:550;margin:0}.modal-header p{font-size:12px;margin:5px 0 0;color:#8eabc9}.close-button{border:1px solid #c5879855;color:#efd5de;background:#5e273d;border-radius:9px;min-width:36px;height:36px;padding:5px;font-size:18px}.toast{position:fixed;bottom:25px;right:25px;z-index:100;background:#144b3e;color:#e0f4ed;border:1px solid #95cdb270;box-shadow:0 12px 45px #0007;max-width:min(460px,calc(100vw - 40px));padding:14px 19px;border-radius:12px;opacity:0;transform:translateY(20px);transition:opacity .2s,transform .2s;pointer-events:none;font-size:13px}.toast.show{opacity:1;transform:translateY(0)}.loading{display:flex;gap:13px;align-items:center;padding:45px 20px;color:#92a8c2}.spinner{width:19px;height:19px;border:2px solid #8eb8df25;border-top-color:#a5cdf1;border-radius:50%;animation:orbit .9s linear infinite}.noscript{padding:30px;background:#4b2434;color:#ffdae7}.notice-card{border-left:2px solid #72aace;padding:4px 0 4px 16px;color:#8ea8c6;font-size:12px}.compact-list{margin:15px 0 0;padding-left:18px;color:#98aac2;font-size:12px;display:grid;gap:10px}.fade-in{animation:enter .3s ease both}.muted-line{font-size:11px;color:#8193ad;margin:20px 0 0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.training-editor{border:1px solid #91aac52b;border-radius:12px;padding:18px;background:#0c1725}.audit-detail{max-width:430px;white-space:pre-wrap;overflow-wrap:anywhere}.input-summary{background:#0d1725;border-radius:10px;padding:14px;font-size:12px;color:#a3b6cf}.check-list{display:grid;gap:10px;padding:0;margin:20px 0;list-style:none;color:#a5b7ce;font-size:12px}.check-list li:before{content:"✓";color:#8fc6b6;margin-right:10px}.profile-head{display:flex;align-items:center;gap:15px}.profile-head .avatar{width:52px;height:52px;font-size:17px}.profile-head h2{margin-bottom:2px}.profile-head p{font-size:12px;margin:0}.status-line{display:flex;gap:8px;align-items:center;font-size:11px;color:#90a7c1}.readonly{padding:12px;border:1px solid #7891ae22;border-radius:9px;color:#8196b1;font-size:13px}.spacer{height:5px}@keyframes orbit{to{transform:rotate(360deg)}}@keyframes enter{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1700px){.main{padding-top:45px}}@media(max-width:1180px){.portal{grid-template-columns:222px minmax(0,1fr)}.sidebar{width:222px;padding-left:13px;padding-right:13px}.topbar{padding:0 26px}.main{padding:28px 26px}.grid-3{grid-template-columns:1fr 1fr}.grid-3>:last-child{grid-column:1/-1}.plan-purchase{grid-template-columns:1.1fr 1fr}.quote{padding:21px}}@media(max-width:850px){.portal{grid-template-columns:1fr}.work-area{grid-column:1}.sidebar{width:255px;transform:translateX(-100%);transition:transform .24s ease}.portal.menu-open .sidebar{transform:translateX(0)}.mobile-menu{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid #a6bbd52b;border-radius:8px;color:#c1d5ee;background:#17263b}.portal.menu-open .menu-backdrop{display:block;position:fixed;inset:0;z-index:35;background:#0009;backdrop-filter:blur(3px);border:0}.topbar{height:76px;padding:0 22px;gap:12px}.topbar-left{display:flex;align-items:center;gap:12px}.auth{grid-template-columns:1fr}.auth-visual{padding:25px 28px;border-right:0;border-bottom:1px solid #abc7e127}.auth-story{margin:35px 0 5px;max-width:600px}.auth-story h1{font-size:34px;max-width:420px;margin:12px 0}.auth-story p{max-width:520px;font-size:13px;margin:10px 0}.auth-footer,.auth-orbit{display:none}.auth-form-area{padding:30px 28px 45px;max-width:550px}.main{padding:27px 22px 40px}.grid-2{gap:14px}.panel{padding:20px}}@media(max-width:620px){.main{padding:23px 16px 35px}.topbar{padding:0 16px}.topbar-location{font-size:10px}.identity .user-name{max-width:110px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.identity{gap:8px;font-size:10px}.identity small{font-size:9px}.identity .avatar{width:32px;height:32px}.page-heading{align-items:flex-start;flex-wrap:wrap;gap:15px}.page-heading h1{font-size:27px}.page-heading p{font-size:12px}.page-heading .toolbar{width:100%}.grid-2,.grid-3,.plan-purchase{grid-template-columns:1fr}.grid-3>:last-child{grid-column:auto}.quote{position:static}.stats{grid-template-columns:1fr 1fr;gap:10px}.stat{padding:17px}.stat .value{font-size:28px}.stat .stat-icon{right:14px;top:16px}.dashboard-welcome{padding:24px;grid-template-columns:1fr}.dashboard-welcome h2{font-size:28px}.dashboard-emblem{display:none}.dashboard-welcome p{font-size:12px}.panel{padding:18px}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.permissions{grid-template-columns:1fr}.modal-inner{padding:21px}.modal-header h2{font-size:21px}.form-actions{flex-wrap:wrap}.form-actions .button{flex:1}.test-line{align-items:flex-start;font-size:11px;flex-wrap:wrap;gap:5px 9px}.test-line .status-dot{margin-top:6px}.duration-options{gap:7px}.duration-options span{font-size:12px;padding:14px 3px}.auth-story h1{font-size:31px}.auth-visual{padding:23px}.auth-form-area{padding:26px 23px 38px}.test-accounts .button{flex:1}.training-card{padding:22px}.training-card .number{margin-bottom:20px}.search-row{flex-wrap:wrap}.search-row .field{max-width:none;min-width:100%}.message-meta{gap:8px 13px}.quote .total{font-size:36px}.toast{right:16px;bottom:16px}.panel-header{align-items:flex-start;flex-wrap:wrap}.button{padding:10px 14px}.table-scroll{margin:0 -3px}.status-line{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.button:hover{transform:none}}
/* V2 — lecture à taille naturelle, sans zoom global ni changement fonctionnel. */
body { font-size:16px; }
.brand-title { font-size:17px; }
.brand small, .eyebrow, .sidebar-foot .test-label, .identity small,
.pill, th, .nav-group { font-size:12px; }
.nav-group { letter-spacing:.1em; }
.navigation { min-height:0; flex:1 1 auto; }
.sidebar .brand, .sidebar-foot { flex-shrink:0; }
.nav-item { font-size:15px; line-height:1.35; min-height:46px; }
.sidebar-foot a, .field label, .field>span, .button.small,
.test-line, .auth-switch, .test-accounts p, .panel-header p,
.check, .permissions legend, .quote dl, .training-card p,
.modal-header p, .notice-card, .compact-list, .input-summary,
.check-list, .profile-head p, table, td strong { font-size:14px; }
.field small, .hint, .auth-footer, .stat .label, .quick-link small,
.message-meta, .muted-line, .status-line { font-size:13px; }
.page-heading p, .dashboard-welcome p, .quick-link strong,
.message-card p, .duration-options span, .error, .toast,
.readonly, .topbar-location, .identity, .empty p { font-size:15px; }
.auth-story p { font-size:17px; }
.panel h2, .message-card h3 { font-size:19px; }
.page-heading h1 { font-size:32px; }
.button {
    min-height:44px;
    color:#eef3fa;
    border-color:#b6c7dd6b;
    box-shadow:inset 0 1px 0 #f4f8ff40, inset 0 -2px 3px #0003, 0 7px 18px #0003;
}
.button.small { min-height:38px; }
.button.secondary { color:#e0e8f3; }
.field input, .field select, .field textarea { min-height:46px; }
.topbar { min-height:90px; height:auto; padding-top:16px; padding-bottom:16px; }
.topbar-left, .identity, .page-heading>div { min-width:0; }
.panel-header, .form-actions { flex-wrap:wrap; }
@media (max-width:1180px) and (min-width:851px) {
    .sidebar .brand { gap:9px; padding-inline:6px; }
    .sidebar .brand-title { font-size:16px; }
    .nav-item { padding-inline:10px; gap:9px; }
    .plan-purchase { grid-template-columns:1fr; }
    .quote { position:static; }
}
@media (max-width:850px) {
    .topbar { min-height:76px; }
    .grid-2 { grid-template-columns:1fr; }
}
@media (max-width:620px) {
    .topbar-location { font-size:12px; }
    .identity { font-size:12px; }
    .identity small { font-size:11px; }
    .page-heading h1 { font-size:29px; }
    .auth-story p { font-size:15px; }
    .test-line { font-size:13px; }
    .duration-options { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .duration-options span { font-size:14px; }
    .form-actions .button { flex-basis:140px; }
}

/* Gestion simple de l’agenda V10. */
.admin-events-list{display:grid;gap:14px}.admin-event{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;padding:21px;border:1px solid #93aace25;border-radius:13px;background:#0e1726}.admin-event-main{min-width:0;flex:1}.admin-event h3{margin:12px 0 8px;font-size:18px;font-weight:550;color:#eaf3ff}.admin-event p{margin:5px 0;color:#9eb3ce;font-size:12px}.admin-event-summary{white-space:pre-wrap;overflow-wrap:anywhere;max-width:780px}.admin-event-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;max-width:235px}.admin-event h3{overflow-wrap:anywhere}@media(max-width:1000px){.admin-event{flex-direction:column}.admin-event-actions{max-width:none;justify-content:flex-start}}@media(max-width:620px){.admin-event{padding:16px}.admin-event-actions{width:100%}.admin-event-actions>.button{flex:1}}

/* Emblème et gestion des inscriptions. */
.brand-mark-image{overflow:hidden;border-color:#8dbde866;box-shadow:0 6px 20px #0005,0 0 18px #3987d425}
.brand-mark-image img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}
.newsletter-admin-intro{display:flex;gap:22px;align-items:center;padding:28px 30px;border:1px solid #6ac9ca66;border-radius:18px;background:radial-gradient(ellipse at 0 0,#257c764f,transparent 70%),linear-gradient(110deg,#143b49,#142a44);box-shadow:inset 0 1px 0 #b7fbef30}
.newsletter-admin-icon{flex:0 0 54px;width:54px;height:54px;display:grid;place-items:center;border:1px solid #8de7d366;border-radius:16px;background:#66d8bc14;color:#a4f3dd}
.newsletter-admin-icon .icon{width:28px;height:28px}
.newsletter-admin-intro h2{font-size:23px;line-height:1.3;margin:0 0 8px;font-weight:550;color:#edfcff}
.newsletter-admin-intro p{font-size:15px;line-height:1.7;color:#bed6e6;margin:0;max-width:670px}
.newsletter-admin-count{margin-left:auto;text-align:center;min-width:95px;padding-left:25px;border-left:1px solid #9cd1df40}
.newsletter-admin-count strong{font-size:39px;line-height:1.1;font-weight:550;color:#a4f2db;display:block}
.newsletter-admin-count span{display:block;color:#c3dce8;font-size:13px;margin-top:6px}
.newsletter-no-results{padding:20px 5px;color:#b7cce1;font-size:15px}
.admin-event{border-color:#72b4d83d;background:linear-gradient(115deg,#122b40,#111f32);padding:25px;border-radius:16px;box-shadow:inset 0 1px 0 #b4ddf00e}
.admin-event h3{font-size:21px;line-height:1.4;margin-top:14px}
.admin-event p{font-size:14px;line-height:1.7;color:#b3c8de}
.admin-event-actions .button{min-height:42px;border-radius:12px}
@media(max-width:1000px){.newsletter-admin-intro{gap:18px;padding:24px}.newsletter-admin-icon{display:none}.newsletter-admin-count{padding-left:20px}}
@media(max-width:620px){.newsletter-admin-intro{align-items:flex-start;flex-wrap:wrap;padding:23px;gap:18px}.newsletter-admin-intro h2{font-size:22px}.newsletter-admin-intro p{font-size:14px}.newsletter-admin-count{display:flex;align-items:center;gap:10px;margin:0;padding:14px 0 0;border-left:0;border-top:1px solid #9cd1df40;width:100%;text-align:left}.newsletter-admin-count strong{font-size:30px}.newsletter-admin-count span{margin:0;font-size:14px}.admin-event{padding:18px}.admin-event h3{font-size:20px}.sidebar .brand-title{font-size:16px}}

/* Administration : lecture confortable et actions directes. */
body{font-size:17px;color:#edf4ff;background:#0b1422}
.portal{grid-template-columns:280px minmax(0,1fr)}
.sidebar{width:280px;padding:24px 16px 18px;background:linear-gradient(165deg,#172b43,#101c2e 65%)}
.sidebar .brand{padding-inline:8px;gap:12px}.brand-mark{width:58px;height:58px;border-radius:15px}.brand-title{font-size:17px;line-height:1.4}.brand small{font-size:11px;letter-spacing:.1em}
.navigation{margin-top:22px;gap:4px}.nav-group{color:#92a9c6;padding-top:12px}.nav-item{min-height:45px;font-size:15px;color:#b8cbe2;padding:10px 13px}.nav-item.active{background:linear-gradient(100deg,#31699c70,#24415b55);color:#fff;border-color:#8ac9ec55;box-shadow:inset 3px 0 #74e5ce}.sidebar-foot{gap:11px;padding-top:13px}.sidebar-foot a{font-size:14px;color:#bdd0e7}
.topbar-location{font-size:14px;color:#adc2de}.identity{font-size:14px}.identity small{font-size:12px;color:#a4bad4}.main{padding:34px clamp(20px,3vw,46px) 56px;max-width:1640px}.page-heading h1{font-size:34px;font-weight:600}.page-heading p{font-size:16px;color:#abc0dc}.page-heading{align-items:center;margin-bottom:26px}.eyebrow{color:#aac9ea;font-size:12px}.panel{background:linear-gradient(140deg,#1b2b42d9,#132239);border-color:#78a8d33b;border-radius:18px}.panel h2{font-size:22px;line-height:1.35}.panel p{color:#b4c7df}.panel-header p{font-size:15px}.button{font-size:16px;min-height:48px;padding:12px 18px;border-radius:12px}.button.small{font-size:15px;min-height:43px;padding:10px 14px}.button.green{background:linear-gradient(135deg,#147f71,#0e5d52);border-color:#74dac680}.button.green:hover{background:linear-gradient(135deg,#1a9785,#157566)}.button.secondary{background:linear-gradient(135deg,#294866,#1b334d);border-color:#96c3e655}.button.danger{background:linear-gradient(135deg,#71324a,#4a263e)}.button:disabled{cursor:not-allowed;opacity:.42}.button:disabled:hover{transform:none}.icon{width:20px;height:20px}.field label,.field>span{font-size:15px;color:#d4e3f7}.field input,.field select,.field textarea{font-size:16px;min-height:49px;padding:12px 13px;background:#0d1d31;border-color:#94b4da4a}.field input::placeholder,.field textarea::placeholder{color:#8ba1be}.field small,.hint,.muted-line{font-size:14px;color:#9fb6d4;line-height:1.6}.check{font-size:15px;line-height:1.6;color:#d0dff0}.check input{width:19px;height:19px;margin-top:3px}.permissions{gap:15px}.permissions legend{font-size:15px}.notice-card{font-size:15px;color:#b6cee9;background:#1b3b544d;padding:15px 18px;border-radius:0 12px 12px 0;border-left-color:#83dbca}.pill{font-size:12px;padding:6px 10px;border-radius:8px;line-height:1.35}.pill.green{color:#b4f4dc;background:#216b5144;border-color:#8adebc55}.pill.red{color:#ffd2dd}.readonly,.input-summary{font-size:15px;line-height:1.8}.test-line{font-size:14px;color:#bfd2e9;padding:14px 17px}.test-line strong{font-size:12px;letter-spacing:.03em}table{font-size:15px}th{font-size:12px;color:#adc5e4}td,td strong{font-size:15px}td small{font-size:13px;color:#a0b6d3}td{padding:17px 15px}.table-scroll{border-color:#87b2d93b}.empty{padding:45px 22px}.empty strong{font-size:18px;color:#deebfc}.empty p{font-size:15px;color:#9eb6d5}.stat{background:linear-gradient(135deg,#1d3c5b,#172b43);border-color:#81bbdf3b}.stat .label{font-size:15px;color:#bbcee6}.stat .value{font-size:39px;margin:10px 0 5px}.dashboard-welcome{padding:35px;background:radial-gradient(ellipse at 100% 0,#4ac7ba2b,transparent 65%),linear-gradient(110deg,#234e76,#18334f);border-color:#8dc9e655}.dashboard-welcome h2{font-family:inherit;font-size:32px;line-height:1.25;font-weight:600}.dashboard-welcome p{font-size:17px;color:#c7dbee;margin-top:11px;max-width:750px}.dashboard-welcome .eyebrow{display:block;margin-bottom:16px}.dashboard-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.quick-link{padding:21px;border-color:#8ab5dd40;background:linear-gradient(120deg,#244a693b,#18395329);border-radius:14px;min-width:0}.quick-link:hover{background:#2c547c66}.quick-link strong{font-size:17px;color:#f3f8ff}.quick-link small{font-size:14px;color:#b0c8e3}.quick-link>.icon{width:24px;height:24px;color:#83dbce}.quick-link>span{min-width:0}.dashboard-emblem{border-color:#b5ebf755;color:#e1f6ff}.auth-story p{font-size:18px;color:#a9c1df}.auth-intro p{font-size:16px;color:#b4c9e2}.auth-form-area{max-width:700px}.auth-switch,.test-accounts p{font-size:15px}.auth-form-area h2{font-size:31px}.auth .brand-mark{width:68px;height:68px}.test-accounts .muted-line{font-size:13px}.compact-list,.check-list,.quote dl,.message-meta{font-size:15px}.message-card h3{font-size:21px}.message-card p{font-size:16px}.training-card p{font-size:16px}.profile-head p{font-size:15px}
.pending-welcome{padding:clamp(24px,5vw,55px);max-width:900px;border:1px solid #8ec5e55c;border-radius:23px;background:radial-gradient(ellipse at 80% 0,#1e8c805c,transparent 60%),linear-gradient(130deg,#244d73,#173049);box-shadow:0 20px 50px #020b1626}.pending-welcome h2{font-size:32px;line-height:1.25;max-width:650px;margin:20px 0}.pending-welcome p{font-size:17px;line-height:1.8;color:#c5d8ee;max-width:680px;margin-bottom:28px}.pending-icon{display:grid;place-items:center;width:66px;height:66px;border:1px solid #9ae9d976;background:#6ce6cb1a;border-radius:20px;margin-bottom:25px;color:#b9f5e8}.pending-icon .icon{width:32px;height:32px}.approval-banner{display:flex;gap:20px;align-items:center;padding:26px;border:1px solid #87dcd159;border-radius:17px;background:linear-gradient(110deg,#1a514d,#1b3c54)}.approval-banner>span{color:#b5f2df}.approval-banner>span>.icon{width:35px;height:35px}.approval-banner>div{flex:1}.approval-banner h2{margin:0 0 6px;font-size:23px}.approval-banner p{margin:0;color:#c7dce9;font-size:15px}.approval-banner .button{flex-shrink:0}
.catalog-editor-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}.catalog-editor-item{min-width:0;display:flex;flex-direction:column;background:#12233b;border-radius:20px;border:1px solid #7daed53b;overflow:hidden}.catalog-editor-item.is-wide{grid-column:1/-1}.catalog-card{display:flex;flex-direction:column;height:100%;min-width:0;border-radius:18px;overflow:hidden;background:radial-gradient(ellipse at 100% 100%,#295a7644,transparent 65%),linear-gradient(140deg,#1b3855,#142a43);color:#edf6ff}.catalog-photo{aspect-ratio:16/10;position:relative;overflow:hidden;background:#1e3e5b;flex-shrink:0}.catalog-photo img{display:block;width:100%;height:100%;object-fit:cover}.catalog-photo>span:not(.pill){height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#afc9df}.catalog-photo>span>.icon{height:35px;width:35px}.catalog-photo small{font-size:14px}.catalog-visibility{position:absolute;top:12px;left:12px;box-shadow:0 3px 15px #0005;background:#0e233ce6!important}.catalog-copy{display:flex;flex:1;flex-direction:column;padding:24px;min-width:0}.catalog-copy .eyebrow{font-size:11px;line-height:1.6;color:#8fdbef;letter-spacing:.12em}.catalog-copy h3{font-size:24px;line-height:1.22;letter-spacing:-.025em;margin:13px 0 12px;font-weight:600;overflow-wrap:anywhere}.catalog-copy p{font-size:15px;line-height:1.7;color:#bacee4;margin:0 0 16px;overflow-wrap:anywhere}.catalog-copy ul{list-style:none;padding:0;margin:0 0 17px;font-size:14px;color:#c2d8eb;display:grid;gap:8px}.catalog-copy li{padding-left:17px;position:relative;overflow-wrap:anywhere}.catalog-copy li:before{content:'✓';color:#7de1c5;position:absolute;left:0}.catalog-price{margin-top:auto;display:flex;flex-direction:column;padding-top:8px}.catalog-price small{font-size:13px;color:#abc6e2}.catalog-price strong{font-size:35px;line-height:1.3;letter-spacing:-.045em;color:#e8fff8;font-weight:650;overflow-wrap:anywhere}.catalog-price span{font-size:13px;color:#b7cde5;margin:4px 0 16px}.catalog-preview-button{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(110deg,#2358a3,#196482);border:1px solid #7abbee8c;border-radius:11px;padding:12px 16px;font-size:15px;font-weight:600;pointer-events:none}.catalog-card-wide{display:grid;grid-template-columns:1fr 1.15fr}.catalog-card-wide .catalog-photo{aspect-ratio:auto;min-height:330px}.catalog-card-wide .catalog-copy{padding:30px}.catalog-card-wide .catalog-copy h3{font-size:30px}.catalog-actions{display:flex;flex-wrap:wrap;gap:8px;padding:18px;border-top:1px solid #78a7ce2e;background:#102037}.catalog-actions>.button{flex:1;white-space:nowrap}.catalog-actions>[data-action='edit-product']{flex-basis:100%}.catalog-editor-item.is-wide .catalog-actions>[data-action='edit-product']{flex-basis:auto}.catalog-editor-item.is-wide .catalog-actions>.button{flex:initial}.catalog-editor-item.is-wide .catalog-actions>[data-action='delete-product']{margin-left:auto}.image-picker{display:flex;gap:13px;align-items:center;flex-wrap:wrap;padding:15px;border:1px dashed #8fbde46b;border-radius:13px;background:#24517522}.image-picker input[type=file]{position:absolute;width:1px;height:1px;opacity:0}.image-picker:focus-within{outline:2px solid #a0d7f6;outline-offset:3px}.image-picker .hint{flex:1;min-width:160px}.image-picker .button{cursor:pointer}.layout-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px}.layout-choices label{position:relative;cursor:pointer}.layout-choices input{position:absolute;opacity:0;width:1px;height:1px}.layout-choices span{display:flex;align-items:center;justify-content:center;gap:14px;padding:15px 12px;border:1px solid #7facc64f;border-radius:12px;color:#acc4df;background:#10243a;min-height:69px}.layout-choices input:checked+span{color:#e9fffa;border-color:#8ee5ce9c;background:#215c595c;box-shadow:inset 0 0 0 1px #8ee5ce30}.layout-choices input:focus-visible+span{outline:2px solid #a1d8ff;outline-offset:3px}.mini-grid{display:flex;gap:4px;width:39px}.mini-grid b{width:10px;height:23px;border:1px solid currentColor;border-radius:2px;background:#a0dfd523}.mini-wide{display:block;width:39px;height:23px;border:1px solid currentColor;border-radius:3px;background:#a0dfd523}.mini-wide b{display:block;width:40%;height:100%;border-right:1px solid currentColor}.editor-details{border:1px solid #8fb5d540;border-radius:13px;padding:15px 18px;background:#17324b44}.editor-details summary{cursor:pointer;font-size:16px;font-weight:600;color:#dbeaff;list-style-position:outside;margin-left:15px}.editor-details>.fields{padding-top:22px}.wide-modal{max-width:1120px}.product-editor{display:grid;grid-template-columns:1.12fr 1fr;gap:30px;align-items:start}.product-editor-preview{position:sticky;top:0;padding:20px;background:#0d1e32;border-radius:16px;border:1px solid #79a3c735}.product-editor-preview>.eyebrow{display:block;margin-bottom:17px}.product-editor-preview .catalog-card-wide{display:flex;flex-direction:column}.product-editor-preview .catalog-card-wide .catalog-photo{min-height:0;aspect-ratio:16/8}.product-editor-preview .catalog-card-wide .catalog-copy{padding:24px}.product-editor-preview .catalog-card-wide .catalog-copy h3{font-size:24px}.product-editor-preview .catalog-photo{aspect-ratio:16/9}.product-editor-preview .catalog-card{box-shadow:0 10px 30px #0003}.product-editor-preview .hint{margin-bottom:0}
dialog{max-width:700px;border-color:#8ebadd70;background:linear-gradient(145deg,#1b344e,#152a43)}.wide-modal{max-width:1120px}.modal-inner{padding:30px}.modal-header h2{font-size:27px;line-height:1.3}.modal-header p{font-size:15px;color:#b2cae4}.close-button{min-width:42px;height:42px;font-size:24px}.form-actions{gap:12px}.modal-header{margin-bottom:27px}
.training-dates{display:grid;gap:18px}.training-date-card{display:flex;gap:22px;align-items:flex-start;padding:25px;border:1px solid #79aecb40;border-radius:17px;background:linear-gradient(120deg,#183951,#142b43)}.training-date-icon{display:grid;place-items:center;flex:0 0 54px;width:54px;height:54px;border-radius:16px;border:1px solid #88dfcc69;background:#4cc4ac20;color:#a8efdc}.training-date-icon .icon{width:27px;height:27px}.training-date-content{flex:1;min-width:0}.training-date-content h2,.training-date-content h3{margin:13px 0;font-size:23px;line-height:1.35;color:#edf7ff;font-weight:600;overflow-wrap:anywhere}.training-date-content strong{font-size:16px;color:#c6e6f7;font-weight:550}.training-date-content p{font-size:15px;color:#b0cce4;line-height:1.7;margin:8px 0;overflow-wrap:anywhere}.training-date-actions{display:flex;gap:9px;flex-wrap:wrap;max-width:245px;justify-content:flex-end}.training-date-card .pill{white-space:normal}.order-summary{border:1px solid #8db6ce38;background:#11263c;padding:24px;border-radius:15px}.order-summary h3{font-size:25px;line-height:1.3;margin:13px 0}.order-summary p{font-size:16px;color:#bdd2e8;line-height:1.7}.order-summary dl{margin:20px 0 0}.order-summary dl>div{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-top:1px solid #91bcd333;font-size:16px}.order-summary dt{color:#a9c4de}.order-summary dd{margin:0;text-align:right}.order-summary .order-total{font-size:22px;color:#ccf5e6;font-weight:600}.order-summary .order-total dt{color:inherit}.paypal-panel{display:flex;gap:30px;justify-content:space-between;align-items:center;background:linear-gradient(120deg,#1b3d67,#153d53)}.paypal-panel h2{font-size:29px;margin-top:10px}.paypal-panel p{font-size:16px;max-width:640px}.paypal-note{border:1px solid #9cbed34d;border-radius:14px;padding:22px;max-width:330px;background:#163951}.paypal-note strong{font-size:17px}.paypal-note p{font-size:14px;line-height:1.7;margin-bottom:0}.company-save-bar{position:sticky;bottom:12px;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 22px;border:1px solid #80b5cf6b;border-radius:15px;background:#17334df5;box-shadow:0 10px 35px #0005;backdrop-filter:blur(12px)}.company-save-bar .button{min-width:170px}.admin-event p{font-size:16px}.admin-event h3{font-size:23px}.admin-event-actions .button{min-height:45px}.admin-event-actions{max-width:260px}
@media(min-width:1700px){.main{padding-top:42px}.catalog-copy{padding:28px}.catalog-copy h3{font-size:27px}.catalog-actions{padding:20px}}
@media(max-width:1380px){.catalog-editor-list{grid-template-columns:repeat(2,minmax(0,1fr))}.training-date-card{flex-wrap:wrap}.training-date-actions{max-width:none;width:100%;justify-content:flex-start;margin-left:76px}.dashboard-welcome h2{font-size:29px}.main{padding-inline:25px}.topbar{padding-inline:25px}}
@media(max-width:1180px) and (min-width:851px){.portal{grid-template-columns:250px minmax(0,1fr)}.sidebar{width:250px}.sidebar .brand{gap:10px}.sidebar .brand-title{font-size:15px}.sidebar .brand-mark{width:52px;height:52px}.nav-item{font-size:15px}.main{padding-inline:20px}.catalog-actions>.button{font-size:14px;padding-inline:11px}.catalog-copy{padding:20px}.catalog-copy h3{font-size:23px}.catalog-card-wide{grid-template-columns:1fr 1fr}.catalog-card-wide .catalog-copy{padding:24px}.dashboard-shortcuts{grid-template-columns:1fr}.approval-banner{flex-wrap:wrap}.approval-banner .button{margin-left:55px}.paypal-panel{display:block}.paypal-note{margin-top:23px;max-width:none}}
@media(max-width:850px){.portal{grid-template-columns:1fr}.sidebar{width:280px}.main{padding-inline:22px}.topbar{padding-inline:22px}.product-editor{grid-template-columns:1fr;gap:24px}.product-editor-preview{position:static;max-width:500px;width:100%;margin:auto}.product-editor-preview .catalog-card{max-width:460px;margin:auto}.wide-modal{max-width:650px}.layout-choices span{font-size:15px}.dashboard-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}.modal-inner{padding:25px}.paypal-panel{display:block}.paypal-note{max-width:none;margin-top:22px}.approval-banner{flex-wrap:wrap}.approval-banner .button{margin-left:55px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){body{font-size:16px}.main{padding:25px 16px 40px}.topbar{padding-inline:16px}.identity{font-size:12px}.identity small{font-size:11px}.topbar-location{font-size:12px}.page-heading h1{font-size:29px}.page-heading p{font-size:15px}.page-heading .toolbar>.button{flex:1}.button{font-size:15px;min-height:47px;padding:12px 15px}.button.small{font-size:14px;min-height:42px}.panel{padding:20px}.panel h2{font-size:21px}.dashboard-welcome{padding:26px}.dashboard-welcome h2{font-size:27px}.dashboard-welcome p{font-size:16px}.dashboard-shortcuts{grid-template-columns:1fr}.quick-link{padding:18px}.quick-link strong{font-size:16px}.catalog-editor-list{grid-template-columns:1fr;gap:22px}.catalog-card-wide{display:flex;flex-direction:column}.catalog-card-wide .catalog-photo{aspect-ratio:16/9;min-height:0}.catalog-card-wide .catalog-copy{padding:24px}.catalog-card-wide .catalog-copy h3{font-size:25px}.catalog-editor-item.is-wide .catalog-actions>.button{flex:1}.catalog-editor-item.is-wide .catalog-actions>[data-action='edit-product']{flex-basis:100%}.catalog-editor-item.is-wide .catalog-actions>[data-action='delete-product']{margin-left:0}.catalog-actions{padding:17px}.catalog-actions>.button{font-size:14px}.catalog-copy h3{font-size:26px}.catalog-photo{aspect-ratio:16/9}.catalog-copy p{font-size:16px}.catalog-card .catalog-price strong{font-size:36px}.layout-choices{gap:9px}.layout-choices span{padding:15px 8px;gap:8px;font-size:14px}.mini-grid,.mini-wide{width:33px;flex-shrink:0}.mini-grid b{width:8px}.product-editor-preview{padding:16px}.product-editor{gap:23px}.modal-inner{padding:22px}.modal-header h2{font-size:24px}.modal-header p{font-size:14px}.modal-header{gap:12px}.training-date-card{padding:20px;gap:16px}.training-date-icon{display:none}.training-date-content{flex-basis:100%}.training-date-content h2,.training-date-content h3{font-size:22px}.training-date-actions{margin:0;gap:8px}.training-date-actions>.button{flex:1}.order-summary{padding:20px}.order-summary h3{font-size:23px}.order-summary dl>div{font-size:15px}.order-summary .order-total{font-size:22px}.company-save-bar{bottom:8px;padding:14px;flex-wrap:wrap;gap:8px}.company-save-bar .hint{font-size:13px}.company-save-bar .button{width:100%}.pending-welcome h2{font-size:28px}.pending-welcome p{font-size:16px}.pending-welcome .row>.button{flex:1}.approval-banner{padding:22px;gap:16px}.approval-banner>span{display:none}.approval-banner>div{flex-basis:100%}.approval-banner .button{margin:0;flex:1}.approval-banner h2{font-size:22px}.test-line{font-size:13px}.admin-event p{font-size:15px}.admin-event h3{font-size:22px}.auth-form-area{padding-inline:23px}.auth-story p{font-size:16px}}
[hidden]{display:none!important}
.preview-format{display:block;font-size:13px;color:#9ce6d5;margin-bottom:13px;line-height:1.6}
@media(min-width:621px){
 .product-editor-preview .catalog-card-wide{display:grid;grid-template-columns:.7fr 1.3fr;align-items:stretch}
 .product-editor-preview .catalog-card-wide .catalog-photo{aspect-ratio:auto;min-height:260px;height:100%}
 .product-editor-preview .catalog-card-wide .catalog-copy{padding:19px 16px}
 .product-editor-preview .catalog-card-wide .catalog-copy h3{font-size:22px}
 .product-editor-preview .catalog-card-wide .catalog-copy p{font-size:14px;line-height:1.6}
 .product-editor-preview .catalog-card-wide .catalog-copy ul{font-size:13px}
 .product-editor-preview .catalog-card-wide .catalog-copy .eyebrow{font-size:10px}
 .product-editor-preview .catalog-card-wide .catalog-price strong{font-size:29px}
 .product-editor-preview .catalog-card-wide .catalog-preview-button{padding:11px;font-size:13px}
}
@media(max-width:620px){.preview-wide .preview-format:after{content:' · empilée sur mobile'}}
/* Comptes, société et comptabilité : repères simples et couleurs lisibles. */
.auth-register .auth-visual{justify-content:flex-start}.auth-register .auth-story{position:sticky;top:80px;margin:90px 0 70px}.auth-register .auth-footer{margin-top:auto}.auth-register .auth-form-area{padding-block:45px}.auth-training-note{display:block;color:#b8d4ec;font-size:14px;margin-top:14px}.auth-story .button{margin-top:4px}.auth .test-accounts summary{cursor:pointer;color:#a7c8e8;font-size:14px;margin-bottom:15px}.recovery-link{text-align:left;font-size:14px;justify-self:start;margin-top:-3px}.recovery-choices{display:grid;gap:15px;border:1px solid #83b6d34a;border-radius:14px;padding:20px;background:#173d5340}.recovery-choices legend{color:#c6dfef;font-size:15px;padding-inline:7px}.recovery-success{text-align:center;padding:25px 20px;border:1px solid #8cdcc65c;border-radius:18px;background:linear-gradient(135deg,#1e68504d,#20446555)}.recovery-success>span{display:grid;place-items:center;margin:0 auto 17px;width:65px;height:65px;border-radius:20px;background:#95e8cf20;color:#b8f4e5;border:1px solid #b2eede66}.recovery-success .icon{width:30px;height:30px}.recovery-success h3{font-size:23px;margin:10px 0}.recovery-success p{font-size:16px;color:#c3d9ee;line-height:1.7}.recovery-success .button{margin-top:15px}.pending-alert{margin-left:auto;display:inline-flex;align-items:center;gap:9px;padding:10px 14px;border:1px solid #e6bc6866;border-radius:11px;background:linear-gradient(120deg,#5b471f,#3d3c30);color:#ffe5ad;font-size:14px;font-weight:600;white-space:nowrap;box-shadow:0 4px 18px #0002}.pending-alert:hover{background:#67552c}.topbar .identity{flex-shrink:0}.pending-alert+.identity{margin-left:0}.directory-applicant{padding:22px;background:linear-gradient(120deg,#294d6f,#1c3857);border-radius:14px;border:1px solid #90c2e94d}.directory-applicant h3{font-size:24px;margin:10px 0}.directory-applicant p,.directory-result p{color:#c7dbee;font-size:15px;line-height:1.7;margin:8px 0;overflow-wrap:anywhere}.directory-source{padding:2px 4px}.directory-source p{color:#b5cce3;font-size:14px;line-height:1.7}.directory-results{display:grid;gap:12px}.directory-result{padding:20px;border-radius:14px;border:1px solid #85d4bf66;background:linear-gradient(120deg,#1d514b,#17384c)}.directory-result h3{font-size:20px;margin:0}.directory-result .pill{white-space:normal;font-size:11px}.company-extra{margin-top:25px;gap:25px}.company-extra .panel{padding:30px}.company-save-bar{position:static}.integration-heading{display:flex;gap:18px;align-items:center;margin-bottom:27px}.integration-heading>div{flex:1;min-width:0}.integration-heading h2{font-size:27px;margin:5px 0 7px}.integration-heading p{font-size:16px;line-height:1.65;margin:0;color:#c6daed}.integration-icon{display:grid;place-items:center;flex:0 0 61px;height:61px;border-radius:18px;background:#7eb5ff22;border:1px solid #a8ccff66;color:#c5e0ff}.integration-icon .icon{width:30px;height:30px}.paypal-config{background:radial-gradient(ellipse at 100% 0,#699cff23,transparent 60%),linear-gradient(125deg,#224777,#183353);border-color:#87b9ef75}.mail-config{background:radial-gradient(ellipse at 100% 0,#5adcc122,transparent 60%),linear-gradient(125deg,#1d4c4d,#17354c);border-color:#87dccb66}.mail-config .integration-icon{color:#b9f7e3;border-color:#91e5ca6b;background:#78e5bf1e}.mail-config .eyebrow{color:#a9e3d7}.integration-panel .field input,.integration-panel .field select{background:#0c2439b8;border-color:#9cc9df5b}.integration-panel .hint{color:#c1d4e9}.integration-panel .row{gap:12px}.integration-panel .fields{gap:21px}.mail-test-form{border-top:1px solid #a3d0d745;padding-top:25px;margin-top:29px;display:grid;grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:12px 16px}.mail-test-form .hint,.mail-test-form .error{grid-column:1/-1;margin:0}.mail-body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:16px;line-height:1.8;padding:25px;border:1px solid #95bada3b;border-radius:13px;background:#10263c;color:#d4e5f5}.branding-grid{display:grid;grid-template-columns:1fr 1fr;gap:21px}.branding-card{padding:23px;border:1px solid #a0bddd45;border-radius:16px;background:linear-gradient(135deg,#253b5d,#1c2e49);display:flex;flex-direction:column;gap:18px;min-width:0}.branding-card:nth-child(2){background:linear-gradient(135deg,#3c365d,#242e4e);border-color:#c3add94d}.branding-card h3{font-size:21px;margin:0}.branding-card p{font-size:15px;line-height:1.65;margin:5px 0 0}.branding-preview{height:155px;padding:18px;display:flex;align-items:center;justify-content:center;border:1px solid #b9d6e85c;border-radius:13px;background:linear-gradient(135deg,#f0f5fc,#dae5f2);overflow:hidden}.branding-preview img{max-height:100%;max-width:100%;object-fit:contain}.branding-preview>span{color:#1b4c7c;font:75px Georgia,serif}.branding-preview .icon{width:60px;height:60px;color:#58618b}.branding-card .image-picker{margin-top:auto;padding:0;border:0;background:none;flex-direction:column;align-items:stretch;gap:8px}.branding-card .image-picker .hint{font-size:13px;text-align:center;min-width:0}.branding-card .text-link{align-self:flex-start;font-size:14px}.branding-card [aria-live]:empty{display:none}.brand-settings{background:radial-gradient(ellipse at 100% 0,#b9a0e51c,transparent 60%),linear-gradient(130deg,#263d59,#182d47)}.accounting-intro{padding:28px;display:flex;align-items:center;gap:22px;border:1px solid #77c6c567;border-radius:19px;background:linear-gradient(115deg,#195455,#234870 70%,#304a75)}.accounting-intro>span{display:grid;place-items:center;width:64px;height:64px;border-radius:19px;background:#b4f0d91b;border:1px solid #95dcd273;flex-shrink:0;color:#cbf6e9}.accounting-intro>.icon,.accounting-intro>span .icon{width:31px;height:31px}.accounting-intro h2{font-size:27px;margin:0 0 8px}.accounting-intro p{font-size:16px;color:#c2deed;line-height:1.7;max-width:880px;margin:0}.accounting-filters{display:grid;grid-template-columns:1fr 1fr 1.3fr auto;gap:16px;align-items:end}.accounting-filters .error{grid-column:1/-1}.accounting-totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.accounting-total{padding:27px;border-radius:18px;border:1px solid #91d1e46b;background:radial-gradient(ellipse at 100% 0,#6dd9cf21,transparent 70%),linear-gradient(135deg,#234a64,#1b3c53)}.accounting-total:nth-child(even){background:radial-gradient(ellipse at 100% 0,#a69ced26,transparent 70%),linear-gradient(135deg,#3a416a,#253b57);border-color:#b6b0e064}.accounting-total>strong{display:block;font-size:36px;font-weight:650;letter-spacing:-.03em;margin-top:22px;line-height:1.3;color:#e4fff8;overflow-wrap:anywhere}.accounting-total>span{display:block;font-size:14px;color:#bcdae8;margin:5px 0}.accounting-total dl{margin:23px 0 0;padding-top:14px;border-top:1px solid #acd6e636;font-size:15px}.accounting-total dl>div{display:flex;justify-content:space-between;gap:10px;padding:5px 0}.accounting-total dt{color:#b5cfe4}.accounting-total dd{margin:0;color:#deeff9}.expense-sums{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.expense-sums .pill{font-size:14px;padding:9px 12px;background:#4c426634;color:#dbd0f1;border-color:#b39fda54}.nav-item[data-route="comptabilite"] .icon{color:#96e2cf}.nav-item[data-route="clients"] .icon{color:#eccb8a}.nav-item[data-route="societe"] .icon{color:#bca8eb}.nav-item[data-route="emails"] .icon{color:#9cdaec}.stat:nth-child(2){background:linear-gradient(135deg,#354a69,#243752);border-color:#afa9de50}.stat:nth-child(3){background:linear-gradient(135deg,#3c4d46,#243e40);border-color:#a4cbbd50}.stat:nth-child(4){background:linear-gradient(135deg,#4c414f,#303651);border-color:#c6a2c450}
@media(max-width:1180px){.integration-heading{flex-wrap:wrap}.integration-heading>.pill{margin-left:79px}.accounting-filters{grid-template-columns:1fr 1fr}.accounting-filters>.button{align-self:end}.branding-grid{gap:16px}.company-extra .panel{padding:25px}.branding-card{padding:19px}.topbar{gap:14px}.topbar-location{font-size:13px}.pending-alert{font-size:13px;padding:10px}.pending-alert .icon{width:17px}}
@media(max-width:850px){.auth-register .auth-story{position:static;margin:35px 0 5px}.auth-register .auth-visual{padding-bottom:30px}.integration-heading>.pill{margin-left:79px}.pending-alert{margin-right:auto;margin-left:0}.topbar-left .topbar-location{display:none}.topbar .identity{margin-left:auto}}
@media(max-width:620px){.auth-register .auth-form-area{padding-top:30px}.branding-grid{grid-template-columns:1fr}.integration-heading{gap:14px}.integration-icon{flex-basis:50px;height:50px;border-radius:15px}.integration-heading h2{font-size:24px}.integration-heading p{font-size:15px}.integration-heading>.pill{margin-left:64px}.company-extra .panel{padding:21px}.mail-test-form{grid-template-columns:1fr}.mail-test-form>.button{width:100%}.accounting-filters{grid-template-columns:1fr 1fr;gap:13px}.accounting-filters>.field:has(select),.accounting-filters>.button{grid-column:1/-1}.accounting-filters .field input{padding-inline:8px;min-width:0;font-size:14px}.accounting-intro{padding:23px}.accounting-intro>span{display:none}.accounting-intro h2{font-size:24px}.accounting-intro p{font-size:15px}.accounting-totals{grid-template-columns:1fr}.accounting-total{padding:23px}.accounting-total>strong{font-size:33px}.directory-applicant{padding:19px}.directory-applicant h3{font-size:22px}.directory-result{padding:18px}.pending-alert{font-size:11px;gap:6px;padding:9px 8px;white-space:normal;max-width:130px}.pending-alert .icon{width:16px}.topbar .identity>span:first-child{display:none}.topbar{gap:10px}.mail-body{padding:18px;font-size:15px}.company-extra .row>.button{flex:1}.brand-settings .panel-header>.button{width:100%}.branding-preview{height:145px}.auth-training-note{font-size:13px}.test-accounts summary{font-size:13px}}
.integration-origin{display:grid;grid-template-columns:1fr 1fr;gap:14px 25px;align-items:center;background:linear-gradient(120deg,#273d60,#1b344e)}.integration-origin h2{font-size:23px}.integration-origin p{font-size:15px;line-height:1.6;margin-bottom:0}.integration-origin>.hint{grid-column:1/-1;margin:0;font-size:14px}
@media(max-width:850px){.integration-origin{grid-template-columns:1fr}.integration-origin>.hint{grid-column:auto}}

/* Administration : surfaces claires, repères colorés et capsules accessibles. */
:root {
  --ink:#223449;
  --muted:#566579;
  --line:#d6e0e8;
  --jade:#e4f4ed;
  --lilac:#eee7f8;
  --rose:#f8e8ed;
  --sky:#e7f1fb;
  --paper:#fffefa;
}
body { background:#f5f4ef; color:var(--ink); font-size:17px; line-height:1.6; }
html { scroll-padding:24px; }
::selection { background:#cde8e1; color:#173b36; }
.boot,.loading { color:var(--muted); }
.skip { border-radius:999px; background:#187765; color:#fff; }
.work-area { background:radial-gradient(ellipse at 100% 0,#e2eff8 0,transparent 45%),radial-gradient(ellipse at 0 85%,#eaf1e6 0,transparent 40%),#f5f4ef; }
.main { padding:36px clamp(20px,3vw,46px) 60px; }
.sidebar { background:linear-gradient(160deg,#1d303e,#172a31 70%,#233c3f); border-right:1px solid #25454b; box-shadow:8px 0 30px #1c33400b; color:#f0f6ff; }
.sidebar .brand-title { font-size:17px; color:#f0f6ff; }
.sidebar .brand small { color:#b6cdd5; font-size:11px; }
.sidebar .brand-mark { width:60px; height:60px; background:#0e202c; border-color:#a8c0d8; box-shadow:0 4px 16px #07182366; }
.navigation { flex:1; min-height:0; align-content:start; gap:5px; margin-top:26px; padding:2px 3px 12px; scrollbar-color:#758e98 transparent; scrollbar-width:thin; }
.nav-group { font-size:11px; color:#b3c5cd; padding-top:16px; letter-spacing:.13em; }
.nav-item { position:relative; min-height:47px; color:#d2e0e7; font-size:16px; gap:11px; padding:11px 12px; border-radius:12px; line-height:1.35; }
.nav-item>span { min-width:0; }
.nav-item:hover { background:#ffffff0c; border-color:#a8c0d828; color:#fff; }
.nav-item.active { background:linear-gradient(100deg,#d6eee3,#edf7f1); border-color:#b9d8cf; color:#203b3b; box-shadow:inset 3px 0 #3a9177,0 4px 12px #081b2422; font-weight:650; }
.nav-item.active .icon { color:#256d5b; }
.nav-item .icon { color:#9edbca; }
.nav-item[data-route="clients"] .icon { color:#b7c7f5; }
.nav-item[data-route="equipe"] .icon { color:#cbb6ea; }
.nav-item[data-route="catalogue"] .icon { color:#e6bdd4; }
.nav-item[data-route="calendrier"] .icon { color:#aacde8; }
.nav-item[data-route="evenements"] .icon { color:#cbb6ea; }
.nav-item[data-route="messages"] .icon { color:#f0c1cc; }
.nav-item.active .icon { color:inherit; }
.sidebar-foot { border-top-color:#a8c0d82b; padding-top:16px; gap:12px; }
.sidebar-foot a { color:#d1e0e7; font-size:15px; }
.sidebar-foot .test-label { color:#b7d5c9; font-size:11px; }
.topbar { min-height:92px; background:#fffdf9d9; border-bottom:1px solid #d5e0e4; box-shadow:0 3px 15px #203c4e04; }
.topbar-location { color:#617080; font-size:15px; }
.topbar-location span { color:#283e51; font-weight:650; }
.identity { font-size:15px; color:#2c4055; }
.identity small { font-size:13px; color:#637284; }
.avatar { background:linear-gradient(140deg,#e4edfb,#dbe8f0); border-color:#b7cbdc; color:#365770; width:42px; height:42px; border-radius:13px; font-size:15px; }
.page-heading { margin-bottom:28px; }
.page-heading h1 { font-size:clamp(29px,2.5vw,38px); letter-spacing:-.035em; color:#21374b; }
.page-heading p { color:#586a7b; font-size:17px; max-width:850px; }
.eyebrow { color:#50746d; font-size:12px; letter-spacing:.14em; }
.muted,.muted-line,.hint,.field small { color:var(--muted); }
.muted-line,.hint,.field small { font-size:15px; line-height:1.65; }
.sapphire { color:#3568a3; }
.text-link { color:#345f9a; font-size:inherit; }
.text-link:hover { color:#6a4090; }
.panel { background:linear-gradient(135deg,#fffefa,#f4f8fa); border:1px solid #cddce4; border-radius:21px; padding:28px; box-shadow:0 8px 24px #263c5010,inset 0 1px #fff; }
.panel h2 { color:#233d50; font-size:24px; font-weight:650; }
.panel p,.panel-header p { color:#566a7a; }
.panel-header { gap:16px; margin-bottom:23px; }
.panel-header p { font-size:17px; }
.stack { gap:22px; }
.grid-2,.grid-3 { gap:22px; }
.fields { gap:22px; }
.form-grid { gap:20px; }
.field label,.field>span { color:#2b4053; font-size:17px; font-weight:650; line-height:1.5; }
.field input,.field select,.field textarea,
.integration-panel .field input,.integration-panel .field select {
  background:#fff; color:#21364a; border:1px solid #b7c9d6; border-radius:12px; font-size:18px; line-height:1.45; min-height:52px; padding:12px 14px; box-shadow:inset 0 2px 4px #253d4b06; transition:border-color .16s,box-shadow .16s;
}
.field input::placeholder,.field textarea::placeholder { color:#75828f; opacity:1; }
.field input:hover,.field select:hover,.field textarea:hover { border-color:#719d9f; }
.field input:focus,.field select:focus,.field textarea:focus { border-color:#388b77; outline:3px solid #a7d7c750; outline-offset:2px; box-shadow:0 0 0 1px #388b7740; }
.field input:disabled,.field select:disabled,.field textarea:disabled { background:#eaf0f3; color:#6d7d87; opacity:.8; cursor:not-allowed; }
.field textarea { min-height:140px; }
input[type="checkbox"],input[type="radio"] { accent-color:#227c64; }
.check { color:#334a5c; font-size:17px; line-height:1.6; }
.check input { width:20px; height:20px; margin-top:4px; }
.permissions { background:#f2edf9; border:1px solid #cbb9e1; border-radius:16px; padding:22px; gap:18px 22px; }
.permissions legend { font-size:18px; font-weight:650; color:#634a80; padding-inline:9px; }
.readonly,.input-summary { background:#eaf2f7; color:#3e576b; border:1px solid #cfdee8; font-size:17px; border-radius:12px; }
.separator { border-top-color:#ccdbe4; }

/* Finition native : aucun calque ne recouvre le texte, aucun déplacement au clic. */
.button,.button.small,.button.secondary,.button.green,.button.danger,.button.flat,.close-button {
  --button-color:#6945a0; --button-hover:#7c58b0;
  display:inline-flex; justify-content:center; align-items:center; gap:9px;
  min-height:46px; height:auto; min-width:0; max-width:100%;
  padding:11px 17px; border:1px solid #a8c0d8; border-radius:999px;
  font-family:Helvetica,Arial,sans-serif; font-size:16px; line-height:1.35; font-weight:700; letter-spacing:0; text-align:center;
  color:#f0f6ff; text-shadow:0 1px 1px #00000028;
  background:linear-gradient(180deg,color-mix(in srgb,var(--button-color),white 28%) 0%,color-mix(in srgb,var(--button-color),white 9%) 19%,var(--button-color) 35%,var(--button-color) 65%,color-mix(in srgb,var(--button-color),black 23%) 100%);
  box-shadow:inset 0 1px 0 #ffffff70,inset 0 -2px 3px #12293833,0 3px 7px #1c354322;
  transition:filter .18s,box-shadow .18s,border-color .18s; transform:none;
  overflow-wrap:anywhere; vertical-align:middle; isolation:isolate;
}
.button.secondary { --button-color:#476582; --button-hover:#55728c; }
.button.green,.button[type="submit"] { --button-color:#197757; --button-hover:#277d5f; }
.button.danger { --button-color:#90354d; --button-hover:#a6455e; }
.button.flat { --button-color:#476582; --button-hover:#55728c; }
.button.small { min-height:44px; padding:10px 14px; }
.button:hover,.button.secondary:hover,.button.green:hover,.button.danger:hover,.button.flat:hover,.close-button:hover {
  transform:none;
  background:linear-gradient(180deg,color-mix(in srgb,var(--button-hover),white 24%) 0%,color-mix(in srgb,var(--button-hover),white 6%) 19%,var(--button-hover) 35%,var(--button-hover) 65%,color-mix(in srgb,var(--button-hover),black 24%) 100%);
  box-shadow:inset 0 1px 0 #ffffff80,inset 0 -2px 3px #12293833,0 4px 10px #1c35432e;
}
.button:active:not(:disabled),.close-button:active:not(:disabled) {
  transform:none; box-shadow:inset 0 3px 6px #0c183e65,inset 0 -1px 0 #ffffff70,0 1px 3px #1c354322;
  background:linear-gradient(180deg,color-mix(in srgb,var(--button-color),black 22%),var(--button-color) 32%,var(--button-color) 70%,color-mix(in srgb,var(--button-color),white 20%));
}
.button:disabled,.button:disabled:hover,.close-button:disabled { cursor:not-allowed; opacity:.46; filter:saturate(.45); transform:none; box-shadow:inset 0 1px #fff5; }
.button:focus-visible,.close-button:focus-visible { outline:3px solid #226cbd; outline-offset:4px; }
.button .icon { width:19px; height:19px; }
.button[data-action^="new-"],.button[data-action^="edit-"],.button[data-action="refresh-approval"],.button[data-action="retry"] { --button-color:#6945a0; --button-hover:#805eb7; }
.button[data-action^="show-"],.button[data-action="verify-user"],.button[data-action="resume-order"],.button[href^="/api/"],.button[href^="#commande"],.button[href^="#calendrier"] { --button-color:#187765; --button-hover:#277c6a; }
.button[data-action="new-client"],.button[data-action="new-collaborator"],.button[data-action="new-training-slot"],.button[data-action="approve-user"],.button[data-action="activate-subscription"] { --button-color:#197757; --button-hover:#277d5f; }
.button[data-action^="toggle-"],.button[data-action="contact-status"] { --button-color:#545c9f; --button-hover:#626aa8; }
.button[data-action^="fill-"],.button[data-action="retry-mail"],.button[data-action="pay-order-test"],.mail-test-form .button { --button-color:#945777; --button-hover:#935f7a; }
.button[data-action^="clear-"],.button[data-action="expense-payment"] { --button-color:#714d88; --button-hover:#85609a; }
.button[data-action^="delete-"],.button[data-action="reject-user"],.button[data-action="disable-user"] { --button-color:#90354d; --button-hover:#a6455e; }
.button[data-action="move-product"][data-direction="up"],.button[data-action="move-product"][data-direction="-1"],.button[data-action="move-product"][data-dir="up"] { --button-color:#79533f; --button-hover:#8c6753; }
.button[data-action="move-product"][data-direction="down"],.button[data-action="move-product"][data-direction="1"],.button[data-action="move-product"][data-dir="down"] { --button-color:#326c83; --button-hover:#42758a; }
.button[data-action="close-modal"],.button[data-action="logout"],.button[data-action^="cancel-"],.close-button { --button-color:#a12643; --button-hover:#b63753; }
.close-button { min-width:46px; flex-shrink:0; padding:10px 14px; font-size:16px; }
.form-actions { gap:13px; padding-top:20px; margin-top:24px; border-top:1px solid #d0dce4; }
.form-actions .button { min-width:130px; }

/* Fenêtres : lecture ample et défilement naturel jusqu’aux dernières actions. */
dialog { background:#fffefa; color:var(--ink); border:1px solid #b8cbd7; border-radius:24px; max-width:850px; width:calc(100% - 40px); max-height:calc(100dvh - 40px); overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; padding:0; box-shadow:0 30px 100px #132e4a60; scrollbar-color:#9eb8bf #f4f7f9; }
dialog::backdrop { background:#10252e91; backdrop-filter:blur(5px); }
dialog.wide-modal { max-width:1240px; }
.modal-inner { padding:34px; min-width:0; font-size:18px; line-height:1.65; }
.modal-header { margin-bottom:30px; align-items:flex-start; gap:20px; padding-bottom:23px; border-bottom:1px solid #d7e3e8; }
.modal-header>div { min-width:0; }
.modal-header h2 { color:#263e51; font-size:29px; font-weight:650; line-height:1.25; letter-spacing:-.03em; overflow-wrap:anywhere; }
.modal-header p { font-size:18px; line-height:1.6; color:#576e7f; margin-top:10px; }
dialog p,dialog .panel-header p,dialog .notice-card,dialog .readonly,dialog .input-summary,dialog .check,dialog .compact-list,dialog .check-list { font-size:18px; }
dialog .hint,dialog .field small,dialog .muted-line,dialog .directory-source p { font-size:16px; }
dialog .field label,dialog .field>span { font-size:17px; }
dialog .field input,dialog .field select,dialog .field textarea { font-size:18px; }
dialog .fields { gap:23px; }
dialog .field { scroll-margin-block:24px; }
dialog .form-actions { padding-bottom:2px; }
dialog .form-actions .button { font-size:17px; }
.error { border-color:#d490a3; background:#fbe9ee; color:#8c2943; font-size:16px; border-radius:12px; padding:14px 17px; }
.success { border-color:#98c8b4; background:#e4f6ee; color:#23664f; font-size:17px; }
.toast { background:#1b6c56; color:#f0f6ff; border-color:#a8c0d8; font-size:17px; padding:17px 22px; border-radius:17px; box-shadow:0 10px 35px #2447353b; }
.notice-card { background:#e6f4ee; color:#315f51; border:1px solid #bedccc; border-left:4px solid #439d7b; padding:18px 20px; border-radius:15px; font-size:17px; line-height:1.65; }
.test-line { background:#eeedf8; color:#5d537c; border-color:#d0c9e3; font-size:14px; }
.test-line strong { color:#594d78; font-size:12px; }
.status-dot { background:#34896c; box-shadow:0 0 0 3px #34946c14; }

/* Cartes : une couleur par famille d’information. */
.stats { gap:18px; }
.stats a.stat { display:block; color:inherit; text-decoration:none; }
.stats a.stat:hover .label { text-decoration:underline; }
.stats a.stat:focus-visible { outline:3px solid #145b79; outline-offset:3px; }
.stat { background:linear-gradient(135deg,#e0f2eb,#f8fdfb); border:1px solid #aad1c1; border-top:4px solid #4f9d7e; border-radius:18px; padding:23px; box-shadow:0 6px 18px #2340350a; }
.stat:nth-child(2) { background:linear-gradient(135deg,#eee6f8,#fcfaff); border-color:#c5b1df; border-top-color:#9a76c1; }
.stat:nth-child(3) { background:linear-gradient(135deg,#e3effc,#f9fcff); border-color:#aac8e4; border-top-color:#5d95c5; }
.stat:nth-child(4) { background:linear-gradient(135deg,#f8e5ec,#fffafb); border-color:#dcb5c6; border-top-color:#b77a98; }
.stat .label { color:#495f70; font-size:16px; }
.stat .value { color:#253d50; font-size:39px; font-weight:650; margin-top:10px; }
.stat .stat-icon { color:#407f6c; }
.stat:nth-child(2) .stat-icon { color:#8060a5; }
.stat:nth-child(3) .stat-icon { color:#4b81b2; }
.stat:nth-child(4) .stat-icon { color:#9b5f7c; }
.dashboard-welcome { background:radial-gradient(ellipse at 100% 0,#c4e5dd90,transparent 65%),linear-gradient(120deg,#e2f0e8,#f7faf5); color:#264837; border-color:#afccbe; padding:36px; border-radius:23px; }
.dashboard-welcome h2 { color:#244c40; }
.dashboard-welcome p { color:#4d6a61; font-size:18px; }
.dashboard-welcome:before { border-color:#4f927d2c; box-shadow:0 0 0 35px #6f998a0a,0 0 0 70px #6f998a08; }
.dashboard-emblem { border-color:#9fc5b7; color:#3d806b; background:#fff9; }
.quick-link { border:1px solid #b9d8ca; background:linear-gradient(120deg,#e7f3ec,#f9fcf9); padding:22px; border-radius:17px; }
.quick-link:nth-child(4n+2) { background:linear-gradient(120deg,#efe7f8,#fcfaff); border-color:#cfbee3; }
.quick-link:nth-child(4n+3) { background:linear-gradient(120deg,#e7effa,#fafdff); border-color:#bed0e3; }
.quick-link:nth-child(4n+4) { background:linear-gradient(120deg,#f6e8ee,#fffbfc); border-color:#dcc0cd; }
.quick-link:hover { background:#fff; box-shadow:0 5px 18px #34485c13; }
.quick-link strong { color:#304b59; font-size:18px; }
.quick-link small { color:#5c6d7b; font-size:15px; }
.quick-link>.icon,.quick-link .arrow { color:#40846e; }
.quick-link:nth-child(4n+2)>.icon { color:#8260a6; }
.quick-link:nth-child(4n+3)>.icon { color:#517ca9; }
.quick-link:nth-child(4n+4)>.icon { color:#a46a89; }
.pill { background:#e7eff9; color:#3d6288; border-color:#b6cbe1; border-radius:999px; font-size:13px; padding:6px 11px; }
.pill.green { background:#e1f2e9; color:#286b52; border-color:#9fcdb7; }
.pill.red { background:#f8e3eb; color:#8c3f5b; border-color:#d6a3b6; }
.pill.muted { background:#edf1f4; color:#647584; border-color:#c7d3dc; }
.table-scroll { border:1px solid #c6d6df; border-radius:16px; background:#fff; scrollbar-color:#a0b8c5 #f4f8fa; }
table { font-size:16px; }
th { background:#eaf0f5; color:#4e677b; font-size:13px; letter-spacing:.055em; padding:16px; }
td { border-top-color:#e0e9ef; padding:18px 16px; color:#425c70; }
td strong { color:#2b4357; font-size:16px; font-weight:650; }
td small { color:#60788b; font-size:14px; }
tr:hover td { background:#f4f9fa; }
.cell-actions { gap:9px; }
.empty { color:#61788a; padding:46px 24px; background:#fafcfc; border-radius:14px; }
.empty .icon { color:#6e93a2; }
.empty strong { color:#3b596b; font-size:20px; }
.empty p { color:#61788a; font-size:17px; }
.message-card { background:linear-gradient(120deg,#fff,#faf1f6); border-color:#dec6d2; border-left:4px solid #b67a98; border-radius:18px; padding:24px; }
.message-card h3 { font-size:23px; color:#573b53; }
.message-card p { color:#58697a; font-size:18px; }
.message-meta { color:#746477; font-size:15px; }
.compact-list,.check-list { color:#4c6777; font-size:17px; }
.check-list li:before { color:#218265; }
.status-line { color:#536e80; font-size:15px; }
.training-editor { background:#f1f6fa; border-color:#bfd1df; border-radius:16px; }
.training-card { background:linear-gradient(130deg,#eee7f8,#fff); border-color:#c6b8dc; padding:28px; border-radius:20px; }
.training-card h2 { color:#4c3a67; font-size:25px; }
.training-card p { color:#605670; font-size:17px; }
.training-card .number { color:#9d82bb; }
.quote { background:linear-gradient(135deg,#e7f3ed,#f5faf6); border-color:#b3d1be; color:#294f41; border-radius:20px; }
.quote .total { color:#24644b; }
.quote dl { font-size:17px; }
.quote dl>div { border-bottom-color:#c4ddce; }
.quote dt { color:#527363; }
.quote dd { color:#2e5846; }
.duration-options span { background:#f5f7fa; color:#536b7d; border-color:#b9cbd8; font-size:17px; }
.duration-options input:checked+span { background:#e1f2e9; color:#276a51; border-color:#70ac94; box-shadow:inset 0 0 0 1px #7fba9e; }
.training-date-card,.admin-event { background:linear-gradient(115deg,#e7f1fb,#fbfdff); border:1px solid #b6cfdf; border-left:5px solid #6799bc; border-radius:20px; padding:27px; box-shadow:0 5px 18px #35516c08; }
.training-date-card:nth-child(even),.admin-event:nth-child(even) { background:linear-gradient(115deg,#eee8f8,#fdfbff); border-color:#c8b8df; border-left-color:#9875bd; }
.training-date-icon { background:#d9ebe7; border-color:#9fcac0; color:#367d69; }
.training-date-content h2,.training-date-content h3,.admin-event h3 { color:#294d69; font-size:25px; }
.training-date-content p,.admin-event p { color:#526d82; font-size:17px; }
.training-date-content strong { color:#385a72; font-size:18px; }
.training-date-actions,.admin-event-actions { gap:11px; }
.order-summary { background:#edf6f1; border-color:#bdd7c8; padding:28px; border-radius:19px; }
.order-summary h3 { color:#315d4a; }
.order-summary p,.order-summary dt { color:#527261; }
.order-summary dl>div { border-top-color:#c6decf; font-size:17px; }
.order-summary dd { color:#2c5944; }
.order-summary .order-total { color:#246449; }
.paypal-panel { background:linear-gradient(120deg,#e6eefb,#eff7fd); border-color:#b7cbe5; }
.paypal-note { background:#fffaf0; border-color:#d5c7ae; color:#685b43; }
.paypal-note p { color:#786c55; }
.pending-welcome { background:linear-gradient(125deg,#e3f2e9,#f9fcf8); border-color:#b6d2c2; box-shadow:0 15px 35px #31554010; }
.pending-welcome h2 { color:#305740; }
.pending-welcome p { color:#526f5b; }
.pending-icon { background:#d1ebdf; border-color:#9fc7b3; color:#3d8767; }
.approval-banner { background:linear-gradient(115deg,#e9e5f7,#faf8ff); border-color:#c5b7dc; border-left:5px solid #9475b7; }
.approval-banner h2 { color:#5b4479; }
.approval-banner p { color:#6b5c80; font-size:17px; }
.approval-banner>span { color:#8b6eab; }
.pending-alert { background:linear-gradient(120deg,#eee7f8,#f8f5fc); border-color:#c9b9df; color:#654c84; border-radius:999px; font-size:15px; box-shadow:0 3px 10px #4934660b; }
.pending-alert:hover { background:#e5dbf2; }
.directory-applicant { background:linear-gradient(120deg,#e7effb,#f6faff); border-color:#b8cee6; padding:25px; border-radius:18px; }
.directory-applicant h3 { color:#365b82; font-size:26px; }
.directory-applicant p,.directory-result p { color:#506d83; font-size:18px; }
.directory-source p { color:#596f7f; font-size:17px; }
.directory-result { background:linear-gradient(120deg,#e3f3eb,#f7fcf9); border-color:#9fcab5; padding:24px; border-radius:17px; }
.directory-result h3 { color:#34684f; font-size:24px; }
.directory-result .pill { font-size:14px; }
.newsletter-admin-intro { background:linear-gradient(110deg,#e2f2eb,#eff9f4); border-color:#add2c1; border-radius:20px; box-shadow:inset 0 1px #fff; }
.newsletter-admin-intro h2 { color:#2d6250; font-size:26px; }
.newsletter-admin-intro p { color:#547565; font-size:17px; }
.newsletter-admin-icon { background:#d0eade; border-color:#9ecab6; color:#42886a; }
.newsletter-admin-count { border-color:#bddaca; }
.newsletter-admin-count strong { color:#38795b; }
.newsletter-admin-count span,.newsletter-no-results { color:#5c7668; font-size:16px; }

/* Catalogue : le contenu reste lisible, les actions se distinguent immédiatement. */
.catalog-editor-item { background:#faf8fd; border-color:#cdbedc; border-radius:21px; box-shadow:0 8px 22px #4035520e; }
.catalog-card { background:linear-gradient(140deg,#fffefc,#f4f7fb); color:#2f4359; }
.catalog-photo { background:#e5edf5; }
.catalog-photo>span:not(.pill) { color:#6a8298; }
.catalog-visibility { background:#f7faffed!important; color:#356951; border-color:#abd0ba; box-shadow:0 3px 12px #182a3826; }
.catalog-visibility.pill.muted { color:#5f6c7c; }
.catalog-copy .eyebrow { color:#79618f; font-size:12px; }
.catalog-copy h3 { color:#2f4359; font-size:26px; }
.catalog-copy p { color:#586d7c; font-size:17px; }
.catalog-copy ul { color:#4f6877; font-size:16px; }
.catalog-copy li:before { color:#3c8b6f; }
.catalog-price small,.catalog-price span { color:#62788b; font-size:15px; }
.catalog-price strong { color:#2c6e56; }
.catalog-preview-button { border-radius:999px; background:linear-gradient(180deg,#5485a3,#356784 35%,#356784 70%,#2c526d); border-color:#a8c0d8; color:#f0f6ff; font:700 16px/1.35 Helvetica,Arial,sans-serif; box-shadow:inset 0 1px #ffffff6b,0 3px 7px #1c354322; padding:13px 17px; }
.catalog-actions { background:#ede8f6; border-top-color:#d0c3df; gap:10px; padding:19px; }
.catalog-actions>.button { font-size:16px; }
.catalog-editor-item.is-wide .catalog-actions { background:#e5f0f4; border-top-color:#bdd3df; }
.image-picker { background:#f2ecfa; border-color:#b59bce; padding:18px; border-radius:15px; }
.image-picker .hint { font-size:15px; }
.layout-choices { gap:15px; }
.layout-choices span { background:#f2f5fa; color:#566d81; border-color:#bacbdc; border-radius:15px; font-size:17px; min-height:78px; }
.layout-choices input:checked+span { background:#e4f3e9; color:#2f7458; border-color:#78b596; box-shadow:inset 0 0 0 1px #7bb295; }
.mini-grid b,.mini-wide { background:#98c6b329; }
.editor-details { background:#f1edf8; border-color:#c5b3db; border-radius:16px; padding:18px 22px; }
.editor-details summary { color:#675180; font-size:18px; }
.product-editor { grid-template-columns:minmax(0,1.12fr) minmax(0,1fr); gap:32px; }
.product-editor-preview { background:linear-gradient(140deg,#e8edf9,#f7f9ff); border-color:#bdcce2; padding:23px; }
.product-editor-preview .catalog-card { box-shadow:0 8px 24px #34526a18; }
.preview-format { color:#4d7a69; font-size:15px; }
.product-editor-preview .catalog-copy p { font-size:16px; }
.product-editor-preview .catalog-copy ul { font-size:15px; }
.product-editor-preview .catalog-copy .eyebrow { font-size:12px; }
.product-editor-preview .catalog-copy .catalog-preview-button { font-size:16px; }

/* Société et comptabilité : identification visuelle immédiate des sections. */
.company-extra { gap:25px; }
.integration-origin { background:linear-gradient(120deg,#e9effb,#f8faff); border-color:#becfe4; }
.integration-origin h2 { color:#3b5c83; font-size:25px; }
.integration-origin p,.integration-origin>.hint { color:#596f88; font-size:17px; }
.brand-settings { background:linear-gradient(125deg,#eee6f7,#fcf9ff); border-color:#c8b7df; }
.brand-settings h2 { color:#654582; }
.branding-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.branding-card { background:linear-gradient(135deg,#e5effb,#f6faff); border-color:#adc6e4; padding:23px; border-radius:19px; }
.branding-card:nth-child(2) { background:linear-gradient(135deg,#f6e7ef,#fffbfd); border-color:#d8b5ca; }
.branding-card:nth-child(3) { background:linear-gradient(135deg,#e6f3e9,#fafffa); border-color:#b7d5bc; }
.branding-card h3 { color:#3d5e81; font-size:23px; }
.branding-card:nth-child(2) h3 { color:#8a5576; }
.branding-card:nth-child(3) h3 { color:#527958; }
.branding-card p { color:#62778a; font-size:17px; }
.branding-card .hint { color:#60717f; font-size:15px; }
.branding-card .text-link { color:#7a446a; font-size:16px; }
.branding-preview { height:170px; background:#fff; border-color:#c3d2df; border-radius:15px; box-shadow:inset 0 2px 8px #243e5106; }
.branding-preview .icon { color:#8b82a2; }
.company-save-bar { background:#e1eee7; border-color:#a4c3b1; border-radius:18px; box-shadow:0 5px 20px #33513e13; padding:19px 23px; }
.company-save-bar .hint { color:#496c57; font-size:16px; }
.paypal-config { background:linear-gradient(125deg,#e3edfc,#f4f8ff); border-color:#a9c3e6; }
.mail-config { background:linear-gradient(125deg,#e2f3ed,#f6fcf9); border-color:#a8cebd; }
.integration-heading h2 { color:#34577c; font-size:28px; }
.integration-heading p { color:#58738c; font-size:18px; }
.integration-icon { background:#ccdff7; border-color:#a6c1e3; color:#4879b1; }
.mail-config .integration-heading h2 { color:#376c58; }
.mail-config .integration-heading p { color:#547b69; }
.mail-config .integration-icon { background:#cfebdf; color:#43876b; border-color:#a1ccb6; }
.mail-config .eyebrow { color:#50896c; }
.integration-panel .hint { color:#546f82; font-size:16px; }
.mail-test-form { border-color:#b8d3c6; padding-top:27px; }
.mail-body { color:#3b576c; background:#f0f6fa; border-color:#bdcfdb; font-size:18px; }
.accounting-intro { background:linear-gradient(115deg,#e0f1ec,#e8f2f9); border-color:#aacdc4; border-radius:22px; }
.accounting-intro h2 { color:#325f5b; font-size:28px; }
.accounting-intro p { color:#52746f; font-size:18px; }
.accounting-intro>span { background:#cbe7dd; color:#418677; border-color:#9cc7b7; }
.accounting-total { background:linear-gradient(135deg,#e1f2e9,#f8fcf9); border:1px solid #b0d0bd; border-top:4px solid #579f7c; border-radius:20px; }
.accounting-total:nth-child(even) { background:linear-gradient(135deg,#eee6f8,#fbfaff); border-color:#c7b4df; border-top-color:#9a76bc; }
.accounting-total>strong { color:#2e6851; }
.accounting-total:nth-child(even)>strong { color:#6d4a90; }
.accounting-total>span { color:#597466; font-size:16px; }
.accounting-total dl { border-top-color:#bdd7c8; font-size:17px; }
.accounting-total dt { color:#597568; }
.accounting-total dd { color:#335c48; }
.accounting-total:nth-child(even) dl { border-top-color:#d3c5e4; }
.accounting-total:nth-child(even) dt,.accounting-total:nth-child(even)>span { color:#79628c; }
.accounting-total:nth-child(even) dd { color:#694f82; }
.expense-sums .pill { background:#eee5f7; color:#77598f; border-color:#cab6dc; font-size:16px; }

/* Accès : formulaire clair, visuel de marque conservé. */
.auth { background:#f5f4ef; }
.auth-visual { color:#f0f6ff; background:radial-gradient(ellipse at 30% 65%,#26514d 0%,#192f39 50%,#142431 85%); border-color:#c0d7d828; }
.auth-visual .eyebrow { color:#a4d3c5; }
.auth-visual .brand-title { color:#f0f6ff; }
.auth-visual .brand small { color:#b5cbd4; }
.auth-story p { color:#c3d9de; }
.auth-story h1 em { color:#b6dccb; }
.auth-footer,.auth-training-note { color:#b8cdd3; }
.auth-form-area h2 { color:#253e50; font-size:33px; }
.auth-intro p,.auth-switch { color:#607282; font-size:17px; }
.auth .test-accounts { border-color:#cfdae2; }
.auth .test-accounts summary { color:#637489; font-size:16px; }
.auth .test-accounts p { color:#607082; font-size:16px; }
.recovery-choices { background:#eeebf7; border-color:#c7b8dc; }
.recovery-choices legend { color:#72568b; font-size:18px; }
.recovery-success { background:linear-gradient(135deg,#e3f3e9,#f6fcf8); border-color:#a4cdb8; }
.recovery-success>span { background:#d1ebdd; color:#428463; border-color:#a3cdb5; }
.recovery-success h3 { color:#336448; }
.recovery-success p { color:#577762; font-size:18px; }
.mobile-menu { background:#e3edf3; border-color:#b4cbd7; color:#3a5c71; width:44px; height:44px; border-radius:13px; }

@media(min-width:1700px) {
  .main { padding-top:44px; }
  .panel { padding:31px; }
  .modal-inner { padding:38px; }
}
@media(max-width:1380px) {
  .branding-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .branding-card:last-child { grid-column:1/-1; }
  .branding-card:last-child .branding-preview { max-width:480px; width:100%; align-self:center; }
}
@media(max-width:1180px) and (min-width:851px) {
  .sidebar { width:260px; }
  .portal { grid-template-columns:260px minmax(0,1fr); }
  .nav-item { font-size:16px; }
  .sidebar .brand-title { font-size:16px; }
  .sidebar .brand-mark { width:54px; height:54px; }
  .catalog-actions>.button { font-size:16px; padding-inline:14px; }
  .grid-2 { grid-template-columns:1fr; }
}
@media(max-width:850px) {
  .sidebar { width:min(300px,calc(100vw - 28px)); }
  .topbar { min-height:78px; }
  .main { padding:28px 22px 44px; }
  .product-editor { grid-template-columns:1fr; }
  .product-editor-preview { max-width:600px; }
  dialog.wide-modal { max-width:730px; }
  .modal-inner { padding:28px; }
  .grid-2,.grid-3 { grid-template-columns:1fr; }
  .grid-3>:last-child { grid-column:auto; }
  .branding-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:620px) {
  body { font-size:17px; }
  .main { padding:26px 15px 40px; }
  .topbar { padding:14px 15px; gap:10px; }
  .topbar-left { flex-shrink:0; }
  .identity .avatar { width:39px; height:39px; }
  .page-heading { gap:20px; }
  .page-heading h1 { font-size:30px; }
  .page-heading p { font-size:17px; }
  .page-heading .toolbar { gap:11px; }
  .button,.button.small,.catalog-actions>.button { min-height:46px; font-size:16px; padding:11px 14px; }
  .button { white-space:normal; }
  .panel { padding:23px 19px; border-radius:19px; }
  .panel h2 { font-size:23px; }
  .panel-header { align-items:flex-start; }
  .panel-header p { font-size:17px; }
  .stats { gap:12px; }
  .stat { padding:19px 15px; }
  .stat .label { font-size:15px; }
  .stat .stat-icon { right:13px; top:16px; }
  .stat .value { font-size:34px; }
  .dashboard-welcome { padding:27px 23px; }
  .dashboard-welcome h2 { font-size:29px; }
  .dashboard-welcome p { font-size:18px; }
  .quick-link { padding:21px; }
  .quick-link strong { font-size:18px; }
  .quick-link small { font-size:15px; }
  .form-grid { grid-template-columns:1fr; gap:20px; }
  .span-2 { grid-column:auto; }
  .permissions { grid-template-columns:1fr; padding:19px; }
  .field input,.field select,.field textarea,.accounting-filters .field input { font-size:18px; min-height:52px; }
  .field label,.field>span { font-size:17px; }
  .field small,.hint,.muted-line { font-size:15px; }
  dialog { width:calc(100% - 20px); max-height:calc(100dvh - 20px); border-radius:21px; }
  .modal-inner { padding:24px 19px; }
  .modal-header { gap:13px; margin-bottom:25px; padding-bottom:20px; flex-wrap:wrap; }
  .modal-header>div { flex:1 1 180px; }
  .modal-header h2 { font-size:27px; }
  .modal-header p { font-size:18px; }
  .close-button { min-height:44px; padding:10px 13px; }
  .form-actions { justify-content:stretch; gap:12px; }
  .form-actions .button { flex:1 1 120px; min-width:0; font-size:17px; }
  .catalog-copy { padding:24px; }
  .catalog-copy h3,.catalog-card-wide .catalog-copy h3 { font-size:26px; }
  .catalog-copy p,.catalog-card-wide .catalog-copy p { font-size:17px; }
  .catalog-copy ul { font-size:16px; }
  .catalog-actions { padding:18px; }
  .catalog-editor-item.is-wide .catalog-actions>[data-action='delete-product'] { margin-left:0; }
  .catalog-editor-item.is-wide .catalog-actions>.button { flex:1; }
  .layout-choices span { font-size:16px; padding:16px 10px; gap:8px; }
  .product-editor-preview { padding:17px; }
  .product-editor-preview .catalog-copy { padding:22px; }
  .training-date-card,.admin-event { padding:23px 20px; }
  .training-date-content h2,.training-date-content h3,.admin-event h3 { font-size:24px; }
  .training-date-content p,.admin-event p { font-size:17px; }
  .training-date-actions,.admin-event-actions { width:100%; margin-left:0; gap:10px; }
  .training-date-actions>.button,.admin-event-actions>.button { flex:1 1 115px; }
  .order-summary { padding:23px 20px; }
  .order-summary dl>div { font-size:17px; }
  .pending-alert { max-width:165px; font-size:13px; padding:9px 12px; line-height:1.35; }
  .directory-applicant,.directory-result { padding:22px 19px; }
  .directory-applicant h3 { font-size:25px; }
  .directory-applicant p,.directory-result p { font-size:18px; }
  .integration-heading>.pill { margin-left:0; }
  .integration-heading h2 { font-size:26px; }
  .integration-heading p { font-size:18px; }
  .company-extra .panel { padding:24px 19px; }
  .branding-grid { grid-template-columns:1fr; gap:20px; }
  .branding-card,.branding-card:last-child { grid-column:auto; padding:23px; }
  .branding-card p { font-size:17px; }
  .branding-preview { height:165px; }
  .company-save-bar { padding:18px; }
  .company-save-bar .hint { font-size:16px; }
  .accounting-filters { grid-template-columns:1fr; }
  .accounting-filters>.field:has(select),.accounting-filters>.button { grid-column:auto; }
  .accounting-intro { padding:25px 22px; }
  .accounting-intro h2 { font-size:26px; }
  .accounting-intro p { font-size:18px; }
  .accounting-total { padding:25px 22px; }
  .accounting-total>strong { font-size:34px; }
  .mail-body { padding:23px 19px; font-size:18px; }
  .newsletter-admin-intro { padding:25px 22px; }
  .newsletter-admin-intro h2 { font-size:25px; }
  .newsletter-admin-intro p { font-size:17px; }
  .newsletter-admin-count { border-top-color:#b8d4c7; }
  .auth-form-area { padding-inline:23px; }
  .auth-story p { font-size:18px; }
  .auth-form-area h2 { font-size:31px; }
  .test-line { flex-wrap:wrap; gap:9px; font-size:14px; }
  .toast { bottom:15px; right:15px; max-width:calc(100vw - 30px); font-size:17px; }
}
@media(max-width:380px) {
  .main { padding-inline:12px; }
  .topbar { padding-inline:12px; }
  .stats { grid-template-columns:1fr; }
  .page-heading .toolbar>.button { flex-basis:100%; }
  .panel { padding:22px 16px; }
  .pending-alert { max-width:154px; font-size:12px; }
  .form-actions .button { flex-basis:100%; }
  .catalog-copy,.catalog-card-wide .catalog-copy { padding:22px 19px; }
  .layout-choices { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
}

/* Équipe : responsables au sommet, deux réseaux et des branches identifiables. */
.nav-item:has(.nav-badge:not([hidden])) { padding-right:46px; }
.nav-badge {
  position:absolute; top:6px; right:9px; display:inline-flex; align-items:center; justify-content:center;
  min-width:23px; height:23px; padding:0 6px; border-radius:999px; border:2px solid #fff5;
  background:#c52b4b; color:#fff; font:700 12px/1 Helvetica,Arial,sans-serif;
  box-shadow:0 2px 7px #101b332b; white-space:nowrap;
}
.nav-item.active .nav-badge { border-color:#f0f8f4; }
.team-overview { display:grid; gap:25px; }
.team-admins { position:relative; padding:28px; border:1px solid #c8b5df; border-top:4px solid #9b77c0; border-radius:22px; background:linear-gradient(125deg,#ede4f7,#faf6ff); box-shadow:0 8px 24px #47315809; }
.team-admins:after { content:''; position:absolute; left:50%; bottom:-29px; height:28px; border-left:2px solid #b5a0cb; }
.team-admins h2 { color:#654782; font-size:25px; margin:0 0 10px; }
.team-admins p { color:#77658b; font-size:17px; }
.team-admin-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr)); gap:18px; margin-top:20px; }
.team-person { display:grid; grid-template-columns:43px minmax(0,1fr); align-items:start; column-gap:13px; row-gap:15px; min-width:0; padding:21px; background:#fff; border:1px solid #cdd9e1; border-radius:17px; box-shadow:0 4px 12px #314b6208; }
.team-person-admin { border-color:#c6b5df; background:linear-gradient(135deg,#fff,#f8f4ff); }
.team-person-owner { background:linear-gradient(135deg,#ebe0f5,#fffaff); border-color:#baa0d4; box-shadow:inset 0 3px #a384c2,0 4px 12px #50326008; }
.team-person-avatar { width:43px; height:43px; border-radius:14px; display:grid; place-items:center; background:#e1efe8; border:1px solid #b7d4c6; color:#3d8066; font:700 16px/1 Helvetica,Arial,sans-serif; }
.team-person-admin .team-person-avatar,.team-person-owner .team-person-avatar { background:#e1d3ef; color:#77519c; border-color:#c1a6db; }
.team-person-info { min-width:0; }
.team-person-info h3 { color:#324e60; font-size:19px; line-height:1.4; margin:0 0 5px; overflow-wrap:anywhere; }
.team-person-info p { color:#637787; font-size:15px; line-height:1.6; margin:5px 0; overflow-wrap:anywhere; }
.team-person-info .pill { white-space:normal; }
.team-person-admin .team-person-info h3,.team-person-owner .team-person-info h3 { color:#684886; }
.team-person-admin .team-person-info p,.team-person-owner .team-person-info p { color:#7d688f; }
.team-person-actions { display:flex; flex-wrap:wrap; grid-column:1/-1; gap:10px; padding-top:2px; }
.team-person-actions .button { min-height:44px; font-size:16px; }
.team-person-actions .hint { align-self:center; }
.team-networks { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; position:relative; margin-top:17px; padding-top:22px; }
.team-networks:before { content:''; position:absolute; top:0; left:25%; right:25%; border-top:2px solid #b5a0cb; }
.team-network { position:relative; min-width:0; background:#f2f9f5; border:1px solid #bbd9c7; border-radius:21px; padding:25px 22px; }
.team-network:before { content:''; position:absolute; top:-23px; left:50%; height:22px; border-left:2px solid #b5a0cb; }
.team-network[data-network="installation"] { background:#f0f6fd; border-color:#bed0e4; }
.team-network-header { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-bottom:22px; padding-bottom:20px; border-bottom:1px solid #c6dfd1; }
.team-network-header>div { min-width:0; flex:1 1 160px; }
.team-network-header h2 { color:#347253; font-size:24px; line-height:1.3; margin:0 0 8px; }
.team-network-header p { color:#5c7b68; font-size:16px; margin:0; }
.team-network-header>.icon { color:#4e9471; width:28px; height:28px; }
.team-network[data-network="installation"] .team-network-header { border-color:#c7d8e9; }
.team-network[data-network="installation"] .team-network-header h2 { color:#426a95; }
.team-network[data-network="installation"] .team-network-header p { color:#627d99; }
.team-network[data-network="installation"] .team-network-header>.icon { color:#5b87b6; }
.team-network[data-network="installation"] .team-person-avatar { background:#dbe9f8; border-color:#afc9e4; color:#5682b0; }
.team-branch { min-width:0; background:#fffdfb; border:1px solid #b9d5c7; border-radius:15px; margin-top:15px; overflow:visible; }
.team-network[data-network="installation"] .team-branch { border-color:#b9cde3; }
.team-group-heading { list-style-position:inside; cursor:pointer; padding:18px; background:#e3f0e8; color:#3d7356; border-radius:14px; line-height:1.55; font-size:17px; overflow-wrap:anywhere; }
.team-branch[open]>.team-group-heading { border-radius:14px 14px 0 0; border-bottom:1px solid #c3dacd; }
.team-group-heading strong { font-size:18px; font-weight:650; margin-right:8px; }
.team-group-heading .pill { font-size:12px; vertical-align:middle; white-space:normal; }
.team-network[data-network="installation"] .team-group-heading { background:#e1ecf8; color:#466e96; }
.team-network[data-network="installation"] .team-branch[open]>.team-group-heading { border-bottom-color:#c1d4e8; }
.team-branch-body { padding:18px; min-width:0; }
.team-group-actions { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:18px; }
.team-group-actions .button { font-size:16px; min-height:44px; }
.team-group-actions .button[data-action="new-team-group"],.team-group-actions .button[data-action="add-team-group"] { --button-color:#79533f; --button-hover:#8c6753; }
.team-members { display:grid; gap:14px; min-width:0; }
.team-members .team-person { padding:18px; }
.team-children { position:relative; margin:18px 0 0 9px; padding:0 0 1px 17px; border-left:2px solid #a2c3b2; min-width:0; }
.team-children>.team-branch { position:relative; }
.team-children>.team-branch:before { content:''; position:absolute; left:-19px; top:27px; width:17px; border-top:2px solid #a2c3b2; }
.team-network[data-network="installation"] .team-children { border-left-color:#a6bfd9; }
.team-network[data-network="installation"] .team-children>.team-branch:before { border-top-color:#a6bfd9; }
.team-unassigned { background:linear-gradient(135deg,#f5eee5,#fffdf9); border-color:#d6c7b5; }
.team-unassigned h2 { color:#80654b; }
.team-unassigned .team-members { grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); margin-top:20px; }
.permissions-details { border:1px solid #c8b5de; border-radius:15px; background:#f3edf9; padding:18px 20px; }
.permissions-details>summary { cursor:pointer; color:#6b4c88; font-size:18px; font-weight:650; }
.permissions-details .permissions { margin-top:22px; background:#fff9; }
.permissions-details>.hint { margin-bottom:0; }
.software-price-panel { margin-bottom:26px; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(220px,.85fr); gap:24px 30px; background:linear-gradient(120deg,#e0f1e8,#f4fbf6); border:1px solid #a6cbb5; border-top:4px solid #4f9a73; border-radius:22px; }
.software-price-intro { grid-column:1/-1; }
.software-price-intro h2 { color:#2f684c; font-size:27px; }
.software-price-intro p { color:#567963; font-size:18px; max-width:860px; }
#software-price-form { display:grid; gap:18px; align-content:start; }
#software-price-form .row { gap:12px; }
.software-price-preview { align-self:stretch; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:6px; padding:26px; background:#fffaf2; border:1px solid #d7c4a8; border-radius:18px; color:#796344; text-align:center; }
.software-price-preview>span { font-size:16px; }
.software-price-preview>strong { font-size:clamp(38px,4vw,54px); line-height:1.3; letter-spacing:-.04em; color:#3c795a; overflow-wrap:anywhere; max-width:100%; }
.signature-preview { background:#fff; }
@media(max-width:1100px) {
  .team-networks { grid-template-columns:1fr; gap:26px; margin-top:0; padding-top:0; }
  .team-networks:before { display:none; }
  .team-network:before { top:-27px; height:26px; }
  .team-admins:after { display:none; }
  .software-price-panel { grid-template-columns:1fr 1fr; }
}
@media(max-width:620px) {
  .team-admins { padding:23px 18px; }
  .team-admins h2 { font-size:24px; }
  .team-admin-grid { grid-template-columns:1fr; }
  .team-network { padding:23px 17px; }
  .team-network-header { align-items:flex-start; }
  .team-network-header h2 { font-size:24px; }
  .team-network-header p { font-size:17px; }
  .team-network-header>.button { flex-basis:100%; }
  .team-branch-body { padding:15px 12px; }
  .team-group-heading { padding:16px 13px; }
  .team-group-heading strong { font-size:18px; }
  .team-group-heading .pill { display:inline-block; margin-top:7px; }
  .team-person,.team-members .team-person { padding:18px 14px; grid-template-columns:36px minmax(0,1fr); gap:11px; }
  .team-person-avatar { width:36px; height:36px; font-size:14px; border-radius:12px; }
  .team-person-info h3 { font-size:18px; }
  .team-person-info p { font-size:15px; }
  .team-person-actions .button { flex:1 1 105px; }
  .team-group-actions { gap:10px; }
  .team-group-actions .button { flex:1 1 100px; }
  .team-children { margin-left:2px; padding-left:10px; }
  .team-children>.team-branch:before { left:-12px; width:10px; }
  .team-children .team-branch-body { padding-inline:9px; }
  .team-children .team-children { margin-left:0; padding-left:7px; }
  .team-children .team-children>.team-branch:before { left:-9px; width:7px; }
  .software-price-panel { grid-template-columns:1fr; gap:22px; }
  .software-price-intro { grid-column:auto; }
  .software-price-intro h2 { font-size:26px; }
  .software-price-preview { padding:25px; }
  .permissions-details { padding:18px 15px; }
}
@media(max-width:380px) {
  .team-network { padding-inline:12px; }
  .team-branch-body { padding-inline:9px; }
  .team-person,.team-members .team-person { grid-template-columns:minmax(0,1fr); }
  .team-person-avatar { display:none; }
  .team-children .team-branch-body { padding-inline:7px; }
}
.team-network-intro { position:relative; text-align:center; padding:6px 16px 0; }
.team-network-intro h2 { font-size:25px; color:#4c526c; margin:0 0 7px; }
.team-network-intro p { color:#667183; font-size:17px; line-height:1.6; max-width:650px; margin:0 auto; }
.team-network-intro:after { content:''; position:absolute; left:50%; height:43px; bottom:-43px; border-left:2px solid #b5a0cb; }
.team-network-icon { display:grid; place-items:center; flex:0 0 48px; height:48px; border-radius:15px; background:#dceee3; border:1px solid #afd0bc; color:#46845f; }
.team-network-icon .icon { width:25px; height:25px; }
.team-network[data-network="installation"] .team-network-icon { background:#dceafa; border-color:#b6cde7; color:#547fae; }
.team-network>.team-branch-body { padding:0; }
.team-empty { padding:18px; background:#ffffffa6; border:1px dashed #bad3c5; border-radius:13px; color:#698171; font-size:16px; margin:12px 0 0; }
.team-network[data-network="installation"] .team-empty { color:#6b819a; border-color:#bfd0e3; }
.button.action-purple { --button-color:#6945a0; --button-hover:#805eb7; }
.team-group-actions .button[data-action="new-team-group"] { --button-color:#79533f; --button-hover:#8c6753; }
@media(max-width:1100px) {
  .team-network-intro:before { content:''; position:absolute; left:50%; height:25px; top:-25px; border-left:2px solid #b5a0cb; }
  .team-network-intro:after { height:25px; bottom:-25px; }
}
@media(max-width:620px) {
  .team-network-intro { padding-inline:8px; }
  .team-network-intro h2 { font-size:24px; }
  .team-network-intro p { font-size:17px; }
  .team-children .team-children .team-children { margin-left:0; padding-left:0; border-left:0; }
  .team-children .team-children .team-children>.team-branch:before { display:none; }
  .team-children .team-children .team-children .team-branch-body { padding:14px 7px; }
}
@media(max-width:620px) {
  /* Les huit niveaux restent parcourables sans comprimer le contenu. */
  .team-children .team-children .team-children .team-branch { border-width:0; border-top:1px solid #b9d5c7; border-radius:0; background:transparent; }
  .team-network[data-network="installation"] .team-children .team-children .team-children .team-branch { border-top-color:#b9cde3; }
  .team-children .team-children .team-children .team-branch-body { padding:14px 0; }
  .team-children .team-children .team-children .team-group-heading { padding:14px 8px; border-radius:11px; }
}

/* Confort visuel : toile gris bleuté, cartes colorées et contrastes stables. */
:root {
  --ink:#213747;
  --muted:#3d5667;
  --line:#a9becb;
  --jade:#d6e9df;
  --lilac:#ddd3ec;
  --rose:#ecd9e3;
  --sky:#d8e5f1;
  --paper:#e6edf1;
  --workspace:#b9c9d2;
}
body { background:var(--workspace); }
.work-area {
  background:radial-gradient(ellipse at 95% 0,#adc4d4 0,transparent 52%),radial-gradient(ellipse at 0 95%,#afc9c6 0,transparent 45%),var(--workspace);
}
.topbar { background:#d2dee6ed; border-bottom-color:#a7bdca; box-shadow:0 3px 16px #25425112; }
.page-heading p,.topbar-location { color:#355167; }
.page-heading .eyebrow { color:#315b58; }
.panel { background:linear-gradient(135deg,#e8eef2,#dee8ee); border-color:#a9bdcb; box-shadow:0 8px 24px #304b601a,inset 0 1px #ffffff7a; }
.field input,.field select,.field textarea,.integration-panel .field input,.integration-panel .field select { background:#f0f5f8; border-color:#9db4c3; }
.field input:hover,.field select:hover,.field textarea:hover { border-color:#5b8d93; }
.field input:focus,.field select:focus,.field textarea:focus { background:#f6fafb; }
.field input::placeholder,.field textarea::placeholder { color:#697e8d; }
dialog { background:#e3ecf1; border-color:#9bb6c5; scrollbar-color:#7999aa #d6e2e9; }
dialog .panel { background:#e9f0f4; }
.modal-header { border-bottom-color:#b8cad5; }
.form-actions { border-top-color:#b4c7d3; }
.notice-card { background:#d4e8df; border-color:#a9c6b7; color:#2e5748; }
.test-line { background:#deddeb; border-color:#b6aecb; color:#514966; }
.empty { background:#e0e9ee; color:#526e7e; }
.empty strong { color:#324e60; }
.table-scroll { background:#e9f0f4; border-color:#aabfcc; }
th { background:#d2e0e9; color:#39596d; }
td { border-top-color:#c6d7e2; }
tr:hover td { background:#dcecf0; }
.permissions,.permissions-details { background:#ddd3ea; border-color:#b9a2d0; }
.permissions-details .permissions { background:#eae3f3; }
.readonly,.input-summary { background:#d6e4ec; border-color:#afc3cf; }
.stats .stat { background:linear-gradient(135deg,#c5e3d6,#dcebe3); border-color:#8fb6a2; border-top-color:#3f8a6c; }
.stats .stat:nth-child(2) { background:linear-gradient(135deg,#d6c9e9,#e6ddf1); border-color:#b5a0ce; border-top-color:#8460ac; }
.stats .stat:nth-child(3) { background:linear-gradient(135deg,#c9dff1,#e0ebf4); border-color:#93b5d1; border-top-color:#4c87b7; }
.stats .stat:nth-child(4) { background:linear-gradient(135deg,#e8cfdc,#efe0e8); border-color:#c39eaf; border-top-color:#aa6486; }
.dashboard-welcome { background:radial-gradient(ellipse at 100% 0,#a6cec380,transparent 65%),linear-gradient(120deg,#cbe2d8,#e1ece5); border-color:#92b3a2; }
.quick-link { background:linear-gradient(120deg,#cfe5d9,#e4eee7); border-color:#a2c5b3; }
.quick-link:nth-child(4n+2) { background:linear-gradient(120deg,#ddd1eb,#e9e1f2); border-color:#b9a5cd; }
.quick-link:nth-child(4n+3) { background:linear-gradient(120deg,#d2e1ef,#e4edf4); border-color:#a8c0d2; }
.quick-link:nth-child(4n+4) { background:linear-gradient(120deg,#e9d4e0,#eee2e9); border-color:#c7abba; }
.quick-link:hover { background:#dcece5; }
.message-card { background:linear-gradient(120deg,#e8e2ed,#ead6e3); border-color:#bfa6bc; border-left-color:#9b5e87; }
.message-card p { color:#3f566a; }
.message-meta { color:#66516e; }
.training-card { background:linear-gradient(130deg,#d9cfeb,#eae3f2); border-color:#b9a5d0; }
.training-date-card,.admin-event { background:linear-gradient(115deg,#cedfec,#e2ebf1); border-color:#9bb8cc; border-left-color:#4f84a9; }
.training-date-card:nth-child(even),.admin-event:nth-child(even) { background:linear-gradient(115deg,#dcd2ea,#e9e2f1); border-color:#b7a5cf; border-left-color:#8260a7; }
.order-summary,.quote { background:linear-gradient(125deg,#cfe4d9,#e1eee6); border-color:#9ebca9; }
.pending-welcome { background:linear-gradient(125deg,#cfe3d6,#e4eee5); border-color:#a0bda8; }
.approval-banner { background:linear-gradient(115deg,#d9d1e8,#e8e2f2); border-color:#b8a5d0; }
.newsletter-admin-intro { background:linear-gradient(110deg,#c9e3d7,#e0ece4); border-color:#9dbdab; }
.catalog-editor-item { background:#d6deea; border-color:#a8b8cb; box-shadow:0 9px 24px #30465c24; }
.catalog-card { background:linear-gradient(140deg,#e2eaf1,#d8e4ed); }
.catalog-editor-item:nth-child(3n+2) .catalog-card { background:linear-gradient(140deg,#dce9e2,#cfe3da); }
.catalog-editor-item:nth-child(3n) .catalog-card { background:linear-gradient(140deg,#e4ddec,#d9cfe5); }
.catalog-copy .eyebrow { color:#604775; }
.catalog-copy h3 { color:#243e52; }
.catalog-copy p,.catalog-copy ul { color:#405e72; }
.catalog-actions { background:#d6cce6; border-top-color:#b6a3cd; }
.catalog-editor-item:nth-child(3n+2) .catalog-actions { background:#c2ded0; border-top-color:#9fbeac; }
.catalog-editor-item:nth-child(3n) .catalog-actions { background:#d3c6e3; border-top-color:#b6a3cd; }
.catalog-editor-item.is-wide .catalog-actions { background:#c8dce5; border-top-color:#a4bfce; }
.image-picker,.editor-details { background:#ded5eb; border-color:#b29acb; }
.product-editor-preview { background:linear-gradient(140deg,#d4dfee,#e2eaf3); border-color:#a3b8d2; }
.layout-choices span { background:#e0e9ef; border-color:#a5b9c8; }
.layout-choices input:checked+span { background:#cbe5d7; border-color:#659c80; }
.integration-origin,.paypal-config { background:linear-gradient(120deg,#d2dff0,#e4ecf4); border-color:#9db6d2; }
.brand-settings { background:linear-gradient(125deg,#d9cde9,#e9e1f2); border-color:#b29bcf; }
.branding-card { background:linear-gradient(135deg,#cfdeef,#e3ecf4); border-color:#96b2d2; }
.branding-card:nth-child(2) { background:linear-gradient(135deg,#e6d1de,#ede0e8); border-color:#c5a3b8; }
.branding-card:nth-child(3) { background:linear-gradient(135deg,#d0e3d5,#e1ece3); border-color:#9dbcaa; }
.branding-preview { background:#edf3f6; border-color:#adbfcb; }
.signature-preview { background:#f4f7f9; }
.mail-config { background:linear-gradient(125deg,#cde5da,#e2eee8); border-color:#94bba7; }
.mail-body { background:#dce8ef; border-color:#a7becd; }
.paypal-note { background:#deddeb; border-color:#b3abc7; color:#514a66; }
.paypal-note p { color:#5e5770; }
.accounting-intro { background:linear-gradient(115deg,#c9e2d9,#dce7ef); border-color:#9abdb2; }
.accounting-total { background:linear-gradient(135deg,#cce3d5,#e0ebe3); border-color:#9fbeaa; }
.accounting-total:nth-child(even) { background:linear-gradient(135deg,#d9cce8,#e9e0f1); border-color:#b7a0cd; }
.software-price-panel { background:linear-gradient(120deg,#c7e2d4,#ddebe2); border-color:#96bba5; border-top-color:#428465; }
.software-price-preview { background:#d1e0e9; border-color:#9cb4c5; color:#4a6173; }
.software-price-preview>strong { color:#286b52; }
.auth-form-area { background:#dce6ec; border-color:#a9bfcd; }
.auth { background:#dce6ec; }

/* Une action, une couleur : distinguer les voisins sans changer leur taille. */
.button[href="#societe"] { --button-color:#79533f; --button-hover:#89634f; }
.button[href^="/#"],.button[href="/"] { --button-color:#476582; --button-hover:#55728c; }
.button[data-action="new-product"] { --button-color:#6945a0; --button-hover:#805eb7; }
.button[data-action="reply-contact"],.button[data-action="copy-staff-password"],.button[data-action="reactivate-staff"] { --button-color:#187765; --button-hover:#277c6a; }
.button[data-action="generate-staff-password"] { --button-color:#6945a0; --button-hover:#805eb7; }
.button[data-action="toggle-staff-password"] { --button-color:#476582; --button-hover:#55728c; }
.button[data-action="refresh-contact-replies"] { --button-color:#2b66a3; --button-hover:#3974af; }
.button[data-action="retry-contact-reply"] { --button-color:#945777; --button-hover:#935f7a; }
.button[data-action="suspend-staff"] { --button-color:#90354d; --button-hover:#a6455e; }
.button[data-action="contact-status"] { --button-color:#545c9f; --button-hover:#626aa8; }

/* L’arbre forme un seul tracé, calculé avec le même écart que les colonnes. */
.team-overview { --team-gap:22px; --team-flow-gap:28px; --team-line:#89709f; gap:var(--team-flow-gap); }
.team-admins { background:linear-gradient(125deg,#d8cae9,#e6dbf0); border-color:#b19acb; border-top-color:#8864ad; }
.team-admins:after { display:none; }
.team-admins p { color:#655274; }
.team-person { background:#e7eef2; border-color:#a6bdca; box-shadow:0 5px 14px #2d495d15; }
.team-person-admin { background:linear-gradient(135deg,#e4daee,#eee5f4); border-color:#b49ecc; }
.team-person-owner { background:linear-gradient(135deg,#cfc0e2,#e7dcf0); border-color:#a68bbf; }
.team-person-info p { color:#4d687b; }
.team-person-admin .team-person-info p,.team-person-owner .team-person-info p { color:#655275; }
.team-network-intro { position:relative; justify-self:center; width:min(100%,680px); padding:19px 26px; border:1px solid #a3b6c7; border-radius:19px; background:#d2dee8; box-shadow:0 4px 12px #2d465719; }
.team-network-intro h2 { color:#45405f; }
.team-network-intro p { color:#465c71; }
.team-network-intro:before,.team-network-intro:after { content:''; position:absolute; left:calc(50% - 1px); width:0; height:calc(var(--team-flow-gap) + 2px); border-left:2px solid var(--team-line); pointer-events:none; }
.team-network-intro:before { top:calc(-1 * var(--team-flow-gap) - 2px); }
.team-network-intro:after { bottom:calc(-1 * var(--team-flow-gap) - 2px); }
.team-networks { gap:var(--team-gap); margin-top:0; padding-top:25px; }
.team-networks:before { display:block; top:0; left:calc(25% - var(--team-gap) / 4 - 1px); right:calc(25% - var(--team-gap) / 4 - 1px); border-top:2px solid var(--team-line); }
.team-network { --branch-line:#739d89; background:#cfe3d9; border-color:#96b5a4; box-shadow:0 7px 20px #304b581a; }
.team-network:before { content:''; display:block; top:-26px; height:26px; left:calc(50% - 1px); width:0; border-left:2px solid var(--team-line); pointer-events:none; }
.team-network[data-network="installation"] { --branch-line:#6f91af; background:#d2e1ee; border-color:#9ab4cb; }
.team-network-header { border-bottom-color:#a1bead; }
.team-network[data-network="installation"] .team-network-header { border-bottom-color:#abc1d4; }
.team-branch { background:#e0ece5; border-color:#99bba6; }
.team-network[data-network="installation"] .team-branch { background:#e0eaf2; border-color:#a0b9d0; }
.team-group-heading { background:#c4ddce; color:#2e6347; }
.team-network[data-network="installation"] .team-group-heading { background:#c8daec; color:#365d84; }
.team-children { --branch-inset:18px; border-left:2px solid var(--branch-line); padding-left:var(--branch-inset); }
.team-children>.team-branch:before { left:calc(-1 * var(--branch-inset) - 3px); width:calc(var(--branch-inset) + 3px); border-top:2px solid var(--branch-line); }
.team-network[data-network="installation"] .team-children { border-left-color:var(--branch-line); }
.team-network[data-network="installation"] .team-children>.team-branch:before { border-top-color:var(--branch-line); }
.team-unassigned { background:linear-gradient(135deg,#cbdde4,#e0e8ee); border-color:#9bb6c5; }
.team-unassigned h2 { color:#3e6279; }
.team-empty { background:#e3eee8; border-color:#9cbca8; color:#4b6c58; }
.team-network[data-network="installation"] .team-empty { background:#e4edf5; border-color:#9eb7cf; color:#4c6b89; }

/* Réponses et accès collaborateurs. */
.contact-actions,.password-actions { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-top:18px; }
.staff-password-panel { padding:23px; border:1px solid #ae97c6; border-radius:18px; background:linear-gradient(125deg,#dcd0eb,#e9e2f1); }
.staff-password-panel h3 { margin:0 0 8px; font-size:22px; color:#62437c; }
.staff-password-panel .hint { color:#635371; }
.password-entry { display:flex; gap:12px; align-items:center; min-width:0; }
.password-entry>input,.password-entry>.field { min-width:0; flex:1 1 auto; }
.password-entry>.button { flex:0 0 auto; }
.password-entry input { font-family:ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.025em; }
.staff-account-state { padding:20px; border:1px solid #a2bccc; border-radius:16px; background:#d4e3ed; }
.staff-account-state h3 { font-size:21px; color:#365b75; margin:0 0 8px; }
.staff-account-state p { margin:8px 0 0; }
.contact-thread { display:grid; gap:18px; }
.contact-original { padding:22px; border:1px solid #b99bb2; border-left:4px solid #9e648e; border-radius:17px; background:#e5d8e4; overflow-wrap:anywhere; }
.contact-original p { margin:9px 0; }
.contact-reply { padding:22px; border:1px solid #94b5a4; border-left:4px solid #528870; border-radius:17px; background:#d5e7dc; overflow-wrap:anywhere; }
.contact-reply p { margin:10px 0; white-space:pre-wrap; }
.contact-reply-meta { display:flex; flex-wrap:wrap; align-items:center; gap:9px 16px; color:#4b6659; font-size:15px; line-height:1.6; }
.reply-status-banner { padding:16px 20px; border:1px solid #a6b9cd; border-left:4px solid #688db0; border-radius:14px; background:#d6e3ee; color:#395b77; font-size:17px; }
.reply-compose { display:grid; gap:21px; padding-top:22px; border-top:1px solid #adc3cd; }
.reply-compose textarea { min-height:185px; }

/* Le survol soulève la carte, jamais les traits de l’arbre ni les boutons. */
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .catalog-editor-item,.stat,.quick-link,.message-card,.training-card,.training-date-card,.admin-event,.branding-card,.accounting-total,.team-person {
    transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
  }
  .catalog-editor-item:hover,.stat:hover,.quick-link:hover,.message-card:hover,.training-card:hover,.training-date-card:hover,.admin-event:hover,.branding-card:hover,.accounting-total:hover,.team-person:hover {
    transform:translateY(-3px); border-color:#698c9d; box-shadow:0 12px 27px #2a435d29;
  }
}
@media(max-width:1100px) {
  .team-networks { grid-template-columns:1fr; padding-top:0; gap:var(--team-flow-gap); }
  .team-networks:before { display:none; }
  .team-network:before { top:calc(-1 * var(--team-flow-gap) - 1px); height:calc(var(--team-flow-gap) + 1px); }
}
@media(max-width:620px) {
  .team-network-intro { padding:18px 16px; }
  .team-children { --branch-inset:10px; padding-left:var(--branch-inset); }
  .team-children .team-children { --branch-inset:7px; padding-left:var(--branch-inset); }
  .team-children .team-children>.team-branch:before { left:calc(-1 * var(--branch-inset) - 3px); width:calc(var(--branch-inset) + 3px); }
  .team-children .team-children .team-children { --branch-inset:0px; padding-left:0; border-left:0; }
  .team-children .team-children .team-children>.team-branch:before { display:none; }
  .team-children .team-children .team-children .team-branch { background:transparent; }
  .staff-password-panel { padding:20px 17px; }
  .password-entry { flex-wrap:wrap; }
  .password-entry>input,.password-entry>.field { flex-basis:100%; }
  .password-entry>.button,.password-actions>.button,.contact-actions>.button { flex:1 1 115px; }
  .contact-original,.contact-reply { padding:20px 17px; }
  .reply-status-banner { padding:16px; }
}

/* Repères d’action : les boutons voisins gardent des couleurs distinctes. */
.button[data-action^="edit-"],.button[data-action="edit-user"] { --button-color:#7b4295; --button-hover:#8b54a3; }
.button[data-action^="new-"],.button[data-action="new-client"] { --button-color:#6650aa; --button-hover:#765eb7; }
.button[data-action="new-collaborator"],.button[data-action="add-team-member"],.button[data-action="assign-team-user"] { --button-color:#16745b; --button-hover:#24836a; }
.button[data-action="new-admin"] { --button-color:#754698; --button-hover:#8755a9; }
.button[data-action="new-team-group"] { --button-color:#79533f; --button-hover:#8c6753; }
.button[data-action="move-team-member"] { --button-color:#2e6784; --button-hover:#3e7894; }
.button[data-action="verify-user"],.button[data-action="open-directory"] { --button-color:#116c80; --button-hover:#207c90; }
.button[data-action="approve-user"],.button[data-action="activate-subscription"],.button[data-action="reactivate-staff"] { --button-color:#19734b; --button-hover:#27815b; }
.button[data-action="show-pending"],.button[href="#clients"] { --button-color:#315fa5; --button-hover:#426eb3; }
.button[data-action="reject-user"] { --button-color:#a24f16; --button-hover:#b05e25; }
.button[data-action="disable-user"],.button[data-action="suspend-staff"] { --button-color:#a12f3d; --button-hover:#b3404d; }
.button[data-action="remove-team-member"],.button[data-action^="delete-"] { --button-color:#a12f3d; --button-hover:#b3404d; }
.button[data-action="retry"],.button[data-action="refresh-approval"],.button[data-action="refresh-contact-replies"] { --button-color:#7e6040; --button-hover:#8f7050; }
.button[data-action="fill-admin"] { --button-color:#6d4a93; --button-hover:#7d5aa3; }
.button[data-action="fill-client"] { --button-color:#246e89; --button-hover:#347e98; }
.button[data-action="show-order"],.button[data-action="show-appointment"],.button[data-action="show-mail"],.button[data-action="contact-history"] { --button-color:#315fa5; --button-hover:#426eb3; }
.button[data-action="retry-mail"],.button[data-action="retry-contact-reply"] { --button-color:#885774; --button-hover:#9a6685; }
.button[data-action="pay-order-test"] { --button-color:#90613d; --button-hover:#a16f4b; }
.button[data-action="resume-order"] { --button-color:#205a9a; --button-hover:#316ba8; }
.button[data-action^="toggle-"],.button[data-action="contact-status"] { --button-color:#4b609e; --button-hover:#5c71ac; }
.button[data-action="toggle-staff-password"] { --button-color:#496774; --button-hover:#5a7884; }
.button[data-action="generate-staff-password"] { --button-color:#754698; --button-hover:#8755a9; }
.button[data-action="copy-staff-password"] { --button-color:#16745b; --button-hover:#24836a; }
.button[data-action="reply-contact"] { --button-color:#19734b; --button-hover:#27815b; }
.button[data-action="clear-paypal-secret"],.button[data-action="clear-mail-password"],.button[data-action="clear-branding"] { --button-color:#a24f16; --button-hover:#b05e25; }
.button[data-action="expense-payment"] { --button-color:#7b4295; --button-hover:#8b54a3; }
.button[data-action="client-access"] { --button-color:#494d9d; --button-hover:#5c5faf; }
.button[data-action="reset-access-history"] { --button-color:#a24f16; --button-hover:#b05e25; }
.button[data-action="export-backup"] { --button-color:#77503a; --button-hover:#88624c; }
.button[href="#profil"] { --button-color:#7b4295; --button-hover:#8b54a3; }
.button[href="/#contact"],.button[href="#emails"] { --button-color:#245e9b; --button-hover:#356faa; }
.button[href^="/api/accounting/export.csv"],.button[href^="/api/admin/newsletter/export.csv"] { --button-color:#79533f; --button-hover:#8c6753; }
.button[href^="/api/accounting/invoices.zip"] { --button-color:#176d76; --button-hover:#267d86; }
.button[href^="/api/company/branding/preview.pdf"] { --button-color:#315fa5; --button-hover:#426eb3; }
.button[data-action="close-modal"],.button[data-action="logout"],.close-button { --button-color:#962745; --button-hover:#a83957; }
.button[data-confirmed="true"][data-action^="cancel-"],.button[data-confirmed="true"][data-action^="delete-"],.button[data-confirmed="true"][data-action="suspend-staff"],.button[data-confirmed="true"][data-action="disable-user"] { --button-color:#a64225; --button-hover:#b55235; }

/* Classes partagées par les nouvelles actions et leurs formulaires. */
.button.action-check { --button-color:#116c80; --button-hover:#207c90; }
.button.action-approve,.button.action-save { --button-color:#19734b; --button-hover:#27815b; }
.button.action-add { --button-color:#6650aa; --button-hover:#765eb7; }
.button.action-view { --button-color:#315fa5; --button-hover:#426eb3; }
.button.action-refuse,.button.action-reset { --button-color:#a24f16; --button-hover:#b05e25; }
.button.action-disable { --button-color:#a12f3d; --button-hover:#b3404d; }
.button.action-edit,.button.action-profile,.button.action-clear { --button-color:#7b4295; --button-hover:#8b54a3; }
.button.action-notes,.button.action-backup { --button-color:#77503a; --button-hover:#88624c; }
.button.action-security { --button-color:#494d9d; --button-hover:#5c5faf; }
.button.action-send,.button.action-contact { --button-color:#245e9b; --button-hover:#356faa; }
.button.action-copy { --button-color:#16745b; --button-hover:#24836a; }
.button.action-refresh { --button-color:#7e6040; --button-hover:#8f7050; }
.button.action-disable[data-confirmed="true"] { --button-color:#a64225; --button-hover:#b55235; }

/* Annuaire autonome : recherche, résultats et note restent lisibles dans la fenêtre. */
.directory-workspace { display:grid; gap:24px; min-width:0; }
.directory-search-form { display:grid; gap:20px; padding:25px; border:1px solid #94b8c6; border-top:4px solid #337f96; border-radius:19px; background:linear-gradient(130deg,#cfe1eb,#e2edf2); min-width:0; }
.directory-basic-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.directory-basic-grid>.field { min-width:0; }
.directory-search-form .field input,.directory-search-form .field select { background:#f0f6f9; }
.directory-search-form .form-actions { padding-top:18px; margin-top:0; }
.directory-more { border:1px solid #a6bdcd; border-radius:14px; background:#dce8ef; overflow:hidden; }
.directory-more>summary { padding:15px 18px; font-size:17px; line-height:1.5; font-weight:700; color:#365c75; cursor:pointer; }
.directory-more>summary:hover { background:#cadfe9; }
.directory-more>summary:focus-visible { outline:3px solid #226cbd; outline-offset:-4px; }
.directory-more[open]>summary { border-bottom:1px solid #aec3d0; }
.directory-more>.form-grid,.directory-more>.directory-basic-grid,.directory-more>.fields { padding:20px; }
.directory-more .field { min-width:0; }
.directory-status { padding:18px 21px; border:1px solid #a6becd; border-left:4px solid #4e7c9c; border-radius:14px; background:#d4e4ed; color:#39576a; font-size:17px; line-height:1.65; overflow-wrap:anywhere; }
.directory-status p { margin:0; }
.directory-status p+p { margin-top:8px; }
.directory-results { display:grid; gap:19px; min-width:0; }
.directory-result { background:linear-gradient(125deg,#d3e7dc,#e4eee7); border:1px solid #98bda7; border-left:4px solid #4b8e6d; box-shadow:0 5px 15px #30544812; overflow-wrap:anywhere; }
.directory-result:nth-child(even) { background:linear-gradient(125deg,#d2e2ed,#e5edf3); border-color:#9db9ce; border-left-color:#527fa2; }
.directory-result .row { gap:14px; }
.directory-result h3 { font-size:23px; line-height:1.35; min-width:0; }
.directory-result p { margin-top:10px; }
.directory-result-tags { display:flex; flex-wrap:wrap; gap:8px; margin-top:15px; }
.directory-result-tags>span,.directory-result-tags>.pill { display:inline-flex; padding:5px 11px; border:1px solid #a2bdb4; border-radius:999px; background:#eaf2ed; color:#3c6255; font-size:14px; line-height:1.5; overflow-wrap:anywhere; }
.directory-result:nth-child(even) .directory-result-tags>span { background:#eaf1f7; border-color:#a6bfce; color:#45677e; }
.directory-note-card { display:grid; gap:16px; padding:24px; border:1px solid #c2a38d; border-top:4px solid #937052; border-radius:18px; background:linear-gradient(125deg,#e2d3c6,#ece2d9); min-width:0; }
.directory-note-card h3 { font-size:23px; line-height:1.4; color:#6e4b34; margin:0; }
.directory-note-card p,.directory-note-card .hint { color:#705a49; }
.directory-note-card .field textarea { min-height:135px; background:#f7f2ed; border-color:#bda38e; }
.directory-note-card .form-actions { margin-top:0; border-top-color:#c6b19e; }
.directory-note-card>.button { justify-self:start; }
.directory-note-card .readonly { white-space:pre-wrap; overflow-wrap:anywhere; background:#f0e7df; border-color:#c6b09d; }

/* Sécurité du compte et sauvegarde : informations courtes, lignes aérées. */
.access-history-card { display:grid; gap:18px; padding:24px; border:1px solid #a6a8ce; border-top:4px solid #676cac; border-radius:18px; background:linear-gradient(125deg,#d8dbee,#e7e9f3); min-width:0; }
.access-history-card h3 { font-size:23px; line-height:1.4; color:#4c5185; margin:0; }
.access-history-card p,.access-history-card .hint { color:#545c7c; }
.access-history-card .table-scroll { background:#e9edf6; border-color:#afb8cf; }
.access-history-card th { background:#d1d9ec; color:#4c5a80; }
.access-history-card td { border-top-color:#bdc9df; }
.access-ip { font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:16px; line-height:1.6; color:#3e5279; overflow-wrap:anywhere; word-break:break-word; white-space:normal; }
.backup-result { display:grid; gap:16px; padding:24px; border:1px solid #b5a08a; border-top:4px solid #897051; border-radius:18px; background:linear-gradient(125deg,#dfd7ca,#eae5dc); color:#5e513f; overflow-wrap:anywhere; }
.backup-result h3 { font-size:23px; line-height:1.4; color:#66513a; margin:0; }
.backup-result p { margin:0; }
.backup-result code { display:block; padding:12px 14px; border:1px solid #c3b29c; border-radius:11px; background:#f2ede5; color:#5d4c37; font-size:16px; white-space:pre-wrap; overflow-wrap:anywhere; }
.backup-result>.button { justify-self:start; }

@media(max-width:620px) {
  .directory-workspace { gap:20px; }
  .directory-search-form,.directory-note-card,.access-history-card,.backup-result { padding:21px 17px; }
  .directory-basic-grid { grid-template-columns:minmax(0,1fr); gap:19px; }
  .directory-more>.form-grid,.directory-more>.directory-basic-grid,.directory-more>.fields { padding:18px 13px; }
  .directory-search-form .form-actions { flex-wrap:wrap; }
  .directory-search-form .form-actions>.button,.directory-note-card .form-actions>.button { flex:1 1 140px; min-width:0; }
  .directory-note-card>.button,.backup-result>.button { justify-self:stretch; width:100%; }
  .directory-result .row { align-items:flex-start; flex-wrap:wrap; }
  .directory-result h3 { font-size:22px; }
  .directory-result-tags { gap:7px; }
  .directory-result-tags>span { max-width:100%; }
  .directory-status { padding:17px; }
}

/* La commande reste dans l’espace professionnel. */
.main[data-page=commande]{max-width:1560px}
.main[data-page=commande]>.fade-in>.page-heading{margin-bottom:22px}
.subscription-billing{display:grid;gap:14px;border:1px solid #9dbacb;border-radius:16px;padding:18px;margin:4px 0;background:linear-gradient(135deg,#e5eff6,#dce7ee)}
.subscription-billing legend{padding:0 8px;font-size:20px;font-weight:650;color:#23465c}
.subscription-professional-toggle{border:1px solid #a1abc9;border-radius:12px;background:#dfe3f1;padding:11px;color:#3f4c72}
.subscription-billing [hidden]{display:none!important}
#subscription-company-fields{padding-top:13px;border-top:1px solid #adbfce}
@media(max-width:540px){.subscription-billing{padding:14px}.subscription-billing .form-grid{grid-template-columns:1fr}}

/* Activité IP : des repères lisibles et un export unique pour tous les clients. */
.ip-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.ip-metric{position:relative;display:grid;align-content:start;gap:7px;min-width:0;padding:24px;border:1px solid #94b8c5;border-top:4px solid #407e91;border-radius:20px;background:linear-gradient(135deg,#c5dfe7,#deebf1);box-shadow:0 9px 22px #244b6312;transition:transform .2s,box-shadow .2s}
.ip-metric:nth-child(2){border-color:#9db9a5;border-top-color:#4c8567;background:linear-gradient(135deg,#d0e5d8,#e5eee6)}
.ip-metric:nth-child(3){border-color:#aba8c9;border-top-color:#716b9d;background:linear-gradient(135deg,#dad8eb,#e9e7f2)}
.ip-metric:nth-child(4){border-color:#bea98b;border-top-color:#9b784d;background:linear-gradient(135deg,#e4d7c2,#ede5d7)}
.ip-metric:hover{transform:translateY(-3px);box-shadow:0 13px 26px #244b6320}
.ip-metric>span{position:absolute;right:20px;top:23px;color:#456d82}.ip-metric>span .icon{width:25px;height:25px}
.ip-metric>strong{font-size:40px;line-height:1.15;letter-spacing:-.04em;color:#244d63;font-weight:700;padding-right:20px}
.ip-metric>p{font-size:16px;line-height:1.5;margin:4px 0 0;color:#415d70}
.ip-retention{display:flex;gap:17px;align-items:flex-start;background:#ccdde8;border:1px solid #9eb9cc;border-radius:18px;padding:22px 25px;color:#3a576a}
.ip-retention>div{flex:0 0 auto;padding:9px;border:1px solid #a3bbcc;background:#e0ebf1;border-radius:12px;color:#46728a}
.ip-retention .icon{width:24px;height:24px}.ip-retention p{margin:0;font-size:17px;line-height:1.7}.ip-retention strong{display:block;color:#294f67;margin-bottom:4px}
.ip-activity .table-scroll{background:#e4edf3}.ip-activity th{background:#c5d8e4}.ip-activity td{vertical-align:top}.ip-activity td:first-child{white-space:nowrap}.ip-activity .access-ip{color:#3e5583;font-weight:650;font-size:16px}
.ip-shared{background:#ded8ec!important;border-color:#b8a8cb!important;color:#675282!important;font-size:14px!important;white-space:nowrap}
.ip-pagination{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:22px}.ip-pagination .button:disabled{cursor:default}
.ip-reset{display:flex;gap:25px;align-items:center;justify-content:space-between;border:1px solid #b5a898;border-radius:17px;padding:24px;background:linear-gradient(125deg,#ddd6cc,#e8e2d9)}
.ip-reset h2{margin:0 0 6px;font-size:22px;color:#67523e}.ip-reset p{margin:0;color:#6b5c4e;font-size:16px;line-height:1.6}.ip-reset .button{flex-shrink:0}
.button[data-action="reset-ip-activity"]{--button-color:#a24f16;--button-hover:#b05e25}.button[data-action="delete-test-invoice"]{--button-color:#a12f3d;--button-hover:#b3404d}.button[data-action="delete-test-invoice"][data-confirmed="true"]{--button-color:#a64225;--button-hover:#b55235}

/* Préparer plusieurs jours reste une seule action, avec un aperçu avant validation. */
dialog.wide-modal:has(.training-batch-form){max-width:960px}
.training-batch-form{gap:24px}.training-batch-form [hidden]{display:none!important}
.batch-section{display:grid;gap:19px;min-width:0;border:1px solid #a0baca;border-radius:18px;padding:23px;background:linear-gradient(125deg,#d0e1e9,#e2edf2);margin:0}
.batch-section:nth-of-type(2){background:linear-gradient(125deg,#dad8ec,#e8e7f2);border-color:#b1a9cb}
.batch-section:nth-of-type(3){background:linear-gradient(125deg,#d3e3da,#e6eee8);border-color:#a0bba9}
.batch-section legend{padding:0 9px;color:#35566d;font-size:21px;font-weight:700;line-height:1.5}
.batch-section legend>span{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:8px;margin-right:7px;background:#3e6e85;color:white;font-size:16px}
.batch-section:nth-of-type(2) legend>span{background:#74618f}.batch-section:nth-of-type(3) legend>span{background:#4a7c62}
.batch-mode{display:grid;grid-template-columns:1fr 1fr;gap:12px}.batch-mode label{position:relative;cursor:pointer}.batch-mode input{position:absolute;width:1px;height:1px;opacity:0}
.batch-mode span{display:flex;justify-content:center;padding:13px;border:1px solid #99b8c8;border-radius:11px;color:#3f6277;background:#dce9f0;font-size:17px;font-weight:600}
.batch-mode input:checked+span{background:#3b6b81;color:#fff;border-color:#3b6b81;box-shadow:0 4px 12px #294f6226}.batch-mode input:focus-visible+span{outline:3px solid #226cbd;outline-offset:3px}
.batch-dates-grid{display:grid;grid-template-columns:1fr;gap:17px}#training-range-fields{display:grid;gap:17px}.batch-weekdays{border:0;padding:0;margin:0;display:flex;gap:9px;flex-wrap:wrap}.batch-weekdays legend{padding:0;font-size:17px;font-weight:600;line-height:1.7;margin-bottom:9px}.batch-weekdays label{display:flex;gap:6px;align-items:center;padding:9px 10px;background:#e7f0f5;border:1px solid #a0bdcc;border-radius:9px;cursor:pointer;font-size:16px;color:#3d5e71}.batch-weekdays input{width:18px;height:18px;accent-color:#3b6b81;margin:0}.batch-weekdays label:has(input:checked){border-color:#56869e;background:#c2dbe7;color:#2c5268}
.batch-formulas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.batch-formula{display:flex;align-items:flex-start;gap:12px;padding:15px;background:#efedf5;border:1px solid #bcb5cf;border-radius:13px;cursor:pointer;min-width:0;transition:transform .2s,background .2s}.batch-formula:hover{transform:translateY(-2px);background:#e9e4f4}.batch-formula:has(input:checked){background:#d6cfe7;border-color:#9a88b6;box-shadow:inset 0 0 0 1px #9a88b6}.batch-formula input{flex-shrink:0;width:21px;height:21px;margin:3px 0 0;accent-color:#735391}.batch-formula strong{display:block;font-size:17px;line-height:1.4;color:#514265;overflow-wrap:anywhere}.batch-formula small{display:block;margin-top:6px;color:#685877;font-size:15px}.batch-formulas+.row{gap:10px}
.exclusive-day-choice{padding:17px;border:1px solid #98b79f;border-radius:13px;background:#c8dfd0;color:#365e45;gap:12px}.exclusive-day-choice strong,.paypal-local-choice strong{display:block;font-size:18px;line-height:1.45}.exclusive-day-choice small,.paypal-local-choice small{display:block;font-size:16px;line-height:1.6;margin-top:7px;font-weight:400}
.batch-preview{padding:21px 24px;border:1px solid #a0b9c9;border-left:4px solid #4f7b93;border-radius:13px;background:#cadde8;color:#3e6076;display:grid;gap:5px}.batch-preview strong{font-size:21px;color:#2d536b}.batch-preview span{font-size:16px}.training-batch-form .form-actions{margin-top:0}.calendar-exclusive{background:#ded8ec!important;border-color:#b6a5c9!important;color:#64507f!important}.calendar-blocked{background:#e5d4bf!important;border-color:#c5a57c!important;color:#78552f!important}
.paypal-local-choice{padding:18px;border:1px solid #a6b5d6;border-radius:13px;background:#dae4f4;color:#3e587e}.paypal-test-guide{margin-top:22px;border:1px solid #a7b9ce;border-radius:14px;background:#d4e1ee;padding:18px 21px;color:#3c5771}.paypal-test-guide summary{font-size:18px;font-weight:650;cursor:pointer}.paypal-test-guide p,.paypal-test-guide li{font-size:16px;line-height:1.7;color:#3f5870}.paypal-test-guide ol{display:grid;gap:12px;padding-left:23px}.paypal-test-guide a{text-decoration:underline;text-underline-offset:3px;color:#285f94;font-weight:600}.paypal-test-result:empty{display:none}.paypal-test-result{font-size:17px;margin:0}
@media(max-width:1100px){.ip-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.ip-metrics{gap:12px}.ip-metric{padding:19px 15px}.ip-metric>span{display:none}.ip-metric>strong{font-size:33px}.ip-metric>p{font-size:14px}.ip-retention{padding:18px;gap:12px}.ip-retention>div{display:none}.ip-retention p{font-size:16px}.ip-pagination,.ip-reset{align-items:stretch;flex-direction:column}.ip-pagination .row>.button{flex:1}.ip-reset{padding:20px;gap:18px}.batch-section{padding:19px 14px}.batch-section legend{font-size:20px}.batch-mode span{padding:12px 7px;font-size:16px}.batch-formulas{grid-template-columns:1fr}.batch-weekdays{gap:7px}.batch-weekdays label{padding:9px 8px}.exclusive-day-choice{padding:14px}.exclusive-day-choice strong,.paypal-local-choice strong{font-size:17px}.exclusive-day-choice small,.paypal-local-choice small{font-size:15px}.batch-preview{padding:19px}.training-batch-form .form-actions>.button{flex:1 1 140px}.paypal-test-guide{padding:18px 16px}}
@media(prefers-reduced-motion:reduce){.ip-metric,.batch-formula{transition:none}.ip-metric:hover,.batch-formula:hover{transform:none}}

/* Exporter et actualiser ont deux repères distincts dans l’activité IP. */
.button.ip-refresh[data-action="retry"]{--button-color:#116c80;--button-hover:#207c90}

/* V24 — fiches clients et défilement indépendant des fenêtres. */
#modal{overflow:hidden;max-height:calc(100dvh - 40px);overscroll-behavior:none}
#modal-content{max-height:inherit;min-height:0;display:flex;flex-direction:column}
#modal .modal-inner{padding:0;display:flex;flex-direction:column;max-height:calc(100dvh - 42px);min-height:0;overflow:hidden}
#modal .modal-header{padding:24px 28px 18px;margin:0;flex:0 0 auto;background:#e3ecf1;z-index:2}
#modal .modal-header p{font-size:16px;margin-top:6px;line-height:1.45}
#modal .modal-header h2{font-size:27px}
#modal .modal-header .close-button{flex-shrink:0}
#modal .modal-body{padding:24px 28px;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;min-height:0;scrollbar-gutter:stable;scroll-padding-block:20px}
#modal .modal-form-footer{padding:16px 28px;margin:0;border-top:1px solid #b8cad5;background:#e3ecf1;flex-shrink:0;flex-wrap:wrap}
.client-create-directory{padding-bottom:25px;margin-bottom:25px;border-bottom:1px solid #b8cad5}
.client-create-directory h3,.client-section h3,.client-device-editor h3{font-size:22px;margin:0;color:#263e51}
.client-create-directory .directory-search-form{padding:18px}
.client-create-directory #directory-results:empty{display:none}
.client-create-directory .directory-results{max-height:420px;overflow:auto;overscroll-behavior:contain;border-radius:14px}
.internal-note{padding:16px 18px;border:1px solid #b6c8d3;border-radius:14px;background:#dce7ed}
.internal-note>summary,.device-presets>summary{cursor:pointer;font-weight:650;color:#324c61;list-style-position:inside}
.internal-note[open]>summary{margin-bottom:16px}
.internal-note .directory-note-card{padding:0;background:none;border:0}
.client-device-editor,.client-section{padding:20px;border:1px solid #b3c9d4;border-radius:16px;background:#e9f0f4;min-width:0}
.device-draft{min-width:0;border:1px solid #a8becb;border-radius:14px;padding:16px;margin:0;display:grid;gap:15px;background:#dbe7ee}
.device-draft legend{padding:0 8px;color:#365268;font-weight:600;font-size:16px}
.device-draft>.button{justify-self:end}
.device-presets{padding-top:12px;border-top:1px solid #bdcdd7}
.device-presets>.row{align-items:flex-end}
.device-presets .field{flex:1;min-width:180px}
.device-preset-list{display:flex;flex-wrap:wrap;gap:9px;margin:15px 0}
.device-preset-item{display:inline-flex;align-items:center;gap:10px;padding:8px 11px;border:1px solid #b8cbd7;border-radius:9px;background:#eef4f8;font-size:14px}
.device-preset-item .text-link{font-size:12px}
.client-detail{min-width:0}
.client-profile-summary{padding:20px;border-radius:16px;background:#dce8ee;border:1px solid #a7c1cd}
.client-profile-data{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 24px;margin:20px 0 0}
.client-profile-data>div{min-width:0}
.client-profile-data dt{font-size:13px;font-weight:600;color:#5a7182}
.client-profile-data dd{margin:3px 0 0;overflow-wrap:anywhere;font-size:17px;color:#273f52}
.client-account-card{padding:17px;border:1px solid #b8ccd7;border-radius:13px;background:#eff4f7}
.client-account-card>.button{margin-top:18px}
.client-account-card .client-profile-data{margin-top:14px}
.device-fingerprint{display:block;font:13px/1.7 ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere;white-space:normal;color:#365b72;margin-top:7px;max-width:100%}
.client-section table{min-width:620px}
.client-section table td:first-child{max-width:360px}
.client-section .panel-header{flex-wrap:wrap}
.device-requests{margin-top:18px;padding-top:15px;border-top:1px solid #bcced8}
.device-requests h4{margin:0 0 12px;font-size:17px}
.device-requests article{padding:14px;margin-bottom:10px;border-radius:12px;background:#f1f5f7;border:1px solid #b6cad6}
.device-requests article .button{margin-top:10px}
@media(max-width:620px){
  #modal{max-height:calc(100dvh - 20px)}
  #modal .modal-inner{max-height:calc(100dvh - 22px)}
  #modal .modal-header{padding:16px 18px 13px;gap:12px;flex-wrap:nowrap}
  #modal .modal-header>div{flex:1;min-width:0}
  #modal .modal-header h2{font-size:22px}
  #modal .modal-header p{font-size:14px}
  #modal .modal-header .close-button{font-size:13px;min-height:36px;padding:7px 10px}
  #modal .modal-body{padding:18px}
  #modal .modal-form-footer{padding:12px 18px;gap:10px}
  #modal .modal-form-footer .button{flex:1}
  .client-profile-data{grid-template-columns:1fr}
  .client-device-editor,.client-section,.client-profile-summary{padding:16px}
  .client-create-directory .directory-search-form{padding:14px}
  .device-preset-list{display:grid}
  .client-create-directory .directory-results{max-height:350px}
}

/* V25 — une ligne par enregistrement ; les détails restent dans la fiche. */
.button.action-directory,.button[data-action="open-directory"] { --button-color:#67412e; --button-hover:#7b523c; }
.button.action-search { --button-color:#198535; --button-hover:#249747; }
.button.action-detail { --button-color:#654330; --button-hover:#79553f; }
.button.action-export { --button-color:#a6531b; --button-hover:#b86529; }
.button.action-history { --button-color:#97622d; --button-hover:#a8753e; }
.button.action-invoice { --button-color:#21735e; --button-hover:#32856d; }
.button.action-call { --button-color:#257540; --button-hover:#34894f; }
.button.action-message { --button-color:#a2601c; --button-hover:#b2702b; }
.v25-compact-table { overflow:auto; overscroll-behavior-x:contain; }
.v25-compact-table table { min-width:640px; font-size:14px; }
.v25-compact-table th { padding:12px 11px; font-size:12px; }
.v25-compact-table td { height:46px; padding:6px 11px; font-size:14px; line-height:1.35; white-space:nowrap; }
.v25-compact-table td strong { display:inline; font-size:14px; white-space:nowrap; }
.v25-compact-table .cell-actions { display:flex; flex-wrap:nowrap; gap:6px; align-items:center; }
.v25-compact-table .cell-actions .button { flex:0 0 auto; }
.v25-compact-table .button.small { min-height:33px; padding:6px 10px; font-size:13px; gap:5px; white-space:nowrap; overflow-wrap:normal; }
.v25-compact-table .button .icon { width:16px; height:16px; }
.v25-compact-table .pill { padding:4px 7px; font-size:12px; }
.cell-ellipsis { display:block; max-width:180px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.cell-ellipsis.client-name { font-weight:700; color:#294459; max-width:180px; }
.cell-ellipsis.client-email { max-width:210px; }
.cell-ellipsis.order-training { max-width:260px; }
.client-list-panel { min-width:0; }
.client-filters { display:grid; grid-template-columns:minmax(180px,1.3fr) minmax(145px,1fr) minmax(145px,1fr) auto; align-items:end; gap:14px; margin-bottom:17px; }
.client-filters .field,.orders-search-form .field { min-width:0; }
.client-list-meta { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; color:#536b7a; font-size:14px; margin:0 0 12px; }
.client-pagination { display:flex; flex-wrap:wrap; gap:12px 18px; align-items:center; justify-content:space-between; margin-top:17px; font-size:14px; color:#486174; }
.client-pagination label { display:flex; align-items:center; gap:9px; }
.client-pagination select { min-height:36px; padding:5px 10px; border:1px solid #abc0cc; border-radius:9px; background:#f0f6f9; color:#2e4a5c; font-size:14px; }
.client-pagination .button.small { min-height:35px; padding:6px 12px; font-size:14px; white-space:nowrap; }
.client-pagination .cell-actions { flex-wrap:nowrap; }
.orders-search-form { display:flex; align-items:end; gap:14px; margin-bottom:17px; }
.orders-search-form .field { flex:1; max-width:520px; }
#client-list-results[aria-busy="true"],#orders-list-results[aria-busy="true"] { opacity:.66; }
.client-record-toolbar { display:flex; flex-wrap:wrap; gap:10px; }
.client-copy-data { gap:14px 24px; }
.client-copy-data .client-info { min-width:0; border-bottom:1px solid #c9d9e2; padding:0 0 11px; }
.client-info dt { margin-bottom:6px; }
.client-info dd { display:flex; align-items:center; justify-content:space-between; gap:10px; margin:0; }
.client-info-value { min-width:0; overflow-wrap:anywhere; user-select:text; }
.client-info-actions { display:flex; flex:none; gap:5px; }
.button.icon-button { min-width:32px; min-height:32px; width:32px; padding:6px; }
.button.icon-button .icon { width:16px; height:16px; }
.client-profile-summary>.notice-card { margin-top:15px; }
.client-profile-summary>.notice-card .button { margin-top:10px; }
.client-section .client-profile-data { margin-top:14px; }
.client-ip-details summary { cursor:pointer; display:flex; align-items:center; gap:12px; font-weight:700; color:#2c4659; }
.client-ip-details summary::before { content:'▸'; }
.client-ip-details[open] summary::before { content:'▾'; }
.client-ip-details>.fields { margin-top:18px; }
.client-exchange { padding:20px; border:1px solid #acc2ce; border-radius:16px; background:linear-gradient(140deg,#eff5f8,#e1edf2); }
.client-exchange-heading { display:flex; align-items:start; justify-content:space-between; flex-wrap:wrap; gap:14px; }
.client-exchange h3 { color:#2e495d; font-size:18px; margin:0; overflow-wrap:anywhere; }
.client-exchange .hint { margin:8px 0; }
.exchange-body { white-space:pre-wrap; overflow-wrap:anywhere; color:#334f61; line-height:1.6; font-size:16px; user-select:text; }
@media(max-width:1100px) { .client-filters { grid-template-columns:repeat(2,minmax(0,1fr)); } .client-filters>.button { justify-self:start; } }
@media(max-width:620px) { .client-filters { grid-template-columns:1fr; } .client-filters>.button { width:100%; } .orders-search-form { flex-wrap:wrap; } .orders-search-form .field { flex-basis:100%; } .client-pagination { align-items:start; } .client-pagination .cell-actions { overflow-x:auto; max-width:100%; padding-bottom:4px; } .client-info dd { flex-wrap:wrap; } .client-exchange { padding:15px; } }

.device-copy-line { display:flex; align-items:center; gap:8px; }
.device-copy-line .device-fingerprint { margin:0; overflow-wrap:anywhere; }

/* Le dialogue natif est au-dessus du toast global : confirmation également dans son en-tête. */
#modal .modal-header .modal-feedback { color:#17583d; background:#d7eddf; border:1px solid #93bba4; border-radius:9px; padding:7px 11px; margin:10px 0 0; font-size:14px; overflow-wrap:anywhere; }
#modal .modal-feedback[hidden] { display:none; }
.copy-fallback { position:fixed; left:0; top:0; width:2px; height:2px; padding:0; border:0; opacity:0; pointer-events:none; }

/* V26 — tableaux homogènes, lecture rapide et actions distinctes. */
.table-scroll table { border-collapse:separate; border-spacing:0; }
.table-scroll th { text-align:center; border-right:1px solid #b7cbd7; vertical-align:middle; }
.table-scroll td { border-right:1px solid #c5d5df; text-align:left; }
.table-scroll th:last-child,.table-scroll td:last-child { border-right:0; }
.table-scroll[data-compact] { overflow:auto; overscroll-behavior-x:contain; }
.table-scroll[data-compact] table { min-width:640px; font-size:14px; }
.table-scroll[data-compact] th { padding:11px 10px; font-size:12px; line-height:1.4; white-space:nowrap; }
.table-scroll[data-compact] td { height:44px; padding:5px 10px; font-size:14px; line-height:1.35; white-space:nowrap; vertical-align:middle; }
.table-scroll[data-compact] td strong { display:inline; font-size:14px; }
.table-scroll[data-compact] td small { display:inline; font-size:12px; margin-left:8px; }
.table-scroll[data-compact] td small:empty { display:none; }
.table-scroll[data-compact] .button.small,.table-scroll[data-compact] .button { min-height:32px; padding:5px 9px; font-size:13px; white-space:nowrap; overflow-wrap:normal; flex-shrink:0; }
.table-scroll[data-compact] .button .icon { width:15px; height:15px; }
.table-scroll .cell-actions { flex-wrap:nowrap; justify-content:center; align-items:center; gap:6px; }
.table-scroll td.table-actions,.table-scroll td:has(>.button),.table-scroll td:has(>.cell-actions) { text-align:center; }
.table-scroll[data-compact] .pill { padding:4px 7px; font-size:12px; white-space:nowrap; }
.client-contact-link { display:inline-flex; align-items:center; gap:6px; color:#155878; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px; }
.client-contact-link:hover { color:#093d2c; }
.client-contact-link .icon { width:15px; height:15px; flex:0 0 auto; }
.client-contact-link .cell-ellipsis { max-width:230px; }
.audit-detail-button { max-width:620px; width:100%; text-align:left; padding:0; }
.audit-detail-button .cell-ellipsis { max-width:100%; }
.button.action-history { --button-color:#475e8f; --button-hover:#596fa1; }
.button.action-delete { --button-color:#8e233c; --button-hover:#a7354e; }
.button.action-disable,.button.action-hide { --button-color:#946225; --button-hover:#a77335; }
.button.action-reactivate,.button.action-show { --button-color:#188041; --button-hover:#27944f; }
.button.action-pay { --button-color:#236f67; --button-hover:#32847a; }
.button.action-refresh { --button-color:#65513d; --button-hover:#79634c; }
.client-record-modal .modal-header { align-items:center; }
.client-record-modal .client-record-toolbar { display:flex; flex-direction:column; align-items:stretch; gap:8px; flex:0 0 248px; width:248px; margin:0; }
.client-record-modal .client-record-toolbar .button { width:100%; justify-content:center; min-height:39px; font-size:14px; }
.client-record-modal .client-detail { font-size:17px; }
.client-record-modal .client-info dt { font-size:14px; font-weight:700; line-height:1.5; margin-bottom:8px; }
.client-record-modal .client-info dd,.client-record-modal .client-info-value { font-size:17px; line-height:1.5; }
.client-record-modal .client-info .hint { font-size:16px; }
.client-record-modal .client-profile-data { gap:20px 28px; }
.client-record-modal .client-profile-summary { padding:22px; }
.client-record-modal .client-profile-summary>.row { gap:14px; flex-wrap:wrap; }
.client-record-modal .client-profile-summary>.row .cell-actions { flex-wrap:wrap; }
.client-record-modal .client-section h3 { font-size:20px; }
.team-admins>.panel-header { justify-content:center; text-align:center; }
.team-network-header { justify-content:center; text-align:center; flex-direction:column; gap:12px; }
.team-network-header .team-network-icon { margin:0 auto; }
.team-network .team-group-actions { justify-content:center; flex-wrap:wrap; }
.team-network .team-empty { text-align:center; }
.team-network .team-group-heading { justify-content:center; }
.team-network .team-person-info { text-align:center; }
.team-network .team-person-actions { justify-content:center; }
.team-network .team-person { justify-content:center; }
@media(max-width:650px){
  .client-record-modal .modal-header { flex-wrap:wrap; align-items:flex-start; }
  .client-record-modal .client-record-toolbar { flex-basis:100%; width:100%; }
  .client-record-modal .client-record-toolbar .button { min-height:35px; }
  .client-record-modal .client-info dd,.client-record-modal .client-info-value { font-size:16px; }
  .client-record-modal .client-profile-data { grid-template-columns:1fr; }
}
.client-filters { grid-template-columns:minmax(190px,1.4fr) minmax(150px,1fr) minmax(150px,1fr) minmax(145px,.8fr) auto; }
@media(max-width:1050px){.client-filters{grid-template-columns:repeat(2,minmax(0,1fr));}.client-filters>.button{align-self:end}}
@media(max-width:620px){.client-filters{grid-template-columns:1fr;}}
/* A compact value and its optional badge share the same baseline. */
.table-scroll[data-compact] .cell-ellipsis { display:inline-block; vertical-align:middle; }

/* V27: aligned actions, readable separation and distinct client sections. */
[data-client-row] [data-action="suspend-client"],
[data-client-row] [data-action="reactivate-client"]{width:154px;min-width:154px;justify-content:center;white-space:nowrap}
.table-scroll table th{text-align:center}
.table-scroll table td{border-right:1px solid var(--line,#c6d5de)}
.table-scroll table th{border-right:1px solid var(--line,#c6d5de)}
.table-scroll table td:last-child,.table-scroll table th:last-child{border-right:0}
.table-scroll .cell-actions{justify-content:center;flex-wrap:nowrap}
.client-detail>.client-profile-summary{background:#e6f2eb}
.client-detail>.client-section:nth-of-type(3n+1){background:#e6eef9}
.client-detail>.client-section:nth-of-type(3n+2){background:#f2e9f7}
.client-detail>.client-section:nth-of-type(3n){background:#fcf1df}
.client-detail>.internal-note{background:#fff4de}
.modal-cancel{order:99}
#device-presets-dialog{max-width:640px;width:calc(100% - 32px);border:1px solid #bccbd6;border-radius:24px;padding:0}
#device-presets-dialog::backdrop{background:#10293466;backdrop-filter:blur(3px)}
.v27-empty-cell{text-align:center!important;color:#526873;padding:20px!important}
@media(prefers-reduced-motion:reduce){.pill,.status,.v27-attention{animation:none!important}}

/* V37: a read conversation still awaiting a reply keeps a distinct reminder. */
.nav-badge.team-reply-pending{background:#90600f;color:#fff}

/* Client overview: one compact record, with full histories in drill-downs. */
#modal.v64-record-modal{
  --record-label:clamp(14px,calc(10px + .4vw),18px);
  --record-text:clamp(16px,calc(12px + .46vw),21px);
  --record-section:clamp(20px,calc(15px + .48vw),26px);
  width:min(2120px,calc(100vw - 24px));max-width:none;max-height:calc(100dvh - 18px);border-radius:18px
}
#modal.v64-record-modal .modal-inner{max-height:calc(100dvh - 20px)}
#modal.v64-record-child .modal-inner{max-height:calc(100dvh - 30px)}
#modal.v64-record-modal .modal-header{padding:14px 20px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 24px;background:#eaf3f0}
#modal.v64-record-modal .modal-header>div:first-child{display:grid;grid-template-columns:auto auto;justify-content:start;align-items:center;gap:2px 9px;flex:1 1 180px}
#modal.v64-record-modal .modal-header>div:first-child p{grid-column:1/-1;margin:0}
#modal.v64-record-modal .modal-header h2{font-size:clamp(23px,calc(16px + .8vw),32px);line-height:1.15}
#modal.v64-record-modal .modal-header p{font-size:var(--record-text);line-height:1.3}
#modal.v64-record-modal .v64-record-toolbar{flex:0 1 auto;min-width:min(100%,270px);display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:6px}
#modal.v64-record-modal .modal-body{padding:14px 18px;scrollbar-gutter:auto;background:#f2f6f7}
#modal.v64-record-modal .button,#modal.v64-record-child .button.small{width:auto;min-width:0;min-height:32px;padding:5px 11px;font-size:13px;line-height:1.25}
#modal .v64-record-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#modal .v64-record-card{min-width:0;margin:0;padding:12px 15px;background:white;border:1px solid #c9d9dc;border-radius:12px}
#modal .v64-record-card>header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 0 8px}
#modal .v64-record-card h3{font-size:17px;line-height:1.3;color:#194653;margin:0}
#modal .v64-record-card h3 small{font:600 .8em/1 inherit;color:#4c686c}
#modal .v64-plan{background:#f4faf6;border-color:#bfd8ce}
#modal .v64-key-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 15px;margin:0}
#modal .v64-key-values>div{min-width:0;border:0;padding:0}
#modal .v64-key-values dt{font-size:12px;line-height:1.25;color:#4e6970;margin:0}
#modal .v64-key-values dd{display:flex;align-items:center;justify-content:space-between;gap:5px;margin:1px 0;color:#223e48;font-size:14px;line-height:1.35;min-width:0;overflow-wrap:anywhere}
#modal .v64-key-values .client-info-value{font-size:14px;line-height:1.35;min-width:0;overflow-wrap:anywhere}
#modal .v64-key-values .client-info-actions{display:inline-flex;gap:4px;flex-wrap:wrap}
#modal .v64-key-values .icon-button{padding:3px;min-width:24px;width:24px;height:24px;min-height:24px}
#modal .v64-key-values .icon-button svg{width:13px;height:13px}
#modal .v64-empty{margin:0;color:#4c6872;font-size:14px}
#modal .v64-alert{margin:8px 0 0;font-size:14px;color:#8c352a}
#modal .v64-devices{grid-column:1/-1;border-top:3px solid #307e82}
#modal .v64-device-list{display:grid;gap:6px}
#modal .v64-device{background:#f4f8f9;border:1px solid #d3e0e2;border-radius:8px;padding:8px 10px}
#modal .v64-device-head,#modal .v64-device-detail{display:flex;align-items:center;flex-wrap:wrap;gap:5px 14px}
#modal .v77-device-note{margin:8px 0;padding:6px 10px;border-left:3px solid #72959a;overflow-wrap:anywhere}
#modal .v77-device-note p{margin:3px 0 0;white-space:pre-wrap}
#modal .v64-device-head>div{min-width:0;overflow-wrap:anywhere}
#modal .v64-device-head strong{font-size:15px}
#modal .v64-device-head small,#modal .v64-key-id{font-size:12px;color:#49676d}
#modal .v64-device-head strong+small{margin-left:8px}
#modal .v64-activation-status{font-weight:650;font-size:13px;color:#426069}
#modal .v64-activation-status[data-state=waiting]{color:#8a4b10}
#modal .v64-activation-status[data-state=confirmed]{color:#176445}
#modal .v64-device-detail{margin:5px 0}
#modal .v64-device-detail span,#modal .v64-device code,#modal .v64-key-id,#modal .v64-identity-code{min-width:0;overflow-wrap:anywhere}
#modal .v64-key-id{margin:4px 0}
#modal .v64-send-activation{margin:7px 0;display:flex;align-items:center;gap:7px;flex-wrap:wrap}
#modal .v64-send-activation label{font-size:13px;font-weight:bold}
#modal .v64-send-activation textarea{flex:1 1 230px;min-width:0;max-width:100%;min-height:36px;padding:6px 9px;font-size:16px;line-height:1.35;resize:vertical}
#modal .v64-send-activation [data-form-error]:empty{display:none}
#modal .v64-device-controls{margin-top:4px}
#modal .v64-device-controls summary{cursor:pointer;font-size:13px;font-weight:650;color:#276575}
#modal .v64-record-link{color:#22444e;background:transparent;background-image:none;text-align:left;border:0;border-top:1px solid #deeaeb;border-radius:0;box-shadow:none;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;width:100%;min-height:33px;height:auto;padding:5px 3px;font:inherit;font-size:14px}
#modal .v64-record-link:hover,#modal .v64-record-link:focus-visible{background:#edf6f4}
#modal .v64-record-link span:first-child{overflow-wrap:anywhere}
#modal .v64-record-link span:last-child{color:#1a6973;font-size:19px;font-weight:bold}
#modal .v64-record-link strong{color:#21695d;font-size:14px}
#modal .v64-record-link small{color:#53717b;font-size:12px;text-align:right}
#modal .v64-record-footer,#modal .v64-access-actions{display:flex;align-items:center;flex-wrap:wrap;gap:7px}
#modal .v64-record-footer{margin-top:10px}
#modal .v64-prose p{white-space:pre-wrap;overflow-wrap:anywhere;margin:3px 0 10px}
#modal .v64-prose h4,#modal .v64-history-item h3{margin:8px 0 3px}
#modal .v64-record-child .notice-card{margin:4px 0}
#modal.v64-record-child{width:min(980px,calc(100vw - 32px));max-width:none}
#modal.v64-record-child .modal-header{padding:14px 20px}
#modal.v64-record-child .modal-body{padding:16px 20px}
#modal .v64-device-controls .v64-access-actions{margin-top:5px}
/* Scale the overview text separately from the toolbar and the detail dialogs. */
#modal.v64-record-modal .v64-record-card>header{flex-wrap:wrap}
#modal.v64-record-modal .v64-record-card h3{font-size:var(--record-section)}
#modal.v64-record-modal .v64-key-values dt,
#modal.v64-record-modal .v64-device-head small,
#modal.v64-record-modal .v64-key-id,
#modal.v64-record-modal .v64-send-activation label{font-size:var(--record-label)}
#modal.v64-record-modal .v64-key-values dd,
#modal.v64-record-modal .client-info-value,
#modal.v64-record-modal .v64-empty,
#modal.v64-record-modal .v64-alert,
#modal.v64-record-modal .v64-device-head strong,
#modal.v64-record-modal .v64-device-detail,
#modal.v64-record-modal .v64-record-link,
#modal.v64-record-modal .v64-record-link strong{font-size:var(--record-text)}
#modal.v64-record-modal .v64-activation-status{font-size:var(--record-label)}
@media(min-width:651px){
  #modal.v64-record-modal .modal-header,
  #modal.v64-record-modal .modal-body{padding:clamp(15px,1.1vw,24px) clamp(18px,1.4vw,28px)}
  #modal.v64-record-modal .v64-record-grid{gap:clamp(10px,.75vw,16px)}
  #modal.v64-record-modal .v64-record-card{padding:clamp(14px,.95vw,21px) clamp(16px,1.15vw,24px)}
  #modal.v64-record-modal .v64-key-values{row-gap:clamp(7px,.55vw,12px)}
  #modal.v64-record-modal .v64-record-link{min-height:clamp(36px,2.2vw,46px)}
}
@media(max-width:870px){#modal .v64-key-values{grid-template-columns:1fr}#modal.v64-record-modal .v64-record-toolbar{justify-content:flex-start}}
@media(max-width:650px){
  #modal.v64-record-modal,#modal.v64-record-child{width:calc(100vw - 10px);max-height:calc(100dvh - 12px);border-radius:12px}
  #modal.v64-record-modal .modal-inner,#modal.v64-record-child .modal-inner{max-height:calc(100dvh - 14px)}
  #modal.v64-record-modal .modal-header{padding:9px 12px;gap:7px}
  #modal.v64-record-modal .modal-body,#modal.v64-record-child .modal-body{padding:10px}
  #modal .v64-record-grid{grid-template-columns:minmax(0,1fr);gap:7px}
  #modal .v64-key-values{grid-template-columns:repeat(2,minmax(0,1fr))}
  #modal .v64-record-card{padding:9px 11px}
  #modal.v64-record-modal .button{font-size:12px;padding:5px 8px}
  #modal .v64-record-link small{max-width:34vw;overflow-wrap:anywhere}
  #modal .v64-key-values .client-info dd{flex-wrap:wrap;justify-content:flex-start}
}
#modal .v64-device-fold>summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:5px;list-style:none}
#modal .v64-device-fold>summary::-webkit-details-marker{display:none}
#modal .v64-device-fold>summary::after{content:'›';font-size:19px;color:#1a6973;line-height:1}
#modal .v64-device-fold[open]>summary::after{transform:rotate(90deg)}

/* Correspondance du client */
.v84-exchange-detail dd,.v84-exchange-list td {overflow-wrap:anywhere}
.v84-exchange-detail .exchange-body {margin:1rem 0;white-space:pre-wrap}
.v84-exchange-tools,.v84-exchange-tools .cell-actions,.v84-flow-filters,.v84-exchange-pager {
  display:flex;flex-wrap:wrap;align-items:center;gap:.5rem
}
.v84-exchange-tools {justify-content:space-between;gap:.75rem;margin-bottom:1rem}
.v84-exchange-list .v84-flow-filter {
  padding:.45rem .75rem;border:1px solid #a6bdc4;border-radius:1rem;background:#f2f7f8;color:#214f5b;
  font:inherit;font-size:.875rem;font-weight:650;cursor:pointer;box-shadow:none
}
.v84-exchange-list .v84-flow-filter[aria-pressed=true] {background:#195566;color:white;border-color:#195566}
.v84-flow-filter span {margin-left:.2em;font-variant-numeric:tabular-nums}
.v84-exchange-list {min-width:0}
#modal .v84-exchange-list table {min-width:0;width:100%;table-layout:fixed}
#modal .v84-exchange-list th:nth-child(1){width:20%}
#modal .v84-exchange-list th:nth-child(2){width:12%}
#modal .v84-exchange-list th:nth-child(4){width:17%}
#modal .v84-exchange-list th:nth-child(5){width:5.3rem}
#modal .v84-exchange-list th,
#modal .v84-exchange-list td,
#modal .v84-exchange-list td strong {white-space:normal;overflow-wrap:anywhere}
#modal .v84-exchange-list td>small {display:block;color:#4a6069;margin-top:.2rem;overflow-wrap:anywhere}
.v84-flow {display:inline-block;border-radius:.8rem;padding:.15em .55em;font-size:.8em;font-weight:750}
.v84-in {background:#d7eee9;color:#205c4c}
.v84-out {background:#e2e9fa;color:#294475}
#modal .v84-exchange-list .v84-delivery-error {color:#93324b}
#modal .v84-exchange-list .v84-xs-flow,#modal .v84-exchange-list .v84-xs-status {display:none}
.v84-exchange-pager {justify-content:flex-end;margin-top:.75rem}
@media(max-width:650px){
  #modal .v84-exchange-list th,#modal .v84-exchange-list td {padding:.5rem .3rem}
  #modal .v84-exchange-list :is(th,td):nth-child(2),#modal .v84-exchange-list :is(th,td):nth-child(4) {display:none}
  #modal .v84-exchange-list th:nth-child(1){width:26%}
  #modal .v84-exchange-list th:nth-child(5){width:3.8rem}
  #modal .v84-exchange-list .v84-xs-flow,#modal .v84-exchange-list .v84-xs-status {display:block;margin-top:.2rem}
  #modal .v84-exchange-list .button.small {min-height:40px;padding:.35rem}
}
