:root {
    --go-bg: #07111f;
    --go-panel: rgba(15, 23, 42, .94);
    --go-panel-soft: rgba(17, 24, 39, .88);
    --go-card: rgba(255, 255, 255, .055);
    --go-line: rgba(148, 163, 184, .22);

    --go-text: #e5eefb;
    --go-soft: #cbd5e1;
    --go-muted: #9ca3af;

    --go-brand: #22d3ee;
    --go-brand-2: #8b5cf6;

    --go-success: #34d399;
    --go-warning: #fbbf24;
    --go-danger: #fb7185;
}


* {
    box-sizing: border-box;
}


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


body.go-page {
    min-height: 100vh;

    font-family:
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;

    color: var(--go-text);

    background:
        radial-gradient(
            circle at 12% 8%,
            rgba(34, 211, 238, .18),
            transparent 30rem
        ),
        radial-gradient(
            circle at 85% 15%,
            rgba(139, 92, 246, .18),
            transparent 32rem
        ),
        radial-gradient(
            circle at 50% 100%,
            rgba(16, 185, 129, .10),
            transparent 28rem
        ),
        var(--go-bg);
}


.go-topbar {
    position: sticky;
    top: 0;
    z-index: 10;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;

    padding:
        18px
        clamp(18px, 4vw, 42px);

    border-bottom:
        1px solid
        var(--go-line);

    background:
        rgba(2, 6, 23, .68);

    backdrop-filter:
        blur(16px);
}


.go-brand {
    display: inline-flex;
    align-items: center;
    gap: 12px;

    color: var(--go-text);
    text-decoration: none;
}


.go-brand-mark {
    width: 40px;
    height: 40px;

    display: grid;
    place-items: center;

    border-radius: 14px;

    border:
        1px solid
        rgba(255, 255, 255, .12);

    background:
        linear-gradient(
            135deg,
            rgba(34, 211, 238, .24),
            rgba(139, 92, 246, .24)
        );

    color: var(--go-brand);

    box-shadow:
        0 0 30px
        rgba(34, 211, 238, .15);

    font-weight: 950;
}


.go-brand-copy {
    display: grid;
    gap: 1px;
}


.go-brand-copy strong {
    font-size: 1.04rem;
    font-weight: 950;
}


.go-brand-copy small {
    color: var(--go-muted);
    font-weight: 700;
}


.go-top-status {
    padding: 7px 11px;

    border-radius: 999px;

    border:
        1px solid
        rgba(34, 211, 238, .22);

    background:
        rgba(34, 211, 238, .10);

    color: #a5f3fc;

    font-size: .8rem;
    font-weight: 950;
    letter-spacing: .06em;
}


.go-wrap {
    width: min(960px, 100%);
    margin: 0 auto;
    padding:
        34px
        18px
        28px;
}


.go-runtime-label {
    display: flex;
    align-items: center;
    gap: 10px;

    margin-bottom: 14px;

    color: var(--go-soft);

    font-weight: 950;
}


.go-runtime-label span {
    color: var(--go-brand);
}


.go-shell,
.go-blocked-card {
    overflow: hidden;

    border:
        1px solid
        var(--go-line);

    border-radius: 30px;

    background:
        linear-gradient(
            180deg,
            rgba(15, 23, 42, .95),
            rgba(15, 23, 42, .80)
        );

    box-shadow:
        0 28px 80px
        rgba(0, 0, 0, .32);
}


.go-status-row,
.go-blocked-topline {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;

    padding:
        18px
        22px;

    border-bottom:
        1px solid
        var(--go-line);

    background:
        rgba(255, 255, 255, .035);
}


.go-status-label {
    color: var(--go-muted);
    font-weight: 800;
}


.go-pill,
.go-reason-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    padding:
        7px
        11px;

    border-radius: 999px;

    font-size: .8rem;
    font-weight: 900;
}


.go-pill {
    color: #a5f3fc;

    border:
        1px solid
        rgba(34, 211, 238, .22);

    background:
        rgba(34, 211, 238, .10);
}


.go-reason-pill {
    color: var(--go-soft);

    border:
        1px solid
        rgba(148, 163, 184, .20);

    background:
        rgba(2, 6, 23, .42);
}


.go-hero {
    display: grid;

    grid-template-columns:
        1.08fr
        .92fr;

    gap: 26px;

    align-items: center;

    padding:
        clamp(24px, 5vw, 42px);
}


.go-lock {
    width: 78px;
    height: 78px;

    display: grid;
    place-items: center;

    margin-bottom: 16px;

    border-radius: 26px;

    border:
        1px solid
        rgba(255, 255, 255, .14);

    background:
        linear-gradient(
            135deg,
            rgba(34, 211, 238, .18),
            rgba(139, 92, 246, .20)
        );

    box-shadow:
        0 0 42px
        rgba(34, 211, 238, .12);

    font-size: 2.35rem;
}


.go-hero h1,
.go-blocked-card h1 {
    margin:
        0
        0
        12px;

    line-height: .96;

    letter-spacing: -.055em;
}


.go-hero h1 {
    font-size:
        clamp(
            2.2rem,
            7vw,
            3.9rem
        );
}


.go-lead,
.go-blocked-message {
    margin: 0;

    color: var(--go-soft);

    font-size: 1.03rem;
    line-height: 1.58;
}


