.personal-ledger-panel { --ledger-muted: #6a6257; padding: 0; overflow: hidden; border: 1px solid #cec5b6; border-radius: 12px; background: #fbf9f4; box-shadow: 0 14px 45px #30271809; }
.personal-ledger-panel > .portal-panel__heading { padding: 28px 34px; align-items: center; gap: 24px; border: 0; background: #171815; color: #faf5e8; }
.personal-ledger-panel > .portal-panel__heading .eyebrow { color: #d5b57b; font-size: 10px; letter-spacing: .18em; margin-bottom: 10px; }
.personal-ledger-panel .portal-panel__heading h3 { color: #faf5e8; font-size: 38px; font-weight: 500; letter-spacing: -.02em; }
.tasting-intro { margin: 10px 0 0; color: #c2bfb5; font-size: 13px; line-height: 1.6; max-width: 570px; }
.tasting-private { display: flex; align-items: center; gap: 8px; font-size: 10px; text-transform: uppercase; letter-spacing: .1em; padding: 10px 13px; border: 1px solid #525041; border-radius: 30px; white-space: nowrap; color: #e0c89a; }
.tasting-private::before { content: ''; width: 5px; height: 5px; border-radius: 50%; background: #d5b57b; }
.tasting-stats { display: grid; grid-template-columns: repeat(2,1fr); padding: 18px 34px; gap: 24px; border-bottom: 1px solid #e2dcd1; background: #f0ece3; }
.tasting-stats > div { display: flex; align-items: center; gap: 12px; }
.tasting-stats > div + div { border-left: 1px solid #d5cdbf; padding-left: 24px; }
.tasting-stats strong { font: 500 28px/1 var(--serif); font-variant-numeric: lining-nums; color: #302e27; }
.tasting-stats span { font-size: 11px; line-height: 1.5; color: #655d51; }
.tasting-layout { display: grid; grid-template-columns: minmax(255px, .82fr) minmax(0,1.8fr); }
.tasting-shelf { padding: 26px 18px; background: #f0eee7; border-right: 1px solid #e2dcd1; }
.tasting-shelf h4 { margin: 0 0 18px; color: #262722; font: 600 23px var(--serif); }
.tasting-filter-label { display: block; margin: 0 0 7px; color: #655d51; font-size: 11px; }
.tasting-filter { width: 100%; min-height: 42px; padding: 9px 11px; margin-bottom: 18px; border: 1px solid #c8c1b3; border-radius: 5px; background: transparent; color: #433e34; font-size: 12px; }
.tasting-bottles { display: grid; gap: 8px; }
.tasting-bottle { width: 100%; display: flex; align-items: center; text-align: left; gap: 11px; padding: 15px 12px; border: 1px solid transparent; border-radius: 7px; background: transparent; cursor: pointer; color: #2c2c26; transition: background .18s, border-color .18s, box-shadow .18s; }
.tasting-bottle:hover { background: #e6e1d6; border-color: #d2c8b6; }
.tasting-bottle.is-selected { background: #23251f; border-color: #23251f; color: #faf5e8; box-shadow: 0 5px 15px #25201413; }
.tasting-bottle-photo { display: block; width: 44px; height: 68px; flex-shrink: 0; object-fit: cover; border-radius: 3px; opacity: .95; }
.tasting-bottle-copy { display: grid; min-width: 0; flex: 1; gap: 4px; }
.tasting-collection { font-size: 8px; line-height: 1.4; letter-spacing: .07em; text-transform: uppercase; color: #675f50; }
.is-selected .tasting-collection { color: #d9bd89; }
.tasting-bottle-copy strong { font: 600 24px/1.2 var(--serif); }
.tasting-bottle-copy small { font-size: 10px; line-height: 1.4; }
.tasting-bottle-state { color: #706855; }
.is-selected .tasting-bottle-state { color: #c6c5b9; }
.tasting-bottle-score { font: 500 29px/1 var(--serif); font-variant-numeric: lining-nums; text-align: center; flex-shrink: 0; }
.is-selected .tasting-bottle-score { color: #e5c586; }
.tasting-bottle-score small { display: block; font: 9px var(--sans); margin-top: 5px; }
.tasting-editor { min-width: 0; padding: 30px 34px 24px; }
.tasting-editor h4 { margin: 0; color: #252721; font: 500 44px/1 var(--serif); letter-spacing: -.025em; }
.tasting-editor .eyebrow { font-size: 9px; line-height: 1.5; letter-spacing: .13em; color: #74603d; margin: 0 0 11px; }
.tasting-meta { color: #70695d; font-size: 11px; line-height: 1.6; margin: 10px 0 24px; }
.tasting-top { display: grid; grid-template-columns: 130px minmax(0,1fr); gap: 22px; padding-bottom: 24px; border-bottom: 1px solid #e3ded4; }
.tasting-details { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
.tasting-details .tasting-field:last-child { grid-column: 1 / -1; }
.tasting-field label { display: block; color: #4d4b40; margin-bottom: 8px; font-size: 11px; font-weight: 600; line-height: 1.5; }
.tasting-field :is(input, select, textarea) { display: block; width: 100%; min-width: 0; background: #fffefb; color: #302f27; border: 1px solid #c8c1b3; border-radius: 5px; padding: 10px 12px; font: 13px/1.65 var(--sans); transition: border-color .18s, box-shadow .18s; }
.tasting-field textarea { min-height: 140px; resize: vertical; background: #f6f3ec; border-color: #d8d0c2; }
.tasting-field :is(input,textarea)::placeholder { color: #776e60; opacity: 1; }
.tasting-field :is(input,select,textarea):focus { border-color: #90703a; box-shadow: 0 0 0 2px #c6a76a26; }
.tasting-score-field { padding: 15px 8px 12px; border: 1px solid #44473a; background: #23251f; border-radius: 8px; text-align: center; }
.tasting-score-field label { color: #d7bd8a; font-size: 10px; font-weight: 500; margin-bottom: 6px; }
.tasting-score-field input { height: 89px; padding: 0; border: 0; border-radius: 4px; background: transparent; text-align: center; color: #f0d39b; font: 500 64px/1 var(--serif); font-variant-numeric: lining-nums; }
.tasting-score-field input::placeholder { color: #d3b984; }
.tasting-score-field input::-webkit-inner-spin-button { opacity: .45; }
.tasting-prompts { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 16px; margin-top: 23px; }
.tasting-prompts label { font-size: 11px; letter-spacing: .04em; }
.tasting-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 13px; margin-top: 22px; }
.tasting-save, .tasting-retry { min-height: 44px; background: #25271f; color: #faf2df; border: 1px solid #25271f; border-radius: 5px; padding: 12px 20px; font-size: 12px; cursor: pointer; transition: background .18s; }
.tasting-save:hover, .tasting-retry:hover { background: #41432f; }
.tasting-delete { min-height: 44px; margin-left: auto; padding: 8px 0; border: 0; background: none; text-decoration: underline; text-underline-offset: 3px; color: #766451; font-size: 10px; cursor: pointer; }
.tasting-save-state { font-size: 10px; color: #655e50; }
.tasting-privacy { font-size: 10px; line-height: 1.6; color: #70695d; padding-top: 15px; margin: 18px 0 0; border-top: 1px solid #e3ded4; }
.tasting-empty { font-size: 14px; line-height: 1.7; color: #665b4a; }
.tasting-status { margin: 0; padding: 0 32px 20px; color: #663c22; font-size: 14px; line-height: 1.5; }
.tasting-status:empty { display: none; }
.tasting-retry { margin-left: 12px; }
#personalLedger :is(button,input,textarea,select):focus-visible { outline: 3px solid #94703b; outline-offset: 3px; }
#personalLedger .tasting-score-field input:focus-visible { outline-color: #e5c586; }
#personalLedger button:disabled { opacity: .6; cursor: wait; }
#personalLedger [hidden] { display: none !important; }
.purchase-history { padding: 23px 34px; border-top: 1px solid #e2dcd1; background: #f3efe6; }
.purchase-history > summary { cursor: pointer; font: 600 22px var(--serif); }
.purchase-history .portal-panel__heading { padding-top: 20px; }
.ledger-preview-banner { background: #171815; color: #d6c29a; padding: 10px 24px; text-align: center; font: 11px/1.5 var(--sans); border-bottom: 1px solid #3b3b2f; }
.ledger-preview-main { padding: 26px clamp(18px,3vw,46px) 40px; }
body[data-page="ledger-preview"] .portal-shell { background: #e9e5dc; }
.ledger-breadcrumb { color: #655d50; font-size: 9px; letter-spacing: .15em; margin: 0 0 22px; }
.ledger-breadcrumb span { margin: 0 12px; color: #9b8a6a; }
body[data-page="ledger-preview"] [data-netlify-deploy-id] { display: none !important; }
@media (max-width: 1100px) {
  .tasting-layout { grid-template-columns: 1fr; }
  .tasting-shelf { border-right: 0; border-bottom: 1px solid #e2dcd1; }
  .tasting-bottles { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .tasting-filter { max-width: 250px; }
}
@media (max-width: 600px) {
  .personal-ledger-panel { border-radius: 9px; }
  .personal-ledger-panel > .portal-panel__heading { padding: 24px 20px; flex-wrap: wrap; gap: 16px; }
  .personal-ledger-panel .portal-panel__heading h3 { font-size: 34px; }
  .tasting-stats { padding: 18px; gap: 12px; }
  .tasting-stats > div { align-items: start; flex-direction: column; gap: 7px; }
  .tasting-stats > div + div { padding-left: 12px; }
  .tasting-stats strong { font-size: 28px; }
  .tasting-stats span { font-size: 10px; }
  .tasting-bottles, .tasting-prompts { grid-template-columns: 1fr; }
  .tasting-editor { padding: 26px 20px; }
  .tasting-editor h4 { font-size: 38px; }
  .tasting-top { grid-template-columns: 1fr; }
  .tasting-score-field { max-width: 150px; }
  .tasting-details { grid-template-columns: 1fr; }
  .tasting-field :is(input,select,textarea) { font-size: 16px; }
  .tasting-score-field input { font-size: 64px; }
  .tasting-delete { margin-left: 0; }
  .purchase-history { padding: 20px; }
  .tasting-bottle-copy small, .tasting-save-state, .tasting-delete, .tasting-privacy { font-size: 12px; }
  .tasting-collection { font-size: 9px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } #personalLedger * { transition: none; } }
.tasting-score-field input { appearance: textfield; -moz-appearance: textfield; }
.tasting-score-field input::-webkit-inner-spin-button, .tasting-score-field input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
