/*
 * IBTEKNO CSP FINAL STYLE-ATTRIBUTE SOURCE AUTHORITY
 * No inline style attributes are required by these rules.
 */

.csp-final-public-reference-open.csp-final-public-reference-open { background:#ffffff; color:#0f172a; }
.csp-final-public-reference-close.csp-final-public-reference-close { background:#1e293b; color:#ffffff; border-color:rgba(255,255,255,.24); }
.csp-final-public-showcase-toggle.csp-final-public-showcase-toggle { background:#ffffff; color:#0f172a; border:1px solid rgba(255,255,255,.9); box-shadow:0 10px 24px rgba(0,0,0,.25); }

.csp-license-badge.csp-license-badge { border:1px solid; border-radius:999px; padding:6px 12px; font-weight:700; }
.csp-license-preview.csp-license-preview { margin-top:14px; border:1px solid; border-radius:12px; padding:12px; }
.csp-license-tone-neutral.csp-license-tone-neutral { background:#f8fafc; border-color:#e5e7eb; color:#111827; }
.csp-license-tone-success.csp-license-tone-success { background:#ecfdf5; border-color:#bbf7d0; color:#065f46; }
.csp-license-tone-expired.csp-license-tone-expired { background:#fef2f2; border-color:#fecaca; color:#991b1b; }
.csp-license-tone-warning.csp-license-tone-warning { background:#fffbeb; border-color:#fde68a; color:#92400e; }
.csp-license-tone-active.csp-license-tone-active { background:#eff6ff; border-color:#bfdbfe; color:#1e40af; }
.csp-license-tone-missing.csp-license-tone-missing { background:#fff7ed; border-color:#fed7aa; color:#9a3412; }

.csp-final-width-0.csp-final-width-0 { width:0%; }
.csp-final-width-1.csp-final-width-1 { width:1%; }
.csp-final-width-2.csp-final-width-2 { width:2%; }
.csp-final-width-3.csp-final-width-3 { width:3%; }
.csp-final-width-4.csp-final-width-4 { width:4%; }
.csp-final-width-5.csp-final-width-5 { width:5%; }
.csp-final-width-6.csp-final-width-6 { width:6%; }
.csp-final-width-7.csp-final-width-7 { width:7%; }
.csp-final-width-8.csp-final-width-8 { width:8%; }
.csp-final-width-9.csp-final-width-9 { width:9%; }
.csp-final-width-10.csp-final-width-10 { width:10%; }
.csp-final-width-11.csp-final-width-11 { width:11%; }
.csp-final-width-12.csp-final-width-12 { width:12%; }
.csp-final-width-13.csp-final-width-13 { width:13%; }
.csp-final-width-14.csp-final-width-14 { width:14%; }
.csp-final-width-15.csp-final-width-15 { width:15%; }
.csp-final-width-16.csp-final-width-16 { width:16%; }
.csp-final-width-17.csp-final-width-17 { width:17%; }
.csp-final-width-18.csp-final-width-18 { width:18%; }
.csp-final-width-19.csp-final-width-19 { width:19%; }
.csp-final-width-20.csp-final-width-20 { width:20%; }
.csp-final-width-21.csp-final-width-21 { width:21%; }
.csp-final-width-22.csp-final-width-22 { width:22%; }
.csp-final-width-23.csp-final-width-23 { width:23%; }
.csp-final-width-24.csp-final-width-24 { width:24%; }
.csp-final-width-25.csp-final-width-25 { width:25%; }
.csp-final-width-26.csp-final-width-26 { width:26%; }
.csp-final-width-27.csp-final-width-27 { width:27%; }
.csp-final-width-28.csp-final-width-28 { width:28%; }
.csp-final-width-29.csp-final-width-29 { width:29%; }
.csp-final-width-30.csp-final-width-30 { width:30%; }
.csp-final-width-31.csp-final-width-31 { width:31%; }
.csp-final-width-32.csp-final-width-32 { width:32%; }
.csp-final-width-33.csp-final-width-33 { width:33%; }
.csp-final-width-34.csp-final-width-34 { width:34%; }
.csp-final-width-35.csp-final-width-35 { width:35%; }
.csp-final-width-36.csp-final-width-36 { width:36%; }
.csp-final-width-37.csp-final-width-37 { width:37%; }
.csp-final-width-38.csp-final-width-38 { width:38%; }
.csp-final-width-39.csp-final-width-39 { width:39%; }
.csp-final-width-40.csp-final-width-40 { width:40%; }
.csp-final-width-41.csp-final-width-41 { width:41%; }
.csp-final-width-42.csp-final-width-42 { width:42%; }
.csp-final-width-43.csp-final-width-43 { width:43%; }
.csp-final-width-44.csp-final-width-44 { width:44%; }
.csp-final-width-45.csp-final-width-45 { width:45%; }
.csp-final-width-46.csp-final-width-46 { width:46%; }
.csp-final-width-47.csp-final-width-47 { width:47%; }
.csp-final-width-48.csp-final-width-48 { width:48%; }
.csp-final-width-49.csp-final-width-49 { width:49%; }
.csp-final-width-50.csp-final-width-50 { width:50%; }
.csp-final-width-51.csp-final-width-51 { width:51%; }
.csp-final-width-52.csp-final-width-52 { width:52%; }
.csp-final-width-53.csp-final-width-53 { width:53%; }
.csp-final-width-54.csp-final-width-54 { width:54%; }
.csp-final-width-55.csp-final-width-55 { width:55%; }
.csp-final-width-56.csp-final-width-56 { width:56%; }
.csp-final-width-57.csp-final-width-57 { width:57%; }
.csp-final-width-58.csp-final-width-58 { width:58%; }
.csp-final-width-59.csp-final-width-59 { width:59%; }
.csp-final-width-60.csp-final-width-60 { width:60%; }
.csp-final-width-61.csp-final-width-61 { width:61%; }
.csp-final-width-62.csp-final-width-62 { width:62%; }
.csp-final-width-63.csp-final-width-63 { width:63%; }
.csp-final-width-64.csp-final-width-64 { width:64%; }
.csp-final-width-65.csp-final-width-65 { width:65%; }
.csp-final-width-66.csp-final-width-66 { width:66%; }
.csp-final-width-67.csp-final-width-67 { width:67%; }
.csp-final-width-68.csp-final-width-68 { width:68%; }
.csp-final-width-69.csp-final-width-69 { width:69%; }
.csp-final-width-70.csp-final-width-70 { width:70%; }
.csp-final-width-71.csp-final-width-71 { width:71%; }
.csp-final-width-72.csp-final-width-72 { width:72%; }
.csp-final-width-73.csp-final-width-73 { width:73%; }
.csp-final-width-74.csp-final-width-74 { width:74%; }
.csp-final-width-75.csp-final-width-75 { width:75%; }
.csp-final-width-76.csp-final-width-76 { width:76%; }
.csp-final-width-77.csp-final-width-77 { width:77%; }
.csp-final-width-78.csp-final-width-78 { width:78%; }
.csp-final-width-79.csp-final-width-79 { width:79%; }
.csp-final-width-80.csp-final-width-80 { width:80%; }
.csp-final-width-81.csp-final-width-81 { width:81%; }
.csp-final-width-82.csp-final-width-82 { width:82%; }
.csp-final-width-83.csp-final-width-83 { width:83%; }
.csp-final-width-84.csp-final-width-84 { width:84%; }
.csp-final-width-85.csp-final-width-85 { width:85%; }
.csp-final-width-86.csp-final-width-86 { width:86%; }
.csp-final-width-87.csp-final-width-87 { width:87%; }
.csp-final-width-88.csp-final-width-88 { width:88%; }
.csp-final-width-89.csp-final-width-89 { width:89%; }
.csp-final-width-90.csp-final-width-90 { width:90%; }
.csp-final-width-91.csp-final-width-91 { width:91%; }
.csp-final-width-92.csp-final-width-92 { width:92%; }
.csp-final-width-93.csp-final-width-93 { width:93%; }
.csp-final-width-94.csp-final-width-94 { width:94%; }
.csp-final-width-95.csp-final-width-95 { width:95%; }
.csp-final-width-96.csp-final-width-96 { width:96%; }
.csp-final-width-97.csp-final-width-97 { width:97%; }
.csp-final-width-98.csp-final-width-98 { width:98%; }
.csp-final-width-99.csp-final-width-99 { width:99%; }
.csp-final-width-100.csp-final-width-100 { width:100%; }
.csp-final-width-101.csp-final-width-101 { width:101%; }
.csp-final-width-102.csp-final-width-102 { width:102%; }
.csp-final-width-103.csp-final-width-103 { width:103%; }
.csp-final-width-104.csp-final-width-104 { width:104%; }
.csp-final-width-105.csp-final-width-105 { width:105%; }
.csp-final-width-106.csp-final-width-106 { width:106%; }
.csp-final-width-107.csp-final-width-107 { width:107%; }
.csp-final-width-108.csp-final-width-108 { width:108%; }
.csp-final-width-109.csp-final-width-109 { width:109%; }
.csp-final-width-110.csp-final-width-110 { width:110%; }
.csp-final-width-111.csp-final-width-111 { width:111%; }
.csp-final-width-112.csp-final-width-112 { width:112%; }
.csp-final-width-113.csp-final-width-113 { width:113%; }
.csp-final-width-114.csp-final-width-114 { width:114%; }
.csp-final-width-115.csp-final-width-115 { width:115%; }
.csp-final-width-116.csp-final-width-116 { width:116%; }
.csp-final-width-117.csp-final-width-117 { width:117%; }
.csp-final-width-118.csp-final-width-118 { width:118%; }
.csp-final-width-119.csp-final-width-119 { width:119%; }
.csp-final-width-120.csp-final-width-120 { width:120%; }
.csp-final-width-121.csp-final-width-121 { width:121%; }
.csp-final-width-122.csp-final-width-122 { width:122%; }
.csp-final-width-123.csp-final-width-123 { width:123%; }
.csp-final-width-124.csp-final-width-124 { width:124%; }
.csp-final-width-125.csp-final-width-125 { width:125%; }
.csp-final-width-126.csp-final-width-126 { width:126%; }
.csp-final-width-127.csp-final-width-127 { width:127%; }
.csp-final-width-128.csp-final-width-128 { width:128%; }
.csp-final-width-129.csp-final-width-129 { width:129%; }
.csp-final-width-130.csp-final-width-130 { width:130%; }
.csp-final-width-131.csp-final-width-131 { width:131%; }
.csp-final-width-132.csp-final-width-132 { width:132%; }
.csp-final-width-133.csp-final-width-133 { width:133%; }
.csp-final-width-134.csp-final-width-134 { width:134%; }
.csp-final-width-135.csp-final-width-135 { width:135%; }
.csp-final-width-136.csp-final-width-136 { width:136%; }
.csp-final-width-137.csp-final-width-137 { width:137%; }
.csp-final-width-138.csp-final-width-138 { width:138%; }
.csp-final-width-139.csp-final-width-139 { width:139%; }
.csp-final-width-140.csp-final-width-140 { width:140%; }
.csp-final-width-141.csp-final-width-141 { width:141%; }
.csp-final-width-142.csp-final-width-142 { width:142%; }
.csp-final-width-143.csp-final-width-143 { width:143%; }
.csp-final-width-144.csp-final-width-144 { width:144%; }
.csp-final-width-145.csp-final-width-145 { width:145%; }
.csp-final-width-146.csp-final-width-146 { width:146%; }
.csp-final-width-147.csp-final-width-147 { width:147%; }
.csp-final-width-148.csp-final-width-148 { width:148%; }
.csp-final-width-149.csp-final-width-149 { width:149%; }
.csp-final-width-150.csp-final-width-150 { width:150%; }

/*
 * IBTEKNO CSP RUNTIME STYLE SINK PHASE 1
 * Runtime state is expressed through semantic classes.
 */

.csp-runtime-hidden {
    display:none !important;
}

.csp-runtime-block {
    display:block !important;
}

.csp-runtime-flex {
    display:flex !important;
}

.csp-runtime-scroll-lock {
    overflow:hidden !important;
}

.csp-runtime-toast-fade {
    transition:opacity 250ms ease !important;
    opacity:0 !important;
}

.csp-runtime-auth-dialog {
    padding:1rem !important;
    max-width:900px !important;
    width:calc(100% - 2rem) !important;
}

.csp-runtime-mobile-dock {
    position:fixed !important;
    left:280px !important;
    bottom:20px !important;
    z-index:2147483647 !important;
    display:block !important;
}

.csp-runtime-offscreen-clipboard {
    position:fixed !important;
    left:-9999px !important;
}

/*
 * IBTEKNO CSP RUNTIME INLINE STYLE FINAL RETIREMENT
 */

.csp-tonnage-error.csp-tonnage-error {
    color:#b42318;
}

.csp-tonnage-month-card.csp-tonnage-month-card {
    border:1px solid #e5e7eb;
    border-radius:12px;
    padding:10px;
}

.csp-tonnage-month-card-active.csp-tonnage-month-card-active {
    background:#ffffff;
    opacity:1;
}

.csp-tonnage-month-card-inactive.csp-tonnage-month-card-inactive {
    background:#f8fafc;
    opacity:.6;
}

.csp-tonnage-month-head.csp-tonnage-month-head {
    display:flex;
    justify-content:space-between;
    gap:8px;
    align-items:center;
}

.csp-tonnage-month-title.csp-tonnage-month-title {
    font-size:.85rem;
}

.csp-tonnage-status.csp-tonnage-status {
    font-size:.68rem;
    border-radius:999px;
    padding:2px 7px;
}

.csp-tonnage-status-active.csp-tonnage-status-active {
    background:#e8f9f0;
    color:#0a7a45;
}

.csp-tonnage-status-inactive.csp-tonnage-status-inactive {
    background:#eef2f7;
    color:#64748b;
}

.csp-tonnage-month-value.csp-tonnage-month-value {
    font-size:1rem;
    font-weight:700;
    margin-top:8px;
}

.csp-tonnage-month-meta.csp-tonnage-month-meta {
    font-size:.72rem;
    color:#64748b;
}

.csp-tonnage-actions.csp-tonnage-actions {
    display:flex;
    gap:6px;
    margin-top:10px;
}

.csp-tonnage-button.csp-tonnage-button {
    font-size:.72rem;
    border:1px solid #d1d5db;
    border-radius:8px;
    padding:4px 7px;
    background:#fff;
}

.csp-tonnage-button-disabled.csp-tonnage-button-disabled {
    opacity:.5;
    cursor:not-allowed;
}

.csp-tonnage-button-interactive.csp-tonnage-button-interactive {
    cursor:pointer;
}

.csp-tonnage-message.csp-tonnage-message {
    padding:10px;
}

.csp-tonnage-message-muted.csp-tonnage-message-muted {
    color:#64748b;
}

.csp-tonnage-message-error.csp-tonnage-message-error {
    color:#b42318;
}

.csp-tonnage-bar-head.csp-tonnage-bar-head {
    display:flex;
    justify-content:space-between;
    gap:8px;
    font-size:.78rem;
    margin-bottom:3px;
}

.csp-tonnage-family-badge.csp-tonnage-family-badge {
    border-radius:999px;
}

.csp-tonnage-family-badge-small.csp-tonnage-family-badge-small {
    font-size:.68rem;
    padding:1px 6px;
}

.csp-tonnage-family-badge-table.csp-tonnage-family-badge-table {
    font-size:.72rem;
    padding:2px 7px;
}

.csp-tonnage-family-tup.csp-tonnage-family-tup {
    background:#e8f9f0;
    color:#0a7a45;
}

.csp-tonnage-family-su.csp-tonnage-family-su {
    background:#eff6ff;
    color:#1d4ed8;
}

.csp-tonnage-family-other.csp-tonnage-family-other {
    background:#eef2f7;
    color:#334155;
}

.csp-tonnage-bar-track-8.csp-tonnage-bar-track-8 {
    height:8px;
    background:#eef2f7;
    border-radius:999px;
    overflow:hidden;
}

.csp-tonnage-bar-fill-8.csp-tonnage-bar-fill-8 {
    height:8px;
    background:#0f172a;
    border-radius:999px;
}

.csp-tonnage-bar-track-9.csp-tonnage-bar-track-9 {
    height:9px;
    background:#eef2f7;
    border-radius:999px;
    overflow:hidden;
}

.csp-tonnage-bar-fill-9.csp-tonnage-bar-fill-9 {
    height:9px;
    border-radius:999px;
}

.csp-tonnage-bar-fill-selected.csp-tonnage-bar-fill-selected {
    background:#0f172a;
}

.csp-tonnage-bar-fill-muted.csp-tonnage-bar-fill-muted {
    background:#64748b;
}

.csp-tonnage-selected-badge.csp-tonnage-selected-badge {
    font-size:.68rem;
    border-radius:999px;
    padding:1px 6px;
    background:#e8f9f0;
    color:#0a7a45;
}

.csp-tonnage-table-row.csp-tonnage-table-row {
    border-bottom:1px solid #eef2f7;
}

.csp-tonnage-row-selected.csp-tonnage-row-selected {
    background:#f8fafc;
}

.csp-tonnage-row-default.csp-tonnage-row-default {
    background:#fff;
}

.csp-tonnage-cell.csp-tonnage-cell {
    padding:8px;
}

.csp-tonnage-cell-name.csp-tonnage-cell-name {
    padding:8px;
    font-weight:600;
}

.csp-tonnage-cell-year.csp-tonnage-cell-year {
    padding:8px;
    font-weight:700;
}

.csp-tonnage-cell-right.csp-tonnage-cell-right {
    padding:8px;
    text-align:right;
}

.csp-tonnage-cell-strong.csp-tonnage-cell-strong {
    font-weight:700;
}

.csp-tonnage-change-up.csp-tonnage-change-up {
    color:#0a7a45;
}

.csp-tonnage-change-down.csp-tonnage-change-down {
    color:#b42318;
}

.csp-tonnage-change-flat.csp-tonnage-change-flat {
    color:#64748b;
}

.csp-runtime-auth-pre.csp-runtime-auth-pre {
    white-space:pre-wrap;
    word-break:break-word;
}

.csp-tonnage-trend-dot-0.csp-tonnage-trend-dot-0 {
    background:#0f172a;
}

.csp-tonnage-trend-dot-1.csp-tonnage-trend-dot-1 {
    background:#2563eb;
}

.csp-tonnage-trend-dot-2.csp-tonnage-trend-dot-2 {
    background:#059669;
}

.csp-tonnage-trend-dot-3.csp-tonnage-trend-dot-3 {
    background:#dc2626;
}

.csp-tonnage-trend-dot-4.csp-tonnage-trend-dot-4 {
    background:#7c3aed;
}

.csp-tonnage-trend-dot-5.csp-tonnage-trend-dot-5 {
    background:#ea580c;
}

.csp-tonnage-trend-dot-6.csp-tonnage-trend-dot-6 {
    background:#0891b2;
}

.csp-tonnage-trend-dot-7.csp-tonnage-trend-dot-7 {
    background:#be123c;
}
