/*
 * admin-utilities.css — small helper classes that let us delete common
 * repeated inline styles across admin blades (font sizes, percent widths,
 * tiny spacing values, offset margins, etc.).
 * Loaded after admin-modules.css so it wins over any scoped rule with
 * the same specificity that might set the same property.
 */

/* ── Font sizes in pixels ──────────────────────────────────── */
.fs-9px  { font-size: 9px  !important; }
.fs-10px { font-size: 10px !important; }
.fs-11px { font-size: 11px !important; }
.fs-12px { font-size: 12px !important; }
.fs-13px { font-size: 13px !important; }
.fs-14px { font-size: 14px !important; }
.fs-15px { font-size: 15px !important; }
.fs-16px { font-size: 16px !important; }

/* ── Font sizes in decimal rem (matches KTMeron scale) ────── */
.fs-65rem { font-size: .65rem !important; }
.fs-68rem { font-size: .68rem !important; }
.fs-70rem { font-size: .7rem  !important; }
.fs-71rem { font-size: .71rem !important; }
.fs-72rem { font-size: .72rem !important; }
.fs-75rem { font-size: .75rem !important; }
.fs-76rem { font-size: .76rem !important; }
.fs-78rem { font-size: .78rem !important; }
.fs-80rem { font-size: .8rem  !important; }
.fs-82rem { font-size: .82rem !important; }
.fs-85rem { font-size: .85rem !important; }
.fs-88rem { font-size: .88rem !important; }
.fs-90rem { font-size: .9rem  !important; }
.fs-92rem { font-size: .92rem !important; }
.fs-93rem { font-size: .93rem !important; }

/* ── Percent widths (steps that appear in the codebase) ────── */
.w-5pct  { width: 5%; }
.w-8pct  { width: 8%; }
.w-10pct { width: 10%; }
.w-12pct { width: 12%; }
.w-15pct { width: 15%; }
.w-18pct { width: 18%; }
.w-20pct { width: 20%; }
.w-25pct { width: 25%; }
.w-30pct { width: 30%; }
.w-35pct { width: 35%; }
.w-40pct { width: 40%; }
.w-45pct { width: 45%; }
.w-55pct { width: 55%; }
.w-60pct { width: 60%; }
.w-65pct { width: 65%; }
.w-70pct { width: 70%; }
.w-80pct { width: 80%; }
.w-85pct { width: 85%; }
.w-90pct { width: 90%; }
.w-95pct { width: 95%; }

/* ── Small pixel widths ────────────────────────────────────── */
.w-10px  { width: 10px; }
.w-15px  { width: 15px; }
.w-20px  { width: 20px; }
.w-25px  { width: 25px; }
.w-30px  { width: 30px; }
.w-40px  { width: 40px; }
.w-50px  { width: 50px; }
.w-60px  { width: 60px; }
.w-80px  { width: 80px; }
.w-100px { width: 100px; }
.w-120px { width: 120px; }
.w-150px { width: 150px; }
.w-200px { width: 200px; }

/* ── Padding shortcuts ─────────────────────────────────────── */
.p-2px { padding: 2px; }
.p-4px { padding: 4px; }
.p-6px { padding: 6px; }
.pl-45px { padding-left: 45px; }

/* ── Margin shortcuts (positive) ───────────────────────────── */
.mt-10px { margin-top: 10px; }
.mb-20px { margin-bottom: 20px; }