.go-form-card {
    padding: 20px;

    border:
        1px solid
        var(--go-line);

    border-radius: 26px;

    background:
        var(--go-card);
}


.go-form {
    display: grid;
    gap: 15px;
}


.go-field {
    display: grid;
    gap: 8px;

    color: var(--go-text);

    font-size: .9rem;
    font-weight: 900;
}


.go-field input {
    width: 100%;

    padding:
        15px
        15px;

    border:
        1px solid
        rgba(148, 163, 184, .28);

    border-radius: 16px;

    outline: none;

    background:
        rgba(2, 6, 23, .48);

    color: white;

    font: inherit;
    font-size: 1.12rem;
    font-weight: 900;
    letter-spacing: .06em;

    text-transform: uppercase;
}


.go-field input::placeholder {
    color:
        rgba(
            203,
            213,
            225,
            .42
        );
}


.go-field input:focus {
    border-color:
        rgba(
            34,
            211,
            238,
            .72
        );

    box-shadow:
        0 0 0 4px
        rgba(
            34,
            211,
            238,
            .12
        );
}


.go-field small,
.go-task-summary small {
    color: var(--go-muted);

    font-size: .76rem;
    line-height: 1.4;
    font-weight: 650;
}


.go-primary {
    border: 0;

    border-radius: 18px;

    padding:
        15px
        16px;

    color: white;

    background:
        linear-gradient(
            135deg,
            #06b6d4,
            #7c3aed
        );

    box-shadow:
        0 18px 42px
        rgba(6, 182, 212, .22);

    cursor: pointer;

    font: inherit;
    font-size: 1.05rem;
    font-weight: 950;
}


.go-primary:hover,
.go-action:hover {
    transform:
        translateY(-1px);
}


.go-task-summary {
    display: grid;
    gap: 6px;

    padding: 15px;

    border:
        1px solid
        rgba(34, 211, 238, .18);

    border-radius: 16px;

    background:
        rgba(34, 211, 238, .07);
}


.go-task-summary > span {
    color: var(--go-muted);

    font-size: .78rem;
    font-weight: 850;
}


.go-task-summary > strong {
    font-size: 1.32rem;
    letter-spacing: .08em;
}


.go-alert {
    display: grid;
    gap: 4px;

    margin-bottom: 15px;

    padding: 13px 14px;

    border-radius: 16px;

    line-height: 1.42;
}


.go-alert span,
.go-alert small {
    color: var(--go-soft);
}


.go-alert-error {
    border:
        1px solid
        rgba(251, 113, 133, .36);

    background:
        rgba(127, 29, 29, .18);
}


.go-alert-success {
    border:
        1px solid
        rgba(52, 211, 153, .34);

    background:
        rgba(6, 78, 59, .18);
}


.go-details {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 14px;

    padding:
        0
        clamp(24px, 5vw, 42px)
        26px;
}


.go-details-box {
    display: flex;
    gap: 13px;
    align-items: flex-start;

    padding: 17px;

    border:
        1px solid
        var(--go-line);

    border-radius: 20px;

    background:
        rgba(255, 255, 255, .04);
}


.go-details-icon {
    font-size: 1.35rem;
}


.go-details-box h2 {
    margin:
        0
        0
        6px;

    font-size: 1rem;
}


.go-details-box p {
    margin: 0;

    color: var(--go-soft);

    font-size: .88rem;
    line-height: 1.5;
}


.go-notice-slot {
    display: flex;
    gap: 13px;
    align-items: flex-start;

    margin:
        0
        clamp(24px, 5vw, 42px)
        34px;

    padding: 15px;

    border:
        1px dashed
        rgba(148, 163, 184, .22);

    border-radius: 18px;

    background:
        rgba(255, 255, 255, .025);

    color: var(--go-soft);
}


.go-notice-slot p {
    margin:
        4px
        0
        0;

    color: var(--go-muted);

    font-size: .84rem;
    line-height: 1.45;
}


.go-notice-badge {
    flex: 0 0 auto;

    padding:
        5px
        8px;

    border-radius: 999px;

    border:
        1px solid
        rgba(139, 92, 246, .26);

    background:
        rgba(139, 92, 246, .11);

    color: #ddd6fe;

    font-size: .68rem;
    font-weight: 950;
}


.go-footer {
    padding:
        20px
        18px
        28px;

    text-align: center;

    color: var(--go-muted);

    font-size: .78rem;
}


/* ==========================================================
   BLOCKED
   ========================================================== */

.go-blocked-wrap {
    width:
        min(
            920px,
            100%
        );

    margin:
        0
        auto;

    padding:
        42px
        18px;
}


.go-blocked-card {
    padding-bottom: 24px;
}


.go-blocked-topline {
    justify-content:
        space-between;
}


.go-blocked-hero {
    display: grid;

    grid-template-columns:
        110px
        1fr;

    gap: 20px;

    align-items: center;

    padding:
        28px
        30px
        20px;
}


.go-blocked-icon-wrap {
    width: 96px;
    height: 96px;

    display: grid;
    place-items: center;

    border:
        1px solid
        rgba(125, 211, 252, .25);

    border-radius: 28px;

    background:
        linear-gradient(
            145deg,
            rgba(15, 23, 42, .92),
            rgba(2, 6, 23, .98)
        );

    box-shadow:
        0 18px 42px
        rgba(0, 0, 0, .34);
}


