/* ============================================================
   Admin Translations — superadmin translations editor.
   Expandable per-key list with full-width textareas per language.
   ============================================================ */
.admin-translations {
    padding: 20px 15px;
}
.admin-translations .page-header-row {
    margin-bottom: 15px;
}
.admin-translations .page-header-row .pageHeader {
    margin-top: 0;
    margin-bottom: 4px;
}

/* ---- Toolbar ---- */
.admin-translations-toolbar {
    display: flex;
    align-items: flex-end;
    gap: 12px;
    flex-wrap: wrap;
    padding: 10px 12px;
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 4px;
    margin-bottom: 12px;
}
.admin-translations-toolbar .form-group {
    margin-bottom: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
}
.admin-translations-toolbar .form-group.bulk-fill {
    flex-direction: row;
    align-items: flex-end;
    gap: 6px;
}
.admin-translations-toolbar .form-group.save-all {
    flex-direction: row;
    align-items: flex-end;
    gap: 6px;
    margin-left: auto;
}
.admin-translations-toolbar input.form-control,
.admin-translations-toolbar select.form-control {
    min-width: 180px;
}
.admin-translations-toolbar label.small {
    font-size: 11px;
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #999;
}

/* ---- List ---- */
.admin-translations-list {
    list-style: none;
    padding: 0;
    margin: 0;
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 4px;
}
.admin-translations-list > li {
    border-bottom: 1px solid #f0f0f0;
}
.admin-translations-list > li:last-child {
    border-bottom: 0;
}
.admin-translations-list > li.empty {
    padding: 24px;
    text-align: center;
    color: #999;
}
.admin-translations-list > li.dirty .row-head {
    background: linear-gradient(to right, #fff8e1 0%, #fff8e1 4px, #fff 4px);
}
.admin-translations-list > li.expanded .row-head {
    background: #f5faff;
}

/* ---- Row head (collapsed) ---- */
.row-head {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    cursor: pointer;
    user-select: none;
    font-size: 13px;
}
.row-head:hover {
    background: #f7f7f7;
}
.row-head .fa-caret-right,
.row-head .fa-caret-down {
    color: #999;
    width: 12px;
    text-align: center;
}
.row-head .key {
    font-family: 'Menlo', 'Monaco', 'Consolas', monospace;
    font-size: 12px;
    color: #333;
    font-weight: 600;
    flex-shrink: 0;
}
.row-head .badge {
    flex-shrink: 0;
    font-size: 11px;
    padding: 3px 8px;
    border-radius: 10px;
}
.row-head .badge-complete {
    background: #dff0d8;
    color: #3c763d;
}
.row-head .badge-missing {
    background: #fcf8e3;
    color: #8a6d3b;
}
.row-head .preview {
    color: #777;
    font-size: 12px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    flex: 1;
    min-width: 0;
}
.row-head .dirty-pill {
    margin-left: auto;
    background: #f0ad4e;
    color: #fff;
    font-size: 10px;
    padding: 2px 7px;
    border-radius: 8px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* ---- Row body (expanded) ---- */
.row-body {
    padding: 6px 14px 14px 38px;
    background: #fafbfc;
    border-top: 1px solid #ecf3f9;
}
.lang-field {
    margin: 10px 0;
}
.lang-field label {
    display: block;
    font-size: 12px;
    color: #555;
    margin-bottom: 3px;
    font-weight: 500;
}
.lang-field label code {
    font-size: 10px;
    color: #999;
    background: transparent;
    padding: 0 4px;
}
.lang-field .empty-tag {
    background: #fcf8e3;
    color: #8a6d3b;
    font-size: 10px;
    padding: 1px 6px;
    border-radius: 8px;
    margin-left: 6px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.lang-field textarea {
    width: 100%;
    font-size: 13px;
    line-height: 1.5;
    resize: vertical;
    min-height: 38px;
}
.lang-field.empty textarea {
    background: #fffdf5;
}

.row-actions {
    display: flex;
    gap: 8px;
    margin-top: 12px;
    padding-top: 10px;
    border-top: 1px dashed #e5e5e5;
}
.row-actions .pull-right {
    margin-left: auto;
}
