/* DashDocX - signed-in pages (home, data entry, profile, admin) */
body.app{background:var(--bg)}
.appbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:20px;padding:12px 28px;background:#fff;border-bottom:1px solid var(--line)}
.appbar-brand{display:flex;align-items:center;gap:10px;text-decoration:none!important}
.appbar-nav{display:flex;gap:4px;margin-left:12px;flex:1}
.appbar-nav a{display:flex;align-items:center;gap:8px;padding:9px 14px;border-radius:10px;color:var(--muted);font-weight:600;font-size:14px;text-decoration:none}
.appbar-nav a:hover{background:#F1F3F8;color:var(--text)}
.appbar-nav a.on{background:#EEF0FE;color:var(--indigo)}
.appbar-user{display:flex;align-items:center;gap:12px}
.appbar-user .who{font-weight:600;font-size:14px;color:var(--muted)}
.wrap{max-width:1180px;margin:0 auto;padding:32px 28px 64px}
.ph{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:24px;flex-wrap:wrap}
.ph h1{font-size:28px}.ph p{color:var(--muted);margin-top:6px}
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin-bottom:22px}
.panel h2{font-size:18px;margin-bottom:4px}.panel .sub{color:var(--muted);font-size:14px;margin-bottom:18px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:0 16px}
/* home */
.dgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px}
.dcard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:box-shadow .2s,transform .2s}
.dcard:hover{box-shadow:0 14px 34px rgba(14,26,51,.12);transform:translateY(-2px)}
.dcard .shot{aspect-ratio:16/9;background:#EEF1F8 center/cover no-repeat;border-bottom:1px solid var(--line)}
.dcard .body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:10px;flex:1}
.dcard h3{font-size:17px;display:flex;align-items:center;gap:10px}
.dcard h3 i{width:12px;height:12px;border-radius:4px;display:inline-block}
.dcard p{color:var(--muted);font-size:14px;flex:1}
.acts{display:flex;gap:8px;flex-wrap:wrap}
.hint-bar{display:flex;gap:14px;align-items:center;padding:14px 18px;background:#EEF4FF;border:1px solid #C7D7FE;color:#3538CD;border-radius:12px;font-size:14px;margin-bottom:22px}
/* data entry */
.tabs{display:inline-flex;background:#E9EDF6;border-radius:12px;padding:4px;gap:2px;margin-bottom:16px}
.tabs a{padding:8px 18px;border-radius:9px;font-weight:600;font-size:14px;color:var(--muted);text-decoration:none}
.tabs a.on{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(14,26,51,.12)}
.dt{width:100%;border-collapse:separate;border-spacing:0;font-size:14px}
.dt th{position:sticky;top:var(--ab,65px);background:#F6F8FC;text-align:left;font-size:12.5px;color:var(--muted);font-weight:600;padding:10px 10px;border-bottom:1px solid var(--line);z-index:2}
.dt td{padding:7px 10px;border-bottom:1px solid #EEF1F7;vertical-align:middle}
.dt tr:hover td{background:#FAFBFE}
.dt td.n b{display:block}.dt td.n small{color:var(--faint)}
.dt input{width:100%;font:500 14px var(--font);padding:9px 10px;border:1.5px solid var(--line);border-radius:9px;background:#fff}
.dt input:focus{outline:none;border-color:var(--indigo);box-shadow:0 0 0 3px rgba(79,70,229,.12)}
.dt input.s{min-width:200px}
.pill{display:inline-block;font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:99px;background:#EEF0FE;color:var(--indigo)}
.pill.c{background:#FFF1DB;color:#9A5B00}.pill.g{background:#E3F6EB;color:#0B7A3E}.pill.r{background:#FDE8E8;color:#B42318}
.savebar{position:sticky;bottom:0;display:flex;gap:12px;align-items:center;justify-content:space-between;padding:14px 18px;background:#fff;z-index:5;border:1px solid var(--line);border-radius:14px;margin-top:16px;box-shadow:0 -6px 24px rgba(14,26,51,.06)}
.sel{font:600 14px var(--font);padding:10px 14px;border-radius:10px;border:1.5px solid var(--line-2);background:#fff}
.kv{display:grid;grid-template-columns:150px 1fr;gap:8px 14px;font-size:14px}.kv dt{color:var(--muted)}.kv dd{margin:0;font-weight:600}
.logo-prev{width:72px;height:72px;border-radius:16px;background:#F1F3F8 center/contain no-repeat;border:1px solid var(--line)}
.linkrow{display:flex;gap:8px}.linkrow input{flex:1;font:500 14px var(--font);padding:12px 14px;border-radius:10px;border:1.5px solid var(--line);background:#F6F8FC}
/* admin */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}
.stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 20px}
.stat b{display:block;font:700 30px var(--display);letter-spacing:-.02em}.stat span{color:var(--muted);font-size:13.5px}
.tbl-wrap{overflow:auto}
.ut td,.ut th{white-space:nowrap}
.inline{display:inline}.inline button{border:0;background:none;color:var(--indigo);font:600 13px var(--font);cursor:pointer;padding:4px 6px}
.inline button.d{color:var(--bad)}
@media(max-width:860px){.appbar{padding:10px 14px;flex-wrap:wrap}.appbar-nav span{display:none}.appbar-user .who{display:none}.grid2,.grid3,.stats{grid-template-columns:1fr 1fr}.wrap{padding:22px 14px 48px}.dt th{position:static}}
@media(max-width:560px){.grid2,.grid3,.stats{grid-template-columns:1fr}}
.ut th{position:static}

/* ---- data entry: show/hide switches, search, group chips, limit meter ---- */
.dx-sum .stat small{font:600 16px var(--font);color:var(--faint)}.dx-sum .stat i{font-style:normal;color:var(--faint)}
.dx-hint{color:var(--muted);font-size:14px;margin:-4px 0 14px}
.dx-bar{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;margin-bottom:14px}
.dx-find{position:relative;flex:0 0 260px}.dx-find span{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--faint);display:flex}
.dx-find input{width:100%;font:500 14px var(--font);padding:10px 12px 10px 36px;border:1.5px solid var(--line);border-radius:10px;background:#fff}
.dx-find input:focus{outline:none;border-color:var(--indigo);box-shadow:0 0 0 3px rgba(79,70,229,.12)}
.dx-chips{display:flex;flex-wrap:wrap;gap:6px;flex:1;min-width:200px}
.dx-chips button{font:600 13px var(--font);border:1.5px solid var(--line);background:#fff;color:var(--muted);border-radius:99px;padding:6px 12px;cursor:pointer}
.dx-chips button b{font-weight:700;color:var(--faint);margin-left:3px}
.dx-chips button.on{background:var(--ink);border-color:var(--ink);color:#fff}.dx-chips button.on b{color:#C9D1E6}
.dx-bulk{display:flex;gap:6px}
.sw{position:relative;display:inline-block;width:42px;height:24px;cursor:pointer}
.sw input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer;width:100%;height:100%;z-index:2}
.sw i{position:absolute;inset:0;border-radius:99px;background:#D3D9E8;transition:background .15s}
.sw i::after{content:"";position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(14,26,51,.3);transition:transform .15s}
.sw input:checked+i{background:var(--indigo)}.sw input:checked+i::after{transform:translateX(18px)}
.sw input:focus-visible+i{box-shadow:0 0 0 3px rgba(79,70,229,.3)}
.dx-tbl tr.is-off td.n b{color:var(--muted);font-weight:600}.dx-tbl tr.is-off td.n small{opacity:1}
.dx-tbl tr.is-off input[type=text],.dx-tbl tr.is-off td input:not([type=checkbox]){background:#FAFBFD}
.dx-tbl tr[hidden]{display:none}
.dx-del{border:0;background:none;color:var(--bad);cursor:pointer;padding:4px;border-radius:8px}.dx-del:hover{background:#FDE8E8}
.dx-none{padding:26px;text-align:center;color:var(--muted)}
.dx-cnt{color:var(--muted);font-size:14px}.dx-cnt b{color:var(--ink);font-size:16px}.dx-cnt em{font-style:normal;color:var(--bad)}
.meter{display:flex;align-items:center;gap:5px;margin:2px 0 12px}.meter i{width:28px;height:8px;border-radius:99px;background:#E3E8F3}.meter i.on{background:var(--indigo)}.meter span{margin-left:8px;font-size:13px;color:var(--muted);font-weight:600}
.mine{list-style:none;margin:0 0 4px;padding:0;display:grid;gap:6px}.mine li{display:flex;justify-content:space-between;gap:10px;background:#F6F8FC;border-radius:10px;padding:9px 12px;font-size:14px}.mine small{color:var(--faint)}
.admset{display:flex;flex-wrap:wrap;gap:14px;align-items:end}.admset .field{margin:0;max-width:200px}
.lim{display:flex;gap:6px;align-items:center}.lim input{width:62px;font:600 13px var(--font);padding:6px 8px;border:1.5px solid var(--line);border-radius:8px}.lim button{border:0;background:var(--indigo);color:#fff;font:600 12px var(--font);padding:7px 10px;border-radius:8px;cursor:pointer}.lim small{color:var(--faint)}
@media(max-width:860px){.dx-find{flex:1 1 100%}}

/* ---- Excel & CSV panel ---- */
.xl{background:linear-gradient(135deg,#F4F3FF,#FFF 60%);border-color:#DAD7FB}
.xl .sub{max-width:760px}
.xl-steps{display:grid;grid-template-columns:1.25fr 1fr 1.35fr;gap:14px}
.xl-s{position:relative;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 16px 16px 58px;min-width:0}
.xl-s>span{position:absolute;left:16px;top:16px;width:30px;height:30px;border-radius:50%;background:var(--indigo);color:#fff;font:700 15px var(--display);display:grid;place-items:center}
.xl-s h3{font-size:15px;margin:2px 0 8px}.xl-s p,.xl-s small{color:var(--muted);font-size:13.5px;margin:0;display:block}.xl-s small{margin-top:8px;font-size:12.5px}
.xl-b{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,196px),1fr));gap:8px}.xl-b .btn{justify-content:center;white-space:normal;text-align:center;line-height:1.25;min-width:0}   /* V85: buttons wrap instead of running out of their card */
.xl-up{display:grid;gap:10px}.xl-up input[type=file]{font:500 13px var(--font);width:100%;padding:8px;border:1.5px dashed var(--line-2,#C9D1E6);border-radius:10px;background:#FAFBFE}
@media(max-width:980px){.xl-steps{grid-template-columns:1fr}}

/* admin: Admin Suite links */
.suite-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.suite-link{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:#fff;text-decoration:none;color:var(--text);transition:border-color .15s,box-shadow .15s}
.suite-link:hover{border-color:var(--indigo);box-shadow:0 8px 22px rgba(79,70,229,.12)}
.suite-link b{font:600 15px var(--display)}.suite-link span{color:var(--muted);font-size:13px}

/* ---- phone: signed-in pages feel like an app ---- */
@media(max-width:860px){
  .appbar{flex-wrap:nowrap;gap:10px;padding:calc(10px + env(safe-area-inset-top)) 16px 10px;background:rgba(255,255,255,.96);backdrop-filter:blur(12px)}
  .appbar-nav{display:none}
  .appbar-brand .brand-word{font-size:17px}
  .appbar-user{margin-left:auto}
  .appbar-user .so{display:none}
  .appbar-user .btn{padding:0;width:40px;min-height:40px;justify-content:center;border-radius:12px}
  .wrap{padding:18px 16px 28px}
  .ph{margin-bottom:16px}.ph h1{font-size:23px}
  .panel{padding:18px 16px;border-radius:18px;margin-bottom:14px}
  .dgrid{grid-template-columns:1fr;gap:14px}
  .dcard{border-radius:18px}.dcard:hover{transform:none;box-shadow:none}
  .dcard .acts .btn:first-child{flex:1 1 100%;justify-content:center}
  .dcard .acts .btn{flex:1;justify-content:center}
  .hint-bar{font-size:13px;padding:12px 14px;border-radius:14px}
  .tabs{display:flex;overflow-x:auto;max-width:100%;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}
  .tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:18px}
  .dt{min-width:620px}.dt th{position:static}
  .grid2,.grid3{grid-template-columns:minmax(0,1fr)}
  .ph .acts{width:100%}.ph .acts .btn{flex:1 1 140px;justify-content:center;padding-left:10px;padding-right:10px}
  .ph .acts form.inline{flex:1 1 100%}.ph .acts .sel{width:100%}
  input[type=file]{max-width:100%;width:100%;min-width:0}
  .field{min-width:0}
  .xl-b{grid-template-columns:minmax(0,1fr)}.xl-b .btn{justify-content:center}
}

/* V85 data table: the header sticks under the top bar (the page scrolls, not the table), and never sits on top of the first row */
.panel>.tbl-wrap{overflow:visible}.panel>.tbl-wrap .dt thead th:first-child{border-top-left-radius:18px}.panel>.tbl-wrap .dt thead th:last-child{border-top-right-radius:18px}
@media(max-width:980px){.panel>.tbl-wrap{overflow-x:auto}.panel>.tbl-wrap .dt th{top:0}}

/* ---- V126: data entry in groups (icon, name, cards that can be swapped, empty places of your own) ---- */
.dg-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.dg{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 1px 2px rgba(14,26,51,.04)}
.dg[hidden],.dg-row[hidden]{display:none}
.dg-h{display:flex;align-items:center;gap:12px;padding:12px 14px;background:linear-gradient(90deg,color-mix(in srgb,var(--gc) 12%,#fff),#fff 70%);border-bottom:1px solid var(--line)}
.dg-h h3{margin:0;font:700 16px var(--display)}.dg-h small{color:var(--muted);font-size:12.5px}.dg-h small b{color:var(--ink)}
.dg-ic{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--gc);color:#fff;flex:none}
.dg-bulk{margin-left:auto;display:flex;gap:4px}.dg-bulk button{font:600 12px var(--font);border:1px solid var(--line);background:#fff;color:var(--muted);border-radius:8px;padding:4px 9px;cursor:pointer}.dg-bulk button:hover{color:var(--ink);border-color:var(--gc)}
.dg-cols,.dg-row{display:grid;grid-template-columns:46px minmax(0,1.5fr) repeat(3,minmax(0,.8fr)) 34px;gap:8px;align-items:center;padding:8px 14px}
.dg-cols{font:700 11px var(--font);letter-spacing:.05em;text-transform:uppercase;color:var(--faint);padding-top:10px;padding-bottom:2px}
.dg-row{border-top:1px solid #EEF1F7}.dg-cols+.dg-row{border-top:0}
.dg-row .n b{display:block;font-size:14px;line-height:1.25}.dg-row .n small{color:var(--muted);font-size:12px}
.dg-row input:not([type=checkbox]){width:100%;min-width:0;font:500 14px var(--font);padding:7px 8px;border:1.5px solid var(--line);border-radius:8px;background:#fff}
.dg-row input:focus,.dg-row select:focus{outline:none;border-color:var(--gc);box-shadow:0 0 0 3px color-mix(in srgb,var(--gc) 18%,transparent)}
.dg-row.is-off .n b{color:var(--muted);font-weight:600}.dg-row.is-off input:not([type=checkbox]){background:#FAFBFD}
.dg-more{border:0;background:none;color:var(--faint);cursor:pointer;padding:6px;border-radius:8px;display:grid;place-items:center}.dg-more:hover,.dg-row.open .dg-more{background:#EEF1F7;color:var(--ink)}
.dg-x{grid-column:2/-1;display:none;gap:10px;grid-template-columns:1fr 1fr;padding:6px 0 4px;align-items:end}.dg-row.open .dg-x{display:grid}
.dg-x label{font:600 12.5px var(--font);color:var(--ink);display:grid;gap:4px}.dg-x label small{font-weight:500;color:var(--muted)}
.dg-x select{font:500 14px var(--font);padding:7px 8px;border:1.5px solid var(--line);border-radius:8px;background:#fff}
.dg-x .dx-del{justify-self:start;font:600 13px var(--font);display:flex;gap:6px;align-items:center}
.dg-slot{background:repeating-linear-gradient(135deg,#FAFBFE,#FAFBFE 8px,#fff 8px,#fff 16px)}
.dg-slot .dg-plus{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1.5px dashed var(--gc);color:var(--gc);justify-self:center}
.dg-slot .n small{display:flex;gap:6px;align-items:center;margin-top:4px}.dg-slot .n small input{width:64px;padding:3px 6px;font-size:12px}
.dg-slot .n>input{font-weight:600}
@media(max-width:1100px){.dg-grid{grid-template-columns:1fr}}
details.xl{padding:0}details.xl>summary{list-style:none;cursor:pointer;display:flex;gap:14px;align-items:center;padding:14px 18px}
details.xl>summary::-webkit-details-marker{display:none}details.xl>summary b{display:flex;gap:8px;align-items:center;font:700 16px var(--display)}details.xl>summary span{color:var(--muted);font-size:14px}
details.xl>summary::after{content:"+";margin-left:auto;font:600 22px var(--font);color:var(--indigo)}details.xl[open]>summary::after{content:"\2212"}
details.xl[open]>summary{border-bottom:1px solid #DAD7FB}details.xl>.xl-h,details.xl>.xl-steps{margin:16px 18px}
.dg-view{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 14px;background:#FAFBFE;border-bottom:1px solid #EEF1F7}
.dg-view em{font:700 11px var(--font);letter-spacing:.05em;text-transform:uppercase;color:var(--faint);font-style:normal;margin-right:4px}
.dg-vc{position:relative;cursor:pointer}.dg-vc input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.dg-vc span{display:inline-flex;gap:6px;align-items:center;font:600 12.5px var(--font);padding:5px 10px;border-radius:99px;border:1.5px solid var(--line);background:#fff;color:var(--muted)}
.dg-vc input:checked+span{background:var(--gc);border-color:var(--gc);color:#fff}.dg-vc input:focus-visible+span{box-shadow:0 0 0 3px color-mix(in srgb,var(--gc) 30%,transparent)}

/* ---- V129: card / graph panel of a group in Data entry (open one, others folded) ---- */
.dg-disp{border-top:1px solid #EEF1F7;padding:10px 14px 14px;display:grid;gap:12px;background:#FCFDFF}
.gp-sec h4{margin:0 0 6px;font:700 11px var(--font);letter-spacing:.05em;text-transform:uppercase;color:var(--faint)}
.gp-o{border:1.5px solid var(--line);border-radius:12px;background:#fff;margin-bottom:6px;overflow:hidden}.gp-o.on{border-color:var(--gc);box-shadow:0 0 0 3px color-mix(in srgb,var(--gc) 12%,transparent)}
.gp-t{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:0;background:none;padding:9px 12px;cursor:pointer;font:inherit}
.gp-t span{flex:1;min-width:0}.gp-t b{display:block;font-size:14px}.gp-t small{display:block;color:var(--muted);font-size:12px}
.gp-t em{font:700 11.5px var(--font);font-style:normal;color:var(--muted);border:1px solid var(--line);border-radius:99px;padding:3px 9px}.gp-o.on .gp-t em{background:var(--gc);border-color:var(--gc);color:#fff}
.gp-r{width:16px;height:16px;border-radius:50%;border:2px solid var(--faint);flex:none;position:relative}.gp-o.on .gp-r{border-color:var(--gc)}.gp-o.on .gp-r::after{content:"";position:absolute;inset:2px;border-radius:50%;background:var(--gc)}
.gp-b{display:none;padding:0 12px 12px}.gp-o.on .gp-b{display:block}.gp-o.on:not(.open) .gp-b{display:block}.gp-o.on.open .gp-b{display:none}
.gp-prev{border:1px solid #EEF1F7;border-radius:12px;padding:12px;background:#fff;margin-bottom:8px}.gp-card .gc-card{max-width:420px}
.gp-tw{overflow:auto;max-height:300px;border:1px solid #EEF1F7;border-radius:10px}.gp-tbl{border-collapse:collapse;width:100%;font-size:13px}
.gp-tbl th{position:sticky;top:0;background:#F6F8FC;font:700 12px var(--font);padding:6px 8px;text-align:right;color:var(--muted)}.gp-tbl tbody th{position:static;text-align:left;background:#FAFBFE}
.gp-tbl td{padding:3px 4px}.gp-tbl input{width:100%;min-width:64px;font:500 13px var(--font);padding:5px 7px;border:1.5px solid var(--line);border-radius:7px;text-align:right}
.gp-none{color:var(--muted);font-size:13px;margin:0}

/* V129: the tile card (icon tile, number, change, mini bars) */
.gc-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.8rem;align-items:center;height:100%}
.gc-ic{width:3.4rem;height:3.4rem;border-radius:.9rem;display:grid;place-items:center;background:color-mix(in srgb,var(--gc) 18%,transparent);color:var(--gc)}
.gc-m{display:flex;flex-direction:column;min-width:0}.gc-t{font:600 .9rem var(--display,inherit);color:var(--ink,#13213D);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gc-v{font:700 1.9rem/1.1 var(--display,inherit);color:var(--ink,#13213D)}.gc-v small{font:600 .8rem var(--font,inherit);color:var(--muted,#64748B)}
.gc-d{font:700 .82rem var(--font,inherit)}.gc-d .up,.gc-d .good,.gc-d .c-up{color:#16A765}.gc-d .dn{color:#E5484D}
.gc-r{display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-end;height:100%;gap:.3rem}.gc-r small{font-size:.72rem;color:var(--muted,#64748B);white-space:nowrap}
.gc-b{display:flex;align-items:flex-end;gap:3px;height:2.2rem}.gc-b i{display:block;width:5px;border-radius:2px;background:var(--gc);opacity:.9}
.gc-plain{display:flex;flex-direction:column;gap:.15rem}
.gp-tbl input{width:96px!important;min-width:0!important}.gp-card .gc-card{padding:4px}.gp-card .gc-ic svg{width:26px;height:26px}
.gc-b .gcb{display:block;width:5px;border-radius:2px;background:var(--gc);opacity:.9}
.gc-b{min-width:4.2rem;justify-content:flex-end}.gc-b .gcb{flex:none;width:6px}

/* V188: centred top bar, Report templates menu, Admin on the right */
.appbar-nav{justify-content:center;margin-left:0}
.appbar-adm{display:inline-flex;align-items:center;gap:6px;padding:8px 13px;border-radius:10px;background:#101A3D;color:#fff!important;font:700 13px var(--font);text-decoration:none}.appbar-adm:hover{background:#4F46E5}.appbar-adm.on{background:#4F46E5}
.nv-dd{position:relative}.nv-b{display:flex;align-items:center;gap:8px;padding:9px 14px;border:0;border-radius:10px;background:transparent;color:var(--muted);font:600 14px var(--font,inherit);cursor:pointer}.nv-b:hover{background:#F1F3F8;color:var(--text)}.nv-b.on,.nv-dd.open .nv-b{background:#EEF0FE;color:var(--indigo)}.nv-b i{display:inline-flex;transform:rotate(90deg);transition:transform .15s}.nv-dd.open .nv-b i{transform:rotate(-90deg)}
.nv-p{display:none;position:absolute;left:50%;top:calc(100% + 10px);transform:translateX(-50%);width:min(640px,92vw);background:#fff;border:1px solid #E3E8F5;border-radius:18px;box-shadow:0 26px 60px -20px rgba(16,26,61,.45);padding:16px;z-index:60}.nv-dd.open .nv-p{display:block}
.nv-h{display:flex;flex-direction:column;gap:2px;margin-bottom:12px}.nv-h b{font:800 16px var(--font);color:#101A3D}.nv-h small{color:#6B7390;font-size:12.5px}
.nv-g{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-height:min(60vh,420px);overflow:auto}.nv-g a{display:flex;align-items:center;gap:10px;padding:8px;border:1px solid #E8ECF7;border-radius:12px;text-decoration:none;color:#101A3D}.nv-g a:hover{border-color:#4F46E5;background:#F6F7FF}.nv-g a i{flex:none;width:44px;height:44px;border-radius:10px;background:#EEF0FF center/cover}.nv-g a span{min-width:0}.nv-g a b{display:block;font:700 13px var(--font);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nv-g a small{color:#6B7390;font-size:11px}
.nv-all{display:block;margin-top:12px;text-align:center;padding:9px;border-radius:10px;background:#4F46E5;color:#fff!important;font:700 13px var(--font);text-decoration:none}
@media(max-width:860px){.nv-g{grid-template-columns:1fr 1fr}.appbar-adm span{display:none}}
/* V317: site language globe */
.dx-lg{position:relative;display:inline-flex;align-items:center}.dx-lg-b{width:36px;height:36px;border-radius:50%;border:1.5px solid var(--line,#E3E8F2);background:#fff;color:var(--ink,#0F1F3D);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.dx-lg-b:hover{border-color:#F97316;color:#C2410C}.dx-lg-m{position:absolute;right:0;top:calc(100% + 8px);z-index:9999;min-width:170px;background:#fff;border:1.5px solid var(--line,#E3E8F2);border-radius:12px;box-shadow:0 14px 34px rgba(15,31,61,.18);padding:6px;max-height:70vh;overflow:auto}.dx-lg-m[hidden]{display:none}.dx-lg-m button{display:block;width:100%;text-align:left;border:0;background:none;padding:8px 10px;border-radius:8px;font:600 .85rem inherit;color:var(--ink,#0F1F3D);cursor:pointer}.dx-lg-m button:hover{background:#FFF1E6;color:#C2410C}.dx-lg-m button.on{background:#FFF1E6;color:#C2410C}.goog-te-banner-frame,.skiptranslate iframe,#goog-gt-tt,.goog-te-balloon-frame{display:none!important}body{top:0!important}.goog-text-highlight{background:none!important;box-shadow:none!important}

.lgslot{display:inline-flex;align-items:center;margin-right:6px}.dx-lg-in .dx-lg-b{width:36px;height:36px;border:1px solid transparent;border-radius:10px;background:transparent;color:inherit}.dx-lg-in .dx-lg-b:hover{background:rgba(127,127,127,.15);border-color:transparent;color:inherit}.dx-lg-in .dx-lg-b svg{width:20px;height:20px}.appbar-fav.gft{text-decoration:none}@media(max-width:700px){.lgslot{margin-right:2px}}
[data-lv]>iframe{z-index:0}[data-lv]>:not(iframe){z-index:2}[data-lv]>img{position:relative;z-index:0}
body:not(.adm):has(>header.appbar){overflow-y:visible!important}

/* V386 - the name in the top bar unfolds the account options */
.who-w{position:relative;display:flex;align-items:center}
.who-m{position:absolute;right:0;top:calc(100% + 8px);min-width:210px;background:#fff;border:1px solid #E1E6F4;border-radius:16px;padding:6px;box-shadow:0 24px 48px -20px rgba(20,30,90,.55);z-index:80;display:grid;gap:2px}
.who-m[hidden]{display:none}
.who-m a{display:block;padding:10px 14px;border-radius:10px;font:600 14px/1.2 inherit;color:#101A3D;text-decoration:none}
.who-m a:hover{background:#EEF0FF;color:#4F46E5}

.who-m button{display:block;width:100%;text-align:left;padding:10px 14px;border:0;background:none;border-radius:10px;font:600 14px/1.2 inherit;color:#101A3D;cursor:pointer}.who-m button:hover{background:#EEF0FF;color:#4F46E5}

.hs-bg{position:fixed;inset:0;z-index:300;background:rgba(16,26,61,.5);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:16px}.hs-bg[hidden]{display:none}
.hs-in{position:relative;background:#fff;border-radius:26px;width:min(640px,100%);max-height:min(720px,92vh);display:flex;flex-direction:column;padding:28px 28px 20px;box-shadow:0 40px 80px -30px rgba(20,30,90,.6)}
.hs-in h3{margin:0;font:800 26px "Plus Jakarta Sans",system-ui,sans-serif;color:#101A3D}.hs-p{margin:4px 0 14px;color:#5A6385;font-size:14px}
.hs-x{position:absolute;right:18px;top:18px;width:38px;height:38px;border-radius:50%;border:0;background:#EEF0FB;font-size:22px;cursor:pointer;color:#101A3D}
.hs-bar{display:flex;gap:8px;flex-wrap:wrap}.hs-bar input,.hs-bar select{height:40px;border:1px solid #DDE3F4;border-radius:12px;padding:0 12px;font:600 14px inherit;background:#fff;color:#101A3D}.hs-bar input{flex:1 1 180px;min-width:0}
.hs-ch{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0 4px}.hs-ch button{border:1px solid #DDE3F4;background:#F4F6FC;border-radius:99px;padding:6px 13px;font:700 13px inherit;color:#3F4870;cursor:pointer}.hs-ch button.on{background:#4F46E5;border-color:#4F46E5;color:#fff}
.hs-n{margin:8px 0;color:#5A6385;font-size:13px;font-weight:600}
.hs-l{list-style:none;margin:0;padding:0 4px 0 0;overflow:auto;display:grid;gap:8px}.hs-l li{border:1px solid #E7EBF7;border-radius:14px;padding:12px 14px;display:grid;gap:2px}.hs-l b{font:800 15px inherit;color:#101A3D}.hs-l span{color:#2E3558;font-weight:600}.hs-l small{color:#6A7396}.hs-l time{color:#8A93B2;font-size:12.5px}.hs-l .hs-e{border:0;text-align:center;color:#6A7396}
body.hs-open{overflow:hidden}

/* V417 - top bar stays inside the screen on laptop widths */
@media(min-width:861px){
 html body.app .appbar{gap:12px;padding-left:18px;padding-right:18px}
 html body.app .appbar-nav{min-width:0;margin-left:0;gap:2px}
 html body.app .appbar-nav a{padding:8px 11px;font-size:13.5px;white-space:nowrap}
 html body.app .appbar-user{gap:8px;flex:none}
}
@media(max-width:1500px){html body.app .appbar-user .who{display:flex}html body.app .appbar-nav a{padding:8px 9px;font-size:13px}}
@media(max-width:1280px){html body.app .appbar{gap:8px;padding-left:12px;padding-right:12px}html body.app .appbar-nav a{padding:7px 7px;font-size:12.5px}}

/* V417 - top menu links centred in the bar */
@media(min-width:861px){html body.app .appbar-nav{flex:0 1 auto!important;margin:0 auto!important;justify-content:center}}