.go-blocked-icon {
    font-size: 2.6rem;
}


.go-blocked-kicker {
    margin-bottom: 7px;

    color: #7dd3fc;

    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .12em;

    text-transform: uppercase;
}


.go-blocked-card h1 {
    font-size:
        clamp(
            1.65rem,
            4vw,
            2.5rem
        );
}


.go-blocked-help {
    margin:
        9px
        0
        0;

    color: var(--go-muted);

    line-height: 1.5;
}


.go-blocked-detail,
.go-success-task {
    display: grid;
    gap: 5px;

    margin:
        6px
        30px
        0;

    padding: 15px;

    border:
        1px solid
        var(--go-line);

    border-radius: 17px;

    background:
        rgba(2, 6, 23, .40);
}


.go-blocked-detail span,
.go-success-task span {
    color: var(--go-muted);

    font-size: .78rem;
    font-weight: 800;
}


.go-blocked-detail strong {
    font-size: 1.12rem;
    letter-spacing: .06em;
}


.go-success-task strong {
    font-size: 1.12rem;
}


.go-success-task p {
    margin:
        5px
        0
        0;

    color: var(--go-soft);

    line-height: 1.5;
}


.go-blocked-tip {
    margin:
        16px
        30px
        0;

    padding: 14px;

    border:
        1px solid
        rgba(125, 211, 252, .18);

    border-radius: 16px;

    background:
        rgba(14, 165, 233, .08);

    color: var(--go-soft);
}


.go-blocked-tip p {
    margin:
        5px
        0
        0;

    line-height: 1.5;
}


.go-blocked-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;

    margin:
        16px
        30px
        0;
}


.go-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 42px;

    padding:
        10px
        15px;

    border:
        1px solid
        var(--go-line);

    border-radius: 14px;

    background:
        rgba(15, 23, 42, .74);

    color: var(--go-text);

    text-decoration: none;

    cursor: pointer;

    font: inherit;
    font-weight: 800;
}


.go-action-primary {
    border-color:
        rgba(56, 189, 248, .45);

    background:
        linear-gradient(
            135deg,
            rgba(14, 165, 233, .24),
            rgba(124, 58, 237, .23)
        );
}


.go-action-button {
    width: calc(100% - 60px);
    margin:
        18px
        30px
        0;
}


.tone-warning
.go-blocked-icon-wrap {
    border-color:
        rgba(245, 158, 11, .40);

    background:
        linear-gradient(
            145deg,
            rgba(120, 53, 15, .38),
            rgba(15, 23, 42, .95)
        );
}


.tone-info
.go-blocked-icon-wrap {
    border-color:
        rgba(59, 130, 246, .42);
}


.tone-success
.go-blocked-icon-wrap {
    border-color:
        rgba(34, 197, 94, .42);

    background:
        linear-gradient(
            145deg,
            rgba(20, 83, 45, .34),
            rgba(15, 23, 42, .95)
        );
}


.tone-error
.go-blocked-icon-wrap {
    border-color:
        rgba(239, 68, 68, .42);

    background:
        linear-gradient(
            145deg,
            rgba(127, 29, 29, .34),
            rgba(15, 23, 42, .95)
        );
}


@media (
    max-width: 760px
) {

    .go-hero {
        grid-template-columns: 1fr;
    }


    .go-details {
        grid-template-columns: 1fr;
    }


    .go-blocked-hero {
        grid-template-columns: 1fr;

        padding:
            22px
            20px
            16px;
    }


    .go-blocked-icon-wrap {
        width: 82px;
        height: 82px;

        border-radius: 24px;
    }


    .go-blocked-detail,
    .go-success-task,
    .go-blocked-tip {
        margin-left: 20px;
        margin-right: 20px;
    }


    .go-blocked-actions {
        margin-left: 20px;
        margin-right: 20px;

        flex-direction: column;
    }


    .go-action {
        width: 100%;
    }


    .go-action-button {
        width: calc(100% - 40px);

        margin-left: 20px;
        margin-right: 20px;
    }

}


@media (
    max-width: 520px
) {

    .go-topbar {
        padding:
            14px
            16px;
    }


    .go-wrap {
        padding:
            22px
            10px;
    }


    .go-shell,
    .go-blocked-card {
        border-radius: 22px;
    }


    .go-hero {
        padding: 22px;
    }


    .go-form-card {
        padding: 16px;
        border-radius: 20px;
    }


    .go-details {
        padding:
            0
            22px
            22px;
    }


    .go-notice-slot {
        margin:
            0
            22px
            24px;
    }

}


/* ==========================================================
   CINFORMA GO · PACKAGE LAUNCHER
   ========================================================== */

.go-launch-wrap {
    width: min(1180px, calc(100% - 28px));
    margin: 0 auto;
    padding: 34px 0 56px;
}


.go-launch-shell {
    overflow: hidden;

    border:
        1px solid
        var(--go-line);

    border-radius: 26px;

    background:
        var(--go-panel);

    box-shadow:
        0 28px 70px rgba(0, 0, 0, .28);
}


.go-launch-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;

    padding:
        clamp(24px, 4vw, 38px);
}


.go-launch-heading h1 {
    margin: 3px 0 8px;

    font-size:
        clamp(1.7rem, 5vw, 2.65rem);

    letter-spacing: -.045em;
}


.go-launch-heading p {
    margin: 0;

    color:
        var(--go-soft);

    line-height: 1.5;
}


