/* TipFolio 2.8 — ribbon status + modifica rapida · rubino/oro/bianco */
.tf-result-ribbon{
  display:inline-flex;align-items:center;justify-content:center;position:relative;
  width:42px;min-width:42px;height:100%;min-height:80px;
  border:1px solid #e4ded7;border-radius:12px;
  color:#86744d;background:linear-gradient(180deg,#fdf9ec,#f3ebda);
  cursor:pointer;padding:9px 5px;box-shadow:inset 0 0 0 1px #ffffff3d;
  transition:filter .17s,transform .17s,box-shadow .17s;
}
.tf-result-ribbon span{writing-mode:vertical-rl;transform:rotate(180deg);font-size:10px;font-weight:820;letter-spacing:.65px;line-height:1.15;white-space:nowrap}
.tf-result-ribbon.tf-result-won{color:#237247;border-color:#b6e0c4;background:linear-gradient(180deg,#e4f5ea,#d1ebdc)}
.tf-result-ribbon.tf-result-lost{color:#a02c47;border-color:#eed0d4;background:linear-gradient(180deg,#fbedf0,#f5dbe0)}
.tf-result-ribbon.tf-result-half_won{color:#407b5f;border-color:#c4ddce;background:#eef7f1}
.tf-result-ribbon.tf-result-half_lost{color:#aa6571;border-color:#f1d9dc;background:#fcf1f2}
.tf-result-ribbon.tf-result-void{color:#6c6971;background:#f3f2f1;border-color:#e6e3e1}
.tf-result-ribbon.tf-result-cashout{color:#375d79;background:#eaf2f7;border-color:#d3e2ea}
.tf-result-ribbon:hover{filter:saturate(1.2);transform:translateY(-1px);box-shadow:0 3px 11px #37232b18}
.tf-result-ribbon:focus-visible,.tf-quick-trigger:focus-visible{outline:3px solid #b48b39;outline-offset:3px}
.journal-row{
  grid-template-columns:minmax(175px,1fr) 70px 100px 112px 34px 44px;
  gap:10px;padding:11px 12px 11px 18px;align-items:center;min-height:99px;
}
.journal-row .journal-result{grid-column:6;grid-row:1;display:flex;align-items:stretch;justify-content:center;height:100%;min-width:0}
.journal-row .journal-actions{grid-column:5;grid-row:1;justify-self:center}
.journal-row .journal-profit{grid-column:4;grid-row:1}
.journal-row .journal-odds{grid-column:2;grid-row:1}
.journal-row .journal-stake{grid-column:3;grid-row:1}
.journal-row .journal-main{grid-column:1;grid-row:1}
.journal-row .journal-result .tf-result-ribbon{min-height:76px}
.journal-row:before{display:none}
.recent-item{grid-template-columns:minmax(0,1fr) auto 42px;gap:12px;padding:10px 0;min-height:96px}
.tf-recent-open{display:block;text-align:left;min-width:0;padding:4px 0;background:transparent;color:inherit;border:0;font-weight:inherit}
.tf-recent-open h3{transition:color .15s}
.tf-recent-open:hover h3{color:#87253d;text-decoration:underline;text-underline-offset:3px}
.recent-summary{gap:5px;align-items:flex-end;min-width:86px}
.tf-recent-money{font-size:13px;font-weight:800;white-space:nowrap}
.tf-quick-trigger{display:inline-flex;align-items:center;gap:5px;min-height:30px;color:#87223b;background:#fdf5f0;border:1px solid #edddcf;border-radius:9px;padding:5px 8px;font-size:10px;font-weight:720}
.tf-quick-trigger .icon{width:14px;height:14px}
.tf-quick-trigger:hover{background:#f8e9e2;border-color:#d5b5a2}
.tf-recent-ribbon{display:flex;align-self:stretch;justify-content:flex-end}
.tf-recent-ribbon .tf-result-ribbon{width:39px;min-width:39px;min-height:66px}
/* Quick status editor shares existing DB state and browser form semantics */
.tf-quick-dialog{
 position:fixed;inset:0;margin:auto;width:min(550px,calc(100vw - 28px));
 max-width:none;max-height:calc(100dvh - 26px);overflow-y:auto;
 padding:26px;background:#fffdfb;border-radius:24px;
 border:1px solid #e6dacf;box-shadow:0 32px 100px #321c2a4d;
 color:#302c32;scrollbar-gutter:auto
}
.tf-quick-dialog::backdrop{background:rgba(29,16,24,.62);backdrop-filter:blur(5px)}
.tf-quick-form{display:flex;flex-direction:column;gap:17px}
.tf-quick-form .dialog-head{margin:0;padding-bottom:15px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid #f0e9e2}
.tf-quick-form .dialog-head h2{font-size:24px;letter-spacing:-.5px;line-height:1.2;margin-top:5px;color:#4c1c2e}
.tf-quick-event{display:flex;flex-direction:column;gap:6px;background:#fbf5ed;border-radius:14px;padding:14px 16px;border:1px solid #ede1d2}
.tf-quick-event strong{font-size:15px;line-height:1.4;color:#3c2d34;overflow-wrap:anywhere}
.tf-quick-event .small{font-size:11px;line-height:1.7;overflow-wrap:anywhere}
.tf-quick-fieldset{border:0;padding:0;margin:0;min-width:0}
.tf-quick-fieldset legend{font-size:12px;font-weight:750;color:#6f525a;margin-bottom:12px}
.tf-quick-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.tf-quick-option{
 display:flex;align-items:center;gap:11px;cursor:pointer;position:relative;
 border:1px solid #e8e3df;background:#fff;min-height:53px;
 padding:11px 12px;border-radius:12px;transition:border-color .15s,background .15s,box-shadow .15s
}
.tf-quick-option input{position:absolute;opacity:0;width:1px;height:1px;min-height:1px;pointer-events:none}
.tf-quick-option:focus-within{outline:3px solid #d3ad71;outline-offset:2px}
.tf-quick-option:hover{background:#fffbf7;border-color:#d6b49f}
.tf-quick-symbol{display:inline-flex;align-items:center;justify-content:center;flex:0 0 27px;height:27px;width:27px;border-radius:9px;font-size:18px;font-weight:800;background:#f5f0e9;color:#876e5b}
.tf-quick-name{font-size:12px;font-weight:730;flex:1;overflow-wrap:anywhere;line-height:1.3}
.tf-quick-indicator{font-size:13px;opacity:0;color:currentColor;font-weight:800}
.tf-quick-option.is-selected{background:#fdf7e9;border:1.5px solid #ba884a;box-shadow:0 0 0 3px #dbc49d26}
.tf-quick-option.is-selected .tf-quick-indicator{opacity:1}
.tf-status-won .tf-quick-symbol,.tf-status-half_won .tf-quick-symbol{background:#e3f3e8;color:#28804c}
.tf-status-lost .tf-quick-symbol,.tf-status-half_lost .tf-quick-symbol{background:#fbe6e9;color:#a83149}
.tf-status-won.is-selected,.tf-status-half_won.is-selected{color:#1c6741;background:#effaf2;border-color:#68aa7c;box-shadow:0 0 0 3px #60aa7c1b}
.tf-status-lost.is-selected,.tf-status-half_lost.is-selected{color:#a52e49;background:#fff3f4;border-color:#c86e81;box-shadow:0 0 0 3px #ae47611b}
.tf-quick-cashout{display:flex;flex-direction:column;gap:8px;color:#5e5158;font-size:12px;font-weight:700}
.tf-quick-cashout.hidden{display:none}
.tf-quick-cashout input{min-height:46px;font-size:16px;max-width:100%;padding:10px 13px}
.tf-quick-preview{background:#f7f4ef;border:1px solid #ece6df;border-radius:12px;padding:13px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.tf-quick-preview span{font-size:12px;font-weight:650;color:#6d6770}
.tf-quick-preview strong{font-size:20px;font-weight:810;white-space:nowrap;color:#5c2437}
.tf-quick-preview strong.positive{color:#2a8251}
.tf-quick-preview strong.negative{color:#ad3751}
.tf-quick-note{font-size:11px;color:#89838a;line-height:1.65;margin:0}
.tf-quick-form .form-error{min-height:0;margin:0}
.tf-quick-form .dialog-footer{padding:14px 0 0;position:static;background:transparent;border-top:1px solid #eee7e0;display:flex;justify-content:space-between;gap:12px}
.tf-quick-form .dialog-footer button{width:50%;min-height:46px;border-radius:11px;font-weight:760}
.tf-quick-form button.primary{background:linear-gradient(135deg,#8d223e,#5e152b);color:#fff}
.tf-quick-form button.primary:hover{background:#8d223e}
@media(max-width:1150px){
 .journal-row{grid-template-columns:minmax(0,1fr) repeat(3,minmax(65px,1fr));padding:15px 58px 15px 17px;gap:11px;position:relative}
 .journal-row .journal-main{grid-column:1/-1;grid-row:1;padding-right:32px}
 .journal-row .journal-odds{grid-column:1;grid-row:2;text-align:left}
 .journal-row .journal-stake{grid-column:2;grid-row:2;text-align:left}
 .journal-row .journal-profit{grid-column:3;grid-row:2;text-align:left}
 .journal-row .journal-actions{grid-column:auto;grid-row:auto;position:absolute;top:8px;right:61px;width:31px}
 .journal-row .journal-result{grid-column:auto;grid-row:auto;position:absolute;top:10px;right:10px;height:calc(100% - 20px);display:flex}
 .journal-row .journal-result .tf-result-ribbon{min-height:78px}
}
@media(max-width:760px){
 .tf-quick-dialog{width:calc(100vw - 18px);max-height:calc(100dvh - 18px);border-radius:19px;padding:19px 16px}
 .tf-quick-form{gap:13px}
 .tf-quick-form .dialog-head h2{font-size:21px}
 .tf-quick-option{padding:9px 8px;gap:7px;min-height:49px}
 .tf-quick-name{font-size:11px}
 .tf-quick-symbol{flex-basis:24px;width:24px;height:24px;font-size:16px}
 .tf-quick-form .dialog-footer{margin:0;padding:12px 0 0;bottom:auto;position:static;box-shadow:none}
 .tf-quick-form .dialog-footer button{min-height:45px}
 .journal-row{grid-template-columns:repeat(3,minmax(0,1fr));padding:15px 56px 15px 14px;min-height:116px}
 .journal-row .journal-main{padding-right:30px}
 .journal-row .journal-actions{right:59px}
 .tf-result-ribbon{width:39px;min-width:39px}
 .recent-item{grid-template-columns:minmax(0,1fr) auto 37px;gap:8px}
 .recent-summary{min-width:74px}
 .tf-quick-trigger{font-size:10px;padding:5px 6px}
 .tf-quick-trigger .icon{width:12px;height:12px}
 .tf-recent-ribbon .tf-result-ribbon{width:36px;min-width:36px}
}
@media(max-width:410px){
 .tf-quick-options{gap:7px}
 .tf-quick-name{font-size:10px}
 .recent-summary{min-width:52px}
 .tf-quick-trigger span{display:none}
 .tf-quick-trigger{width:32px;justify-content:center}
 .journal-row .journal-main{padding-right:15px}
 .journal-row .journal-profit strong,.journal-row .journal-stake strong{font-size:11px;white-space:normal;overflow-wrap:anywhere}
}
@media(prefers-reduced-motion:reduce){.tf-result-ribbon,.tf-quick-option{transition:none}}

/* TipFolio 2.8.1 — separate result cards, inspired by list-style journals.
   Preserve our cream paper, ruby actions, gold details and semantic result hues. */
#recentBets{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:12px;
  min-width:0;
}
#recentBets .recent-item{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto 43px;
  gap:14px;
  align-items:stretch;
  position:relative;
  min-height:95px;
  padding:12px 13px 12px 18px;
  border:1px solid #e9e0d8;
  border-radius:16px;
  background:linear-gradient(108deg,#fffdfa 0%,#fff 78%);
  box-shadow:0 4px 16px rgba(73,31,47,.045);
  transition:border-color .18s,box-shadow .18s,transform .18s;
}
#recentBets .recent-item:first-child{
  border:1px solid #e9e0d8;
  padding:12px 13px 12px 18px;
}
#recentBets .recent-item:hover{
  background:linear-gradient(108deg,#fffcf9,#fff);
  border-color:#d9beaa;
  box-shadow:0 10px 26px rgba(73,31,47,.08);
  transform:translateY(-1px);
}
#recentBets .recent-item[data-result="won"],
#recentBets .recent-item[data-result="half_won"]{
  background:linear-gradient(104deg,#f8fcf9,#fff 82%);
  border-color:#d6e8da;
}
#recentBets .recent-item[data-result="lost"],
#recentBets .recent-item[data-result="half_lost"]{
  background:linear-gradient(104deg,#fff8f8,#fff 82%);
  border-color:#eed6da;
}
#recentBets .recent-item[data-result="pending"]{
  background:linear-gradient(104deg,#fffbf1,#fff 82%);
  border-color:#e9debd;
}
#recentBets .tf-recent-open{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  gap:5px;
  min-width:0;
  padding:0;
  border:0;
  background:none;
  text-align:left;
  overflow-wrap:anywhere;
}
#recentBets .tf-recent-open h3{
  color:#332b31;
  font-size:clamp(13px,1.15vw,16px);
  font-weight:800;
  line-height:1.4;
  margin:0;
}
#recentBets .tf-recent-open .small{font-size:10px;color:#8c7c7e}
#recentBets .tf-recent-open .pick{font-size:11px;color:#806a5c;line-height:1.5}
#recentBets .tf-recent-stake{display:block;color:#7b6970;font-size:10px;line-height:1.45;white-space:normal}
#recentBets .tf-recent-stake strong{font-size:11px;color:#51363e;font-weight:780;font-variant-numeric:tabular-nums}
#recentBets .recent-summary{
  align-self:center;
  display:flex;
  justify-content:center;
  align-items:flex-end;
  flex-direction:column;
  gap:9px;
  min-width:114px;
}
#recentBets .tf-recent-money{
  font-size:clamp(14px,1.3vw,18px);
  line-height:1.15;
  font-weight:800;
  font-variant-numeric:tabular-nums;
}
#recentBets .tf-quick-trigger{
  padding:7px 10px;
  min-height:34px;
  border-radius:10px;
  font-size:10px;
  background:#fffaf7;
  border-color:#e8d4c7;
  color:#82253c;
}
#recentBets .tf-quick-trigger:hover{background:#f8ece8;border-color:#cfac99}
#recentBets .tf-recent-ribbon{display:flex;align-items:stretch;justify-content:flex-end}
#recentBets .tf-recent-ribbon .tf-result-ribbon{
  min-height:66px;
  height:100%;
  width:41px;
  min-width:41px;
  border-radius:12px;
}
/* Archive: each bet is independently outlined, not merely divided by a line. */
#archiveRows .journal-flat,
#archiveRows .journal-day-rows{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:10px;
}
#archiveRows .journal-day-rows{padding:11px 3px 7px}
#archiveRows .journal-day{
  overflow:visible;
  background:transparent;
  margin-top:13px;
}
#archiveRows .journal-day>summary{
  border:1px solid #ebe4dc;
  border-radius:11px;
  background:#f8f5ee;
}
#archiveRows .journal-row{
  background:#fffdfb;
  border:1px solid #e9e2dc;
  border-radius:15px;
  box-shadow:0 3px 14px rgba(61,25,39,.035);
  padding:11px 12px 11px 17px;
  min-width:0;
  overflow:visible;
  transition:background .16s,border-color .16s,box-shadow .16s;
}
#archiveRows .journal-row:hover{
  background:#fffaf7;
  border-color:#dbc3b6;
  box-shadow:0 7px 22px rgba(61,25,39,.075);
}
#archiveRows .journal-row[data-result="won"],
#archiveRows .journal-row[data-result="half_won"]{border-left:3px solid #65a37d;background:linear-gradient(95deg,#f7fcf8,#fff 58%)}
#archiveRows .journal-row[data-result="lost"],
#archiveRows .journal-row[data-result="half_lost"]{border-left:3px solid #cb7887;background:linear-gradient(95deg,#fff8f8,#fff 58%)}
#archiveRows .journal-row[data-result="pending"]{border-left:3px solid #cba95d;background:linear-gradient(95deg,#fffcf4,#fff 58%)}
#archiveRows .journal-row[data-result="void"],
#archiveRows .journal-row[data-result="cashout"]{border-left:3px solid #a19c97}
#archiveRows .journal-open>strong{
  color:#332b31;
  font-size:clamp(13px,1vw,15px);
  font-weight:800;
}
#archiveRows .journal-profit strong,#archiveRows .journal-stake strong,#archiveRows .journal-odds strong{font-weight:800}
#archiveRows .journal-row .journal-result .tf-result-ribbon{
  border-radius:11px;
  min-height:66px;
  height:100%;
}
#archiveRows .journal-row .bet-menu[open]{z-index:50}
#archiveRows .journal-flat{padding:4px 0}
/* Touch targets and vertical outcome strips remain usable at small widths. */
@media(max-width:1150px){
 #archiveRows .journal-row{padding:14px 61px 14px 16px}
 #archiveRows .journal-row .journal-result{right:9px;top:9px;height:calc(100% - 18px)}
 #archiveRows .journal-row .journal-actions{right:59px}
}
@media(max-width:760px){
 #recentBets{gap:10px}
 #recentBets .recent-item,
 #recentBets .recent-item:first-child{
   grid-template-columns:minmax(0,1fr) auto 38px;
   gap:9px;
   min-height:95px;
   padding:11px 10px 11px 12px;
   border-radius:14px;
 }
 #recentBets .recent-item:hover{transform:none}
 #recentBets .tf-recent-open h3{font-size:13px}
 #recentBets .tf-recent-open .pick{font-size:10px}
 #recentBets .recent-summary{min-width:80px;gap:7px}
 #recentBets .tf-recent-money{font-size:13px}
 #recentBets .tf-quick-trigger{min-height:34px;padding:6px 7px;font-size:10px}
 #recentBets .tf-recent-ribbon .tf-result-ribbon{width:37px;min-width:37px}
 #archiveRows .journal-day-rows{gap:9px;padding:10px 0 6px}
 #archiveRows .journal-row{min-height:118px;padding:13px 56px 13px 12px;border-radius:13px}
 #archiveRows .journal-open>strong{font-size:14px}
}
@media(max-width:410px){
 #recentBets .recent-item,
 #recentBets .recent-item:first-child{
   grid-template-columns:minmax(0,1fr) 62px 35px;
   gap:7px;
   padding:11px 8px 11px 10px;
 }
 #recentBets .recent-summary{min-width:0}
 #recentBets .tf-quick-trigger{width:34px;justify-content:center;padding:6px}
 #recentBets .tf-quick-trigger span{display:none}
 #recentBets .tf-recent-ribbon .tf-result-ribbon{width:34px;min-width:34px}
}
@media(prefers-reduced-motion:reduce){
 #recentBets .recent-item,#archiveRows .journal-row{transition:none}
}

/* TipFolio 2.8.2 — premium warm-paper surfaces, vivid Italian results.
   Presentation only: existing status codes, translations, APIs and data are unchanged. */
:root{
  --tf-282-paper:#faf5ef;
  --tf-282-cream:#f6eee5;
  --tf-282-ivory:#fff9f1;
  --tf-282-ruby:#781b32;
  --tf-282-ruby-deep:#4f1429;
  --tf-282-gold:#b68a42;
  --tf-282-green:#236b43;
  --tf-282-green-bg:#e5f4e9;
  --tf-282-green-edge:#a9d0b4;
  --tf-282-loss:#99263e;
  --tf-282-loss-bg:#fbe4e9;
  --tf-282-loss-edge:#e5b4bf;
}
/* Warmer dashboard only — don't affect account login, public profiles or admin */
.main-shell{background:linear-gradient(180deg,#f7f2ed 0%,#f5f0ea 100%)}
.main-shell .card{
  background:linear-gradient(155deg,#fffaf4,#fffdf9 90%);
  border-color:#e8d9cd;
  box-shadow:0 8px 27px rgba(69,30,41,.055);
}
.main-shell .kpi{
  background:linear-gradient(150deg,#fff7ed,#fffdfa 95%);
  border-color:#e8d7c9;
}
.main-shell .capital-hero{
  background:radial-gradient(circle at 84% 0%,rgba(239,203,143,.16),transparent 45%),linear-gradient(115deg,#84223b,#4f1328);
  border-color:#6c1d35;
}
.main-shell .card-head h2{color:#421e2c}
.main-shell .chart-card,.main-shell .results-card{background:linear-gradient(180deg,#fffaf4,#fffdfb)}
/* Portfolio tiles: readable win, loss and pending contrast with the ruby/gold brand */
#recentBets .recent-item,
#recentBets .recent-item:first-child{
  border:1px solid #e2cfc0;
  background:linear-gradient(105deg,#fbf2e9,#fffaf5 82%);
  box-shadow:0 7px 22px rgba(85,34,50,.085);
  border-radius:18px;
  padding:15px 16px 15px 18px;
  gap:15px;
  min-height:109px;
}
#recentBets .recent-item[data-result="won"],
#recentBets .recent-item[data-result="half_won"]{
  background:linear-gradient(105deg,#e2f2e6,#f0f8f0 55%,#fffaf6 100%);
  border-color:var(--tf-282-green-edge);
  box-shadow:0 7px 24px rgba(28,94,55,.075);
}
#recentBets .recent-item[data-result="lost"],
#recentBets .recent-item[data-result="half_lost"]{
  background:linear-gradient(105deg,#f9e1e7,#fef0f0 56%,#fff9f6);
  border-color:var(--tf-282-loss-edge);
  box-shadow:0 7px 24px rgba(130,35,60,.065);
}
#recentBets .recent-item[data-result="pending"]{
  background:linear-gradient(105deg,#f6e9c9,#fcf5e6 60%,#fffaf5);
  border-color:#deca96;
}
#recentBets .recent-item[data-result="void"],
#recentBets .recent-item[data-result="cashout"]{
  background:linear-gradient(105deg,#e9e7e3,#f8f5ef 75%,#fffaf6);
  border-color:#d6cfc5;
}
#recentBets .recent-item:hover{
  box-shadow:0 14px 34px rgba(69,30,41,.11);
  border-color:#c7aa94;
}
#recentBets .tf-recent-open h3{
  font-size:clamp(15px,1.25vw,18px);
  font-weight:820;
  line-height:1.32;
  color:#33242b;
}
#recentBets .tf-recent-open .small{font-size:11px;color:#74646a}
#recentBets .tf-recent-open .pick{font-size:11px;color:#775b53}
#recentBets .tf-recent-stake{font-size:11px;color:#654e55}
#recentBets .tf-recent-stake strong{font-size:12px;color:#4c2939}
#recentBets .recent-summary{min-width:118px;gap:10px}
#recentBets .tf-recent-money{
  font-size:clamp(18px,1.75vw,23px);
  letter-spacing:-.5px;
  font-weight:860;
  white-space:nowrap;
}
#recentBets .tf-recent-money.positive{color:var(--tf-282-green)}
#recentBets .tf-recent-money.negative{color:var(--tf-282-loss)}
#recentBets .tf-quick-trigger{
  color:var(--tf-282-ruby);
  background:#fff8f0;
  border:1px solid #ddbca8;
  border-radius:10px;
  box-shadow:0 2px 8px rgba(80,24,46,.055);
  min-height:35px;
  font-size:11px;
  font-weight:800;
}
#recentBets .tf-quick-trigger:hover{background:#fae9e3;border-color:#c79283}
.tf-result-ribbon{
  border-radius:13px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.32);
}
.tf-result-ribbon span{font-size:10px;font-weight:860;letter-spacing:.5px}
.tf-result-ribbon.tf-result-won,.tf-result-ribbon.tf-result-half_won{
  background:linear-gradient(160deg,#b6e3c5,#e0f4e6);
  border-color:#87bc9c;
  color:#175b36;
}
.tf-result-ribbon.tf-result-lost,.tf-result-ribbon.tf-result-half_lost{
  background:linear-gradient(160deg,#f5c9d3,#fbe7ea);
  border-color:#db9bad;
  color:#8c1d38;
}
.tf-result-ribbon.tf-result-pending{
  background:linear-gradient(155deg,#efdaaa,#fbf0d0);
  border-color:#d8ba7d;
  color:#79551c;
}
.tf-result-ribbon.tf-result-void{
  color:#655e60;background:#e8e5e2;border-color:#cfc8c3;
}
.tf-result-ribbon.tf-result-cashout{
  color:#315b74;background:#e5eef3;border-color:#bfceda;
}
/* Journal rows retain their result strips and receive the same color key */
#archiveRows .journal-row{
  background:linear-gradient(105deg,#fbf4ec,#fffaf5);
  border:1px solid #e4d3c5;
  border-radius:17px;
  padding:14px 14px 14px 19px;
  box-shadow:0 6px 18px rgba(68,30,43,.055);
}
#archiveRows .journal-row[data-result="won"],
#archiveRows .journal-row[data-result="half_won"]{
  background:linear-gradient(98deg,#e8f6ec,#fff9f3 70%);
  border-color:#a8cfb5;
  border-left:4px solid #399262;
}
#archiveRows .journal-row[data-result="lost"],
#archiveRows .journal-row[data-result="half_lost"]{
  background:linear-gradient(98deg,#fde6eb,#fff9f5 70%);
  border-color:#e5b4c0;
  border-left:4px solid #bc4964;
}
#archiveRows .journal-row[data-result="pending"]{
  background:linear-gradient(98deg,#fbefd3,#fff9f2 70%);
  border-color:#decb9e;
  border-left:4px solid #b58a43;
}
#archiveRows .journal-row:hover{
  border-color:#cdaea0;
  box-shadow:0 11px 28px rgba(77,28,48,.09);
}
#archiveRows .journal-open>strong{font-size:15px;font-weight:820;color:#382630}
#archiveRows .journal-pick{color:#765e54}
#archiveRows .journal-profit strong{font-size:16px;letter-spacing:-.2px}
#archiveRows .journal-profit .positive{color:var(--tf-282-green)}
#archiveRows .journal-profit .negative{color:var(--tf-282-loss)}
#archiveRows .journal-row .journal-result .tf-result-ribbon{border-radius:12px}
/* Quick edit: cream panel, colored button surfaces and left-to-right aligned choices */
.tf-quick-dialog{
  background:linear-gradient(150deg,#fffaf3,#f8eee5);
  color:#33282e;
  border:1px solid #e2cbbb;
  border-radius:24px;
  box-shadow:0 28px 75px rgba(36,12,25,.34);
}
.tf-quick-dialog::backdrop{background:rgba(34,17,26,.62);backdrop-filter:blur(5px)}
.tf-quick-form .dialog-head{border-color:#e6d5c7}
.tf-quick-form .dialog-head h2{font-size:26px;font-weight:850;color:#541c31}
.tf-quick-form .dialog-head .eyebrow{color:#987345}
.tf-quick-event{
  background:linear-gradient(125deg,#faecd9,#fff9f0);
  border:1px solid #e4cdb0;border-radius:15px;
}
.tf-quick-event strong{font-size:15px;color:#37252f}
.tf-quick-fieldset legend{color:#634251;font-weight:800;font-size:12px}
.tf-quick-options{gap:10px}
.tf-quick-option{
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:flex-start;
  min-width:0;
  min-height:60px;
  padding:11px 12px;
  gap:11px;
  color:#55434a;
  background:linear-gradient(150deg,#fffaf4,#fcf1e7);
  border:1px solid #e4cebc;
  border-radius:14px;
  box-shadow:0 3px 8px rgba(66,28,45,.035);
}
.tf-quick-option:hover{background:#fbeee2;border-color:#cba891}
.tf-quick-option .tf-quick-symbol{
  display:inline-flex;flex:0 0 29px;align-items:center;justify-content:center;
  width:29px;height:29px;background:#f1e4d6;color:#76534a;border-radius:9px;
}
.tf-quick-option .tf-quick-name{font-size:12px;line-height:1.35;font-weight:770;text-align:left}
.tf-quick-option .tf-quick-indicator{font-weight:900;font-size:16px}
.tf-quick-option.is-selected{
  background:#fff1d5;border-color:#b58943;
  box-shadow:0 0 0 3px rgba(183,135,63,.14);
}
.tf-status-won .tf-quick-symbol,.tf-status-half_won .tf-quick-symbol{
  background:#d2ecda;color:#1c6e40;
}
.tf-status-lost .tf-quick-symbol,.tf-status-half_lost .tf-quick-symbol{
  background:#f7d5de;color:#9c2645;
}
.tf-status-pending .tf-quick-symbol{background:#f0e1b9;color:#85631f}
.tf-status-void .tf-quick-symbol,.tf-status-cashout .tf-quick-symbol{
  background:#eae3df;color:#63575a;
}
.tf-status-won.is-selected,.tf-status-half_won.is-selected{
  background:#e1f2e6;
  color:#175e37;
  border:1.5px solid #61a27b;
  box-shadow:0 0 0 3px rgba(51,131,80,.13);
}
.tf-status-lost.is-selected,.tf-status-half_lost.is-selected{
  background:#fae0e6;
  color:#90233b;
  border:1.5px solid #be6478;
  box-shadow:0 0 0 3px rgba(171,62,89,.13);
}
.tf-status-pending.is-selected{
  background:#f8e9c4;color:#76551c;border:1.5px solid #bd9652;
}
.tf-quick-preview{
  background:linear-gradient(105deg,#f4e8da,#fbf5e9);
  border:1px solid #e5cdb9;
  border-radius:14px;
}
.tf-quick-preview strong{font-size:25px;font-weight:870;letter-spacing:-.4px}
.tf-quick-preview strong.positive{color:var(--tf-282-green)}
.tf-quick-preview strong.negative{color:var(--tf-282-loss)}
.tf-quick-form .dialog-footer{border-color:#dfcdbf}
.tf-quick-form .dialog-footer .secondary{
  background:#fff9f0;border:1px solid #d9c3b3;color:#673c4c;
}
.tf-quick-form .dialog-footer .primary{
  background:linear-gradient(125deg,#91243f,#64162e);
  border:1px solid #65162e;
  box-shadow:0 6px 16px rgba(103,23,48,.18);
}
@media(max-width:760px){
  #recentBets .recent-item,#recentBets .recent-item:first-child{
    grid-template-columns:minmax(0,1fr) auto 38px;
    min-height:100px;
    padding:12px 11px;
    gap:9px;
    border-radius:15px;
  }
  #recentBets .tf-recent-open h3{font-size:14px}
  #recentBets .recent-summary{min-width:75px}
  #recentBets .tf-recent-money{font-size:15px}
  #recentBets .tf-quick-trigger{min-height:35px;font-size:10px;padding:6px}
  #archiveRows .journal-row{padding:13px 56px 13px 13px;border-radius:14px}
  #archiveRows .journal-open>strong{font-size:14px}
  .tf-quick-dialog{padding:18px 16px;border-radius:19px}
  .tf-quick-form .dialog-head h2{font-size:23px}
  .tf-quick-options{gap:8px}
  .tf-quick-option{min-height:56px;padding:9px;gap:8px}
  .tf-quick-option .tf-quick-name{font-size:11px}
  .tf-quick-option .tf-quick-symbol{flex-basis:25px;width:25px;height:25px}
}
@media(max-width:410px){
  #recentBets .recent-item,#recentBets .recent-item:first-child{
    grid-template-columns:minmax(0,1fr) 58px 34px;
    padding:11px 8px;
    gap:7px;
  }
  #recentBets .recent-summary{min-width:0}
  #recentBets .tf-recent-money{font-size:13px;letter-spacing:-.2px}
  #recentBets .tf-quick-trigger{width:34px;min-width:34px}
  .tf-quick-option .tf-quick-name{font-size:10px}
}
@media(prefers-reduced-motion:reduce){
  #recentBets .recent-item,.tf-quick-option{transition:none}
}

