.ita-loyalty-card{box-sizing:border-box;width:100%;max-width:680px;padding:clamp(18px,4vw,30px);border:1px solid var(--ita-card-border,#d4e5e5);border-radius:22px;background:var(--ita-card-bg,#fff);color:var(--ita-text,#20383b);font-family:inherit;line-height:1.5;box-shadow:0 6px 24px #12383b08}
.ita-loyalty-card *{box-sizing:border-box}.ita-loyalty-card header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.ita-loyalty-kicker{font-size:11px;font-weight:700;letter-spacing:.12em;color:var(--ita-muted,#476366)}.ita-loyalty-prize{padding:6px 12px;border-radius:99px;background:var(--ita-prize-bg,#dcf4ec);color:var(--ita-prize-text,#16634d);font-size:14px;font-weight:700}.ita-loyalty-card h2{font-size:clamp(24px,5vw,32px);line-height:1.2;margin:18px 0 12px;color:inherit}.ita-loyalty-card p{margin:12px 0;font-size:15px}.ita-loyalty-card .ita-loyalty-count{font-size:26px;font-weight:750;margin-top:24px}.ita-loyalty-steps{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin:14px 0 20px}.ita-loyalty-steps span{display:flex;align-items:center;justify-content:center;aspect-ratio:1;border-radius:50%;background:var(--ita-step-bg,#eef3f3);color:var(--ita-step-text,#52696c);font-weight:700;font-size:18px}.ita-loyalty-steps .is-done{background:var(--ita-step-done-bg,#087f86);color:var(--ita-step-done-text,#fff)}.ita-loyalty-status{font-weight:600}.ita-loyalty-period{padding-top:16px;border-top:1px solid var(--ita-card-border,#e0eaea)}.ita-loyalty-calendar{list-style:none!important;margin:14px 0!important;padding:0!important;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.ita-loyalty-calendar li{margin:0;padding:10px 2px;text-align:center;border:2px solid transparent;border-radius:8px;background:var(--ita-cell-bg,#f0f4f4);font-size:12px;white-space:nowrap}.ita-loyalty-calendar .is-valid{background:var(--ita-valid-bg,#d8f1e8);color:var(--ita-valid-text,#155f49);font-weight:700}.ita-loyalty-calendar .is-today{border-color:var(--ita-today,#087f86)}.ita-loyalty-calendar .is-future{background:var(--ita-future-bg,#f8fafa);color:var(--ita-future-text,#647779)}.ita-loyalty-card .ita-loyalty-caption,.ita-loyalty-card .ita-loyalty-rules{font-size:12px;color:var(--ita-muted,#53696b)}.ita-loyalty-rules{padding-top:12px}@media(max-width:380px){.ita-loyalty-calendar{gap:3px}.ita-loyalty-calendar li{font-size:10px;padding:9px 0}.ita-loyalty-steps{gap:5px}}

/* Mobile refinements: goal coin, vertically stacked date/check and legend. */
.ita-loyalty-steps .ita-loyalty-coin{position:relative;isolation:isolate;min-width:0;border:2px solid var(--ita-coin-border,#b47a13);color:var(--ita-coin-text,#704407);background:linear-gradient(135deg,var(--ita-coin-light,#fff0ac) 0%,var(--ita-coin-light,#f8d76f) 26%,var(--ita-coin-gold,#e6ad2c) 54%,var(--ita-coin-light,#ffdf7b) 78%,var(--ita-coin-gold,#c48a18) 100%);box-shadow:inset 0 0 0 3px var(--ita-coin-light,#ffeaa1),inset 0 -4px 6px #a16a2440,0 2px 4px #88600c26;text-shadow:0 1px 0 var(--ita-coin-light,#fff1bd);font-weight:800}
.ita-loyalty-steps .ita-loyalty-coin::before{content:"";position:absolute;inset:5px;border:1px solid var(--ita-coin-border,#ae750e80);border-radius:50%;pointer-events:none}
.ita-loyalty-steps .ita-loyalty-coin.is-achieved{box-shadow:inset 0 0 0 3px var(--ita-coin-light,#ffeaa1),0 0 0 3px var(--ita-today,#087f8633),0 2px 4px #88600c26}
.ita-loyalty-calendar li{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;min-height:54px;padding:6px 1px;white-space:normal;line-height:1.2}
.ita-loyalty-date{white-space:nowrap}.ita-loyalty-day-mark{display:block;height:14px;line-height:14px;font-size:14px;font-weight:700}
.ita-loyalty-card .ita-loyalty-legend-title{margin:18px 0 4px;font-size:11px;line-height:1.4;letter-spacing:.1em;font-weight:750;color:var(--ita-muted,#476366)}
.ita-loyalty-card .ita-loyalty-legend .ita-loyalty-caption{margin:0 0 16px}

.ita-loyalty-card .ita-loyalty-kicker{color:var(--ita-kicker,var(--ita-muted,#476366))}
.ita-loyalty-card h2{color:var(--ita-title,var(--ita-text,#20383b))}
.ita-loyalty-card .ita-loyalty-count{color:var(--ita-count,var(--ita-text,#20383b))}
.ita-loyalty-calendar li{color:var(--ita-cell-text,var(--ita-text,#20383b))}
.ita-loyalty-calendar li.is-valid{color:var(--ita-valid-text,#155f49)}
.ita-loyalty-calendar li.is-future{color:var(--ita-future-text,#647779)}
.ita-loyalty-card .ita-loyalty-preview-note{font-size:11px;border-bottom:1px dashed var(--ita-card-border,#d4e5e5);padding-bottom:8px;color:var(--ita-muted,#53696b)}

.ita-missions-list{display:grid;gap:24px}.ita-missions-list .ita-loyalty-card{width:100%;margin-top:0;margin-bottom:0}
.ita-pioneer-medal{display:flex;align-items:center;justify-content:center;width:88px;height:88px;border-radius:50%;border:4px solid var(--ita-coin-border,#b27b12);background:radial-gradient(circle at 30% 25%,var(--ita-coin-light,#fff2b2),var(--ita-coin-gold,#eabb45));color:var(--ita-coin-text,#76500b);font-size:26px;font-weight:750;box-shadow:inset 0 0 0 4px var(--ita-coin-light,#fff2b2);margin:16px 0}