.go-launch-kicker {
    color:
        var(--go-brand) !important;

    font-size: .76rem;
    font-weight: 900;

    letter-spacing: .14em;
}


.go-launch-assignment {
    display: grid;
    gap: 5px;

    margin:
        0
        clamp(24px, 4vw, 38px)
        24px;

    padding: 17px 18px;

    border:
        1px solid
        rgba(56, 189, 248, .23);

    border-radius: 18px;

    background:
        rgba(34, 211, 238, .065);
}


.go-launch-assignment > span {
    color:
        var(--go-muted);

    font-size: .75rem;
    font-weight: 850;

    text-transform: uppercase;
    letter-spacing: .08em;
}


.go-launch-assignment > strong {
    font-size: 1.05rem;
}


.go-launch-assignment p {
    margin: 2px 0 0;

    color:
        var(--go-soft);

    font-size: .9rem;
    line-height: 1.5;
}


.go-launch-grid {
    display: grid;

    grid-template-columns:
        repeat(
            auto-fit,
            minmax(260px, 1fr)
        );

    gap: 18px;

    padding:
        0
        clamp(24px, 4vw, 38px)
        32px;
}


.go-launch-card {
    display: flex;
    flex-direction: column;
    gap: 18px;

    min-height: 300px;

    padding: 20px;

    border:
        1px solid
        var(--go-line);

    border-radius: 20px;

    background:
        var(--go-card);
}


.go-launch-card.is-complete {
    border-color:
        rgba(74, 222, 128, .34);

    background:
        rgba(34, 197, 94, .065);
}


.go-launch-card.is-locked {
    opacity: .8;
}


.go-launch-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}


.go-launch-position {
    display: inline-grid;
    place-items: center;

    width: 36px;
    height: 36px;

    border-radius: 12px;

    background:
        rgba(56, 189, 248, .12);

    color:
        var(--go-brand);

    font-weight: 950;
}


.go-launch-provider {
    padding: 6px 9px;

    border:
        1px solid
        var(--go-line);

    border-radius: 999px;

    color:
        var(--go-soft);

    font-size: .72rem;
    font-weight: 850;
}


.go-launch-card-copy {
    flex: 1;
}


.go-launch-card-copy h2 {
    margin: 0 0 8px;

    font-size: 1.16rem;
}


.go-launch-card-copy p {
    margin: 0;

    color:
        var(--go-muted);

    font-size: .88rem;
    line-height: 1.5;
}


.go-launch-meta {
    display: grid;

    grid-template-columns:
        repeat(
            auto-fit,
            minmax(110px, 1fr)
        );

    gap: 10px;
}


.go-launch-meta span {
    display: grid;
    gap: 3px;

    padding: 10px;

    border-radius: 12px;

    background:
        rgba(255, 255, 255, .035);

    color:
        var(--go-muted);

    font-size: .72rem;
}


.go-launch-meta strong {
    color:
        var(--go-text);

    font-size: .82rem;
}


.go-launch-result {
    display: grid;
    gap: 6px;

    padding: 14px;

    border:
        1px solid
        rgba(74, 222, 128, .25);

    border-radius: 14px;

    background:
        rgba(34, 197, 94, .07);
}


.go-launch-result-label {
    color:
        var(--go-muted);

    font-size: .72rem;
    font-weight: 850;

    text-transform: uppercase;
    letter-spacing: .07em;
}


.go-launch-result-score {
    font-size: 1.05rem;
}


.go-launch-feedback {
    margin: 2px 0 0;

    color:
        var(--go-soft);

    font-size: .86rem;
    line-height: 1.5;
}


.go-launch-rubric {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 42px;
    width: 100%;

    padding: 0 14px;

    border:
        1px solid
        rgba(56, 189, 248, .28);

    border-radius: 12px;

    background:
        rgba(56, 189, 248, .065);

    color:
        var(--go-brand);

    font-size: .86rem;
    font-weight: 850;

    text-decoration: none;

    transition:
        border-color .16s ease,
        background .16s ease;
}


.go-launch-rubric:hover {
    border-color:
        rgba(56, 189, 248, .48);

    background:
        rgba(56, 189, 248, .11);
}


.go-launch-open {
    width: 100%;
}


.go-launch-state {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 42px;

    padding: 0 14px;

    border:
        1px solid
        var(--go-line);

    border-radius: 12px;

    color:
        var(--go-muted);

    font-weight: 850;
}


.go-launch-state-complete {
    border-color:
        rgba(74, 222, 128, .3);

    color:
        #86efac;
}


.go-launch-exit {
    margin:
        0
        clamp(24px, 4vw, 38px)
        30px;
}


.go-launch-exit .go-action-button {
    width: 100%;
    margin: 0;
}


@media (
    max-width: 620px
) {

    .go-launch-wrap {
        width:
            min(
                100% - 20px,
                1180px
            );

        padding:
            18px
            0
            38px;
    }


    .go-launch-shell {
        border-radius: 20px;
    }


    .go-launch-heading {
        flex-direction: column;
        gap: 14px;

        padding:
            22px
            18px;
    }


    .go-launch-assignment {
        margin:
            0
            18px
            20px;
    }


    .go-launch-grid {
        grid-template-columns: 1fr;

        padding:
            0
            18px
            24px;
    }


    .go-launch-card {
        min-height: 0;
    }


    .go-launch-exit {
        margin:
            0
            18px
            24px;
    }

}

