
/* ==========================================================
   INTEGRIFIN ACADEMY
   GLOBAL PREMIUM UI
   ========================================================== */

:root {

    --ia-navy-950:#07172d;
    --ia-navy-900:#0b1f3a;
    --ia-navy-800:#12345c;

    --ia-blue:#2563eb;
    --ia-blue-light:#3b82f6;
    --ia-cyan:#06b6d4;

    --ia-green:#15803d;
    --ia-orange:#a16207;
    --ia-red:#b91c1c;

    --ia-text:#142238;
    --ia-muted:#64748b;

    --ia-bg:#f4f7fb;
    --ia-surface:#ffffff;

    --ia-line:#d8e3ef;

    --ia-shadow:
        0 18px 45px
        rgba(9,31,60,.08);

    --ia-shadow-hover:
        0 22px 55px
        rgba(9,31,60,.14);

    --ia-radius:16px;
}


/* ==========================================================
   BODY / TYPOGRAPHY
   ========================================================== */

html {
    scroll-behavior:smooth;
}

body {
    color:var(--ia-text);
    -webkit-font-smoothing:antialiased;
}

body p,
body li,
body td,
body label {
    line-height:1.65;
}

body .meta,
body .muted,
body small,
body .help-text,
body .description {
    color:var(--ia-muted);
}


/* ==========================================================
   PREMIUM BUTTON SYSTEM
   ========================================================== */

body button,
body .btn,
body a.btn,
body input[type="submit"],
body input[type="button"] {

    border:0 !important;

    border-radius:11px !important;

    min-height:46px;

    padding:11px 18px !important;

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

    gap:8px;

    font-family:inherit;
    font-size:14px;
    font-weight:800 !important;

    text-decoration:none !important;

    cursor:pointer;

    transition:
        transform .18s ease,
        box-shadow .18s ease,
        filter .18s ease;

    background:
        linear-gradient(
            135deg,
            var(--ia-blue),
            var(--ia-blue-light)
        ) !important;

    color:#fff !important;

    box-shadow:
        0 10px 24px
        rgba(37,99,235,.20);
}


body button:hover,
body .btn:hover,
body a.btn:hover,
body input[type="submit"]:hover,
body input[type="button"]:hover {

    transform:translateY(-2px);

    box-shadow:
        0 15px 30px
        rgba(37,99,235,.27);

    filter:brightness(1.03);
}


body button:active,
body .btn:active,
body a.btn:active {

    transform:translateY(0);
}


body button:focus-visible,
body .btn:focus-visible,
body input:focus-visible,
body select:focus-visible,
body textarea:focus-visible {

    outline:
        3px solid
        rgba(37,99,235,.18);

    outline-offset:2px;
}


/* SECONDARY */

body .btn.secondary,
body .btn-secondary,
body a.btn.secondary,
body a.btn-secondary {

    background:
        linear-gradient(
            180deg,
            #f2f6fc,
            #e7eef8
        ) !important;

    color:
        var(--ia-navy-900)
        !important;

    border:
        1px solid
        #d3dfed !important;

    box-shadow:
        0 7px 18px
        rgba(15,39,73,.06);
}


/* SMALL UTILITY BUTTONS */

body .password-toggle,
body .toggle {

    min-height:36px !important;

    padding:
        7px 13px !important;

    background:
        linear-gradient(
            180deg,
            #f7faff,
            #e9f0f9
        ) !important;

    color:
        var(--ia-navy-900)
        !important;

    border:
        1px solid
        #d6e1ed !important;

    box-shadow:none;
}


/* PSAK HELP */

body .psak-help-button {

    min-height:52px;

    padding:
        12px 20px !important;

    background:
        linear-gradient(
            135deg,
            #07172d,
            #123a6a
        ) !important;

    color:#fff !important;

    box-shadow:
        0 16px 40px
        rgba(7,23,45,.26);
}


/* ==========================================================
   CARDS / PANELS
   ========================================================== */

