/* Shared NexLink shell for dashboard.legalgridlock.com (v5, 2026-09-13).
 * Sidebar, app header and page head for every page, plus a skin that restyles the older
 * /dash.css pages with the NexLink tokens so every screen reads as one product.
 * Light by default, dark via [data-theme="dark"]. */
:root{
	--lgc-side:#ffffff; --lgc-line:#EEEEF3; --lgc-ink:#0C243C; --lgc-body:#696981; --lgc-faint:#97A1C0;
	--lgc-accent:#3A48B0; --lgc-accent-soft:rgba(58,72,176,.10); --lgc-ground:#FDFDFF; --lgc-hover:#F5F6FA;
	--lgc-good:#009966; --lgc-w:264px; --lgc-h:68px;
	--lgc-shadow:0 5px 10px rgba(2,2,76,.03);
}
:root[data-theme="dark"]{
	--lgc-side:#1E1E1E; --lgc-line:rgba(255,255,255,.07); --lgc-ink:#ffffff; --lgc-body:#a3a3b5; --lgc-faint:#7c7c90;
	--lgc-accent:#7c86e6; --lgc-accent-soft:rgba(124,134,230,.16); --lgc-ground:#282828; --lgc-hover:#2f2f2f;
	--lgc-good:#2fbf8a; --lgc-shadow:0 5px 10px rgba(0,0,0,.25);
}
body.lg-legacy, body.lg-v2{ font-family:"Instrument Sans",system-ui,sans-serif; background:var(--lgc-ground); color:var(--lgc-body); margin:0; }

