.ycacct {
    position:fixed;
    inset:0;
    z-index:100000;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:18px;
    opacity:0;
    pointer-events:none;
    transition:opacity .28s ease;
}
.ycacct.active { opacity:1; pointer-events:auto; }
.ycacct.leaving { opacity:0; }
.ycacct-backdrop {
    position:absolute;
    inset:0;
    background:rgba(9,32,24,.44);
    backdrop-filter:blur(10px);
}
.ycacct-card {
    position:relative;
    width: min(650px,100%);
    max-height:calc(100dvh - 36px);
    overflow-x:hidden;
    overflow-y:auto;
    padding:30px 30px 24px;
    border:1px solid rgba(8,79,46,.12);
    border-radius:28px;
    background:linear-gradient(145deg,#fff,#f4fbf3);
    box-shadow:0 30px 80px rgba(4,38,22,.25), inset 0 0 0 7px rgba(255,255,255,.5);
    transform:translateY(26px) scale(.95);
    transition:transform .42s cubic-bezier(.2,.9,.22,1.12);
}
.ycacct.active .ycacct-card { transform:translateY(0) scale(1); }
.ycacct.leaving .ycacct-card { transform:translateY(18px) scale(.97); }
.ycacct-close {
    position:absolute;
    top:18px;
    inset-inline-start:18px;
    z-index:3;
    width:32px;
    height:32px;
    border-radius:50%;
    background:rgba(6,75,45,.06);
    color:#637068;
    font-size:18px;
}
.ycacct-art {
    position:relative;
    width:96px;
    height:96px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:4px auto 18px;
}
.ycacct-art span,
.ycacct-art b {
    position:absolute;
    inset:0;
    border-radius:32px;
    background:linear-gradient(145deg,#0c7043,#073f27);
    transform:rotate(10deg);
    box-shadow:0 18px 35px rgba(0,85,50,.22);
}
.ycacct-art b {
    inset:14px;
    background:#ff7418;
    transform:rotate(-14deg);
    opacity:.16;
}
.ycacct-art i {
    position:relative;
    z-index:2;
    color:#fff;
    font-size:42px;
}
.ycacct-pane { display:none; text-align:center; animation:ycacctIn .34s ease both; }
.ycacct-pane.active { display:block; }
@keyframes ycacctIn { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:translateY(0); } }
.ycacct-pane em {
    display:inline-flex;
    min-height:28px;
    align-items:center;
    padding:0 12px;
    border-radius:999px;
    background:#dff1d8;
    color:#0b5f38;
    font-size:12px;
    font-style:normal;
    font-weight:900;
}
.ycacct h2 {
    margin:12px 0 8px;
    color:#073f27;
    font-size:31px;
    font-weight:950;
}
.ycacct p {
    margin:0 auto 18px;
    color:#5a6a62;
    font-size:14px;
    line-height:1.7;
}
.ycacct label:not(.-YC-FM-Label) {
    position:relative;
    display:block;
    margin:10px 0;
}
.ycacct label:not(.-YC-FM-Label) i {
    position:absolute;
    top:50%;
    inset-inline-end:15px;
    transform:translateY(-50%);
    color:#0b5f38;
}
.ycacct .ycacct-field {
    margin:10px 0;
    text-align:start;
}
.ycacct .-YC-FM-Label {
    display:flex;
    align-items:center;
    gap:8px;
    margin:0 0 7px;
    color:#0b5f38;
    font-size:13px;
    font-weight:900;
}
.ycacct .-FM-Field-title {
    color:inherit;
    font:inherit;
}
.ycacct input,
.ycacct .-input-password-ivid input {
    width:100%;
    min-height:52px;
    padding:0 15px;
    border:1px solid #d7dfd9;
    border-radius:10px;
    background:#fff;
    color:#21362c;
    font-size:14px;
}
.ycacct .-input-password-ivid input {
    padding-inline-end:46px;
}
.ycacct .-input-password-ivid > .-show-password-item {
    inset-inline-end:10px;
    margin-inline-start:0;
    background:#fff;
}
.ycacct .iti {
    width:100%;
}
.ycacct .iti input[input-model][type="tel"] {
    padding-inline-start:120px !important;
    text-align:start;
}
.ycacct button[type="submit"] {
    width:100%;
    min-height:54px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    margin-top:13px;
    border-radius:10px;
    background:linear-gradient(180deg,#00653c,#004e2e);
    color:#fff;
    box-shadow:0 10px 22px rgba(0,82,48,.2);
    font-weight:950;
}
.ycacct button.loading { pointer-events:none; opacity:.72; }
.ycacct-switch {
    margin-top:14px;
    background:transparent;
    color:#ff7418;
    font-size:13px;
    font-weight:900;
}
.ycacct-message {
    min-height:0;
    margin-top:14px;
    padding:0;
    border-radius:10px;
    font-size:13px;
    font-weight:900;
    transition:.2s ease;
}
.ycacct-message.ok,
.ycacct-message.error { padding:11px 12px; }
.ycacct-message.ok { background:#edf8e9; color:#0b6d3c; }
.ycacct-message.error { background:#fff0f0; color:#b71e1e; }
.ycacct small {
    display:block;
    margin-top:14px;
    color:#738078;
    font-size:12px;
    text-align:center;
}
header.yc-head .yc-account-menu {
    position:relative;
    flex:0 0 auto;
}
header.yc-head .yc-account-menu .yc-login-btn {
    cursor:pointer;
}
header.yc-head .yc-account-dropdown {
    position:absolute;
    top:calc(100% + 14px);
    inset-inline-end:0;
    width:310px;
    padding:12px;
    border:1px solid color-mix(in srgb,var(--uicolor3) 12%,transparent);
    border-radius:26px;
    background:linear-gradient(145deg,var(--surface-color),var(--background2));
    box-shadow:0 30px 70px color-mix(in srgb,var(--primary-text) 18%,transparent),inset 0 0 0 6px color-mix(in srgb,var(--surface-color) 58%,transparent);
    opacity:0;
    visibility:hidden;
    transform:translateY(10px) scale(.98);
    transform-origin:top right;
    transition:240ms ease;
    z-index:80;
}
header.yc-head .yc-account-menu.active .yc-account-dropdown {
    opacity:1;
    visibility:visible;
    transform:translateY(0) scale(1);
}
header.yc-head .yc-account-dropdown:before {
    content:"";
    position:absolute;
    top:-7px;
    inset-inline-end:18px;
    width:16px;
    height:16px;
    border-radius:4px;
    background:var(--surface-color);
    transform:rotate(45deg);
    border-inline-start:1px solid color-mix(in srgb,var(--uicolor3) 12%,transparent);
    border-top:1px solid color-mix(in srgb,var(--uicolor3) 12%,transparent);
}
header.yc-head .yc-account-drop-head {
    position:relative;
    display:flex;
    align-items: flex-start;
    gap:12px;
    padding: 5px 15px;
    text-align: center;
    margin-bottom:8px;
    border-radius:20px;
    color:var(--on-color);
    background: linear-gradient(135deg,var(--uicolor) ,var(--uicolor4));
    overflow:hidden;
    flex-direction: column;
}
header.yc-head .yc-account-drop-head:after {
    content:"";
    position:absolute;
    width:90px;
    height:90px;
    border-radius:30px;
    background:color-mix(in srgb,var(--on-color) 12%,transparent);
    inset-inline-end:-24px;
    bottom:-36px;
    transform:rotate(18deg);
}
header.yc-head .yc-account-drop-head > span {
    position:relative;
    z-index:2;
    width:46px;
    height:46px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:16px;
    background:color-mix(in srgb,var(--on-color) 14%,transparent);
    color:var(--on-color);
    font-size:21px;
    font-weight: 500;
    display: none;
}
header.yc-head .yc-account-drop-head div {
    position:relative;
    z-index:2;
    min-width:0;
}
header.yc-head .yc-account-drop-head strong,
header.yc-head .yc-account-drop-head small {
    display:block;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
header.yc-head .yc-account-drop-head strong {
    font-size: 18px;
    font-weight: 600;
}
header.yc-head .yc-account-drop-head small {
    margin-top: 0px;
    color: #fff;
    font-size: 16px;
}
header.yc-head .yc-account-dropdown a,
header.yc-head .yc-account-dropdown button {
    width:100%;
    min-height: 40px;
    display:flex;
    align-items:center;
    gap: 15px;
    padding: 7px 10px;
    border:0;
    background:transparent;
    color:var(--primary-text);
    font-size: 16px;
    font-weight: 800;
    text-align:inherit;
    transition:180ms ease;
    border-bottom: 1px solid #00000014;
}
header.yc-head .yc-account-dropdown a i,
header.yc-head .yc-account-dropdown button i {
    width:32px;
    height:32px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:11px;
    font-weight: 200;
    color: var(--primary-text);
    background: var(--diver2);
    border: 1px solid #cbcbcb;
}
header.yc-head .yc-account-dropdown a:hover,
header.yc-head .yc-account-dropdown button:hover {
    background: var(--diver2);
    color: var(--uicolor);
    transform:translateX(-3px);
    border-radius: 10px;
}
html[dir="ltr"] header.yc-head .yc-account-dropdown a:hover,
html[dir="ltr"] header.yc-head .yc-account-dropdown button:hover {
    transform:translateX(3px);
}
header.yc-head .yc-account-dropdown .danger {
    color:var(--danger-color);
}
header.yc-head .yc-account-dropdown .danger i {
    color:var(--danger-color);
    background:color-mix(in srgb,var(--danger-color) 8%,var(--surface-color));
}

.ycacct-page {
    position:relative;
    padding: 184px 0 80px;
    overflow:hidden;
}
 
.ycacct-shell {
    position:relative;
    display:flex;
    align-items:flex-start;
    gap:22px;
}
.ycacct-side {
    position:sticky;
    top: 0px;
    flex:0 0 290px;
    padding:14px;
    border:1px solid #e2eee6;
    border-radius: 20px;
    background:#ffffffd9;
    box-shadow:0 28px 70px rgba(0,53,34,.12);
    backdrop-filter:blur(14px);
}
.ycacct-id {
    padding:18px;
    border-radius: 20px;
    color:#fff;
    background:linear-gradient(135deg,#063b29,#006b45 70%,#ff7418 170%);
}
.ycacct-id span {
    width:58px;
    height:58px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:12px;
    border-radius:20px;
    background:#ffffff24;
    color:#fff;
    font-size:27px;
    font-weight:950;
}
.ycacct-id strong,
.ycacct-id small {
    display:block;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.ycacct-id strong { font-size:18px; font-weight:950; }
.ycacct-id small { margin-top:5px; color:#dcf1e5; font-size:13px; }
.ycacct-side nav {
    display:flex;
    flex-direction:column;
    gap:7px;
    margin-top:12px;
}
.ycacct-side nav a {
    min-height:50px;
    display:flex;
    align-items:center;
    gap:10px;
    padding:9px 12px;
    border-radius:16px;
    color:#0c211b;
    font-weight:900;
}
.ycacct-side nav a i {
    width:34px;
    height:34px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:12px;
    color:#0b6b46;
    background:#edf8f0;
}
.ycacct-side nav a.active,
.ycacct-side nav a:hover {
    color:#006b45;
    background:#eff9f3;
}
.ycacct-main {
    flex:1;
    min-width:0;
}
.ycacct-hero {
    position:relative;
    min-height:210px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    padding:34px;
    border-radius: 20px;
    color:#fff;
    background:linear-gradient(135deg,#052f22,#006b45 62%,#ff7418 160%);
    box-shadow:0 30px 80px rgba(0,53,34,.2);
    overflow:hidden;
}
.ycacct-hero:before,
.ycacct-hero:after {
    content:"";
    position:absolute;
    border-radius:48px;
    background:#ffffff14;
    transform:rotate(18deg);
}
.ycacct-hero:before { width:170px; height:170px; inset-inline-end:80px; top:-70px; }
.ycacct-hero:after { width:260px; height:260px; inset-inline-end:-80px; bottom:-130px; }
.ycacct-hero > div,
.ycacct-hero > span { position:relative; z-index:2; }
.ycacct-hero em {
    display:inline-flex;
    padding:7px 12px;
    border-radius:999px;
    background:#ffffff1c;
    color:#dff1d8;
    font-style:normal;
    font-weight:900;
}
.ycacct-hero h1 {
    margin:13px 0 8px;
    color:#fff;
    font-size: 39px;
    font-weight: 600;
}
.ycacct-hero p {
    max-width:560px;
    margin:0;
    color:#e7f4ec;
    font-size:16px;
    line-height:1.8;
}
.ycacct-hero > span {
    width:112px;
    height:112px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:34px;
    background:#ffffff1f;
    color:#fff;
    font-size:50px;
}
.ycacct-stats {
    display:flex;
    gap:14px;
    margin:18px 0;
}
.ycacct-stats > div {
    flex:1;
    min-height:118px;
    padding:18px;
    border:1px solid #e2eee6;
    border-radius: 20px;
    background:#fff;
    box-shadow:0 20px 55px rgba(0,53,34,.08);
}
.ycacct-stats i {
    width:42px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:12px;
    border-radius:15px;
    color:#0b6b46;
    background:#edf8f0;
    font-size:20px;
}
.ycacct-stats span,
.ycacct-stats strong { display:block; }
.ycacct-stats span { color:#65766c; font-size:13px; font-weight:800; }
.ycacct-stats strong { margin-top:4px; color:#063b29; font-family:var(--f-number); font-size:30px; font-weight:950; }
.ycacct-panel {
    margin-top:18px;
    padding:20px;
    border:1px solid #e2eee6;
    border-radius: 20px;
    background:#fff;
    box-shadow:0 20px 60px rgba(0,53,34,.08);
}
.ycacct-panel-head {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    margin-bottom:15px;
}
.ycacct-panel-head h2 {
    margin:0;
    color:#063b29;
    font-size: 22px;
    font-weight: 700;
}
.ycacct-panel-head a,
.ycacct-panel-head span {
    color:#ff7418;
    font-size:13px;
    font-weight:900;
}
.ycacct-list {
    display:flex;
    flex-direction:column;
    gap:10px;
}
.ycacct-list article {
    display:flex;
    align-items:center;
    gap:13px;
    padding:14px;
    border-radius:20px;
    background:#f7fbf7;
}
.ycacct-list article > span {
    width:44px;
    height:44px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:15px;
    color:#0b6b46;
    background:#e7f5ec;
}
.ycacct-list article div { flex:1; min-width:0; }
.ycacct-list strong,
.ycacct-list p { display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ycacct-list strong { color:#0c211b; font-weight:950; }
.ycacct-list p { margin:4px 0 0; color:#66756d; font-size:13px; }
.ycacct-list em,
.ycacct-list b {
    flex:0 0 auto;
    color:#063b29;
    font-size:13px;
    font-style:normal;
    font-weight:900;
}
.ycacct-list b {
    min-width:96px;
    padding:8px 10px;
    border-radius:999px;
    color:#0b6b46;
    background:#eaf8ed;
    text-align:center;
}
.ycacct-coupons {
    display:flex;
    flex-wrap:wrap;
    gap:12px;
}
.ycacct-coupons article {
    flex:1 1 250px;
    position:relative;
    padding:18px;
    border:1px dashed #b8d9c6;
    border-radius:24px;
    background:linear-gradient(145deg,#f7fbf7,#fff);
    overflow:hidden;
}
.ycacct-coupons article:after {
    content:"";
    position:absolute;
    width:80px;
    height:80px;
    inset-inline-end:-30px;
    bottom:-35px;
    border-radius:24px;
    background:rgba(255,116,24,.12);
    transform:rotate(18deg);
}
.ycacct-coupons span,
.ycacct-coupons strong,
.ycacct-coupons em,
.ycacct-coupons small { display:block; position:relative; z-index:2; }
.ycacct-coupons span { color:#65766c; font-size:12px; font-weight:900; }
.ycacct-coupons strong { margin:7px 0 12px; color:#063b29; font-family:var(--f-number); font-size:27px; font-weight:950; letter-spacing:1px; }
.ycacct-coupons em { width:max-content; padding:6px 10px; border-radius:999px; color:#0b6b46; background:#eaf8ed; font-style:normal; font-size:12px; font-weight:900; }
.ycacct-coupons small { margin-top:10px; color:#66756d; font-size:12px; }
.ycacct-empty {
    min-height:180px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:8px;
    border-radius:24px;
    background:#f7fbf7;
    color:#66756d;
    text-align:center;
}
.ycacct-empty i { color:#0b6b46; font-size:36px; }
.ycacct-empty strong { color:#063b29; font-size:18px; font-weight:950; }
.ycacct-profile form {
    display:flex;
    flex-wrap:wrap;
    gap:13px;
}
.ycacct-profile label {
    flex:1 1 320px;
}
.ycacct-profile .ycacct-field {
    flex:1 1 320px;
    margin:0;
}
.ycacct-profile .ycacct-field .-YC-FM-Label {
    flex:none;
}
.ycacct-profile label span {
    display:block;
    margin-bottom:7px;
    color:#253b31;
    font-size:13px;
    font-weight:900;
}
.ycacct-profile input {
    width:100%;
    min-height:54px;
    padding:0 16px;
    border:1px solid #dbe8df;
    border-radius:16px;
    background:#f9fcfa;
    color:#0c211b;
}
.ycacct-profile .-input-password-ivid {
    width:100%;
}
.ycacct-profile button[type="submit"] {
    min-height:54px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:0 22px;
    border-radius:16px;
    color:#fff;
    background:linear-gradient(135deg,#07854f,#00472f);
    font-weight:950;
}
.ycacct-profile .ycacct-message {
    flex:1 1 100%;
    margin-top:0;
}
.ycacct-gate {
    min-height:520px;
    display:flex;
    align-items:center;
    gap:40px;
    padding:42px;
    border-radius:42px;
    color:#fff;
    background:linear-gradient(135deg,#052f22,#006b45 65%,#ff7418 170%);
    box-shadow:0 34px 90px rgba(0,53,34,.22);
    overflow:hidden;
}
.ycacct-gate-art {
    position:relative;
    flex:0 0 240px;
    height:240px;
    display:flex;
    align-items:center;
    justify-content:center;
}
.ycacct-gate-art span,
.ycacct-gate-art b {
    position:absolute;
    inset:0;
    border-radius:60px;
    background:#ffffff1a;
    transform:rotate(12deg);
}
.ycacct-gate-art b { inset:44px; background:#ff741838; transform:rotate(-18deg); }
.ycacct-gate-art i { position:relative; z-index:2; color:#fff; font-size:100px; }
.ycacct-gate-copy em { display:inline-flex; padding:8px 13px; border-radius:999px; background:#ffffff1c; color:#dff1d8; font-style:normal; font-weight:900; }
.ycacct-gate-copy h1 { max-width:650px; margin:14px 0 10px; color:#fff; font-size:48px; line-height:1.18; font-weight:950; }
.ycacct-gate-copy p { max-width:560px; margin:0; color:#e7f4ec; font-size:17px; line-height:1.9; }
.ycacct-gate-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.ycacct-gate-actions button { min-height:54px; padding:0 22px; border-radius:16px; color:#063b29; background:#fff; font-weight:950; }
.ycacct-gate-actions button:first-child { color:#fff; background:#ff7418; }

/* =========================
   Interaction & Accessibility
========================= */

html[dir="ltr"] header.yc-head .yc-account-dropdown {
    transform-origin:top left;
}

.ycacct-close,
.ycacct-switch,
.ycacct button[type="submit"],
.ycacct-profile button[type="submit"],
.ycacct-gate-actions button,
header.yc-head .yc-account-menu .yc-login-btn,
header.yc-head .yc-account-dropdown a,
header.yc-head .yc-account-dropdown button,
.ycacct-side nav a {
    -webkit-tap-highlight-color:transparent;
}

.ycacct-close:focus-visible,
.ycacct-switch:focus-visible,
.ycacct button[type="submit"]:focus-visible,
.ycacct-gate-actions button:focus-visible,
header.yc-head .yc-account-menu .yc-login-btn:focus-visible,
header.yc-head .yc-account-dropdown a:focus-visible,
header.yc-head .yc-account-dropdown button:focus-visible,
.ycacct-side nav a:focus-visible,
.ycacct-panel-head a:focus-visible {
    outline:3px solid color-mix(in srgb,var(--uicolor2) 70%,#fff);
    outline-offset:3px;
}

.ycacct input:focus,
.ycacct .-input-password-ivid input:focus,
.ycacct-profile input:focus {
    border-color:var(--uicolor);
    outline:0;
    box-shadow:0 0 0 4px color-mix(in srgb,var(--uicolor) 10%,transparent);
}

/* =========================
   Compact Desktop & Tablet
========================= */

@media only screen and (max-width:1170px) {
    header.yc-head .yc-account-menu {
        display:block;
    }

    header.yc-head .yc-account-menu .yc-login-btn {
        width:46px;
        height:46px;
        display:flex;
        align-items:center;
        justify-content:center;
        padding:0;
        border-radius:15px;
    }

    header.yc-head .yc-account-dropdown {
        position:fixed;
        top:82px;
        inset-inline-end:16px;
        width:min(310px,calc(100vw - 32px));
    }

    .ycacct-page {
        padding-top:150px;
    }
}

@media only screen and (max-width:991px) {
    .ycacct-shell {
        flex-direction:column;
        gap:18px;
    }

    .ycacct-side {
        position:relative;
        top:auto;
        width:100%;
        flex-basis:auto;
        display:grid;
        grid-template-columns:minmax(210px,260px) minmax(0,1fr);
        align-items:stretch;
        gap:12px;
        padding:12px;
    }

    .ycacct-id {
        min-width:0;
        display:grid;
        grid-template-columns:50px minmax(0,1fr);
        align-content:center;
        column-gap:12px;
        padding:14px;
    }

    .ycacct-id span {
        grid-row:1 / span 2;
        width:50px;
        height:50px;
        margin:0;
        border-radius:17px;
        font-size:23px;
    }

    .ycacct-id strong,
    .ycacct-id small {
        align-self:end;
    }

    .ycacct-id strong {
        font-size:16px;
    }

    .ycacct-id small {
        align-self:start;
        margin-top:3px;
        font-size:12px;
    }

    .ycacct-side nav {
        min-width:0;
        display:flex;
        flex-direction:row;
        align-items:stretch;
        gap:8px;
        margin:0;
        padding:2px;
        overflow-x:auto;
        overscroll-behavior-inline:contain;
        scroll-snap-type:x proximity;
        scrollbar-width:none;
        -webkit-overflow-scrolling:touch;
    }

    .ycacct-side nav::-webkit-scrollbar {
        display:none;
    }

    .ycacct-side nav a {
        flex:1 0 118px;
        min-height:58px;
        justify-content:center;
        padding:8px 10px;
        border:1px solid transparent;
        border-radius:16px;
        scroll-snap-align:start;
        white-space:nowrap;
    }

    .ycacct-side nav a i {
        flex:0 0 34px;
    }

    .ycacct-side nav a.active {
        border-color:color-mix(in srgb,var(--uicolor) 18%,transparent);
    }

    .ycacct-hero {
        min-height:180px;
        padding:28px;
    }

    .ycacct-hero h1 {
        font-size:34px;
    }

    .ycacct-hero > span {
        width:92px;
        height:92px;
        border-radius:29px;
        font-size:42px;
    }

    .ycacct-stats {
        display:grid;
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

    .ycacct-stats > div {
        min-width:0;
    }

    .ycacct-gate {
        min-height:420px;
        gap:28px;
        padding:34px;
    }

    .ycacct-gate-art {
        flex-basis:190px;
        height:190px;
    }

    .ycacct-gate-copy h1 {
        font-size:38px;
    }
}

/* =========================
   Mobile App Experience
========================= */

@media only screen and (max-width:767px) {
    .ycacct {
        align-items:flex-end;
        padding:0;
    }

    .ycacct-backdrop {
        background:rgba(5,24,17,.52);
        backdrop-filter:blur(7px);
    }

    .ycacct-card {
        width:100%;
        max-height:min(94dvh,820px);
        padding:22px 18px calc(20px + env(safe-area-inset-bottom));
        border-inline:0;
        border-bottom:0;
        border-radius:28px 28px 0 0;
        box-shadow:0 -24px 70px rgba(4,38,22,.27),inset 0 5px 0 rgba(255,255,255,.55);
        transform:translateY(100%) scale(1);
        overscroll-behavior:contain;
        scrollbar-width:thin;
    }

    .ycacct.active .ycacct-card {
        transform:translateY(0) scale(1);
    }

    .ycacct.leaving .ycacct-card {
        transform:translateY(100%) scale(1);
    }

    .ycacct-card:before {
        content:"";
        width:46px;
        height:5px;
        display:block;
        margin:-10px auto 12px;
        border-radius:999px;
        background:rgba(7,63,39,.16);
    }

    .ycacct-close {
        top:14px;
        inset-inline-start:14px;
        width:44px;
        height:44px;
        display:flex;
        align-items:center;
        justify-content:center;
        background:rgba(6,75,45,.08);
        font-size:19px;
    }

    .ycacct-art {
        width:68px;
        height:68px;
        margin:0 auto 12px;
    }

    .ycacct-art span,
    .ycacct-art b {
        border-radius:23px;
    }

    .ycacct-art b {
        inset:10px;
    }

    .ycacct-art i {
        font-size:30px;
    }

    .ycacct-pane em {
        min-height:26px;
        padding-inline:11px;
        font-size:11px;
    }

    .ycacct h2 {
        margin:9px 0 6px;
        font-size:clamp(24px,7vw,28px);
        line-height:1.3;
    }

    .ycacct p {
        max-width:440px;
        margin-bottom:14px;
        font-size:13px;
        line-height:1.65;
    }

    .ycacct label:not(.-YC-FM-Label),
    .ycacct .ycacct-field {
        margin:8px 0;
    }

    .ycacct .-YC-FM-Label {
        margin-bottom:6px;
        font-size:12px;
    }

    .ycacct input,
    .ycacct .-input-password-ivid input {
        min-height:50px;
        border-radius:14px;
        font-size:16px;
    }

    .ycacct .iti input[input-model][type="tel"] {
        padding-inline-start:112px !important;
    }

    .ycacct button[type="submit"] {
        min-height:52px;
        margin-top:11px;
        border-radius:14px;
    }

    .ycacct-switch {
        min-height:44px;
        margin-top:8px;
        padding-inline:10px;
    }

    .ycacct-message {
        margin-top:10px;
    }

    .ycacct small {
        margin-top:10px;
        padding-inline:8px;
        line-height:1.6;
    }

    header.yc-head .yc-account-dropdown {
        top:auto;
        inset-inline:0;
        bottom:0;
        width:100%;
        max-height:calc(100dvh - 72px);
        padding:12px 14px calc(14px + env(safe-area-inset-bottom));
        overflow-y:auto;
        border-inline:0;
        border-bottom:0;
        border-radius:28px 28px 0 0;
        box-shadow:0 -26px 75px color-mix(in srgb,var(--primary-text) 24%,transparent),inset 0 5px 0 color-mix(in srgb,var(--surface-color) 62%,transparent);
        transform:translateY(calc(100% + 24px));
        transform-origin:center bottom;
    }

    header.yc-head .yc-account-menu.active .yc-account-dropdown {
        transform:translateY(0);
    }

    header.yc-head .yc-account-dropdown:before {
        top:8px;
        inset-inline-start:50%;
        inset-inline-end:auto;
        width:42px;
        height:5px;
        border:0;
        border-radius:999px;
        background:color-mix(in srgb,var(--primary-text) 16%,transparent);
        transform:translateX(-50%);
    }

    header.yc-head .yc-account-drop-head {
        margin-top:10px;
        padding:12px;
        border-radius:19px;
    }

    header.yc-head .yc-account-dropdown a,
    header.yc-head .yc-account-dropdown button {
        min-height:52px;
        border-radius:16px;
    }

    header.yc-head .yc-account-dropdown a:active,
    header.yc-head .yc-account-dropdown button:active {
        background:color-mix(in srgb,var(--uicolor) 10%,var(--background2));
        transform:scale(.985);
    }

    .ycacct-page {
        padding:124px 0 54px;
    }

    .ycacct-shell {
        gap:14px;
    }

    .ycacct-side {
        display:block;
        padding:10px;
        border-radius:22px;
        box-shadow:0 16px 42px rgba(0,53,34,.08);
    }

    .ycacct-id {
        grid-template-columns:46px minmax(0,1fr);
        column-gap:10px;
        padding:12px;
        border-radius:17px;
    }

    .ycacct-id span {
        width:46px;
        height:46px;
        border-radius:15px;
        font-size:21px;
    }

    .ycacct-id strong {
        font-size:15px;
    }

    .ycacct-side nav {
        margin-top:9px;
        padding-bottom:2px;
        scroll-padding-inline:2px;
    }

    .ycacct-side nav a {
        flex:0 0 auto;
        min-width:96px;
        min-height:54px;
        gap:7px;
        padding:7px 9px;
        font-size:12px;
    }

    .ycacct-side nav a i {
        width:32px;
        height:32px;
        flex-basis:32px;
        border-radius:11px;
        font-size:14px;
    }

    .ycacct-hero {
        min-height:164px;
        padding:24px;
        border-radius:24px;
    }

    .ycacct-hero h1 {
        margin:10px 0 6px;
        font-size:clamp(27px,7vw,33px);
        line-height:1.3;
    }

    .ycacct-hero p {
        max-width:calc(100% - 54px);
        font-size:14px;
        line-height:1.7;
    }

    .ycacct-hero > span {
        position:absolute;
        inset-inline-end:18px;
        bottom:18px;
        width:66px;
        height:66px;
        border-radius:22px;
        font-size:29px;
        opacity:.78;
    }

    .ycacct-stats {
        gap:9px;
        margin:12px 0;
    }

    .ycacct-stats > div {
        min-height:104px;
        padding:13px;
        border-radius:18px;
        box-shadow:0 13px 34px rgba(0,53,34,.065);
    }

    .ycacct-stats i {
        width:36px;
        height:36px;
        margin-bottom:9px;
        border-radius:12px;
        font-size:17px;
    }

    .ycacct-stats span {
        font-size:11px;
        line-height:1.4;
        overflow-wrap:anywhere;
    }

    .ycacct-stats strong {
        margin-top:3px;
        font-size:25px;
    }

    .ycacct-panel {
        margin-top:12px;
        padding:15px;
        border-radius:22px;
        box-shadow:0 14px 42px rgba(0,53,34,.065);
    }

    .ycacct-panel-head {
        align-items:flex-start;
        margin-bottom:12px;
    }

    .ycacct-panel-head h2 {
        min-width:0;
        font-size:19px;
        line-height:1.45;
        overflow-wrap:anywhere;
    }

    .ycacct-panel-head a,
    .ycacct-panel-head span {
        flex:0 0 auto;
        min-height:36px;
        display:flex;
        align-items:center;
        font-size:12px;
    }

    .ycacct-list {
        gap:8px;
    }

    .ycacct-list article {
        display:grid;
        grid-template-columns:42px minmax(0,1fr) auto;
        grid-template-rows:auto auto;
        align-items:center;
        gap:4px 11px;
        padding:12px;
        border-radius:17px;
    }

    .ycacct-list article > span {
        grid-row:1 / span 2;
        width:42px;
        height:42px;
        border-radius:14px;
    }

    .ycacct-list article div {
        grid-column:2;
        grid-row:1;
    }

    .ycacct-list strong,
    .ycacct-list p {
        white-space:normal;
        overflow:visible;
        text-overflow:clip;
        overflow-wrap:anywhere;
    }

    .ycacct-list strong {
        font-size:14px;
        line-height:1.45;
    }

    .ycacct-list p {
        margin-top:2px;
        font-size:12px;
        line-height:1.45;
    }

    .ycacct-list em {
        grid-column:2;
        grid-row:2;
        color:#66756d;
        font-size:11px;
    }

    .ycacct-list b {
        grid-column:3;
        grid-row:1 / span 2;
        min-width:82px;
        padding:7px 9px;
        font-size:11px;
    }

    .ycacct-coupons {
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:9px;
    }

    .ycacct-coupons article {
        min-width:0;
        padding:14px;
        border-radius:19px;
    }

    .ycacct-coupons strong {
        margin:5px 0 10px;
        font-size:clamp(19px,5.5vw,24px);
        line-height:1.25;
        overflow-wrap:anywhere;
    }

    .ycacct-coupons em {
        max-width:100%;
        white-space:normal;
    }

    .ycacct-empty {
        min-height:160px;
        padding:22px 16px;
        border-radius:19px;
    }

    .ycacct-empty span {
        max-width:360px;
        font-size:13px;
        line-height:1.65;
    }

    .ycacct-profile .ycacct-panel-head {
        flex-direction:column;
        gap:4px;
    }

    .ycacct-profile .ycacct-panel-head span {
        min-height:0;
        color:#66756d;
        line-height:1.6;
    }

    .ycacct-profile form {
        display:grid;
        grid-template-columns:1fr;
        gap:11px;
    }

    .ycacct-profile label,
    .ycacct-profile .ycacct-field {
        min-width:0;
        margin:0;
    }

    .ycacct-profile input {
        min-height:52px;
        border-radius:14px;
        font-size:16px;
    }

    .ycacct-profile button[type="submit"] {
        width:100%;
        min-height:52px;
        border-radius:14px;
    }

    .ycacct-gate {
        min-height:0;
        flex-direction:column;
        align-items:flex-start;
        gap:18px;
        padding:26px;
        border-radius:28px;
    }

    .ycacct-gate-art {
        flex-basis:auto;
        width:104px;
        height:104px;
        align-self:center;
    }

    .ycacct-gate-art span,
    .ycacct-gate-art b {
        border-radius:32px;
    }

    .ycacct-gate-art b {
        inset:20px;
    }

    .ycacct-gate-art i {
        font-size:48px;
    }

    .ycacct-gate-copy {
        width:100%;
        text-align:center;
    }

    .ycacct-gate-copy em {
        padding:7px 11px;
        font-size:12px;
    }

    .ycacct-gate-copy h1 {
        margin:11px auto 8px;
        font-size:clamp(29px,8vw,36px);
        line-height:1.3;
    }

    .ycacct-gate-copy p {
        margin-inline:auto;
        font-size:14px;
        line-height:1.75;
    }

    .ycacct-gate-actions {
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:9px;
        margin-top:18px;
    }

    .ycacct-gate-actions button {
        min-width:0;
        min-height:52px;
        padding-inline:14px;
        border-radius:15px;
        font-size:13px;
    }
}

/* =========================
   Small Mobile Adjustments
========================= */

@media only screen and (max-width:390px) {
    .ycacct-card {
        max-height:96dvh;
        padding:19px 14px calc(16px + env(safe-area-inset-bottom));
        border-radius:24px 24px 0 0;
    }

    .ycacct-close {
        top:11px;
        inset-inline-start:10px;
        width:42px;
        height:42px;
    }

    .ycacct-art {
        width:60px;
        height:60px;
        margin-bottom:9px;
    }

    .ycacct-art i {
        font-size:27px;
    }

    .ycacct h2 {
        font-size:23px;
    }

    .ycacct p {
        font-size:12px;
    }

    .ycacct .iti input[input-model][type="tel"] {
        padding-inline-start:106px !important;
    }

    header.yc-head .yc-account-menu .yc-login-btn {
        width:44px;
        height:44px;
        border-radius:14px;
    }

    header.yc-head .yc-account-dropdown {
        max-height:calc(100dvh - 58px);
        padding-inline:10px;
        border-radius:24px 24px 0 0;
    }

    .ycacct-page {
        padding:116px 0 44px;
    }

    .ycacct-side {
        padding:8px;
        border-radius:19px;
    }

    .ycacct-id {
        padding:10px;
    }

    .ycacct-side nav a {
        min-width:90px;
        min-height:52px;
        font-size:11px;
    }

    .ycacct-hero {
        min-height:154px;
        padding:20px;
        border-radius:21px;
    }

    .ycacct-hero em {
        padding:6px 10px;
        font-size:11px;
    }

    .ycacct-hero h1 {
        font-size:26px;
    }

    .ycacct-hero p {
        max-width:100%;
        padding-inline-end:36px;
        font-size:13px;
    }

    .ycacct-hero > span {
        inset-inline-end:12px;
        bottom:12px;
        width:52px;
        height:52px;
        border-radius:18px;
        font-size:23px;
        opacity:.48;
    }

    .ycacct-stats {
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:8px;
    }

    .ycacct-stats > div {
        min-height:96px;
        padding:12px;
    }

    .ycacct-stats > div:last-child {
        grid-column:1 / -1;
        min-height:76px;
        display:grid;
        grid-template-columns:36px minmax(0,1fr) auto;
        align-items:center;
        gap:10px;
    }

    .ycacct-stats > div:last-child i {
        margin:0;
    }

    .ycacct-stats > div:last-child strong {
        grid-column:3;
        grid-row:1;
        margin:0;
    }

    .ycacct-panel {
        padding:13px;
        border-radius:19px;
    }

    .ycacct-panel-head {
        gap:9px;
    }

    .ycacct-panel-head h2 {
        font-size:17px;
    }

    .ycacct-list article {
        grid-template-columns:40px minmax(0,1fr);
        padding:11px;
    }

    .ycacct-list article > span {
        width:40px;
        height:40px;
    }

    .ycacct-list b {
        grid-column:2;
        grid-row:3;
        width:max-content;
        max-width:100%;
        min-width:0;
        margin-top:5px;
    }

    .ycacct-coupons article {
        padding:12px;
        border-radius:17px;
    }

    .ycacct-coupons span,
    .ycacct-coupons small {
        font-size:10px;
        line-height:1.5;
    }

    .ycacct-coupons strong {
        font-size:18px;
    }

    .ycacct-coupons em {
        padding:5px 8px;
        font-size:10px;
    }

    .ycacct-gate {
        padding:22px 18px;
        border-radius:24px;
    }

    .ycacct-gate-art {
        width:88px;
        height:88px;
    }

    .ycacct-gate-art i {
        font-size:41px;
    }

    .ycacct-gate-copy h1 {
        font-size:27px;
    }

    .ycacct-gate-actions button {
        padding-inline:10px;
        font-size:12px;
    }
}

@media (hover:hover) and (pointer:fine) {
    .ycacct-close:hover,
    .ycacct-switch:hover,
    .ycacct-gate-actions button:hover {
        transform:translateY(-2px);
    }
}

@media (hover:none) {
    header.yc-head .yc-account-dropdown a:hover,
    header.yc-head .yc-account-dropdown button:hover {
        transform:none;
    }

    .ycacct-side nav a:hover {
        color:#0c211b;
        background:transparent;
    }

    .ycacct-side nav a.active {
        color:#006b45;
        background:#eff9f3;
    }
}

@media (prefers-reduced-motion:reduce) {
    .ycacct,
    .ycacct-card,
    .ycacct-pane,
    header.yc-head .yc-account-dropdown,
    header.yc-head .yc-account-dropdown a,
    header.yc-head .yc-account-dropdown button,
    .ycacct-close,
    .ycacct-switch,
    .ycacct-gate-actions button {
        animation:none;
        transition:none;
    }
}