body .card,
body .concept,
body .result,
body .hero,
body .program-card,
body .flow-card,
body .agri-case-card {

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

    border-radius:
        var(--ia-radius);

    box-shadow:
        var(--ia-shadow);

    background:
        linear-gradient(
            180deg,
            #ffffff,
            #fcfdff
        );
}


body .card:hover,
body .program-card:hover,
body .agri-case-card:hover {

    box-shadow:
        var(--ia-shadow-hover);
}


/* ==========================================================
   INFO / STATUS / DESCRIPTION
   ========================================================== */

body .academy-account-context {

    border:
        1px solid #d4e1f0;

    border-radius:16px;

    background:
        linear-gradient(
            110deg,
            #f8fbff,
            #f2f7ff
        );

    box-shadow:
        0 10px 28px
        rgba(15,39,73,.06);
}


body .academy-account-context .pill,
body .badge,
body .meta-pill,
body .agri-badge {

    border-radius:999px;

    font-weight:800;

    letter-spacing:.01em;
}


body .agri-map-intro,
body .agri-case-note,
body .agri-key-points,
body .psak-help-intro {

    border-radius:13px;

    box-shadow:
        0 7px 18px
        rgba(15,39,73,.04);
}


/* ==========================================================
   FORMS
   ========================================================== */

body input[type="text"],
body input[type="email"],
body input[type="password"],
body input[type="number"],
body select,
body textarea {

    width:100%;

    min-height:48px;

    border:
        1px solid
        #cbd8e7 !important;

    border-radius:10px !important;

    background:
        linear-gradient(
            180deg,
            #ffffff,
            #fbfdff
        ) !important;

    color:
        var(--ia-text);

    padding:
        11px 13px;

    font:inherit;

    transition:
        border-color .18s ease,
        box-shadow .18s ease,
        background .18s ease;
}


body input:focus,
body select:focus,
body textarea:focus {

    border-color:
        var(--ia-blue) !important;

    background:#fff !important;

    box-shadow:
        0 0 0 4px
        rgba(37,99,235,.10);

    outline:none;
}


body label {

    color:
        var(--ia-navy-900);

    font-weight:750;
}


/* ==========================================================
   TABLES
   ========================================================== */

body table {

    border-collapse:
        separate;

    border-spacing:0;

    width:100%;
}


body table thead th {

    background:
        linear-gradient(
            180deg,
            #0b274a,
            #071f3b
        ) !important;

    color:#fff !important;

    font-weight:800;

    border-color:
        rgba(255,255,255,.15)
        !important;
}


body table tbody tr {

    transition:
        background .16s ease;
}


body table tbody tr:hover {

    background:
        #f5f9ff;
}


body table td {

    color:#26364d;

    border-color:
        #d7e1ed !important;
}


/* ==========================================================
   LINKS
   ========================================================== */

body main a:not(.btn):not(.program-link):not(.psak-source-link) {

    color:
        #1d4ed8;

    text-decoration-thickness:1px;

    text-underline-offset:3px;
}


/* ==========================================================
   FEEDBACK
   ========================================================== */

body .feedback.good {

    border:
        1px solid
        #bbefd0;

    background:
        linear-gradient(
            180deg,
            #f0fdf4,
            #e9faef
        );

    color:#166534;
}


body .feedback.bad {

    border:
        1px solid
        #fecdd3;

    background:
        linear-gradient(
            180deg,
            #fff7f7,
            #fff1f2
        );

    color:#991b1b;
}


/* ==========================================================
   PREMIUM SECTION HEADINGS
   ========================================================== */

body main h1,
body main h2,
body main h3 {

    color:
        var(--ia-navy-900);
}


body main h1 {

    letter-spacing:
        -.035em;
}


body main h2 {

    letter-spacing:
        -.025em;
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media(max-width:700px) {

    body button,
    body .btn,
    body a.btn {

        min-height:44px;
    }

    body .academy-account-context {
        margin-left:12px;
        margin-right:12px;
    }
}

