/* Auto-generated from inline JS template styles in frontend_tenant/js */

.fx-js-inline-1 { font-size: .8rem; color: var(--text-muted); font-weight: 600; }
.fx-js-inline-2 { font-size: .75rem; color: var(--text-muted); font-weight: 600; }
.fx-js-inline-3 { color: var(--text-muted); }
.fx-js-inline-4 { font-weight: 700; margin-bottom: 6px; }
.fx-js-inline-5 { display: grid; gap: 6px; }
.fx-js-inline-6 { padding: 8px; border: 1px solid var(--border); border-radius: 8px; background: rgba(255,255,255,.02); }
.fx-js-inline-7 { display: flex; justify-content: space-between; gap: 8px; }
.fx-js-inline-8 { color: var(--text-muted); margin-top: 3px; }
.fx-js-inline-9 { padding: 2rem; text-align: center; color: var(--text-muted); }
.fx-js-inline-10 { background: var(--error); color: white; }
.fx-js-inline-11 { border-bottom: 1px solid rgba(255,255,255,0.02); }
.fx-js-inline-12 { padding: 1rem; font-weight: 700; }
.fx-js-inline-13 { padding: 1rem; }
.fx-js-inline-14 { font-size: .72rem; color: var(--text-muted); font-weight: 500; }
.fx-js-inline-15 { padding: 1rem; text-align: right; }
.fx-js-inline-16 { padding: 4px 12px; font-size: 0.75rem; }
.fx-js-inline-17 { width: 14px; margin-right: 6px; }
.fx-js-inline-18 { background: #0f172a; border: 1px solid rgba(148,163,184,.15); border-radius: 20px; padding: 2rem; width: 640px; max-width: 95vw; box-shadow: 0 40px 80px rgba(0,0,0,.6); }
.fx-js-inline-19 { margin: 0 0 1rem; font-size: 1.1rem; font-weight: 800; }
.fx-js-inline-20 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.fx-js-inline-21 { margin-top: 12px; display: flex; align-items: center; gap: 8px; }
.fx-js-inline-22 { font-size: 0.85rem; color: var(--text-secondary); }
.fx-js-inline-23 { display: flex; gap: 10px; justify-content: flex-end; margin-top: 18px; }
.fx-js-inline-24 { font-size: 0.65rem; color: var(--warning); margin-top: 4px; }
.fx-js-inline-25 { font-size: 0.62rem; color: var(--text-muted); margin-top: 4px; word-break: break-all; }
.fx-js-inline-26 { display: flex; align-items: center; gap: 12px; }
.fx-js-inline-27 { width: 32px; height: 32px; font-size: 0.75rem; background: rgba(255,255,255,0.05); box-shadow: none; border: 1px solid var(--border); color: var(--text-secondary); }
.fx-js-inline-28 { width: 16px; }
.fx-js-inline-29 { font-weight: 700; }
.fx-js-inline-30 { font-size: 0.75rem; color: var(--accent); }
.fx-js-inline-31 { font-size: 0.6rem; color: var(--text-muted); font-family: var(--font-mono); margin-top: 4px; }
.fx-js-inline-32 { padding: 0; opacity: 0.8; }
.fx-js-inline-33 { text-align: right; }
.fx-js-inline-34 { display: flex; gap: 8px; justify-content: flex-end; }
.fx-js-inline-35 { padding: 6px 12px; font-size: 0.7rem; border-color: var(--accent); }
.fx-js-inline-36 { width: 14px; }
.fx-js-inline-37 { padding: 6px 12px; font-size: 0.7rem; }
.fx-js-inline-38 { padding: 2rem; text-align: center; }
.fx-js-inline-39 { display: flex; justify-content: space-between; align-items: center; padding: 1.25rem; background: rgba(255,255,255,0.02); border-radius: 12px; margin-bottom: 1.25rem; border: 1px solid var(--border); }
.fx-js-inline-40 { font-weight: 700; margin-bottom: 4px; font-size: 1rem; }
.fx-js-inline-41 { font-size: 0.7rem; color: var(--text-muted); text-transform: uppercase; }
.fx-js-inline-42 { width: 180px; background: var(--bg-card); font-size: 0.8rem; border-color: var(--border-bright); }
.fx-js-inline-43 { text-align: center; padding: 2rem; color: var(--error); }
.fx-js-inline-44 { font-family: var(--font-mono); font-size: 0.7rem; }
.fx-js-inline-45 { font-weight: 600; }
.fx-js-inline-46 { font-size: 0.7rem; color: var(--text-muted); }
.fx-js-inline-47 { padding: 4px; }
.fx-js-inline-48 { text-align: center; padding: 2rem; color: var(--text-muted); }
.fx-js-inline-49 { font-size: 0.8rem; }
.fx-js-inline-50 { font-size: 0.8rem; color: var(--text-muted); }
.fx-js-inline-51 { font-weight: 800; }
.fx-js-inline-52 { font-size: .85rem; opacity: .95; }
.fx-js-inline-53 { font-size: .8rem; }
.fx-js-inline-54 { width: auto; min-width: 84px; margin-left: 6px; }
.fx-js-inline-55 { width: 120px; }
.fx-js-inline-56 { padding: 6px 10px; }
.fx-js-inline-57 { font-size: .75rem; opacity: .95; }
.fx-js-inline-58 { display: flex; align-items: center; gap: 12px; }
.fx-js-inline-59 { font-size: 1.1rem; }
.fx-js-inline-60 { font-weight: 900; font-size: .9rem; letter-spacing: .02em; }
.fx-js-inline-61 { margin: 0 8px; opacity: .6; }
.fx-js-inline-62 { opacity: .8; }
.fx-js-inline-63 { display: flex; align-items: center; gap: 10px; }
.fx-js-inline-64 { background: rgba(0,0,0,.15); padding: 3px 10px; border-radius: 20px; font-size: .7rem; font-weight: 700; }
.fx-js-inline-65 { background: #92400e; color: #fff; border: none; border-radius: 8px; padding: 6px 14px; font-size: .75rem; font-weight: 800; cursor: pointer; font-family: inherit; }
.fx-js-inline-66 { display: flex; align-items: center; justify-content: center; height: 100vh; background: #020617; font-family: sans-serif; flex-direction: column; gap: 1rem; }
.fx-js-inline-67 { font-size: 3rem; }
.fx-js-inline-68 { color: #f8fafc; margin: 0; }
.fx-js-inline-69 { color: #64748b; text-align: center; max-width: 400px; }
.fx-js-inline-70 { background: #6366f1; color: #fff; border: none; border-radius: 10px; padding: 10px 20px; cursor: pointer; font-size: .9rem; }
.fx-js-inline-71 { margin-bottom: 1.5rem; background: rgba(255,255,255,0.02); padding: 1rem; border-radius: 10px; border: 1px solid var(--border); }
.fx-js-inline-72 { display: flex; align-items: center; gap: 10px; margin-bottom: 1rem; }
.fx-js-inline-73 { width: 16px; color: var(--accent); }
.fx-js-inline-74 { font-family: var(--font-mono); font-weight: 800; color: white; }
.fx-js-inline-75 { background: transparent; }
.fx-js-inline-76 { display: flex; align-items: center; gap: 10px; }
.fx-js-inline-77 { flex: 1; }
.fx-js-inline-78 { font-weight: 700; min-width: 35px; }
.fx-js-inline-79 { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 15px; margin-top: 1rem; }
.fx-js-inline-80 { padding: 15px; border: 1px solid var(--border); }
.fx-js-inline-81 { display: flex; justify-content: space-between; align-items: flex-end; margin-top: 5px; }
.fx-js-inline-82 { font-size: 1.2rem; font-weight: 700; }
.fx-js-inline-83 { color: var(--text-muted); font-size: 0.75rem; }
.fx-js-inline-84 { text-align: right; font-weight: 700; }
.fx-js-inline-85 { border-top: 3px solid var(--accent); }
.fx-js-inline-86 { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 1rem; }
.fx-js-inline-87 { font-weight: 800; font-size: 1.1rem; color: white; }
.fx-js-inline-88 { background: rgba(255,255,255,0.05); font-size: 0.6rem; }
.fx-js-inline-89 { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.fx-js-inline-90 { color: var(--accent); }
.fx-js-inline-91 { margin-top: 1rem; font-size: 0.7rem; color: var(--text-muted); display: flex; align-items: center; gap: 5px; }
.fx-js-inline-92 { width: 12px; }
.fx-js-inline-93 { display: flex; flex-direction: column; }
.fx-js-inline-94 { font-size: 0.65rem; color: var(--text-muted); font-family: var(--font-mono); }
.fx-js-inline-95 { font-size: 0.8rem; font-weight: 700; }
.fx-js-inline-96 { font-size: 0.75rem; color: var(--text-muted); }
.fx-js-inline-97 { padding: 4px 8px; }
.fx-js-inline-98 { padding: 1.5rem; cursor: pointer; }
.fx-js-inline-99 { display: flex; justify-content: space-between; margin-bottom: 1.5rem; }
.fx-js-inline-100 { width: 40px; height: 40px; border-radius: 10px; background: rgba(255,255,255,0.05); }
.fx-js-inline-101 { margin-bottom: 0.5rem; }
.fx-js-inline-102 { font-size: 0.75rem; color: var(--text-muted); margin-bottom: 1.5rem; }
.fx-js-inline-103 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 10px; margin-bottom: 1rem; }
.fx-js-inline-104 { font-size: 0.6rem; color: var(--text-muted); display: block; }
.fx-js-inline-105 { font-weight: 700; font-size: 0.8rem; }
.fx-js-inline-106 { display: flex; justify-content: space-between; gap: 1rem; }
.fx-js-inline-107 { font-size: .75rem; color: var(--text-muted); margin-top: 6px; }
.fx-js-inline-108 { background: rgba(var(--accent), 0.1); border: 1px solid var(--border-bright); padding: 6px 15px; color: var(--text-primary); }
.fx-js-inline-109 { font-weight: 800; color: var(--accent); margin-left: 8px; }
.fx-js-inline-110 { color: var(--text-muted); font-size: 0.8rem; }
.fx-js-inline-111 { display: flex; justify-content: space-between; align-items: center; padding: 12px; background: rgba(244,63,94,0.05); border-radius: 8px; margin-bottom: 8px; border: 1px solid rgba(244,63,94,0.1); }
.fx-js-inline-112 { width: 16px; color: var(--error); }
.fx-js-inline-113 { color: var(--error); font-weight: 800; font-size: 0.75rem; }
.fx-js-inline-114 { font-size: 0.875rem; color: var(--text-muted); padding: 2rem; text-align: center; }
.fx-js-inline-115 { background: var(--accent); color: #fff; border: none; }
.fx-js-inline-116 { background: rgba(234, 179, 8, 0.1); color: var(--warning); border: 1px solid rgba(234, 179, 8, 0.3); }
.fx-js-inline-117 { background: rgba(99, 102, 241, 0.1); color: var(--accent); border: 1px solid rgba(99, 102, 241, 0.3); }
.fx-js-inline-118 { background: var(--success); color: #fff; border: none; }
.fx-js-inline-119 { background: rgba(255, 255, 255, 0.05); color: var(--text-muted); border: 1px solid rgba(255,255,255,0.1); }
.fx-js-inline-120 { background: rgba(239, 68, 68, 0.1); color: var(--error); border: 1px solid rgba(239, 68, 68, 0.3); }
.fx-js-inline-121 { background: var(--error); color: #fff; border: none; animation: pulse 2s infinite; }
.fx-js-inline-122 { padding: 1.5rem; background: rgba(255,255,255,0.02); border: 1px solid var(--border); border-radius: 12px; display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 1rem; }
.fx-js-inline-123 { display: flex; gap: 1.5rem; align-items: flex-start; }
.fx-js-inline-124 { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.5rem; flex-wrap: wrap; }
.fx-js-inline-125 { font-size: 0.85rem; color: var(--text-secondary); margin-bottom: 0.75rem; }
.fx-js-inline-126 { display: flex; align-items: center; gap: 1.5rem; }
.fx-js-inline-127 { font-size: 0.75rem; color: var(--text-muted); display: flex; align-items: center; gap: 4px; }
.fx-js-inline-128 { opacity: 0.5; margin-left: 4px; }
.fx-js-inline-129 { text-align: center; padding-top: 1rem; }
.fx-js-inline-130 { background: #0f172a; border: 1px solid rgba(148,163,184,.15); border-radius: 20px; padding: 2rem; width: 600px; max-width: 95vw; box-shadow: 0 40px 80px rgba(0,0,0,.6); }
.fx-js-inline-131 { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; }
.fx-js-inline-132 { margin: 0; font-size: 1.2rem; font-weight: 800; display: flex; align-items: center; gap: 10px; }
.fx-js-inline-133 { margin: 0 0 1.5rem; font-size: 0.875rem; color: var(--text-muted); }
.fx-js-inline-134 { display: flex; flex-direction: column; gap: 16px; }
.fx-js-inline-135 { font-size: 0.75rem; font-weight: 700; color: var(--text-muted); text-transform: uppercase; }
.fx-js-inline-136 { background: rgba(255,255,255,.06); border: 1px solid rgba(148,163,184,.15); border-radius: 10px; padding: 10px 14px; color: var(--text-primary); font-size: .875rem; font-family: inherit; width: 100%; margin-top: 6px; }
.fx-js-inline-137 { display: flex; gap: 16px; }
.fx-js-inline-138 { background: rgba(255,255,255,.06); border: 1px solid rgba(148,163,184,.15); border-radius: 10px; padding: 10px 14px; color: var(--text-primary); font-size: .875rem; font-family: inherit; width: 100%; margin-top: 6px; resize: vertical; }
.fx-js-inline-139 { display: flex; gap: 10px; justify-content: flex-end; margin-top: 1rem; }
.fx-js-inline-140 { height: 70px; border-bottom: 1px solid rgba(255,255,255,0.05); display: flex; align-items: center; justify-content: space-between; padding: 0 24px; background: #0f172a; }
.fx-js-inline-141 { display: flex; align-items: center; gap: 1rem; }
.fx-js-inline-142 { margin: 0; font-size: 1.1rem; font-weight: 700; }
.fx-js-inline-143 { background: transparent; border: none; color: var(--text-muted); cursor: pointer; }
.fx-js-inline-144 { flex: 1; overflow-y: auto; padding: 2rem; }
.fx-js-inline-145 { max-width: 800px; margin: 0 auto; display: flex; flex-direction: column; gap: 1.5rem; }
.fx-js-inline-146 { background: #0f172a; border-top: 1px solid rgba(255,255,255,0.05); padding: 1.5rem 2rem; }
.fx-js-inline-147 { max-width: 800px; margin: 0 auto; display: flex; gap: 1rem; }
.fx-js-inline-148 { flex: 1; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.1); border-radius: 10px; padding: 12px; color: #fff; font-family: inherit; font-size: 0.875rem; resize: none; }
.fx-js-inline-149 { display: flex; flex-direction: column; justify-content: flex-end; }
.fx-js-inline-150 { text-align: center; padding-bottom: 1rem; }
.fx-js-inline-151 { padding: 4px 12px; font-size: 0.75rem; }
.fx-js-inline-152 { background: var(--accent); color: #fff; padding: 2px 6px; border-radius: 4px; font-size: 0.6rem; margin-left: 6px; vertical-align: middle; }
.fx-js-inline-153 { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; padding: 0 4px; }
.fx-js-inline-154 { font-size: 0.65rem; color: var(--text-muted); }
.fx-js-inline-155 { width: min(760px,96vw); background: #0b1220; border: 1px solid rgba(148,163,184,.24); border-radius: 18px; box-shadow: 0 32px 80px rgba(0,0,0,.55); padding: 18px; }
.fx-js-inline-156 { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.fx-js-inline-157 { font-size: .76rem; color: var(--text-muted); text-transform: uppercase; letter-spacing: .06em; }
.fx-js-inline-158 { font-size: 1rem; font-weight: 800; }
.fx-js-inline-159 { margin-top: 12px; padding: 10px; border: 1px solid rgba(148,163,184,.2); border-radius: 12px; background: rgba(15,23,42,.72); font-family: var(--font-mono); font-size: .82rem; word-break: break-all; }
.fx-js-inline-160 { margin-top: 12px; font-size: .8rem; color: var(--text-muted); line-height: 1.55; }
.fx-js-inline-161 { margin-top: 14px; display: flex; justify-content: flex-end; gap: 8px; }
.fx-js-inline-162 { color: var(--warning); }
.fx-js-inline-163 { color: var(--text-muted); margin-top: 1rem; }
.fx-js-inline-164 { margin-top: 2rem; }
.fx-js-inline-165 { margin-bottom: 2rem; background: var(--info); }
.fx-js-inline-166 { color: var(--text-muted); margin-top: 1rem; line-height: 1.6; }
.fx-js-inline-167 { margin-bottom: 2rem; background: var(--success); }
.fx-js-inline-168 { margin-bottom: 2rem; background: var(--warning); }
.fx-js-inline-169 { margin-bottom: 2rem; background: var(--error); }
.fx-js-inline-170 { margin-bottom: 2rem; background: var(--accent); }
.fx-js-inline-171 { margin-top: 6px; }
.fx-js-inline-172 { margin-top: 8px; color: var(--text-muted); }
.fx-js-inline-173 { display: flex; align-items: center; gap: 12px; color: var(--success); }
.fx-js-inline-174 { width: 18px; }
.fx-js-inline-175 { display: flex; align-items: center; gap: 12px; color: var(--text-muted); }
.fx-js-inline-176 { margin-top: 4px; }
.fx-js-inline-177 { margin-top: 10px; padding: 10px; border: 1px solid var(--border); border-radius: 10px; }
.fx-js-inline-178 { font-weight: 700; margin-bottom: 6px; }
.fx-js-inline-179 { font-size: .8rem; color: var(--text-muted); }
.fx-js-inline-180 { font-size: .8rem; color: var(--text-muted); margin-top: 4px; }
.fx-js-inline-181 { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 8px; }
.fx-js-inline-182 { margin-top: 8px; }
.fx-js-inline-183 { margin-top: 6px; color: var(--text-muted); font-size: .75rem; }
.fx-js-inline-184 { margin-top: 10px; color: var(--warning); }
.fx-js-inline-185 { font-size: .75rem; color: var(--text-muted); }
.fx-js-inline-186 { font-size: .7rem; color: var(--text-muted); margin-bottom: 4px; }
.fx-js-inline-187 { font-size: .82rem; white-space: pre-wrap; }
.fx-js-inline-188 { display: flex; justify-content: space-between; gap: 10px; align-items: center; padding: 10px; border: 1px solid var(--border); border-radius: 10px; }
.fx-js-inline-189 { min-width: 0; }
.fx-js-inline-190 { font-size: .78rem; color: var(--text-muted); }
.fx-js-inline-191 { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
.fx-js-inline-192 { font-size: .78rem; color: var(--warning); }
.fx-js-inline-193 { font-size: 0.7rem; color: var(--text-muted); padding: 1rem; }
.fx-js-inline-194 { padding-left: 1.5rem; margin-bottom: 0.5rem; }
.fx-js-inline-195 { font-size: 0.75rem; padding: 6px 1rem; }
.fx-js-inline-196 { margin-left: 8px; display: inline-flex; align-items: center; }
.fx-js-inline-197 { font-size: 0.4rem; padding: 2px 4px; margin-left: auto; }
.fx-js-inline-198 { grid-column: 1/-1; color: var(--text-muted); }
.fx-js-inline-199 { position: absolute; top: 1rem; right: 1rem; display: flex; gap: 8px; }
.fx-js-inline-200 { padding: 4px; height: auto; z-index: 10; }
.fx-js-inline-201 { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 1.5rem; margin-top: 2rem; }
.fx-js-inline-202 { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; }
.fx-js-inline-203 { background: var(--error); color: #fff; }
.fx-js-inline-204 { font-size: 1rem; margin-bottom: 0.25rem; }
.fx-js-inline-205 { display: flex; align-items: center; justify-content: space-between; }
.fx-js-inline-206 { font-size: 0.7rem; font-weight: 700; color: var(--text-muted); }
.fx-js-inline-207 { width: 18px; color: var(--text-muted); }
.fx-js-inline-208 { margin-top: 10px; display: flex; justify-content: flex-end; }
.fx-js-inline-209 { padding: 5px 10px; font-size: 0.68rem; z-index: 10; }
.fx-js-inline-210 { margin-bottom: 1.5rem; }
.fx-js-inline-211 { padding: 0; }
.fx-js-inline-212 { color: var(--error); }
.fx-js-inline-213 { width: 100%; margin-top: 0.5rem; }
.fx-js-inline-214 { margin-bottom: 1.2rem; }
.fx-js-inline-215 { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 0.5rem; }
.fx-js-inline-216 { display: none; margin-top: 6px; max-height: 140px; overflow: auto; border: 1px solid var(--border); border-radius: 10px; background: rgba(15,23,42,.95); }
.fx-js-inline-217 { width: 100%; margin-top: 0.5rem; color: var(--text-primary); }
.fx-js-inline-218 { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.fx-js-inline-219 { margin-top: 1rem; }
.fx-js-inline-220 { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: .5rem; }
.fx-js-inline-221 { font-size: .72rem; color: var(--text-muted); }
.fx-js-inline-222 { width: 100%; margin-top: 0.35rem; }
.fx-js-inline-223 { display: flex; gap: 1rem; flex-wrap: wrap; margin-top: .6rem; }
.fx-js-inline-224 { font-size: .72rem; color: var(--text-muted); }
.fx-js-inline-225 { display: inline-flex; align-items: center; gap: 6px; padding: 4px 8px; border-radius: 999px; background: rgba(99,102,241,.2); color: var(--text-primary); font-size: .72rem; }
.fx-js-inline-226 { border: none; background: transparent; color: var(--text-muted); cursor: pointer; padding: 0; }
.fx-js-inline-227 { display: block; width: 100%; text-align: left; padding: 8px 10px; background: transparent; border: none; color: var(--text-primary); cursor: pointer; }

/* Manual dynamic-class overrides replacing former JS inline styles */
.fx-msg-align-start { display: flex; flex-direction: column; align-items: flex-start; width: 100%; }
.fx-msg-align-end { display: flex; flex-direction: column; align-items: flex-end; width: 100%; }
.fx-msg-name { font-size: 0.75rem; font-weight: 700; }
.fx-msg-name-default { color: var(--text-muted); }
.fx-msg-name-internal { color: var(--accent); }
.fx-msg-bubble-internal { background: linear-gradient(135deg, rgba(99,102,241,0.2) 0%, rgba(99,102,241,0.05) 100%); border: 1px solid rgba(99,102,241,0.3); padding: 1rem 1.25rem; border-radius: 12px; max-width: 85%; font-size: 0.875rem; line-height: 1.6; white-space: pre-wrap; color: var(--text-primary); }
.fx-msg-bubble-self { background: rgba(255,255,255,0.05); border: 1px solid var(--border); padding: 1rem 1.25rem; border-radius: 12px; max-width: 85%; font-size: 0.875rem; line-height: 1.6; white-space: pre-wrap; color: var(--text-primary); }
.fx-msg-bubble-other { background: rgba(255,255,255,0.02); border: 1px solid var(--border); padding: 1rem 1.25rem; border-radius: 12px; max-width: 85%; font-size: 0.875rem; line-height: 1.6; white-space: pre-wrap; color: var(--text-primary); }

.fx-ticket-icon-wrap-open { padding: 12px; background: rgba(99,102,241,0.1); border-radius: 12px; }
.fx-ticket-icon-wrap-closed { padding: 12px; background: rgba(255,255,255,0.05); border-radius: 12px; }
.fx-ticket-icon-open { color: var(--accent); }
.fx-ticket-icon-closed { color: var(--text-muted); }
.fx-ticket-title-open { font-weight: 700; font-size: 1rem; color: var(--text-primary); }
.fx-ticket-title-closed { font-weight: 700; font-size: 1rem; color: var(--text-muted); }

.fx-erp-role { font-size: 0.8rem; }
.fx-erp-role-default { color: inherit; }
.fx-erp-role-superadmin { color: var(--accent); }
.fx-erp-role-admin { color: var(--warning); }
.fx-erp-role-employee { color: var(--text-muted); }

.fx-project-card { cursor: pointer; transition: all 0.2s; border: 1px solid var(--border); position: relative; opacity: 1; }
.fx-project-card.is-disabled { opacity: 0.5; }
.fx-project-icon { width: 40px; height: 40px; border-radius: 10px; }
.fx-project-icon.is-live { background: var(--success-dark); }
.fx-project-icon.is-pending { background: var(--accent-dark); }

.fx-usage-value { font-size: 0.8rem; font-weight: 700; color: inherit; }
.fx-usage-value.is-high { color: var(--error); }
.fx-alert-widget { border-left: 4px solid var(--warning); }
.fx-alert-widget.is-critical { border-left-color: var(--error); }
.fx-alert-widget.is-warning { border-left-color: var(--warning); }
.fx-alert-badge { color: #111; }
.fx-alert-badge.is-critical { background: var(--error); }
.fx-alert-badge.is-warning { background: var(--warning); }

.fx-thermo-icon { width: 16px; }
.fx-thermo-icon.is-hot { color: var(--error); }
.fx-thermo-icon.is-ok { color: var(--success); }
.fx-proc-cpu { text-align: right; font-weight: 700; color: inherit; }
.fx-proc-cpu.is-high { color: var(--warning); }

.fx-wf-step-line { display: flex; align-items: center; gap: 12px; color: var(--text-muted); }
.fx-wf-step-line.is-active { color: var(--warning); }
.fx-wf-step-line.is-done { color: var(--success); }
.fx-wf-step-line.is-pending { color: var(--text-muted); }
.fx-wf-discussion-item { padding: 8px; border: 1px solid var(--border); border-radius: 10px; }
.fx-wf-discussion-item.is-internal { background: rgba(99,102,241,.12); }
.fx-wf-discussion-item.is-client { background: rgba(255,255,255,.02); }

/* Overlay / banner / utility classes migrated from JS cssText */
.fx-overlay { position: fixed; inset: 0; display: flex; align-items: center; justify-content: center; }
.fx-overlay-sha { background: rgba(0,0,0,.72); backdrop-filter: blur(6px); z-index: 1200; padding: 16px; }
.fx-overlay-ticket { background: rgba(0,0,0,.7); backdrop-filter: blur(6px); z-index: 500; }
.fx-overlay-thread { background: rgba(0,0,0,.85); backdrop-filter: blur(8px); z-index: 900; flex-direction: column; }
.fx-overlay-company { background: rgba(0,0,0,.7); backdrop-filter: blur(6px); z-index: 500; }

.fx-next-invoice-breakdown { margin-top: 12px; font-size: 0.75rem; }
.fx-session-countdown { font-size: .65rem; color: var(--text-muted); font-weight: 700; margin-top: 2px; }
.fx-session-warning-banner { position: fixed; left: 0; right: 0; bottom: 0; z-index: 9998; background: rgba(185,28,28,.95); color: #fff; padding: 10px 14px; border-top: 2px solid rgba(255,255,255,.2); display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.fx-analyse-banner { position: fixed; top: 0; left: 0; right: 0; z-index: 9999; background: linear-gradient(90deg, #b45309, #d97706, #f59e0b); color: #000; padding: 10px 24px; display: flex; align-items: center; justify-content: space-between; font-family: 'Plus Jakarta Sans', sans-serif; font-size: 0.8rem; box-shadow: 0 4px 20px rgba(245,158,11,.4); border-bottom: 2px solid #92400e; }
#app.has-analyse-banner { padding-top: 46px; }
