/* Fruit orchard authentication screens. Business form behaviour stays in the templates. */

body.farm-auth-page,
body.farm-auth-page.dark {
    min-width: 0;
    height: auto !important;
    min-height: 100vh;
    min-height: 100dvh;
    overflow: visible;
    padding-bottom: 0;
    background: #15904e;
    color: #5b371a;
    color-scheme: light;
}

body.ui-v3.farm-auth-page,
body.ui-v3.farm-auth-page.dark,
html:has(body.farm-auth-page) {
    background: #0dabf8;
}

html:has(body.farm-auth-page) {
    overflow-x: hidden;
    overflow-y: auto;
}

body.farm-auth-page .dark-toggle,
body.farm-auth-page .install-app-btn,
body.farm-auth-page .cs-float-btn {
    display: none !important;
}

body.farm-auth-page .v3-auth {
    position: relative;
    width: min(100%, 480px);
    min-height: 100vh;
    min-height: 100dvh;
    margin: 0 auto;
    padding: 0 14px calc(28px + env(safe-area-inset-bottom));
    overflow: visible;
    background: #15904e url('../images/farm/orchard-world-bg-v3.webp') center top / 100% auto no-repeat;
}

body.farm-auth-page .v3-auth::before {
    display: none;
}

body.farm-auth-page .v3-auth::after {
    display: none;
}

body.farm-auth-page .v3-brand-lockup,
body.farm-auth-page .v3-status-pill,
body.farm-auth-page .v3-step-badge {
    position: relative;
    z-index: 4;
}

body.farm-auth-page .v3-brand-lockup {
    gap: 8px;
    padding: 5px 9px 5px 6px;
    border: 2px solid #e6bb51;
    border-radius: 15px;
    background: linear-gradient(180deg, rgba(255,249,208,.97), rgba(239,220,139,.97));
    box-shadow: inset 0 2px rgba(255,255,255,.72), 0 4px 0 rgba(102,69,24,.22), 0 8px 15px rgba(42,91,50,.14);
}

body.farm-auth-page .v3-brand-lockup img {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    filter: drop-shadow(0 2px 1px rgba(75,49,20,.2));
}

body.farm-auth-page .v3-brand-lockup strong {
    color: #216b42;
    font-size: 13px;
}

body.farm-auth-page .v3-brand-lockup span {
    color: #76532b;
    font-size: 8px;
}