/* ── Colors (exact literals used repeatedly) ──────────────── */
.color-black-lit  { color: black; }
.color-grey-lit   { color: grey; }
.color-slate500   { color: #64748b; }      /* tailwind slate-500 */
.color-violet700  { color: #6d28d9; }      /* tailwind violet-700 */
.color-slate500-mt4 { color: #64748b; margin-top: 4px; }
.color-slate400   { color: #94a3b8; }      /* tailwind slate-400 */
.color-violet600  { color: #7c3aed; }      /* tailwind violet-600 */

/* ── Borders (print/table patterns) ────────────────────────── */
.border-1         { border: 1px solid; }
.border-1-black   { border: 1px solid black; }
.border-1-111     { border: 1px solid #111; }
.border-1-897878  { border: 1px solid #897878; }
.border-3-black   { border: 3px solid black; }
.border-l-1-black { border-left: 1px solid black; }
.border-r-1-black { border-right: 1px solid black; }
.border-l-1-black-w5 { border-left: 1px solid black; width: 5px; }

/* ── Backgrounds (literal colors used repeatedly) ─────────── */
.bg-peach         { background-color: #fce4d6; }
.bg-peach-b1black { background-color: #fce4d6; border: 1px solid black; }
.bg-bfbfbf        { background-color: #bfbfbf; }
.bg-999898        { background-color: #999898; }
.bg-skyblue-lit   { background-color: skyblue; }
.border-3-black-bg-bfbfbf { border: 3px solid black; background: #bfbfbf; }
.border-1-bg-999898       { border: 1px solid; background-color: #999898; }

/* ── More percent widths (from re-survey) ─────────────────── */
.w-4pct  { width: 4%; }
.w-7pct  { width: 7%; }
.w-9pct  { width: 9%; }
.w-14pct { width: 14%; }
.w-33pct { width: 33.3333%; }

/* ── More pixel widths / sizes ─────────────────────────────── */
.w-5px   { width: 5px; }
.w-70px  { width: 70px; }
.w-90px  { width: 90px; }
.w-110px { width: 110px; }
.w-140px { width: 140px; }
.w-160px { width: 160px; }
.wh-14px { width: 14px; height: 14px; }
.h-60px  { height: 60px; }
.brand-thumb-60 { margin-left: 15px; height: 60px; width: 60px; object-fit: contain; }

/* ── Additional spacing shortcuts ──────────────────────────── */
.mt-neg-35px { margin-top: -35px; }
.mt-4px      { margin-top: 4px; }
.mt-5px      { margin-top: 5px; }
.mt-5-h60    { margin-top: 5px; height: 60px; }
.mb-neg-35-mb-20 { margin-top: -35px; margin-bottom: 20px; }
.pr-5px      { padding-right: 5px; }
.mr-5px      { margin-right: 5px; }
.mb-6px      { margin-bottom: 6px; }
.ls-05px     { letter-spacing: .5px; }
.flex-1      { flex: 1; }
.vertical-align-neg-0125em { vertical-align: -0.125em; }
.text-indent-10px { text-indent: 10px; }
.d-table-cell { display: table-cell; }

/* ── Composites (only when both parts always appear together) */
.float-start-w80pct { float: left; width: 80%; }
.p-0-m-0            { padding: 0; margin: 0; }
.fs-165px           { font-size: 16.5px; }
.fs-75em            { font-size: .75em; }
.fs-20px            { font-size: 20px; }

/* ── Additional widths / heights / min-widths ─────────────── */
.w-3pct   { width: 3%; }
.w-6pct   { width: 6%; }
.w-11pct  { width: 11%; }
.w-13pct  { width: 13%; }
.w-17pct  { width: 17%; }
.w-22pct  { width: 22%; }
.w-130px  { width: 130px; }
.wh-13px  { width: 13px; height: 13px; }
.h-26px   { height: 26px; }
.min-w-0    { min-width: 0; }
.min-w-80px  { min-width: 80px; }
.min-w-110px { min-width: 110px; }
.min-w-130px { min-width: 130px; }
.min-w-160px { min-width: 160px; }
.max-w-200px { max-width: 200px; }

/* ── Additional colors ────────────────────────────────────── */
.color-red-lit    { color: red; }
.color-red600     { color: #dc2626; }       /* tailwind red-600 */
.bg-green-a9d08e  { background: #a9d08e; }
.bg-yellow-lit    { background-color: #ffff00; }
.bg-blue-1b95ff   { background-color: #1b95ff; }
.bg-pink-ffcccc   { background-color: #ffcccc; }
.bg-pink-color-red { background-color: #ffcccc; color: red; }

/* ── Additional borders ───────────────────────────────────── */
.border-1-000       { border: 1px solid #000; }
.border-1-e2e8f0    { border: 1px solid #e2e8f0; }
.border-bottom-3-black { border-bottom: 3px solid black; }
.border-ridge-tb    { border-top: ridge; border-bottom: ridge; }

/* ── Additional spacing ───────────────────────────────────── */
.pt-20px      { padding-top: 20px; }
.p-6-8        { padding: 6px 8px; }
.ml-10px      { margin-left: 10px; }
.mt-neg-20px  { margin-top: -20px; }

/* ── Letter-spacing helpers (KTMeron-style) ───────────────── */
.ls-04em { letter-spacing: .04em; }
.ls-05em { letter-spacing: .05em; }
.ls-06em { letter-spacing: .06em; }

/* ── More composites that appear as full style attrs ─────── */
.float-start-w-80pct { float: left; width: 80%; }  /* fixed alias (also matches .float-start-w80pct) */
.brand-thumb-60-lit  { margin-left: 15px; height: 60px; width: 60px; object-fit: contain; }
.kpi-blue-card       { background: linear-gradient(135deg, #eff6ff, #dbeafe); border: 1px solid #93c5fd; }
.kpi-green-card      { background: linear-gradient(135deg, #f0fdf4, #dcfce7); border: 1px solid #86efac; }
.kpi-amber-card      { background: linear-gradient(135deg, #fef3c7, #fde68a); border: 1px solid #fcd34d; }

/* ── Next-tier fonts / colors / widths / spacings ─────────── */
.fs-6rem   { font-size: .6rem !important; }
.fs-62rem  { font-size: .62rem !important; }
.fs-18px   { font-size: 18px; }

.color-gray500   { color: #6b7280; }  /* tailwind gray-500 */
.color-gray600   { color: #6c757d; }  /* bootstrap muted */
.color-gray-555  { color: #555; }
.color-black-000 { color: #000; }
.color-danger-bs { color: #dc3545; }  /* bootstrap danger */
.color-green600  { color: #16a34a; }  /* tailwind green-600 */
.color-green700  { color: #15803d; }  /* tailwind green-700 */
.color-amber700  { color: #b45309; }
.color-amber800  { color: #92400e; }

.bg-peach2         { background: #f8cbad; }
.bg-lightblue-info { background: #d9edf7; }
.bg-lightblue-info-color { background-color: #d9edf7; }
.bg-orange-ff851b  { background-color: #ff851b; }
.bg-yellow-f3eb08  { background-color: #f3eb08; }
.bg-gray-e5e5e5    { background-color: #e5e5e5; }
.bg-red-dd4b39     { background-color: #dd4b39; }
.bg-navy-1e3a5f-b0f2444 { background-color: #1e3a5f; border: 1px solid #0f2444; }
.bg-indigo-1e1b4b-b312e81 { background-color: #1e1b4b; padding: 7px 8px; border: 1px solid #312e81; }
.bg-blue-1d4ed8-b1e40af   { background-color: #1d4ed8; border: 1px solid #1e40af; }

.w-1pct    { width: 1%; }
.w-2pct    { width: 2%; }
.w-16pct   { width: 16%; }
.w-28px    { width: 28px; }
.w-36px    { width: 36px; }
.w-180px   { width: 180px; }
.min-w-90px  { min-width: 90px; }
.min-w-120px { min-width: 120px; }
.min-w-140px { min-width: 140px; }

.mt-2px     { margin-top: 2px; }
.mt-6px     { margin-top: 6px; }
.mt-20px    { margin-top: 20px; }
.mb-5px     { margin-bottom: 5px; }
.mb-10px    { margin-bottom: 10px; }
.pt-40px    { padding-top: 40px; }
.p-5px      { padding: 5px; }
.p-3-5      { padding: 3px 5px; }
.m-r30      { margin: 0 30px 0 0; }

.flex-2               { flex: 2; }
.border-collapse-lit  { border-collapse: collapse; }
.border-solid-1       { border: solid 1px; }
.border-top-1-black    { border-top: 1px solid black; }
.border-bottom-1-black { border-bottom: 1px solid black; }
.border-top-ridge      { border-top: ridge; }
.border-r-l-3-black    { border-right: 3px solid black; border-left: 3px solid black; }
.border-r-b-solid-1-000 { border-right: solid 1px #000; border-bottom: solid 1px #000; }

/* ── Round 7 additions ────────────────────────────────────── */
.fs-73rem { font-size: .73rem !important; }
.fs-95rem { font-size: .95rem !important; }
.fs-1rem  { font-size: 1rem !important; }
.fs-8px   { font-size: 8px !important; }

.color-orange-e65100 { color: #e65100; }
.color-orange-lit    { color: orange; }
.color-indigo700     { color: #4338ca; }
.color-indigo500     { color: #6366f1; }
.color-violet800     { color: #5b21b6; }
.color-emerald800    { color: #065f46; }
.color-success-bs    { color: #198754; }  /* bootstrap success */
.color-amber600      { color: #d97706; }
.color-red-f51421    { color: #f51421; }
.color-gray400       { color: #9ca3af; }
.color-blue700       { color: #1d4ed8; }
.color-var-muted     { color: var(--muted); }

.bg-blue-3c8dbc { background: #3c8dbc; }
.bg-blue-2563eb { background: #2563eb; }
.bg-light-bs    { background: #f8f9fa; }
.bg-green600-lit { background: #16a34a; }
.bg-white       { background-color: white; }
.bg-blue-b7dee8 { background-color: #b7dee8; }
.bg-blue-00b0f0 { background-color: #00b0f0; }

.min-w-52px  { min-width: 52px; }
.min-w-70px  { min-width: 70px; }
.min-w-100px { min-width: 100px; }
.min-w-180px { min-width: 180px; }
.min-w-200px { min-width: 200px; }
.min-w-220px { min-width: 220px; }

.w-24pct    { width: 24%; }
.w-38pct    { width: 38%; }
.w-200px-lit { width: 200px; }
.w-220px    { width: 220px; }
.h-16px     { height: 16px; }
.h-36px     { height: 36px; }
.max-w-150px { max-width: 150px; }

.ml-5px  { margin-left: 5px; }
.ml-8px  { margin-left: 8px; }
.ml-20px { margin-left: 20px; }
.mt-3px  { margin-top: 3px; }
.mt-8px  { margin-top: 8px; }
.mb-0px  { margin-bottom: 0; }
.mb-15px { margin-bottom: 15px; }
.pt-7px  { padding-top: 7px; }
.pl-8px  { padding-left: 8px; }
.p-1px   { padding: 1px; }
.p-4-0   { padding: 4px 0; }
.p-4-6   { padding: 4px 6px; }
.p-6-0   { padding: 6px 0; }

.border-top-1-e4e6ef   { border-top: 1px solid #e4e6ef; }
.border-top-solid-1-black { border-top: solid 1px black; }
.rounded-10px          { border-radius: 10px; }
.lh-12                 { line-height: 1.2; }
.white-space-pre-wrap  { white-space: pre-wrap; }

/* Round 7 whole-attr composites */
.thead-navy-print {
    font-family: Arial, sans-serif;
    font-size: 8pt;
    padding: 5px 4px;
    background: #1e3a5f;
    border: 1px solid #16304f;
}
.thead-slate-print {
    background-color: #1e293b;
    color: #f8fafc;
    font-size: 8pt;
    padding: 5px 6px;
    border: 1px solid #334155;
}
.chip-tiny-info {
    font-size: 8px;
    background-color: #b7dee8;
}
.kpi-violet-card {
    background: linear-gradient(135deg, #f5f3ff, #ede9fe);
    border: 1px solid #c4b5fd;
}
.thead-ocean   { background-color: #0f4c81; padding: 6px 7px; border: 1px solid #0a3560; }
.thead-ocean-2 { background-color: #0f4c81; padding: 7px 6px; border: 1px solid #0a3560; }
.thead-ocean-3 {
    background-color: #1a6aad;
    color: #e0f0ff;
    padding: 3px 6px;
    border: 1px solid #0f4c81;
}
.wh-12px { width: 12px; height: 12px; }
.mn-blue-badge-44 {
    width: 44px;
    height: 44px;
    background: rgba(37, 99, 235, .10);
    border: 1px solid var(--mn-border);
}
.section-divider    { border-top: 2px solid #e4e6ef; background: #f5f8fa; }
.chip-gray-plain    { background-color: #f9f9f9; border: 1px solid #ccc; }
.preview-thumb-100  { max-height: 100px; margin-left: 30px; }
.border-1-black-center { border: 1px solid black; text-align: center; }

/* ── Round 8 additions ────────────────────────────────────── */
.color-slate600  { color: #475569; }
.color-cyan600   { color: #0891b2; }
.color-emerald600 { color: #059669; }
.color-red900     { color: #991b1b; }
.color-blue-3c8dbc { color: #3c8dbc; }
.color-blue-1565c0 { color: #1565c0; }
.color-var-lm-muted { color: var(--lm-muted); }

.bg-pink-ffd6d6  { background-color: #ffd6d6; }
.bg-blue-d6f0ff  { background-color: #d6f0ff; }
.bg-gray-f5f5f5  { background-color: #f5f5f5; }
.bg-violet-ede8f5 { background-color: #ede8f5; }
.bg-green-e8f5e8  { background-color: #e8f5e8; }
.bg-green-f6ffed  { background-color: #f6ffed; }
.bg-orange-fff5e0 { background-color: #fff5e0; }
.bg-slate-37474f  { background-color: #37474f; }
.bg-slate-f8fafc  { background: #f8fafc; }
.bg-green-f0fdf4  { background: #f0fdf4; }
.bg-slate-eef3fb-border { background-color: #eef3fb; border: 1px solid #d1d9e6; }

.fs-45rem { font-size: .45rem !important; }
.fs-5rem  { font-size: .5rem !important; }
.fs-67rem { font-size: .67rem !important; }
.fs-83rem { font-size: .83rem !important; }
.fs-16rem { font-size: 1.6rem !important; }

.h-30px { height: 30px; }
.h-40px { height: 40px; }
.h-14px { height: 14px; }

.min-w-150px { min-width: 150px; }
.w-21pct { width: 21%; }
.w-26pct { width: 26%; }
.w-28pct { width: 28%; }
.wh-44px { width: 44px; height: 44px; }

.max-w-420px  { max-width: 420px; }
.max-w-60-20  { max-width: 60px; max-height: 20px; text-overflow: ellipsis; }
.max-w-100-imp { max-width: 100% !important; }

.mt-neg-10px { margin-top: -10px; }
.mt-neg-16px { margin-top: -16px; }
.ml-3px      { margin-left: 3px; }
.m-5px       { margin: 5px; }
.pr-2px      { padding-right: 2px; }
.pb-025rem   { padding-bottom: .25rem; }
.pb-5-ml-17  { padding-bottom: 5px; margin-left: 17px; }
.p-1px-imp   { padding: 1px !important; }

.d-inline-lit    { display: inline; }
.d-table-row     { display: table-row; }
.justify-between-lit { justify-content: space-between; }
.opacity-08      { opacity: .8; }
.text-center-bold { text-align: center; font-weight: bold; }
.text-center-fs-10 { text-align: center; font-size: 10px; }
.float-start-w-95pct { float: left; width: 95%; }
.font-tahoma-small   { font-family: Tahoma, sans-serif; font-size: small; }
.w-20px-imp          { width: 20px !important; }
.max-w-640-centered  { max-width: 640px; margin: 0 auto; background: #ffffff; }

.border-var-mn-imp   { border-color: var(--mn-border) !important; }

/* ── Round 9 additions ────────────────────────────────────── */
.fs-125px { font-size: 12.5px; }
.fs-17px  { font-size: 17px; }
.fs-79rem { font-size: .79rem !important; }
.fs-105rem { font-size: 1.05rem !important; }
.fs-70rem-td-none { text-decoration: none; font-size: .7rem; }
.fs-30-color-cyan { font-size: 30px; color: #00aef0; }

.fw-800   { font-weight: 800; }

.color-navy-1e3a5f { color: #1e3a5f; }
.color-amber700-a16207 { color: #a16207; }
.color-red-c62828  { color: #c62828; }
.color-blue800-1e40af { color: #1e40af; }
.color-999-gray    { color: #999999; }

.bg-slate-f1f5f9   { background: #f1f5f9; }
.bg-blue-eff6ff    { background: #eff6ff; }
.bg-orange-fff3e0  { background: #fff3e0; }
.bg-orange-f2bb66  { background-color: #f2bb66; }
.bg-yellow-fff8e1  { background: #fff8e1; }
.bg-amber-f59e0b   { background: #f59e0b; }
.bg-pink-color-red-2 { background: #ffcccc; color: red; }
.bg-thead-gray-374  { color: #374151; background-color: #f3f4f6; padding: 5px 8px; border: 1px solid #e5e7eb; }
.bg-thead-gray-111  { color: #111827; background-color: #f9fafb; padding: 5px 8px; border: 1px solid #e5e7eb; }

.border-1-d1d9e6   { border: 1px solid #d1d9e6; }
.border-r-3-black  { border-right: 3px solid black; }
.border-bottom-var-ns { border-bottom: 1px solid var(--ns-border); }
.rounded-pill-999  { border-radius: 999px; }
.rounded-12px      { border-radius: 12px; }

.w-32px  { width: 32px; }
.w-38px  { width: 38px; }
.w-44px  { width: 44px; }
.w-52px  { width: 52px; }
.w-165px-imp { width: 165px !important; }
.w-170px { width: 170px; }
.w-27pct { width: 27%; }
.w-34pct { width: 34%; }
.max-w-160px  { max-width: 160px; }
.max-w-300px  { max-width: 300px; }
.max-w-900-centered { max-width: 900px; margin: auto; }
.min-w-22px  { min-width: 22px; }
.min-w-82px  { min-width: 82px; }
.min-w-95px  { min-width: 95px; }
.min-w-240px { min-width: 240px; }
.h-28px      { height: 28px; }
.min-w-0-flex-1 { min-width: 0; flex: 1; }

.p-3px       { padding: 3px; }
.p-3-10      { padding: 3px 10px; }
.p-5-8       { padding: 5px 8px; }
.p-6-10      { padding: 6px 10px; }
.pb-20px     { padding-bottom: 20px; }
.pt-pb-8     { padding-top: 8px; padding-bottom: 8px; }
.mb-4px      { margin-bottom: 4px; }
.mb-8px      { margin-bottom: 8px; }
.pr-90px     { padding-right: 90px; }
.ls-03em     { letter-spacing: .03em; }

.flex-shrink-0-lit  { flex-shrink: 0; }
.z-90000            { z-index: 90000; }
.transition-transform-2s { transition: transform .2s; }
.top-26px           { top: 26px; }
.white-space-pre-line { white-space: pre-line; }
.min-h-2px-bg-red   { min-height: 2px; background-color: red; }
.thumb-28-op        { height: 28px; margin: 0 auto .4rem; opacity: .35; }

/* Missing-semicolon fix for repeated .fs-16px + .fw-bold pattern */
.fs-16px-bold { font-size: 16px; font-weight: bold; }
