/* Layout audit: preserve calculation behavior; improve navigation and legibility. */
:root{--text-muted:#52645f}
:focus-visible{outline:3px solid #087f73;outline-offset:3px}
.sidebar-toggle{display:none}
.skip-main{position:fixed;left:12px;top:-200px;z-index:200;background:#fff;color:#123f35;padding:12px;border:2px solid #087f73;border-radius:8px;transform:translateY(-200%)}
.skip-main:focus{transform:none}
.mobile-category{display:none}
.amount-card .amount-line #amount,.amount-card .amount-line #amount:focus,.amount-card .amount-line #amount:focus-visible{outline:none!important;border:0!important;box-shadow:none!important;background:transparent}
.amount-card .amount-line:focus-within{outline:none;border-color:#075b53;box-shadow:0 0 0 1px #075b53}
.journey-secondary{max-width:none;margin:0 0 20px;padding:0;border:0}
.journey-secondary>h2{font-size:13px;margin-bottom:8px}
.journey-secondary .quick-top-tools{gap:10px}
.journey-secondary .top-radar{min-width:180px;padding:12px 14px}
.journey-secondary .trip-reward-summary{padding:12px 14px}
.journey-secondary .trip-reward-summary b{font-size:17px}
.skip-main:focus{top:12px}
.chips{flex-wrap:wrap;overflow:visible;height:auto!important;gap:8px}
.chips button{min-height:44px;font-size:13px;white-space:normal}
.rank-info b{font-size:16px;line-height:1.5}
.rank-info small,.rank-value small,.qualification-hint,.ranking-help,.fine,.muted{font-size:12px;line-height:1.65}
.field-title,.merchant-options>summary,.merchant-options small{font-size:13px}
.merchant-options small{white-space:normal;overflow:visible;text-overflow:clip}
.rank-value{font-variant-numeric:tabular-nums}
.rank-value .formula-affordance{font-size:12px}
.rank-row{min-width:0}.rank-info{overflow-wrap:anywhere}
@media(min-width:1024px){
 .sidebar{width:272px;padding:20px 18px;overflow-y:auto}
 .app{margin-left:272px;max-width:none}
 .sidebar-toggle{display:flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;align-self:flex-end;margin-bottom:14px;font-size:13px;color:#234b41;background:#f1f5f9}
 .sidebar .brand{flex-shrink:0}
 .sidebar .nav-caption{margin-top:28px}
 .sidebar .nav-item{padding:12px;min-height:48px}
 .sidebar-radar{margin-top:28px}
 body.sidebar-collapsed .sidebar{width:88px;padding:16px 8px}
 body.sidebar-collapsed .app{margin-left:88px}
 body.sidebar-collapsed .sidebar-toggle{align-self:center}
 body.sidebar-collapsed .sidebar-toggle-label,body.sidebar-collapsed .brand>span:last-child,body.sidebar-collapsed .nav-caption,body.sidebar-collapsed .sidebar-radar,body.sidebar-collapsed .sidebar-foot{display:none}
 body.sidebar-collapsed .brand{justify-content:center;margin-bottom:24px}
 body.sidebar-collapsed .desktop-nav .nav-item{flex-direction:column;gap:2px;padding:8px 2px;border-radius:12px;margin-bottom:8px;font-size:12px}
 body.sidebar-collapsed .desktop-nav .nav-icon{font-size:22px}
 #toast{left:calc(50% + 136px)}body.sidebar-collapsed #toast{left:calc(50% + 44px)}
}
@media(max-width:767px){
 .journey-secondary{margin-bottom:14px}
 .journey-secondary .quick-top-tools{display:flex;flex-direction:column-reverse;gap:6px}
 .journey-secondary .top-radar{min-width:0;padding:8px 10px;min-height:44px}
 .journey-secondary .top-radar small{font-size:11px}
 .journey-secondary .trip-reward-summary{padding:10px}
 .journey-secondary .trip-reward-summary b{font-size:15px}
 #categories{display:none}
 .mobile-category{display:block;width:100%;min-height:44px;font-size:16px;background:#fff;border:1px solid #8eb7a7;margin-block:6px 10px}
 .amount-card .chips{padding-block:4px}
 .rank-row{display:grid;grid-template-columns:40px minmax(0,1fr);gap:8px}
 .rank-row .card-badge{width:40px;height:40px}
 .rank-row .rank-value{grid-column:2;text-align:left;white-space:normal;font-size:18px}
 .rank-value .formula-affordance{display:inline-block;margin-top:4px;margin-left:8px}
 .rank-info b{font-size:15px}
 .compact-currency strong,.compact-currency span,.shortcuts button,.bottom-nav .nav-item{font-size:12px}
 .amount-line{flex-wrap:wrap}.amount-line input{min-width:0}
 .amount-line>span:last-child{font-size:12px}
 .merchant-options>summary{flex-wrap:wrap}.merchant-options small{max-width:100%;margin-left:0}
 .sheet-actions{flex-wrap:wrap}.sheet-actions button{min-width:100px}
 .form-grid{min-width:0}.form-grid>*{min-width:0}.form-grid input,.form-grid select{max-width:100%;min-width:0}
}

#merchantOptions,#merchantOptions .field{min-width:0}#quickCubeBranch{width:100%;min-width:0;max-width:100%}#merchantOptions small{overflow-wrap:anywhere}


#quickBonusFields .check,#entryForm .form-grid>.check{display:flex;align-items:flex-start;gap:8px}#quickBonusFields .check input,#entryForm .form-grid>.check input{width:20px;min-height:20px;flex-shrink:0}#unicardOtherChoices{width:100%;max-width:100%;font-size:16px}@media(max-width:767px){#quickBonusFields{grid-template-columns:1fr}}


/* v57 */
.chips.brand-chips{min-height:52px}
.chips.brand-chips .brand-more{background:#fff;border:1px dashed #8eb7a7;color:#087f73;font-weight:700}
.rank-item{border-bottom:1px solid var(--line)}.rank-item:last-child{border-bottom:0}.rank-item .rank-row{border-bottom:0;width:100%}
.assumed-note{display:block;color:#92610a}
.offer-chip{display:block;width:calc(100% - 24px);margin:0 12px 10px;min-height:44px;padding:8px 12px;border:1px dashed #d9a441;border-radius:12px;background:#fffbeb;color:#7a4f06;font-size:13px;text-align:left;cursor:pointer}
.onboard-popular{margin:0 0 12px;min-height:44px;padding:8px 14px;border:1px solid #f0b37e;border-radius:999px;background:#fff7ed;color:#9a3412;font-weight:700;cursor:pointer}
.limit-left{display:block;margin:2px 0;font-size:15px;color:#087f73}
.rule-chips{display:grid;gap:4px}.rule-chips>span{font-size:13px}
.sheet-head{touch-action:none}
@media(max-width:767px){dialog .sheet-actions{position:sticky;bottom:calc(-24px - env(safe-area-inset-bottom));background:#f8fbf5;padding:12px 0 calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--line);z-index:1}}
@media(max-width:767px){#ledger>.toolbar>#ledgerSync{display:inline-flex}}

/* v58 */
.best-bar{display:none}
.assumed-notice{margin:0 0 8px;padding:8px 12px;border-radius:10px;background:#fff7e6;color:#7a4f06;font-size:12px;line-height:1.6}
.assumed-notice[hidden],.backup-reminder[hidden]{display:none}
.rate-note{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.assumed-pill{padding:0 7px;border-radius:999px;background:#fff1cc;color:#7a4f06;font-size:11px;line-height:1.7;white-space:nowrap}
.backup-reminder{margin:0 0 14px;padding:12px 14px;border:1px solid #f0d58a;border-radius:14px;background:#fffbeb}
.backup-reminder p{margin:0 0 10px;font-size:13px;line-height:1.6}.backup-reminder div{display:flex;flex-wrap:wrap;gap:8px}.backup-reminder button{min-height:44px;flex:1 1 130px}
.experienced .step-label,.experienced .ranking-help{display:none}
@media(max-width:767px){
 #categories{display:flex}#categories button:nth-child(n+6){display:none}
 .mobile-category{width:auto;min-width:130px;border-radius:999px;padding-inline:12px}
 .best-bar:not([hidden]){position:fixed;left:12px;right:12px;bottom:calc(78px + env(safe-area-inset-bottom));z-index:19;display:flex;align-items:center;gap:8px;min-height:48px;padding:8px 14px;border:0;border-radius:14px;background:#087f73;color:#fff;box-shadow:0 8px 24px #0f172a40;font-size:13px;text-align:left}
 .best-bar span{opacity:.85;font-size:12px;flex-shrink:0}.best-bar b{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.best-bar strong{flex-shrink:0;font-size:15px}
 main{padding-bottom:150px}
}

/* v58.2 */
.release-link{margin-left:8px;padding:0;min-height:44px;border:0;background:none;color:#087f73;font-size:12px;text-decoration:underline;cursor:pointer}
.release-list{margin:0 0 12px;padding-left:20px;display:grid;gap:8px;font-size:14px;line-height:1.6}

/* v58.3 */
.help-button{flex-shrink:0;width:44px;height:44px;min-height:44px;padding:0;border-radius:50%;background:#fff;color:#087f73;font-size:16px;font-weight:700}
.help-topic{border-bottom:1px solid var(--line)}.help-topic:last-child{border-bottom:0}
.help-topic summary{min-height:44px;padding:11px 0;font-size:14px;font-weight:600;cursor:pointer}
.help-topic>div{padding:0 0 12px;font-size:13px;line-height:1.7}.help-topic ol{margin:0 0 8px;padding-left:20px}.help-topic p{margin:0 0 8px}
.card-guide{margin:0 0 14px;padding:0 12px;border:1px solid var(--line);border-radius:12px;background:#fff}
.card-guide summary{min-height:44px;padding:11px 0;font-size:13px;font-weight:600;color:#087f73;cursor:pointer}.card-guide button{margin-bottom:12px;min-height:44px}
.rule-advanced{margin-top:10px;border-top:1px solid var(--line)}.rule-advanced summary{min-height:44px;padding:11px 0;font-size:13px;color:var(--text-muted);cursor:pointer}
@media(max-width:767px){.trip-button{max-width:calc(100% - 146px)}.help-button{width:40px;height:40px;min-height:40px}}

/* v58.4 */
.page{scroll-margin-top:160px}
@media(max-width:767px){.onboarding-actions{position:sticky;bottom:calc(78px + env(safe-area-inset-bottom));z-index:2;background:#fff;padding-block:8px}}
.rule .check{display:flex;align-items:flex-start;justify-content:flex-start;gap:8px;width:100%;margin:8px 0;text-align:left;line-height:1.5}
.rule .check input{flex:0 0 auto;width:20px;height:20px;margin:1px 0 0}

/* v58.5 */
.install-tabs{display:flex;gap:8px;margin-bottom:10px}.install-tabs button{flex:1;min-height:44px;border-radius:999px}.install-tabs button.active{background:#087f73;border-color:#087f73;color:#fff}
.install-guide{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:12px}

/* v58.7 */
.rank-row.is-best{background:#e6f6f2;border-radius:14px;box-shadow:inset 0 0 0 2px #087f73}.rank-row.is-best .card-badge{background:#087f73;color:#fff;font-size:10px}
