/* =========================================================================
   BIA — "Akte" design system
   Petrol accent, marker-yellow highlights, navy ink sidebar, hairline cards.
   Type: Bricolage Grotesque (display / figures) + Geist (text / tables).
   ========================================================================= */
:root{
  --brand:#0B7A75;                                           /* petrol */
  --brand-2:#14A098;
  --brand-soft:color-mix(in srgb,var(--brand) 11%,transparent);
  --marker:#F2C94C;                                          /* highlighter */
  --marker-soft:color-mix(in srgb,var(--marker) 22%,transparent);
  --navy:#0E1A2F;
  --navy-2:#172742;
  --ink:#101828;
  --muted:#5E6B7E;
  --line:#DDE2E9;
  --line-soft:#E9EDF2;
  --bg:#EDF0F3;
  --card:#FFFFFF;
  --risk:#C8372D;
  --ok:#1E7F55;
  --radius:16px;
  --radius-sm:10px;
  --font-display:"Bricolage Grotesque",system-ui,sans-serif;
  --font-text:"Geist",system-ui,-apple-system,"Segoe UI",sans-serif;

  /* Bootstrap overrides */
  --bs-body-font-family:var(--font-text);
  --bs-body-color:var(--ink);
  --bs-body-bg:var(--bg);
  --bs-border-color:var(--line);
  --bs-border-radius:var(--radius-sm);
  --bs-border-radius-lg:12px;
  --bs-link-color:var(--brand);
  --bs-link-color-rgb:11,122,117;
  --bs-link-hover-color:#075C58;
  --bs-secondary-color:var(--muted);
  --bs-emphasis-color:var(--ink);
  --bs-focus-ring-color:color-mix(in srgb,var(--brand) 28%,transparent);
}
*{box-sizing:border-box}
html{-webkit-font-smoothing:antialiased;}
body{background:var(--bg);color:var(--ink);font-family:var(--font-text);font-size:15px;font-feature-settings:"tnum" 1,"cv11" 1;}
h1,h2,h3,h4,.h1,.h2,.h3,.h4,.h5{font-family:var(--font-display);font-weight:650;letter-spacing:-.015em;color:var(--ink);}
.h3,h1.h3{font-size:1.75rem;}
.h4{font-size:1.4rem;}
.h5{font-size:1.1rem;}
.text-muted{color:var(--muted)!important;}
::selection{background:var(--marker-soft);}

