﻿/* FreshAxis base GUI admin pages: users, roles, permissions, tenant settings.
   Load this after freshaxis-base.css, or append into freshaxis-base.css. */

/* Shared admin shell styles */
.fx-page-title {
    color: var(--fx-primary-dark, #072B61);
    font-weight: 850 !important;
    letter-spacing: -.04em;
}

.fx-page-eyebrow {
    color: var(--fx-secondary, #009688) !important;
    font-weight: 850 !important;
    letter-spacing: .10em !important;
}

.fx-admin-filter-card,
.fx-admin-table-card,
.fx-admin-detail-card,
.fx-admin-stat-card {
    border: 1px solid var(--fx-line, #D9E2EC);
    border-radius: var(--fx-radius-lg, 1.25rem);
    background: var(--fx-surface, #FFFFFF);
    box-shadow: var(--fx-shadow-sm, 0 1px 3px rgba(15, 23, 42, .08));
}

.fx-admin-filter-card,
.fx-admin-table-card,
.fx-admin-detail-card {
    padding: clamp(1rem, 3vw, 1.5rem);
}

.fx-admin-stat-card {
    padding: 1.15rem;
}

.fx-summary-tile {
    border: 1px solid var(--fx-line, #D9E2EC);
    border-radius: var(--fx-radius-md, .875rem);
    background: linear-gradient(135deg, #ffffff 0%, #f8fbff 100%);
    padding: 1rem;
}

    .fx-summary-tile.compact {
        padding: .75rem .85rem;
    }

.fx-reason-box {
    display: block;
    border: 1px solid var(--fx-line, #D9E2EC);
    border-radius: var(--fx-radius-md, .875rem);
    background: #f8fbff;
    padding: .9rem 1rem;
    line-height: 1.6;
}

.fx-empty-detail-state {
    min-height: 420px;
}

.fx-admin-search .mud-input-control-input-container,
.fx-admin-search .mud-input-slot {
    min-height: 40px;
}

.fx-admin-page {
    width: 100%;
}

.fx-admin-table .mud-table-head .mud-table-cell {
    color: var(--fx-primary-dark, #072B61);
    font-weight: 800;
    background: #f8fbff;
    border-bottom: 1px solid var(--fx-line, #D9E2EC);
}

.fx-admin-table .mud-table-row:hover {
    background: rgba(13, 71, 161, .035);
}

.fx-toggle-row {
    border: 1px solid var(--fx-line, #D9E2EC);
    border-radius: var(--fx-radius-md, .875rem);
    background: linear-gradient(135deg, #ffffff 0%, #f8fbff 100%);
    padding: .85rem 1rem;
}

.fx-permission-picker {
    display: grid;
    gap: .65rem;
    max-height: 420px;
    overflow: auto;
    padding-right: .25rem;
}

.fx-permission-picker-row {
    border: 1px solid var(--fx-line, #D9E2EC);
    border-radius: var(--fx-radius-md, .875rem);
    background: #fff;
    padding: .75rem .9rem;
}

.fx-settings-card .mud-tabs-toolbar {
    border-bottom: 1px solid var(--fx-line, #D9E2EC);
}

.fx-brand-preview {
    border: 1px solid var(--fx-line, #D9E2EC);
    border-radius: var(--fx-radius-lg, 1.25rem);
    background: linear-gradient(135deg, #ffffff 0%, #eefafa 100%);
    padding: 1.25rem;
}

.fx-brand-preview-mark {
    width: 46px;
    height: 46px;
    border-radius: 14px;
    display: inline-block;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .55), var(--fx-shadow-sm, 0 1px 3px rgba(15, 23, 42, .08));
}

.fx-tenant-nav-group .mud-nav-group-content {
    margin-left: .25rem;
}

@media (max-width: 960px) {
    .fx-permission-picker {
        max-height: none;
    }
}

@media (max-width: 600px) {
    .fx-toggle-row {
        align-items: flex-start !important;
        gap: .85rem;
    }

    .fx-settings-card .mud-tabs-toolbar-content {
        overflow-x: auto;
    }
}

/* FreshAxis Platform Admin Shell */
.fx-platform-appbar-mud {
    border-bottom: 1px solid rgba(13, 71, 161, .10);
}

.fx-platform-topbar-grid {
    width: 100%;
    display: grid;
    grid-template-columns: auto auto minmax(240px, 1fr) auto;
    align-items: center;
    gap: 1rem;
}

.fx-platform-topbar-brand,
.fx-platform-topbar-actions,
.fx-platform-context-group {
    display: flex;
    align-items: center;
    gap: .75rem;
}

.fx-platform-brand-link {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    color: #072B61;
    font-weight: 800;
    text-decoration: none;
    letter-spacing: -.02em;
}

.fx-platform-brand-link:hover {
    color: #0D47A1;
    text-decoration: none;
}

.fx-platform-brand-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.fx-platform-brand-name span {
    color: #009688;
}

.fx-platform-context-divider {
    min-height: 30px;
    opacity: .25;
}

.fx-platform-context-shell {
    display: flex;
    flex-direction: column;
    line-height: 1.1;
}

.fx-platform-context-title {
    color: #072B61;
    font-weight: 800;
}

.fx-platform-context-caption {
    color: #64748B;
    font-weight: 600;
}

.fx-platform-search-field .mud-input-root {
    background: #F8FAFC;
    border-radius: 999px;
}

.fx-platform-drawer {
    background: linear-gradient(180deg, #072B61 0%, #0D47A1 58%, #075985 100%);
    color: #FFFFFF;
}

.fx-platform-drawer-header {
    border-bottom: 1px solid rgba(255,255,255,.14);
}

.fx-platform-drawer-title {
    color: #FFFFFF;
    font-weight: 800;
}

.fx-platform-drawer-caption {
    color: rgba(255,255,255,.74);
}

.fx-platform-nav {
    padding: .5rem .65rem 1rem;
}

.fx-platform-nav .mud-nav-link,
.fx-platform-nav-link {
    color: rgba(255,255,255,.86) !important;
    border-radius: 14px;
    font-weight: 700;
}

.fx-platform-nav .mud-nav-link.active,
.fx-platform-nav .mud-nav-link:hover,
.fx-platform-nav-link.active,
.fx-platform-nav-link:hover {
    background: rgba(255,255,255,.14) !important;
    color: #FFFFFF !important;
}

.fx-platform-nav .mud-nav-link .mud-icon-root,
.fx-platform-nav .mud-nav-group .mud-icon-root {
    color: rgba(255,255,255,.86) !important;
}

.fx-platform-nav-child {
    margin-left: .35rem;
}

.fx-platform-nav-divider {
    border-color: rgba(255,255,255,.16) !important;
}

.fx-platform-logout-button {
    margin-top: .75rem;
    width: 100%;
    justify-content: flex-start;
}

.fx-platform-main-content {
    min-height: 100vh;
    background: radial-gradient(circle at top right, rgba(0,150,136,.10), transparent 30%), #F5F7FA;
}

.fx-platform-content-container {
    padding: 88px 24px 32px;
}

.fx-platform-kpi {
    border-top: 4px solid rgba(0,150,136,.35);
}

.fx-platform-work-table th {
    color: #64748B;
    font-size: .78rem;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.fx-platform-action-card {
    cursor: pointer;
    transition: transform .18s ease, box-shadow .18s ease;
}

.fx-platform-action-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 20px 45px rgba(7,43,97,.10);
}

@media (max-width: 960px) {
    .fx-platform-topbar-grid {
        grid-template-columns: auto 1fr auto;
    }

    .fx-platform-search-field {
        display: none !important;
    }

    .fx-platform-content-container {
        padding: 80px 14px 24px;
    }
}