/* ==========================================================
   CINFORMA.TECH GO · PRODUCT UI V4
   ========================================================== */

body.go-page {
    --go-v4-surface:
        rgba(15, 23, 42, .82);

    --go-v4-surface-strong:
        rgba(15, 23, 42, .96);

    --go-v4-border:
        rgba(148, 163, 184, .18);

    --go-v4-blue:
        #38bdf8;

    --go-v4-violet:
        #8b5cf6;

    --go-v4-green:
        #34d399;

    --go-v4-red:
        #fb7185;

    --go-v4-yellow:
        #fbbf24;

    background:
        radial-gradient(
            circle at 8% 5%,
            rgba(14, 165, 233, .16),
            transparent 32rem
        ),
        radial-gradient(
            circle at 92% 10%,
            rgba(124, 58, 237, .14),
            transparent 34rem
        ),
        linear-gradient(
            180deg,
            #07111f 0%,
            #091526 48%,
            #07111f 100%
        );
}


/* ---------- Shared header ---------- */

.go-topbar {
    min-height: 74px;

    padding:
        14px
        clamp(16px, 4vw, 46px);

    border-bottom:
        1px solid
        rgba(148, 163, 184, .16);

    background:
        rgba(5, 12, 24, .78);

    box-shadow:
        0 10px 35px
        rgba(0, 0, 0, .16);
}


.go-brand-mark {
    width: 44px;
    height: 44px;

    border-radius: 15px;

    background:
        linear-gradient(
            145deg,
            rgba(56, 189, 248, .22),
            rgba(124, 58, 237, .24)
        );

    box-shadow:
        inset 0 1px 0
        rgba(255, 255, 255, .08),
        0 12px 28px
        rgba(14, 165, 233, .12);

    font-size: 1.12rem;
}


.go-brand-copy strong {
    font-size: 1.08rem;
    letter-spacing: -.01em;
}


.go-brand-copy small {
    margin-top: 2px;

    font-size: .73rem;

    color:
        rgba(203, 213, 225, .68);
}


.go-top-status {
    padding:
        7px
        12px;

    border-color:
        rgba(56, 189, 248, .30);

    background:
        rgba(56, 189, 248, .09);

    color:
        #bae6fd;
}


/* ---------- Main GO entry ---------- */

.go-entry-page .go-wrap {
    width:
        min(
            1040px,
            calc(100% - 24px)
        );

    padding:
        clamp(26px, 6vw, 58px)
        0
        44px;
}


.go-entry-page .go-runtime-label {
    width: fit-content;

    margin:
        0
        0
        14px;

    padding:
        7px
        11px;

    border:
        1px solid
        rgba(56, 189, 248, .17);

    border-radius: 999px;

    background:
        rgba(56, 189, 248, .055);

    color:
        #bae6fd;

    font-size: .8rem;
}


.go-entry-page .go-shell {
    border-color:
        var(--go-v4-border);

    border-radius: 28px;

    background:
        linear-gradient(
            180deg,
            rgba(15, 23, 42, .95),
            rgba(9, 17, 31, .92)
        );

    box-shadow:
        0 32px 90px
        rgba(0, 0, 0, .34),
        inset 0 1px 0
        rgba(255, 255, 255, .025);
}


.go-entry-page .go-status-row {
    padding:
        15px
        clamp(20px, 4vw, 34px);

    background:
        rgba(255, 255, 255, .022);
}


.go-entry-page .go-hero {
    grid-template-columns:
        minmax(0, 1.05fr)
        minmax(320px, .95fr);

    gap:
        clamp(28px, 5vw, 54px);

    padding:
        clamp(30px, 6vw, 58px);
}


.go-entry-page .go-lock {
    width: 82px;
    height: 82px;

    margin-bottom: 22px;

    border-radius: 25px;

    background:
        linear-gradient(
            145deg,
            rgba(14, 165, 233, .15),
            rgba(124, 58, 237, .17)
        );
}


.go-entry-page .go-hero h1 {
    max-width: 580px;

    margin-bottom: 18px;

    font-size:
        clamp(
            2.45rem,
            7vw,
            4.55rem
        );

    line-height: .94;
}


.go-entry-page .go-lead {
    max-width: 560px;

    color:
        rgba(226, 232, 240, .78);

    font-size: 1.04rem;
    line-height: 1.72;
}


.go-entry-page .go-form-card {
    padding:
        clamp(19px, 3vw, 26px);

    border-color:
        rgba(148, 163, 184, .18);

    border-radius: 24px;

    background:
        rgba(2, 6, 23, .34);

    box-shadow:
        inset 0 1px 0
        rgba(255, 255, 255, .025);
}


.go-entry-page .go-field input {
    min-height: 54px;

    border-radius: 14px;

    background:
        rgba(2, 6, 23, .62);
}


.go-entry-page .go-primary {
    min-height: 54px;

    border-radius: 14px;

    background:
        linear-gradient(
            135deg,
            #0891b2,
            #6d28d9
        );

    box-shadow:
        0 16px 38px
        rgba(8, 145, 178, .20);
}


/* ---------- Exit state ---------- */

