/* ============================================================
   Utility CSS Classes
   Extracted from inline style="" attributes across all Views.
   Loaded globally via _Layout.cshtml
   ============================================================ */

/* --- Display --- */
.u-hidden {
    display: none;
}

.u-inline {
    display: inline;
}

.u-inline-block {
    display: inline-block;
}

.u-block {
    display: block;
}

.u-flex {
    display: flex;
}

.u-inline-flex {
    display: inline-flex;
}

/* --- Layout / Flex --- */
.u-flex-1 {
    flex: 1;
}

.u-flex-1-min45 {
    flex: 1;
    min-width: 45px;
}

.u-flex-center {
    display: flex;
    align-items: center;
}

.u-flex-between {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.u-flex-wrap {
    flex-wrap: wrap;
}

.u-gap-5 {
    gap: 5px;
}

.u-gap-8 {
    gap: 8px;
}

.u-gap-10 {
    gap: 10px;
}

.u-gap-15 {
    gap: 15px;
}

.u-align-center {
    align-items: center;
}

.u-justify-center {
    justify-content: center;
}

.u-text-center {
    text-align: center;
}

.u-text-right {
    text-align: right;
}

.u-text-left {
    text-align: left;
}

/* --- Colors --- */
.u-text-red {
    color: red;
}

.u-text-white {
    color: #fff;
}

.u-text-muted {
    color: #6c757d;
}

.u-text-disabled {
    color: #D9D9D9;
}

.u-text-black {
    color: black;
}

.u-text-success {
    color: #28a745;
}

.u-text-danger {
    color: #dc3545;
}

.u-text-white-50 {
    color: rgba(255, 255, 255, 0.5);
}

.u-text-large-black {
    color: black;
    font-size: large;
}

.u-text-large-bold {
    font-size: large;
    font-weight: 900;
}

/* --- Spacing --- */
.u-mb-0 {
    margin-bottom: 0;
}

.u-mb-5 {
    margin-bottom: 5px;
}

.u-mb-10 {
    margin-bottom: 10px;
}

.u-mb-15 {
    margin-bottom: 15px;
}

.u-mb-20 {
    margin-bottom: 20px;
}

.u-mt-5 {
    margin-top: 5px;
}

.u-mt-10 {
    margin-top: 10px;
}

.u-mt-15 {
    margin-top: 15px;
}

.u-mt-20 {
    margin-top: 20px;
}

.u-ml-5 {
    margin-left: 5px;
}

.u-ml-10 {
    margin-left: 10px;
}

.u-mr-5 {
    margin-right: 5px;
}

.u-mr-10 {
    margin-right: 10px;
}

.u-mx-auto {
    margin-left: auto;
    margin-right: auto;
}

.u-p-0 {
    padding: 0;
}

.u-p-5 {
    padding: 5px;
}

.u-p-10 {
    padding: 10px;
}

.u-p-15 {
    padding: 15px;
}

.u-p-20 {
    padding: 20px;
}

.u-pt-10 {
    padding-top: 10px;
}

.u-pb-10 {
    padding-bottom: 10px;
}

/* --- Sizing --- */
.u-w-50 {
    width: 50px;
}

.u-w-60 {
    width: 60px;
}

.u-w-80 {
    width: 80px;
}

.u-w-100 {
    width: 100px;
}

.u-w-120 {
    width: 120px;
}

.u-w-150 {
    width: 150px;
}

.u-w-full {
    width: 100%;
}

.u-h-auto {
    height: auto;
}

.u-icon-14 {
    width: 14px;
    height: 14px;
}

.u-icon-20 {
    width: 20px;
    height: 20px;
}

/* --- Typography --- */
.u-fs-11 {
    font-size: 11px;
}

.u-fs-12 {
    font-size: 12px;
}

.u-fs-13 {
    font-size: 13px;
}

.u-fs-14 {
    font-size: 14px;
}

.u-fs-16 {
    font-size: 16px;
}

.u-fs-18 {
    font-size: 18px;
}

.u-fw-bold {
    font-weight: bold;
}

.u-fw-600 {
    font-weight: 600;
}

.u-fw-900 {
    font-weight: 900;
}

.u-uppercase {
    text-transform: uppercase;
}

.u-nowrap {
    white-space: nowrap;
}

.u-truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* --- Cursor --- */
.u-pointer {
    cursor: pointer;
}

.u-cursor-default {
    cursor: default;
}

/* --- Overflow --- */
.u-overflow-hidden {
    overflow: hidden;
}

.u-overflow-auto {
    overflow: auto;
}

.u-overflow-x-auto {
    overflow-x: auto;
}

.u-overflow-y-auto {
    overflow-y: auto;
}

/* --- Borders --- */
.u-border-0 {
    border: none;
}

.u-rounded {
    border-radius: 6px;
}

.u-rounded-lg {
    border-radius: 10px;
}

.u-rounded-full {
    border-radius: 50%;
}

/* --- Position --- */
.u-relative {
    position: relative;
}

.u-absolute {
    position: absolute;
}

.u-sticky {
    position: sticky;
    top: 0;
}

/* --- Visibility --- */
.u-invisible {
    visibility: hidden;
}

.u-opacity-0 {
    opacity: 0;
}

.u-opacity-50 {
    opacity: 0.5;
}
/* --- Additional Utilities (Phase 2) --- */
.u-w-70 { width: 70px; }
.u-w-80 { width: 80px; }
.u-w-120 { width: 120px; }
.u-w-150 { width: 150px; }
.u-w-200 { width: 200px; }
.u-w-12pct { width: 12%; }
.u-fs-large-bold { font-size: large; font-weight: 900; }
.u-word-break { word-break: break-all; }
.u-max-w-100 { max-width: 100%; }
.u-border-bottom-gray { border-bottom: 1px solid #eee; }
.u-bg-transparent { background: transparent; }
.u-resize-none { resize: none; }
.u-flex-col-center { display: flex; flex-direction: column; align-items: center; padding: 3rem 0; }