/* Portail bedje.fr — styles repris de la maquette (maquette-portail.html) :
   capsule blanche, bandeau bleu nuit, « Ta journée », grille d'outils, page Statut façon status page.
   Thème clair unique. Les polices viennent de fonts/fonts.css (hébergées ici ; repli système sinon). */
:root{
  --bg:#F1F4F8; --card:#FFFFFF; --ink:#0B1726; --ink2:#3A4655; --mute:#5B6676; --line:#E3E8EF; --line2:#D5DDE6;
  --green:#3DDC97; --ok:#16A37B; --okbg:#E3F6EF; --okink:#0B6B4F; --warn:#F2994A; --down:#C2362B; --none:#DDE3EA;
  --alert:#B4441A; --alertink:#FFE9DD; --orbg:#FFE9DF; --orink:#A63A0E; --redbg:#FDE8E6; --redink:#A3271C;
  --sky:#30B7FF; --skybg:#E6F6FF; --skyink:#075E8C; --teal:#E0F5F2; --tealink:#0A6B60; --blu:#E8F2FE; --bluink:#1F64B8; --fern:#E3EFE8; --fernink:#1F5F45;
  --amb:#FFF1CC; --ambink:#6B4A00; --statusok:#0F7A5C; --statusbad:#B4441A; --gris:#9AA6B2;
  --on-ink:#FFFFFF; --on-ink2:#B9C3CF; --on-ink3:#D9F2EA; --tile:rgba(255,255,255,.08); --tile2:rgba(255,255,255,.14);
  --shadow:0 6px 20px rgba(11,23,38,.06); --shadow2:0 18px 50px rgba(11,23,38,.22);
  --display:'Montserrat','Arial Black',system-ui,sans-serif; --body:'Figtree',system-ui,-apple-system,'Segoe UI',sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
html,body{height:100%}
html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 80px)}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:15px;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--bg)}
[hidden]{display:none!important}
img{max-width:100%}
button,input{font:inherit;color:inherit}
button{cursor:pointer}
a{color:inherit}
:focus-visible{outline:3px solid var(--sky);outline-offset:2px}
.num{font-variant-numeric:tabular-nums}
.disp{font-family:var(--display);font-style:italic;font-weight:900;text-transform:uppercase;letter-spacing:-.5px;margin:0;text-wrap:balance}

/* page */
.wrap{max-width:1040px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-top:14px;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:18px}
.desk .wrap{padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px));padding-top:20px;gap:22px}
#vue{display:flex;flex-direction:column;gap:inherit;min-width:0}
.bar{position:sticky;top:calc(env(safe-area-inset-top,0px) + 10px);z-index:15;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:6px 6px 6px 18px;display:flex;align-items:center;gap:4px;box-shadow:var(--shadow)}
.desk .bar{padding:8px 8px 8px 24px;gap:8px}
.logo{border:none;background:none;padding:0;font-family:var(--display);font-style:italic;font-weight:900;font-size:19px;letter-spacing:-.5px;text-transform:uppercase;display:inline-flex;align-items:baseline;margin-right:auto;text-decoration:none;color:var(--ink)}
.desk .logo{font-size:22px;margin-right:12px}
.logo i{display:inline-block;width:5px;height:5px;border-radius:999px;background:var(--green);margin-left:2px}
.desk .logo i{width:6px;height:6px}
.bad .logo i{background:var(--warn)}
.inconnu .logo i{background:var(--gris)}
.tab{border:none;background:none;height:44px;padding:0 12px;border-radius:999px;display:inline-flex;align-items:center;gap:7px;font-weight:700;font-size:14px;color:var(--mute);text-decoration:none}
.desk .tab{height:40px;padding:0 16px}
.tab[aria-current="page"]{background:var(--ink);color:var(--on-ink)}
.tab .dot{width:8px;height:8px;border-radius:999px;background:var(--ok)}
.bad .tab .dot{background:var(--warn)}
.inconnu .tab .dot{background:var(--gris)}
.sbtn{height:44px;min-width:44px;border:none;border-radius:999px;background:var(--bg);display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:0 12px;color:var(--mute);font-size:14px;font-weight:500}
.desk .sbtn{height:40px;min-width:250px;justify-content:flex-start;padding:0 8px 0 14px;margin-left:auto}
kbd{font-family:var(--body);font-size:11px;font-weight:800;padding:2px 7px;border-radius:7px;background:var(--card);border:1px solid var(--line);color:var(--ink2)}
.desk .sbtn kbd{margin-left:auto}
.compte{position:relative;flex:none;display:inline-flex}
.avatar{width:44px;height:44px;border-radius:999px;border:none;background:var(--ink);color:var(--on-ink);font:italic 900 16px var(--display);flex:none}
.menu{position:absolute;right:0;top:calc(100% + 10px);z-index:30;min-width:330px;background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow2);padding:6px;display:flex;flex-direction:column}
.menu .qui{padding:8px 12px 6px;font-size:12px;font-weight:600;color:var(--mute)}
.menu form{margin:0}
.menu button,.menu a{display:block;width:100%;border:none;background:none;text-align:left;padding:11px 12px;border-radius:12px;font-size:14px;font-weight:700;text-decoration:none;color:var(--ink)}
.menu button:hover,.menu a:hover{background:var(--bg)}
.menu button:disabled{color:var(--gris);cursor:default;background:none}
#app:not(.desk) .d-only{display:none!important}
.desk .m-only{display:none!important}