.go-session-exit {
    display: grid;

    grid-template-columns:
        48px
        minmax(0, 1fr);

    gap: 14px;

    align-items: center;

    margin-bottom: 18px;

    padding: 16px;

    border:
        1px solid
        rgba(52, 211, 153, .30);

    border-radius: 18px;

    background:
        linear-gradient(
            135deg,
            rgba(6, 78, 59, .25),
            rgba(15, 23, 42, .52)
        );
}


.go-session-exit-icon {
    width: 48px;
    height: 48px;

    display: grid;
    place-items: center;

    border-radius: 15px;

    background:
        rgba(52, 211, 153, .13);

    color:
        #6ee7b7;

    font-size: 1.25rem;
    font-weight: 950;
}


.go-session-exit-copy {
    display: grid;
    gap: 3px;
}


.go-session-exit-kicker {
    color:
        #6ee7b7;

    font-size: .7rem;
    font-weight: 900;

    letter-spacing: .10em;

    text-transform: uppercase;
}


.go-session-exit-copy strong {
    font-size: .98rem;
}


.go-session-exit-copy p {
    margin: 2px 0 0;

    color:
        rgba(203, 213, 225, .78);

    font-size: .84rem;
    line-height: 1.45;
}


/* ---------- Invalid code / inline GO error ---------- */

.go-entry-error {
    display: grid;

    grid-template-columns:
        48px
        minmax(0, 1fr);

    gap: 14px;

    align-items: start;

    margin-bottom: 18px;

    padding: 16px;

    border:
        1px solid
        rgba(251, 113, 133, .30);

    border-radius: 18px;

    background:
        linear-gradient(
            135deg,
            rgba(127, 29, 29, .24),
            rgba(15, 23, 42, .54)
        );
}


.go-entry-error-icon {
    width: 48px;
    height: 48px;

    display: grid;
    place-items: center;

    border-radius: 15px;

    background:
        rgba(251, 113, 133, .12);

    color:
        #fda4af;

    font-size: 1.3rem;
    font-weight: 950;
}


.go-entry-error-copy {
    display: grid;
    gap: 4px;
}


.go-entry-error-kicker {
    color:
        #fda4af;

    font-size: .7rem;
    font-weight: 900;

    letter-spacing: .10em;

    text-transform: uppercase;
}


.go-entry-error-copy strong {
    font-size: 1rem;
}


.go-entry-error-copy p {
    margin: 2px 0;

    color:
        #f8fafc;

    line-height: 1.45;
}


.go-entry-error-copy small {
    color:
        rgba(203, 213, 225, .70);

    line-height: 1.45;
}


/* ---------- Blocked / unavailable ---------- */

.go-blocked-page .go-blocked-wrap,
.go-success-page .go-blocked-wrap {
    width:
        min(
            860px,
            calc(100% - 24px)
        );

    padding:
        clamp(28px, 6vw, 58px)
        0
        48px;
}


.go-blocked-page .go-blocked-card,
.go-success-page .go-blocked-card {
    border-color:
        var(--go-v4-border);

    border-radius: 28px;

    background:
        linear-gradient(
            180deg,
            rgba(15, 23, 42, .95),
            rgba(9, 17, 31, .92)
        );
}


.go-blocked-page .go-blocked-topline,
.go-success-page .go-blocked-topline {
    padding:
        15px
        clamp(20px, 4vw, 30px);
}


.go-blocked-page .go-blocked-hero,
.go-success-page .go-blocked-hero {
    grid-template-columns:
        94px
        minmax(0, 1fr);

    gap: 24px;

    padding:
        clamp(26px, 5vw, 38px)
        clamp(22px, 5vw, 34px)
        22px;
}


.go-blocked-page .go-blocked-icon-wrap,
.go-success-page .go-blocked-icon-wrap {
    width: 88px;
    height: 88px;

    border-radius: 25px;

    box-shadow:
        0 16px 40px
        rgba(0, 0, 0, .24);
}


.go-blocked-page .go-blocked-card h1,
.go-success-page .go-blocked-card h1 {
    margin-bottom: 12px;

    font-size:
        clamp(
            1.9rem,
            5vw,
            2.8rem
        );

    line-height: 1.02;
}


.go-blocked-page .go-blocked-message,
.go-success-page .go-blocked-message {
    font-size: 1rem;
    line-height: 1.62;
}


.go-blocked-page .go-blocked-detail,
.go-blocked-page .go-blocked-tip,
.go-success-page .go-success-task,
.go-success-page .go-blocked-tip {
    margin-left:
        clamp(22px, 5vw, 34px);

    margin-right:
        clamp(22px, 5vw, 34px);

    border-radius: 17px;
}


.go-blocked-page .go-blocked-actions {
    margin-left:
        clamp(22px, 5vw, 34px);

    margin-right:
        clamp(22px, 5vw, 34px);
}


.go-blocked-page .go-action,
.go-success-page .go-action {
    min-height: 46px;

    border-radius: 14px;
}


/* ---------- Success ---------- */

.go-success-page .go-blocked-card {
    border-color:
        rgba(52, 211, 153, .22);
}


.go-success-page .go-reason-pill {
    color:
        #a7f3d0;

    border-color:
        rgba(52, 211, 153, .22);

    background:
        rgba(52, 211, 153, .07);
}


.go-success-page .go-success-task {
    border-color:
        rgba(52, 211, 153, .18);

    background:
        rgba(52, 211, 153, .055);
}


/* ---------- Launcher / My work ---------- */

