/* EMS Digital Workspace — interface en ligne et locale, sans ressources externes. */
:root{--navy:#092748;--navy-deep:#061b33;--blue:#0758a6;--blue-bright:#146ec2;--gold:#f4bd24;--red:#df3340;--ink:#173451;--muted:#58718a;--line:#dce7f1;--surface:#fff}
html{scroll-behavior:smooth}
body{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink);background-color:#eef5fb;background-image:radial-gradient(circle at 76% -14%,rgba(50,137,215,.19),transparent 32rem),radial-gradient(circle at 5% 94%,rgba(244,189,36,.12),transparent 25rem),linear-gradient(rgba(255,255,255,.62) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.62) 1px,transparent 1px);background-size:auto,auto,38px 38px,38px 38px}
.top{height:96px;padding:13px clamp(18px,3vw,42px);background:rgba(255,255,255,.96);border-bottom:0;box-shadow:0 2px 24px rgba(7,42,79,.08);position:relative;z-index:2;gap:18px}
.top:after{content:"";position:absolute;bottom:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--blue) 0 62%,var(--gold) 62% 82%,var(--red) 82%)}
.top-brand{display:flex;align-items:center;gap:15px;min-width:0}.top img{height:64px;width:auto;max-width:110px;object-fit:contain}.top-brand-copy{display:grid;gap:3px;min-width:0}.top-brand-copy strong{font-size:16px;letter-spacing:.045em;color:var(--navy);line-height:1.15}.top-brand-copy small{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:700}
.top-user{display:flex;align-items:center;gap:16px;min-width:0}.top-user-name{font-size:13px;text-align:right;line-height:1.35}.top-user-name b{display:block;color:var(--navy)}.top-user-name small{color:var(--muted)}.top-user-name small:before{content:"";display:inline-block;width:7px;height:7px;background:#18a57c;border-radius:50%;margin-right:7px}.top-user a{display:inline-flex;align-items:center;justify-content:center;background:#edf5fb;border:1px solid #d6e5f1;color:var(--blue);font-size:12px;font-weight:750;text-decoration:none;padding:9px 13px;border-radius:11px;white-space:nowrap}
.wrap{grid-template-columns:255px minmax(0,1fr);min-height:calc(100vh - 96px)}
.wrap>nav{position:relative;background:linear-gradient(160deg,#0b3765 0%,var(--navy) 52%,var(--navy-deep) 100%);padding:25px 12px 38px;box-shadow:inset -1px 0 rgba(255,255,255,.06);overflow:auto}.wrap>nav:before{content:"EMS  /  NAVIGATION";display:block;color:#8db7dc;font-size:10px;font-weight:800;letter-spacing:.18em;padding:2px 16px 16px}.wrap>nav:after{content:"ÉTABLISSEMENTS MEILLEURE SOLUTION";display:block;color:rgba(220,236,251,.48);font-size:9px;letter-spacing:.08em;padding:21px 16px 0;border-top:1px solid rgba(255,255,255,.09);margin-top:16px}
.wrap>nav a{color:#d6e8f9;border:1px solid transparent;border-radius:11px;margin:2px 0;padding:11px 15px;font-size:13px;line-height:1.35;transition:background .16s,color .16s,transform .16s}.wrap>nav a:hover{background:rgba(255,255,255,.1);color:#fff;transform:translateX(3px)}.wrap>nav a[aria-current="page"]{background:linear-gradient(100deg,#1765ac,#0c4b89);border-color:rgba(255,255,255,.14);color:#fff;font-weight:750;box-shadow:0 7px 17px rgba(0,0,0,.17);position:relative}.wrap>nav a[aria-current="page"]:before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:3px;background:var(--gold);border-radius:0 4px 4px 0}
main{min-width:0;padding:clamp(20px,3vw,42px);position:relative}main>h1{font-size:clamp(23px,2.6vw,33px);letter-spacing:-.025em;color:var(--navy);margin:0 0 25px;font-weight:800;line-height:1.2}main>h1:after{content:"";display:block;width:48px;height:4px;border-radius:3px;background:linear-gradient(90deg,var(--blue) 70%,var(--gold) 70%);margin-top:13px}
.cards{gap:17px}.card,.panel{background:rgba(255,255,255,.97);border:1px solid rgba(199,217,234,.72);border-radius:17px;box-shadow:0 10px 32px rgba(23,67,112,.07);transition:box-shadow .18s,transform .18s}.card{min-width:0;border-top:3px solid var(--blue-bright)}.card:nth-child(2){border-top-color:var(--gold)}.card:nth-child(3){border-top-color:var(--red)}.card:nth-child(4){border-top-color:#29a7a4}.card:hover,.panel:hover{box-shadow:0 14px 38px rgba(23,67,112,.11)}.card:hover{transform:translateY(-2px)}.card b{color:var(--blue);letter-spacing:-.035em}.panel h2,.panel h3{color:var(--navy)}
table{border:1px solid var(--line);box-shadow:0 8px 24px rgba(20,67,112,.045)}th{background:#e9f3fc;color:#153c62;font-size:12px;letter-spacing:.025em}tr:hover td{background:#f8fbff}td{color:#25435f}
input,select,textarea{background:#fff;border:1px solid #bfd1e2;color:var(--ink);min-height:42px;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--blue-bright);box-shadow:0 0 0 3px rgba(20,110,194,.14)}label{color:#294866;font-weight:600}.btn,button{background:linear-gradient(110deg,#1266b3,#07549d);border-radius:10px;font-weight:700;box-shadow:0 5px 12px rgba(7,84,157,.16);transition:filter .15s,transform .15s}.btn:hover,button:hover{filter:brightness(1.07);transform:translateY(-1px)}.btn.alt{background:#647a8d}.ok{border-left:4px solid #18a57c;color:#175e4b}.danger{color:#a91f32}
input[type=checkbox],input[type=radio]{width:auto;min-height:0;box-shadow:none;accent-color:var(--blue)}
.wrap>nav a:focus-visible,.top-user a:focus-visible,.btn:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.login{width:min(430px,calc(100% - 32px));margin:clamp(36px,8vh,110px) auto;padding:34px;background:rgba(255,255,255,.97);border:1px solid var(--line);border-radius:22px;box-shadow:0 25px 70px rgba(8,48,89,.15);position:relative;overflow:hidden}.login:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--blue) 0 64%,var(--gold) 64% 84%,var(--red) 84%)}.login img{display:block;max-width:120px;max-height:100px;margin:0 auto 16px;object-fit:contain}.login h2{text-align:center;color:var(--navy);font-size:23px;margin:0 0 23px}.login label{display:block;margin:13px 0 6px}.login .btn{margin-top:19px;width:100%;min-height:45px}.login small{color:var(--muted)}
@media(max-width:1050px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.wrap{grid-template-columns:215px minmax(0,1fr)}.top-brand-copy small{letter-spacing:.07em}}
@media(max-width:850px){.top{height:auto;min-height:82px;padding:10px 18px}.top img{height:55px}.top-brand-copy strong{font-size:14px}.top-brand-copy small{font-size:9px}.top-user-name{font-size:11px}.wrap{display:block;min-height:calc(100vh - 82px)}.wrap>nav{display:flex;gap:4px;overflow-x:auto;overflow-y:hidden;padding:9px 12px;scrollbar-width:thin;position:sticky;top:0;z-index:3}.wrap>nav:before,.wrap>nav:after{display:none}.wrap>nav a{flex:none;white-space:nowrap;padding:9px 12px;font-size:12px;margin:0}.wrap>nav a[aria-current="page"]:before{top:auto;bottom:0;left:10px;right:10px;width:auto;height:3px}main{padding:20px 16px}.grid{grid-template-columns:1fr}}
@media(max-width:560px){.top-brand{gap:8px}.top-brand-copy small{display:none}.top-brand-copy strong{font-size:12px;max-width:150px}.top-user-name{display:none}.top-user a{font-size:11px;padding:8px}.cards{grid-template-columns:1fr 1fr;gap:10px}.card,.panel{padding:16px;border-radius:14px}.card b{font-size:25px}main{padding:17px 11px}table{display:block;max-width:100%;overflow-x:auto;white-space:nowrap}.login{padding:26px 22px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{body{background:#fff!important}.top,.wrap>nav{display:none!important}.wrap{display:block!important}main{padding:0!important}main>h1{display:none!important}.card,.panel,table{box-shadow:none!important}}
