/* leave-optimizer (RT-FUN-094) — tool styles. Card system in share-card.css. */

.lo-tool { display: flex; flex-direction: column; gap: 16px; }
.lo-controls { display: flex; gap: 14px; flex-wrap: wrap; align-items: flex-end; }
.lo-field { display: flex; flex-direction: column; gap: 6px; font-size: .85rem; font-weight: 600; color: var(--t2, #6b6760); }
.lo-field select, .lo-field input {
    font: inherit; font-weight: 500; padding: 10px 12px; border: 1.5px solid var(--border, #ebebeb);
    border-radius: 8px; background: var(--card-bg, #fff); color: var(--t1, #1a1814); min-width: 120px;
}
.lo-field input { width: 110px; }
.lo-field :focus-visible { outline: 3px solid #2f80b8; outline-offset: 1px; border-color: #2f80b8; }
.lo-go { font: inherit; font-weight: 700; padding: 11px 22px; border: none; border-radius: 999px; background: #2f80b8; color: #fff; cursor: pointer; }
.lo-go:focus-visible { outline: 3px solid #1a1814; outline-offset: 2px; }

.lo-summary { font-size: 1.05rem; color: var(--t1, #1a1814); margin: 0 0 4px; }
.lo-empty { color: var(--t2, #6b6760); text-align: center; padding: 26px 10px; }
.lo-table { width: 100%; border-collapse: collapse; }
.lo-table th { text-align: left; font-size: .78rem; color: var(--t2, #6b6760); font-weight: 600; padding: 6px 10px; }
.lo-table td { padding: 10px; border-top: 1px solid var(--border, #ebebeb); }
.lo-range { font-weight: 600; }
.lo-get b { font-size: 1.15rem; color: #2f80b8; }
.lo-remain { color: var(--t2, #6b6760); font-size: .9rem; margin: 8px 0 0; }

.lo-stage { background: #0c1827; border-radius: 16px; }
.lo-note { font-size: .8rem; color: var(--t2, #6b6760); margin: 0; }

/* Card (1080×1350 coords) */
.lo-card {
    align-items: center; text-align: center; justify-content: flex-start;
    background: radial-gradient(120% 90% at 50% 0%, #14385c 0%, #0c1d31 55%, #081320 100%);
    color: #eaf2fb; padding-top: 96px;
}
.lo-card .sc-eyebrow { font-size: 28px; letter-spacing: 8px; color: #7fc0ef; }
.lo-card-title { font-size: 40px; font-weight: 600; opacity: .85; margin: 14px 0 6px; }
.lo-card-headline { font-family: var(--sc-font-serif, serif); font-size: 86px; font-weight: 700; line-height: 1.1; margin: 6px 40px 30px; color: #ffd27a; }
.lo-card-list { width: 800px; max-width: 88%; margin: 0 auto; display: flex; flex-direction: column; gap: 14px; }
.lo-card-row { display: flex; justify-content: space-between; align-items: center; font-size: 40px; border-bottom: 1px solid rgba(255,255,255,.14); padding-bottom: 12px; }
.lo-card-row span { opacity: .9; }
.lo-card-row b { color: #7fc0ef; font-weight: 700; }
