#dim-dashboard,
.dim-modal-overlay {
--dim-navy:   #002D74; --dim-blue:   #31A7E1; --dim-text:   #0a1e3d; --dim-muted:  #5a6a7e; --dim-border: #dcdcde; --dim-bg:     #f4f6f9; --dim-white:  #ffffff;
--dim-radius: 4px;
--dim-font:   'Raleway', sans-serif;
}
#dim-dashboard {
font-family: var(--dim-font);
color: var(--dim-text);
max-width: 100%;
margin: 0 auto;
padding: 0 0 60px;
box-shadow: 0 4px 40px rgba(0, 0, 0, 0.13);
} .dim-dash-header {
background: var(--dim-navy);
color: #fff;
padding: 14px 24px;
margin-bottom: 0;
}
.dim-dash-header-inner {
display: flex;
justify-content: space-between;
align-items: center;
gap: 16px;
flex-wrap: wrap;
}
.dim-dash-brand {
font-size: 16px;
font-weight: 900;
text-transform: uppercase;
letter-spacing: .08em;
display: flex;
flex-direction: column;
gap: 3px;
}
.dim-dash-header-dealers {
font-size: 11px;
font-weight: 500;
text-transform: none;
letter-spacing: .03em;
color: rgba(255, 255, 255, 0.65);
}
.dim-dash-user-info {
display: flex;
align-items: center;
gap: 12px;
font-size: 13px;
}
.dim-dash-logout {
color: rgba(255,255,255,.7);
text-decoration: none;
font-size: 12px;
}
.dim-dash-logout:hover { color: #fff; text-decoration: underline; } .dim-dash-nav {
display: flex;
gap: 0;
border-bottom: 3px solid var(--dim-border);
background: var(--dim-white);
padding: 0 24px;
}
.dim-dash-tab {
padding: 14px 20px;
font-size: 12px;
font-weight: 800;
text-transform: uppercase;
letter-spacing: .07em;
text-decoration: none;
color: var(--dim-muted);
border-bottom: 3px solid transparent;
margin-bottom: -3px;
transition: color .15s, border-color .15s;
}
.dim-dash-tab:hover  { color: var(--dim-navy); }
.dim-tab-active      { color: var(--dim-navy); border-bottom-color: var(--dim-blue); } .dim-dash-content { padding: 28px 24px 0; } .dim-panel-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 20px;
flex-wrap: wrap;
gap: 12px;
}
.dim-panel-title {
font-size: 18px;
font-weight: 900;
text-transform: uppercase;
letter-spacing: .05em;
color: var(--dim-navy);
margin: 0;
} .dim-dash-notice {
padding: 16px 20px;
background: var(--dim-bg);
border-left: 4px solid var(--dim-blue);
font-size: 14px;
border-radius: 0 var(--dim-radius) var(--dim-radius) 0;
}
.dim-dash-notice a { color: var(--dim-navy); } .dim-btn {
display: inline-block;
padding: 10px 20px;
font-size: 12px;
font-weight: 800;
text-transform: uppercase;
letter-spacing: .05em;
text-decoration: none;
cursor: pointer;
border: 2px solid var(--dim-navy);
background: var(--dim-navy);
color: #fff;
font-family: var(--dim-font);
transition: background .15s, border-color .15s, color .15s;
line-height: 1.2;
}
.dim-btn:hover            { background: var(--dim-blue); border-color: var(--dim-blue); color: #fff; }
.dim-btn-outline          { background: transparent; color: var(--dim-navy); }
.dim-btn-outline:hover    { background: var(--dim-navy); color: #fff; }
.dim-btn-white            { background: #fff; border-color: #fff; color: var(--dim-navy); }
.dim-btn-white:hover      { background: var(--dim-blue); border-color: var(--dim-blue); color: #fff; }
.dim-btn-danger           { background: #c0392b; border-color: #c0392b; color: #fff; }
.dim-btn-danger:hover     { background: #a93226; border-color: #a93226; }
.dim-btn-sm               { padding: 6px 12px; font-size: 11px; }
.dim-btn-icon             { padding: 6px 8px; line-height: 1; display: inline-flex; align-items: center; justify-content: center; }
.dim-btn:disabled         { opacity: .55; cursor: default; pointer-events: none; } .dim-badge {
display: inline-block;
font-size: 11px;
font-weight: 700;
padding: 2px 9px;
border-radius: 12px;
background: var(--dim-bg);
color: var(--dim-muted);
border: 1px solid var(--dim-border);
white-space: nowrap;
}
.dim-badge-blue  { background: #dbeeff; color: var(--dim-navy); border-color: #b3d4f5; }
.dim-badge-green { background: #d4edda; color: #155724;         border-color: #c3e6cb; } .dim-table-wrap { overflow-x: auto; }
.dim-table {
width: 100%;
border-collapse: collapse;
font-size: 13px;
min-width: 600px;
}
.dim-table th {
text-align: left;
font-size: 10px;
font-weight: 800;
text-transform: uppercase;
letter-spacing: .08em;
color: var(--dim-muted);
padding: 10px 12px;
border-bottom: 2px solid var(--dim-border);
white-space: nowrap;
}
.dim-table td {
padding: 12px 12px;
border-bottom: 1px solid var(--dim-border);
vertical-align: middle;
}
.dim-table tr:last-child td  { border-bottom: none; }
.dim-table tbody tr:hover td { background: var(--dim-bg); }
.dim-table-link { color: inherit; text-decoration: none; }
.dim-table-link:hover { text-decoration: underline; }
.dim-action-cell { white-space: nowrap; display: flex; gap: 6px; } .dim-th-sort {
cursor: pointer;
user-select: none;
white-space: nowrap;
}
.dim-th-sort:hover            { background: #f0f4f8; cursor: pointer; }
.dim-th-sort .dim-sort-icon   { opacity: .35; font-style: normal; margin-left: 4px; font-size: 11px; }
.dim-th-sort:hover .dim-sort-icon { opacity: .7; }
.dim-th-active                { color: var(--dim-navy, #1a2e4a); }
.dim-th-active .dim-sort-icon { opacity: 1; color: var(--dim-blue, #2271b1); } .dim-form-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px 24px;
}
.dim-field-full { grid-column: 1 / -1; }
.dim-field label {
display: block;
font-size: 11px;
font-weight: 800;
text-transform: uppercase;
letter-spacing: .06em;
margin-bottom: 5px;
color: var(--dim-text);
}
.dim-field input,
.dim-field select,
.dim-field textarea {
width: 100%;
padding: 9px 12px;
border: 1px solid var(--dim-border);
border-radius: var(--dim-radius);
font-size: 14px;
font-family: var(--dim-font);
color: var(--dim-text);
background: var(--dim-white);
box-sizing: border-box;
transition: border-color .15s;
}
.dim-field textarea { min-height: 90px; resize: vertical; }
.dim-field input:focus,
.dim-field select:focus,
.dim-field textarea:focus {
border-color: var(--dim-blue);
outline: none;
box-shadow: 0 0 0 2px rgba(49,167,225,.15);
} .dim-ajax-msg {
display: none;
padding: 10px 14px;
border-radius: var(--dim-radius);
font-size: 13px;
font-weight: 600;
margin-bottom: 16px;
}
.dim-ajax-msg.success { display: block; background: #d4edda; color: #155724; }
.dim-ajax-msg.error   { display: block; background: #f8d7da; color: #721c24; } .dim-images-section    { margin-top: 24px; }
.dim-image-upload-row  { display: flex; align-items: center; gap: 12px; margin-top: 10px; }
.dim-image-count-label { font-size: 12px; color: var(--dim-muted); }
.dim-image-grid {
display: flex;
flex-wrap: wrap;
gap: 10px;
}
.dim-image-thumb {
position: relative;
width: 90px;
height: 90px;
border-radius: var(--dim-radius);
overflow: hidden;
border: 2px solid var(--dim-border);
background: var(--dim-bg);
flex-shrink: 0;
}
.dim-image-thumb img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}
.dim-image-delete {
position: absolute;
top: 3px;
right: 3px;
background: rgba(0,0,0,.65);
color: #fff;
border: none;
border-radius: 50%;
width: 20px;
height: 20px;
font-size: 14px;
line-height: 1;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
opacity: 0;
transition: opacity .15s;
padding: 0;
}
.dim-image-thumb:hover .dim-image-delete { opacity: 1; }
.dim-image-star {
position: absolute;
bottom: 3px;
left: 4px;
color: #f1c40f;
font-size: 13px;
text-shadow: 0 1px 2px rgba(0,0,0,.5);
}
.dim-image-pending       { border-color: var(--dim-blue); }
.dim-image-pending-label {
position: absolute;
bottom: 0;
left: 0;
right: 0;
background: var(--dim-blue);
color: #fff;
font-size: 10px;
font-weight: 700;
text-align: center;
padding: 2px 0;
text-transform: uppercase;
letter-spacing: .04em;
} .dim-modal-overlay {
display: none !important;
position: fixed !important;
top: 0 !important;
left: 0 !important;
right: 0 !important;
bottom: 0 !important;
background: rgba(0,0,0,.55) !important;
z-index: 999999 !important;
overflow-y: auto;
padding: 48px 16px;
justify-content: center;
}
.dim-modal-overlay.open { display: flex !important; }
.dim-modal {
background: #ffffff !important;
width: 100%;
max-width: 720px;
border-radius: var(--dim-radius);
overflow: visible;
box-shadow: 0 20px 60px rgba(0,0,0,.3);
margin: 0 auto 48px;
position: relative;
}
.dim-modal-header {
display: flex;
justify-content: space-between;
align-items: center;
padding: 18px 24px;
background: var(--dim-navy);
color: #fff;
border-radius: var(--dim-radius) var(--dim-radius) 0 0;
}
.dim-modal-header h3   { margin: 0; font-size: 14px; font-weight: 900; text-transform: uppercase; letter-spacing: .06em; color:#ffffff; }
.dim-modal-close       { background: none; border: none; color: #fff; font-size: 22px; cursor: pointer; padding: 0; line-height: 1; opacity: .75; }
.dim-modal-close:hover { opacity: 1; }
.dim-modal-body        { padding: 24px; background: #ffffff !important; } .dim-modal-footer {
display: flex;
justify-content: flex-end;
gap: 10px;
padding: 14px 24px;
border-top: 1px solid var(--dim-border);
background: #f5f6f8 !important;
border-radius: 0 0 var(--dim-radius) var(--dim-radius);
} .dim-stats-grid  { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 16px; margin-bottom: 28px; }
.dim-stat-card   { background: var(--dim-white); border: 1px solid var(--dim-border); border-radius: var(--dim-radius); padding: 18px 20px; }
.dim-stat-number { font-size: 32px; font-weight: 900; color: var(--dim-navy); line-height: 1; margin-bottom: 4px; }
.dim-stat-label  { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: var(--dim-muted); }
.dim-stat-accent { width: 28px; height: 4px; background: var(--dim-blue); margin-bottom: 10px; } .dim-section-title {
font-size: 13px;
font-weight: 800;
text-transform: uppercase;
letter-spacing: .07em;
color: var(--dim-muted);
margin: 28px 0 12px;
padding-bottom: 8px;
border-bottom: 1px solid var(--dim-border);
} .dim-pill-list { display: flex; flex-wrap: wrap; gap: 6px; }
.dim-loc-pill {
display: inline-flex;
align-items: center;
gap: 5px;
background: #dbeeff;
color: var(--dim-navy);
font-size: 11px;
font-weight: 700;
padding: 3px 10px;
border-radius: 12px;
border: 1px solid #b3d4f5;
}
.dim-loc-pill-remove {
background: none;
border: none;
color: var(--dim-navy);
cursor: pointer;
font-size: 14px;
line-height: 1;
padding: 0;
opacity: .6;
}
.dim-loc-pill-remove:hover { opacity: 1; }  @media (max-width: 900px) {
.dim-dash-content    { padding: 22px 18px 0; }
.dim-dash-nav        { padding: 0 18px; }
.dim-modal-body      { padding: 20px; }
.dim-modal-footer    { padding: 12px 20px; }
.dim-stats-grid      { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); }
} @media (max-width: 640px) { #dim-dashboard       { box-shadow: none; } .dim-dash-header         { padding: 12px 16px; }
.dim-dash-header-inner   { flex-direction: column; align-items: flex-start; gap: 10px; }
.dim-dash-user-info      { width: 100%; justify-content: space-between; font-size: 12px; } .dim-dash-nav        { padding: 0; overflow-x: auto; -webkit-overflow-scrolling: touch; white-space: nowrap; display: block; }
.dim-dash-tab        { display: inline-block; padding: 12px 16px; font-size: 11px; } .dim-dash-content    { padding: 16px 14px 0; } .dim-panel-header    { flex-direction: column; align-items: flex-start; gap: 10px; }
.dim-panel-header .dim-btn { width: 100%; text-align: center; } .dim-form-grid       { grid-template-columns: 1fr; gap: 12px 0; }
.dim-field-full      { grid-column: 1; } .dim-modal-overlay   { padding: 0; }
.dim-modal           {
max-width: 100%;
min-height: 100dvh;
border-radius: 0;
margin: 0;
display: flex;
flex-direction: column;
}
.dim-modal-body      { padding: 16px; flex: 1; overflow-y: auto; }
.dim-modal-header    { padding: 14px 16px; border-radius: 0; }
.dim-modal-footer    { padding: 12px 16px; border-radius: 0; flex-direction: column; gap: 8px; }
.dim-modal-footer .dim-btn { width: 100%; text-align: center; } .dim-stats-grid      { grid-template-columns: 1fr 1fr; gap: 10px; }
.dim-stat-number     { font-size: 26px; } .dim-image-thumb     { width: 72px; height: 72px; } .dim-pill-list       { gap: 4px; }  .dim-table-wrap      { overflow-x: visible; margin: 0; padding: 0; }
.dim-table           { min-width: 0; font-size: 13px; } .dim-table thead     { display: none; } .dim-table tbody tr  {
display: block;
background: var(--dim-white);
border: 1px solid var(--dim-border);
border-radius: var(--dim-radius);
margin-bottom: 12px;
padding: 4px 0;
box-shadow: 0 1px 4px rgba(0,0,0,.06);
}
.dim-table tbody tr:last-child { margin-bottom: 0; } .dim-table tbody td  {
display: flex;
align-items: center;
justify-content: space-between;
padding: 9px 14px;
border-bottom: 1px solid var(--dim-border);
font-size: 13px;
gap: 12px;
}
.dim-table tbody td:last-child { border-bottom: none; } .dim-table tbody td::before {
content: attr(data-label);
font-size: 10px;
font-weight: 800;
text-transform: uppercase;
letter-spacing: .07em;
color: var(--dim-muted);
white-space: nowrap;
flex-shrink: 0;
} .dim-table tbody td[data-label="Actions"] {
justify-content: flex-end;
}
.dim-table tbody td[data-label="Actions"]::before {
display: none;
} .dim-table tbody tr:hover td { background: transparent; }
} @media (max-width: 400px) {
.dim-stats-grid      { grid-template-columns: 1fr; }
.dim-dash-tab        { padding: 10px 12px; font-size: 10px; }
}