@import url("/css/brand.css");
:root{
  --blue:var(--asap-primary,#096dcc);
  --blue2:#0b7fe8;
  --purple:var(--asap-secondary,#6d35ff);
  --bg:var(--asap-bg,#f4f7fb);
  --dark:var(--asap-dark,#07162a);
  --line:var(--asap-line,#e4e9f2);
  --text:var(--asap-text,#101828);
  --muted:#667085;
  --success:#067647;
  --warning:#b54708;
  --danger:#b42318;
  --card:#ffffff;
  --shadow:0 14px 35px rgba(16,24,40,.08);
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;font-family:Segoe UI,Arial,sans-serif;background:linear-gradient(180deg,#f7faff 0,#f2f5fa 100%);color:var(--text)}
a{color:var(--blue)}
.app-shell{min-height:100vh}.sidebar{position:fixed;left:0;top:0;bottom:0;width:286px;background:linear-gradient(180deg,#061426 0,#090d2f 56%,#160132 100%);color:#fff;padding:18px 16px;display:flex;flex-direction:column;box-shadow:12px 0 30px rgba(3,10,27,.18);z-index:20;transition:width .22s ease,transform .22s ease}.brand-zone{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;min-width:0}.brand img{width:82px;max-height:50px;object-fit:contain}.brand-text strong{display:block;font-size:23px;letter-spacing:.2px;color:#36a3ff;line-height:1}.brand-text span{display:block;font-size:17px;font-weight:800;color:#835cff;margin-top:4px}.sidebar-toggle,.mobile-menu{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:#fff;border-radius:12px;width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.nav-scroll{overflow:auto;padding-right:2px}.nav-group{margin:10px 0 14px}.nav-group-title{width:100%;border:0;background:transparent;color:#98a8c4;text-transform:uppercase;font-size:11px;letter-spacing:.9px;font-weight:800;display:flex;align-items:center;justify-content:space-between;padding:8px 10px;cursor:pointer}.nav-group-title b{font-size:14px;transition:transform .18s}.nav-group.collapsed .nav-group-title b{transform:rotate(-90deg)}.nav-group-items{display:block}.nav-group.collapsed .nav-group-items{display:none}.sidebar a:not(.brand):not(.logout-link){display:flex;align-items:center;gap:10px;color:#dceaff;text-decoration:none;padding:11px 12px;border-radius:13px;margin:5px 0;font-weight:600;white-space:nowrap}.sidebar a i{width:24px;height:24px;border-radius:8px;background:rgba(255,255,255,.08);display:inline-flex;align-items:center;justify-content:center;font-style:normal;color:#7cd4ff}.sidebar a:hover,.sidebar a.active{background:linear-gradient(90deg,rgba(17,128,231,.28),rgba(125,75,255,.22));color:#fff}.sidebar a.active{box-shadow:inset 3px 0 0 #29c5ff}.sidebar-footer{margin-top:auto;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.09);border-radius:16px;padding:14px}.sidebar-footer small{display:block;color:#98a8c4}.sidebar-footer strong{display:block;color:#fff;margin:3px 0 10px;overflow:hidden;text-overflow:ellipsis}.logout-link{display:inline-flex;text-decoration:none;color:#fff;background:rgba(255,255,255,.1);border-radius:10px;padding:9px 12px;font-weight:700}.main{margin-left:286px;padding:26px 28px 40px;transition:margin-left .22s ease}.topbar{background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:22px;padding:22px 26px;margin-bottom:22px;box-shadow:var(--shadow);display:flex;align-items:center;justify-content:space-between;gap:18px}.top-title{display:flex;align-items:center;gap:14px}.topbar h1{margin:0;font-size:34px;letter-spacing:-.6px}.topbar p{margin:7px 0 0;color:var(--muted);font-size:17px}.mobile-menu{display:none;color:#0b2350;border-color:var(--line);background:#eef4ff}.top-actions{display:flex;gap:10px;flex-wrap:wrap}.quick-action,.button-link{display:inline-flex;align-items:center;justify-content:center;background:#eef4ff;color:#096dcc;text-decoration:none;border-radius:12px;padding:10px 15px;font-weight:800;border:1px solid #d8e7ff}.quick-action.primary,.button-link.primary{background:linear-gradient(90deg,var(--blue),var(--purple));color:#fff;border:0}.cards{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:18px;margin-bottom:22px}.card,.panel{background:var(--card);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}.card{padding:20px;display:flex;align-items:center;gap:15px;min-height:116px}.card-icon{width:48px;height:48px;border-radius:16px;background:linear-gradient(135deg,#ecf7ff,#f1eaff);color:var(--blue);display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:900}.card b{font-size:33px;color:var(--blue);display:block;line-height:1}.card span{color:var(--muted);font-weight:650}.card small{display:block;color:#98a2b3;margin-top:4px}.panel{padding:22px;margin-bottom:20px}.panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}.panel h2{margin:0;font-size:22px}.panel .panel-subtitle{margin:5px 0 0;color:var(--muted)}.split-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:20px}.quick-grid{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:12px}.action-tile{border:1px solid var(--line);border-radius:18px;padding:16px;background:#fbfdff;text-decoration:none;color:var(--text);display:block}.action-tile b{display:block;margin-bottom:5px}.action-tile span{color:var(--muted);font-size:13px}.action-tile:hover{border-color:#a8d3ff;background:#f4f9ff}.status-list{display:grid;gap:10px}.status-item{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:#f8fbff;border:1px solid var(--line);border-radius:14px}.grid-form{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:12px}.inline{display:flex;gap:8px;align-items:center}.wrap{flex-wrap:wrap}.form-section{background:#fbfdff;border:1px solid var(--line);border-radius:18px;padding:16px}.form-section-title{font-weight:800;margin-bottom:10px;color:#344054}input,select,textarea{border:1px solid #d0d5dd;border-radius:12px;padding:10px 12px;min-width:0;background:#fff;font:inherit}input:focus,select:focus,textarea:focus{outline:2px solid rgba(9,109,204,.14);border-color:#7db9f1}button{background:linear-gradient(90deg,var(--blue),var(--purple));color:#fff;border:0;border-radius:12px;padding:10px 16px;font-weight:800;cursor:pointer}.btn-light{background:#eef4ff;color:#096dcc;border:1px solid #d8e7ff}.alert{background:#fff0ef;color:var(--danger);padding:12px 14px;border-radius:14px;margin-bottom:12px;border:1px solid #ffd6d2}.success{background:#ecfdf3;color:var(--success);padding:12px 14px;border-radius:14px;margin-bottom:12px;border:1px solid #abefc6}code{font-family:Consolas,monospace;background:#eef4ff;padding:2px 6px;border-radius:7px}.grid-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}.grid-search{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.grid-search input{width:290px}.grid-count{color:var(--muted);font-size:13px;font-weight:700}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px}table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px;background:#fff}th,td{padding:12px 13px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{position:sticky;top:0;background:#f8fbff;color:#344054;font-size:12px;text-transform:uppercase;letter-spacing:.4px;z-index:1}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fbfdff}.badge{display:inline-block;background:#eef4ff;color:#095cad;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:800}.badge.active,.badge.Active,.badge.LicenseIssued{background:#ecfdf3;color:#067647}.badge.pending,.badge.PendingDealerApproval,.badge.PendingAdminAssignment,.badge.VerificationRequired{background:#fff6e9;color:#b54708}.badge.Rejected,.badge.Inactive{background:#fff0ef;color:#b42318}.detail-grid{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:12px}.detail-grid>div{background:#f8fbff;border:1px solid var(--line);border-radius:14px;padding:14px}.detail-grid small{display:block;color:#667085;margin-bottom:5px}.detail-grid b{display:block;color:#101828}.login-bg{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at top left,#0b80dc,#0a1020 45%,#190046)}.login-card{width:410px;background:rgba(255,255,255,.96);border-radius:24px;padding:34px;box-shadow:0 30px 80px rgba(0,0,0,.35)}.login-card img{width:275px;display:block;margin:0 auto 15px}.login-card h1{text-align:center;margin:0;color:#096dcc}.login-card p{text-align:center;color:#4a5568}.login-card label{display:block;margin-top:12px;font-weight:700}.login-card input{width:100%;margin-top:6px}.login-card button{width:100%;margin-top:18px}.login-card small{display:block;text-align:center;margin-top:14px;color:#667085}.sidebar-collapsed .sidebar{width:88px}.sidebar-collapsed .brand-text,.sidebar-collapsed .nav-group-title span,.sidebar-collapsed .sidebar a span,.sidebar-collapsed .sidebar-footer strong,.sidebar-collapsed .sidebar-footer small,.sidebar-collapsed .logout-link{display:none}.sidebar-collapsed .brand img{width:44px}.sidebar-collapsed .sidebar a:not(.brand):not(.logout-link){justify-content:center}.sidebar-collapsed .sidebar a i{width:30px;height:30px}.sidebar-collapsed .main{margin-left:88px}.sidebar-collapsed .nav-group-title{justify-content:center}.sidebar-collapsed .nav-group-title b{display:none}.sidebar-collapsed .sidebar-footer{padding:10px;text-align:center}.sidebar-collapsed .sidebar-footer:after{content:'⎋';display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border-radius:10px;background:rgba(255,255,255,.1)}
@media(max-width:1200px){.cards{grid-template-columns:repeat(3,1fr)}.split-grid{grid-template-columns:1fr}.grid-form{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.sidebar{transform:translateX(-100%);width:286px}.sidebar-collapsed .sidebar{transform:translateX(0);width:286px}.sidebar-collapsed .brand-text,.sidebar-collapsed .nav-group-title span,.sidebar-collapsed .sidebar a span,.sidebar-collapsed .sidebar-footer strong,.sidebar-collapsed .sidebar-footer small,.sidebar-collapsed .logout-link{display:block}.sidebar-collapsed .sidebar a:not(.brand):not(.logout-link){justify-content:flex-start}.main,.sidebar-collapsed .main{margin-left:0;padding:18px}.mobile-menu{display:inline-flex}.topbar{align-items:flex-start}.top-actions{display:none}.cards,.grid-form,.detail-grid,.quick-grid{grid-template-columns:1fr}.grid-search input{width:100%}.table-wrap{border-radius:12px}table{font-size:12px}.card{min-height:92px}.topbar h1{font-size:28px}}

/* v2 partner/demo licensing refinements */
.brand-logo-only{flex:1;justify-content:flex-start}.brand-logo-only img{width:142px;max-height:52px;object-fit:contain;object-position:left center}
.nav-scroll{scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior:contain}.nav-scroll::-webkit-scrollbar{width:0;height:0;display:none}
.cards.cards-small{grid-template-columns:repeat(2,minmax(220px,1fr));max-width:780px}
.mini-stack{display:grid;gap:6px;min-width:150px}.mini-stack input,.mini-stack select,.mini-stack button{width:100%;padding:8px 9px;font-size:12px}
.mini-action{margin-top:7px}.action-row{margin-top:10px}.btn-danger{background:#b42318}.btn-success{background:#067647}.compact-panel{max-width:650px}.stack-form{display:grid;gap:12px}.stack-form label{font-weight:700;display:grid;gap:6px}.narrow-form{max-width:420px}
.wide-table{overflow-x:auto}.wide-table table{min-width:1120px}.policy-form{min-width:190px}.policy-form label{font-size:11px;color:#475467;display:grid;gap:3px}.policy-form .check-line{display:flex;align-items:center;gap:6px}.policy-form .check-line input{width:auto}
.badge.Admin{background:#eee8ff;color:#5925dc}.badge.Restricted,.badge.OwnershipConflict{background:#fff0ef;color:#b42318}.badge.Valid,.badge.Paid,.badge.PaidIssued{background:#ecfdf3;color:#067647}.badge.Expired{background:#f2f4f7;color:#475467}.badge.Demo,.badge.DemoIssued{background:#fff6e9;color:#b54708}
@media(max-height:760px) and (min-width:901px){.sidebar{padding-top:10px;padding-bottom:10px}.brand-zone{margin-bottom:7px}.nav-group{margin:4px 0 7px}.nav-group-title{padding:5px 10px}.sidebar a:not(.brand):not(.logout-link){padding:8px 11px;margin:2px 0}.sidebar-footer{padding:9px}.brand-logo-only img{max-height:40px}}

/* v2.1 hardening and compact navigation */
.cards{grid-template-columns:repeat(auto-fit,minmax(175px,1fr))}
.brand-zone{min-height:54px}.brand-logo-only img{width:150px;max-height:48px}
.nav-scroll{min-height:0;flex:1;overflow-y:auto;overflow-x:hidden}
.sidebar-footer{flex:0 0 auto}
@media(max-height:760px) and (min-width:901px){.brand-logo-only img{width:124px;max-height:36px}}
.badge.Transferred{background:#eef2ff;color:#3538cd}.badge.Revoked,.badge.Suspended{background:#fff0ef;color:#b42318}

/* Partner list/detail workflow */
.page-action-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 18px}.detail-page-panel{max-width:1080px}.detail-form{display:grid;gap:16px}.form-grid{display:grid;gap:14px}.form-grid.two-column{grid-template-columns:repeat(2,minmax(220px,1fr))}.form-grid.three-column{grid-template-columns:repeat(3,minmax(190px,1fr))}.form-grid label,.compact-form label{display:grid;gap:7px;font-weight:750;color:#344054}.form-grid .span-two{grid-column:span 2}.form-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px}.form-hint{margin:0;color:var(--muted);font-size:13px;line-height:1.45}.list-grid{min-width:980px}.row-title{color:var(--text);font-weight:800;text-decoration:none}.row-title:hover{color:var(--blue)}.row-meta{display:flex;align-items:center;gap:7px;margin-top:5px}.number-cell{text-align:right!important;white-space:nowrap}.number-cell small{display:block;color:var(--muted);font-weight:400;margin-top:4px}.credit-balance{font-size:18px;color:var(--blue)}.action-column{width:190px;text-align:right!important}.row-actions{display:flex;justify-content:flex-end;align-items:center;gap:6px;white-space:nowrap}.icon-action{position:relative;width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #d8e7ff;border-radius:10px;background:#f3f7ff;color:#096dcc;text-decoration:none;font-size:17px;font-weight:900;padding:0;box-shadow:none}.icon-action:hover{background:#096dcc;color:#fff;border-color:#096dcc;transform:translateY(-1px)}.icon-action[data-tooltip]:before{content:attr(data-tooltip);position:absolute;right:50%;bottom:calc(100% + 8px);transform:translateX(50%) translateY(4px);background:#101828;color:#fff;padding:6px 9px;border-radius:7px;font-size:11px;font-weight:700;white-space:nowrap;opacity:0;pointer-events:none;transition:.15s;z-index:70}.icon-action[data-tooltip]:after{content:'';position:absolute;right:50%;bottom:calc(100% + 3px);transform:translateX(50%);border:5px solid transparent;border-top-color:#101828;opacity:0;pointer-events:none;transition:.15s;z-index:70}.icon-action[data-tooltip]:hover:before,.icon-action[data-tooltip]:focus:before,.icon-action[data-tooltip]:hover:after,.icon-action[data-tooltip]:focus:after{opacity:1;transform:translateX(50%) translateY(0)}.block{display:block;margin-top:4px;color:var(--muted)}

.modal-backdrop{position:fixed;inset:0;background:rgba(7,22,42,.56);display:none;align-items:center;justify-content:center;padding:18px;z-index:1000;backdrop-filter:blur(3px)}.modal-backdrop.open{display:flex}.modal-card{width:min(520px,100%);max-height:calc(100vh - 36px);overflow:auto;background:#fff;border:1px solid #dfe6f0;border-radius:20px;box-shadow:0 28px 80px rgba(7,22,42,.28)}.modal-card.modal-small{width:min(440px,100%)}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 22px 14px;border-bottom:1px solid var(--line)}.modal-header h3{margin:0;font-size:21px}.modal-header p{margin:5px 0 0;color:var(--muted)}.modal-close{width:34px;height:34px;padding:0;border-radius:10px;background:#eef4ff;color:#344054;font-size:23px;line-height:1}.modal-body{padding:20px 22px}.compact-form{display:grid;gap:13px}.compact-form input,.compact-form textarea{width:100%}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}.modal-actions button{min-width:110px}.modal-open{overflow:hidden}

.partner-summary-cards{grid-template-columns:repeat(4,minmax(180px,1fr))!important;max-width:none!important}.detail-grid-six{grid-template-columns:repeat(3,minmax(190px,1fr))}.inline-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:16px}.inline-actions form{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.compact-actions input{min-width:240px}.credit-current-balance{display:grid;justify-items:end}.credit-current-balance small{color:var(--muted)}.credit-current-balance strong{font-size:28px;color:var(--blue)}.ledger-grid{min-width:1120px}.transaction-type{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:800}.transaction-type.credit{background:#ecfdf3;color:#067647}.transaction-type.debit{background:#fff0ef;color:#b42318}.credit-in{color:#067647;font-weight:850}.credit-out{color:#b42318;font-weight:850}

@media(max-width:1100px){.form-grid.three-column,.detail-grid-six,.partner-summary-cards{grid-template-columns:repeat(2,minmax(180px,1fr))!important}}
@media(max-width:700px){.form-grid.two-column,.form-grid.three-column,.detail-grid-six,.partner-summary-cards{grid-template-columns:1fr!important}.form-grid .span-two{grid-column:auto}.page-action-bar .button-link,.page-action-bar button{flex:1}.modal-card{border-radius:16px}.action-column{width:auto}.row-actions{justify-content:flex-start}.form-actions{flex-direction:column-reverse}.form-actions .button-link,.form-actions button{width:100%}.credit-current-balance{justify-items:start}.panel-header{align-items:flex-start;flex-direction:column}}

/* v2.3 product list/detail and legacy partner login repair */
.text-danger{color:#b42318!important}.page-action-bar-right{justify-content:flex-end}.product-list-grid{min-width:1120px}.product-summary-cards{grid-template-columns:repeat(4,minmax(180px,1fr))!important;max-width:none!important}.product-detail-form{display:grid;gap:0}.product-policy-grid{display:grid;grid-template-columns:repeat(3,minmax(260px,1fr));gap:18px}.product-policy-grid .panel{margin-bottom:20px}.record-meta{margin-top:14px;padding-top:12px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}.sticky-form-actions{position:sticky;bottom:12px;z-index:12;background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:16px;padding:12px 14px;box-shadow:0 14px 36px rgba(16,24,40,.14);backdrop-filter:blur(8px)}
@media(max-width:1200px){.product-policy-grid{grid-template-columns:1fr}.product-summary-cards{grid-template-columns:repeat(2,minmax(180px,1fr))!important}}
@media(max-width:700px){.product-summary-cards{grid-template-columns:1fr!important}.page-action-bar-right{justify-content:stretch}.page-action-bar-right .button-link{width:100%}.sticky-form-actions{bottom:6px}}

/* v2.4.1 product policy card layout fix */
.product-policy-grid{
  grid-template-columns:repeat(auto-fit,minmax(340px,1fr));
  align-items:start;
}
.product-policy-grid>.panel{
  min-width:0;
  overflow:hidden;
}
.product-policy-grid .form-grid.two-column{
  grid-template-columns:repeat(2,minmax(0,1fr));
  width:100%;
}
.product-policy-grid .form-grid label{
  min-width:0;
  max-width:100%;
  overflow-wrap:anywhere;
}
.product-policy-grid .form-grid input,
.product-policy-grid .form-grid select,
.product-policy-grid .form-grid textarea{
  width:100%;
  max-width:100%;
  min-width:0;
}
.product-policy-grid .form-grid label small{
  display:block;
  color:var(--muted);
  font-size:12px;
  font-weight:500;
  line-height:1.4;
  overflow-wrap:anywhere;
}
@media(max-width:1280px){
  .product-policy-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
  .product-policy-grid .form-grid.two-column{grid-template-columns:1fr}
}
@media(max-width:700px){
  .product-policy-grid{grid-template-columns:1fr}
}

/* v2.4.2 stacked product policy sections */
.product-policy-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:18px;
  align-items:start;
}
.product-policy-grid>.panel{
  width:100%;
  min-width:0;
  overflow:visible;
  margin-bottom:0;
}
.product-policy-grid .form-grid.two-column{
  width:100%;
  min-width:0;
}
.product-policy-grid>.panel:nth-child(1) .form-grid.two-column{
  grid-template-columns:repeat(3,minmax(200px,1fr));
}
.product-policy-grid>.panel:nth-child(2) .form-grid.two-column{
  grid-template-columns:repeat(4,minmax(180px,1fr));
}
.product-policy-grid>.panel:nth-child(3) .form-grid.two-column{
  grid-template-columns:repeat(2,minmax(220px,1fr));
  max-width:780px;
}
.product-policy-grid .form-grid label{
  min-width:0;
  max-width:100%;
}
.product-policy-grid .form-grid input,
.product-policy-grid .form-grid select,
.product-policy-grid .form-grid textarea{
  width:100%;
  max-width:100%;
  min-width:0;
}
.product-policy-grid .form-grid label small{
  display:block;
  margin-top:2px;
  color:var(--muted);
  font-size:12px;
  font-weight:500;
  line-height:1.45;
  overflow-wrap:anywhere;
}
@media(max-width:1200px){
  .product-policy-grid>.panel:nth-child(1) .form-grid.two-column,
  .product-policy-grid>.panel:nth-child(2) .form-grid.two-column,
  .product-policy-grid>.panel:nth-child(3) .form-grid.two-column{
    grid-template-columns:repeat(2,minmax(220px,1fr));
    max-width:none;
  }
}
@media(max-width:700px){
  .product-policy-grid>.panel:nth-child(1) .form-grid.two-column,
  .product-policy-grid>.panel:nth-child(2) .form-grid.two-column,
  .product-policy-grid>.panel:nth-child(3) .form-grid.two-column{
    grid-template-columns:1fr;
  }
}

/* v2.5 full Tally Serial, register filters, demo register and lookup */
.filter-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:12px;align-items:end;margin:16px 0 18px;padding:15px;background:#f8fbff;border:1px solid var(--line);border-radius:15px}
.filter-panel label,.grid-form-compact label{display:grid;gap:6px;min-width:0;font-weight:750;color:#344054}
.filter-panel label span,.grid-form-compact label span{font-size:12px;color:#667085}
.filter-panel input,.filter-panel select,.grid-form-compact input,.grid-form-compact select{width:100%;min-width:0}
.filter-grow{grid-column:span 2}.filter-actions{display:flex;align-items:center;gap:8px;justify-content:flex-end;min-height:42px}.filter-actions .button-link,.filter-actions button{white-space:nowrap}
.grid-form-compact{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:end}.form-action{display:flex;align-items:flex-end;min-height:67px}.form-action button{width:100%}
.empty-state,.empty-cell{padding:22px;text-align:center;color:var(--muted);background:#f8fbff;border:1px dashed #cbd5e1;border-radius:14px}.empty-cell{border:0;background:transparent}.large-empty{padding:48px 20px}
.actions-col{width:130px;text-align:right!important}.success-action{background:#ecfdf3!important;color:#067647!important;border-color:#abefc6!important}.success-action:hover{background:#067647!important;color:#fff!important}
.action-menu{position:relative;display:inline-block}.action-menu summary{list-style:none;cursor:pointer}.action-menu summary::-webkit-details-marker{display:none}.popover-form{position:absolute;right:0;top:calc(100% + 8px);z-index:90;min-width:210px;padding:14px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 45px rgba(16,24,40,.18);display:grid;gap:10px}.popover-form label,.popover-stack label{display:grid;gap:5px;font-size:12px;font-weight:750}.popover-form input,.popover-form select,.popover-form textarea{width:100%}.wide-popover{min-width:320px}.popover-stack{display:grid;gap:10px}
.tab-strip{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 16px}.tab-strip a{display:inline-flex;align-items:center;padding:9px 13px;border-radius:999px;background:#eef4ff;color:#344054;text-decoration:none;font-weight:750;font-size:13px}.tab-strip a.active,.tab-strip a:hover{background:linear-gradient(90deg,var(--blue),var(--purple));color:#fff}
.card-link{color:inherit;text-decoration:none;transition:transform .15s,box-shadow .15s}.card-link:hover{transform:translateY(-2px);box-shadow:0 16px 38px rgba(20,33,61,.12)}
.lookup-form{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.lookup-form label{display:grid;gap:6px;flex:1;min-width:260px;font-weight:750}.lookup-form input{width:100%}.serial-search-panel{border-top:4px solid var(--blue)}.serial-number{font-size:26px;font-weight:900;color:var(--blue);letter-spacing:.4px}.detail-grid-wide{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.compact-table{min-width:760px}.compact-table th,.compact-table td{padding:9px 10px}.table-link{font-weight:750;text-decoration:none;color:var(--blue)}
.badge.Demo{background:#fff6ed;color:#b54708}.badge.Paid{background:#ecfdf3;color:#067647}.badge.Expired{background:#f2f4f7;color:#344054}.badge.Converted{background:#eef4ff;color:#3538cd}
@media(max-width:900px){.filter-grow{grid-column:auto}.filter-actions{justify-content:stretch}.filter-actions>*{flex:1}.lookup-form>*{width:100%}.wide-popover{min-width:260px}}
.action-menu>.popover-stack{position:absolute;right:0;top:calc(100% + 8px);z-index:90;min-width:310px;padding:14px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 45px rgba(16,24,40,.18)}
.action-menu>.popover-stack .compact-form{position:static;min-width:0;padding:0;background:transparent;border:0;box-shadow:none}
.separated-form{padding-top:12px!important;border-top:1px solid var(--line)!important}

/* v2.7.1 action tooltip: render above the icon outside scrollable grids */
.icon-action[data-tooltip]::before,
.icon-action[data-tooltip]::after{
  display:none!important;
}
.action-hover-tooltip{
  position:fixed;
  left:0;
  top:0;
  z-index:10000;
  max-width:min(280px,calc(100vw - 24px));
  padding:7px 10px;
  border-radius:8px;
  background:#101828;
  color:#fff;
  font-size:12px;
  font-weight:700;
  line-height:1.25;
  text-align:center;
  white-space:nowrap;
  box-shadow:0 8px 24px rgba(16,24,40,.24);
  pointer-events:none;
  opacity:0;
  visibility:hidden;
  transform:translate(-50%,-100%);
  transition:opacity .12s ease,visibility .12s ease;
}
.action-hover-tooltip::after{
  content:'';
  position:absolute;
  left:50%;
  top:100%;
  transform:translateX(-50%);
  border:6px solid transparent;
  border-top-color:#101828;
}
.action-hover-tooltip.visible{
  opacity:1;
  visibility:visible;
}
.action-hover-tooltip.wrap-text{
  white-space:normal;
}

/* v2.9 license revoke, reinstate and admin-approved credit reversal */
.badge.Revoked,.badge.Reversed,.badge.Rejected{background:#fff0ef;color:#b42318}
.badge.Pending{background:#fff6e9;color:#b54708}
.badge.Approved{background:#ecfdf3;color:#067647}
.badge.Withdrawn{background:#f2f4f7;color:#475467}
.danger-button{background:#b42318!important;color:#fff!important}
.danger-button:hover{background:#912018!important}
.danger-action{background:#fff0ef!important;color:#b42318!important;border-color:#ffd6d2!important}
.warning-panel{border-top:4px solid #f79009}
.form-top-gap{margin-top:14px}
.license-action-menu>.popover-stack{min-width:360px}
.license-action-menu summary{list-style:none}
.license-action-menu summary::-webkit-details-marker{display:none}
.reversal-grid{min-width:1200px}
@media(max-width:700px){.license-action-menu>.popover-stack{min-width:280px;right:auto;left:0}}

/* v2.10 compact license actions */
.compact-license-actions{gap:12px}
.compact-license-actions .compact-form{gap:9px}
.compact-license-actions textarea{min-height:58px;resize:vertical}
.compact-license-actions .separated-form{padding-top:12px;border-top:1px solid var(--line)}
.compact-license-actions .compact-check{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:#7a271a}
.compact-license-actions .compact-check input{width:auto;min-width:0;margin:0}
.compact-license-actions .danger-button{width:100%}

/* v2.11 scroll-free navigation and corrected hamburger control */
.brand-zone{
  justify-content:flex-start;
}
.menu-toggle{
  width:42px;
  height:42px;
  min-width:42px;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid #d7e1ee;
  border-radius:11px;
  background:#f4f8fc;
  color:#122b49;
  box-shadow:0 4px 12px rgba(16,24,40,.05);
  cursor:pointer;
}
.menu-toggle:hover{
  background:#eaf2fb;
  border-color:#bfd0e3;
}
.menu-toggle:focus-visible{
  outline:3px solid rgba(9,109,204,.2);
  outline-offset:2px;
}
.hamburger-lines{
  width:19px;
  height:14px;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  justify-content:space-between;
}
.hamburger-lines>span{
  display:block;
  width:19px;
  height:2px;
  min-height:2px;
  margin:0;
  padding:0;
  border:0;
  border-radius:2px;
  background:currentColor;
}
.nav-scroll{
  min-height:0;
  flex:1;
  overflow:hidden;
  padding-right:0;
  scrollbar-width:none;
  -ms-overflow-style:none;
}
.nav-scroll::-webkit-scrollbar{
  width:0;
  height:0;
  display:none;
}
.nav-group{
  margin:5px 0 8px;
}
.nav-group-title{
  padding:7px 10px;
}
.nav-group-items{
  animation:menuGroupOpen .16s ease-out;
}
@keyframes menuGroupOpen{
  from{opacity:0;transform:translateY(-3px)}
  to{opacity:1;transform:translateY(0)}
}
.sidebar a:not(.brand):not(.logout-link){
  padding:9px 11px;
  margin:3px 0;
}
.sidebar-collapsed .brand-logo-only{
  justify-content:center;
}
.sidebar-collapsed .brand-logo-only img{
  width:48px;
  object-position:center;
}
.sidebar-collapsed .nav-group{
  margin:2px 0;
}
.sidebar-collapsed .nav-group-title{
  display:none;
}
.sidebar-collapsed .nav-group-items,
.sidebar-collapsed .nav-group.collapsed .nav-group-items{
  display:block;
  animation:none;
}
.sidebar-collapsed .nav-scroll{
  overflow:hidden;
}
.sidebar-collapsed .sidebar a:not(.brand):not(.logout-link){
  padding:6px;
  margin:2px 0;
}

@media(max-height:700px) and (min-width:901px){
  .sidebar{padding-top:8px;padding-bottom:8px}
  .brand-zone{min-height:42px;margin-bottom:4px}
  .brand-logo-only img{max-height:36px}
  .nav-group{margin:2px 0 4px}
  .nav-group-title{padding:4px 10px}
  .sidebar a:not(.brand):not(.logout-link){padding:6px 10px;margin:1px 0}
  .sidebar-footer{padding:8px}
}

@media(max-width:900px){
  .menu-toggle{display:inline-flex}
  .sidebar-collapsed .sidebar{transform:translateX(-100%);width:286px}
  .mobile-menu-open .sidebar{transform:translateX(0)}
  .sidebar-collapsed .brand-logo-only{justify-content:flex-start}
  .sidebar-collapsed .brand-logo-only img{width:150px;object-position:left center}
  .sidebar-collapsed .nav-group-title{display:flex}
  .sidebar-collapsed .nav-group.collapsed .nav-group-items{display:none}
  .sidebar-collapsed .sidebar-footer:after{display:none}
}

/* ========================================================================== */
/* v2.12 - IIS-style compact enterprise shell                                 */
/* Reference: supplied iis.zip production UI                                 */
/* ========================================================================== */
:root{
  --lh-nav:#0f4c5c;
  --lh-nav2:#12656d;
  --lh-nav3:#15777d;
  --lh-teal:#159b98;
  --lh-teal2:#117a79;
  --lh-bg:#f1f6f7;
  --lh-card:#fff;
  --lh-ink:#17363b;
  --lh-muted:#687d80;
  --lh-line:#d9e6e8;
  --lh-shadow:0 6px 22px rgba(15,76,92,.07);
}
html,body{min-height:100%;height:auto;font-family:Inter,"Segoe UI",Arial,sans-serif;background:var(--lh-bg);color:var(--lh-ink);font-size:14px}
body{background:var(--lh-bg)}
.app-shell{min-height:100vh;background:var(--lh-bg)}
.topbar{height:60px;position:sticky;top:0;z-index:100;background:#fff;border:0;border-bottom:1px solid var(--lh-line);border-radius:0;box-shadow:none;margin:0;padding:0 18px;display:flex;align-items:center;gap:14px}
.topbar-brand{width:220px;display:flex;align-items:center;gap:10px;flex:0 0 auto}
.topbar .brand{display:flex;align-items:center;min-width:0}
.topbar .brand img{width:92px;max-width:92px;max-height:38px;object-fit:contain;object-position:left center}
.menu-toggle{width:36px;height:36px;min-width:36px;padding:0;border:1px solid #cfd9e3;border-radius:6px;background:#fff;color:#315c62;box-shadow:none}
.menu-toggle:hover{background:#f5f8fb;border-color:#b9c8d6}
.hamburger-lines{width:17px;height:12px}.hamburger-lines>span{width:17px;height:2px;background:currentColor}
.top-context{min-width:0;flex:1;display:flex;flex-direction:column;justify-content:center}
.top-context strong{font-size:14px;line-height:1.2;color:var(--lh-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.top-context span{margin-top:2px;font-size:10px;color:var(--lh-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.top-actions{display:flex;align-items:center;gap:7px;flex-wrap:nowrap}
.quick-action,.button-link{border:1px solid #cfd9e3;background:#fff;color:var(--lh-ink);border-radius:6px;padding:7px 10px;font-size:11px;font-weight:700;text-decoration:none;box-shadow:none}
.quick-action:hover,.button-link:hover{background:#f5f8fb;color:var(--lh-ink)}
.quick-action.primary,.button-link.primary{background:var(--lh-teal);border-color:var(--lh-teal);color:#fff}
.quick-action.primary:hover,.button-link.primary:hover{background:var(--lh-teal2);border-color:var(--lh-teal2);color:#fff}
.user-chip{margin-left:4px;padding-left:12px;border-left:1px solid var(--lh-line);display:flex;align-items:center;gap:8px;min-width:0}
.user-avatar{width:30px;height:30px;border-radius:7px;background:#def2f1;color:#126b6b;display:grid;place-items:center;font-size:11px;font-weight:800;flex:0 0 auto}
.user-copy{display:grid;min-width:0}.user-copy b{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.user-copy small{font-size:9px;color:var(--lh-muted)}
.top-logout{width:30px;height:30px;border:1px solid #d8e0e8;border-radius:6px;display:grid;place-items:center;color:#5b6d7e;text-decoration:none;font-weight:800}.top-logout:hover{background:#f5f8fb;color:#b42318}
.app-layout{display:grid;grid-template-columns:238px minmax(0,1fr);min-height:calc(100vh - 60px)}
.sidebar{position:sticky;left:auto;top:60px;bottom:auto;width:auto;height:calc(100vh - 60px);min-height:calc(100vh - 60px);padding:11px 9px;background:var(--lh-nav);box-shadow:none;color:#dceff0;display:flex;flex-direction:column;overflow:auto;z-index:60;transition:none}
.sidebar-product{display:flex;align-items:center;gap:9px;padding:4px 8px 11px;margin-bottom:3px;border-bottom:1px solid rgba(255,255,255,.08)}
.product-mark{width:34px;height:34px;border-radius:8px;background:linear-gradient(135deg,var(--lh-teal),#0d6f73);display:grid;place-items:center;color:#fff;font-size:10px;font-weight:900;letter-spacing:.03em;flex:0 0 auto}
.sidebar-product div{display:grid;min-width:0}.sidebar-product b{font-size:13px;color:#fff}.sidebar-product small{font-size:9px;color:#91b7ba;margin-top:1px}
.nav-scroll{min-height:0;flex:1;overflow:auto;padding-right:0;scrollbar-width:none}.nav-scroll::-webkit-scrollbar{display:none}
.nav-group{margin:5px 0 8px}.nav-group-title{padding:7px 10px;color:#7fa7aa;font-size:10px;letter-spacing:.12em}.nav-group-title b{color:#7fa7aa}
.nav-group-items{animation:none}.sidebar a:not(.brand):not(.logout-link){color:#dceff0;display:flex;align-items:center;gap:10px;border-radius:6px;padding:8px 10px;margin:1px 0;font-size:12px;font-weight:500;text-decoration:none}
.sidebar a i{width:22px;height:22px;border-radius:5px;background:rgba(255,255,255,.06);color:#a7d0d1;display:inline-flex;align-items:center;justify-content:center;font-style:normal;font-size:11px}
.sidebar a:hover,.sidebar a.active{background:var(--lh-nav2);color:#fff;box-shadow:none}.sidebar a.active{box-shadow:inset 2px 0 0 #46d3cb}.sidebar a.active i{background:rgba(21,155,152,.18);color:#8fe0dc}
.sidebar-footer{margin-top:auto;padding:11px 9px 4px;background:transparent;border:0;border-top:1px solid rgba(255,255,255,.09);border-radius:0;color:#a9c7c8}.sidebar-footer small{font-size:9px}.side-status{display:flex;gap:7px;align-items:center;font-size:9px;margin-bottom:5px}.status-dot{width:7px;height:7px;border-radius:50%;display:inline-block}.green-dot{background:#4ade80}
.workspace{min-width:0;background:var(--lh-bg)}
.crumb{height:42px;background:#f9fbfc;border-bottom:1px solid var(--lh-line);display:flex;align-items:center;gap:6px;padding:0 18px;color:var(--lh-muted);font-size:10px}.crumb strong{color:#46596b}.crumb .right{margin-left:auto}
.page{padding:16px 18px 28px;min-width:0}
/* Compact existing LicenseHub components */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:9px;margin-bottom:12px}
.cards-small{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}
.card,.panel{background:var(--lh-card);border:1px solid var(--lh-line);border-radius:8px;box-shadow:var(--lh-shadow)}
.card{padding:12px;gap:10px;min-height:82px}.card-icon{width:38px;height:38px;min-width:38px;border-radius:7px;background:#edf9f9;color:var(--lh-teal2);font-size:16px}.card b{font-size:21px;color:var(--lh-ink);line-height:1.1}.card span{font-size:10px;color:var(--lh-muted);text-transform:uppercase;letter-spacing:.03em}.card small{font-size:9px;color:#8a98a8}
.card-link{transition:background .12s,border-color .12s,transform .12s}.card-link:hover{transform:translateY(-1px);box-shadow:var(--lh-shadow);background:#fbfdff;border-color:#c8d7e4}
.panel{padding:0;margin-bottom:12px}.panel-header{min-height:44px;padding:9px 12px;border-bottom:1px solid var(--lh-line);margin:0;display:flex;align-items:center;justify-content:space-between}.panel h2{font-size:13px}.panel .panel-subtitle{margin:3px 0 0;font-size:10px}.panel>:not(.panel-header):not(.table-wrap):not(.grid-toolbar):not(.tab-strip):not(.filter-panel):not(.page-action-bar){margin-left:12px;margin-right:12px}.panel>.table-wrap{margin:0}.panel>.grid-toolbar{margin:0}
.split-grid{grid-template-columns:minmax(0,2.1fr) minmax(290px,.9fr);gap:12px}.quick-grid{grid-template-columns:repeat(2,minmax(150px,1fr));gap:8px;padding:12px;margin:0!important}.action-tile{border-radius:6px;padding:10px;background:#fbfcfd}.action-tile b{font-size:11px}.action-tile span{font-size:9px;margin-top:3px}
.table-wrap{overflow:auto}.table-wrap table,table{border-collapse:collapse}table th{background:#f7f9fb;padding:8px 9px;border-bottom:1px solid var(--lh-line);font-size:9px;text-transform:uppercase;letter-spacing:.04em;color:#58687a;white-space:nowrap}table td{padding:8px 9px;border-bottom:1px solid #edf1f5;font-size:11px;vertical-align:middle}table tbody tr:hover{background:#fbfdff}.number-cell{font-variant-numeric:tabular-nums}
.grid-toolbar{display:flex;align-items:center;gap:8px;padding:8px 10px;background:#fbfcfd;border-bottom:1px solid var(--lh-line)}.grid-search{flex:1;min-width:220px}.grid-search input{width:100%;height:32px;border:1px solid #cfdae5;border-radius:5px;background:#fff;padding:5px 8px;font-size:11px}.grid-search input:focus{outline:none;border-color:#65bbb8;box-shadow:0 0 0 2px rgba(21,155,152,.10)}.grid-count{font-size:9px;color:var(--lh-muted)}
.badge{border-radius:4px;padding:3px 6px;font-size:9px;font-weight:800;white-space:nowrap}
.alert,.success{border-radius:6px;padding:9px 10px;margin:0 0 10px;font-size:11px;box-shadow:none}.alert{background:#fff8e8;border:1px solid #f3d996;color:#8a5b00}.success{background:#ecfdf3;border:1px solid #abefc6;color:#067647}
.filter-panel{margin:0!important;padding:10px!important;background:#fbfcfd;border:0;border-bottom:1px solid var(--lh-line);border-radius:0;gap:8px}.filter-panel label span,.grid-form-compact label span{font-size:9px;text-transform:uppercase;letter-spacing:.03em}.filter-panel input,.filter-panel select,.grid-form-compact input,.grid-form-compact select,input,select,textarea{border-radius:5px;border-color:#cfdae5}.filter-actions .button-link,.filter-actions button{min-height:32px}
.form-grid{gap:10px}.form-grid label,.compact-form label{font-size:10px;color:#5c6c7d}.form-grid input,.form-grid select,.form-grid textarea,.compact-form input,.compact-form select,.compact-form textarea{padding:7px 8px;border-radius:5px}.form-actions{gap:7px}
button,.button-link,.btn-light,.btn-success,.btn-danger,.danger-button{border-radius:6px!important;font-size:11px;padding:7px 10px;min-height:32px}
.btn-light{background:#fff;color:var(--lh-ink);border:1px solid #cfd9e3}.btn-light:hover{background:#f5f8fb}.btn-success{background:var(--lh-teal)!important;border-color:var(--lh-teal)!important;color:#fff!important}.btn-success:hover{background:var(--lh-teal2)!important}.danger-button,.btn-danger{background:#b42318!important;color:#fff!important;border-color:#b42318!important}
.detail-grid{gap:0}.detail-grid>div{padding:9px 10px;border-bottom:1px solid #edf1f5}.detail-grid span{font-size:9px;text-transform:uppercase;color:var(--lh-muted)}.detail-grid strong{font-size:11px;margin-top:3px}
.tab-strip{padding:0 10px;border-bottom:1px solid var(--lh-line);gap:2px;margin:0!important}.tab-strip a{border-radius:0;background:transparent;padding:10px 11px;font-size:10px;border-bottom:2px solid transparent}.tab-strip a.active,.tab-strip a:hover{background:transparent;color:var(--lh-teal2);border-bottom-color:var(--lh-teal)}
.page-action-bar{border-radius:7px;padding:8px 10px;margin:0 0 10px;background:#fff;border:1px solid var(--lh-line);box-shadow:var(--lh-shadow)}
.status-list{padding:8px 12px 12px;margin:0!important}.status-item{padding:8px 0;font-size:10px}.status-item small{font-size:9px}
/* Desktop collapsed state */
.sidebar-collapsed .app-layout{grid-template-columns:64px minmax(0,1fr)}.sidebar-collapsed .sidebar{width:auto}.sidebar-collapsed .sidebar-product{justify-content:center;padding-left:0;padding-right:0}.sidebar-collapsed .sidebar-product div,.sidebar-collapsed .nav-group-title,.sidebar-collapsed .sidebar a span,.sidebar-collapsed .sidebar-footer{display:none}.sidebar-collapsed .sidebar a:not(.brand):not(.logout-link){justify-content:center;padding:7px;margin:2px 0}.sidebar-collapsed .sidebar a i{width:28px;height:28px}.sidebar-collapsed .nav-group-items,.sidebar-collapsed .nav-group.collapsed .nav-group-items{display:block}.sidebar-collapsed .nav-group{margin:2px 0}
/* Login */
.login-bg{min-height:100vh;background:linear-gradient(135deg,#e8eef4 0,#f7fafc 58%,#dce9ed 100%);display:grid;place-items:center;padding:22px}.login-card{width:min(390px,100%);background:#fff;border:1px solid var(--lh-line);border-radius:10px;box-shadow:0 18px 50px rgba(21,42,68,.14);padding:28px}.login-card img{width:112px;max-height:46px;object-fit:contain;margin:0 0 16px}.login-card h1{font-size:22px;margin:0}.login-card p{font-size:11px;color:var(--lh-muted);margin:5px 0 20px}.login-card label{font-size:10px;color:#5c6c7d;margin:10px 0 4px}.login-card input{height:38px;border:1px solid #cfdae5;border-radius:5px;padding:7px 9px}.login-card input:focus{outline:none;border-color:#66b9be;box-shadow:0 0 0 3px rgba(15,157,163,.1)}.login-card button{width:100%;height:38px;margin-top:14px;background:var(--lh-teal);border:1px solid var(--lh-teal);border-radius:6px;color:#fff;font-weight:800}.login-card button:hover{background:var(--lh-teal2)}.login-card small{display:block;margin-top:15px;color:#8795a5;font-size:9px;line-height:1.45}
/* Mobile */
.nav-scrim{display:none}
@media(max-width:1100px){.top-context span{display:none}.top-actions .quick-action:not(.primary){display:none}.user-copy{display:none}.split-grid{grid-template-columns:1fr}.cards{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}}
@media(max-width:900px){
  .topbar{padding:0 10px}.topbar-brand{width:auto}.topbar .brand img{width:78px}.top-context{display:none}.top-actions{margin-left:auto}.user-chip{border-left:0;padding-left:0;margin-left:0}.app-layout{display:block}.sidebar{position:fixed;top:60px;left:0;width:238px;height:calc(100vh - 60px);transform:translateX(-105%);transition:transform .2s ease;box-shadow:10px 0 24px rgba(21,42,68,.18)}.mobile-menu-open .sidebar{transform:translateX(0)}.mobile-menu-open .nav-scrim{display:block;position:fixed;inset:60px 0 0 0;background:rgba(15,31,48,.35);border:0;z-index:50}.workspace{min-height:calc(100vh - 60px)}.crumb{padding:0 12px}.page{padding:12px}.sidebar-collapsed .app-layout{display:block}.sidebar-collapsed .sidebar{width:238px}.sidebar-collapsed .sidebar-product{justify-content:flex-start;padding:4px 8px 11px}.sidebar-collapsed .sidebar-product div,.sidebar-collapsed .nav-group-title,.sidebar-collapsed .sidebar a span,.sidebar-collapsed .sidebar-footer{display:initial}.sidebar-collapsed .sidebar a:not(.brand):not(.logout-link){justify-content:flex-start;padding:8px 10px}.quick-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){.top-actions .quick-action{display:none}.topbar .brand img{width:72px}.crumb .right{display:none}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.card{padding:10px;min-height:76px}.card-icon{width:34px;height:34px;min-width:34px}.card b{font-size:18px}.quick-grid{grid-template-columns:1fr}.grid-toolbar{flex-wrap:wrap}.grid-search{min-width:100%}.panel-header{align-items:flex-start}.panel-header>.button-link{flex:0 0 auto}.filter-grow{grid-column:auto}.filter-actions{justify-content:stretch}.filter-actions>*{flex:1}}


/* ============================================================
   MLMModern-inspired LicenseHub login + green application theme
   ============================================================ */
:root{
  --lh-green-950:#073a40;
  --lh-green-900:#0f4c5c;
  --lh-green-800:#12656d;
  --lh-green-700:#117a79;
  --lh-green-600:#159b98;
  --lh-green-500:#1fb2ad;
  --lh-green-100:#e3f6f5;
  --lh-green-50:#f2fbfb;
}

/* Ensure shared controls use the green product accent. */
button{background:var(--lh-green-600)}
button:hover{background:var(--lh-green-700)}
.quick-action.primary,.button-link.primary,.btn-success{background:var(--lh-green-600)!important;border-color:var(--lh-green-600)!important}
.quick-action.primary:hover,.button-link.primary:hover,.btn-success:hover{background:var(--lh-green-700)!important;border-color:var(--lh-green-700)!important}
.card-icon{background:var(--lh-green-50);color:var(--lh-green-700)}
.tab-strip a.active,.tab-strip a:hover{color:var(--lh-green-700);border-bottom-color:var(--lh-green-600)}
.grid-search input:focus,input:focus,select:focus,textarea:focus{border-color:#64b9b6;box-shadow:0 0 0 2px rgba(21,155,152,.11);outline:none}
.badge{background:#edf8f8;color:#23696b}

.mlm-login-bg{
  min-height:100vh;
  margin:0;
  padding:0;
  display:flex;
  align-items:stretch;
  justify-content:center;
  background:#f3f7f8;
  color:#17363b;
}
.mlm-login-shell{
  width:100%;
  min-height:100vh;
  display:grid;
  grid-template-columns:minmax(360px,44%) minmax(440px,56%);
  background:#fff;
}
.mlm-login-visual{
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  min-height:100vh;
  padding:42px 48px 34px;
  color:#fff;
  background:
    radial-gradient(circle at 14% 12%,rgba(69,205,199,.30),transparent 29%),
    radial-gradient(circle at 88% 88%,rgba(34,177,173,.20),transparent 32%),
    linear-gradient(145deg,#083b43 0%,#0f4c5c 48%,#12656d 100%);
}
.mlm-login-visual:before,
.mlm-login-visual:after{
  content:"";
  position:absolute;
  border:1px solid rgba(255,255,255,.07);
  border-radius:50%;
  pointer-events:none;
}
.mlm-login-visual:before{width:430px;height:430px;right:-230px;top:7%}
.mlm-login-visual:after{width:310px;height:310px;left:-180px;bottom:4%}
.mlm-login-brand{position:relative;z-index:1;display:flex;align-items:center;gap:13px}
.mlm-login-brand img{width:118px;max-height:48px;object-fit:contain;filter:brightness(0) invert(1);opacity:.96}
.mlm-login-brand span{padding-left:13px;border-left:1px solid rgba(255,255,255,.24);font-size:15px;font-weight:800;letter-spacing:.02em}
.mlm-login-message{position:relative;z-index:1;margin:auto 0;max-width:510px;padding:52px 0}
.mlm-login-kicker{display:inline-flex;align-items:center;padding:7px 10px;border:1px solid rgba(122,224,219,.26);border-radius:999px;background:rgba(255,255,255,.07);color:#a9e5e1;font-size:10px;font-weight:800;letter-spacing:.16em}
.mlm-login-message h1{max-width:480px;margin:20px 0 14px;font-size:clamp(34px,4vw,54px);line-height:1.04;letter-spacing:-.035em;color:#fff}
.mlm-login-message>p{max-width:470px;margin:0;color:#c0d9da;font-size:15px;line-height:1.7}
.mlm-login-feature-list{display:grid;gap:11px;margin-top:30px}
.mlm-login-feature-list div{display:flex;align-items:center;gap:10px;color:#e1eff0;font-size:12px}
.mlm-login-feature-list i{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:rgba(52,205,198,.13);border:1px solid rgba(115,226,219,.24);color:#7ee0da;font-style:normal;font-size:11px;font-weight:900}
.mlm-login-visual-footer{position:relative;z-index:1;display:flex;align-items:center;gap:8px;color:#9fbabc;font-size:10px}

.mlm-login-form-panel{display:flex;align-items:center;justify-content:center;padding:42px 8vw;background:linear-gradient(180deg,#fff 0%,#fbfdfd 100%)}
.mlm-login-card{width:100%;max-width:430px;margin:0;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none}
.mlm-login-mobile-brand{display:none}
.mlm-login-heading{margin-bottom:28px}
.mlm-login-eyebrow{display:block;margin-bottom:9px;color:var(--lh-green-600);font-size:10px;font-weight:900;letter-spacing:.15em}
.mlm-login-heading h2{margin:0;color:#173137;font-size:32px;line-height:1.15;letter-spacing:-.025em;text-align:left}
.mlm-login-heading p{margin:8px 0 0;color:#708184;font-size:12px;line-height:1.55;text-align:left}
.login-message-box{margin:0 0 18px!important;border-radius:7px!important;padding:10px 12px!important;font-size:11px!important}
.mlm-login-field{margin-top:17px}
.mlm-login-field label{display:block;margin:0 0 7px;color:#3d5558;font-size:11px;font-weight:700}
.mlm-login-input-wrap{height:46px;display:flex;align-items:center;border:1px solid #d5e2e3;border-radius:8px;background:#fff;transition:border-color .15s,box-shadow .15s}
.mlm-login-input-wrap:focus-within{border-color:#62bbb7;box-shadow:0 0 0 3px rgba(21,155,152,.10)}
.mlm-login-input-wrap>span{width:42px;text-align:center;color:#839698;font-size:12px;font-weight:800;flex:0 0 auto}
.mlm-login-input-wrap input{width:100%;height:44px;margin:0;padding:0 12px 0 0;border:0!important;border-radius:0;background:transparent;box-shadow:none!important;outline:none!important;color:#1d393d;font-size:13px}
.mlm-login-input-wrap input::placeholder{color:#a1afb0}
.mlm-login-submit{width:100%;height:46px;margin-top:23px!important;border:1px solid var(--lh-green-600)!important;border-radius:8px!important;background:linear-gradient(180deg,#1aa6a2 0%,#148c89 100%)!important;color:#fff;font-size:12px!important;font-weight:800;letter-spacing:.01em;box-shadow:0 7px 16px rgba(20,140,137,.18);transition:transform .12s,box-shadow .12s,background .12s}
.mlm-login-submit:hover{transform:translateY(-1px);background:linear-gradient(180deg,#179996 0%,#117a79 100%)!important;box-shadow:0 9px 20px rgba(20,140,137,.22)}
.mlm-login-note{display:flex;align-items:flex-start;gap:9px;margin-top:19px;padding:11px 12px;border:1px solid #dce9ea;border-radius:8px;background:#f6fbfb;color:#6d7f81;font-size:10px;line-height:1.5}
.mlm-login-note-icon{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:#e3f5f4;color:#147a78;font-size:10px;font-weight:900;flex:0 0 auto}
.mlm-login-copyright{margin-top:23px;color:#a0aaa5;font-size:9px;text-align:center}

@media(max-width:900px){
  .mlm-login-shell{grid-template-columns:minmax(300px,40%) minmax(400px,60%)}
  .mlm-login-visual{padding:34px 30px 28px}
  .mlm-login-message h1{font-size:38px}
  .mlm-login-form-panel{padding:36px 6vw}
}
@media(max-width:720px){
  .mlm-login-bg{background:#f4f8f8;padding:0}
  .mlm-login-shell{display:block;min-height:100vh;background:linear-gradient(180deg,#f3fafa 0%,#fff 42%)}
  .mlm-login-visual{display:none}
  .mlm-login-form-panel{min-height:100vh;padding:34px 22px}
  .mlm-login-card{max-width:430px}
  .mlm-login-mobile-brand{display:flex;align-items:center;gap:12px;margin-bottom:46px}
  .mlm-login-mobile-brand img{width:116px;max-height:46px;object-fit:contain}
  .mlm-login-mobile-brand span{padding-left:12px;border-left:1px solid #d7e4e5;color:#28565b;font-size:14px;font-weight:800}
  .mlm-login-heading h2{font-size:29px}
}
@media(max-width:420px){
  .mlm-login-form-panel{padding:28px 18px}
  .mlm-login-mobile-brand{margin-bottom:38px}
  .mlm-login-heading{margin-bottom:24px}
}