.go-launch-page .go-launch-wrap {
    width:
        min(
            1180px,
            calc(100% - 24px)
        );

    padding:
        clamp(28px, 5vw, 52px)
        0
        58px;
}


.go-launch-page .go-launch-shell {
    border-color:
        var(--go-v4-border);

    border-radius: 28px;

    background:
        linear-gradient(
            180deg,
            rgba(15, 23, 42, .95),
            rgba(9, 17, 31, .92)
        );

    box-shadow:
        0 32px 90px
        rgba(0, 0, 0, .30);
}


.go-launch-page .go-launch-heading {
    padding:
        clamp(26px, 5vw, 42px);
}


.go-launch-page .go-launch-heading h1 {
    font-size:
        clamp(
            2rem,
            5vw,
            3rem
        );
}


.go-launch-page .go-launch-assignment {
    border-radius: 18px;

    background:
        linear-gradient(
            135deg,
            rgba(14, 165, 233, .075),
            rgba(124, 58, 237, .045)
        );
}


.go-launch-page .go-launch-card {
    border-color:
        rgba(148, 163, 184, .17);

    border-radius: 22px;

    background:
        linear-gradient(
            180deg,
            rgba(255, 255, 255, .045),
            rgba(255, 255, 255, .025)
        );

    box-shadow:
        inset 0 1px 0
        rgba(255, 255, 255, .025);

    transition:
        transform .16s ease,
        border-color .16s ease,
        background .16s ease;
}


.go-launch-page .go-launch-card:hover {
    transform:
        translateY(-2px);

    border-color:
        rgba(56, 189, 248, .28);

    background:
        rgba(255, 255, 255, .052);
}


/* ---------- Footer ---------- */

.go-footer {
    padding-top: 12px;

    color:
        rgba(148, 163, 184, .72);

    letter-spacing: .025em;
}


/* ---------- Mobile ---------- */

@media (max-width: 760px) {

    .go-entry-page .go-hero {
        grid-template-columns: 1fr;

        gap: 24px;

        padding:
            28px
            22px;
    }


    .go-entry-page .go-hero h1 {
        font-size:
            clamp(
                2.3rem,
                14vw,
                3.65rem
            );
    }


    .go-blocked-page .go-blocked-hero,
    .go-success-page .go-blocked-hero {
        grid-template-columns: 1fr;
    }


    .go-launch-page .go-launch-heading {
        flex-direction: column;
    }

}


@media (max-width: 520px) {

    .go-topbar {
        min-height: 66px;
    }


    .go-brand-mark {
        width: 40px;
        height: 40px;
    }


    .go-entry-page .go-wrap,
    .go-blocked-page .go-blocked-wrap,
    .go-success-page .go-blocked-wrap,
    .go-launch-page .go-launch-wrap {
        width:
            min(
                100% - 16px,
                100%
            );
    }


    .go-entry-page .go-shell,
    .go-blocked-page .go-blocked-card,
    .go-success-page .go-blocked-card,
    .go-launch-page .go-launch-shell {
        border-radius: 21px;
    }


    .go-session-exit,
    .go-entry-error {
        grid-template-columns: 42px 1fr;

        padding: 13px;

        border-radius: 15px;
    }


    .go-session-exit-icon,
    .go-entry-error-icon {
        width: 42px;
        height: 42px;

        border-radius: 13px;
    }

}


/* ==========================================================
   H13-C5 · GO TASK CODE INPUT
   Legacy GO codes are case-sensitive. Do not visually or
   physically alter their capitalization during manual entry.
   ========================================================== */

.go-field input.go-task-code-input {
    text-transform: none;
    font-variant-ligatures: none;
}



/* CINFORMABOT · GO THEME BRIDGE */

body.go-page {
    --surface:
        #0f172a;

    --surface-soft:
        #111827;

    --text:
        #e5eefb;

    --muted:
        #9ca3af;

    --border:
        rgba(148, 163, 184, .24);

    --primary:
        #38bdf8;

    --topbar-height:
        74px;

    --radius-lg:
        18px;

    --shadow:
        -18px 0 50px
        rgba(0, 0, 0, .36);
}


body.go-page .cinformabot-drawer {
    color:
        var(--text);
}


body.go-page .cinformabot-header {
    background:
        var(--surface);
}


body.go-page .cinformabot-body {
    background:
        var(--surface);
}


body.go-page .cinformabot-form {
    background:
        var(--surface);
}


body.go-page .cinformabot-status {
    padding:
        0 14px;

    background:
        var(--surface);
}


body.go-page .go-cinformabot-open {
    border-color:
        rgba(56, 189, 248, .30);

    background:
        #0f172a;

    color:
        #e5eefb;

    box-shadow:
        0 10px 28px
        rgba(0, 0, 0, .30);
}


body.go-page .go-cinformabot-close {
    border-color:
        rgba(148, 163, 184, .24);

    background:
        #111827;

    color:
        #e5eefb;
}


/* CINFORMABOT · GO PUBLIC MOUNT */

.go-cinformabot-open {
    position: fixed;
    right: 18px;
    bottom: 18px;
    z-index: 40;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 46px;
    padding: 0 16px;
    border: 1px solid #d7dce8;
    border-radius: 999px;
    background: #ffffff;
    color: #24324a;
    font: inherit;
    font-weight: 700;
    box-shadow: 0 8px 24px rgba(24, 35, 55, 0.16);
    cursor: pointer;
}