/* alerte */
.alert{background:var(--alert);color:var(--on-ink);border-radius:18px;padding:12px 14px;display:flex;align-items:center;gap:12px;text-decoration:none;border:none;text-align:left;width:100%}
.desk .alert{border-radius:20px;padding:14px 16px 14px 18px;gap:14px}
.alert .ico{width:36px;height:36px;border-radius:999px;background:var(--tile2);display:grid;place-items:center;flex:none}
.alert .t{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.alert b{font-size:15px}.desk .alert b{font-size:16px}
.alert small{font-size:12px;color:var(--alertink)}.desk .alert small{font-size:13px}
.alert .go{font-weight:700;font-size:13px;white-space:nowrap}
.desk .alert .go{height:40px;padding:0 16px;border-radius:999px;background:var(--on-ink);color:#8A3410;display:inline-flex;align-items:center;font-size:14px}

/* bandeau */
.hero{background:var(--ink);color:var(--on-ink);border-radius:22px;padding:20px;display:flex;flex-direction:column;gap:12px}
.desk .hero{border-radius:24px;padding:24px 28px;flex-direction:row;align-items:center;gap:20px}
.hero .who{display:flex;flex-direction:column;gap:5px;flex:1;min-width:0}
.hero .date{font-size:13px;font-weight:600;color:var(--on-ink2);min-height:1.2em}
.hero h1{font-size:26px;line-height:1.05}
.desk .hero h1{font-size:30px}
.hero .st{border:none;background:none;padding:0;color:var(--on-ink3);font-size:14px;display:inline-flex;align-items:center;gap:8px;text-align:left;text-decoration:none;align-self:flex-start}
.desk .hero .st{font-size:15px}
.hero .st i{width:9px;height:9px;border-radius:999px;background:var(--green);flex:none}
.bad .hero .st i{background:var(--warn)}
.inconnu .hero .st i{background:var(--on-ink2)}
.hero .st.perdu i{background:var(--warn)}
.kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:6px}
.desk .kpis{display:flex;gap:10px;margin:0}
.kpis.perime{opacity:.7}
.kpi{background:var(--tile);border-radius:14px;padding:10px;display:flex;flex-direction:column;gap:2px;min-width:0}
.desk .kpi{border-radius:16px;padding:12px 16px;min-width:130px}
.kpi span{font-size:11px;font-weight:600;color:var(--on-ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.desk .kpi span{font-size:12px}
.kpi b{font-family:var(--display);font-style:italic;font-weight:900;font-size:22px;line-height:1.1}
.desk .kpi b{font-size:26px}
.kpi b.up{color:var(--green)}
.kpi{justify-content:space-between}
.kpi.err span{white-space:normal;overflow:visible}

/* cartes */
.card{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:16px;display:flex;flex-direction:column;min-width:0}
.desk .card{border-radius:24px;padding:20px 22px}
.card.liste{padding-block:4px}
.sechead{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.sechead.j{margin-bottom:4px}
.sechead.t{margin-bottom:-6px}
h2.sec{font-family:var(--display);font-style:italic;font-weight:900;text-transform:uppercase;font-size:16px;margin:0}
.desk h2.sec{font-size:18px}
.meta{font-size:12px;font-weight:600;color:var(--mute)}
.desk .meta{font-size:13px}
.meta.err{color:var(--orink)}
.vide{margin:0;padding:12px 0 2px;font-size:14px;color:var(--mute)}
.task{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.task:last-child{border-bottom:none;padding-bottom:2px}
.task input{appearance:none;-webkit-appearance:none;width:26px;height:26px;margin:0;flex:none;border-radius:999px;border:2px solid var(--line2);background:var(--card);cursor:pointer;transition:background-color .15s,border-color .15s,transform .15s}
.task input:hover{border-color:var(--ok)}
.task input:checked{border-color:var(--ok);background:var(--ok) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/15px no-repeat}
.task input:active{transform:scale(.92)}
.task input:disabled{cursor:default;transform:none}
.task input:disabled:not(:checked){background:var(--bg)}
.task.done{opacity:.75}
.mini{width:30px;height:30px;border-radius:9px;overflow:hidden;flex:none;display:block}
.desk .mini{width:34px;height:34px;border-radius:10px}
.task label{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;font-size:15px;cursor:pointer}
.task.auto label{cursor:default}
.task label span{font-size:12px;color:var(--mute)}
.desk .task label span{font-size:13px}
.task.done label b{text-decoration:line-through;color:var(--mute)}
.tag{font-size:11px;font-weight:800;padding:3px 9px;border-radius:999px;white-space:nowrap}
.desk .tag{font-size:12px;padding:4px 10px}
.t-sav{background:var(--skybg);color:var(--skyink)}.t-dispatch{background:var(--teal);color:var(--tealink)}.t-idees{background:var(--blu);color:var(--bluink)}.t-sillage{background:var(--fern);color:var(--fernink)}.t-luna{background:var(--skybg);color:var(--skyink)}
.t-down{background:var(--redbg);color:var(--redink)}
.open{height:40px;padding:0 16px;border-radius:999px;background:var(--bg);color:var(--ink);display:inline-flex;align-items:center;font-weight:700;font-size:14px;text-decoration:none;flex:none}
.open.dk{background:var(--ink);color:var(--on-ink)}

.tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.desk .tiles{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.tile{position:relative;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:14px;display:flex;flex-direction:column;gap:10px;text-decoration:none;color:var(--ink);min-width:0}
.desk .tile{border-radius:22px;padding:18px;gap:12px}
a.tile:hover{border-color:var(--line2);box-shadow:var(--shadow)}
.tile .hd{display:flex;align-items:center;gap:8px}
.desk .tile .hd{gap:10px}
.tile .ic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;flex:none;overflow:hidden}
.desk .tile .ic{width:52px;height:52px;border-radius:15px}
.appic{display:block;width:100%;height:100%;object-fit:cover}
.tile .nm{font-size:14px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.desk .tile .nm{font-size:16px}
.tile .bdg{margin-left:auto}
.tile .big{font-family:var(--display);font-style:italic;font-weight:900;font-size:28px;line-height:1}
.desk .tile .big{font-size:34px}
.tile .lb{font-size:12px;color:var(--ink2);margin-top:-6px}
.desk .tile .lb{font-size:13px;margin-top:-8px}
.tile.soon .lb{margin-top:0}
.tile .sub{font-size:12px;color:var(--mute)}
.tile.down{border:2px solid #E9A27C}
.tile.down .big{color:var(--gris)}
.tile.down .sub{color:var(--redink)}
#app:not(.desk) .tile.down .lb{color:var(--redink);font-weight:700}
.chipc{align-self:flex-start;font-size:12px;font-weight:800;padding:4px 10px;border-radius:999px;background:var(--amb);color:var(--ambink)}
.chipc.t-down{background:var(--redbg);color:var(--redink)}
.tile.vide .big{color:var(--gris)}
.newt{border:2px dashed #C9D3DE;border-radius:18px;padding:14px;display:flex;flex-direction:column;gap:8px;color:var(--ink2)}
.desk .newt{border-radius:22px;padding:18px}
.newt .ic{width:32px;height:32px;border-radius:10px;background:var(--card);border:1px solid var(--line);display:grid;place-items:center;color:var(--ink)}
.newt b{color:var(--ink);font-size:14px}
.newt span{font-size:12px;line-height:1.4}

/* statut */
.sbanner{border-radius:22px;padding:20px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;color:var(--on-ink);background:var(--statusok)}
.desk .sbanner{border-radius:24px;padding:26px 28px;flex-direction:row;text-align:left;gap:18px}
.sbanner.bad{background:var(--statusbad)}
.sbanner.inconnu{background:var(--mute)}
.sbanner .ico{width:48px;height:48px;border-radius:999px;background:var(--tile2);display:grid;place-items:center;flex:none}
.sbanner .t{display:flex;flex-direction:column;gap:4px;flex:1}
.sbanner h1{font-size:26px;line-height:1.05}.desk .sbanner h1{font-size:30px}
.sbanner span{font-size:14px;color:var(--on-ink3)}
.sbanner.inconnu span,.sbanner.inconnu small{color:#EEF2F6}
.sbanner small{font-size:12px;font-weight:600;color:var(--on-ink3)}
.svc{padding:14px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:8px}
.svc:last-child{border-bottom:none}
.svc .row1{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.svc .row1 b{font-size:15px}.desk .svc .row1 b{font-size:16px}
.svc .host{font-size:12px;color:var(--mute);margin-left:8px}
.svc .stt{font-size:13px;font-weight:700;white-space:nowrap;color:var(--okink)}
.svc .stt.panne{color:var(--redink)}
.svc .stt.incident{color:var(--orink)}
.svc .stt.bientot,.svc .stt.inconnu{color:var(--mute)}
.bars{display:flex;gap:2px;height:28px}
.desk .bars{gap:3px;height:34px}
.bars span{flex:1;min-width:0;border-radius:2px;background:var(--none)}
.desk .bars span{border-radius:3px}
.bars .ok{background:var(--ok)}
.bars .incident{background:var(--warn)}
.bars .panne{background:var(--down)}
.bars .aucun{background:var(--none)}
.svc .row3{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--mute)}
.svc .row3 i{flex:1;height:1px;background:var(--line)}
.svc .row3 .pied{font-weight:600;color:var(--ink2)}
.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--mute);padding:0 4px}
.legend span{display:inline-flex;align-items:center;gap:6px}
.legend i{width:11px;height:11px;border-radius:3px}
.legend .ok{background:var(--ok)}.legend .incident{background:var(--warn)}.legend .panne{background:var(--down)}.legend .aucun{background:var(--none)}
.deps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.desk .deps{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.dep{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:12px 14px;display:flex;flex-direction:column;gap:4px;min-width:0}
.dep b{display:flex;align-items:center;gap:8px;font-size:14px}
.dep b i{width:8px;height:8px;border-radius:999px;background:var(--ok);flex:none}
.dep.panne i{background:var(--down)}
.dep.inconnu i,.job i.inconnu{background:var(--none)}
.dep span{font-size:12px;color:var(--mute)}
.two{display:grid;gap:18px}
.desk .two{grid-template-columns:1fr 1fr;gap:24px;align-items:start}
.two > section{display:flex;flex-direction:column;gap:12px;min-width:0}
.job{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}
.job:last-child{border-bottom:none}
.job i{width:9px;height:9px;border-radius:999px;background:var(--ok);flex:none}
.job i.w{background:var(--warn)}
.job span:nth-child(2){flex:1 0 auto;max-width:55%}
.job .r{color:var(--mute);text-align:right;flex:0 1 auto;min-width:0;margin-left:auto}
#app:not(.desk) .job{flex-wrap:wrap;row-gap:2px}
#app:not(.desk) .job span:nth-child(2){flex:1 1 0;max-width:none}
#app:not(.desk) .job .r{flex-basis:100%;text-align:left;padding-left:21px;font-size:13px}
.job .r.w{color:var(--orink);font-weight:600}
.inc{display:flex;flex-direction:column;gap:4px;padding:12px 0;border-bottom:1px solid var(--line)}
.inc:last-child{border-bottom:none}
.inc .h{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.inc b{font-size:14px}
.inc p{margin:0;font-size:13px;line-height:1.45;color:var(--ink2)}
.ok-pill{font-size:11px;font-weight:800;padding:3px 8px;border-radius:999px;background:var(--okbg);color:var(--okink)}
.bad-pill{font-size:11px;font-weight:800;padding:3px 8px;border-radius:999px;background:var(--orbg);color:var(--orink)}
.mail{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:12px 16px}
.mail span{flex:1;font-size:14px}
.mail b{font-size:13px;color:var(--okink)}
.mail b.off{color:var(--orink)}
.compte-m{display:flex;flex-direction:column;gap:10px}
.compte-m form{margin:0}
.compte-m button,.compte-m a{display:flex;align-items:center;justify-content:center;width:100%;height:48px;border-radius:999px;border:1px solid var(--line);background:var(--card);font-weight:700;font-size:15px;color:var(--ink);text-decoration:none}
.compte-m button:disabled{color:var(--gris);cursor:default}

/* recherche */
.ovl{position:fixed;inset:0;z-index:48;background:rgba(11,23,38,.45);display:flex;align-items:flex-start;justify-content:center;padding:max(56px,env(safe-area-inset-top,0px)) 12px 12px}
.finder{background:var(--card);width:100%;max-width:640px;border-radius:24px;box-shadow:var(--shadow2);overflow:hidden;display:flex;flex-direction:column;max-height:80%}
.finder .in{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line)}
.finder .in > svg{color:var(--mute)}
.finder input{flex:1;border:none;outline:none;background:none;font-size:17px;font-weight:600;height:40px;min-width:0;-webkit-appearance:none;appearance:none}
.finder input::-webkit-search-cancel-button{display:none}
.finder .fermer{border:1px solid var(--line);background:var(--card);border-radius:7px;font-size:11px;font-weight:800;padding:2px 7px;color:var(--ink2)}
.finder .res{overflow:auto;padding:8px}
.finder .grp{font-size:12px;font-weight:800;color:var(--mute);text-transform:uppercase;letter-spacing:.4px;padding:10px 10px 4px}
.finder .etat{padding:20px 10px;text-align:center;margin:0}
.finder .attente{padding:6px 10px 0;margin:0}
.finder .err{padding:8px 10px;margin:0}
.hit{display:flex;align-items:center;gap:12px;width:100%;border:none;background:none;padding:9px 10px;border-radius:14px;text-align:left;text-decoration:none;color:var(--ink)}
.hit:hover,.hit.on{background:var(--bg)}
.hit .ic{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;flex:none;background:var(--bg);color:var(--ink)}
.hit .ic.sav{background:var(--skybg);color:var(--skyink)}
.hit .ic.dispatch{background:var(--teal);color:var(--tealink)}
.hit .ic.idees{background:var(--blu);color:var(--bluink)}
.hit b{font-size:15px}
.hit .tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.finder .foot{display:flex;gap:16px;padding:10px 16px;border-top:1px solid var(--line);font-size:12px;color:var(--mute)}
.finder .foot .r{margin-left:auto}
.tip{position:fixed;z-index:70;pointer-events:none;background:var(--ink);color:var(--on-ink);font-size:12px;font-weight:600;line-height:1.45;border-radius:12px;padding:8px 11px;box-shadow:var(--shadow2);white-space:pre;transform:translate(-50%,calc(-100% - 10px))}
@media (prefers-reduced-motion:no-preference){.tile,.alert{transition:box-shadow .15s,border-color .15s}}

/* connexion et pages de message */
.auth{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:calc(24px + env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) calc(24px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}
.auth-card{width:100%;max-width:400px;background:var(--card);border:1px solid var(--line);border-radius:24px;padding:28px 24px 24px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:18px}
.auth-card .logo{font-size:26px;margin:0;align-self:flex-start}
.auth-card .logo i{width:7px;height:7px}
.auth-card h1{font-size:22px;line-height:1.1}
.auth-card p{margin:0;font-size:15px;line-height:1.45;color:var(--ink2)}
.auth-card form{margin:0;display:flex;flex-direction:column;gap:14px}
.auth-card fieldset{border:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;min-width:0}
.champ{display:flex;flex-direction:column;gap:6px}
.champ label{font-size:13px;font-weight:700;color:var(--ink2)}
.champ input{height:50px;border:1px solid var(--line2);border-radius:14px;background:var(--card);padding:0 14px;font-size:16px;width:100%;outline:none}
.champ input:focus{border-color:var(--ink);box-shadow:0 0 0 3px rgba(48,183,255,.25)}
.garder{display:flex;align-items:center;gap:10px;font-size:15px;cursor:pointer;min-height:44px}
.garder input{width:22px;height:22px;margin:0;accent-color:var(--ok);flex:none}
.bouton{display:inline-flex;align-items:center;justify-content:center;height:50px;border-radius:999px;border:none;background:var(--ink);color:var(--on-ink);font-weight:800;font-size:16px;text-decoration:none;padding:0 22px;width:100%}
.bouton.second{background:var(--bg);color:var(--ink)}
.bouton:disabled{background:var(--gris);cursor:default}
.boutons{display:flex;flex-direction:column;gap:10px}
.boutons form{margin:0}
.msg{border-radius:14px;padding:12px 14px;font-size:14px;line-height:1.45;font-weight:600}
.msg.erreur{background:var(--redbg);color:var(--redink)}
.msg.trop{background:var(--orbg);color:var(--orink)}
.msg.info{background:var(--okbg);color:var(--okink)}
.msg.attention{background:var(--amb);color:var(--ambink)}
.auth-pied{font-size:12px;color:var(--mute);text-align:center;margin:0}
