/* The console's own look: navy menu, blue actions. It never changes per agency. */
body.admin{--rail:#0F2340;--rail-ink:#ffffff;--brand:#2563EB;--brand-on:#ffffff;--bg:#F4F6FA;--line:#E6EAF0;--line2:#EEF1F5;--ink:#14213A;--ink2:#2A3650;--ink3:#56637A;--r:14px}
body.admin .con{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100vh}
body.admin .con-nav{background:var(--rail);color:#C9D5E6;padding:20px 14px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto}
body.admin .con-logo{display:flex;gap:10px;align-items:center;color:#fff;margin:0 6px 18px}
body.admin .con-logo i{width:36px;height:36px;border-radius:9px;background:var(--brand);display:grid;place-items:center;font-style:normal;font-weight:700;font-size:19px}
body.admin .con-logo b{font-weight:600;font-size:16px;display:block}body.admin .con-logo small{color:#AFC0D6}
body.admin .con-g{font-size:12px;color:#AFC0D6;margin:14px 10px 4px}
body.admin .con-nav a{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;border-radius:8px;color:#C9D5E6;text-decoration:none}
body.admin .con-nav em{font-style:normal;background:#fff;color:var(--rail);border-radius:9px;font-size:12px;font-weight:600;padding:0 7px}
body.admin .con-nav a:hover{background:#1A3357;color:#fff}
body.admin .con-nav a.on{background:var(--brand);color:#fff;font-weight:500}
body.admin .con-nav a:focus-visible,body.admin .con-me button:focus-visible{outline:2px solid #fff;outline-offset:1px}
body.admin .con-me{margin-top:auto;padding:12px 10px 0;display:grid;gap:6px;font-size:13px;color:#AFC0D6;overflow-wrap:anywhere}
body.admin .con-me button{background:none;border:1px solid #33507A;color:#fff;border-radius:7px;height:36px;cursor:pointer}
body.admin .con-me button:hover{background:#1A3357}
body.admin .con-main{padding:24px;min-width:0;max-width:1240px;width:100%}
body.admin .scroll{overflow-x:auto}
body.admin .t td small{display:block;color:var(--ink3);white-space:normal}
body.admin .t td.r,body.admin .t th.r{text-align:end;white-space:nowrap}
body.admin .pay-list{display:grid}
body.admin .pay{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 0;border-top:1px solid var(--line2)}
body.admin .pay:first-child{border-top:0}
body.admin .pay small{display:block;color:var(--ink3)}
body.admin .pay.void b{text-decoration:line-through;color:var(--ink3)}
body.admin .input.sm{height:32px;width:190px;font-size:13px}
@media (max-width:899px){
  body.admin .con{grid-template-columns:minmax(0,1fr)}
  body.admin .con-nav{position:static;height:auto;padding:12px 14px}
  body.admin .con-logo{margin-bottom:8px}
  body.admin .con-g{display:none}
  body.admin .con-nav nav{display:flex;gap:4px;overflow-x:auto}
  body.admin .con-nav a{white-space:nowrap;flex:none}
  body.admin .con-me{display:flex;justify-content:space-between;align-items:center;padding-top:8px}
  body.admin .con-me button{padding:0 10px}
  body.admin .con-main{padding:16px}
}
body.admin .filters-row{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end;padding:12px 16px;border-bottom:1px solid var(--line2)}
body.admin .filters-row label{display:grid;gap:3px;font-size:12.5px;color:var(--ink2)}
body.admin .filters-row .input{height:36px;width:auto;min-width:130px}
body.admin .dash-sum{padding:12px 16px;border-top:1px solid var(--line2);display:flex;justify-content:space-between;font-weight:600}
body.admin .reason-form{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}
body.admin .dash-pager{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;border-top:1px solid var(--line2);color:var(--ink3)}
body.admin tr.void td{color:var(--ink3)}

/* dashboard, from the approved mockup */
body.admin .dash-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:14px}
body.admin .dash-kpis.three{grid-template-columns:repeat(3,minmax(0,1fr))}
body.admin .dash-kpi{border-radius:14px;padding:14px 16px 0;overflow:hidden;display:grid;grid-template-columns:auto 1fr;column-gap:12px;color:var(--ink);text-decoration:none}
body.admin .dash-kpi.flat{padding-bottom:14px;grid-template-columns:1fr}
body.admin a.dash-kpi:hover{outline:2px solid var(--brand);outline-offset:-2px}
body.admin a.dash-kpi:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
body.admin .dash-kpi .ico{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;color:#fff}
body.admin .dash-kpi b{display:block;font-size:24px;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}
body.admin .dash-kpi span{color:var(--ink2);font-size:13px}
body.admin .dash-kpi p{grid-column:1/3;margin:6px 0 0;font-size:13px;color:var(--ink2);font-weight:500}
body.admin .spark{grid-column:1/3;width:calc(100% + 32px);margin:4px -16px 0;height:46px;display:block}
body.admin .spark-gap{grid-column:1/3;height:14px}
body.admin .dash-row{display:grid;gap:14px;margin-bottom:14px}
body.admin .dash-row.r1{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}
body.admin .dash-row.r2{grid-template-columns:minmax(0,.9fr) minmax(0,1fr) minmax(0,1.05fr)}
body.admin .dash-h{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:10px}
body.admin .link{color:#1D4FC4;font-weight:500;font-size:13px;text-decoration:none}
body.admin .dash-legend{display:flex;gap:16px;font-size:13px;color:var(--ink2)}
body.admin .dash-legend i{display:inline-block;width:12px;height:3px;border-radius:2px;margin-inline-end:6px;vertical-align:middle}
body.admin .chart{width:100%;display:block}
body.admin .ax{font-size:11.5px;fill:var(--ink3)}body.admin .dash-lab{font-size:12px;font-weight:600;fill:var(--ink)}body.admin .big{font-size:26px;font-weight:600;fill:var(--ink)}
body.admin .todo{width:100%;border-collapse:collapse}body.admin .todo td{padding:9px 0;border-top:1px solid var(--line2);vertical-align:middle}body.admin .todo tr:first-child td{border-top:0}body.admin .todo .r{text-align:end}
body.admin .who{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none}body.admin .who small{display:block;color:var(--ink3)}
body.admin .av{width:34px;height:34px;border-radius:9px;background:#E9EEF6;display:grid;place-items:center;font-weight:600;flex:none}
body.admin .st{font-size:12.5px;font-weight:500;padding:3px 9px;border-radius:6px;white-space:nowrap}body.admin .st.warn{background:#FBEBD3;color:#6B4300}body.admin .st.late{background:var(--ink);color:#fff}body.admin .st.off{background:#ECE4FB;color:#4C2E91}
body.admin .mix{display:flex;gap:18px;align-items:center;flex-wrap:wrap}body.admin .mix ul{list-style:none;padding:0;margin:0;flex:1;min-width:120px}body.admin .mix li{display:flex;justify-content:space-between;padding:6px 0;gap:10px}body.admin .mix i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-inline-end:8px}body.admin .mix b{font-weight:600}
body.admin .use-bar{display:grid;grid-template-columns:minmax(0,120px) 1fr 44px;gap:10px;align-items:center;padding:6px 0}body.admin .use-bar u{display:block;height:10px;background:var(--brand);border-radius:0 4px 4px 0}body.admin .use-bar b{font-weight:600;text-align:end;font-variant-numeric:tabular-nums}body.admin .use-bar a{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink);text-decoration:none}
body.admin .feed div{display:grid;grid-template-columns:1fr auto;padding:8px 0;border-top:1px solid var(--line2)}body.admin .feed div:first-child{border-top:0}body.admin .feed b{font-weight:500}body.admin .feed small{grid-column:1;color:var(--ink3);overflow-wrap:anywhere}body.admin .feed time{grid-row:1;grid-column:2;color:var(--ink3);font-size:12.5px}
body.admin .usage{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}body.admin .usage b{display:block;font-size:20px;font-weight:600;font-variant-numeric:tabular-nums}body.admin .usage span{color:var(--ink3);font-size:13px}
@media (max-width:1100px){body.admin .dash-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}body.admin .dash-row.r1,body.admin .dash-row.r2{grid-template-columns:minmax(0,1fr)}}
@media (max-width:560px){body.admin .dash-kpis,body.admin .dash-kpis.three{grid-template-columns:minmax(0,1fr)}body.admin .usage{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Compact navigation and readable records on touch devices. */
body.admin .con-toggle{display:none}
body.admin .con-main{padding-bottom:calc(24px + env(safe-area-inset-bottom))}
@media(max-width:899px){
 body.admin .con-nav{position:sticky;top:0;z-index:20;padding:10px 14px;max-height:85dvh;overflow-y:auto}
 body.admin .con-logo{margin:0;min-height:44px;padding-inline-end:80px}body.admin .con-toggle{display:block;position:absolute;inset-inline-end:14px;top:12px;border:1px solid #526987;border-radius:8px;min-height:44px;padding:0 14px;background:#1a3357;color:white;font:inherit;cursor:pointer}
 body.admin .con-nav nav,body.admin .con-me{display:none}body.admin .con-menu-open .con-nav nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:12px;overflow:visible;gap:4px}body.admin .con-menu-open .con-me{display:flex;flex-wrap:wrap;gap:12px}
 body.admin .con-nav a{min-height:44px;white-space:normal;overflow-wrap:anywhere}body.admin .con-main{padding:14px;max-width:100%;padding-bottom:calc(24px + env(safe-area-inset-bottom))}body.admin .con-main .pagehead{align-items:flex-start}
 body.admin .con-main .form{grid-template-columns:minmax(0,1fr)}body.admin .con-main .input.sm{width:100%}body.admin .con-main .actions{flex-wrap:wrap}body.admin .con-main .btn{min-height:44px}body.admin .con-main .filters-row{padding:12px;gap:12px}body.admin .con-main .filters-row label{flex:1;min-width:130px}body.admin .con-main .filters-row .input{width:100%;min-width:0;font-size:16px}body.admin .con-main .feed div{grid-template-columns:minmax(0,1fr) auto;gap:8px}
 body.admin .con-main .reason-form{justify-content:stretch}body.admin .con-main .reason-form input{flex:1;min-width:120px}body.admin .con-main .reason-form button{flex:none}
}
@media(max-width:640px){
 body.admin .con-main .t{width:100%;min-width:0;display:block}body.admin .con-main .t thead{display:none}body.admin .con-main .t tbody{display:block}body.admin .con-main .t tr{display:block;padding:12px;border-bottom:1px solid var(--line)}body.admin .con-main .t td{display:grid;grid-template-columns:minmax(80px,.8fr) minmax(0,1.2fr);gap:12px;text-align:start;white-space:normal;padding:7px 0;border:0;min-width:0;overflow-wrap:anywhere}body.admin .con-main .t td:before{content:attr(data-label);font-weight:600;color:var(--ink3);font-size:12px}body.admin .con-main .t td[colspan]{display:block}body.admin .con-main .t td[colspan]:before{display:none}body.admin .con-main .t td>*{min-width:0;max-width:100%}body.admin .con-main .t td .reason-form{display:grid;grid-template-columns:1fr}body.admin .con-main .t td .input{width:100%}body.admin .con-main .usage{gap:12px}body.admin .con-main .card{min-width:0}
}

@media(max-width:640px){body.admin .con-main .t td[data-label=""]{display:flex;justify-content:flex-end;flex-wrap:wrap}body.admin .con-main .t td[data-label=""]:before{display:none}}

body.admin .con-bottom,body.admin .con-menu-shade{display:none}
@media(max-width:899px){
 body.admin .con-nav{height:66px;min-height:66px;overflow:visible;padding:11px 16px}body.admin .con-logo{min-height:44px}body.admin .con-logo small{font-size:11px}body.admin .con-toggle{border-color:#ffffff36}
 body.admin .con-main{padding:18px 16px calc(94px + env(safe-area-inset-bottom))}body.admin .con-main .pagehead h1{font-size:24px;line-height:1.25}body.admin .con-main .pagehead p{font-size:13px;line-height:1.6}
 body.admin .con-bottom{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:fixed;inset-inline:0;bottom:0;z-index:24;background:var(--card);border-top:1px solid var(--line);box-shadow:0 -4px 24px #12213a0a;padding:4px 8px calc(4px + env(safe-area-inset-bottom))}
 body.admin .con-bottom a,body.admin .con-bottom button{background:none;border:0;color:var(--ink3);text-decoration:none;min-height:62px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;padding:6px 3px;font:inherit;font-size:10px;line-height:1.35;cursor:pointer;border-radius:10px}body.admin .con-bottom svg{width:22px;height:22px}body.admin .con-bottom .on,body.admin .con-bottom [aria-expanded=true]{color:var(--brand);background:color-mix(in srgb,var(--brand) 6%,var(--card));font-weight:600}
 body.admin .con-menu-open .con-menu-shade{display:block;position:fixed;inset:66px 0 72px;z-index:25;border:0;background:#07152466}
 body.admin .con-menu-open .con-nav nav{position:fixed;top:66px;bottom:calc(190px + env(safe-area-inset-bottom));inset-inline-end:0;width:min(360px,calc(100vw - 24px));margin:0;z-index:32;padding:8px 14px 18px;display:grid;grid-template-columns:1fr;align-content:start;overflow-y:auto;overscroll-behavior:contain;background:var(--rail);border-inline-start:1px solid #ffffff20}
 body.admin .con-menu-open .con-g{display:block;margin:14px 10px 4px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#aec2dc}
 body.admin .con-menu-open .con-me{position:fixed;bottom:calc(72px + env(safe-area-inset-bottom));inset-inline-end:0;width:min(360px,calc(100vw - 24px));height:118px;z-index:32;background:var(--rail);border-top:1px solid #ffffff20;padding:12px 20px;gap:10px;align-content:center}body.admin .con-me>span{flex-basis:100%;font-size:12px}body.admin .con-me .lang-pick button{min-height:32px}
 body.admin.admin-menu-open{overflow:hidden}
 body.admin .dash-kpis,body.admin .dash-kpis.three{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}body.admin .dash-kpi{grid-template-columns:minmax(0,1fr);gap:8px;padding:14px 12px 0}body.admin .dash-kpi b{font-size:21px;white-space:normal;overflow-wrap:anywhere}body.admin .dash-kpi span{font-size:12px}body.admin .dash-kpi .ico{width:32px;height:32px}body.admin .dash-kpi.flat{padding-bottom:14px}
}

@media(max-width:899px){body.admin .con-menu-open .con-nav{z-index:30}body.admin:has(.modal-bg){overflow:hidden}}

@media(max-width:899px){body.admin .dash-kpi:not(.flat){grid-template-columns:32px minmax(0,1fr);column-gap:8px}body.admin .dash-kpi.flat>*{grid-column:1}body.admin .dash-kpi>div:not(.ico){min-width:0}body.admin .dash-kpi p,body.admin .dash-kpi .spark,body.admin .dash-kpi .spark-gap{grid-column:1/-1}}