body.farm-auth-page .v3-status-pill,
body.farm-auth-page .v3-step-badge {
    min-height: 34px;
    color: #fff3b4;
    border: 2px solid #f0cb64;
    border-radius: 12px;
    background: linear-gradient(180deg, #48b96a, #247f49);
    box-shadow: inset 0 2px rgba(255,255,255,.25), 0 4px 0 rgba(62,54,23,.3);
}

body.farm-auth-page .v3-status-pill i {
    background: #fff09b;
    box-shadow: 0 0 0 4px rgba(255,240,155,.17);
}

body.farm-auth-page .v3-kicker {
    display: inline-flex;
    width: max-content;
    max-width: 100%;
    padding: 4px 9px;
    color: #47702e;
    letter-spacing: .1em;
    border: 1px solid #e2b64e;
    border-radius: 999px;
    background: rgba(255,246,184,.9);
}

/* Login orchard scene */
body.farm-auth-login-page .v3-auth-command {
    min-height: 320px;
    margin: 0 -14px;
    padding: calc(12px + env(safe-area-inset-top)) 14px 22px;
    overflow: hidden;
    border: 0;
    background: transparent;
}

body.farm-auth-login-page .v3-auth-command::before {
    display: none;
}

body.farm-auth-login-page .v3-auth-command-top {
    position: relative;
    z-index: 5;
}

body.farm-auth-login-page .v3-auth-command-copy {
    position: relative;
    z-index: 2;
    grid-template-columns: minmax(0, 1fr) 156px;
    min-height: 200px;
    padding-top: 24px;
}

body.farm-auth-login-page .v3-auth-command-copy > div {
    align-self: start;
    padding-top: 17px;
}

body.farm-auth-login-page .v3-auth-command-copy h1,
body.farm-auth-register-page .v3-auth-banner h1 {
    margin: 8px 0 7px;
    color: #245f3e;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(27px, 8vw, 37px);
    line-height: 1;
    text-shadow: 0 2px rgba(255,250,205,.7);
}

body.farm-auth-login-page .v3-auth-command-copy p,
body.farm-auth-register-page .v3-auth-banner p {
    color: #3e7150;
    font-size: 11px;
    font-weight: 750;
}

body.farm-auth-login-page .v3-auth-art {
    z-index: 2;
}

body.farm-auth-login-page .v3-auth-art img {
    right: -18px;
    bottom: -37px;
    width: 206px;
    height: 206px;
    object-fit: contain;
    object-position: center;
    filter: drop-shadow(0 11px 7px rgba(25,91,46,.22));
}

body.farm-auth-login-page .v3-art-glow {
    right: -2px;
    bottom: -14px;
    width: 168px;
    height: 54px;
    border-radius: 50%;
    background: rgba(13,104,52,.2);
}

body.farm-auth-login-page .v3-auth-metrics {
    display: none;
}

/* Parchment form panels */
body.farm-auth-page .v3-auth-panel,
body.farm-auth-page:not(.dark) .v3-auth-panel {
    position: relative;
    z-index: 6;
    color: #5b371a;
    border: 3px solid #875226;
    border-radius: 20px;
    background:
        linear-gradient(90deg, rgba(133,84,36,.06), transparent 13%, transparent 87%, rgba(133,84,36,.06)),
        linear-gradient(180deg, #fff5cb, #ead89b);
    box-shadow: inset 0 0 0 2px #fff0b4, inset 0 -5px rgba(132,83,34,.12), 0 6px 0 #5d3b20, 0 15px 25px rgba(23,78,42,.2);
}

body.farm-auth-login-page .v3-auth-login > .v3-auth-panel {
    margin-top: -12px;
}

body.farm-auth-page .v3-auth-panel {
    padding: 14px;
}

body.farm-auth-login-page #login-form {
    gap: 4px;
}

body.farm-auth-page .v3-panel-heading {
    margin-bottom: 10px;
}

body.farm-auth-page .v3-panel-number,
body.farm-auth-page .v3-form-section header > span {
    color: #fff3b4;
    border: 2px solid #efcb65;
    background: linear-gradient(180deg, #47b768, #26834b);
    box-shadow: 0 3px 0 rgba(66,50,20,.28);
}

body.farm-auth-page .v3-panel-heading h2,
body.farm-auth-page .v3-form-section header strong {
    color: #62401f;
    font-family: Georgia, "Times New Roman", serif;
}

body.farm-auth-page .v3-panel-heading p,
body.farm-auth-page .v3-form-section header small,
body.farm-auth-page .v3-form label,
body.farm-auth-page .v3-label-row label {
    color: #826640;
}

body.farm-auth-page .v3-inline-action {
    color: #237249;
}

body.farm-auth-login-page .v3-label-row {
    min-height: 22px;
}

body.farm-auth-login-page .v3-inline-action {
    min-height: 22px;
    padding: 2px 0 2px 8px;
}

body.farm-auth-page .farm-auth-hidden {
    display: none !important;
}

body.farm-auth-page .v3-input,
body.farm-auth-page .v3-select,
body.farm-auth-page:not(.dark) .v3-input,
body.farm-auth-page:not(.dark) .v3-select {
    min-height: 52px;
    border: 2px solid #d4b568;
    border-radius: 13px;
    background: rgba(255,253,225,.82);
    box-shadow: inset 0 2px rgba(255,255,255,.7);
}

body.farm-auth-page .v3-input:focus-within,
body.farm-auth-page .v3-select:focus-within {
    border-color: #55a85d;
    box-shadow: 0 0 0 3px rgba(61,155,82,.13), inset 0 2px rgba(255,255,255,.7);
}

body.farm-auth-page .v3-input svg {
    stroke: #278051;
}

body.farm-auth-page .v3-input input,
body.farm-auth-page .v3-select select,
body.farm-auth-page:not(.dark) .v3-input input,
body.farm-auth-page:not(.dark) .v3-select select {
    color: #56381e;
}

body.ui-v3.farm-auth-page .v3-input > input:not([type="checkbox"]):not([type="radio"]):not([type="file"]) {
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

body.farm-auth-page .v3-input input::placeholder {
    color: #9b825a;
}

body.farm-auth-page .v3-select option,
body.farm-auth-page .v3-select optgroup {
    color: #56381e;
    background: #fff8d8;
}

body.farm-auth-page .v3-code-action,
body.farm-auth-page .v3-primary-action {
    border: 2px solid #fff0a4;
    color: #fff8d5;
    background: linear-gradient(180deg, #ffc942, #e9871e 72%, #c46615);
    box-shadow: inset 0 2px rgba(255,255,255,.42), inset 0 -4px rgba(90,52,13,.18), 0 5px 0 rgba(91,56,18,.48), 0 10px 16px rgba(36,84,42,.18);
    text-shadow: 0 2px 1px rgba(73,48,14,.5);
}

body.farm-auth-page .v3-code-action:disabled,
body.farm-auth-page .v3-primary-action:disabled {
    color: #8f7750;
    border-color: #d1ba7d;
    background: #e4d7aa;
    box-shadow: none;
    text-shadow: none;
}

body.farm-auth-page .v3-phone-row:has(> .v3-select[hidden]),
body.farm-auth-page .v3-phone-row:has(> .v3-select select:empty) {
    grid-template-columns: minmax(0, 1fr);
}

body.farm-auth-page .v3-auth-shortcuts a,
body.farm-auth-page:not(.dark) .v3-auth-shortcuts a {
    color: #634523;
    border: 2px solid #cfa951;
    background: rgba(255,249,205,.72);
    box-shadow: inset 0 1px #fff9dd, 0 3px 0 rgba(101,67,24,.22);
}

body.farm-auth-page .v3-shortcut-icon {
    color: #fff3b4;
    border: 1px solid #edc75f;
    background: linear-gradient(180deg, #4abe6b, #27814b);
}

body.farm-auth-page .v3-auth-shortcuts small {
    color: #a38958;
}

body.farm-auth-login-page .v3-auth-shortcuts {
    grid-template-columns: minmax(0, 1fr);
    margin-top: 9px;
}

body.farm-auth-login-page .v3-auth-shortcuts a {
    min-height: 56px;
    padding: 8px 10px;
}

body.farm-auth-login-page .v3-auth-shortcuts .farm-auth-shortcut-hidden {
    display: none;
}

body.farm-auth-login-page .v3-auth-shortcuts small {
    display: none;
}

body.farm-auth-register-page .v3-auth-compact-head .v3-step-badge {
    display: none;
}

body.farm-auth-page .v3-form-error {
    color: #9d342d;
    border-color: rgba(184,63,49,.35);
    background: rgba(255,224,201,.72);
}

/* Registration uses the same orchard world with a compact tree banner. */
body.farm-auth-register-page .v3-auth {
    padding-top: env(safe-area-inset-top);
}

body.farm-auth-register-page .v3-auth-compact-head {
    position: relative;
    z-index: 6;
    width: 100%;
    padding: 10px 0 12px;
    gap: 8px;
}

body.farm-auth-register-page .v3-auth-compact-head::after {
    display: none;
}

body.farm-auth-register-page .v3-back-button {
    color: #fff3b4;
    border: 2px solid #efca62;
    border-radius: 14px;
    background: linear-gradient(180deg, #49b96a, #258149);
    box-shadow: inset 0 2px rgba(255,255,255,.25), 0 4px 0 rgba(63,53,23,.28);
}

body.farm-auth-register-page .v3-auth-compact-head .v3-brand-lockup {
    padding: 3px 7px 3px 4px;
}

body.farm-auth-register-page .v3-auth-compact-head .v3-brand-lockup img {
    width: 34px;
    height: 34px;
}

body.farm-auth-register-page .v3-auth-banner {
    position: relative;
    z-index: 3;
    grid-template-columns: minmax(0,1fr) 128px;
    min-height: 172px;
    margin-top: 5px;
    padding: 16px 12px 12px 16px;
    overflow: hidden;
    border: 0;
    border-radius: 20px 20px 8px 8px;
    background: rgba(255,255,255,.13);
}

body.farm-auth-register-page .v3-auth-banner figure img {
    right: -18px;
    bottom: -21px;
    width: 176px;
    height: 176px;
    object-fit: contain;
    filter: drop-shadow(0 9px 5px rgba(24,84,43,.22));
}

body.farm-auth-register-page .v3-register-panel {
    margin-top: -8px;
}

body.farm-auth-register-page .v3-form-grid {
    grid-template-columns: minmax(0, 1fr);
}

body.farm-auth-register-page .v3-field-wide {
    grid-column: auto;
}

body.farm-auth-register-page .v3-form,
body.farm-auth-register-page .v3-form-grid {
    gap: 6px;
}

body.farm-auth-register-page .v3-field {
    gap: 4px;
}

body.farm-auth-page .v3-form-section {
    padding: 9px 0;
    border-bottom: 1px dashed rgba(125,83,34,.35);
}

body.farm-auth-page .v3-form-section header {
    margin-bottom: 7px;
}

body.farm-auth-page .v3-text-link {
    min-height: 38px;
    margin-top: 4px;
    padding: 4px 8px;
    color: #28734c;
}

/* Password recovery sheet keeps the same visual language. */
body.farm-auth-page .v3-sheet-backdrop {
    background: rgba(14,67,38,.64);
}

body.farm-auth-page .v3-sheet-panel,
body.farm-auth-page:not(.dark) .v3-sheet-panel {
    color: #5b371a;
    border: 3px solid #865126;
    border-bottom: 0;
    background: linear-gradient(180deg, #fff5cb, #ead89b);
    box-shadow: 0 -18px 45px rgba(15,68,37,.32);
}

body.farm-auth-page .v3-sheet-heading h2 {
    color: #61401f;
}

body.farm-auth-page .v3-sheet-close {
    color: #fff3b4;
    border-color: #efc75f;
    background: linear-gradient(180deg, #e98b54, #b95438);
}

body.farm-auth-page .v3-sheet-handle {
    background: rgba(104,67,27,.36);
}

@media (max-width: 360px) {
    body.farm-auth-page .v3-auth {
        --v3-space: 12px;
        padding-right: 10px;
        padding-left: 10px;
    }

    body.farm-auth-login-page .v3-auth-command {
        margin-right: -10px;
        margin-left: -10px;
        padding-right: 10px;
        padding-left: 10px;
    }

    body.farm-auth-login-page .v3-auth-command-copy {
        grid-template-columns: minmax(0,1fr) 132px;
    }

    body.farm-auth-login-page .v3-auth-art img {
        right: -24px;
        width: 184px;
        height: 184px;
    }

    body.farm-auth-register-page .v3-auth-banner {
        grid-template-columns: minmax(0,1fr) 104px;
    }

    body.farm-auth-register-page .v3-auth-banner figure img {
        right: -31px;
        width: 157px;
        height: 157px;
    }

    body.farm-auth-register-page .v3-auth-compact-head .v3-brand-lockup span {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.farm-auth-page *,
    body.farm-auth-page *::before,
    body.farm-auth-page *::after {
        scroll-behavior: auto !important;
    }
}