.go-cinformabot-open:hover {
    transform: translateY(-1px);
}

.go-cinformabot-open:focus-visible {
    outline: 3px solid rgba(55, 98, 220, 0.28);
    outline-offset: 2px;
}

.go-cinformabot-close {
    width: 40px;
    height: 40px;
    border: 1px solid #d7dce8;
    border-radius: 12px;
    background: #ffffff;
    color: #24324a;
    font: inherit;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
}

.go-cinformabot-close:focus-visible {
    outline: 3px solid rgba(55, 98, 220, 0.28);
    outline-offset: 2px;
}

.go-cinformabot-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

@media (max-width: 699px) {
    .go-cinformabot-open-label {
        display: none;
    }

    .go-cinformabot-open {
        width: 48px;
        height: 48px;
        min-height: 48px;
        padding: 0;
        justify-content: center;
    }
}


/* ==========================================================
   CINFORMA.TECH GO · UX-3
   Student-first launcher hierarchy
   ========================================================== */


/* ---------- Main action: IR A LA TAREA ---------- */

.go-launch-page
.go-launch-open {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 11px;

    width: 100%;
    min-height: 62px;

    padding:
        13px
        18px;

    border:
        2px solid
        rgba(56, 189, 248, .48);

    border-radius: 16px;

    background:
        linear-gradient(
            135deg,
            #0891b2,
            #2563eb
        );

    color: #ffffff;

    box-shadow:
        0 15px 34px
        rgba(8, 145, 178, .22);

    font-size: 1rem;
    font-weight: 950;

    letter-spacing: .045em;
    text-align: center;
    text-decoration: none;
}


.go-launch-page
.go-launch-open:hover {
    transform:
        translateY(-1px);

    border-color:
        rgba(125, 211, 252, .78);

    background:
        linear-gradient(
            135deg,
            #0e7490,
            #1d4ed8
        );
}


.go-launch-page
.go-launch-open:focus-visible {
    outline:
        3px solid
        rgba(125, 211, 252, .55);

    outline-offset: 3px;
}


.go-launch-open-icon {
    font-size: 1.15rem;
    line-height: 1;
}


/* ---------- Make each work card easier to scan ---------- */

.go-launch-page
.go-launch-card {
    gap: 15px;

    min-height: 0;

    padding: 22px;
}


.go-launch-page
.go-launch-card-copy h2 {
    font-size: 1.22rem;
    line-height: 1.25;
}


.go-launch-page
.go-launch-meta {
    gap: 8px;
}


.go-launch-page
.go-launch-meta span {
    padding: 9px 10px;
}


/* ---------- CERRAR GO is intentionally different ---------- */

.go-launch-page
.go-close-session-button {
    min-height: 54px;

    border:
        2px solid
        #b91c1c;

    border-radius: 15px;

    background:
        #ef4444;

    color:
        #111111;

    box-shadow:
        none;

    font-size: .94rem;
    font-weight: 950;

    letter-spacing: .045em;
}


.go-launch-page
.go-close-session-button:hover {
    border-color:
        #991b1b;

    background:
        #dc2626;

    color:
        #000000;
}


.go-launch-page
.go-close-session-button:focus-visible {
    outline:
        3px solid
        rgba(248, 113, 113, .55);

    outline-offset: 3px;
}


/* Separation makes it clear that closing GO is not a task. */

.go-launch-page
.go-launch-exit {
    padding-top: 18px;

    border-top:
        1px solid
        rgba(148, 163, 184, .14);
}


/* ---------- Mobile ---------- */

@media (max-width: 620px) {

    .go-launch-page
    .go-launch-open {
        min-height: 66px;

        font-size: 1.03rem;
    }


    .go-launch-page
    .go-close-session-button {
        min-height: 58px;
    }

}


/* ==========================================================
   CINFORMA.TECH GO · UX-3E
   Success/check screen actions
   ========================================================== */

.go-success-page
.go-success-continue {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;

    width: calc(100% - 68px);
    min-height: 58px;

    margin:
        0
        34px
        16px;

    padding:
        13px
        18px;

    border-radius: 15px;

    font-size: 1rem;
    font-weight: 950;

    letter-spacing: .035em;
    text-align: center;
}


.go-success-page
form:has(.go-success-exit) {
    margin:
        0
        34px
        30px;
}


.go-success-page
.go-success-exit {
    width: 100%;
    min-height: 56px;

    border:
        2px solid
        #b91c1c;

    border-radius: 15px;

    background:
        #ef4444;

    color:
        #111111;

    box-shadow: none;

    font-size: .96rem;
    font-weight: 950;

    letter-spacing: .045em;
}


.go-success-page
.go-success-exit:hover {
    border-color:
        #991b1b;

    background:
        #dc2626;

    color:
        #000000;
}


.go-success-page
.go-success-exit:focus-visible {
    outline:
        3px solid
        rgba(248, 113, 113, .55);

    outline-offset: 3px;
}


@media (max-width: 620px) {

    .go-success-page
    .go-success-continue {
        width: calc(100% - 36px);

        margin:
            0
            18px
            14px;

        min-height: 62px;
    }


    .go-success-page
    form:has(.go-success-exit) {
        margin:
            0
            18px
            24px;
    }


    .go-success-page
    .go-success-exit {
        min-height: 60px;
    }

}
