/*
 * iLogix LicenseHub Enterprise UI R3
 * Global visual layer only.
 */

:root{
  --lh-bg:#f4f7fa;
  --lh-surface:#ffffff;
  --lh-soft:#f8fafc;
  --lh-sidebar:#10161b;
  --lh-sidebar-2:#151d24;
  --lh-sidebar-hover:#202a32;
  --lh-text:#17212b;
  --lh-muted:#6b7886;
  --lh-border:#dce4eb;
  --lh-border-strong:#cbd5df;
  --lh-accent:#f59a18;
  --lh-accent-2:#ffab2f;
  --lh-accent-soft:#fff3df;
  --lh-success:#118555;
  --lh-success-soft:#dff5e9;
  --lh-danger:#c4473a;
  --lh-danger-soft:#ffe7e3;
  --lh-warning:#b77800;
  --lh-warning-soft:#fff0ca;
  --lh-info:#2f72d6;
  --lh-info-soft:#e9f1ff;
  --lh-purple:#6e57d2;
  --lh-purple-soft:#eeeaff;
  --lh-shadow-sm:0 1px 2px rgba(15,23,42,.04),0 6px 18px rgba(15,23,42,.04);
  --lh-shadow:0 14px 36px rgba(15,23,42,.07);
  --lh-shadow-lg:0 28px 80px rgba(0,0,0,.18);
  --lh-radius:12px;
  --lh-radius-lg:16px;
  --lh-control:40px;
}

*{box-sizing:border-box}

html{background:var(--lh-bg)}

