/* =========================================================
   UTP V2 Platform Shell
   ---------------------------------------------------------
   Shared application viewport, background, platform header
   and active-window container.

   Ownership:
   - Status bar styling -> PlatformStatus.css
   - Mobile gate / global responsive policy -> PlatformResponsive.css
   ========================================================= */

html,
body {
    margin: 0;
    padding: 0;
    height: 100%;
}

html {
    margin-top: 0 !important;
}

body.utp-platform {
    min-height: 100vh;
    overflow-x: hidden;
    overflow-y: auto;

    background: #020817;
    color: #f8fafc;

    font-family: var(--utp-font-family);
}

body.utp-platform.admin-bar {
    padding-top: 0 !important;
}

body.utp-platform #wpadminbar {
    display: none !important;
}

/* Background */

.utp-platform-background {
    position: fixed;
    inset: 0;
    z-index: 0;

    background:
        linear-gradient(
            rgba(2, 8, 23, 0.36),
            rgba(2, 8, 23, 0.72)
        ),
        url("../images/PlatformMissionControlBg.png");

    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;

    filter: brightness(0.94) saturate(0.92);
}

.utp-platform-background::after {
    content: "";
    position: absolute;
    inset: 0;

    background:
        radial-gradient(
            circle at 50% 12%,
            rgba(245, 121, 59, 0.12),
            transparent 34%
        ),
        linear-gradient(
            180deg,
            rgba(2, 8, 23, 0.05),
            rgba(2, 8, 23, 0.96)
        );
}

/* Shell */

.utp-platform-shell {
    position: relative;
    z-index: 1;

    width: 100%;
    min-height: 100vh;

    display: flex;
    flex-direction: column;

    overflow: visible;
}

/* Platform Header */

.utp-platform-header {
    flex: 0 0 auto;
    padding: 26px 24px 0;
    box-sizing: border-box;
}

.utp-platform-header__inner {
    position: relative;

    width: 100%;
    max-width: 1326px;
    min-height: 72px;
    margin: 0 auto;

    display: flex;
    align-items: center;
    justify-content: center;
}

.utp-platform-header__logo {
    position: absolute;
    left: 18px;
    top: calc(50% + 47px);
    transform: translateY(-50%);
}

.utp-platform-header__logo img {
    display: block;
    width: 115px;
    height: auto;
}

.utp-platform-header__brand {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 8px;

    font-size: 18px;
    line-height: 1;
    font-weight: 900;
    letter-spacing: 0.045em;

    text-shadow: 0 4px 18px rgba(0, 0, 0, 0.42);
}

.utp-platform-header__brand-main,
.utp-platform-header__brand-separator {
    color: #f5793b;
}

.utp-brand {
    color: #ff7a2f;
}

/* Active Window Container */

.utp-platform-window {
    flex: 1 0 auto;
    width: 100%;
    box-sizing: border-box;
    padding-bottom: 74px;
}

/* Tablet / small laptop */
@media (min-width: 768px) and (max-width: 1199px) {
    .utp-platform-header {
        padding: 20px 20px 0;
    }

    .utp-platform-header__logo {
        left: 12px;
        top: calc(50% + 18px);
    }

    .utp-platform-header__logo img {
        width: 96px;
    }

    .utp-platform-header__brand {
        font-size: 16px;
        letter-spacing: 0.04em;
    }
}