/* ---------- shell ---------- */
.app-shell{display:flex;min-height:100vh;}
.sidebar{
  width:252px;flex:0 0 252px;background:var(--navy);color:#C5CEDC;
  display:flex;flex-direction:column;position:fixed;top:0;bottom:0;left:0;z-index:40;
}
.brand{display:flex;align-items:center;gap:12px;padding:22px 22px 18px;}
.brand-dot{width:32px;height:32px;border-radius:9px;background:var(--brand);display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:16px;position:relative;}
.brand-dot::after{content:"";position:absolute;right:-3px;bottom:-3px;width:10px;height:10px;border-radius:3px;background:var(--marker);border:2px solid var(--navy);}
.brand-name{white-space:nowrap;font-family:var(--font-display);font-weight:750;font-size:20px;color:#fff;letter-spacing:-.02em;}
.sidebar .nav{padding:10px 12px;gap:2px;}
.sidebar .nav-link{
  display:flex;align-items:center;gap:12px;color:#AEB9CB;border-radius:10px;position:relative;
  padding:10px 12px;font-weight:500;font-size:14.5px;transition:background .12s,color .12s;
}
.sidebar .nav-link i{font-size:17px;width:20px;text-align:center;opacity:.85;}
.sidebar .nav-link:hover{background:var(--navy-2);color:#fff;text-decoration:none;}
.sidebar .nav-link.active{background:var(--navy-2);color:#fff;font-weight:600;}
.sidebar .nav-link.active::before{content:"";position:absolute;left:-12px;top:9px;bottom:9px;width:4px;border-radius:0 4px 4px 0;background:var(--marker);}
.sidebar .nav-link.active i{color:var(--marker);opacity:1;}
.sidebar .nav-admin{margin-top:18px;padding:6px 0 4px;border-top:1px solid rgba(255,255,255,.08);}
.sidebar .nav-admin-title{display:flex;align-items:center;gap:8px;padding:12px 12px 6px;font-size:12px;font-weight:600;color:#7F8CA3;letter-spacing:.01em;}
.sidebar .nav-admin-title i{font-size:13px;color:var(--marker);opacity:.8;}
.sidebar .nav-admin .nav-link{font-size:.94em;color:#9AA6BA;}
.sidebar .nav-admin .nav-link i{opacity:.7;}
.sidebar .nav-admin .nav-link.active,.sidebar .nav-admin .nav-link:hover{color:#fff;}
.sidebar .nav-admin .nav-link.active i{opacity:1;}
.sidebar-foot{margin-top:auto;padding:14px 12px;border-top:1px solid rgba(255,255,255,.07);}
.sidebar-user{padding:6px 10px 10px;gap:10px;min-width:0;}
.sidebar-user .user-meta{min-width:0;}
.sidebar-user .user-name{color:#fff;}
.sidebar-user .user-mail{color:#8E9AAF;}
.sidebar-user .user-name,.sidebar-user .user-mail{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:178px;}
.sidebar-credits{margin:2px 10px 8px;font-size:12.5px;font-weight:600;color:var(--marker);background:rgba(242,201,76,.12);border-radius:8px;padding:5px 10px;display:inline-flex;align-items:center;}
.sidebar-foot .nav-link{display:flex;align-items:center;gap:12px;color:#AEB9CB;border-radius:10px;padding:10px 12px;}
.sidebar-foot .nav-link:hover{background:rgba(200,55,45,.18);color:#FFB4AC;text-decoration:none;}

.main{flex:1;margin-left:252px;min-width:0;display:flex;flex-direction:column;}
.topbar{
  height:60px;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);display:flex;align-items:center;
  gap:16px;padding:0 max(32px, calc((100% - 1300px) / 2 + 32px));position:sticky;top:0;z-index:30;
}
.page-title{font-family:var(--font-text);font-size:14px;font-weight:500;color:var(--muted);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:0;}
.topbar-right{margin-left:auto;display:flex;align-items:center;gap:18px;}
.user-chip{display:flex;align-items:center;gap:10px;}
.avatar{width:36px;height:36px;border-radius:10px;background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;flex:0 0 36px;font-family:var(--font-display);}
.user-meta{line-height:1.2;}
.user-name{font-weight:600;font-size:13.5px;}
.user-mail{font-size:12px;color:var(--muted);}
.content{padding:30px 32px 48px;max-width:1300px;width:100%;margin-inline:auto;}

/* ---------- cards, tables, lists ---------- */
.card{border:1px solid var(--line);border-radius:var(--radius);box-shadow:none;background:var(--card);}
.card-header{background:transparent!important;border-bottom:1px solid var(--line-soft);font-weight:600;padding:14px 18px;border-radius:var(--radius) var(--radius) 0 0!important;}
.card-header.fw-semibold,.card-header>.fw-semibold,.card-header>span>.fw-semibold{font-family:var(--font-display);font-size:1.02rem;letter-spacing:-.01em;}
.card-body{padding:18px;}
.card-footer{background:transparent!important;border-top:1px solid var(--line-soft);}
.table{--bs-table-bg:transparent;--bs-table-hover-bg:#F5F7FA;--bs-table-border-color:var(--line-soft);margin-bottom:0;}
.table-light{--bs-table-bg:#F7F8FA;--bs-table-color:var(--muted);}
.table thead th{font-size:12.5px;font-weight:500;color:var(--muted);border-bottom:1px solid var(--line);letter-spacing:0;text-transform:none;}
.table td{vertical-align:middle;}
.table>:not(caption)>*>*{padding:.72rem .9rem;}
.table tbody tr:last-child>*{border-bottom:0;}
.list-group{--bs-list-group-bg:#fff;--bs-list-group-border-color:var(--line-soft);--bs-list-group-action-hover-bg:#F5F7FA;--bs-list-group-action-active-bg:#EEF2F5;}
.list-group-item{padding:.8rem 1.1rem;}
.card>.list-group-flush>.list-group-item:last-child{border-bottom-left-radius:var(--radius);border-bottom-right-radius:var(--radius);}

/* ---------- buttons, badges, forms ---------- */
.btn{border-radius:var(--radius-sm);font-weight:550;padding:.5rem .95rem;}
.btn-sm{border-radius:8px;padding:.3rem .7rem;font-size:.84rem;}
.btn-lg{border-radius:12px;}
.btn-brand{background:var(--brand);border-color:var(--brand);color:#fff;}
.btn-brand:hover,.btn-brand:focus{background:#086661;border-color:#086661;color:#fff;}
.btn-brand:disabled{opacity:.55;}
.btn-outline-brand{border-color:color-mix(in srgb,var(--brand) 45%,transparent);color:var(--brand);background:#fff;}
.btn-outline-brand:hover{background:var(--brand);border-color:var(--brand);color:#fff;}
.btn-outline-secondary{--bs-btn-color:var(--ink);--bs-btn-border-color:var(--line);--bs-btn-bg:#fff;
  --bs-btn-hover-bg:#F3F5F8;--bs-btn-hover-border-color:#C9D0DA;--bs-btn-hover-color:var(--ink);
  --bs-btn-active-bg:#E9EDF2;--bs-btn-active-border-color:#C9D0DA;--bs-btn-active-color:var(--ink);}
.btn-outline-danger{--bs-btn-color:var(--risk);--bs-btn-border-color:#EBC3BF;--bs-btn-hover-bg:var(--risk);--bs-btn-hover-border-color:var(--risk);}
.btn-light{background:#fff;border-color:var(--line);}
.bg-brand{background:var(--brand)!important;}
.text-brand{color:var(--brand)!important;}
a{color:var(--brand);text-decoration:none;}
a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;}

.badge{font-weight:600;border-radius:6px;letter-spacing:0;padding:.3em .55em;font-size:.74em;}
.badge.bg-secondary{background:#E3E8EF!important;color:#3D4A5D!important;}
.badge.bg-success{background:#DCF1E7!important;color:#155C3E!important;}
.badge.bg-danger{background:#FBE1DE!important;color:#9F2A21!important;}
.badge.bg-warning{background:#FCEDC2!important;color:#6F5100!important;}
.badge.bg-info{background:#DDEFF6!important;color:#1F5870!important;}
.badge.bg-brand{background:var(--brand)!important;color:#fff!important;}
.badge.bg-light{background:#F3F5F8!important;}
.bg-success-subtle{background:#DCF1E7!important;}
.text-success{color:var(--ok)!important;}
.text-danger{color:var(--risk)!important;}

.form-control,.form-select{border-color:var(--line);border-radius:var(--radius-sm);background-color:#fff;}
.form-control:focus,.form-select:focus{border-color:var(--brand);box-shadow:0 0 0 .2rem var(--brand-soft);}
.form-check-input:checked{background-color:var(--brand);border-color:var(--brand);}
.form-check-input:focus{box-shadow:0 0 0 .2rem var(--brand-soft);border-color:var(--brand);}
.form-label{font-weight:550;color:var(--ink);}
.btn-check:checked+.btn-outline-secondary{background:var(--ink);border-color:var(--ink);color:#fff;}
.input-group-text{border-color:var(--line);background:#fff;}
:focus-visible{outline:2px solid var(--brand);outline-offset:2px;}

.alert{border-radius:12px;border:1px solid transparent;border-left-width:4px;}
.alert-success{background:#EAF6F0;border-color:#BFE3D0;border-left-color:var(--ok);color:#124B33;}
.alert-danger{background:#FCEDEB;border-color:#F1C8C3;border-left-color:var(--risk);color:#7D221B;}
.alert-warning{background:#FDF5DD;border-color:#F1E0A7;border-left-color:#D6A91E;color:#5E4500;}
.alert-info{background:#E7F3F7;border-color:#C3E0EA;border-left-color:#2A7F9E;color:#1A4A5C;}

/* tabs: quiet underline bar */
.nav-tabs{border-bottom:1px solid var(--line);gap:4px 22px;}
.nav-tabs .nav-link{border:0;border-bottom:2px solid transparent;border-radius:0;color:var(--muted);padding:.65rem 0;margin-bottom:-1px;background:none;font-weight:500;}
.nav-tabs .nav-link:hover{color:var(--ink);border-bottom-color:var(--line);}
.nav-tabs .nav-link.active{color:var(--ink);background:none;border-bottom-color:var(--brand);font-weight:600;}
.nav-tabs .badge{font-size:.7em;margin-left:2px;}
.nav-pills{gap:6px;}
.nav-pills .nav-link{color:var(--muted);border-radius:999px;padding:.45rem 1rem;font-weight:550;border:1px solid var(--line);background:#fff;}
.nav-pills .nav-link:hover{color:var(--ink);}
.nav-pills .nav-link.active,.nav-pills .nav-link.active.bg-brand{background:var(--ink)!important;border-color:var(--ink);color:#fff;}
.dropdown-menu{border-color:var(--line);border-radius:12px;box-shadow:0 16px 40px rgba(14,26,47,.14);}

.page-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;flex-wrap:wrap;}
.section-sub{color:var(--muted);font-size:14.5px;}

/* key/value blocks (company & person master data) */
.kv-label{color:var(--muted);font-size:.82rem;font-weight:500;}
.kv-value{font-weight:600;}

/* ---------- home search ---------- */
.search-hero{padding:48px 0 8px;}
.search-hero h1{font-size:clamp(2.2rem,4.4vw,3.5rem);font-weight:720;letter-spacing:-.035em;line-height:1.02;margin-bottom:14px;}
.search-hero h1 .mark{background:linear-gradient(transparent 62%,var(--marker) 62%,var(--marker) 92%,transparent 92%);padding:0 .08em;}
.search-hero p{font-size:1.05rem;max-width:56ch;}
.search-input-wrap{border:1.5px solid #C6CEDA;border-radius:16px;background:#fff;transition:border-color .15s,box-shadow .15s;}
.search-input-wrap:focus-within{border-color:var(--brand);box-shadow:0 0 0 5px var(--brand-soft);}
.search-input-wrap .input-group-text,.search-input-wrap .form-control{border:0;background:transparent;box-shadow:none!important;}
.search-input-wrap .form-control{font-size:1.15rem;padding:1.05rem .4rem;}
.search-input-wrap .input-group-text{padding-left:1.2rem;font-size:1.15rem;}
.recent-head{font-family:var(--font-display);font-weight:600;font-size:1.05rem;margin:0 0 10px;}

/* live search dropdown */
.search-box{position:relative;z-index:20;} /* above page content, below the sticky topbar (30) */
.search-results{position:absolute;z-index:1050;width:100%;margin-top:8px;max-height:min(75vh,720px);overflow:auto;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 24px 60px rgba(14,26,47,.16)!important;}
.search-results .list-group-item{cursor:pointer;background-color:#fff;border-left:0;border-right:0;}
.search-results .list-group-item:first-child{border-top:0;}
.search-results .list-group-item:hover{background:linear-gradient(var(--brand-soft),var(--brand-soft)),#fff;}
.search-results .search-section{cursor:default;background:#F7F8FA;font-size:.8rem;font-weight:600;color:var(--muted);padding:.45rem 1.1rem;}
.search-results .search-section:hover{background:#F7F8FA;}

/* analysis module cards */
.module-card{cursor:pointer;transition:border-color .15s,box-shadow .15s;}
.module-card:hover{border-color:#C6CEDA;}
.module-card--checked{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand) inset;}
.module-icon{width:38px;height:38px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;font-size:1.1rem;}

/* ---------- dossier header (company + person) ---------- */
.dossier-name{font-size:clamp(1.8rem,3vw,2.5rem);font-weight:720;letter-spacing:-.03em;line-height:1.08;margin:6px 0 10px;}
.file-tab{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;font-weight:600;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:8px;padding:3px 9px;}
.file-tab i{color:var(--muted);}
.back-link{font-size:.9rem;color:var(--muted);}
.back-link:hover{color:var(--ink);}
.meta-note{font-size:.85rem;color:var(--muted);}

/* ---------- company page ---------- */
.company-tabs .nav-link{white-space:nowrap;}

/* KPI tiles */
.kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;}
.kpi-grid-4{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));}
.kpi{border:1px solid var(--line-soft);border-radius:12px;padding:12px 14px;background:#FAFBFC;}
.kpi-label{color:var(--muted);font-size:.82rem;font-weight:500;}
.kpi-value{font-family:var(--font-display);font-size:1.5rem;font-weight:650;letter-spacing:-.02em;line-height:1.25;white-space:nowrap;}
.kpi-delta{font-size:.8rem;font-weight:600;}
.kpi-delta.up{color:var(--ok);}
.kpi-delta.down{color:var(--risk);}

/* charts + financial tables */
.chart-box{position:relative;height:300px;}
.fin-table td,.fin-table th{font-size:.86rem;}
.fin-table>:not(caption)>*>*{padding:.42rem .7rem;}

/* management gantt */
.gantt-wrap{overflow-x:auto;}
.gantt{min-width:640px;}
.gantt-axis{position:relative;height:20px;margin-left:190px;border-bottom:1px solid var(--line);margin-bottom:6px;}
.gantt-axis span{position:absolute;transform:translateX(-50%);font-size:11px;color:var(--muted);}
.gantt-row{display:flex;align-items:center;height:22px;}
.gantt-name{flex:0 0 190px;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:10px;}
.gantt-row.is-former .gantt-name{color:var(--muted);}
.gantt-track{position:relative;flex:1;height:100%;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(8.333% - 1px),#EEF1F4 calc(8.333% - 1px),#EEF1F4 8.333%);}
.gantt-bar{position:absolute;top:5px;height:12px;border-radius:6px;background:#9AA7BA;opacity:.5;}
.gantt-bar.current{opacity:1;}
.gantt-bar.role-director,.legend-dot.role-director{background:var(--brand);}
.gantt-bar.role-prokura,.legend-dot.role-prokura{background:#D9A520;}
.legend-dot{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:4px;vertical-align:middle;background:#9AA7BA;}

/* timeline */
.timeline{position:relative;padding-left:4px;}
.tl-item{display:flex;gap:16px;position:relative;padding-bottom:14px;}
.tl-item::before{content:"";position:absolute;left:95px;top:8px;bottom:-8px;width:2px;background:var(--line-soft);}
.tl-item:last-child::before{display:none;}
.tl-date{flex:0 0 80px;font-size:.8rem;color:var(--muted);font-weight:600;padding-top:1px;text-align:right;}
.tl-body{flex:1;position:relative;padding-left:18px;font-size:.93rem;}
.tl-body::before{content:"";position:absolute;left:-9px;top:5px;width:10px;height:10px;border-radius:50%;background:#fff;border:2px solid var(--brand);}
.tl-ev+.tl-ev{margin-top:3px;}
.tl-body details summary{cursor:pointer;list-style:none;}

/* ---------- person page ---------- */
.person-avatar{width:68px;height:68px;border-radius:18px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:24px;letter-spacing:-.02em;flex:0 0 68px;position:relative;}
.person-avatar::after{content:"";position:absolute;right:-4px;bottom:-4px;width:14px;height:14px;border-radius:4px;background:var(--marker);border:3px solid var(--bg);}
.insolv-facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;}
.insolv-fact{border:1px solid var(--line-soft);border-radius:12px;padding:10px 12px;background:#FAFBFC;}
.role-history{display:flex;flex-direction:column;}
.role-item{display:flex;align-items:center;gap:14px;padding:10px 0;border-bottom:1px solid var(--line-soft);}
.role-item:last-child{border-bottom:0;}
.role-dot{width:10px;height:10px;border-radius:50%;background:var(--brand);opacity:.4;flex:0 0 10px;}
.role-dot.holding,.legend-dot.holding{background:#D9A520;}
.role-item.is-current .role-dot{opacity:1;box-shadow:0 0 0 4px var(--brand-soft);}
.role-item.is-current .role-dot.holding{box-shadow:0 0 0 4px var(--marker-soft);}
.role-years{font-size:.86rem;color:var(--muted);font-weight:600;}
.role-item.is-current .role-years{color:var(--ink);}

/* ---------- risk & compliance ---------- */
.risk-summary{border:1px solid var(--line);border-radius:14px;padding:20px 22px;background:#FAFBFC;}
.risk-light{display:inline-flex;gap:6px;background:var(--navy);padding:7px 9px;border-radius:999px;margin-bottom:14px;}
.risk-light i{width:14px;height:14px;border-radius:50%;background:#2A3A57;}
.risk-red .risk-light i:nth-child(1){background:#E5534B;box-shadow:0 0 10px #E5534B;}
.risk-yellow .risk-light i:nth-child(2){background:var(--marker);box-shadow:0 0 10px var(--marker);}
.risk-green .risk-light i:nth-child(3){background:#3CC48A;box-shadow:0 0 10px #3CC48A;}
.risk-score{font-family:var(--font-display);font-size:3.2rem;font-weight:720;letter-spacing:-.04em;line-height:1;}
.risk-score span{font-size:1.1rem;color:var(--muted);font-weight:600;margin-left:2px;}
.risk-label{font-family:var(--font-display);font-size:1.3rem;font-weight:650;margin:6px 0 4px;}
.risk-red .risk-label{color:var(--risk);}
.risk-yellow .risk-label{color:#9A7200;}
.risk-green .risk-label{color:var(--ok);}
.risk-summary{border-top-width:4px;}
.risk-summary.risk-red{border-top-color:var(--risk);}
.risk-summary.risk-yellow{border-top-color:var(--marker);}
.risk-summary.risk-green{border-top-color:var(--ok);}
.risk-high{color:var(--risk);}
.risk-medium{color:#D9A520;}
.risk-info{color:#8A97AA;}
.risk-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#9AA7BA;vertical-align:middle;}
.risk-dot-red{background:var(--risk);}
.risk-dot-yellow{background:var(--marker);}
.risk-dot-green{background:var(--ok);}
.credit-pill{font-size:.72rem;font-weight:600;border-radius:5px;padding:1px 6px;background:#E3E8EF;color:#3D4A5D;}
.credit-good .credit-pill{background:#DCF1E7;color:#155C3E;}
.credit-ok .credit-pill{background:#FCEDC2;color:#6F5100;}
.credit-bad .credit-pill{background:#FBE1DE;color:#9F2A21;}
.credit-bad{border-color:#F1C8C3;}
.network-graph{height:clamp(480px, 75vh, 780px);width:100%;}

/* ---------- page loader ---------- */
.page-loader{position:fixed;inset:0 0 auto 0;z-index:2000;pointer-events:none;opacity:0;transition:opacity .15s;}
.page-loader.show{opacity:1;}
.page-loader-bar{height:3px;background:linear-gradient(90deg,transparent,var(--brand),var(--marker),transparent);background-size:50% 100%;background-repeat:no-repeat;animation:pl-slide 1.1s ease-in-out infinite;}
@keyframes pl-slide{from{background-position:-50% 0}to{background-position:150% 0}}
.page-loader-msg{position:fixed;left:50%;top:76px;transform:translateX(-50%);background:var(--navy);color:#fff;border-radius:999px;padding:9px 18px;font-size:14px;font-weight:550;box-shadow:0 14px 34px rgba(14,26,47,.25);display:flex;align-items:center;}
.page-loader-msg .spinner-border{color:var(--marker);}

/* ---------- auth ---------- */
.auth-body{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--navy);background-image:radial-gradient(circle at 20% 15%,rgba(11,122,117,.35),transparent 45%),radial-gradient(circle at 85% 90%,rgba(242,201,76,.12),transparent 40%);}
.auth-card{background:#fff;width:100%;max-width:420px;padding:38px 36px;border-radius:20px;box-shadow:0 30px 80px rgba(0,0,0,.35);margin:20px;}
.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:26px;font-family:var(--font-display);font-weight:750;font-size:20px;}
.auth-brand .brand-dot::after{border-color:#fff;}
.auth-title{font-size:26px;font-weight:700;margin:0 0 6px;letter-spacing:-.025em;}
.auth-sub{color:var(--muted);font-size:14.5px;margin-bottom:24px;}
.auth-foot{text-align:center;color:var(--muted);font-size:13px;margin-top:20px;}

/* ---------- responsive / a11y ---------- */
@media (max-width:992px){
  .sidebar{transform:translateX(-100%);transition:.2s;box-shadow:0 10px 40px rgba(14,26,47,.3);}
  .sidebar.open{transform:none;}
  .main{margin-left:0;}
  .topbar{padding:0 16px;}
  .content{padding:22px 16px 40px;}
  .search-hero{padding-top:20px;}
}
@media (prefers-reduced-motion:reduce){
  *{transition:none!important;animation:none!important;}
}

/* ---------- admin ---------- */
.brand-tag{display:inline-block;margin-left:4px;padding:2px 7px;border-radius:6px;background:var(--marker);color:var(--navy);font-family:var(--font-text, inherit);font-size:11px;font-weight:700;letter-spacing:0;vertical-align:middle}
.auth-brand .brand-tag{font-size:11px}
.stat-card{display:flex;flex-direction:column;gap:4px;height:100%;color:inherit}
a.stat-card:hover{text-decoration:none;border-color:var(--brand)}
.stat-card .stat-value{font-family:var(--font-display);font-size:30px;font-weight:750;letter-spacing:-.02em;line-height:1.1}
.stat-card .stat-label{color:var(--muted);font-size:13.5px}
.auth-forgot{text-align:right;margin-top:8px;font-size:13.5px;}