body{
  margin:0;
  background:
    radial-gradient(circle at 95% 0,rgba(245,154,24,.055),transparent 26rem),
    linear-gradient(180deg,#f8fafc 0%,#f2f6f9 100%);
  color:var(--lh-text);
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  font-size:14px;
  line-height:1.45;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

a{color:inherit}
h1,h2,h3,h4,h5,h6{
  margin-top:0;
  color:var(--lh-text);
  letter-spacing:-.022em;
}
h1{font-size:28px;line-height:1.12;font-weight:820}
h2{font-size:21px;line-height:1.2;font-weight:790}
h3{font-size:16px;line-height:1.25;font-weight:760}
p{color:var(--lh-muted)}

/* Main application shell */
aside,
.sidebar,
.app-sidebar,
[class*="sidebar"]{
  background:
    radial-gradient(circle at 115% 10%,rgba(245,154,24,.10),transparent 12rem),
    linear-gradient(180deg,var(--lh-sidebar) 0%,var(--lh-sidebar-2) 100%) !important;
  border-right:1px solid rgba(255,255,255,.045)!important;
  box-shadow:10px 0 30px rgba(15,23,42,.065);
}

aside a,
.sidebar a,
.app-sidebar a,
[class*="sidebar"] a{
  transition:background .16s ease,color .16s ease,transform .16s ease;
}

aside nav a,
.sidebar nav a,
.app-sidebar nav a,
.sidebar .nav-item,
.sidebar .menu a{
  min-height:40px;
  border-radius:9px!important;
}

aside nav a:hover,
.sidebar nav a:hover,
.app-sidebar nav a:hover,
.sidebar .nav-item:hover,
.sidebar .menu a:hover{
  background:rgba(255,255,255,.055)!important;
  color:#fff!important;
}

aside nav a.active,
.sidebar nav a.active,
.app-sidebar nav a.active,
.sidebar .nav-item.active,
.sidebar .menu a.active{
  position:relative;
  background:linear-gradient(90deg,rgba(245,154,24,.17),rgba(255,255,255,.055))!important;
  color:#fff!important;
  box-shadow:inset 3px 0 0 var(--lh-accent);
}

header,
.topbar,
.app-header,
[class*="topbar"],
[class*="app-header"]{
  background:rgba(255,255,255,.94)!important;
  border-bottom:1px solid var(--lh-border)!important;
  box-shadow:0 4px 18px rgba(15,23,42,.035);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}

/* Content areas */
main,
.main,
.content,
.main-content,
.page-content{
  min-width:0;
}

.container,
.content-inner,
.page-inner,
.main-inner{
  max-width:none!important;
}

.card,
.panel,
.box,
.widget,
section.card,
fieldset{
  background:var(--lh-surface);
  border:1px solid var(--lh-border)!important;
  border-radius:var(--lh-radius-lg)!important;
  box-shadow:var(--lh-shadow-sm);
}

.card-header,
.panel-header,
.box-header{
  background:linear-gradient(180deg,#fff 0%,#fbfcfd 100%);
  border-bottom:1px solid var(--lh-border)!important;
  border-radius:var(--lh-radius-lg) var(--lh-radius-lg) 0 0!important;
}

/* KPI cards and compact stats */
.kpi,
.metric,
.stat,
[class*="kpi"],
[class*="metric"],
[class*="stat-card"]{
  background:linear-gradient(180deg,#fff,#fbfcfd)!important;
  border:1px solid var(--lh-border)!important;
  border-radius:14px!important;
  box-shadow:var(--lh-shadow-sm)!important;
}

/* Forms */
label{
  color:#4a5866!important;
  font-size:12px!important;
  font-weight:760!important;
}

input,
select,
textarea{
  min-height:var(--lh-control);
  border:1px solid var(--lh-border-strong)!important;
  border-radius:9px!important;
  background:#fff!important;
  color:var(--lh-text)!important;
  box-shadow:0 1px 2px rgba(15,23,42,.02);
  outline:none;
  transition:border-color .15s ease,box-shadow .15s ease;
}

input:focus,
select:focus,
textarea:focus{
  border-color:var(--lh-accent)!important;
  box-shadow:0 0 0 3px rgba(245,154,24,.13)!important;
}

textarea{min-height:88px}

/* Buttons */
button,
.btn,
.button,
input[type="submit"]{
  min-height:38px;
  border-radius:9px!important;
  font-weight:760!important;
  transition:transform .14s ease,box-shadow .14s ease,background .14s ease,border-color .14s ease;
}

button:hover,
.btn:hover,
.button:hover,
input[type="submit"]:hover{
  transform:translateY(-1px);
}

button[type="submit"],
.btn-primary,
.button-primary,
.primary,
input[type="submit"]{
  background:linear-gradient(180deg,var(--lh-accent-2),var(--lh-accent))!important;
  color:#161616!important;
  border:1px solid #e88b0b!important;
  box-shadow:0 5px 14px rgba(245,154,24,.18)!important;
}

button[type="submit"]:hover,
.btn-primary:hover,
.button-primary:hover,
.primary:hover,
input[type="submit"]:hover{
  background:linear-gradient(180deg,#ffb23c,#f69b15)!important;
  box-shadow:0 7px 18px rgba(245,154,24,.23)!important;
}

/* Tables */
table{
  width:100%;
  border-collapse:separate!important;
  border-spacing:0!important;
  background:transparent;
}

th{
  padding:12px 14px!important;
  background:#fbfcfd!important;
  color:#637180!important;
  border-bottom:1px solid var(--lh-border)!important;
  font-size:11px!important;
  font-weight:820!important;
  letter-spacing:.055em!important;
  text-transform:uppercase!important;
}

td{
  padding:13px 14px!important;
  border-bottom:1px solid #e8edf2!important;
  vertical-align:middle!important;
}

tbody tr{
  transition:background .15s ease;
}

tbody tr:hover{
  background:#fbfcfe!important;
}

tbody tr:last-child td{
  border-bottom:0!important;
}

/* Search / toolbar rows */
.toolbar,
.actions,
.filters,
.filter-row,
.search-row{
  gap:9px!important;
}

/* Status pills */
.badge,
.pill,
.status,
[class*="badge"],
[class*="status-pill"]{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:23px!important;
  padding:4px 9px!important;
  border-radius:999px!important;
  font-size:10.5px!important;
  font-weight:850!important;
  line-height:1!important;
}

.badge.active,
.status.active,
.badge.success,
.status.success,
[class*="active"].badge{
  background:var(--lh-success-soft)!important;
  color:var(--lh-success)!important;
}

.badge.revoked,
.status.revoked,
.badge.danger,
.status.danger{
  background:var(--lh-danger-soft)!important;
  color:var(--lh-danger)!important;
}

.badge.suspended,
.status.suspended,
.badge.warning,
.status.warning{
  background:var(--lh-warning-soft)!important;
  color:var(--lh-warning)!important;
}

.badge.expired,
.status.expired{
  background:#ffe8e4!important;
  color:#bd4b40!important;
}

/* API / developer surfaces */
pre,
.code-block,
[class*="code-block"]{
  overflow:auto;
  padding:18px!important;
  background:#0f151a!important;
  color:#f5ca78!important;
  border:1px solid #1f2b34!important;
  border-radius:12px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
  font-family:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace!important;
  font-size:12px!important;
  line-height:1.55!important;
}

/* Info / notice blocks */
.notice,
.alert,
.callout,
.info-box{
  border-radius:10px!important;
}

.notice.info,
.alert-info,
.callout.info,
.info-box{
  background:var(--lh-info-soft)!important;
  color:#285b9f!important;
  border:1px solid #cfe0fb!important;
}

/* Pagination */
.pagination a,
.pagination button,
.page-link{
  min-width:34px!important;
  min-height:34px!important;
  border-radius:8px!important;
  border:1px solid var(--lh-border)!important;
  background:#fff!important;
}

.pagination .active,
.page-link.active{
  background:var(--lh-accent)!important;
  color:#151515!important;
  border-color:var(--lh-accent)!important;
}

/* Help / Manual */
.help-hero,
.manual-hero,
[class*="help-hero"]{
  background:
    radial-gradient(circle at 80% 15%,rgba(245,154,24,.30),transparent 20rem),
    linear-gradient(135deg,#10171c,#1b242b)!important;
  color:#fff!important;
  border-radius:16px!important;
  overflow:hidden;
}

.help-hero h1,
.help-hero h2,
.manual-hero h1,
.manual-hero h2{
  color:#fff!important;
}

/* Login page */
body:has(form[action*="login"]),
body.login,
body.auth{
  min-height:100vh;
  background:
    radial-gradient(circle at 18% 18%,rgba(245,154,24,.16),transparent 22rem),
    radial-gradient(circle at 85% 90%,rgba(74,96,116,.22),transparent 28rem),
    linear-gradient(135deg,#0e1418,#151d23 60%,#10161b)!important;
}

body:has(form[action*="login"]) form,
.login-card,
.auth-card,
.login-box,
.auth-box{
  border-radius:16px!important;
  box-shadow:var(--lh-shadow-lg)!important;
}

/* Focus */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
  outline:3px solid rgba(245,154,24,.34)!important;
  outline-offset:2px!important;
}

/* Horizontal table safety */
.table-wrap,
.table-responsive{
  overflow:auto!important;
  -webkit-overflow-scrolling:touch;
  border-radius:12px;
}

/* Mobile */
@media (max-width:900px){
  h1{font-size:25px}
  th,td{padding-left:10px!important;padding-right:10px!important}
  .toolbar,.actions,.filters,.filter-row,.search-row{flex-wrap:wrap!important}
}

@media (max-width:640px){
  body{font-size:13.5px}
  h1{font-size:23px}
  .card,.panel,.box,fieldset{border-radius:12px!important;box-shadow:none!important}
  button,.btn,.button{min-height:40px}
}
