/**
 * AJT MSP Hub — Contracts Manager v2.
 * Theme: Refined Plum — modern dashboard aesthetic.
 */

:root {
    --cm-plum:        #7B4C75;
    --cm-plum-dark:   #5E3A5A;
    --cm-plum-light:  rgba(123,76,117,0.08);
    --cm-slate:       #2D2836;
    --cm-slate-mid:   #4A3E55;
    --cm-gray-100:    #F5F4F6;
    --cm-gray-200:    #EDEAEF;
    --cm-gray-300:    #DBD8DE;
    --cm-gray-400:    #9B95A6;
    --cm-gray-500:    #716B7E;
    --cm-teal:        #0D9488;
    --cm-amber:       #D97706;
    --cm-red:         #DC2626;
    --cm-green:       #059669;
    --cm-radius:      14px;
    --cm-radius-sm:   6px;
    --cm-shadow:      0 1px 3px rgba(45,40,54,0.07), 0 1px 2px rgba(45,40,54,0.05);
    --cm-shadow-lg:   0 6px 20px rgba(45,40,54,0.10);
}

.ajt-cm { max-width:1400px; margin:0 auto; font-family:'Nunito Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif; font-size:14px; color:var(--cm-slate); line-height:1.5; }
.ajt-cm *, .ajt-cm *::before, .ajt-cm *::after { box-sizing:border-box; }
.ajt-cm h1, .ajt-cm h2, .ajt-cm h3, .ajt-cm h4, .ajt-cm h5 { text-transform:none !important; font-family:inherit !important; letter-spacing:normal !important; border:none !important; text-decoration:none !important; }
/* Prevent theme from hiding elements or overriding display */
.ajt-cm .ajt-cm-content, .ajt-cm .ajt-cm-grid, .ajt-cm .ajt-cm-panel,
.ajt-cm .ajt-cm-stats, .ajt-cm .ajt-cm-stat, .ajt-cm .ajt-cm-panel-body,
.ajt-cm .ajt-cm-list-item, .ajt-cm .ajt-cm-svc-row { visibility:visible !important; opacity:1 !important; }

/* ═══ TOP BAR ═══ */
.ajt-cm-topbar { display:flex !important; align-items:center !important; gap:12px; padding:14px 20px; background:var(--cm-slate); border-radius:var(--cm-radius) var(--cm-radius) 0 0; color:#fff; flex-wrap:nowrap; }
.ajt-cm-topbar-left { display:flex !important; align-items:center; gap:10px; flex-shrink:0; flex:1; }
.ajt-cm-logo { width:32px; height:32px; display:flex; align-items:center; justify-content:center; background:var(--cm-plum); border-radius:8px; font-size:16px; }
.ajt-cm-brand { font-weight:700; font-size:15px; white-space:nowrap; }

.ajt-cm-nav { display:flex; gap:2px; margin-left:auto; margin-right:auto; background:rgba(255,255,255,0.08); border-radius:8px; padding:3px; }
.ajt-cm-nav-link { color:rgba(255,255,255,0.65); text-decoration:none; padding:6px 14px; border-radius:6px; font-size:13px; font-weight:600; transition:all 0.2s; display:flex; align-items:center; gap:6px; white-space:nowrap; }
.ajt-cm-nav-link:hover { color:#fff; background:rgba(255,255,255,0.08); }
.ajt-cm-nav-link.active { color:#fff; background:rgba(255,255,255,0.15); }

.ajt-cm-notif { display:inline-flex; align-items:center; justify-content:center; min-width:18px; height:18px; padding:0 5px; background:var(--cm-amber); color:#fff; font-size:10px; font-weight:800; border-radius:9px; line-height:1; }

.ajt-cm-topbar-right { display:flex; align-items:center; gap:12px; flex:1; justify-content:flex-end; }
.ajt-cm-user-pill { display:flex; align-items:center; gap:8px; }
.ajt-cm-avatar { width:32px; height:32px; border-radius:50%; background:var(--cm-plum); color:#fff; display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:700; flex-shrink:0; }
.ajt-cm-user-info { display:flex; flex-direction:column; }
.ajt-cm-user-name { font-size:12px; font-weight:600; line-height:1.2; }
.ajt-cm-user-role { font-size:10px; color:rgba(255,255,255,0.5); line-height:1.2; }
.ajt-cm-logout { color:rgba(255,255,255,0.5); transition:color 0.2s; display:flex; }
.ajt-cm-logout:hover { color:#fff; }

/* ═══ CONTENT ═══ */
.ajt-cm-content { background:var(--cm-gray-100); border:1px solid var(--cm-gray-300); border-top:0; border-radius:0 0 var(--cm-radius) var(--cm-radius); padding:24px; min-height:400px; }
.ajt-cm-greeting,
.ajt-cm-tickets-hub,
.ajt-cm-section-head:first-child,
.ajt-cm-finance { padding-top:15px; }

/* ═══ GREETING ═══ */
.ajt-cm-greeting { margin-bottom:24px; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.ajt-cm-greeting-text h1 { margin:0 0 4px; font-size:26px; font-weight:800; color:var(--cm-slate); letter-spacing:-0.02em; }
.ajt-cm-greeting-text p { margin:0; font-size:14px; color:var(--cm-gray-500); }
.ajt-cm-greeting h1 { margin:0 0 4px; font-size:26px; font-weight:800; color:var(--cm-slate); letter-spacing:-0.02em; }
.ajt-cm-greeting p { margin:0; font-size:14px; color:var(--cm-gray-500); }

/* ═══ STAT CARDS ═══ */
.ajt-cm-stats { display:grid !important; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:24px; }
.ajt-cm-stat { display:flex; flex-direction:column; align-items:center; padding:22px 16px; background:#fff; border:1px solid var(--cm-gray-200); border-radius:var(--cm-radius); text-align:center; transition:all 0.2s cubic-bezier(0.4,0,0.2,1); box-shadow:var(--cm-shadow); text-decoration:none !important; color:inherit !important; }
.ajt-cm-stat:hover { transform:translateY(-3px); box-shadow:var(--cm-shadow-lg); border-color:var(--cm-gray-300); }
.ajt-cm-stat-icon { width:44px; height:44px; border-radius:12px; display:flex; align-items:center; justify-content:center; margin-bottom:12px; }
.ajt-cm-stat-val { font-size:32px; font-weight:900; line-height:1; margin-bottom:6px; }
.ajt-cm-stat-label { font-size:10px; color:var(--cm-gray-400); text-transform:uppercase; letter-spacing:0.6px; font-weight:700; }

.ajt-cm-stat--tickets .ajt-cm-stat-icon { background:rgba(13,148,136,0.12); color:var(--cm-teal); }
.ajt-cm-stat--tickets .ajt-cm-stat-val { color:var(--cm-teal); }
.ajt-cm-stat--approvals .ajt-cm-stat-icon { background:rgba(217,119,6,0.12); color:var(--cm-amber); }
.ajt-cm-stat--approvals .ajt-cm-stat-val { color:var(--cm-amber); }
.ajt-cm-stat--companies .ajt-cm-stat-icon { background:rgba(123,76,117,0.10); color:var(--cm-plum); }
.ajt-cm-stat--companies .ajt-cm-stat-val { color:var(--cm-plum); }
.ajt-cm-stat--changes .ajt-cm-stat-icon { background:rgba(5,150,105,0.10); color:var(--cm-green); }
.ajt-cm-stat--changes .ajt-cm-stat-val { color:var(--cm-green); }

/* ═══ TWO-COL GRID ═══ */
.ajt-cm-grid { display:grid !important; grid-template-columns:1fr 1fr; gap:20px; margin-top:20px; }

/* ═══ PANELS ═══ */
.ajt-cm-panel { background:#fff; border:1px solid var(--cm-gray-200); border-radius:var(--cm-radius); overflow:hidden; box-shadow:var(--cm-shadow); display:block !important; }
.ajt-cm-panel-head { display:flex; align-items:center; justify-content:space-between; padding:14px 18px; background:var(--cm-gray-100); border-bottom:1px solid var(--cm-gray-300); }
.ajt-cm-panel-head h3 { margin:0; font-size:13px; font-weight:700; color:var(--cm-slate); text-transform:uppercase; letter-spacing:0.4px; }
.ajt-cm-panel-count { display:inline-flex; align-items:center; justify-content:center; min-width:22px; height:22px; padding:0 6px; background:var(--cm-teal); color:#fff; font-size:11px; font-weight:700; border-radius:11px; }
.ajt-cm-panel-count--warn { background:var(--cm-amber); }
.ajt-cm-panel-body { max-height:440px; overflow-y:auto; }

/* ═══ LIST ITEMS ═══ */
.ajt-cm-list-item { display:flex; align-items:center; gap:12px; padding:12px 18px; border-bottom:1px solid var(--cm-gray-200); transition:background 0.15s; }
.ajt-cm-list-item:last-child { border-bottom:none; }
.ajt-cm-list-item:hover { background:var(--cm-gray-100); }
.ajt-cm-list-main { flex:1; min-width:0; }
.ajt-cm-list-title { font-size:13px; font-weight:600; color:var(--cm-slate); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ajt-cm-list-meta { font-size:11px; color:var(--cm-gray-400); display:flex; flex-wrap:wrap; gap:4px; margin-top:2px; }
.ajt-cm-meta-sep { color:var(--cm-gray-300); }

.ajt-cm-dot { width:8px; height:8px; border-radius:50%; flex-shrink:0; }
.ajt-cm-dot--info    { background:var(--cm-teal); }
.ajt-cm-dot--warning { background:var(--cm-amber); }
.ajt-cm-dot--danger  { background:var(--cm-red); }
.ajt-cm-dot--muted   { background:var(--cm-gray-300); }

.ajt-cm-tag { display:inline-block; padding:2px 8px; border-radius:4px; font-size:11px; font-weight:600; white-space:nowrap; flex-shrink:0; }
.ajt-cm-tag--muted   { background:var(--cm-gray-200); color:var(--cm-gray-500); }
.ajt-cm-tag--warning { background:#FEF3C7; color:#92400E; }
.ajt-cm-tag--danger  { background:#FEE2E2; color:#991B1B; }
.ajt-cm-tag--success { background:#D1FAE5; color:#065F46; }
.ajt-cm-tag--info    { background:#DBEAFE; color:#1E40AF; }

/* ═══ EMPTY STATE ═══ */
.ajt-cm-empty { text-align:center; padding:40px 20px; color:var(--cm-gray-400); }
.ajt-cm-empty-icon { margin-bottom:10px; }
.ajt-cm-empty-icon svg { stroke:var(--cm-gray-300); }
.ajt-cm-empty p { margin:0; font-size:13px; }

/* ═══ SECTION HEAD ═══ */
.ajt-cm-section-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; flex-wrap:wrap; gap:12px; }
.ajt-cm-section-head h2 { margin:0; font-size:20px; font-weight:700; color:var(--cm-slate); }
.ajt-cm-section-count { display:inline-block; padding:2px 10px; background:var(--cm-gray-200); border-radius:10px; font-size:13px; font-weight:600; color:var(--cm-gray-500); margin-left:8px; }

/* ═══ SEARCH ═══ */
.ajt-cm-search-form { display:flex; }
.ajt-cm-search-input { width:220px; padding:8px 14px; border:1px solid var(--cm-gray-300); border-radius:var(--cm-radius-sm); font-size:13px; background:#fff; transition:border-color 0.2s; }
.ajt-cm-search-input:focus { outline:none; border-color:var(--cm-plum); box-shadow:0 0 0 3px rgba(123,76,117,0.1); }

/* ═══ CUSTOMER GRID ═══ */
.ajt-cm-companies { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:12px; }
.ajt-cm-company-card { display:flex; align-items:center; gap:14px; background:#fff; border:1px solid var(--cm-gray-200); border-radius:var(--cm-radius); padding:16px; text-decoration:none; color:var(--cm-slate); transition:all 0.2s; box-shadow:var(--cm-shadow); }
.ajt-cm-company-card:hover { border-color:var(--cm-plum); box-shadow:var(--cm-shadow-lg); transform:translateY(-1px); }
.ajt-cm-company-icon { width:40px; height:40px; min-width:40px; border-radius:10px; background:var(--cm-plum-light); color:var(--cm-plum); display:flex; align-items:center; justify-content:center; font-size:14px; font-weight:700; }
.ajt-cm-company-name { font-weight:600; font-size:14px; }
.ajt-cm-company-meta { font-size:12px; color:var(--cm-gray-400); margin-top:2px; }
.ajt-cm-company-arrow { margin-left:auto; color:var(--cm-gray-300); transition:color 0.2s; flex-shrink:0; }
.ajt-cm-company-card:hover .ajt-cm-company-arrow { color:var(--cm-plum); }

/* ═══ PAGINATION ═══ */
.ajt-cm-pagination { display:flex; align-items:center; justify-content:center; gap:4px; padding:16px 0; }
.ajt-cm-page-btn { display:inline-flex; align-items:center; justify-content:center; min-width:32px; height:32px; padding:0 8px; background:#fff; border:1px solid var(--cm-gray-300); border-radius:var(--cm-radius-sm); font-size:13px; font-weight:600; text-decoration:none; color:var(--cm-slate); transition:all 0.15s; }
.ajt-cm-page-btn:hover { background:var(--cm-gray-100); }
.ajt-cm-page-btn.active { background:var(--cm-plum); color:#fff; border-color:var(--cm-plum); }
.ajt-cm-page-info { font-size:12px; color:var(--cm-gray-400); margin-left:10px; }

/* ═══ CUSTOMER DETAIL HEADER ═══ */
.ajt-cm-detail-header { margin-bottom:20px; }
.ajt-cm-back-link { display:inline-flex; align-items:center; gap:4px; font-size:13px; color:var(--cm-plum); text-decoration:none; font-weight:600; margin-bottom:12px; transition:color 0.15s; }
.ajt-cm-back-link:hover { color:var(--cm-plum-dark); }
.ajt-cm-detail-title-row { display:flex; align-items:center; gap:16px; }
.ajt-cm-detail-avatar { width:48px; height:48px; min-width:48px; border-radius:12px; background:var(--cm-plum); color:#fff; display:flex; align-items:center; justify-content:center; font-size:18px; font-weight:700; }
.ajt-cm-detail-name { margin:0; font-size:22px; font-weight:700; color:var(--cm-slate); }
.ajt-cm-detail-meta { font-size:13px; color:var(--cm-gray-400); margin-top:4px; display:flex; flex-wrap:wrap; gap:4px; align-items:center; }
.ajt-cm-detail-meta a { color:var(--cm-teal); text-decoration:none; }
.ajt-cm-detail-meta a:hover { text-decoration:underline; }

/* ═══ DETAIL TABS ═══ */
.ajt-cm-detail-tabs { display:flex; gap:0; border-bottom:2px solid var(--cm-gray-200); margin-bottom:0; }
.ajt-cm-tab { padding:10px 20px; border:none; background:none; font-size:13px; font-weight:600; color:var(--cm-gray-400); cursor:pointer; border-bottom:2px solid transparent; margin-bottom:-2px; transition:all 0.15s; display:flex; align-items:center; gap:6px; }
.ajt-cm-tab:hover { color:var(--cm-slate); }
.ajt-cm-tab.active { color:var(--cm-plum); border-bottom-color:var(--cm-plum); }
.ajt-cm-tab-count { display:inline-flex; align-items:center; justify-content:center; min-width:18px; height:18px; padding:0 5px; background:var(--cm-gray-200); border-radius:9px; font-size:10px; font-weight:700; color:var(--cm-gray-500); }
.ajt-cm-tab.active .ajt-cm-tab-count { background:var(--cm-plum-light); color:var(--cm-plum); }

.ajt-cm-tab-content { display:none; padding:16px 0; }
.ajt-cm-tab-content.active { display:block; }

/* ═══ SERVICE ROWS ═══ */
.ajt-cm-svc-list { display:flex; flex-direction:column; }
.ajt-cm-svc-row { display:flex; align-items:center; justify-content:space-between; padding:16px 0; border-bottom:1px solid var(--cm-gray-200); gap:16px; transition:background 0.15s; }
.ajt-cm-svc-row:last-child { border-bottom:none; }
.ajt-cm-svc-row:hover { background:var(--cm-gray-100); margin:0 -8px; padding-left:8px; padding-right:8px; border-radius:8px; }
.ajt-cm-svc-left { display:flex; align-items:center; gap:14px; flex:1; min-width:0; }
.ajt-cm-svc-icon { width:40px; height:40px; min-width:40px; display:flex; align-items:center; justify-content:center; background:var(--cm-plum-light); border-radius:10px; font-size:20px; flex-shrink:0; }
.ajt-cm-svc-name { font-weight:600; font-size:14px; color:var(--cm-slate); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ajt-cm-svc-right { display:flex; align-items:center; gap:20px; flex-shrink:0; }
.ajt-cm-svc-price { text-align:right; min-width:100px; }
.ajt-cm-price-total { display:block; font-size:15px; font-weight:700; color:var(--cm-slate); line-height:1.3; }
.ajt-cm-price-total small { font-size:10px; font-weight:600; color:var(--cm-gray-400); }
.ajt-cm-price-sub { display:block; font-size:12px; color:var(--cm-gray-400); line-height:1.3; }
.ajt-cm-price-sub small { font-size:10px; color:var(--cm-gray-300); }

.ajt-cm-qty { min-width:48px; text-align:center; }
.ajt-cm-qty-num { display:block; font-weight:800; font-size:24px; color:var(--cm-plum); line-height:1.1; }
.ajt-cm-qty-label { display:block; font-size:10px; color:var(--cm-gray-400); text-transform:uppercase; letter-spacing:0.5px; font-weight:600; }

.ajt-cm-adjust-row { display:flex; align-items:center; gap:0; }
.ajt-cm-adj-dec, .ajt-cm-adj-inc { width:34px; height:34px; min-width:34px; border:1px solid var(--cm-gray-300); background:#fff; color:var(--cm-gray-500); font-size:16px; font-weight:700; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; transition:all 0.15s; padding:0; }
.ajt-cm-adj-dec { border-radius:var(--cm-radius-sm) 0 0 var(--cm-radius-sm); border-right:none; }
.ajt-cm-adj-inc { border-radius:0 var(--cm-radius-sm) var(--cm-radius-sm) 0; border-left:none; }
.ajt-cm-adj-dec:hover, .ajt-cm-adj-inc:hover { background:var(--cm-gray-100); color:var(--cm-slate); }
.ajt-cm-adj-qty { width:48px !important; max-width:48px !important; min-width:48px !important; height:34px !important; border:1px solid var(--cm-gray-300) !important; border-radius:0 !important; font-size:14px !important; font-weight:600; text-align:center !important; color:var(--cm-slate); padding:0 4px !important; background:#fff !important; -moz-appearance:textfield !important; -webkit-appearance:none !important; appearance:none !important; box-shadow:none !important; margin:0 !important; }
.ajt-cm-adj-qty::-webkit-inner-spin-button, .ajt-cm-adj-qty::-webkit-outer-spin-button { -webkit-appearance:none !important; appearance:none !important; margin:0 !important; display:none !important; }
.ajt-cm-adj-qty:focus { outline:none; border-color:var(--cm-plum) !important; z-index:1; position:relative; }

/* ═══ BUTTONS ═══ */
.ajt-cm-btn-primary { display:inline-flex; align-items:center; gap:4px; padding:7px 16px; background:var(--cm-plum); color:#fff; border:none; border-radius:var(--cm-radius-sm); font-size:13px; font-weight:600; cursor:pointer; transition:all 0.2s; white-space:nowrap; margin-left:8px; }
.ajt-cm-btn-primary:hover { background:var(--cm-plum-dark); box-shadow:0 2px 8px rgba(123,76,117,0.25); }
.ajt-cm-btn-primary:disabled { opacity:0.5; cursor:not-allowed; }
.ajt-cm-btn-ghost { display:inline-flex; align-items:center; gap:4px; padding:7px 16px; background:transparent; color:var(--cm-gray-500); border:1px solid var(--cm-gray-300); border-radius:var(--cm-radius-sm); font-size:13px; font-weight:600; cursor:pointer; transition:all 0.2s; white-space:nowrap; }
.ajt-cm-btn-ghost:hover { background:var(--cm-gray-100); color:var(--cm-slate); }

/* ═══ CONTACTS GRID ═══ */
.ajt-cm-contact-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:12px; padding:4px 0; }
.ajt-cm-contact-card { display:flex; flex-direction:column; padding:14px; background:#fff; border:1px solid var(--cm-gray-200); border-radius:var(--cm-radius); transition:all 0.15s; }
.ajt-cm-contact-card:hover { border-color:var(--cm-plum); box-shadow:var(--cm-shadow); }
.ajt-cm-contact-top { display:flex; gap:12px; align-items:flex-start; flex:1; }

.ajt-cm-contact-avatar { width:36px; height:36px; min-width:36px; border-radius:50%; background:var(--cm-teal); color:#fff; display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:700; flex-shrink:0; }
.ajt-cm-contact-info { min-width:0; }
.ajt-cm-contact-name { font-weight:600; font-size:13px; color:var(--cm-slate); }
.ajt-cm-contact-title { font-size:11px; color:var(--cm-gray-400); margin-top:1px; }
.ajt-cm-contact-email { font-size:12px; color:var(--cm-teal); text-decoration:none; display:block; margin-top:4px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ajt-cm-contact-email:hover { text-decoration:underline; }
.ajt-cm-contact-phone { font-size:11px; color:var(--cm-gray-400); margin-top:2px; }

/* ═══ APPROVALS ═══ */
.ajt-cm-approval-row { display:flex; align-items:center; justify-content:space-between; padding:14px 18px; border-bottom:1px solid var(--cm-gray-200); gap:16px; transition:background 0.15s; }
.ajt-cm-approval-row:last-child { border-bottom:none; }
.ajt-cm-approval-row:hover { background:var(--cm-gray-100); }
.ajt-cm-approval-actions { display:flex; align-items:center; gap:8px; flex-shrink:0; }
.ajt-cm-approval-msg { font-size:12px; color:var(--cm-green); }

/* ═══ MISC ═══ */
.ajt-cm-link { color:var(--cm-plum); font-size:13px; font-weight:600; text-decoration:none; }
.ajt-cm-link:hover { text-decoration:underline; }
.ajt-cm-feedback { margin-top:10px; font-size:13px; }
.ajt-cm-notice { margin-top:12px; font-size:12px; padding:8px 12px; border-radius:var(--cm-radius-sm); }
.ajt-cm-notice--success { color:var(--cm-green); background:#ECFDF5; border:1px solid rgba(5,150,105,0.2); }
.ajt-cm-notice--warning { color:#92400E; background:#FFFBEB; border:1px solid rgba(217,119,6,0.2); }
.ajt-cm-error { color:var(--cm-red); }

/* ═══ LOGIN ═══ */
.ajt-cm-login-wrap { display:flex; justify-content:center; align-items:center; min-height:50vh; padding:40px 20px; }
.ajt-cm-login-card { width:100%; max-width:400px; background:#fff; border:1px solid var(--cm-gray-200); border-radius:12px; padding:40px 32px; box-shadow:var(--cm-shadow-lg); text-align:center; }
.ajt-cm-login-icon { font-size:40px; margin-bottom:12px; }
.ajt-cm-login-title { font-size:22px; font-weight:700; color:var(--cm-slate); margin:0 0 8px; }
.ajt-cm-login-subtitle { font-size:14px; color:var(--cm-gray-400); margin:0 0 28px; line-height:1.5; }
.ajt-cm-login-error { background:#FEE2E2; color:var(--cm-red); border:1px solid rgba(220,38,38,0.2); border-radius:8px; padding:10px 14px; font-size:13px; margin-bottom:20px; text-align:left; }
.ajt-cm-login-form { text-align:left; }
.ajt-cm-login-form label { display:block; font-size:13px; font-weight:600; color:var(--cm-slate-mid); margin-bottom:6px; }
.ajt-cm-login-form input[type="text"], .ajt-cm-login-form input[type="password"] { width:100%; padding:10px 14px; border:1px solid var(--cm-gray-300); border-radius:8px; font-size:14px; margin-bottom:16px; box-sizing:border-box; transition:border-color 0.2s; background:#fff; }
.ajt-cm-login-form input[type="text"]:focus, .ajt-cm-login-form input[type="password"]:focus { outline:none; border-color:var(--cm-plum); box-shadow:0 0 0 3px rgba(123,76,117,0.1); }
.ajt-cm-login-form .login-remember { display:flex; align-items:center; gap:6px; margin-bottom:20px; font-size:13px; color:var(--cm-gray-500); }
.ajt-cm-login-form .login-remember label { font-weight:400; margin-bottom:0; }
.ajt-cm-login-form input[type="submit"] { width:100%; padding:12px; background:var(--cm-plum); color:#fff; border:none; border-radius:8px; font-size:15px; font-weight:600; cursor:pointer; transition:all 0.2s; }
.ajt-cm-login-form input[type="submit"]:hover { background:var(--cm-plum-dark); box-shadow:0 2px 8px rgba(123,76,117,0.25); }
.ajt-cm-login-footer { margin:20px 0 0; font-size:13px; color:var(--cm-gray-400); }
.ajt-cm-login-footer a { color:var(--cm-plum); text-decoration:none; }
.ajt-cm-login-footer a:hover { text-decoration:underline; }

/* ═══ RESPONSIVE ═══ */
@media (max-width:960px) {
    .ajt-cm-topbar { flex-wrap:wrap !important; }
    .ajt-cm-nav { margin-left:0; margin-right:0; overflow-x:auto; width:100%; }
    .ajt-cm-topbar-right { justify-content:flex-end; width:100%; }
    .ajt-cm-stats { grid-template-columns:repeat(2,1fr) !important; }
    .ajt-cm-grid { grid-template-columns:1fr !important; }
}
@media (max-width:640px) {
    .ajt-cm-content { padding:16px; }
    .ajt-cm-companies { grid-template-columns:1fr; }
    .ajt-cm-contact-grid { grid-template-columns:1fr; }
    .ajt-cm-svc-row { flex-direction:column; align-items:flex-start; gap:12px; }
    .ajt-cm-svc-right { width:100%; justify-content:space-between; flex-wrap:wrap; }
    .ajt-cm-detail-title-row { flex-direction:column; align-items:flex-start; }
    .ajt-cm-approval-row { flex-direction:column; align-items:flex-start; gap:10px; }
    .ajt-cm-user-info { display:none; }
    .ajt-cm-login-card { margin:16px; padding:28px 20px; }
    .ajt-cm-section-head { flex-direction:column; align-items:flex-start; }
    .ajt-cm-search-input { width:100%; }
}

/* ═══ SINGLE-COL GRID (non-approver) ═══ */
.ajt-cm-grid--single { grid-template-columns:1fr; }

/* ═══ TICKET DETAIL MODAL ═══ */
.ajt-cm-modal-overlay { position:fixed; inset:0; background:rgba(45,40,54,0.5); z-index:9999; display:flex; align-items:center; justify-content:center; backdrop-filter:blur(2px); animation:ajt-cm-fadeIn 0.15s; overflow-y:auto; padding:30px 16px; }
.ajt-cm-modal { width:100%; max-width:1080px; max-height:calc(100vh - 60px); background:#fff; border-radius:12px; box-shadow:0 20px 60px rgba(45,40,54,0.3); display:flex; flex-direction:column; animation:ajt-cm-popIn 0.2s ease-out; }
@keyframes ajt-cm-popIn { from { opacity:0; transform:scale(0.95) translateY(10px); } to { opacity:1; transform:scale(1) translateY(0); } }
.ajt-cm-modal-header { display:flex; align-items:center; justify-content:space-between; padding:16px 24px; border-bottom:1px solid var(--cm-gray-200); flex-shrink:0; }
.ajt-cm-modal-header h3 { margin:0; font-size:14px; font-weight:700; color:var(--cm-slate); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; flex:1; margin-right:12px; }
.ajt-cm-modal-close { width:32px; height:32px; min-width:32px; border:none; background:var(--cm-gray-100); border-radius:6px; font-size:18px; color:var(--cm-gray-400); cursor:pointer; display:flex; align-items:center; justify-content:center; transition:all 0.15s; flex-shrink:0; }
.ajt-cm-modal-close:hover { background:var(--cm-gray-200); color:var(--cm-slate); }
.ajt-cm-modal-body { flex:1; overflow:hidden; display:flex; flex-direction:column; min-height:0; }

@keyframes ajt-cm-fadeIn { from { opacity:0; } to { opacity:1; } }
@keyframes ajt-cm-slideIn { from { transform:translateX(100%); } to { transform:translateX(0); } }

/* Ticket detail content */
.ajt-cm-ticket-detail { }
.ajt-cm-ticket-badges { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-bottom:16px; }
.ajt-cm-ticket-desc { background:var(--cm-gray-100); border:1px solid var(--cm-gray-200); border-radius:8px; padding:14px; font-size:13px; line-height:1.6; color:var(--cm-slate-mid); margin-bottom:20px; white-space:pre-wrap; word-break:break-word; max-height:200px; overflow-y:auto; }

/* Metadata strip at top of ticket detail */
.ajt-cm-detail-sidebar { display:flex; flex-wrap:wrap; gap:12px; padding:14px 16px; background:var(--cm-gray-100); border:1px solid var(--cm-gray-200); border-radius:8px; margin-bottom:18px; }
.ajt-cm-detail-sidebar .ajt-cm-sb-item { min-width:120px; }
.ajt-cm-detail-sidebar .ajt-cm-sb-label { display:block; font-size:10px; text-transform:uppercase; letter-spacing:0.5px; color:var(--cm-gray-400); font-weight:700; margin-bottom:4px; }
.ajt-cm-detail-sidebar .ajt-cm-sb-value { font-size:13px; color:var(--cm-slate); }
.ajt-cm-detail-sidebar select { padding:4px 8px; border:1px solid var(--cm-gray-300); border-radius:var(--cm-radius-sm); font-size:12px; background:#fff; cursor:pointer; }

/* Timeline cards — portal style */
.ajt-cm-timeline-card { border-radius:8px; padding:10px 12px; margin-bottom:6px; }
.ajt-cm-timeline-card--staff { background:#f0f9ff; border:1px solid #bfdbfe; }
.ajt-cm-timeline-card--customer { background:#fdf4ff; border:1px solid #e8d5e3; }
.ajt-cm-timeline-card--internal { background:#fffbeb; border:1px solid #fde68a; }
.ajt-cm-timeline-card--system { background:var(--cm-gray-100); border:1px solid var(--cm-gray-200); }
.ajt-cm-timeline-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:4px; flex-wrap:wrap; gap:4px; }
.ajt-cm-timeline-author { font-size:12px; font-weight:600; }
.ajt-cm-timeline-author--staff { color:#1e40af; }
.ajt-cm-timeline-author--customer { color:#7B4C75; }
.ajt-cm-timeline-author--internal { color:#d97706; }
.ajt-cm-timeline-date { font-size:11px; color:var(--cm-gray-400); }
.ajt-cm-timeline-badge { font-size:10px; font-weight:600; padding:1px 6px; border-radius:3px; margin-left:6px; }
.ajt-cm-timeline-badge--internal { color:#d97706; background:#FEF3C7; }
.ajt-cm-timeline-body { font-size:13px; line-height:1.5; color:var(--cm-slate-mid); white-space:pre-wrap; word-break:break-word; }
.ajt-cm-timeline-body--long { max-height:100px; overflow-y:auto; }
.ajt-cm-timeline-toggle { background:none; border:none; font-size:11px; cursor:pointer; font-weight:600; padding:2px 0; margin-top:2px; color:var(--cm-plum); }

/* Status change divider */
.ajt-cm-status-divider { display:flex; align-items:center; gap:8px; margin:10px 0; padding:0 4px; }
.ajt-cm-status-divider-line { flex:1; height:1px; background:var(--cm-gray-200); }
.ajt-cm-status-pill { font-size:11px; font-weight:600; color:#15803d; background:#f0fdf4; border:1px solid #bbf7d0; padding:3px 10px; border-radius:10px; white-space:nowrap; }
.ajt-cm-status-date { font-size:10px; color:var(--cm-gray-400); white-space:nowrap; }
.ajt-cm-ticket-section { margin:0 0 12px; font-size:11px; text-transform:uppercase; color:var(--cm-gray-400); letter-spacing:0.5px; font-weight:700; }

.ajt-cm-note { padding:12px 0; border-bottom:1px solid var(--cm-gray-200); }
.ajt-cm-note:last-of-type { border-bottom:none; }
.ajt-cm-note-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:4px; }
.ajt-cm-note-head strong { font-size:13px; color:var(--cm-slate); }
.ajt-cm-note-head span { font-size:11px; color:var(--cm-gray-400); }
.ajt-cm-note-body { font-size:13px; line-height:1.5; color:var(--cm-slate-mid); white-space:pre-wrap; word-break:break-word; }

.ajt-cm-note-form { margin-top:20px; padding-top:16px; border-top:1px solid var(--cm-gray-200); }
.ajt-cm-note-input { width:100%; padding:10px 14px; border:1px solid var(--cm-gray-300); border-radius:8px; font-size:13px; resize:vertical; font-family:inherit; transition:border-color 0.2s; box-sizing:border-box; }
.ajt-cm-note-input:focus { outline:none; border-color:var(--cm-plum); box-shadow:0 0 0 3px rgba(123,76,117,0.1); }

/* Clickable ticket rows */
.ajt-cm-ticket-link:hover,
.ajt-cm-ticket-item:hover { background:var(--cm-plum-light); cursor:pointer; }

/* ═══ TICKET FILTER BAR ═══ */
.ajt-cm-ticket-filters { display:flex; gap:8px; padding:12px 18px; border-bottom:1px solid var(--cm-gray-200); background:var(--cm-gray-100); flex-wrap:wrap; }
.ajt-cm-ticket-search { flex:1; min-width:160px; padding:7px 12px; border:1px solid var(--cm-gray-300); border-radius:var(--cm-radius-sm); font-size:13px; background:#fff; transition:border-color 0.2s; }
.ajt-cm-ticket-search:focus { outline:none; border-color:var(--cm-plum); box-shadow:0 0 0 3px rgba(123,76,117,0.1); }
.ajt-cm-ticket-filter-status,
.ajt-cm-ticket-filter-priority { padding:7px 10px; border:1px solid var(--cm-gray-300); border-radius:var(--cm-radius-sm); font-size:13px; background:#fff; color:var(--cm-slate); cursor:pointer; }

/* ═══ RICH TICKET ITEMS ═══ */
.ajt-cm-ticket-list { }
.ajt-cm-ticket-item { display:flex; align-items:center; gap:12px; padding:12px 18px; border-bottom:1px solid var(--cm-gray-200); transition:background 0.15s; }
.ajt-cm-ticket-item:last-child { border-bottom:none; }
.ajt-cm-ticket-status-dot { width:8px; height:8px; border-radius:50%; flex-shrink:0; }
.ajt-cm-ticket-content { flex:1; min-width:0; }
.ajt-cm-ticket-header { display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin-bottom:3px; }
.ajt-cm-ticket-number { font-size:12px; font-weight:700; color:var(--cm-gray-400); }
.ajt-cm-ticket-priority { display:inline-block; padding:1px 6px; border-radius:3px; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:0.3px; }
.ajt-cm-priority-critical { background:#FEE2E2; color:#991B1B; }
.ajt-cm-priority-high     { background:#FEF3C7; color:#92400E; }
.ajt-cm-priority-medium   { background:#E0E7FF; color:#3730A3; }
.ajt-cm-priority-low      { background:#D1FAE5; color:#065F46; }
.ajt-cm-priority-normal   { background:var(--cm-gray-200); color:var(--cm-gray-500); }
.ajt-cm-ticket-status { font-size:11px; color:var(--cm-gray-400); }
.ajt-cm-ticket-title { font-size:13px; font-weight:600; color:var(--cm-slate); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ajt-cm-ticket-meta { font-size:11px; color:var(--cm-gray-400); display:flex; flex-wrap:wrap; gap:4px; margin-top:2px; }
.ajt-cm-ticket-company { color:var(--cm-gray-500); }
.ajt-cm-ticket-issue { color:var(--cm-gray-400); }
.ajt-cm-ticket-due { font-size:11px; }
.ajt-cm-ticket-due--overdue { color:var(--cm-red); font-weight:600; }
.ajt-cm-ticket-due--today { color:var(--cm-amber); font-weight:600; }
.ajt-cm-ticket-lastactivity { font-size:10px; color:var(--cm-gray-400); margin-top:2px; }
.ajt-cm-ticket-arrow { color:var(--cm-gray-300); flex-shrink:0; transition:color 0.15s; }
.ajt-cm-ticket-item:hover .ajt-cm-ticket-arrow { color:var(--cm-plum); }

/* ═══ TICKET PAGINATION ═══ */
.ajt-cm-ticket-pagination { display:flex; align-items:center; justify-content:center; gap:12px; padding:12px 18px; border-top:1px solid var(--cm-gray-200); background:var(--cm-gray-100); }
.ajt-cm-pagination-btn { padding:6px 14px; border:1px solid var(--cm-gray-300); border-radius:var(--cm-radius-sm); background:#fff; font-size:13px; font-weight:600; color:var(--cm-slate); cursor:pointer; transition:all 0.15s; }
.ajt-cm-pagination-btn:hover:not(:disabled) { background:var(--cm-gray-100); border-color:var(--cm-plum); }
.ajt-cm-pagination-btn:disabled { opacity:0.4; cursor:not-allowed; }
.ajt-cm-pagination-info { font-size:13px; color:var(--cm-gray-400); font-weight:600; }

/* ═══ TWO-COLUMN MODAL LAYOUT ═══ */
.ajt-cm-modal-two-column { display:grid; grid-template-columns:1fr 300px; gap:0; flex:1; min-height:0; overflow:hidden; }
.ajt-cm-modal-left { overflow:hidden; min-height:0; display:flex; flex-direction:column; }
.ajt-cm-modal-right { border-left:1px solid var(--cm-gray-200,#e5e7eb); background:var(--cm-gray-50,#f9fafb); overflow-y:auto; min-height:0; }

/* ═══ SIDEBAR SECTIONS ═══ */
.ajt-cm-sidebar-section { margin-bottom:18px; padding-bottom:14px; border-bottom:1px solid var(--cm-gray-200); }
.ajt-cm-sidebar-section:last-child { border-bottom:none; margin-bottom:0; }
.ajt-cm-sidebar-label { display:block; font-size:10px; text-transform:uppercase; letter-spacing:0.5px; color:var(--cm-gray-400); font-weight:700; margin-bottom:6px; }
.ajt-cm-sidebar-value { font-size:13px; color:var(--cm-slate); }
.ajt-cm-sidebar-date { font-size:12px; color:var(--cm-gray-500); margin-bottom:3px; }
.ajt-cm-sidebar-date span { color:var(--cm-gray-400); font-weight:600; }

/* Status dropdown in sidebar */
.ajt-cm-ticket-status-select { width:100%; padding:7px 10px; border:1px solid var(--cm-gray-300); border-radius:var(--cm-radius-sm); font-size:13px; font-weight:600; background:#fff; color:var(--cm-slate); cursor:pointer; transition:border-color 0.2s; }
.ajt-cm-ticket-status-select:focus { outline:none; border-color:var(--cm-plum); box-shadow:0 0 0 3px rgba(123,76,117,0.1); }

/* ═══ ACTIVITY TIMELINE NOTE TYPES ═══ */
.ajt-cm-activity-note--customer { background:rgba(59,130,246,0.05); border-left:3px solid #3b82f6; padding-left:12px; margin-left:-12px; }
.ajt-cm-activity-note--staff { background:transparent; }
.ajt-cm-activity-note--internal { background:rgba(217,119,6,0.06); border-left:3px solid var(--cm-amber); padding-left:12px; margin-left:-12px; }
.ajt-cm-activity-note--system { background:transparent; }
.ajt-cm-activity-note--system .ajt-cm-note-body { font-style:italic; color:var(--cm-gray-400); }
.ajt-cm-note-type-indicator { font-size:10px; font-weight:600; color:var(--cm-amber); background:#FEF3C7; padding:1px 6px; border-radius:3px; margin-left:6px; }

/* ═══ REPLY FORM ENHANCEMENTS ═══ */
.ajt-cm-note-form-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; }
.ajt-cm-note-type-badge { font-size:12px; font-weight:600; color:var(--cm-slate); }
.ajt-cm-note-type-badge.ajt-cm-note-internal { color:var(--cm-amber); }
.ajt-cm-note-type { padding:4px 8px; border:1px solid var(--cm-gray-300); border-radius:var(--cm-radius-sm); font-size:12px; background:#fff; cursor:pointer; }
.ajt-cm-note-attribution { font-size:11px; color:var(--cm-gray-400); margin-bottom:6px; }
.ajt-cm-note-attribution strong { color:var(--cm-slate-mid); }
.ajt-cm-note-textarea { width:100%; padding:10px 14px; border:1px solid var(--cm-gray-300); border-radius:8px; font-size:13px; resize:vertical; font-family:inherit; transition:border-color 0.2s; box-sizing:border-box; }
.ajt-cm-note-textarea:focus { outline:none; border-color:var(--cm-plum); box-shadow:0 0 0 3px rgba(123,76,117,0.1); }
.ajt-cm-note-actions { display:flex; align-items:center; justify-content:space-between; margin-top:8px; flex-wrap:wrap; gap:8px; }
.ajt-cm-note-buttons { display:flex; align-items:center; gap:8px; }
.ajt-cm-file-list { flex:1; min-width:0; }
.ajt-cm-file-item { display:inline-flex; align-items:center; gap:6px; padding:4px 10px; background:var(--cm-gray-100); border:1px solid var(--cm-gray-200); border-radius:var(--cm-radius-sm); font-size:12px; color:var(--cm-slate-mid); }
.ajt-cm-file-remove { border:none; background:none; color:var(--cm-gray-400); cursor:pointer; font-size:14px; padding:0 2px; }
.ajt-cm-file-remove:hover { color:var(--cm-red); }
.ajt-cm-attach-label { cursor:pointer; font-size:12px; }

/* ═══ TIME ENTRIES ═══ */
.ajt-cm-time-entries { }
.ajt-cm-time-entry { display:flex; flex-wrap:wrap; align-items:baseline; gap:6px; padding:5px 0; border-bottom:1px solid var(--cm-gray-200); font-size:12px; }
.ajt-cm-time-entry:last-of-type { border-bottom:none; }
.ajt-cm-te-resource { color:var(--cm-slate); font-weight:600; flex:1; min-width:0; }
.ajt-cm-te-hours { color:var(--cm-teal); font-weight:700; }
.ajt-cm-te-date { color:var(--cm-gray-400); font-size:11px; width:100%; }
.ajt-cm-te-total { display:flex; justify-content:space-between; padding-top:6px; margin-top:4px; border-top:1px solid var(--cm-gray-300); font-size:12px; }
.ajt-cm-te-total strong { color:var(--cm-slate); }
.ajt-cm-te-total span { color:var(--cm-teal); font-weight:700; }

@media (max-width:640px) {
    .ajt-cm-modal { max-width:100%; }
    .ajt-cm-modal-two-column { grid-template-columns:1fr; }
    .ajt-cm-modal-right { border-left:none; border-top:1px solid var(--cm-gray-200,#e5e7eb); }
    .ajt-cm-detail-sidebar { flex-direction:column; }
    .ajt-cm-ticket-filters { flex-direction:column; }
    .ajt-cm-ticket-search { width:100%; }
}
@media (max-width:768px) and (min-width:641px) {
    /* modal remains full-width on medium screens */
}

/* ═══ CLICKABLE STAT CARDS ═══ */
a.ajt-cm-stat { text-decoration:none; color:inherit; cursor:pointer; }
a.ajt-cm-stat:hover { transform:translateY(-3px); box-shadow:var(--cm-shadow-lg); border-color:var(--cm-plum); }

/* ═══ RECENT CHANGES POPOVER ═══ */
.ajt-cm-popover { position:relative; background:#fff; border:1px solid var(--cm-gray-200); border-radius:var(--cm-radius); box-shadow:var(--cm-shadow-lg); margin-bottom:24px; animation:ajt-cm-popoverIn 0.15s ease-out; overflow:hidden; }
.ajt-cm-popover-head { display:flex; align-items:center; justify-content:space-between; padding:14px 18px; background:var(--cm-gray-100); border-bottom:1px solid var(--cm-gray-200); }
.ajt-cm-popover-head h3 { margin:0; font-size:14px; font-weight:700; color:var(--cm-slate); }
.ajt-cm-popover-close { width:28px; height:28px; min-width:28px; border:none; background:transparent; border-radius:6px; font-size:18px; color:var(--cm-gray-400); cursor:pointer; display:flex; align-items:center; justify-content:center; transition:all 0.15s; }
.ajt-cm-popover-close:hover { background:var(--cm-gray-200); color:var(--cm-slate); }
.ajt-cm-popover-body { max-height:360px; overflow-y:auto; }

@keyframes ajt-cm-popoverIn { from { opacity:0; transform:translateY(-8px); } to { opacity:1; transform:translateY(0); } }

/* Recent change items */
.ajt-cm-rc-item { padding:14px 18px; border-bottom:1px solid var(--cm-gray-200); transition:background 0.15s; }
.ajt-cm-rc-item:last-child { border-bottom:none; }
.ajt-cm-rc-item:hover { background:var(--cm-gray-100); }
.ajt-cm-rc-top { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:4px; }
.ajt-cm-rc-name { font-weight:600; font-size:13px; color:var(--cm-slate); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ajt-cm-rc-detail { font-size:12px; color:var(--cm-gray-500); display:flex; flex-wrap:wrap; gap:4px; align-items:center; }
.ajt-cm-rc-detail strong { color:var(--cm-slate-mid); font-weight:600; }
.ajt-cm-rc-date { font-size:11px; color:var(--cm-gray-400); margin-top:4px; }

/* ══════════════════════════════════════════════════════════════
 * v1.14.0 — Admin Quick-Access Bar
 * ══════════════════════════════════════════════════════════════ */

.ajt-cm-admin-bar {
    display:flex; flex-wrap:wrap; gap:8px; padding:10px 24px;
    background:var(--cm-slate,#1e293b); border-bottom:1px solid rgba(255,255,255,0.08);
    justify-content:center;
}
.ajt-cm-admin-btn {
    display:inline-flex; align-items:center; gap:5px; padding:6px 14px;
    font-size:12px; font-weight:600; color:#cbd5e1; text-decoration:none;
    background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.1);
    border-radius:6px; transition:all 0.2s; cursor:pointer; white-space:nowrap;
    box-shadow:0 0 0 0 transparent;
}
.ajt-cm-admin-btn:hover {
    color:#fff; background:rgba(255,255,255,0.1);
    border-color:var(--cm-accent, #A04398);
    box-shadow:0 0 12px color-mix(in srgb, var(--cm-accent, #A04398) 40%, transparent),
               0 0 4px color-mix(in srgb, var(--cm-accent, #A04398) 20%, transparent);
}
.ajt-cm-admin-label {
    font-size:10px; font-weight:700; color:rgba(255,255,255,0.35); text-transform:uppercase;
    letter-spacing:0.08em; margin-right:6px; white-space:nowrap;
}
.ajt-cm-ext-icon { opacity:0.35; flex-shrink:0; transition:opacity 0.15s; margin-left:-1px; }
.ajt-cm-admin-btn:hover .ajt-cm-ext-icon { opacity:0.75; }

/* ══════════════════════════════════════════════════════════════
 * v1.14.0 — Quick-Create Actions (E10)
 * ══════════════════════════════════════════════════════════════ */

.ajt-cm-greeting { margin-bottom:24px; }
.ajt-cm-greeting-text h1 { margin:0 0 4px; }
.ajt-cm-greeting-text p { margin:0; }
.ajt-cm-quick-actions { display:flex; flex-wrap:wrap; gap:8px; align-items:center; padding-top:4px; }
.ajt-cm-quick-btn {
    display:inline-flex; align-items:center; gap:5px; padding:7px 14px;
    font-size:12px; font-weight:600; color:var(--cm-slate,#1e293b); text-decoration:none;
    background:#fff; border:1px solid var(--cm-gray-200,#e2e8f0);
    border-radius:8px; cursor:pointer; transition:all 0.15s; white-space:nowrap;
}
.ajt-cm-quick-btn:hover { border-color:var(--ajt-plum,#714b9e); color:var(--ajt-plum,#714b9e); box-shadow:0 2px 8px rgba(113,75,158,0.1); }
.ajt-cm-quick-btn svg { flex-shrink:0; }

/* ══════════════════════════════════════════════════════════════
 * v1.14.0 — Service Change Impact Preview (E7)
 * ══════════════════════════════════════════════════════════════ */

.ajt-cm-impact-preview {
    display:flex; flex-wrap:wrap; align-items:center; gap:5px;
    margin-top:6px; padding:6px 10px;
    background:#f0fdf4; border:1px solid #bbf7d0; border-radius:6px;
    font-size:12px; color:#166534;
}
.ajt-cm-impact-label { font-weight:700; }
.ajt-cm-impact-unit { color:#15803d; }

/* ══════════════════════════════════════════════════════════════
 * v1.14.0 — Finance Tab
 * ══════════════════════════════════════════════════════════════ */

.ajt-cm-finance { display:flex; flex-direction:column; gap:24px; }
.ajt-cm-finance-head { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; }
.ajt-cm-export-btn { font-size:12px !important; background:#f8fafc !important; }

/* ── 6 KPI Cards ── */
.ajt-cm-finance-kpis {
    display:grid; grid-template-columns:repeat(auto-fit, minmax(155px, 1fr)); gap:12px;
}
.ajt-cm-fkpi {
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    padding:20px 12px 16px; text-align:center; text-decoration:none; color:inherit;
    background:#fff; border:1px solid var(--cm-gray-200,#e2e8f0); border-radius:12px;
    transition:all 0.18s; cursor:default;
}
a.ajt-cm-fkpi { cursor:pointer; }
a.ajt-cm-fkpi:hover { border-color:var(--ajt-plum,#714b9e); box-shadow:0 4px 16px rgba(113,75,158,0.08); transform:translateY(-2px); }
.ajt-cm-fkpi-value { font-size:28px; font-weight:900; color:var(--cm-slate,#1e293b); line-height:1.1; }
.ajt-cm-fkpi-label { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:0.05em; color:var(--cm-gray-400,#94a3b8); margin-top:6px; }
.ajt-cm-fkpi-sub { font-size:13px; font-weight:600; color:var(--cm-slate-mid,#475569); margin-top:4px; }
.ajt-cm-fkpi--pending { background:#fffbeb; border-color:#fde68a; }
.ajt-cm-fkpi--pending .ajt-cm-fkpi-value { color:#b45309; }
.ajt-cm-fkpi--overdue { background:#fef2f2; border-color:#fecaca; }
.ajt-cm-fkpi--overdue .ajt-cm-fkpi-value { color:#dc2626; }
.ajt-cm-fkpi--success .ajt-cm-fkpi-value { color:#059669; }
.ajt-cm-fkpi--teal .ajt-cm-fkpi-value { color:var(--ajt-teal,#18b4ac); }

/* ── MSP Hub Chip Strip ── */
.ajt-cm-finance-chips {
    display:flex; flex-wrap:wrap; align-items:center; gap:10px;
    padding:12px 18px; background:var(--cm-slate,#1e293b); border-radius:10px;
}
.ajt-cm-finance-chip-badge {
    font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:0.08em;
    color:#fff; background:var(--ajt-plum,#714b9e); padding:4px 10px; border-radius:5px;
}
.ajt-cm-finance-chip {
    font-size:13px; color:#94a3b8; display:flex; align-items:center; gap:5px;
}
.ajt-cm-finance-chip strong { color:#f1f5f9; font-weight:700; }

/* ── Revenue Breakdown ── */
.ajt-cm-finance-section {
    background:#fff; border:1px solid var(--cm-gray-200,#e2e8f0); border-radius:12px;
    padding:24px; display:flex; flex-direction:column; gap:16px;
}
.ajt-cm-finance-section-head { display:flex; justify-content:space-between; align-items:center; }
.ajt-cm-finance-section-head h3 { margin:0; font-size:16px; font-weight:700; color:var(--cm-slate,#1e293b); }
.ajt-cm-finance-meta { font-size:12px; color:var(--cm-gray-400,#94a3b8); }

.ajt-cm-finance-bar { display:flex; height:28px; border-radius:8px; overflow:hidden; gap:2px; }
.ajt-cm-finance-bar-seg { min-width:4px; border-radius:4px; transition:opacity 0.15s; cursor:help; }
.ajt-cm-finance-bar-seg:hover { opacity:0.8; }

.ajt-cm-finance-bar-legend { display:flex; flex-wrap:wrap; gap:12px; }
.ajt-cm-finance-legend-item { display:flex; align-items:center; gap:5px; font-size:12px; color:var(--cm-slate-mid,#475569); }
.ajt-cm-finance-legend-item small { color:var(--cm-gray-400,#94a3b8); }
.ajt-cm-finance-legend-dot { width:8px; height:8px; border-radius:50%; flex-shrink:0; }

/* ── Revenue Totals + Circles ── */
.ajt-cm-finance-totals {
    display:flex; gap:16px; flex-wrap:wrap;
}
.ajt-cm-finance-total-left, .ajt-cm-finance-total-right {
    flex:1; min-width:180px; padding:16px 20px;
    background:#f8fafc; border-radius:10px; border:1px solid var(--cm-gray-200,#e2e8f0);
}
.ajt-cm-finance-total-label { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:0.06em; color:var(--cm-gray-400,#94a3b8); margin-bottom:4px; }
.ajt-cm-finance-total-value { font-size:24px; font-weight:900; color:var(--cm-slate,#1e293b); }

.ajt-cm-finance-circles { display:grid; grid-template-columns:repeat(auto-fit, minmax(140px, 1fr)); gap:12px; }
.ajt-cm-finance-circle {
    display:flex; flex-direction:column; align-items:center; text-align:center;
    padding:16px 10px; background:#f8fafc; border:1px solid var(--cm-gray-200,#e2e8f0); border-radius:10px;
}
.ajt-cm-finance-circle-icon { font-size:20px; margin-bottom:6px; }
.ajt-cm-finance-circle-val { font-size:20px; font-weight:900; color:var(--cm-slate,#1e293b); line-height:1.2; }
.ajt-cm-finance-circle-val small { font-size:11px; font-weight:600; color:var(--cm-gray-400,#94a3b8); }
.ajt-cm-finance-circle-sub { font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:0.05em; color:var(--cm-gray-400,#94a3b8); margin-top:4px; }
.ajt-cm-finance-circle-detail { font-size:11px; color:var(--cm-slate-mid,#475569); margin-top:2px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100%; }

/* ── Finance Insights Grid (3×2) ── */
.ajt-cm-finance-insights {
    display:grid; grid-template-columns:repeat(3, 1fr); gap:14px;
}

/* ── Responsive ── */
@media (max-width:1024px) {
    .ajt-cm-finance-insights { grid-template-columns:repeat(2, 1fr); }
    .ajt-cm-finance-circles { grid-template-columns:repeat(3, 1fr); }
}
@media (max-width:768px) {
    .ajt-cm-admin-bar { padding:8px 16px; }
    .ajt-cm-finance-kpis { grid-template-columns:repeat(2, 1fr); }
    .ajt-cm-finance-insights { grid-template-columns:1fr; }
    .ajt-cm-finance-circles { grid-template-columns:repeat(2, 1fr); }
    .ajt-cm-greeting { margin-bottom:20px; }
    .ajt-cm-quick-actions { width:100%; justify-content:flex-start; }
}
@media (max-width:480px) {
    .ajt-cm-finance-kpis { grid-template-columns:1fr; }
    .ajt-cm-finance-circles { grid-template-columns:1fr 1fr; }
    .ajt-cm-admin-bar { gap:6px; }
    .ajt-cm-admin-btn { padding:5px 10px; font-size:11px; }
}

/* ══════════════════════════════════════════════════════════════
 * v1.14.0 — Finance Date Filter
 * ══════════════════════════════════════════════════════════════ */

.ajt-cm-finance-controls { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.ajt-cm-finance-date-filter { display:flex; align-items:center; gap:4px; flex-wrap:wrap; }
.ajt-cm-date-pill {
    display:inline-flex; align-items:center; gap:3px; padding:5px 10px;
    font-size:11px; font-weight:600; color:var(--cm-slate-mid,#475569); text-decoration:none;
    background:#fff; border:1px solid var(--cm-gray-200,#e2e8f0); border-radius:6px;
    cursor:pointer; transition:all 0.15s; white-space:nowrap;
}
.ajt-cm-date-pill:hover { border-color:var(--ajt-plum,#714b9e); color:var(--ajt-plum,#714b9e); }
.ajt-cm-date-pill.active { background:var(--cm-slate,#1e293b); color:#fff; border-color:var(--cm-slate,#1e293b); }
.ajt-cm-date-sep { color:var(--cm-gray-300,#d1d5db); font-size:11px; margin:0 2px; }
.ajt-cm-date-custom { display:flex; align-items:center; gap:4px; margin:0; }
.ajt-cm-date-input {
    font-size:11px; padding:4px 6px; border:1px solid var(--cm-gray-200,#e2e8f0);
    border-radius:5px; background:#fff; color:var(--cm-slate,#1e293b); width:120px;
}
.ajt-cm-finance-range-label {
    font-size:12px; color:var(--cm-gray-400,#94a3b8); text-align:right;
}
.ajt-cm-finance-range-label strong { color:var(--cm-slate-mid,#475569); }

/* Revenue Breakdown wrapper — override card nesting from widget */
.ajt-cm-finance-revenue-wrap { padding:0; border:none; background:transparent; }
.ajt-cm-finance-revenue-wrap .ajt-card { border:1px solid var(--cm-gray-200,#e2e8f0); border-radius:12px; background:#fff; }
.ajt-cm-finance-revenue-wrap .ajt-card-head { padding:16px 20px 0; }
.ajt-cm-finance-revenue-wrap .ajt-revenue-bar-container { padding:12px 20px 20px; }

@media (max-width:768px) {
    .ajt-cm-finance-controls { flex-direction:column; align-items:flex-start; }
    .ajt-cm-date-input { width:100px; }
}

/* ══════════════════════════════════════════════════════════════
 * v1.14.0 -- Widget Styles for Finance Tab
 * Subset of Stripe Pro admin dashboard CSS needed for Revenue
 * Breakdown and Finance Insight widgets when rendered on frontend.
 * ══════════════════════════════════════════════════════════════ */

/* CSS variable fallbacks for frontend context */
.ajt-cm-finance { --ajt-surface:#fff; --ajt-border:#e2e8f0; --ajt-border-light:#f1f5f9; --ajt-radius:12px; --ajt-radius-sm:8px; --ajt-shadow:0 1px 3px rgba(0,0,0,.06); --ajt-shadow-md:0 4px 12px rgba(0,0,0,.08); --ajt-text:#1e293b; --ajt-text-secondary:#475569; --ajt-text-muted:#94a3b8; --ajt-space:#25283d; --ajt-plum:#714b9e; --ajt-surface-hover:#f8fafc; --ajt-success:#059669; --ajt-success-light:#ecfdf5; --ajt-warning-light:#fffbeb; --ajt-danger:#dc2626; --ajt-danger-light:#fef2f2; --ajt-gray-50:#f9fafb; }

/* Card base (used by revenue breakdown and widgets) */
.ajt-cm-finance .ajt-card { background:var(--ajt-surface); border:1px solid var(--ajt-border); border-radius:var(--ajt-radius); overflow:hidden; }
.ajt-cm-finance .ajt-card-head { display:flex; align-items:center; justify-content:space-between; padding:14px 20px; }
.ajt-cm-finance .ajt-card-title { font-size:14px; font-weight:800; color:var(--ajt-text); }
.ajt-cm-finance .ajt-span-full { grid-column:1/-1; }

/* Revenue stacked bar */
.ajt-cm-finance .ajt-revenue-bar-container { padding:12px 20px 20px; }
.ajt-cm-finance .ajt-revenue-stacked { display:flex; height:28px; border-radius:8px; overflow:hidden; margin-bottom:12px; gap:2px; }
.ajt-cm-finance .ajt-revenue-seg { position:relative; transition:flex .4s ease; cursor:help; border-radius:4px; }
.ajt-cm-finance .ajt-revenue-seg:hover { filter:brightness(1.15); }
.ajt-cm-finance .ajt-revenue-legend { display:flex; flex-wrap:wrap; gap:10px 16px; }
.ajt-cm-finance .ajt-revenue-item { display:flex; align-items:center; gap:5px; font-size:12px; }
.ajt-cm-finance .ajt-revenue-dot { width:9px; height:9px; border-radius:3px; flex-shrink:0; }
.ajt-cm-finance .ajt-revenue-item-label { font-size:11px; color:var(--ajt-text-secondary); font-weight:600; }
.ajt-cm-finance .ajt-revenue-item-value { font-size:11px; color:var(--ajt-text); font-weight:800; }
.ajt-cm-finance .ajt-revenue-item-pct { font-size:10px; color:var(--ajt-text-muted); font-weight:600; }
.ajt-cm-finance .ajt-revenue-classify-hint { font-size:12px; cursor:pointer; opacity:0.5; }
.ajt-cm-finance .ajt-revenue-classify-hint:hover { opacity:1; }
.ajt-cm-finance .ajt-revenue-totals { display:flex; justify-content:space-between; margin-top:12px; padding-top:12px; border-top:1px solid var(--ajt-border-light); }
.ajt-cm-finance .ajt-revenue-total-label { font-size:10px; text-transform:uppercase; letter-spacing:.06em; color:var(--ajt-text-muted); font-weight:700; }
.ajt-cm-finance .ajt-revenue-total-value { font-size:18px; font-weight:900; color:var(--ajt-text); letter-spacing:-.02em; }

/* Circle indicators inside revenue card */
.ajt-cm-finance .ajt-circle-row { display:grid; grid-template-columns:repeat(5,1fr); gap:10px; padding:16px 0 4px; border-top:1px solid var(--ajt-border-light); margin-top:14px; }
.ajt-cm-finance .ajt-circle-card { display:flex; align-items:center; gap:10px; padding:12px 14px; background:var(--ajt-surface); border:1px solid var(--ajt-border-light); border-radius:var(--ajt-radius-sm); transition:all .2s; }
.ajt-cm-finance .ajt-circle-card:hover { box-shadow:var(--ajt-shadow); }
.ajt-cm-finance .ajt-circle-ring { width:44px; height:44px; border-radius:50%; display:flex; align-items:center; justify-content:center; flex-shrink:0; position:relative; }
.ajt-cm-finance .ajt-circle-ring::before { content:''; position:absolute; inset:0; border-radius:50%; background:conic-gradient(var(--ajt-ring-color,var(--ajt-plum)) 0deg var(--ajt-ring-deg,270deg), rgba(113,75,158,0.12) var(--ajt-ring-deg,270deg) 360deg); }
.ajt-cm-finance .ajt-circle-inner { width:32px; height:32px; border-radius:50%; background:var(--ajt-surface); display:flex; align-items:center; justify-content:center; position:relative; z-index:1; }
.ajt-cm-finance .ajt-circle-emoji { font-size:14px; }
.ajt-cm-finance .ajt-circle-info { min-width:0; }
.ajt-cm-finance .ajt-circle-value { font-size:16px; font-weight:900; color:var(--ajt-space); line-height:1.1; }
.ajt-cm-finance .ajt-circle-label { font-size:8.5px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--ajt-text-muted); margin-top:2px; }
.ajt-cm-finance .ajt-circle-sub { font-size:10px; font-weight:600; color:var(--ajt-text-secondary); margin-top:1px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:120px; }
.ajt-cm-finance .ajt-circle-empty { display:flex; align-items:center; gap:14px; padding:20px 24px; background:var(--ajt-surface); border:1px dashed var(--ajt-border); border-radius:var(--ajt-radius); font-size:13px; color:var(--ajt-text); }
@media(max-width:1300px){ .ajt-cm-finance .ajt-circle-row { grid-template-columns:repeat(3,1fr); } }
@media(max-width:800px){ .ajt-cm-finance .ajt-circle-row { grid-template-columns:repeat(2,1fr); } }

/* Insight cards */
.ajt-cm-finance .ajt-insights-section { padding:0; }
.ajt-cm-finance .ajt-insight-section-head { display:flex; align-items:center; gap:10px; padding:0 0 12px; }
.ajt-cm-finance .ajt-insight-section-title { font-size:13px; font-weight:800; color:var(--ajt-text); }
.ajt-cm-finance .ajt-insights-row { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; padding:0; }
.ajt-cm-finance .ajt-insight-card { background:var(--ajt-surface); border:1px solid var(--ajt-border); border-radius:var(--ajt-radius); overflow:hidden; box-shadow:var(--ajt-shadow); transition:all .2s; }
.ajt-cm-finance .ajt-insight-card:hover { box-shadow:var(--ajt-shadow-md); transform:translateY(-2px); }
.ajt-cm-finance .ajt-insight-head { display:flex; align-items:center; justify-content:space-between; padding:12px 16px; border-bottom:1px solid var(--ajt-border-light); }
.ajt-cm-finance .ajt-insight-title { font-size:12px; font-weight:800; color:var(--ajt-text); display:flex; align-items:center; gap:6px; }
.ajt-cm-finance .ajt-insight-list { list-style:none; margin:0; padding:0; }
.ajt-cm-finance .ajt-insight-item { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:9px 16px; border-bottom:1px solid var(--ajt-border-light); transition:background .15s; }
.ajt-cm-finance .ajt-insight-item:last-child { border-bottom:none; }
.ajt-cm-finance .ajt-insight-item:hover { background:var(--ajt-surface-hover); }
.ajt-cm-finance .ajt-insight-rank { width:20px; height:20px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:9px; font-weight:900; flex-shrink:0; }
.ajt-cm-finance .ajt-insight-rank.gold { background:#fef3c7; color:#92400e; }
.ajt-cm-finance .ajt-insight-rank.silver { background:#f3f4f6; color:#6b7280; }
.ajt-cm-finance .ajt-insight-rank.bronze { background:#fef2f2; color:#b45309; }
.ajt-cm-finance .ajt-insight-rank.std { background:var(--ajt-gray-50); color:#9ca3af; }
.ajt-cm-finance .ajt-insight-name { flex:1; min-width:0; font-size:12px; font-weight:600; color:var(--ajt-text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ajt-cm-finance .ajt-insight-badge { display:inline-flex; padding:2px 8px; border-radius:9px; font-size:9.5px; font-weight:800; white-space:nowrap; }
.ajt-cm-finance .ajt-badge-good { background:var(--ajt-success-light); color:var(--ajt-success); }
.ajt-cm-finance .ajt-badge-warn { background:var(--ajt-warning-light); color:#92400e; }
.ajt-cm-finance .ajt-badge-bad { background:var(--ajt-danger-light); color:var(--ajt-danger); }
.ajt-cm-finance .ajt-badge-neutral { background:#f3f4f6; color:#6b7280; }
.ajt-cm-finance .ajt-insight-amount { font-size:12px; font-weight:800; color:var(--ajt-text); white-space:nowrap; }
.ajt-cm-finance .ajt-insight-empty { padding:24px 16px; text-align:center; font-size:12px; color:var(--ajt-text-muted); }
.ajt-cm-finance .ajt-insight-bar-track { flex:1; max-width:100px; height:6px; border-radius:3px; background:var(--ajt-border-light); overflow:hidden; }
.ajt-cm-finance .ajt-insight-bar-fill { height:100%; border-radius:3px; transition:width .4s ease; }
.ajt-cm-finance .ajt-trend-up { color:var(--ajt-success); }
.ajt-cm-finance .ajt-trend-down { color:var(--ajt-danger); }
.ajt-cm-finance .ajt-trend-flat { color:var(--ajt-text-muted); }

/* Customer Intel card */
.ajt-cm-finance .ajt-ci-select { width:calc(100% - 32px); font-size:11px; padding:6px 10px; border:1px solid var(--ajt-border); border-radius:6px; background:var(--ajt-surface); color:var(--ajt-text); cursor:pointer; margin:10px 16px; }
.ajt-cm-finance .ajt-ci-body { padding:0; min-height:120px; }
.ajt-cm-finance .ajt-ci-loading { padding:24px 16px; text-align:center; font-size:12px; color:var(--ajt-text-muted); }
.ajt-cm-finance .ajt-ci-score { display:flex; align-items:center; justify-content:center; gap:12px; padding:14px 16px; border-bottom:1px solid var(--ajt-border-light); }
.ajt-cm-finance .ajt-ci-score-ring { width:48px; height:48px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:16px; font-weight:900; color:#fff; flex-shrink:0; }
.ajt-cm-finance .ajt-ci-score-ring.score-a { background:linear-gradient(135deg,#059669,#34d399); }
.ajt-cm-finance .ajt-ci-score-ring.score-b { background:linear-gradient(135deg,#2563eb,#60a5fa); }
.ajt-cm-finance .ajt-ci-score-ring.score-c { background:linear-gradient(135deg,#d97706,#fbbf24); }
.ajt-cm-finance .ajt-ci-score-ring.score-d { background:linear-gradient(135deg,#dc2626,#f87171); }
.ajt-cm-finance .ajt-ci-score-label { font-size:10px; font-weight:700; color:var(--ajt-text-muted); text-transform:uppercase; }
.ajt-cm-finance .ajt-ci-score-desc { font-size:11px; color:var(--ajt-text); font-weight:600; }
.ajt-cm-finance .ajt-ci-stats { display:grid; grid-template-columns:1fr 1fr; gap:0; }
.ajt-cm-finance .ajt-ci-stat { padding:8px 14px; border-bottom:1px solid var(--ajt-border-light); border-right:1px solid var(--ajt-border-light); }
.ajt-cm-finance .ajt-ci-stat:nth-child(even) { border-right:none; }
.ajt-cm-finance .ajt-ci-stat:nth-last-child(-n+2) { border-bottom:none; }
.ajt-cm-finance .ajt-ci-stat-val { font-size:13px; font-weight:800; color:var(--ajt-text); }
.ajt-cm-finance .ajt-ci-stat-key { font-size:9px; font-weight:700; color:var(--ajt-text-muted); text-transform:uppercase; letter-spacing:.04em; margin-top:1px; }

@media(max-width:900px){ .ajt-cm-finance .ajt-insights-row { grid-template-columns:repeat(2,1fr); } }
@media(max-width:600px){ .ajt-cm-finance .ajt-insights-row { grid-template-columns:1fr; } }

/* ══════════════════════════════════════════════════════════════
 * v1.14.0 -- Quick Classify / Drilldown Modal
 * ══════════════════════════════════════════════════════════════ */

#ajt-qc-modal { position:fixed; inset:0; z-index:99999; background:rgba(30,41,59,0.55); backdrop-filter:blur(4px); align-items:center; justify-content:center; }
.ajt-cm-qc-modal { background:#fff; border-radius:16px; box-shadow:0 24px 64px rgba(30,41,59,0.2); width:90%; max-width:720px; max-height:85vh; display:flex; flex-direction:column; overflow:hidden; }
.ajt-cm-qc-head { display:flex; align-items:center; justify-content:space-between; padding:18px 24px; border-bottom:1px solid #f1f5f9; }
.ajt-cm-qc-title { font-size:16px; font-weight:900; color:#1e293b; }
.ajt-cm-qc-desc { padding:12px 24px 0; margin:0; font-size:12px; color:#94a3b8; line-height:1.5; }
.ajt-cm-qc-body { padding:16px 24px; overflow-y:auto; flex:1; }
.ajt-cm-qc-foot { display:flex; gap:10px; justify-content:flex-end; padding:14px 24px; border-top:1px solid #f1f5f9; }
.ajt-cm-qc-table { width:100%; border-collapse:collapse; font-size:12px; }
.ajt-cm-qc-table th { padding:8px 10px; text-align:left; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:#94a3b8; border-bottom:2px solid #e2e8f0; }
.ajt-cm-qc-table td { padding:8px 10px; border-bottom:1px solid #f1f5f9; color:#1e293b; }
.ajt-cm-qc-table tbody tr:hover { background:#f8fafc; }
.ajt-cm-qc-table select { font-size:11px; padding:4px 8px; border:1px solid #e2e8f0; border-radius:6px; background:#fff; color:#1e293b; }

/* ══════════════════════════════════════════════════════════════
 * v1.14.0 -- E1: Activity Feed
 * ══════════════════════════════════════════════════════════════ */

.ajt-cm-feed { margin-bottom:20px; }
.ajt-cm-feed-list { padding:0; }
.ajt-cm-feed-item {
    display:flex; align-items:flex-start; gap:12px; padding:12px 20px;
    border-bottom:1px solid var(--cm-gray-100,#f1f5f9); transition:background 0.15s;
}
.ajt-cm-feed-item:last-child { border-bottom:none; }
.ajt-cm-feed-item:hover { background:var(--cm-gray-50,#f8fafc); }
.ajt-cm-feed-dot {
    width:32px; height:32px; border-radius:50%; background:var(--cm-gray-50,#f8fafc);
    display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:14px;
}
.ajt-cm-feed-content { flex:1; min-width:0; }
.ajt-cm-feed-title { font-size:13px; font-weight:700; color:var(--cm-slate,#1e293b); line-height:1.4; }
.ajt-cm-feed-detail { font-size:11px; color:var(--cm-gray-400,#94a3b8); margin-top:2px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ajt-cm-feed-time { font-size:10px; color:var(--cm-gray-400,#94a3b8); white-space:nowrap; flex-shrink:0; margin-top:2px; }

/* ══════════════════════════════════════════════════════════════
 * v1.14.0 -- E8: Contract Renewal Calendar
 * ══════════════════════════════════════════════════════════════ */

.ajt-cm-renewals { margin-top:20px; }
.ajt-cm-ren-band { padding:0 20px; }
.ajt-cm-ren-band-head {
    display:flex; align-items:center; gap:6px; padding:12px 0 6px;
    font-size:11px; font-weight:700; color:var(--cm-slate,#1e293b); text-transform:uppercase; letter-spacing:0.04em;
    border-bottom:1px solid var(--cm-gray-100,#f1f5f9);
}
.ajt-cm-ren-count { color:var(--cm-gray-400,#94a3b8); font-weight:600; }
.ajt-cm-ren-item {
    display:flex; align-items:center; gap:16px; padding:10px 0;
    border-bottom:1px solid var(--cm-gray-100,#f1f5f9); transition:background 0.15s;
}
.ajt-cm-ren-item:last-child { border-bottom:none; }
.ajt-cm-ren-item:hover { background:var(--cm-gray-50,#f8fafc); margin:0 -20px; padding:10px 20px; }
.ajt-cm-ren-info { flex:1; min-width:0; }
.ajt-cm-ren-label { font-size:13px; font-weight:700; color:var(--cm-slate,#1e293b); }
.ajt-cm-ren-company { font-size:11px; color:var(--cm-gray-400,#94a3b8); }
.ajt-cm-ren-meta { display:flex; flex-direction:column; align-items:flex-end; gap:2px; }
.ajt-cm-ren-date { font-size:11px; color:var(--cm-slate-mid,#475569); font-weight:600; }
.ajt-cm-ren-days { font-size:10px; color:var(--cm-gray-400,#94a3b8); font-weight:700; }
.ajt-cm-ren-days--urgent { color:#dc2626; }
.ajt-cm-ren-value { font-size:12px; font-weight:800; color:var(--cm-plum,#714b9e); white-space:nowrap; }
.ajt-cm-ren-value small { font-size:9px; font-weight:600; opacity:0.7; }

/* ══════════════════════════════════════════════════════════════
 * v1.14.0 -- E9: My Customers Summary
 * ══════════════════════════════════════════════════════════════ */

.ajt-cm-custsumm { margin-top:20px; }
.ajt-cm-custsumm-grid { display:flex; flex-direction:column; }
.ajt-cm-custsumm-card {
    display:flex; align-items:center; gap:14px; padding:14px 20px;
    border-bottom:1px solid var(--cm-gray-100,#f1f5f9); text-decoration:none;
    color:inherit; transition:background 0.15s;
}
.ajt-cm-custsumm-card:last-child { border-bottom:none; }
.ajt-cm-custsumm-card:hover { background:var(--cm-gray-50,#f8fafc); }
.ajt-cm-custsumm-left { display:flex; align-items:center; gap:12px; flex:1; min-width:0; }
.ajt-cm-custsumm-avatar {
    width:36px; height:36px; border-radius:8px; background:var(--cm-plum,#714b9e); color:#fff;
    display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:800;
    flex-shrink:0;
}
.ajt-cm-custsumm-info { min-width:0; }
.ajt-cm-custsumm-name { font-size:13px; font-weight:700; color:var(--cm-slate,#1e293b); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ajt-cm-custsumm-meta { font-size:10px; color:var(--cm-gray-400,#94a3b8); margin-top:1px; }
.ajt-cm-custsumm-contract { font-size:10px; color:var(--cm-gray-400,#94a3b8); margin-top:1px; }
.ajt-cm-custsumm-expiring { color:#f59e0b; font-weight:700; }
.ajt-cm-custsumm-right { display:flex; flex-direction:column; gap:3px; align-items:flex-end; flex-shrink:0; }
.ajt-cm-custsumm-badge {
    font-size:10px; font-weight:600; color:var(--cm-slate-mid,#475569);
    white-space:nowrap;
}
.ajt-cm-custsumm-badge--warn { color:#f59e0b; }
.ajt-cm-custsumm-badge--ok { color:#059669; }
.ajt-cm-custsumm-arrow { color:var(--cm-gray-300,#cbd5e1); flex-shrink:0; }

@media (max-width:768px) {
    .ajt-cm-custsumm-card { flex-wrap:wrap; }
    .ajt-cm-custsumm-right { flex-direction:row; gap:8px; width:100%; padding-left:48px; }
    .ajt-cm-ren-item { flex-wrap:wrap; }
    .ajt-cm-ren-value { width:100%; padding-left:0; }
}

/* [Removed: duplicate v1.14.0 Customer Detail: Contracts Tab — superseded by final version below] */

/* [Removed: duplicate v1.14.0 Contracts Tab — superseded by final version below] */

/* ══════════════════════════════════════════════════════════════
 * v1.14.0 -- Contracts Tab (Customer Detail)
 * ══════════════════════════════════════════════════════════════ */

.ajt-cm-contracts-section { padding:16px 20px 0; }
.ajt-cm-contracts-section + .ajt-cm-contracts-section { border-top:1px solid var(--cm-gray-100,#f1f5f9); margin-top:12px; padding-top:20px; }
.ajt-cm-contracts-heading { font-size:12px; font-weight:700; color:var(--cm-gray-400,#94a3b8); text-transform:uppercase; letter-spacing:0.06em; margin:0 0 10px; display:flex; align-items:center; gap:6px; }
.ajt-cm-contracts-list { display:flex; flex-direction:column; gap:2px; }
.ajt-cm-contract-card {
    display:flex; align-items:center; gap:14px; padding:12px 14px;
    border-radius:8px; transition:background 0.15s;
}
.ajt-cm-contract-card:hover { background:var(--cm-gray-50,#f8fafc); }
.ajt-cm-contract-icon { font-size:18px; flex-shrink:0; width:34px; height:34px; border-radius:8px; background:var(--cm-gray-50,#f8fafc); display:flex; align-items:center; justify-content:center; }
.ajt-cm-contract-info { flex:1; min-width:0; }
.ajt-cm-contract-name { font-size:13px; font-weight:700; color:var(--cm-slate,#1e293b); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ajt-cm-contract-meta { font-size:11px; color:var(--cm-gray-400,#94a3b8); margin-top:2px; }
.ajt-cm-contract-status { flex-shrink:0; }

/* Renewal calendar link items */
.ajt-cm-ren-item--link { text-decoration:none; color:inherit; cursor:pointer; border-radius:6px; }
.ajt-cm-ren-item--link:hover { background:var(--cm-gray-50,#f8fafc); margin:0 -20px; padding:10px 20px; }

@media (max-width:768px) {
    .ajt-cm-contract-card { flex-wrap:wrap; gap:8px; }
    .ajt-cm-contract-status { width:100%; padding-left:46px; }
}

/* ══════════════════════════════════════════════════════════════
 * v1.14.0 -- Portal Status & Contact Link/Welcome Buttons
 * ══════════════════════════════════════════════════════════════ */

.ajt-cm-portal-strip {
    display:flex; gap:20px; padding:12px 20px; margin-bottom:12px;
    background:var(--cm-gray-50,#f8fafc); border-radius:8px;
}
.ajt-cm-portal-stat { display:flex; align-items:center; gap:6px; font-size:12px; color:var(--cm-slate-mid,#475569); }
.ajt-cm-portal-dot { width:8px; height:8px; border-radius:50%; flex-shrink:0; }
.ajt-cm-portal-dot--linked { background:#059669; }
.ajt-cm-portal-dot--unlinked { background:#94a3b8; }

.ajt-cm-portal-badge {
    display:inline-flex; align-items:center; gap:2px;
    font-size:9px; font-weight:700; color:#059669; background:#ecfdf5;
    padding:1px 6px; border-radius:4px; vertical-align:middle; margin-left:4px;
}

.ajt-cm-contact-card--linked { border-left:3px solid #059669; }
.ajt-cm-contact-avatar--linked { background:#059669 !important; }

.ajt-cm-contact-actions {
    width:100%; display:flex; gap:6px; padding-top:8px; margin-top:auto;
    border-top:1px solid var(--cm-gray-100,#f1f5f9);
}
.ajt-cm-contact-btn {
    display:inline-flex; align-items:center; justify-content:center; gap:3px;
    font-size:10px; font-weight:700; padding:3px 8px; border-radius:4px;
    border:1px solid var(--cm-gray-200,#e2e8f0); background:#fff; color:var(--cm-slate-mid,#475569);
    cursor:pointer; transition:all 0.15s; white-space:nowrap; flex:1;
}
.ajt-cm-contact-btn:hover { background:var(--cm-gray-50,#f8fafc); border-color:var(--cm-gray-300,#cbd5e1); }
.ajt-cm-contact-btn:disabled { opacity:0.5; cursor:wait; }
.ajt-cm-contact-btn--link { border-color:#c7d2fe; color:#4f46e5; background:#eef2ff; }
.ajt-cm-contact-btn--link:hover { background:#e0e7ff; }
.ajt-cm-contact-btn--welcome { border-color:#a7f3d0; color:#047857; background:#ecfdf5; }
.ajt-cm-contact-btn--welcome:hover { background:#d1fae5; }
.ajt-cm-contact-btn--disabled { opacity:0.35; cursor:not-allowed; border-style:dashed; background:transparent; }

/* ══════════════════════════════════════════════════════════════
 * v1.14.0 -- Collapsible Dashboard Panels
 * ══════════════════════════════════════════════════════════════ */

.ajt-cm-collapsible { margin-bottom:12px; margin-top:20px; }
.ajt-cm-collapsible-toggle {
    display:flex; align-items:center; gap:8px; width:100%; padding:10px 16px;
    background:#fff; border:1px solid var(--cm-gray-200,#EDEAEF);
    border-radius:var(--cm-radius,14px); cursor:pointer; font-size:13px; font-weight:700;
    color:var(--cm-slate,#2D2836); transition:all 0.15s; text-align:left;
    box-shadow:var(--cm-shadow);
}
.ajt-cm-collapsible-toggle:hover { background:var(--cm-gray-100,#F5F4F6); border-color:var(--cm-gray-300,#DBD8DE); }
.ajt-cm-collapsible-chevron { transition:transform 0.2s; flex-shrink:0; color:var(--cm-gray-400,#9B95A6); }
.ajt-cm-collapsible--open .ajt-cm-collapsible-chevron { transform:rotate(0deg); }
.ajt-cm-collapsible:not(.ajt-cm-collapsible--open) .ajt-cm-collapsible-chevron { transform:rotate(-90deg); }
.ajt-cm-collapsible-body { margin-top:8px; }
.ajt-cm-collapsible-body > .ajt-cm-panel { margin-bottom:0; }
.ajt-cm-collapsible-body > .ajt-cm-custsumm { margin-top:0; }
.ajt-cm-collapsible-body > .ajt-cm-renewals { margin-top:0; }

/* Hide number input spin buttons */
input.ajt-cm-adj-qty::-webkit-outer-spin-button,
input.ajt-cm-adj-qty::-webkit-inner-spin-button { -webkit-appearance:none !important; margin:0; }
input.ajt-cm-adj-qty { -moz-appearance:textfield !important; appearance:textfield !important; }

/* ══════════════════════════════════════════════════════════════
 * v1.14.0 -- E2: Notification Bell
 * ══════════════════════════════════════════════════════════════ */

.ajt-cm-topbar-tools { display:flex; align-items:center; gap:6px; margin-left:auto; margin-right:12px; }

.ajt-cm-bell-wrap { position:relative; }
.ajt-cm-bell-btn {
    display:flex; align-items:center; justify-content:center; width:34px; height:34px;
    border-radius:8px; border:none; background:transparent; cursor:pointer; color:rgba(255,255,255,0.75);
    transition:all 0.15s; position:relative;
}
.ajt-cm-bell-btn:hover { background:rgba(255,255,255,0.1); color:#fff; }
.ajt-cm-bell-badge {
    position:absolute; top:2px; right:2px; min-width:16px; height:16px; padding:0 4px;
    font-size:9px; font-weight:800; color:#fff; background:#ef4444; border-radius:8px;
    display:flex; align-items:center; justify-content:center; line-height:1;
}
.ajt-cm-bell-dropdown {
    position:absolute; top:100%; right:0; margin-top:8px; width:320px;
    background:#fff; border:1px solid var(--cm-gray-200,#e2e8f0); border-radius:10px;
    box-shadow:0 12px 40px rgba(0,0,0,0.15); z-index:1000; overflow:hidden;
}
.ajt-cm-bell-head {
    display:flex; align-items:center; justify-content:space-between; padding:12px 16px;
    border-bottom:1px solid var(--cm-gray-100,#f1f5f9); font-size:13px; font-weight:700; color:var(--cm-slate,#1e293b);
}
.ajt-cm-bell-dismiss { font-size:11px; color:var(--cm-plum,#7c3aed); background:none; border:none; cursor:pointer; font-weight:600; }
.ajt-cm-bell-dismiss:hover { text-decoration:underline; }
.ajt-cm-bell-empty { padding:24px 16px; text-align:center; font-size:12px; color:var(--cm-gray-400,#94a3b8); }
.ajt-cm-bell-list { max-height:280px; overflow-y:auto; }
.ajt-cm-bell-item {
    display:flex; gap:10px; padding:10px 16px; text-decoration:none; color:var(--cm-slate,#1e293b);
    transition:background 0.1s; align-items:flex-start;
}
.ajt-cm-bell-item:hover { background:var(--cm-gray-50,#f8fafc); }
.ajt-cm-bell-icon { font-size:14px; flex-shrink:0; margin-top:1px; }
.ajt-cm-bell-content { flex:1; min-width:0; }
.ajt-cm-bell-label { font-size:12px; font-weight:600; color:var(--cm-slate,#1e293b); }
.ajt-cm-bell-detail { font-size:10px; color:var(--cm-gray-400,#94a3b8); margin-top:1px; }

/* ══════════════════════════════════════════════════════════════
 * v1.14.0 -- E3: Quick Search
 * ══════════════════════════════════════════════════════════════ */

.ajt-cm-search-wrap { position:relative; }
.ajt-cm-search-trigger {
    display:flex; align-items:center; justify-content:center; width:34px; height:34px;
    border-radius:8px; border:none; background:transparent; cursor:pointer; color:rgba(255,255,255,0.75);
    transition:all 0.15s;
}
.ajt-cm-search-trigger:hover { background:rgba(255,255,255,0.1); color:#fff; }
.ajt-cm-search-expanded {
    position:absolute; top:50%; right:0; transform:translateY(-50%);
    width:380px; background:#fff; border-radius:10px;
    box-shadow:0 12px 40px rgba(0,0,0,0.18); z-index:1001; overflow:hidden;
}
.ajt-cm-search-input-wrap {
    display:flex; align-items:center; gap:8px; padding:10px 14px;
    border-bottom:1px solid var(--cm-gray-100,#f1f5f9);
}
.ajt-cm-search-input-wrap svg { flex-shrink:0; color:var(--cm-gray-400,#94a3b8); }
.ajt-cm-qsearch-input {
    flex:1; border:none; outline:none; font-size:13px; color:var(--cm-slate,#1e293b);
    background:transparent; font-family:inherit;
}
.ajt-cm-qsearch-input::placeholder { color:var(--cm-gray-300,#cbd5e1); }
.ajt-cm-search-close { border:none; background:none; font-size:18px; cursor:pointer; color:var(--cm-gray-400,#94a3b8); line-height:1; padding:0 2px; }
.ajt-cm-search-results { max-height:360px; overflow-y:auto; }
.ajt-cm-sr-group { padding:6px 0; }
.ajt-cm-sr-group + .ajt-cm-sr-group { border-top:1px solid var(--cm-gray-100,#f1f5f9); }
.ajt-cm-sr-heading { font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:0.08em; color:var(--cm-gray-400,#94a3b8); padding:6px 16px 4px; }
.ajt-cm-sr-item {
    display:block; padding:7px 16px; font-size:12px; color:var(--cm-slate,#1e293b);
    text-decoration:none; transition:background 0.1s; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.ajt-cm-sr-item:hover, .ajt-cm-sr-active { background:var(--cm-gray-50,#f8fafc); }
.ajt-cm-sr-sub { color:var(--cm-gray-400,#94a3b8); font-size:11px; }
.ajt-cm-sr-empty { padding:20px 16px; text-align:center; font-size:12px; color:var(--cm-gray-400,#94a3b8); }

/* ══════════════════════════════════════════════════════════════
 * v1.14.0 -- E4: Revenue Forecast
 * ══════════════════════════════════════════════════════════════ */

.ajt-cm-forecast-card { margin-bottom:16px; }
.ajt-cm-forecast-card h3 { font-size:14px; font-weight:700; margin:0 0 12px; color:var(--cm-slate,#1e293b); }
.ajt-cm-forecast-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.ajt-cm-forecast-col {
    padding:16px; background:var(--cm-gray-50,#f8fafc); border-radius:10px;
    border:1px solid var(--cm-gray-100,#f1f5f9);
}
.ajt-cm-forecast-period { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:0.06em; color:var(--cm-gray-400,#94a3b8); margin-bottom:4px; }
.ajt-cm-forecast-total { font-size:24px; font-weight:800; color:var(--cm-slate,#1e293b); margin-bottom:10px; }
.ajt-cm-forecast-line {
    display:flex; justify-content:space-between; font-size:11px; color:var(--cm-slate-mid,#475569);
    padding:3px 0; border-bottom:1px dotted var(--cm-gray-100,#f1f5f9);
}
.ajt-cm-forecast-line--warn { color:#dc2626; }
.ajt-cm-forecast-label { color:var(--cm-gray-400,#94a3b8); }
.ajt-cm-forecast-conf { display:flex; align-items:center; gap:6px; margin-top:10px; font-size:10px; }
.ajt-cm-forecast-bar { flex:1; height:6px; background:var(--cm-gray-200,#e2e8f0); border-radius:3px; overflow:hidden; }
.ajt-cm-forecast-fill { display:block; height:100%; background:linear-gradient(90deg,var(--cm-plum,#7c3aed),#a855f7); border-radius:3px; transition:width 0.4s; }
.ajt-cm-forecast-pct { font-weight:700; color:var(--cm-slate,#1e293b); min-width:28px; text-align:right; }

/* ══════════════════════════════════════════════════════════════
 * v1.14.0 -- E5: Cash Flow Timeline
 * ══════════════════════════════════════════════════════════════ */

.ajt-cm-cashflow-card { margin-bottom:16px; }
.ajt-cm-cashflow-card h3 { font-size:14px; font-weight:700; margin:0 0 12px; color:var(--cm-slate,#1e293b); }
.ajt-cm-cf-overdue {
    display:flex; align-items:center; gap:8px; padding:8px 14px; margin-bottom:12px;
    background:#fef2f2; border:1px solid #fecaca; border-radius:8px; font-size:12px; color:#991b1b;
}
.ajt-cm-cf-overdue-dot { width:8px; height:8px; border-radius:50%; background:#ef4444; flex-shrink:0; }
.ajt-cm-cf-timeline { display:flex; gap:4px; align-items:flex-end; min-height:120px; padding:0 4px; }
.ajt-cm-cf-week { flex:1; display:flex; flex-direction:column; align-items:center; text-align:center; }
.ajt-cm-cf-bar-wrap { width:100%; height:80px; display:flex; align-items:flex-end; justify-content:center; margin-bottom:6px; }
.ajt-cm-cf-bar {
    width:70%; max-width:48px; min-height:4px; background:linear-gradient(180deg,var(--cm-plum,#7c3aed),#a855f7);
    border-radius:4px 4px 0 0; transition:height 0.3s;
}
.ajt-cm-cf-amount { font-size:12px; font-weight:700; color:var(--cm-slate,#1e293b); }
.ajt-cm-cf-count { font-size:9px; color:var(--cm-gray-400,#94a3b8); }
.ajt-cm-cf-label { font-size:9px; color:var(--cm-gray-400,#94a3b8); margin-top:2px; white-space:nowrap; }
.ajt-cm-cf-footer {
    margin-top:12px; padding:10px 14px; background:var(--cm-gray-50,#f8fafc);
    border-radius:8px; font-size:12px; color:var(--cm-slate-mid,#475569); text-align:center;
}

@media (max-width:600px) {
    .ajt-cm-forecast-grid { grid-template-columns:1fr; }
    .ajt-cm-search-expanded { width:280px; }
    .ajt-cm-bell-dropdown { width:280px; }
}

/* Extend contract button */
.ajt-cm-extend-btn {
    display:inline-flex; align-items:center; justify-content:center;
    font-size:9px; font-weight:800; padding:3px 8px; border-radius:4px;
    border:1px solid #c7d2fe; background:#eef2ff; color:#4f46e5;
    cursor:pointer; transition:all 0.15s; white-space:nowrap; margin-left:6px;
}
.ajt-cm-extend-btn:hover { background:#e0e7ff; border-color:#818cf8; }
.ajt-cm-extend-btn:disabled { opacity:0.5; cursor:wait; }

/* ══════════════════════════════════════════════════════════════
 * QUICK ACTIONS — Portal action cards on CM Dashboard
 * @since 2.0.6
 * ══════════════════════════════════════════════════════════════ */

.ajt-cm-quick-actions {
    margin: 24px 0;
}

.ajt-cm-section-title {
    font-size: 14px;
    font-weight: 700;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 12px 0;
}

/* ══════════════════════════════════════════════════════════════
 * v2.2.2 -- 365 Fleet Health Widget (Dashboard)
 * ══════════════════════════════════════════════════════════════ */

/* Summary bar (pills + sync button) */
.ajt-cm-fleet-bar {
    display:flex; align-items:center; justify-content:space-between; gap:10px;
    padding:10px 16px; background:#fff; border:1px solid var(--cm-gray-200,#EDEAEF);
    border-radius:var(--cm-radius,10px); margin-bottom:8px; flex-wrap:wrap;
}
.ajt-cm-fleet-pills { display:flex; gap:8px; flex-wrap:wrap; }
.ajt-cm-fleet-pill {
    display:inline-block; font-size:11px; padding:4px 12px; border-radius:20px;
    font-weight:700; white-space:nowrap; line-height:1.3;
}
.ajt-cm-fleet-pill--blue  { background:#dbeafe; color:#1e40af; }
.ajt-cm-fleet-pill--green { background:#dcfce7; color:#166534; }
.ajt-cm-fleet-pill--amber { background:#fef3c7; color:#92400e; }
.ajt-cm-fleet-sync {
    display:inline-flex; align-items:center; gap:4px;
    padding:6px 16px; border-radius:var(--cm-radius-sm,6px); font-size:12px; font-weight:700;
    background:var(--cm-plum,#7B4C75); color:#fff; border:1px solid var(--cm-plum,#7B4C75);
    cursor:pointer; transition:all 0.15s; white-space:nowrap; line-height:1.4;
}
.ajt-cm-fleet-sync:hover { background:var(--cm-plum-dark,#5E3A5A); border-color:var(--cm-plum-dark,#5E3A5A); }
.ajt-cm-fleet-sync:disabled { opacity:0.6; cursor:wait; }

/* Table wrapper — provides the card container */
.ajt-cm-fleet-scroll {
    overflow-x:auto; background:#fff !important;
    border:1px solid var(--cm-gray-200,#EDEAEF) !important;
    border-radius:var(--cm-radius,10px) !important;
}

/* Table — override any theme table styles aggressively */
.ajt-cm .ajt-cm-fleet-tbl { width:100% !important; border-collapse:collapse !important; font-size:12px !important; border:none !important; margin:0 !important; background:#fff !important; }
.ajt-cm .ajt-cm-fleet-tbl thead { background:none !important; }
.ajt-cm .ajt-cm-fleet-tbl th.ajt-cm-fleet-th {
    padding:9px 12px !important; text-align:left !important; font-size:10px !important; font-weight:700 !important;
    color:var(--cm-gray-400,#9B95A6) !important; text-transform:uppercase !important; letter-spacing:0.05em !important;
    background:var(--cm-gray-100,#F5F4F6) !important; border:none !important;
    border-bottom:2px solid var(--cm-gray-200,#EDEAEF) !important; white-space:nowrap !important;
}
.ajt-cm .ajt-cm-fleet-th--c { text-align:center !important; }

.ajt-cm .ajt-cm-fleet-tbl tbody tr.ajt-cm-fleet-row {
    border:none !important; border-bottom:1px solid var(--cm-gray-200,#EDEAEF) !important;
    transition:background 0.12s !important; background:#fff !important;
}
.ajt-cm .ajt-cm-fleet-tbl tbody tr.ajt-cm-fleet-row:last-child { border-bottom:none !important; }
.ajt-cm .ajt-cm-fleet-tbl tbody tr.ajt-cm-fleet-row:hover { background:var(--cm-gray-100,#F5F4F6) !important; }
.ajt-cm .ajt-cm-fleet-row--att { background:#FFFBEB !important; }
.ajt-cm .ajt-cm-fleet-row--att:hover { background:#FEF3C7 !important; }

.ajt-cm .ajt-cm-fleet-tbl td.ajt-cm-fleet-td {
    padding:10px 12px !important; vertical-align:middle !important;
    border:none !important; border-bottom:1px solid var(--cm-gray-200,#EDEAEF) !important;
    color:var(--cm-slate,#2D2836) !important; font-size:12px !important; background:transparent !important;
}
.ajt-cm .ajt-cm-fleet-tbl tbody tr:last-child td.ajt-cm-fleet-td { border-bottom:none !important; }
.ajt-cm .ajt-cm-fleet-td--c { text-align:center !important; }

/* Grade badge */
.ajt-cm-fleet-grade {
    display:inline-block !important; width:26px; height:26px; line-height:26px;
    text-align:center; border-radius:6px; font-size:11px; font-weight:900;
}
.ajt-cm-fleet-grade--good     { background:#dcfce7; color:#166534; }
.ajt-cm-fleet-grade--info     { background:#dbeafe; color:#1e40af; }
.ajt-cm-fleet-grade--warn     { background:#fef3c7; color:#92400e; }
.ajt-cm-fleet-grade--danger   { background:#fee2e2; color:#991b1b; }
.ajt-cm-fleet-grade--critical { background:#fee2e2; color:#7f1d1d; }

/* Tenant link / name */
.ajt-cm-fleet-link { font-weight:700 !important; color:var(--cm-slate,#2D2836) !important; text-decoration:none !important; }
.ajt-cm-fleet-link:hover { color:var(--cm-plum,#7B4C75) !important; text-decoration:underline !important; }
.ajt-cm-fleet-name { font-weight:700; color:var(--cm-slate,#2D2836); }
.ajt-cm-fleet-att {
    display:inline-block; margin-left:4px; padding:1px 5px; border-radius:3px;
    font-size:8px; font-weight:800; background:#FEF2F2; color:#991b1b; vertical-align:middle;
}
.ajt-cm-fleet-val { font-weight:800 !important; }

@media (max-width:768px) {
    .ajt-cm-fleet-bar { flex-direction:column; align-items:flex-start; }
}
