:root{--bg:#eef3fa;--surface:#fff;--surface2:#f3f6fb;--border:#e2e8f1;--text:#0e2140;--muted:#5b6c86;--primary:var(--c1,#1565d8);--primary2:color-mix(in srgb,var(--c1,#1565d8) 80%,#000);--pri-soft:color-mix(in srgb,var(--c1,#1565d8) 11%,#fff);--accent:var(--c2,#f59e0b);
--ok:#15964a;--ok-soft:#e5f6ec;--warn:#d98b06;--warn-soft:#fff4dc;--urgent:#ea580c;--danger:#d92626;--danger-soft:#fdecec;--violet:#7c3aed;--vi-soft:#f1eafe;
--side:#fff;--side-text:#22324d;--shadow:0 6px 24px rgba(16,42,90,.07);--radius:16px}
[data-theme=dark]{--bg:#070e1c;--surface:#0f1b31;--surface2:#14233f;--border:#1f3050;--text:#e7eef9;--muted:#93a4bf;--primary:color-mix(in srgb,var(--c1,#1565d8) 72%,#fff);--primary2:color-mix(in srgb,var(--c1,#1565d8) 88%,#fff);--pri-soft:color-mix(in srgb,var(--c1,#1565d8) 24%,#0f1b31);
--ok:#22c55e;--ok-soft:#0e2d1b;--warn:#fbbf24;--warn-soft:#332709;--danger:#f87171;--danger-soft:#3a1515;--vi-soft:#2a1b4d;--side:#0a1427;--side-text:#c9d6ea;--shadow:0 8px 28px rgba(0,0,0,.35)}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
:root{--cur:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 24 24'%3E%3Cg transform='rotate%28-45 12 12%29'%3E%3Cpath d='M12 .8C12.9 .8 13.4 2.2 13.4 3.8V9.2L21 13.8V15.2L13.4 12.7V15.2H14.4C15 15.2 15.3 15.6 15.3 16.1V17.9C15.3 18.4 15 18.7 14.4 18.7H13.3C13.2 19.2 13 19.7 12.8 20.1L16.2 21.6V22.6L12 21.8L7.8 22.6V21.6L11.2 20.1C11 19.7 10.8 19.2 10.7 18.7H9.6C9 18.7 8.7 18.4 8.7 17.9V16.1C8.7 15.6 9 15.2 9.6 15.2H10.6V12.7L3 15.2V13.8L10.6 9.2V3.8C10.6 2.2 11.1 .8 12 .8Z' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linejoin='round'/%3E%3Cpath d='M12 .8C12.9 .8 13.4 2.2 13.4 3.8V9.2L21 13.8V15.2L13.4 12.7V15.2H14.4C15 15.2 15.3 15.6 15.3 16.1V17.9C15.3 18.4 15 18.7 14.4 18.7H13.3C13.2 19.2 13 19.7 12.8 20.1L16.2 21.6V22.6L12 21.8L7.8 22.6V21.6L11.2 20.1C11 19.7 10.8 19.2 10.7 18.7H9.6C9 18.7 8.7 18.4 8.7 17.9V16.1C8.7 15.6 9 15.2 9.6 15.2H10.6V12.7L3 15.2V13.8L10.6 9.2V3.8C10.6 2.2 11.1 .8 12 .8Z' fill='%230b2a5b'/%3E%3Cpath d='M11.3 3.6h1.4v1.6h-1.4z' fill='%239bd2ff'/%3E%3C/g%3E%3C/svg%3E") 5 5,auto;--cur-p:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 24 24'%3E%3Cg transform='rotate%28-45 12 12%29'%3E%3Cpath d='M12 .8C12.9 .8 13.4 2.2 13.4 3.8V9.2L21 13.8V15.2L13.4 12.7V15.2H14.4C15 15.2 15.3 15.6 15.3 16.1V17.9C15.3 18.4 15 18.7 14.4 18.7H13.3C13.2 19.2 13 19.7 12.8 20.1L16.2 21.6V22.6L12 21.8L7.8 22.6V21.6L11.2 20.1C11 19.7 10.8 19.2 10.7 18.7H9.6C9 18.7 8.7 18.4 8.7 17.9V16.1C8.7 15.6 9 15.2 9.6 15.2H10.6V12.7L3 15.2V13.8L10.6 9.2V3.8C10.6 2.2 11.1 .8 12 .8Z' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linejoin='round'/%3E%3Cpath d='M12 .8C12.9 .8 13.4 2.2 13.4 3.8V9.2L21 13.8V15.2L13.4 12.7V15.2H14.4C15 15.2 15.3 15.6 15.3 16.1V17.9C15.3 18.4 15 18.7 14.4 18.7H13.3C13.2 19.2 13 19.7 12.8 20.1L16.2 21.6V22.6L12 21.8L7.8 22.6V21.6L11.2 20.1C11 19.7 10.8 19.2 10.7 18.7H9.6C9 18.7 8.7 18.4 8.7 17.9V16.1C8.7 15.6 9 15.2 9.6 15.2H10.6V12.7L3 15.2V13.8L10.6 9.2V3.8C10.6 2.2 11.1 .8 12 .8Z' fill='%23f59e0b'/%3E%3Cpath d='M11.3 3.6h1.4v1.6h-1.4z' fill='%239bd2ff'/%3E%3C/g%3E%3C/svg%3E") 5 5,pointer}
html{cursor:var(--cur)}a,button,summary,select,label,[role=button],[data-dialog],[data-print],input[type=checkbox],input[type=radio],input[type=submit],input[type=button],input[type=color],input[type=range]{cursor:var(--cur-p)}
input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]):not([type=color]):not([type=range]):not([type=file]),textarea,[contenteditable=true]{cursor:text}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font,"Segoe UI",Roboto,system-ui,sans-serif);font-size:14.5px;line-height:1.45}
.content{zoom:var(--zoom,1)}
a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,p{margin:0}
.ic{flex:none;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.app{display:flex;min-height:100vh}
.side{width:272px;flex:0 0 272px;background:var(--side);border-right:1px solid var(--border);position:sticky;top:0;height:100vh;overflow:hidden;display:flex;flex-direction:column;padding:16px 12px 12px}
.side .brand{flex:none}.side .nav{flex:1 1 auto;min-height:0;overflow-y:auto;scrollbar-width:thin;margin:0 -6px;padding:0 6px 8px;mask-image:linear-gradient(180deg,#000 calc(100% - 18px),transparent)}
.brand{display:flex;gap:12px;align-items:center;padding:4px 8px 14px;color:var(--text);text-decoration:none!important;position:relative;overflow:hidden;border-radius:14px}
.brand>*:not(.img-layer){position:relative}.brand.has-bg{padding:12px;margin-bottom:10px;color:var(--bc,#fff);min-height:76px;box-shadow:var(--shadow)}
.brand.has-bg strong,.brand.has-bg small{color:inherit;text-shadow:0 1px 6px rgba(0,0,0,.45)}
.brand strong{display:block;font-size:24px;letter-spacing:.5px;font-weight:800;color:var(--text)}.brand small{display:block;font-size:10px;color:var(--muted);line-height:1.25}
.logo-img{border-radius:50%;object-fit:contain;background:#fff}
.logo-def{display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle at 30% 30%,#2f80ed,#0b3a7e);color:#fff;box-shadow:0 0 0 3px #f5b041 inset;flex:none}
.nav{display:flex;flex-direction:column;gap:2px}
.nav-g{font-size:12px;font-weight:800;color:color-mix(in srgb,var(--primary) 70%,var(--accent));text-transform:uppercase;letter-spacing:.05em;margin:16px 10px 6px}
.nav-i{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:11px;color:var(--side-text);font-size:14.5px;text-decoration:none!important;transition:background .15s}
.nav-i span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nav-i:hover{background:var(--surface2)}
.nav-i.on{background:var(--primary);color:#fff;box-shadow:inset 4px 0 0 var(--accent),0 6px 16px color-mix(in srgb,var(--primary) 30%,transparent)}
.nav-i em{margin-left:auto;font-style:normal;font-size:10px;background:var(--surface2);color:var(--muted);padding:1px 7px;border-radius:20px;white-space:nowrap}
.nav-i.on em{background:rgba(255,255,255,.2);color:#fff}
.side-slogan{position:relative;overflow:hidden;margin-top:auto;padding:18px;border-radius:14px;background:linear-gradient(160deg,#0b2a5b,#1a4f9b);background-size:cover;background-position:center;color:#fff;font-family:"Segoe Script","Brush Script MT","Lucida Handwriting",cursive;font-size:15px;line-height:1.55;margin-top:22px;display:flex;align-items:flex-end;flex:none}
.side-slogan.has-img::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,22,52,calc(var(--op) * .35)) 0%,rgba(6,22,52,var(--op)) 100%)}
.side-slogan span{position:relative;text-shadow:0 1px 6px rgba(0,0,0,.5);line-height:1.5}.side .side-slogan{margin-top:10px}
@media (max-height:640px){.side .side-slogan{min-height:96px!important}}
.img-layer{position:absolute;inset:0;background-size:cover;background-repeat:no-repeat;pointer-events:none}
.banner>.img-layer,.side-slogan>.img-layer{z-index:0}.side-slogan>.side-txt{z-index:2}.side-slogan.has-img::before{z-index:1}.bn-ov,.bn-deco,.bn-txt,.bn-clock{z-index:1}
[data-theme=dark] .only-day,[data-theme=light] .only-night{display:none!important}
.framer{position:relative;cursor:grab;user-select:none;touch-action:none;border-radius:16px;outline:2px dashed color-mix(in srgb,var(--primary) 60%,transparent);outline-offset:4px}
.framer.dragging{cursor:grabbing}.framer .banner{margin:0}.framer a{pointer-events:none}
.slot{border:1px solid var(--border);border-radius:14px;padding:14px;margin-bottom:14px;background:var(--surface2)}.slot h3{font-size:15px;display:flex;gap:8px;align-items:center;margin-bottom:6px}
.slot-grid{display:grid;grid-template-columns:minmax(220px,300px) 1fr;gap:18px;align-items:start}.slot-file{display:flex;flex-direction:column;gap:6px;align-items:flex-start;cursor:var(--cur-p)}.slot-file input{display:none}
input[type=range]{height:auto;border:0;padding:0;background:none;accent-color:var(--primary);box-shadow:none}input[type=color]{padding:4px;cursor:var(--cur-p)}
.login-prev{position:relative;max-width:420px;border-radius:16px;overflow:hidden}.login-prev .banner{min-height:460px!important;margin:0;align-items:flex-end;border-radius:16px;padding:22px}.login-prev .bn-clock{display:none}.login-prev .bn-l{font-size:min(1em,22px)}
.login-prev .login-sky{position:absolute;top:0;left:0;margin:6px 0 0;max-height:none}
.brand-prev{width:250px;background:var(--side);border-radius:14px;padding:6px}.side-prev{width:250px}
.ui-sw{display:inline-block;width:22px;height:22px;border-radius:6px;vertical-align:middle;border:1px solid var(--border)}
@media (max-width:900px){.slot-grid{grid-template-columns:1fr}}
[data-imgzone]{outline-offset:3px}[data-imgzone]:focus{outline:2px solid color-mix(in srgb,var(--primary) 45%,transparent)}
[data-imgzone].over,[data-filezone].over{outline:2px dashed var(--primary)!important;background:color-mix(in srgb,var(--primary) 7%,transparent)}
.pasted{animation:pasted .9s ease}@keyframes pasted{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--ok) 60%,transparent)}100%{box-shadow:0 0 0 14px transparent}}
.filezone{border:2px dashed var(--border);border-radius:12px;padding:10px 12px;background:var(--surface2)}
.flag{display:inline-block;vertical-align:-2px;border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,.12);object-fit:cover;overflow:hidden;flex:none}
.flag-txt{display:inline-grid;place-items:center;background:var(--surface2);color:var(--muted);font-weight:800;line-height:1}
.bn-l{margin:0;text-shadow:0 2px 12px rgba(0,0,0,.3);line-height:1.15}.bn-l+.bn-l{margin-top:8px}
.ph-up{position:relative;cursor:var(--cur-p);display:inline-block;border-radius:50%}.ph-up input{display:none}.ph-up label{cursor:var(--cur-p);display:block;position:relative}
.ph-cam{position:absolute;right:2px;bottom:2px;width:34px;height:34px;border-radius:50%;background:var(--primary);color:#fff;display:grid;place-items:center;border:3px solid var(--surface);box-shadow:var(--shadow)}
.ph-up:hover .av,.ph-up.over .av{outline:3px dashed var(--primary);outline-offset:3px}
.main{flex:1;min-width:0;display:flex;flex-direction:column}
.top{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:14px;padding:12px 26px;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}
.gsearch{flex:1;max-width:660px;position:relative;display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:0 12px;height:44px;color:var(--muted)}
.gsearch:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--pri-soft)}
.gs-mic{border:0;background:var(--pri-soft);color:var(--primary);width:32px;height:32px;border-radius:50%;display:grid;place-items:center;flex:none;transition:background .15s,color .15s}
.gs-mic:hover{background:var(--primary);color:#fff}.gs-mic.on{background:#dc2626;color:#fff;animation:micpulse 1.2s ease-out infinite}
@keyframes micpulse{0%{box-shadow:0 0 0 0 rgba(220,38,38,.55)}100%{box-shadow:0 0 0 12px rgba(220,38,38,0)}}
.gs-res .ctr-r strong:before{content:"📍 "}
.gs-say{padding:10px 14px;background:var(--surface2);border-bottom:1px solid var(--border);font-weight:600;font-size:13.5px;line-height:1.4}
.gs-res a.gs-first{display:flex;gap:14px;align-items:center;background:var(--pri-soft)}.gs-res .gs-first em{display:block;font-style:normal;font-size:11px;color:var(--primary);font-weight:700;text-transform:uppercase;letter-spacing:.4px}
.gs-res .gs-first strong{font-size:16px}.gs-ph{width:120px;height:120px;border-radius:14px;object-fit:cover;flex:none;box-shadow:var(--shadow);background:var(--surface2)}
.gs-res a.gs-p{display:flex;gap:10px;align-items:center}.gs-res .gs-p img,.gs-res .gs-p .gs-ini{width:34px;height:34px;border-radius:50%;object-fit:cover;flex:none}
.gs-ini{display:grid;place-items:center;background:var(--surface2);color:var(--muted);font-weight:800}.gs-ph.gs-ini{font-size:34px}
.gs-res{max-height:min(560px,80vh);overflow:auto}
.gsearch input{border:0;background:transparent;flex:1;height:100%;outline:none;color:var(--text);font:inherit;min-width:0}
kbd{font-size:11px;border:1px solid var(--border);border-radius:6px;padding:2px 6px;color:var(--muted);background:var(--surface2);font-family:inherit}
.gs-res{display:none;position:absolute;top:50px;left:0;right:0;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);overflow:hidden;z-index:40}
.gs-res.open{display:block}.gs-res a{display:block;padding:10px 14px;color:var(--text);border-bottom:1px solid var(--border);text-decoration:none}
.gs-res a:hover{background:var(--surface2)}.gs-res small{display:block;color:var(--muted)}.gs-res .all{color:var(--primary);font-weight:600}.gs-res .none{padding:12px 14px;color:var(--muted)}
.top-r{margin-left:auto;display:flex;align-items:center;gap:10px}
.icon-btn{position:relative;width:42px;height:42px;border-radius:12px;background:var(--surface);border:1px solid var(--border);display:inline-grid;place-items:center;color:var(--text);cursor:var(--cur-p);text-decoration:none!important}
.icon-btn:hover{border-color:var(--primary);color:var(--primary)}
.icon-btn .dot{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;border-radius:10px;background:var(--danger);color:#fff;font-size:11px;display:grid;place-items:center;padding:0 5px}
[data-theme=dark] .t-l,[data-theme=light] .t-d{display:none}
.dd{position:relative}.dd>summary{list-style:none;cursor:var(--cur-p)}.dd>summary::-webkit-details-marker{display:none}
.dd-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:230px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);padding:6px;z-index:50}
.dd-menu a,.dd-menu button{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;border-radius:8px;color:var(--text);background:none;border:0;font:inherit;cursor:var(--cur-p);text-align:left;text-decoration:none!important}
.dd-menu a:hover,.dd-menu button:hover{background:var(--surface2)}
.dd-wide{min-width:290px}.dd-form{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border-top:1px solid var(--border);margin-top:4px;font-size:13px}
.dd-form label{display:flex;justify-content:space-between;align-items:center;gap:8px}.dd-form select,.dd-form input:not([type=checkbox]){height:34px;width:auto;max-width:170px}
.umenu summary{display:flex;align-items:center;gap:10px}.u-txt strong{display:block;font-size:14px}.u-txt small{display:block;color:var(--muted);font-size:12px;max-width:240px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.content{padding:22px 26px 10px;flex:1}
.foot{font-size:12px;text-align:center;padding:16px 12px;line-height:1.7;background:var(--fbg,transparent);display:flex;flex-direction:column;align-items:center;gap:2px;margin-top:8px}
.foot-l1{color:var(--fc,var(--muted))}.editeur{font-weight:700;letter-spacing:.3px;color:var(--fe,var(--primary))}
.banner{position:relative;min-height:var(--bh);border-radius:20px;overflow:hidden;background:linear-gradient(115deg,#0a326f 0%,#1660c4 48%,#f0934a 100%);background-size:cover;background-position:center;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:26px 34px;margin-bottom:20px;box-shadow:var(--shadow)}
.bn-ov{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,18,44,var(--op)) 0%,rgba(4,18,44,calc(var(--op) * .55)) 55%,rgba(4,18,44,.05) 100%)}
.bn-deco{position:absolute;right:170px;bottom:0;height:100%;width:60%;color:rgba(255,255,255,.16)}
.bn-txt{position:relative;max-width:820px}
.bn-side{position:relative;display:flex;flex-direction:column;gap:8px;align-items:stretch;flex:none}
.bn-visits{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.14);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.28);border-radius:14px;padding:7px 14px;font-size:12px;line-height:1.15;justify-content:flex-end}
.bn-visits span{display:flex;flex-direction:column;align-items:flex-end}.bn-visits strong{font-size:17px;font-weight:800}.bn-visits b{font-size:14px}.bn-visits small{opacity:.85;font-size:10.5px}
.bv-sep{width:1px;align-self:stretch;background:rgba(255,255,255,.35)}
.bn-clock{position:relative;background:rgba(255,255,255,.14);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.28);border-radius:16px;padding:12px 20px;text-align:right;display:flex;flex-direction:column;min-width:190px}
.bn-clock strong{font-size:42px;line-height:1.1;font-weight:800}.bn-clock span{font-size:13px;text-transform:capitalize}.bn-clock small{opacity:.85}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:16px}
.kpi{background:linear-gradient(135deg,color-mix(in srgb,var(--c) 9%,var(--surface)),color-mix(in srgb,var(--c) 3%,var(--surface)));border:1px solid color-mix(in srgb,var(--c) 22%,var(--border));border-radius:14px;display:flex;gap:10px;align-items:center;padding:10px 12px;color:var(--text);text-decoration:none!important;transition:transform .15s,border-color .15s,box-shadow .15s;position:relative;overflow:hidden}
.kpi::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--c)}
.kpi:hover{transform:translateY(-1px);border-color:var(--c);box-shadow:0 4px 14px color-mix(in srgb,var(--c) 18%,transparent)}
.k-ic{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:color-mix(in srgb,var(--c) 16%,transparent);color:var(--c);flex:none}.k-ic .ic{width:19px;height:19px}
.kpi small{display:block;color:var(--muted);font-size:11.5px;font-weight:600;line-height:1.25}.kpi strong{display:block;font-size:20px;line-height:1.2;font-weight:800;color:color-mix(in srgb,var(--c) 55%,var(--text))}.kpi em{font-style:normal;font-size:11px;color:var(--muted)}
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 20px;min-width:0}
.card>h2,.card-h h2{font-size:17px;display:flex;align-items:center;gap:8px}.card>h2{margin-bottom:14px}
.card-h{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}
.grid{display:grid;gap:18px;margin-bottom:18px}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g21{grid-template-columns:2fr 1fr}.g12{grid-template-columns:1fr 2fr}
.ph{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px;flex-wrap:wrap}.ph h1{font-size:25px;font-weight:800}.ph h1::after{content:"";display:block;width:46px;height:4px;border-radius:4px;margin-top:6px;background:linear-gradient(90deg,var(--primary),var(--accent))}.ph p{color:var(--muted);margin-top:4px}.ph-a{display:flex;gap:8px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 16px;border-radius:10px;border:1px solid transparent;background:var(--primary);color:#fff!important;font:inherit;font-weight:600;font-size:14px;cursor:var(--cur-p);text-decoration:none!important;white-space:nowrap;transition:background .15s}
.btn:hover{background:var(--primary2)}.btn-ghost{background:var(--surface);color:var(--text)!important;border-color:var(--border)}.btn-ghost:hover{background:var(--surface2);border-color:var(--primary)}
.btn-danger{background:var(--danger)}.btn-danger:hover{background:#b91c1c}.btn-sm{height:32px;padding:0 11px;font-size:13px;border-radius:8px}
.btn-icon{width:34px;padding:0}.btn[disabled]{opacity:.5;cursor:not-allowed}
.lnk{background:none;border:0;color:var(--primary);cursor:var(--cur-p);font:inherit;padding:0}
.fld{display:flex;flex-direction:column;gap:6px;font-size:13px;min-width:0}.fld>span{font-weight:600;color:var(--muted)}
input,select,textarea{height:42px;border:1px solid var(--border);border-radius:10px;padding:0 12px;background:var(--surface);color:var(--text);font:inherit;font-size:14px;width:100%;min-width:0}
textarea{height:auto;padding:10px 12px;resize:vertical}input[type=checkbox],input[type=radio]{width:18px;height:18px;accent-color:var(--primary)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--pri-soft)}
[data-theme=dark] input[type=date]{color-scheme:dark}
.fgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px 16px}.span2{grid-column:span 2}.span-all{grid-column:1/-1}
.req{color:var(--danger)}.ferr{color:var(--danger);font-weight:600}.help{color:var(--muted);font-weight:400}
.chk{display:flex;align-items:center;gap:8px;font-size:14px;cursor:var(--cur-p)}
.sec{border:1px solid var(--border);border-radius:14px;margin-bottom:14px;background:var(--surface);box-shadow:var(--shadow)}
.sec>summary{padding:14px 18px;font-weight:700;cursor:var(--cur-p);display:flex;align-items:center;gap:10px;font-size:15.5px;list-style:none}
.sec>summary::-webkit-details-marker{display:none}.sec>summary::after{content:"▾";margin-left:auto;color:var(--muted)}.sec:not([open])>summary::after{content:"▸"}
.sec-b{padding:4px 18px 18px}.sec-note{font-size:12.5px;color:var(--muted);margin:-2px 0 12px}
.form-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;position:sticky;bottom:0;padding:12px 0;background:linear-gradient(transparent,var(--bg) 35%)}
.tbl-wrap{overflow-x:auto;border-radius:12px;border:1px solid var(--border);background:var(--surface)}
.tbl{width:100%;border-collapse:collapse;font-size:14px}
.tbl th{background:var(--surface2);text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:11px 12px;white-space:nowrap}
.tbl th a{color:inherit}.tbl td{padding:10px 12px;border-top:1px solid var(--border);vertical-align:middle}.tbl tr:hover td{background:color-mix(in srgb,var(--surface2) 70%,transparent)}
.tbl .num{text-align:right;font-variant-numeric:tabular-nums}.tbl .act{white-space:nowrap;text-align:right}.tbl tr.off td{opacity:.55}
.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:20px;font-size:12px;font-weight:600;white-space:nowrap;line-height:1.4}
.b-ok{background:var(--ok-soft);color:var(--ok)}.b-warn{background:var(--warn-soft);color:var(--warn)}.b-danger{background:var(--danger-soft);color:var(--danger)}
.b-muted{background:var(--surface2);color:var(--muted)}.b-pri{background:var(--pri-soft);color:var(--primary)}.b-demo{background:var(--vi-soft);color:var(--violet)}
.vdots{display:inline-flex;gap:4px}.vd{width:22px;height:22px;border-radius:50%;display:inline-grid;place-items:center;font-size:10px;font-style:normal;font-weight:800;color:#fff}
.vd-ok{background:var(--ok)}.vd-warn{background:var(--warn)}.vd-urgent{background:var(--urgent)}.vd-expired{background:var(--danger)}.vd-none{background:var(--surface2);color:var(--muted);border:1px dashed var(--muted)}
.av{border-radius:50%;object-fit:cover;flex:none;display:inline-grid;place-items:center;background:var(--surface2)}
.pub-search{display:flex;gap:8px;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:6px 8px 6px 12px;margin-bottom:16px;max-width:640px;color:var(--muted)}
.pub-search input{border:0;background:transparent;flex:1;min-width:0;outline:0;height:34px;box-shadow:none;padding:0;color:var(--text)}
.pubs{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}
.pub.card{display:flex;flex-direction:column;padding:0;overflow:hidden;margin:0}
.pub-img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:var(--surface2);border-radius:0}
.pub-ph{display:grid;place-items:center;color:color-mix(in srgb,var(--primary) 55%,transparent);background:linear-gradient(135deg,var(--pri-soft),var(--surface2))}
.pub-b{display:flex;flex-direction:column;gap:8px;padding:14px 16px 16px;flex:1}.pub-b h3{margin:0;font-size:16px;line-height:1.3}
.pub-d{margin:0;color:var(--muted);font-size:13.5px;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.pub-file{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--border);border-radius:10px;color:var(--text);text-decoration:none;margin-top:auto}.pub-file:hover{border-color:var(--primary)}
.pub-file b{flex:none;font-size:11px;color:#fff;padding:4px 7px;border-radius:6px;background:#dc2626}.pub-file.f-word b{background:#2563eb}.pub-file.f-excel b{background:#16a34a}
.pub-file span{min-width:0;flex:1;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pub-file small{display:block;color:var(--muted);font-size:11.5px}
.pub-a{display:flex;gap:6px;flex-wrap:wrap}.pub-a form{margin:0}.btn.danger{color:var(--danger)}
.cols{display:block;color:var(--muted)}.cxpt circle{fill:#22c55e;stroke:#fff;stroke-width:1.6}.cxpt.ip circle{fill:#f97316}
.cx-leg{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-top:6px}.cx-leg i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px;vertical-align:-1px}
.cx-on{display:flex;flex-wrap:wrap;gap:10px}.cx-on>div{display:flex;gap:9px;align-items:center;border:1px solid var(--border);border-radius:12px;padding:7px 12px 7px 7px;background:var(--surface2)}
.cx-on small{display:block;color:var(--muted);font-size:11.5px}.cx-dot{display:inline-block;vertical-align:1px;width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 3px #22c55e33}
.ph-drop{position:relative;display:inline-flex;border-radius:50%;flex:none}.ph-drop.over{outline:3px dashed var(--primary);outline-offset:3px}
.ph-drop.over::after,.ph-drop.busy::after{content:"";position:absolute;inset:0;border-radius:50%;background:color-mix(in srgb,var(--primary) 30%,transparent)}
.ph-drop.busy::before{content:"";position:absolute;inset:25%;z-index:1;border:3px solid #fff;border-top-color:transparent;border-radius:50%;animation:phspin .8s linear infinite}
@keyframes phspin{to{transform:rotate(360deg)}}
.ph-notes{position:fixed;right:16px;bottom:16px;z-index:90;display:flex;flex-direction:column;gap:8px;max-width:min(380px,calc(100vw - 32px))}
.ph-note{padding:11px 14px;border-radius:12px;font-weight:600;box-shadow:var(--shadow);background:var(--surface);border-left:4px solid var(--ok,#16a34a);color:var(--text)}.ph-note.err{border-left-color:var(--danger,#dc2626)}
.av-zoom{cursor:zoom-in;transition:box-shadow .15s}.av-zoom:hover,.av-zoom:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 45%,transparent);outline:0}
.av-ov{position:fixed;inset:0;z-index:300;background:rgba(5,12,28,0);transition:background .2s;cursor:zoom-out}.av-ov.on{background:rgba(5,12,28,.5)}
.av-big{position:fixed;border-radius:50%;object-fit:cover;border:4px solid #fff;box-shadow:0 24px 60px rgba(0,0,0,.5);transform:scale(.17);transition:transform .22s ease-out;background:#fff}.av-ov.on .av-big{transform:scale(1)}
.av-i{background:hsl(var(--h) 70% 92%);color:hsl(var(--h) 55% 30%);font-weight:800;letter-spacing:.5px}
[data-theme=dark] .av-i{background:hsl(var(--h) 40% 24%);color:hsl(var(--h) 80% 85%)}
.pc{display:flex;align-items:center;gap:11px;min-width:0}.pc strong{display:block;color:var(--text)}.pc small{display:block;color:var(--muted);font-size:12.5px}
.contacts{display:flex;gap:6px}.contacts a{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;background:var(--surface2);color:var(--primary)}
.contacts a.wa{color:#16a34a}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.pcard{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;color:var(--text)}
.pcard h3{font-size:15.5px}.pcard p{color:var(--muted);font-size:13px}
[data-viewbox].as-cards .v-table,[data-viewbox]:not(.as-cards) .v-cards{display:none}
.seg{display:inline-flex;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--surface)}
.seg button,.seg a{border:0;background:none;padding:0 12px;height:38px;display:inline-flex;align-items:center;gap:6px;color:var(--muted);cursor:var(--cur-p);font:inherit;text-decoration:none!important}
.seg .on,[data-viewbox]:not(.as-cards) [data-view=table],[data-viewbox].as-cards [data-view=cards]{background:var(--primary);color:#fff}
.filters{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px 12px;align-items:end}
.fbox>summary{cursor:var(--cur-p);font-weight:700;display:flex;align-items:center;gap:8px;list-style:none;margin-bottom:12px}.fbox>summary::-webkit-details-marker{display:none}.fbox:not([open])>summary{margin:0}
@media (max-width:760px){.filters{grid-template-columns:repeat(2,minmax(0,1fr))}.filters .fld:first-child,.filters .btns{grid-column:1/-1}}
.filters .btns{display:flex;gap:8px}
.toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin:14px 0}
.count{font-weight:700}.count span{color:var(--muted);font-weight:500}
.toast{display:flex;gap:10px;align-items:center;padding:12px 14px;border-radius:12px;margin-bottom:14px;font-weight:600;border:1px solid transparent}
.toast span{flex:1}.toast button{background:none;border:0;color:inherit;cursor:var(--cur-p)}
.t-ok{background:var(--ok-soft);color:var(--ok)}.t-err{background:var(--danger-soft);color:var(--danger)}.t-info{background:var(--pri-soft);color:var(--primary)}.t-warn{background:var(--warn-soft);color:var(--warn)}
.alert-box{padding:12px 14px;border-radius:12px;background:var(--warn-soft);color:var(--text);border:1px solid color-mix(in srgb,var(--warn) 40%,transparent);margin-bottom:14px}
.alert-box ul{margin:6px 0 0 18px;padding:0}
.tabs{display:flex;gap:2px;overflow-x:auto;border-bottom:1px solid var(--border);margin:18px 0 16px;scrollbar-width:thin}
.tabs a{padding:10px 14px;white-space:nowrap;color:var(--muted);border-bottom:2px solid transparent;font-weight:600;font-size:14px;text-decoration:none!important;display:flex;align-items:center;gap:6px}
.tabs a.on{color:var(--primary);border-color:var(--primary)}.tabs a em{font-style:normal;font-size:10px;background:var(--surface2);border-radius:10px;padding:0 6px}
.fh{display:flex;gap:22px;align-items:center;flex-wrap:wrap}.print-only{display:none}
.pend{border-color:#f59e0b;box-shadow:0 0 0 3px rgba(245,158,11,.15)}.toast.t-info{background:var(--pri-soft);color:var(--text)}
.login-links{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.login-links .lnk{display:inline-flex;gap:6px;align-items:center;font-weight:600;font-size:14px}
.hp{position:absolute;left:-9999px;width:1px;height:1px}.dlg-insc{max-width:720px}.insc-ok{font-size:17px;font-weight:700;color:#16a34a}
.cred{border-color:#16a34a;box-shadow:0 0 0 3px rgba(22,163,74,.15)}.cred-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:8px 0 12px}
.cred-grid div{background:var(--surface2);border-radius:10px;padding:8px 12px;display:flex;flex-direction:column}.cred-grid span{font-size:11.5px;color:var(--muted)}.cred-grid b{font-size:16px;font-family:Consolas,monospace}
.cred-msg{white-space:pre-wrap;background:var(--surface2);border:1px dashed var(--border);border-radius:10px;padding:12px 14px;font:13px/1.5 inherit;margin:0 0 12px;max-height:260px;overflow:auto}
.btn-wa{background:#25d366;border-color:#25d366;color:#fff!important}.btn-wa:hover{background:#1da851}.row.nowrap{flex-wrap:nowrap;gap:6px}
.uph{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.uph-r{flex:1;min-width:240px}.uph>.av{box-shadow:var(--shadow);border:3px solid var(--surface)}
.id-wrap{display:flex;gap:20px;align-items:flex-start}.id-wrap .kv{flex:1;min-width:0}.id-fig{margin:0;display:flex;flex-direction:column;align-items:center;gap:6px;flex:none}
.id-fig figcaption{font-size:11px;color:var(--muted)}.id-photo{width:150px;height:200px;object-fit:cover;border-radius:12px;border:1px solid var(--border);box-shadow:var(--shadow);background:var(--surface2)}
.id-none{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding:10px;font-size:12px}
@media (max-width:560px){.id-wrap{flex-direction:column;align-items:center}.id-wrap .kv{width:100%}}.fh-info{flex:1;min-width:240px}.fh-info h1{font-size:24px;font-weight:800}
.fh-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;align-items:center}.fh-act{display:flex;gap:8px;flex-wrap:wrap}
.ring{--p:0;width:66px;height:66px;border-radius:50%;background:conic-gradient(var(--primary) calc(var(--p) * 1%),var(--surface2) 0);display:grid;place-items:center;flex:none}
.ring span{width:52px;height:52px;border-radius:50%;background:var(--surface);display:grid;place-items:center;font-weight:800;font-size:13px}
.ring-w{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:11.5px;color:var(--muted)}
.kv{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px 20px;margin:0}
.kv>div{display:flex;flex-direction:column;gap:2px;min-width:0}.kv dt{font-size:12px;color:var(--muted)}.kv dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.kv dd.na{color:var(--muted);font-weight:400;font-style:italic}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:16px}
.stat{padding:14px 16px;border-radius:14px;background:var(--surface2);border:1px solid var(--border)}.stat small{display:block;color:var(--muted);font-size:12px;font-weight:600}
.stat strong{display:block;font-size:20px;margin-top:2px}.stat em{display:block;font-style:normal;font-size:12px;color:var(--muted)}
.tl{position:relative;padding-left:24px}.tl::before{content:"";position:absolute;left:7px;top:6px;bottom:6px;width:2px;background:var(--border)}
.tl-i{position:relative;padding:0 0 16px}.tl-i::before{content:"";position:absolute;left:-22px;top:5px;width:12px;height:12px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 4px var(--pri-soft)}
.tl-i.past::before{background:var(--muted);box-shadow:0 0 0 4px var(--surface2)}.tl-h{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.tl-i small{color:var(--muted)}
dialog{border:0;border-radius:18px;padding:0;max-width:760px;width:calc(100% - 24px);background:var(--surface);color:var(--text);box-shadow:0 30px 80px rgba(0,0,0,.35)}
dialog::backdrop{background:rgba(6,16,36,.55);backdrop-filter:blur(2px)}
.dlg-h{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.dlg-h h2{font-size:17px}
.dlg-b{padding:18px 20px;max-height:70vh;overflow:auto}.dlg-f{padding:14px 20px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:10px}
.dropzone{position:relative;display:flex;gap:16px;align-items:center;border:2px dashed var(--border);border-radius:14px;padding:14px;background:var(--surface2);transition:.15s}
.dropzone.over{border-color:var(--primary);background:var(--pri-soft)}.dropzone input[type=file]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.dz-prev{width:88px;height:88px;border-radius:12px;background:var(--surface);display:grid;place-items:center;overflow:hidden;color:var(--muted);flex:none;border:1px solid var(--border)}
.dz-prev img{width:100%;height:100%;object-fit:cover}.dz-txt{display:flex;flex-direction:column;gap:5px;font-size:13px;align-items:flex-start}.dz-txt span{color:var(--muted)}
.bars{display:flex;flex-direction:column;gap:9px}.bar{display:grid;grid-template-columns:minmax(90px,180px) 1fr 46px;gap:10px;align-items:center;font-size:13px;color:var(--text);text-decoration:none!important}
.bar>span:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar-t{height:10px;border-radius:6px;background:var(--surface2);overflow:hidden}
.bar-t i{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,var(--primary),#38bdf8)}.bar b{text-align:right;font-variant-numeric:tabular-nums}
a.bar:hover>span:first-child{color:var(--primary)}
.alist{display:flex;flex-direction:column;gap:4px}.alist a{display:flex;align-items:center;gap:12px;padding:9px 8px;border-radius:10px;color:var(--text);text-decoration:none!important}
.alist a:hover{background:var(--surface2)}.alist .a-ic{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;color:#fff;flex:none}.alist strong{font-size:17px;display:block;line-height:1.1}.alist small{color:var(--muted)}
.qgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:10px}
.qa{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 8px;border-radius:14px;background:var(--surface2);color:var(--text);text-align:center;font-size:13px;font-weight:600;text-decoration:none!important;border:1px solid transparent}
.qa:hover{border-color:var(--primary)}.qa .ic{color:var(--c,var(--primary))}
.pager{display:flex;gap:6px;justify-content:center;margin-top:16px;flex-wrap:wrap}
.pager a,.pager span{min-width:36px;height:36px;display:grid;place-items:center;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text);text-decoration:none!important;padding:0 8px}
.pager span{border:0;background:none}.pager a.on{background:var(--primary);color:#fff;border-color:var(--primary)}
.empty{text-align:center;padding:40px 20px;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:10px}
.msg-card{text-align:center;max-width:540px;margin:40px auto;display:flex;flex-direction:column;align-items:center;gap:12px;padding:34px}.msg-card .ic{color:var(--primary)}
.center-page{min-height:100vh;display:grid;place-items:center;padding:20px}
.login{min-height:100vh;display:grid;grid-template-columns:1.25fr 1fr;grid-template-areas:"ban form"}
.login>.banner{grid-area:ban}.login-f{grid-area:form}
.login-sky{grid-area:ban;align-self:start;position:relative;z-index:2;width:100%;height:auto;max-height:52vh;pointer-events:none;margin-top:3vh;filter:drop-shadow(0 2px 4px rgba(0,0,0,.45))}
.sk-trk{fill:none;stroke:#fff;stroke-opacity:.35;stroke-dasharray:8 7}
.sk-a{fill:#fff}.sk-b{fill:#7dd3fc}.sk-d{fill:#c4b5fd}.sk-e{fill:#86efac}.sk-c{fill:#fbbf24}.sk-lbl{fill:#fff;font:700 13px system-ui,sans-serif}
.sk-turn{fill:none;stroke:#fbbf24;stroke-opacity:.8;stroke-dasharray:7 5}
.sk-arc{fill:none;stroke:#fbbf24;stroke-width:2}.sk-ang{fill:#fbbf24;font:700 13px system-ui,sans-serif}
.sk-dim{fill:#fbbf24;stroke:#fbbf24;font:700 12px system-ui,sans-serif}.sk-dim path{fill:none;stroke-width:1.6}.sk-dim text{stroke:none}
.sk-fix{fill:none;stroke:#34d399;stroke-width:2}.sk-fixt{fill:#34d399;font:700 12px system-ui,sans-serif}
.login .banner{margin:0;border-radius:0;min-height:100%;align-items:flex-end;padding:40px}.login .bn-clock{display:none}
.login-f{display:grid;place-items:center;padding:30px 20px}.login-card{width:100%;max-width:400px;display:flex;flex-direction:column;gap:16px}
.login-card .brand{padding:0}.login-card h2{font-size:22px}
.muted{color:var(--muted)}.small{font-size:12.5px}.mt{margin-top:14px}.mb{margin-bottom:14px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.right{margin-left:auto}
.ref-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px}
.ref-groups .card a{display:flex;justify-content:space-between;padding:7px 4px;border-bottom:1px dashed var(--border);color:var(--text)}.ref-groups .card a:last-child{border:0}
.ref-groups .card a b{color:var(--muted);font-weight:600}
.diff{font-size:12px}.diff del{color:var(--danger)}.diff ins{color:var(--ok);text-decoration:none}
.rw-new td:first-child{box-shadow:inset 3px 0 var(--ok)}.rw-upd td:first-child{box-shadow:inset 3px 0 var(--warn)}.rw-err td:first-child{box-shadow:inset 3px 0 var(--danger)}.rw-same td{opacity:.6}
.only-m{display:none}
.donut{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.donut svg{flex:none}
.legend{list-style:none;margin:0;padding:0;flex:1;min-width:150px;display:flex;flex-direction:column;gap:6px;font-size:13px}
.legend li{display:grid;grid-template-columns:1fr auto 26px;gap:6px;align-items:center}.legend li>a,.legend li>span{display:flex;align-items:center;gap:7px;color:var(--text);min-width:0;line-height:1.2}
.legend i{width:10px;height:10px;border-radius:50%;flex:none}.legend small{color:var(--muted);text-align:right}
.pyr{display:flex;flex-direction:column;gap:6px;font-size:12.5px}.pyr-h,.pyr-r{display:grid;grid-template-columns:1fr 54px 1fr;align-items:center;gap:6px}
.pyr-h{color:var(--muted);font-size:12px}.pyr-h span{display:flex;align-items:center;gap:6px}.pyr-h span:first-child{justify-content:flex-end}.pyr-h i{width:10px;height:10px;border-radius:50%}
.pyr-r>span{text-align:center;color:var(--muted);font-size:12px}.pyr-l{display:flex;justify-content:flex-end;align-items:center;gap:6px}.pyr-rr{display:flex;align-items:center;gap:6px}
.pyr-l i{height:16px;background:linear-gradient(270deg,#1565d8,#60a5fa);border-radius:4px 0 0 4px;min-width:2px}.pyr-rr i{height:16px;background:linear-gradient(90deg,#ec4899,#f9a8d4);border-radius:0 4px 4px 0;min-width:2px}
.pyr b{font-size:11.5px;font-variant-numeric:tabular-nums}
.map-card{background:linear-gradient(160deg,#071a3d,#0a2557);color:#e2ecff;border-color:#13306b}.map-card h2{color:#fff}.map-card .btn-ghost{background:rgba(255,255,255,.08);color:#fff!important;border-color:rgba(255,255,255,.2)}
.map-wrap{position:relative}
.amap{position:relative;border-radius:14px;overflow:hidden;background:#06152f;touch-action:none;user-select:none;-webkit-user-select:none;isolation:isolate}
.amap-svg{width:100%;height:auto;max-height:640px;display:block;cursor:grab}.amap.dragging .amap-svg{cursor:grabbing}.amap.placing .amap-svg,.amap.moving .amap-svg,[data-amap=picker] .amap-svg{cursor:crosshair}
.amap .sea{fill:#06152f}.amap .ctx{fill:#0d2246;stroke:#17325f;stroke-width:.6;vector-effect:non-scaling-stroke}
.amap .cty{fill:#15335f;stroke:#0a1d3d;stroke-width:.8;vector-effect:non-scaling-stroke;transition:fill .15s;cursor:var(--cur-p)}
.amap .cty.mem{fill:#1c5cb8;stroke:#8bb8ff}.amap .cty:hover{fill:#24497f}.amap .cty.mem:hover{fill:#2a72db}
.amap .cty.on,.amap .cty.hl{fill:#f59e0b!important;stroke:#fff}
.amap .clbl{display:none;fill:#d6e5ff;font-weight:700;text-anchor:middle;dominant-baseline:middle;pointer-events:none;paint-order:stroke;stroke:#06152f;stroke-width:3px;stroke-linejoin:round}
.amap.z2 .clbl.mem,.amap.z4 .clbl,[data-amap=pays] .clbl.on{display:block}
.amap .ctr{cursor:var(--cur-p);outline:none}.amap .ctr .dot{fill:#38bdf8;stroke:#04122b;stroke-width:1.5;transition:stroke .15s}
.amap .ctr-principal .dot{fill:#facc15}.amap .ctr-international .dot{fill:#38bdf8}.amap .ctr-secondaire .dot{fill:#60a5fa}.amap .ctr-projet .dot{fill:#94a3b8}.amap .pick .dot{fill:#ef4444}
.amap .halo{fill:#38bdf8;opacity:.16}.amap .ctr-principal .halo{fill:#facc15}.amap .pick .halo{fill:#ef4444;opacity:.25}
.amap .ctr:hover .dot,.amap .ctr.on .dot,.amap .ctr:focus-visible .dot,.amap .ctr.hl .dot{stroke:#fff;stroke-width:2.5}
.amap .ctr.off{display:none}.amap .ctr.drag{opacity:.85}
.amap .ctr-t{display:none;fill:#fff;font-size:11px;font-weight:700;paint-order:stroke;stroke:#06152f;stroke-width:3px;stroke-linejoin:round;pointer-events:none}
.amap.z2 .ctr-t,.amap .ctr.on .ctr-t,.amap .ctr.hl .ctr-t,.amap .ctr:hover .ctr-t{display:block}
.amap-tools{position:absolute;left:10px;top:10px;display:flex;flex-direction:column;gap:6px;z-index:3}
.amap-tools button{width:34px;height:34px;border-radius:10px;border:1px solid rgba(255,255,255,.22);background:rgba(7,22,52,.88);color:#fff;font-size:19px;line-height:1;display:grid;place-items:center;cursor:var(--cur-p)}
.amap-tools button:hover{background:#1c5cb8}
.amap-hint{position:absolute;left:50%;top:10px;transform:translateX(-50%);max-width:calc(100% - 70px);background:#f59e0b;color:#1f1300;padding:8px 12px;border-radius:10px;font-size:13px;font-weight:600;z-index:4;display:flex;flex-wrap:wrap;gap:8px;align-items:center;box-shadow:0 8px 24px rgba(0,0,0,.35)}
.amap-hint[hidden]{display:none}.amap-hint button{border:0;border-radius:8px;padding:4px 10px;font-weight:700;cursor:var(--cur-p);background:#1f1300;color:#fff}.amap-hint button.alt{background:rgba(0,0,0,.15);color:#1f1300}
.amap-pop{position:absolute;z-index:5;width:340px;max-width:calc(100% - 16px);max-height:min(460px,calc(100% - 16px));overflow:auto;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:14px;box-shadow:0 18px 50px rgba(0,0,0,.45);font-size:13px;user-select:text;-webkit-user-select:text;touch-action:auto}
.amap-pop[hidden]{display:none}
.pop-h{display:flex;gap:10px;align-items:center;padding:12px 12px 10px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--surface);z-index:1}.pop-h>div{flex:1;min-width:0}
.pop-h strong{display:block;font-size:15px}.pop-h small{color:var(--muted)}.pop-x{border:0;background:var(--surface2);color:var(--text);width:28px;height:28px;border-radius:8px;display:grid;place-items:center;cursor:var(--cur-p)}
.pop-b{padding:10px 12px 12px;display:flex;flex-direction:column;gap:9px}.pop-b h4{font-size:13px;margin:4px 0 0;display:flex;gap:6px;align-items:center}
.pop-kv{display:grid;grid-template-columns:auto 1fr;gap:3px 10px}.pop-kv span{color:var(--muted)}.pop-kv b{font-weight:600}
.pop-list{display:flex;flex-direction:column;gap:6px;max-height:230px;overflow:auto;padding-right:2px}.pop-p{display:flex;gap:9px;align-items:center}.pop-p span{display:flex;flex-direction:column;min-width:0}
.pop-p a{font-weight:700;color:var(--text)}.pop-p small{color:var(--muted);font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pop-ctrs{display:flex;flex-wrap:wrap;gap:6px}.pop-ctrs button{border:1px solid var(--border);background:var(--surface2);color:var(--text);border-radius:999px;padding:4px 10px;cursor:var(--cur-p);font-size:12px}
.pop-ctrs button b{color:var(--primary)}.pop-ctrs button.np{border-style:dashed}
.pop-edit summary{cursor:var(--cur-p);font-weight:700;color:var(--primary)}.pop-b form{display:flex;flex-direction:column;gap:7px;margin-top:8px}
.pop-b form label{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--muted)}.pop-b form input,.pop-b form select{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:7px 9px}
.pop-2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pop-act{display:flex;gap:6px;flex-wrap:wrap}.pop-msg{margin:0;font-size:12px;font-weight:600}.pop-msg.ok{color:#16a34a}.pop-msg.err{color:#dc2626}
.amap-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 14px;font-size:11.5px;color:#b9cdf0;margin-top:8px}.amap-leg i{display:inline-block;width:10px;height:10px;border-radius:50%;margin:0 4px 0 8px;vertical-align:-1px}
.amap-leg i:first-child{margin-left:0}.lg-principal{background:#facc15}.lg-international{background:#38bdf8}.lg-secondaire{background:#60a5fa}.lg-projet{background:#94a3b8}
.amap-unpl{margin-top:8px;padding:8px 10px;border:1px dashed rgba(250,204,21,.6);border-radius:10px;font-size:12.5px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.amap-note{margin-top:6px}[data-amap=picker] .amap-svg,[data-amap=pays] .amap-svg{max-height:340px}
@media (max-width:560px){.amap-pop{left:6px!important;right:6px;width:auto;top:auto!important;bottom:6px;max-height:70%}}
.map-rep{position:absolute;left:8px;bottom:40px;background:rgba(7,22,52,.88);border:1px solid rgba(96,165,250,.35);border-radius:12px;padding:10px 12px;width:240px;font-size:12px;display:flex;flex-direction:column;gap:5px}
.map-rep a{display:grid;grid-template-columns:92px 1fr 36px;gap:6px;align-items:center;color:#e2ecff;text-decoration:none!important}.map-rep span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-rep i{height:7px;border-radius:4px;display:block}.map-rep b{text-align:right}
.segr{position:relative;display:inline-flex}.segr input{position:absolute;opacity:0;width:1px;height:1px}.segr span{display:inline-flex;align-items:center;height:36px;padding:0 12px;cursor:var(--cur-p);color:var(--muted)}.segr input:checked+span{background:var(--primary);color:#fff}
.font-row{border:1px solid var(--border);border-radius:12px;padding:12px 14px;margin-top:12px;background:var(--surface2)}.font-row h3{font-size:14px;margin-bottom:10px}
.bn-preview .banner{margin-bottom:0}
.anc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:10px}
.anc-b{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:12px 14px;border-radius:12px;border:1px solid var(--border);background:var(--surface2);color:var(--text);text-decoration:none!important;font-weight:600;font-size:13.5px}
.anc-b b{font-size:20px;color:var(--primary)}.anc-b:hover{border-color:var(--primary)}.anc-b.on{background:var(--primary);color:#fff;border-color:var(--primary)}.anc-b.on b{color:#fff}
.doclink{font-size:12.5px;white-space:nowrap}
@media (max-width:760px){.map-rep{position:static;width:auto;margin-top:8px}}
@media (max-width:1200px){.g3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:1000px){
 .side{position:fixed;left:0;top:0;z-index:60;transform:translateX(-105%);transition:transform .25s;box-shadow:0 0 40px rgba(0,0,0,.25)}
 body.nav-open .side{transform:none}.side-bg{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:55}body.nav-open .side-bg{display:block}
 .only-m{display:inline-grid}.u-txt{display:none}.g21,.g12{grid-template-columns:1fr}}
@media (max-width:760px){
 body{font-size:14px}.content{padding:14px 16px 6px}.top{padding:10px 16px;gap:8px}.g2,.g3{grid-template-columns:1fr}
 .banner{flex-direction:column;align-items:flex-start;padding:20px;min-height:0}.bn-clock{text-align:left;min-width:0}.bn-clock strong{font-size:30px}
 kbd{display:none}.span2{grid-column:auto}.login{grid-template-columns:1fr;grid-template-areas:"ban" "form"}.login .banner{min-height:210px;padding-top:calc(36vw + 16px)}.login-sky{margin-top:8px}
 .kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kpi{padding:12px;gap:10px}.k-ic{width:40px;height:40px}.kpi strong{font-size:22px}
 .tbl.resp thead{display:none}.tbl.resp tr{display:block;border-top:1px solid var(--border);padding:8px 2px}.tbl.resp tr:first-child{border-top:0}
 .tbl.resp td{display:block;border:0;padding:5px 12px;text-align:right;overflow:hidden}.tbl.resp td .pc,.tbl.resp td .row,.tbl.resp td .contacts{justify-content:flex-end}
 .tbl.resp td::before{content:attr(data-l);float:left;font-weight:600;color:var(--muted);font-size:12px;text-align:left;margin-right:12px;padding-top:2px}.tbl.resp td.act::before{content:none}
 .ph h1{font-size:21px}.fh{gap:14px}.dropzone{flex-direction:column;align-items:flex-start}.bar{grid-template-columns:minmax(80px,120px) 1fr 40px}
 .icon-btn{width:38px;height:38px}}
.print-head{display:none}
@media print{.print-head{display:flex!important;align-items:center;gap:14px;background:#0b2a5b!important;color:#fff!important;padding:12px 16px;border-bottom:4px solid #f59e0b;margin:0 0 14px;-webkit-print-color-adjust:exact;print-color-adjust:exact}
 .print-head strong{display:block;font-size:20px}.print-head small{display:block;font-size:10px;opacity:.85}.print-head .ph-r{margin-left:auto;text-align:right}.print-head .ph-r b{font-size:15px}
 .print-head img,.print-head .logo-def{background:#fff;border-radius:50%}
 .print-only{display:inline-block!important}.side,.top,.foot,.no-print,.tabs,.form-actions,.toast{display:none!important}.content{padding:0}.card,.sec{box-shadow:none;break-inside:avoid}body{background:#fff;color:#000}.app,.main{display:block}}