/* ---- sidebar */
.lg-sidebar{ position:fixed; top:0; left:0; bottom:0; width:var(--lgc-w); background:var(--lgc-side); border-right:1px solid var(--lgc-line); z-index:1040; display:flex; flex-direction:column; font-family:"Instrument Sans",system-ui,sans-serif; }
.lg-brand{ height:var(--lgc-h); display:flex; align-items:center; padding:0 24px; border-bottom:1px solid var(--lgc-line); flex:none; }
.lg-brand a{ display:flex; align-items:center; text-decoration:none; }
.lg-logo{ height:34px; width:auto; display:block; }
.lg-logo-dark{ display:none; }
:root[data-theme="dark"] .lg-logo-light{ display:none; }
:root[data-theme="dark"] .lg-logo-dark{ display:block; }
.lg-nav{ flex:1; overflow-y:auto; padding:8px 14px 20px; }
.lg-nav .side-menubar{ list-style:none; margin:0; padding:0; }
.lg-nav .menu-heading{ padding:18px 12px 8px; }
.lg-nav .menu-heading .menu-label{ font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--lgc-faint); font-weight:600; }
.lg-nav .menu-item{ margin:0 0 2px; padding:0; }
.lg-nav .menu-link{ display:flex; align-items:center; gap:12px; padding:9px 12px; border-radius:8px; color:var(--lgc-ink); text-decoration:none; font-size:14px; font-weight:500; line-height:1.3; }
.lg-nav .menu-link i{ font-size:17px; width:20px; text-align:center; color:var(--lgc-body); line-height:1; display:inline-flex; justify-content:center; }
.lg-nav .menu-link .menu-label{ flex:1; }
.lg-nav .menu-link:hover{ background:var(--lgc-hover); }
.lg-nav .menu-link.active{ background:var(--lgc-accent-soft); color:var(--lgc-accent); font-weight:600; }
.lg-nav .menu-link.active i{ color:var(--lgc-accent); }
.lg-count{ font-size:11px; font-weight:600; background:var(--lgc-accent); color:#fff; border-radius:999px; padding:1px 8px; min-width:22px; text-align:center; line-height:18px; }
.lg-nav::-webkit-scrollbar{ width:0; }
.lg-scrim{ display:none; }

/* ---- main column and app header */
.lg-main{ margin-left:var(--lgc-w); min-height:100vh; display:flex; flex-direction:column; }
.lg-top{ height:var(--lgc-h); display:flex; align-items:center; gap:16px; padding:0 28px; background:var(--lgc-side); border-bottom:1px solid var(--lgc-line); position:sticky; top:0; z-index:1030; font-family:"Instrument Sans",system-ui,sans-serif; }
.lg-search{ position:relative; width:min(360px,100%); margin:0; display:flex; align-items:center; }
.lg-search i{ position:absolute; left:14px; font-size:14px; color:var(--lgc-faint); line-height:1; pointer-events:none; }
.lg-top .lg-search input{ width:100%; height:40px; padding:0 14px 0 40px; border:1px solid var(--lgc-line); border-radius:8px; background:var(--lgc-ground); color:var(--lgc-ink); font:500 14px "Instrument Sans",system-ui,sans-serif; box-shadow:none; }
.lg-top .lg-search input:focus{ outline:0; border-color:var(--lgc-accent); box-shadow:0 0 0 3px var(--lgc-accent-soft); }
.lg-top-end{ margin-left:auto; display:flex; align-items:center; gap:10px; }
.lg-top .lg-icon-btn{ position:relative; width:40px; height:40px; border-radius:50%; border:0; background:var(--lgc-hover); color:var(--lgc-ink); display:inline-grid; place-items:center; text-decoration:none; padding:0; font-size:17px; line-height:1; cursor:pointer; filter:none; }
.lg-top .lg-icon-btn:hover{ background:var(--lgc-accent-soft); color:var(--lgc-accent); }
.lg-top .lg-icon-btn i{ line-height:1; display:inline-flex; }
.lg-dot{ position:absolute; top:8px; right:9px; width:9px; height:9px; border-radius:50%; background:var(--lgc-accent); border:2px solid var(--lgc-side); }
.lg-vr{ width:1px; height:28px; background:var(--lgc-line); margin:0 4px; }
.lg-top .lg-theme{ display:inline-flex; align-items:center; gap:8px; border:0; background:transparent; padding:6px; color:var(--lgc-body); cursor:pointer; font-size:15px; filter:none; }
.lg-theme i{ line-height:1; display:inline-flex; }
.lg-theme-track{ width:38px; height:22px; border-radius:999px; background:var(--lgc-line); position:relative; transition:background .2s; }
.lg-theme-track span{ position:absolute; top:3px; left:3px; width:16px; height:16px; border-radius:50%; background:#fff; box-shadow:0 1px 3px rgba(0,0,0,.2); transition:left .2s; }
.lg-theme.on .lg-theme-track{ background:var(--lgc-accent); }
.lg-theme.on .lg-theme-track span{ left:19px; }
.lg-user{ position:relative; }
.lg-user summary{ list-style:none; display:flex; align-items:center; gap:10px; cursor:pointer; color:var(--lgc-ink); font-weight:600; font-size:14px; padding:4px; border-radius:999px; }
.lg-user summary::-webkit-details-marker{ display:none; }
.lg-user summary i{ font-size:14px; color:var(--lgc-faint); display:inline-flex; }
.lg-avatar{ width:38px; height:38px; border-radius:50%; background:var(--lgc-accent); color:#fff; display:grid; place-items:center; font-size:13px; font-weight:700; letter-spacing:.02em; }
.lg-user-menu{ position:absolute; right:0; top:calc(100% + 10px); width:240px; background:var(--lgc-side); border:1px solid var(--lgc-line); border-radius:10px; box-shadow:0 12px 30px rgba(2,2,76,.10); padding:6px; z-index:1050; }
.lg-user-head{ padding:10px 12px 12px; border-bottom:1px solid var(--lgc-line); margin-bottom:6px; }
.lg-user-head b{ display:block; color:var(--lgc-ink); font-size:14px; }
.lg-user-head span{ font-size:12px; color:var(--lgc-body); }
.lg-user-menu a{ display:flex; align-items:center; gap:10px; padding:9px 12px; border-radius:8px; color:var(--lgc-ink); text-decoration:none; font-size:14px; font-weight:500; }
.lg-user-menu a i{ color:var(--lgc-body); display:inline-flex; }
.lg-user-menu a:hover{ background:var(--lgc-hover); }
.lg-top .lg-burger{ display:none; }

/* ---- page head (older pages) and footer */
.lg-legacy-head{ padding:24px 28px 0; }
.lg-phead{ display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.lg-phead h4{ margin:0; font:600 20px/1.3 "Instrument Sans",system-ui,sans-serif; color:var(--lgc-ink); letter-spacing:0; }
.lg-phead p{ margin:2px 0 0; font-size:14px; color:var(--lgc-body); }
.lg-phead-acts{ display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.lg-phead-acts form{ margin:0; display:inline; }
.lg-foot{ margin-top:auto; padding:18px 28px; border-top:1px solid var(--lgc-line); font-size:13px; color:var(--lgc-faint); background:var(--lgc-side); }

body.lg-v2 main.app-wrapper{ margin:0 !important; padding:24px 28px 40px !important; min-height:auto; }

@media (max-width:991px){
	.lg-sidebar{ transform:translateX(-100%); transition:transform .2s; }
	.lg-sidebar.show{ transform:translateX(0); }
	.lg-scrim.show{ display:block; position:fixed; inset:0; background:rgba(12,36,60,.35); z-index:1035; }
	.lg-main{ margin-left:0; }
	.lg-top{ padding:0 14px; gap:10px; }
	.lg-top .lg-burger{ display:inline-grid; }
	.lg-user-name, .lg-user summary i, .lg-vr{ display:none; }
	.lg-legacy-head{ padding:16px 14px 0; }
	body.lg-v2 main.app-wrapper{ padding:16px 14px 32px !important; }
}
@media (max-width:640px){ .lg-search{ display:none; } }
@media (prefers-reduced-motion:reduce){ .lg-sidebar, .lg-theme-track, .lg-theme-track span{ transition:none; } }

/* ---- NexLink skin for the older /dash.css pages */
body.lg-legacy{
	--ground:#FDFDFF; --surface:#ffffff; --surface-2:#F8F9FB; --line:#EEEEF3; --line-soft:#F2F2F6;
	--ink:#0C243C; --muted:#696981; --faint:#97A1C0;
	--accent:#3A48B0; --accent-soft:rgba(58,72,176,.10); --accent-ink:#ffffff;
	--good:#009966; --good-soft:#E6F5EF; --warn:#C27C0E; --warn-soft:#FEF6E7; --crit:#F83636; --crit-soft:#FEEBEB;
	--shadow:0 5px 10px rgba(2,2,76,.02); --shadow-lg:0 12px 30px rgba(2,2,76,.08); --r:10px; --r-sm:6px;
}
:root[data-theme="dark"] body.lg-legacy{
	--ground:#282828; --surface:#1E1E1E; --surface-2:#252525; --line:rgba(255,255,255,.07); --line-soft:rgba(255,255,255,.05);
	--ink:#ffffff; --muted:#a3a3b5; --faint:#7c7c90;
	--accent:#7c86e6; --accent-soft:rgba(124,134,230,.16); --accent-ink:#ffffff;
	--good:#2fbf8a; --good-soft:rgba(47,191,138,.14); --warn:#e0a13a; --warn-soft:rgba(224,161,58,.14); --crit:#ff6b6b; --crit-soft:rgba(255,107,107,.14);
}
body.lg-legacy, body.lg-legacy button, body.lg-legacy input, body.lg-legacy select, body.lg-legacy textarea{ font-family:"Instrument Sans",system-ui,sans-serif; }
body.lg-legacy h1, body.lg-legacy h2, body.lg-legacy h3, body.lg-legacy .disp, body.lg-legacy .agent .t, body.lg-legacy .cr .hl, body.lg-legacy .lang .nm, body.lg-legacy .overlay .ov b{ font-family:"Instrument Sans",system-ui,sans-serif; letter-spacing:0; }
body.lg-legacy .mono, body.lg-legacy .num, body.lg-legacy td.num, body.lg-legacy .kpi .n, body.lg-legacy .card .n, body.lg-legacy .kpi .d, body.lg-legacy .ring .dial .v, body.lg-legacy .ring .of, body.lg-legacy .stg .n,
body.lg-legacy .pill, body.lg-legacy .chip, body.lg-legacy .tabs a .n, body.lg-legacy .dept, body.lg-legacy .cr .meta, body.lg-legacy .who span, body.lg-legacy .lang .st{ font-family:"Instrument Sans",system-ui,sans-serif; font-variant-numeric:tabular-nums; }
body.lg-legacy pre, body.lg-legacy code{ font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; }
body.lg-legacy .lg-main > main, body.lg-legacy .lg-main > .wrap{ padding:20px 28px 40px; gap:20px; }
body.lg-legacy h2{ font-size:16px; font-weight:600; text-transform:none; letter-spacing:0; color:var(--ink); margin:0 0 12px; }
body.lg-legacy .panel h3{ font-size:15px; font-weight:600; text-transform:none; letter-spacing:0; color:var(--ink); margin:0 0 12px; }
body.lg-legacy .panel, body.lg-legacy .card, body.lg-legacy .kpi, body.lg-legacy .cards .card, body.lg-legacy .lang, body.lg-legacy .pipe, body.lg-legacy .agent, body.lg-legacy .cr, body.lg-legacy .tablewrap, body.lg-legacy .tbl, body.lg-legacy form.filters{ border-radius:10px; padding:18px 20px; }
body.lg-legacy .tablewrap, body.lg-legacy .tbl, body.lg-legacy .cr{ padding:0; }
body.lg-legacy .kpi .l, body.lg-legacy .card .l{ font-size:13px; font-weight:500; letter-spacing:0; text-transform:none; color:var(--muted); }
body.lg-legacy .kpi .n, body.lg-legacy .card .n{ font-size:26px; font-weight:700; color:var(--ink); }
body.lg-legacy .bar{ padding:9px 0; font-size:14px; }
body.lg-legacy .bar b{ color:var(--ink); font-weight:600; }
body.lg-legacy th{ font-size:12px; font-weight:600; letter-spacing:0; text-transform:none; color:var(--ink); background:var(--surface-2); padding:12px 16px; }
body.lg-legacy td{ font-size:14px; padding:13px 16px; color:var(--muted); }
body.lg-legacy td b{ color:var(--ink); }
body.lg-legacy input, body.lg-legacy select, body.lg-legacy textarea{ border-radius:6px; font-size:14px; padding:9px 12px; font-weight:500; }
body.lg-legacy .btn, body.lg-legacy form.filters button, body.lg-legacy button{ border-radius:6px; font-size:14px; font-weight:500; padding:9px 16px; line-height:1.4; }
body.lg-legacy .btn:hover, body.lg-legacy button:hover{ filter:brightness(.94); }
body.lg-legacy .btn.ghost, body.lg-legacy button.ghost{ background:var(--surface); border-color:var(--line); color:var(--ink); }
body.lg-legacy .badge{ border-radius:6px; font-size:12px; font-weight:600; padding:3px 9px; }
body.lg-legacy .pill, body.lg-legacy .chip{ border-radius:6px; font-size:12px; font-weight:600; padding:3px 9px; }
body.lg-legacy .tabs a{ border-radius:6px; font-size:14px; }
body.lg-legacy .alert{ border-radius:10px; }
body.lg-legacy .alert .tag{ font-family:"Instrument Sans",system-ui,sans-serif; }
body.lg-legacy .msg{ border-radius:8px; }
body.lg-legacy .ring .cap, body.lg-legacy .dept{ letter-spacing:.04em; }
body.lg-legacy .lg-top button, body.lg-legacy .lg-top input{ font-family:"Instrument Sans",system-ui,sans-serif; }
body.lg-legacy .lg-top .lg-icon-btn{ padding:0; border-radius:50%; }
body.lg-legacy .lg-top .lg-theme{ padding:6px; background:transparent; border:0; }
@media (max-width:991px){ body.lg-legacy .lg-main > main, body.lg-legacy .lg-main > .wrap{ padding:16px 14px 32px; } }

/* ---- login */
body.lg-login{ margin:0; min-height:100vh; background:var(--lgc-ground); font-family:"Instrument Sans",system-ui,sans-serif; color:var(--lgc-ink); }
.lg-login-wrap{ min-height:100vh; display:grid; place-items:center; padding:24px; }
.lg-login-card{ width:100%; max-width:400px; background:var(--lgc-side); border:1px solid var(--lgc-line); border-radius:16px; padding:32px 30px; box-shadow:0 10px 30px rgba(19,25,34,.08); }
.lg-login-brand{ display:flex; align-items:center; gap:11px; margin-bottom:26px; }
.lg-login-brand .lg-logo{ height:38px; }
.lg-login-card h1{ margin:0 0 4px; font-size:22px; } .lg-login-card p{ margin:0 0 22px; color:var(--lgc-body); font-size:14px; }
.lg-login-card label{ display:block; font-size:12px; font-weight:600; color:var(--lgc-body); margin-bottom:6px; }
.lg-login-card input{ width:100%; box-sizing:border-box; padding:11px 13px; border:1px solid var(--lgc-line); border-radius:10px; font:inherit; background:var(--lgc-ground); color:var(--lgc-ink); margin-bottom:14px; }
.lg-login-card input:focus{ outline:2px solid var(--lgc-accent); outline-offset:1px; border-color:var(--lgc-accent); }
.lg-login-card button{ width:100%; padding:11px; border:0; border-radius:10px; background:var(--lgc-accent); color:#fff; font:inherit; font-weight:600; cursor:pointer; }
.lg-login-err{ margin-top:12px; padding:10px 12px; border-radius:10px; background:#fdecea; color:#b42318; font-size:13px; }

/* LG Products: the products we run, folded into one button (ui_sidebar). */
.lg-nav .lg-products details > summary{ list-style:none; cursor:pointer; margin-top:10px; }
.lg-nav .lg-products details > summary::-webkit-details-marker{ display:none; }
.lg-nav .lg-products .lg-caret{ font-size:15px; width:auto; transition:transform .15s ease; }
.lg-nav .lg-products details[open] > summary .lg-caret{ transform:rotate(180deg); }
.lg-nav .lg-products-list{ list-style:none; margin:2px 0 6px 10px; padding:0 0 0 8px; border-left:1px solid var(--lgc-line, rgba(127,127,127,.25)); }
.lg-nav .menu-subheading{ padding:10px 12px 4px; }
.lg-nav .menu-subheading .menu-label{ font-size:10.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--lgc-faint); font-weight:600; }
@media (prefers-reduced-motion: reduce){ .lg-nav .lg-products .lg-caret{ transition:none; } }
