:root {
  --zozy-navy: #0d1b2a;
  --zozy-blue: #1177cc;
  --zozy-sky: #d9ecff;
  --zozy-green: #00b36b;
  --zozy-soft: #eef4fb;
  --zozy-warning: #ffcc4d;
}
body { background: #f4f7fb; color: #0f172a; }
.navbar-zozy { background: linear-gradient(90deg, var(--zozy-navy), #17324a); }
.brand-logo { height: 52px; width: auto; object-fit: contain; background: rgba(255,255,255,0.03); border-radius: 10px; padding: 4px; }
.sidebar-zozy .list-group-item { border: 0; padding: 14px 18px; color: #334155; }
.sidebar-zozy .list-group-item:hover, .sidebar-zozy .list-group-item.active { background: var(--zozy-soft); color: var(--zozy-blue); }
.main-panel { min-height: calc(100vh - 128px); }
.card { border-radius: 18px !important; }
.card-stat { border: 0; background: linear-gradient(180deg, #ffffff, #f8fbff); }
.prewrap { white-space: pre-wrap; }
.chat-box { min-height: 360px; }
.footer-zozy { background: #ffffff; border-top: 1px solid #dce8f8; }
.table thead th { white-space: nowrap; }
.form-control, .form-select { border-radius: 12px; }
.btn { border-radius: 12px; }
.btn-primary { background: var(--zozy-blue); border-color: var(--zozy-blue); }
.btn-success { background: var(--zozy-green); border-color: var(--zozy-green); }
.hero-card { background: linear-gradient(135deg, #0d1b2a, #17324a); color: white; }
.login-page { min-height: 100vh; background: radial-gradient(circle at top, #16426d, #09131e 55%); }
.login-card { width: 100%; max-width: 520px; }
.logo-login { max-width: 340px; width: 100%; height: auto; }

.premium-hero {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 24px;
  padding: 32px;
  border-radius: 24px;
  color: #fff;
  box-shadow: 0 20px 45px rgba(13, 27, 42, 0.12);
}
.premium-hero h1 { font-size: 2rem; font-weight: 800; margin-bottom: 10px; }
.premium-hero p { max-width: 700px; color: rgba(255,255,255,0.85); margin-bottom: 0; }
.premium-hero-client { background: linear-gradient(135deg, #10253b, #165180 60%, #1b6ca8); }
.premium-hero-admin { background: linear-gradient(135deg, #0d1b2a, #18354d 60%, #214d73); }
.kicker { text-transform: uppercase; letter-spacing: .14em; font-size: .75rem; font-weight: 700; color: rgba(255,255,255,0.8); margin-bottom: 8px; }
.hero-actions { margin-top: 24px; display: flex; flex-wrap: wrap; gap: 12px; }
.hero-company-card, .hero-metrics {
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.12);
  backdrop-filter: blur(10px);
  border-radius: 20px;
  padding: 20px;
}
.hero-company-title { font-size: 1.15rem; font-weight: 800; margin-bottom: 12px; }
.hero-company-card div { margin-bottom: 8px; }
.hero-metrics { display: grid; gap: 14px; }
.hero-metrics.compact { grid-template-columns: repeat(3, minmax(0,1fr)); align-content: start; }
.hero-metrics span { display: block; font-size: .8rem; color: rgba(255,255,255,0.75); }
.hero-metrics strong { display: block; font-size: 1.75rem; font-weight: 800; }

.stat-card { border: 0; box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06); }
.stat-card .card-body { padding: 22px; }
.stat-label { font-size: .83rem; text-transform: uppercase; letter-spacing: .06em; color: #64748b; margin-bottom: 10px; font-weight: 700; }
.stat-value { font-size: 2rem; line-height: 1; font-weight: 800; color: #0f172a; }
.stat-meta { color: #64748b; margin-top: 10px; font-size: .9rem; }
.stat-primary { background: linear-gradient(180deg, #fff, #f3f8ff); border-top: 4px solid var(--zozy-blue); }
.stat-success { background: linear-gradient(180deg, #fff, #f2fff8); border-top: 4px solid var(--zozy-green); }
.stat-warning { background: linear-gradient(180deg, #fff, #fff9eb); border-top: 4px solid #f59e0b; }
.stat-navy { background: linear-gradient(180deg, #fff, #f3f7fb); border-top: 4px solid var(--zozy-navy); }

.contract-card {
  background: linear-gradient(180deg, #fff, #f8fbff);
  border: 1px solid #dce8f8;
  border-radius: 20px;
  padding: 18px;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}
.contract-card-large { padding: 22px; }
.contract-card h5, .contract-card h4 { font-weight: 800; }
.contract-type { font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #64748b; }
.contract-meta { display: grid; gap: 8px; }
.grid-two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.contract-meta span { display: block; color: #64748b; font-size: .82rem; }
.contract-meta strong { font-size: .96rem; }

.timeline-list { display: grid; gap: 16px; }
.timeline-item { display: grid; grid-template-columns: 12px 1fr; gap: 12px; align-items: start; }
.timeline-dot { width: 12px; height: 12px; border-radius: 50%; margin-top: 6px; }
.timeline-dot.text-bg-success { background: #16a34a; }
.timeline-dot.text-bg-warning { background: #f59e0b; }
.timeline-dot.text-bg-danger { background: #dc2626; }
.timeline-dot.text-bg-secondary { background: #94a3b8; }
.timeline-dot.text-bg-dark { background: #0f172a; }

.empty-state {
  background: #f8fbff;
  border: 1px dashed #cbd5e1;
  border-radius: 16px;
  padding: 18px;
  text-align: center;
  color: #64748b;
}
.renewal-table td, .renewal-table th { vertical-align: middle; }

@media (max-width: 991px) {
  .premium-hero { grid-template-columns: 1fr; padding: 24px; }
  .hero-metrics.compact { grid-template-columns: 1fr; }
}


/* extra ui helpers */
.hero-card, .landing-premium, .admin-hero { background: linear-gradient(135deg, #0d1b2a, #1f6ba5); color: white; }
.landing-logo { max-width: 360px; filter: drop-shadow(0 10px 20px rgba(0,0,0,.25)); }
.quick-module-grid { display:grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap:12px; }
.quick-module { background: rgba(255,255,255,0.1); color:#fff; border:1px solid rgba(255,255,255,.2); padding:16px; border-radius:16px; display:flex; flex-direction:column; gap:8px; align-items:center; justify-content:center; min-height:96px; }
.quick-module i { font-size:1.4rem; }
.premium-stat-card { background:#fff; border-top:4px solid #dbe4f0; border-radius:18px; padding:20px; box-shadow:0 2px 8px rgba(15,23,42,.06); height:100%; }
.premium-stat-card .label { font-size:.8rem; text-transform:uppercase; letter-spacing:.08em; color:#64748b; font-weight:700; }
.premium-stat-card .value { font-size:2rem; font-weight:800; color:#0f172a; margin-top:8px; }
.stat-card-link:hover .premium-stat-card, .quick-module:hover { transform: translateY(-2px); transition: .2s ease; }
.thumb-preview, .table-avatar, .profile-image-large { object-fit: cover; border-radius: 14px; }
.thumb-preview { max-width: 100%; max-height: 140px; }
.table-avatar { width: 42px; height: 42px; }
.profile-image-large { width: 180px; height: 180px; background:#eef4fb; }
.floating-chat-btn { position: fixed; right: 24px; bottom: 24px; width: 58px; height: 58px; border-radius: 50%; background: linear-gradient(135deg,#1177cc,#0d1b2a); color:#fff; display:flex; align-items:center; justify-content:center; box-shadow:0 14px 26px rgba(13,27,42,.25); z-index:1060; font-size: 1.35rem; }
  .quick-module-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .quick-module-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .profile-image-large { width: 120px; height: 120px; }
.ticket-priority-Low { color: #0f766e; font-weight: 700; }
.ticket-priority-Medium { color: #b45309; font-weight: 700; }
.ticket-priority-High { color: #b91c1c; font-weight: 700; }
.ticket-priority-Critical { color: #7f1d1d; font-weight: 700; }
.kpi-sub { font-size:12px; color:#64748b; }
a { text-decoration:none; }

.quick-module-grid-light { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.quick-module-grid-light .quick-module {
  background: linear-gradient(180deg,#ffffff,#f7fbff);
  color:#0f172a;
  border:1px solid #dce8f8;
  min-height:110px;
  box-shadow: 0 8px 20px rgba(15,23,42,.05);
}
.quick-module-grid-light .quick-module span { font-weight:700; text-align:center; line-height:1.35; }
.quick-module-grid-light .quick-module i { color:#1177cc; font-size:1.5rem; }
@media (max-width: 1200px) { .quick-module-grid-light { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width: 768px) { .quick-module-grid-light { grid-template-columns:1fr; } }
.analytics-line { display:flex; justify-content:space-between; gap:16px; padding:10px 0; border-bottom:1px solid #edf2f7; }
.analytics-line:last-child { border-bottom:0; }


.section-kicker {
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: .72rem;
  font-weight: 800;
  color: #64748b;
}

.client-command-hero,
.bot-hero {
  display: grid;
  grid-template-columns: 1.35fr .9fr;
  gap: 22px;
  padding: 28px 30px;
  border-radius: 24px;
  color: #fff;
  background: linear-gradient(135deg, #0d1b2a, #18354d 55%, #1c6ead);
  box-shadow: 0 20px 45px rgba(13,27,42,.12);
}
.client-command-hero h1,
.bot-hero h1 { font-size: 2rem; font-weight: 800; margin-bottom: 10px; }
.client-command-hero p,
.bot-hero p { color: rgba(255,255,255,.85); max-width: 760px; margin-bottom: 0; }
.client-hero-metrics,
.bot-hero-side { display: grid; gap: 14px; }
.client-hero-metrics > div,
.bot-signal-card {
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 18px;
  padding: 18px;
  backdrop-filter: blur(10px);
}
.client-hero-metrics span,
.bot-signal-card span { display:block; font-size:.82rem; color:rgba(255,255,255,.75); margin-bottom:6px; }
.client-hero-metrics strong,
.bot-signal-card strong { font-size:1.45rem; font-weight:800; display:block; line-height:1.2; }
.client-editor-card { position: sticky; top: 92px; }
.client-logo-preview-wrap { background:#f8fbff; border:1px dashed #cbd5e1; border-radius:18px; padding:16px; text-align:center; }
.clients-toolbar-sticky { position: sticky; top: 82px; z-index: 9; }
.client-search-input .input-group-text { border-radius: 14px 0 0 14px; background:#fff; border-right:0; }
.client-search-input .form-control { border-left:0; }
.clients-grid-premium { display:grid; gap:16px; }
.client-company-card {
  background: linear-gradient(180deg,#fff,#f8fbff);
  border:1px solid #dce8f8;
  border-radius: 22px;
  padding: 18px;
  box-shadow: 0 12px 24px rgba(15,23,42,.04);
}
.client-company-logo {
  width: 74px; height: 74px; border-radius: 18px; object-fit: cover; flex-shrink: 0;
  background:#eef4fb; border:1px solid #dce8f8;
}
.client-company-logo-placeholder { display:flex; align-items:center; justify-content:center; color:#1177cc; font-size:1.6rem; }
.client-user-pill {
  display:inline-flex; align-items:center; padding:6px 10px; border-radius:999px; font-size:.82rem; font-weight:700;
  background:#eef6ff; color:#1177cc; border:1px solid #d9ecff;
}
.client-meta-grid { display:grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap:12px; }
.client-meta-grid span { display:block; color:#64748b; font-size:.78rem; text-transform:uppercase; letter-spacing:.06em; font-weight:700; margin-bottom:3px; }
.client-meta-grid strong { display:block; font-size:.95rem; color:#0f172a; }
.client-note-box { background:#fff; border:1px dashed #cbd5e1; border-radius:16px; padding:12px 14px; color:#475569; }

.bot-chat-card { min-height: 100%; }
.bot-avatar {
  width:56px; height:56px; border-radius:18px; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg,#1177cc,#0d1b2a); color:#fff; font-size:1.5rem;
}
.premium-chat-box {
  background: linear-gradient(180deg,#f8fbff,#ffffff);
  border:1px solid #dce8f8;
  border-radius:22px;
  min-height: 320px;
  padding: 18px;
}
.bot-bubble {
  max-width: 84%;
  border-radius: 18px;
  padding: 14px 16px;
  line-height: 1.55;
  box-shadow: 0 8px 18px rgba(15,23,42,.05);
}
.bot-bubble-ai { background:#fff; border:1px solid #dce8f8; color:#0f172a; }
.bot-bubble-user { background:linear-gradient(135deg,#1177cc,#0d1b2a); color:#fff; }
.bot-suggestion-grid { display:grid; gap:10px; }
.bot-suggestion-chip {
  width:100%; text-align:left; border:1px solid #dce8f8; background:linear-gradient(180deg,#fff,#f8fbff); color:#0f172a;
  border-radius:16px; padding:12px 14px; font-weight:600;
}
.bot-suggestion-chip:hover { border-color:#1177cc; box-shadow:0 8px 18px rgba(17,119,204,.1); }

@media (max-width: 1199px) {
  .client-editor-card, .clients-toolbar-sticky { position: static; }
}
@media (max-width: 991px) {
  .client-command-hero, .bot-hero { grid-template-columns: 1fr; padding:24px; }
  .client-meta-grid { grid-template-columns: 1fr; }
}


/* === Consolidated premium client portal + diagnostics patch === */
.quick-access-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.quick-access-list a{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:16px;border:1px solid #dce8f8;background:linear-gradient(180deg,#fff,#f8fbff);color:#0f172a;font-weight:700;box-shadow:0 8px 18px rgba(15,23,42,.04);transition:.18s ease;}
.quick-access-list a:hover{transform:translateY(-2px);border-color:#1177cc;box-shadow:0 12px 22px rgba(17,119,204,.10);color:#0f172a;}
.quick-access-list i{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;background:#eaf4ff;color:#1177cc;font-size:1.1rem;flex-shrink:0;}
.client-premium-dashboard .dashboard-stack{display:grid;gap:12px;}
.dashboard-row-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid #dce8f8;border-radius:16px;background:linear-gradient(180deg,#fff,#f8fbff);}
.dashboard-row-card.compact{padding:12px 14px;}
.client-premium-panel{background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid #dce8f8;border-radius:18px;padding:16px;min-height:100%;}
.panel-heading{font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:#64748b;font-weight:800;}
.client-mini-summary .summary-line,.finance-summary-card .summary-line{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid #edf2f7;}
.client-mini-summary .summary-line:last-child,.finance-summary-card .summary-line:last-child{border-bottom:0;}
.finance-summary-band{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}
.finance-summary-card{background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid #dce8f8;border-radius:18px;padding:18px;box-shadow:0 8px 18px rgba(15,23,42,.04);}
.finance-summary-card .mini-label{font-size:.8rem;color:#64748b;text-transform:uppercase;font-weight:800;letter-spacing:.06em;}
.finance-summary-card .mini-value{display:block;font-size:1.7rem;font-weight:800;color:#0f172a;margin-top:6px;}
.premium-page-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;padding:26px 28px;border-radius:24px;background:linear-gradient(135deg,#0d1b2a,#18354d 55%,#1c6ead);color:#fff;box-shadow:0 20px 45px rgba(13,27,42,.12);margin-bottom:20px;}
.premium-page-hero .kicker{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:rgba(255,255,255,.75);margin-bottom:10px;}
.premium-page-hero h1,.premium-page-hero h2{margin:0 0 8px;font-size:2rem;font-weight:800;}
.premium-page-hero p{margin:0;color:rgba(255,255,255,.85);max-width:760px;}
.premium-page-hero .hero-actions{display:flex;flex-wrap:wrap;gap:10px;}
.premium-filter-bar{position:sticky;top:82px;z-index:12;background:#fff;border:1px solid #dce8f8;border-radius:18px;padding:14px;box-shadow:0 10px 20px rgba(15,23,42,.06);margin-bottom:18px;}
.premium-data-card{background:#fff;border:1px solid #dce8f8;border-radius:22px;box-shadow:0 10px 24px rgba(15,23,42,.05);}
.premium-data-card .card-body{padding:20px;}
.invoice-row-card,.ticket-list-card,.document-card,.directory-card,.catalog-card{background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid #dce8f8;border-radius:18px;padding:16px;box-shadow:0 8px 18px rgba(15,23,42,.04);height:100%;}
.invoice-status-pill,.sla-chip,.status-chip{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:.78rem;font-weight:800;letter-spacing:.02em;}
.invoice-status-pill.overdue,.status-chip.overdue{background:#fff1f2;color:#be123c;border:1px solid #fecdd3;}
.invoice-status-pill.open,.status-chip.open{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe;}
.invoice-status-pill.paid,.status-chip.paid{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0;}
.sla-chip{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe;}
.sla-chip.warning{background:#fff7ed;color:#c2410c;border-color:#fed7aa;}
.sla-chip.danger{background:#fef2f2;color:#b91c1c;border-color:#fecaca;}
.document-icon{width:52px;height:52px;border-radius:16px;background:#eaf4ff;color:#1177cc;display:flex;align-items:center;justify-content:center;font-size:1.35rem;}
.directory-avatar{width:58px;height:58px;border-radius:18px;background:#eaf4ff;color:#1177cc;display:flex;align-items:center;justify-content:center;font-size:1.4rem;font-weight:800;}
.premium-form-card{background:#fff;border:1px solid #dce8f8;border-radius:24px;box-shadow:0 12px 26px rgba(15,23,42,.05);}
.premium-form-card .card-body{padding:24px;}
.catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.catalog-card .catalog-icon{width:44px;height:44px;border-radius:14px;background:#eaf4ff;color:#1177cc;display:flex;align-items:center;justify-content:center;font-size:1.1rem;margin-bottom:10px;}
.catalog-card .catalog-title{font-weight:800;font-size:1.02rem;color:#0f172a;margin-bottom:6px;}
.catalog-card .catalog-copy{color:#475569;font-size:.92rem;min-height:42px;}
.catalog-card .btn{margin-top:12px;}
.ticket-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;}
.ticket-guidance{display:grid;gap:10px;}
.ticket-guidance .guide-item{display:flex;gap:10px;align-items:flex-start;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.12);padding:14px;border-radius:16px;}
.ticket-guidance .guide-item i{font-size:1rem;color:#fff;}
.ticket-table-premium thead th{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:#64748b;font-weight:800;border-bottom-width:1px;}
.ticket-table-premium tbody tr:hover{background:#f8fbff;}
.badge-soft{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:.78rem;font-weight:800;border:1px solid #dce8f8;background:#f8fbff;color:#0f172a;}
.diagnostics-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.diagnostics-card{background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid #dce8f8;border-radius:18px;padding:16px;box-shadow:0 8px 18px rgba(15,23,42,.04);}
.security-event-card{border:1px solid #dce8f8;border-radius:16px;padding:14px;background:#fff;box-shadow:0 8px 18px rgba(15,23,42,.04);}
.security-event-meta{display:flex;flex-wrap:wrap;gap:8px 12px;color:#64748b;font-size:.82rem;}
.log-pill{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;font-size:.75rem;font-weight:800;}
.log-pill.info{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe;}
.log-pill.warning{background:#fff7ed;color:#c2410c;border:1px solid #fed7aa;}
.log-pill.critical{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;}
.log-details{background:#f8fbff;border:1px dashed #cbd5e1;border-radius:12px;padding:10px 12px;font-size:.85rem;white-space:pre-wrap;color:#334155;}
@media (max-width:1199px){.finance-summary-band,.diagnostics-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:991px){.premium-page-hero,.ticket-hero-grid{display:block}.premium-page-hero .hero-actions{margin-top:14px}.catalog-grid,.quick-access-list,.finance-summary-band,.diagnostics-grid{grid-template-columns:1fr}.dashboard-row-card{flex-direction:column;align-items:flex-start}.quick-access-list a{padding:13px 14px;}}

/* === Restored premium system styles === */
.premium-page-shell{display:block;}
.premium-metric-box{background:linear-gradient(180deg,#ffffff,#f8fbff);border:1px solid #dce8f8;border-radius:20px;padding:16px 18px;box-shadow:0 10px 24px rgba(15,23,42,.04);height:100%;}
.premium-metric-box span{display:block;font-size:.76rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#64748b;margin-bottom:10px;}
.premium-metric-box strong{display:block;font-size:2rem;line-height:1;font-weight:800;color:#0f172a;margin-bottom:10px;}
.premium-metric-box small{display:block;color:#64748b;font-size:.9rem;}
.premium-metric-box.success{background:linear-gradient(180deg,#ffffff,#f2fff8);border-color:#c8f0dc;}
.premium-metric-box.warning{background:linear-gradient(180deg,#ffffff,#fff9eb);border-color:#f8ddb0;}
.premium-metric-box.danger{background:linear-gradient(180deg,#ffffff,#fff1f2);border-color:#fecdd3;}
.section-title-wrap{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;}
.section-title-wrap h3{margin:4px 0 0;font-size:1.9rem;font-weight:800;color:#0f172a;}
.feature-callout{background:linear-gradient(180deg,#fbfdff,#f4f9ff);border:1px solid #dce8f8;border-radius:18px;padding:16px 18px;}
.action-stack{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.avatar-fallback{width:42px;height:42px;border-radius:14px;background:#eaf4ff;color:#1177cc;display:flex;align-items:center;justify-content:center;font-weight:800;border:1px solid #dce8f8;}
.user-table-premium tbody tr td,.renewal-table-premium tbody tr td,.report-table-premium tbody tr td,.asset-list-table tbody tr td{padding-top:16px;padding-bottom:16px;border-color:#ecf1f7;}
.user-table-premium thead th,.renewal-table-premium thead th,.report-table-premium thead th,.asset-list-table thead th{font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:#64748b;font-weight:800;border-bottom:1px solid #dce8f8;}
.contract-register-grid{display:grid;gap:16px;}
.contract-card .badge{font-size:.8rem;padding:8px 12px;border-radius:999px;}
.contract-card .btn{border-radius:999px;}
.premium-data-card .premium-filter-bar{position:sticky;top:18px;z-index:8;background:linear-gradient(180deg,#ffffff,#fbfdff);}
.premium-filter-bar.compact{top:14px;padding:12px 14px;}
.admin-sticky-toolbar{position:sticky;top:18px;z-index:8;background:#fff;border:1px solid #dce8f8;border-radius:18px;padding:12px 14px;box-shadow:0 10px 20px rgba(15,23,42,.05);}
.premium-filter-dock{position:sticky;top:82px;z-index:13;margin-bottom:16px;}
.premium-filter-dock .premium-filter-bar{margin-bottom:0;}
.client-toolbar-better{position:sticky;top:82px;z-index:12;margin-bottom:18px;}
.client-toolbar-better .premium-filter-bar{margin-bottom:0;box-shadow:0 12px 20px rgba(15,23,42,.06);}
.assets-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px;}
.asset-hero-side{display:grid;gap:14px;}
.asset-mini-stat{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:16px 18px;}
.asset-mini-stat span{display:block;font-size:.82rem;color:rgba(255,255,255,.78);}
.asset-mini-stat strong{display:block;font-size:1.7rem;font-weight:800;color:#fff;margin-top:6px;}
.asset-card{background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid #dce8f8;border-radius:22px;box-shadow:0 10px 24px rgba(15,23,42,.04);}
.asset-card .card-body{padding:20px;}
.asset-health-pill{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:.78rem;font-weight:800;}
.asset-health-pill.good{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0;}
.asset-health-pill.warning{background:#fff7ed;color:#c2410c;border:1px solid #fed7aa;}
.asset-health-pill.danger{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;}
.asset-chart-bar{display:flex;align-items:center;gap:12px;margin-bottom:12px;}
.asset-chart-bar .track{flex:1;height:10px;border-radius:999px;background:#eaf1f8;overflow:hidden;}
.asset-chart-bar .fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#1177cc,#31a2ff);}
@media (max-width: 991px){.premium-filter-bar,.client-toolbar-better,.premium-filter-dock{position:static;}.admin-sticky-toolbar{position:static;}}


.form-help-text{font-size:.78rem;color:#667085;margin-top:6px;line-height:1.35;}
.sla-live-chip.success{background:#ecfdf3;color:#027a48;border:1px solid #abefc6;}
.sla-live-chip.warning{background:#fffaeb;color:#b54708;border:1px solid #fedf89;}
.sla-live-chip.danger{background:#fef3f2;color:#d92d20;border:1px solid #fecdca;}


.ticket-unread-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 7px;margin-left:8px;border-radius:999px;background:#dc2626;color:#fff;font-size:.75rem;font-weight:800;line-height:1;box-shadow:0 6px 14px rgba(220,38,38,.22)}
.ticket-unread-title{font-weight:800 !important;color:#0b2240}
.modern-hero-metrics{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);border-radius:22px;padding:18px;backdrop-filter:blur(10px);min-width:360px}
.modern-hero-metrics>div{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:14px 16px;min-height:96px;display:flex;flex-direction:column;justify-content:center}
.modern-hero-metrics span{font-size:.9rem;color:rgba(255,255,255,.78);margin-bottom:6px}
.modern-hero-metrics strong{font-size:2.1rem;line-height:1;font-weight:800;color:#fff}
@media (max-width: 991px){.modern-hero-metrics{min-width:0;width:100%}}
