.review-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin:14px 0; }
.review-btn { border:1px solid transparent; border-radius:5px; padding:6px 9px; background:transparent; color:#b7bec8; font-size:14px; line-height:1.5; cursor:pointer; }
.review-btn:hover { background:#242930; color:#e6e8ec; }
.review-btn:disabled { opacity:.45; cursor:wait; }
.review-btn.primary { background:#262b31; color:#e6e8ec; border-color:#353c45; font-weight:600; }
.review-btn.active { background:#2b343c; border-color:#455460; color:#c5dce9; }
.review-btn.danger { color:#7e858f; }
.review-btn.danger:hover { background:#2a1d20; color:#ef858c; }
.review-btn:focus-visible, .review-input:focus-visible, .review-day:focus-visible { outline:2px solid #00dc9f; outline-offset:3px; }
.review-day { display:flex; gap:7px; align-items:center; width:100%; padding:0; border:0; background:none; color:inherit; cursor:pointer; text-align:left; }
.review-day span:first-child { font-size:14px; font-weight:700; }
.review-cell { border:0; border-radius:5px; background:#1a1e23; color:#dfe3e8; padding:7px; cursor:pointer; text-align:left; font-size:13px; line-height:1.6; width:100%; margin:4px 0; }
.review-cell:hover { background:#242930; }
.review-snippet { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.review-meta { font-size:12px; color:#a3b0bd; }
.review-overlay { position:fixed; inset:0; z-index:65; display:flex; align-items:flex-start; justify-content:center; padding:56px 24px; background:rgba(6,8,10,.6); }
.review-backdrop { position:absolute; inset:0; }
.review-panel { position:relative; width:800px; max-width:100%; max-height:calc(100dvh - 112px); background:#191c20; border:1px solid #262b33; border-radius:14px; display:flex; flex-direction:column; overflow:hidden; box-shadow:0 30px 80px rgba(0,0,0,.6); }
.review-panel h2 { font-size:30px; font-weight:700; line-height:1.3; letter-spacing:-.03em; margin:0; }
.review-panel h3 { font-size:15px; font-weight:700; margin:0 0 10px; }
.review-panel-head { flex:none; display:flex; justify-content:space-between; align-items:center; gap:12px; padding:10px 16px; border-bottom:1px solid #22262c; background:#191c20; }
.review-breadcrumb { display:flex; align-items:center; gap:9px; color:#7e858f; font-size:13px; min-width:0; }
.review-head-actions { display:flex; align-items:center; gap:8px; }
.review-save-state { font-size:12px; color:#929ba5; }
.review-save { background:#292f36; border-color:#363f49; color:#e6e8ec; padding:4px 12px; }
.review-save:hover { background:#353e48; }
.review-close { color:#7e858f; padding:4px 6px; }
.review-body { overflow:auto; overscroll-behavior:contain; min-height:0; flex:1; padding:30px 60px 48px; }
.review-page-icon { display:inline-flex; align-items:center; justify-content:center; font-size:38px; line-height:1.3; margin:0 0 12px -6px; padding:6px; border:0; border-radius:6px; background:transparent; cursor:pointer; }
.review-page-icon:hover, .review-page-icon[aria-expanded="true"] { background:#262b31; }
.review-page-icon:focus-visible { outline:2px solid #7e9daf; outline-offset:2px; }
.review-page-title { display:flex; align-items:center; gap:12px; margin-bottom:24px; }
.review-sample-badge { padding:2px 7px; border-radius:4px; font-size:12px; color:#adb5c0; background:#282d34; }
.review-properties { margin-bottom:24px; }
.review-property { display:grid; grid-template-columns:108px minmax(0,1fr); align-items:center; gap:8px; min-height:36px; margin:2px 0; }
.review-property-label { color:#7e858f; font-size:14px; }
.review-property-value { font-size:14px; padding:6px 8px; color:#dfe3e8; }
.review-date { font-variant-numeric:tabular-nums; }
.review-property-trigger { justify-self:start; display:flex; align-items:center; flex-wrap:wrap; gap:5px; min-height:34px; padding:5px 8px; max-width:100%; border:0; border-radius:5px; background:transparent; color:#dfe3e8; text-align:left; font:inherit; font-size:14px; cursor:pointer; }
.review-property-trigger:hover, .review-property-trigger[aria-expanded="true"] { background:#20242a; }
.review-property-trigger:focus-visible { outline:2px solid #7e9daf; outline-offset:2px; }
.review-property-tags { align-items:start; }
.review-property-tags > .review-property-label { padding-top:8px; }
.review-placeholder { color:#69717c; font-size:14px; }
.review-sample-note { display:flex; align-items:center; flex-wrap:wrap; gap:6px; margin:0 0 24px; padding:8px 12px; border-left:2px solid #454e5a; background:#1e2228; font-size:13px; color:#8b929e; }
.review-sample-note .review-btn { font-size:13px; padding:3px 6px; }
.review-document { border-top:1px solid #2a2f36; padding-top:24px; }
.review-field { display:block; margin-bottom:24px; }
.review-label { display:block; font-size:15px; font-weight:600; margin-bottom:6px; color:#dfe3e8; }
.journal-textarea, .review-input { display:block; width:100%; min-height:132px; padding:12px 14px; background:#161a1f; border:1px solid #242a31; border-radius:8px; outline:none; color:#dfe3e8; font-size:14px; line-height:1.8; resize:vertical; }
.journal-textarea:hover, .review-input:hover { background:#1b2026; border-color:#303740; }
.journal-textarea:focus, .review-input:focus { background:#1b2026; border-color:#3a434d; outline:none; }
.journal-textarea:focus-visible, .review-input:focus-visible { outline:1px solid #647d8d; outline-offset:0; }
.review-input::placeholder { color:#69717c; }
.review-input[name="summary"], .review-week .review-input { min-height:88px; }
.review-detail { border-top:1px solid #2a2f36; padding-top:20px; margin-top:8px; margin-bottom:24px; }
.review-document-footer { border-top:1px solid #22262c; padding-top:14px; }
.review-document-footer .review-note { font-size:12px; margin:0 0 8px; }
.review-note { color:#a3b0bd; font-size:13px; line-height:1.6; }
.review-status { padding:8px 12px; border:1px solid #353d47; background:#20262d; border-radius:5px; color:#bdc9d5; font-size:14px; }
.review-error { background:#3d2027; color:#ffb0b7; border-color:#693742; }
.review-document .review-input { min-height:64px; overflow-y:hidden; resize:none; box-sizing:border-box; }
.review-panel[aria-labelledby="review-title"] .review-body { min-width:0; overflow-x:hidden; }
[data-trade-table="review"] { margin-top:16px; min-width:0; max-width:100%; overscroll-behavior-x:contain; }
[data-trade-table="review"]:focus-visible { outline:2px solid #7e9daf; outline-offset:3px; }
.review-history { margin-top:28px; padding:20px 0; border-top:1px solid #293038; background:transparent; }
.review-history h3 { margin:0; font-size:17px; }
.review-history-row { display:flex; align-items:center; gap:12px; width:100%; border:0; border-bottom:1px solid #28323b; background:transparent; color:#dfe7ef; padding:14px 0; text-align:left; font-size:14px; cursor:pointer; }
.review-history-row:hover { background:#1c2127; }
.review-week { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:14px; }
@media (max-width:760px) {
  body > x-dc header, .sc-host header { flex-wrap:wrap; padding:14px !important; gap:10px !important; }
  header nav { order:3; width:100%; overflow:auto; }
  header nav button { flex:1 !important; padding:9px !important; }
  .calendar-main { padding:16px 10px 0 !important; }
  .calendar-heading, .calendar-goal { flex-wrap:wrap; gap:12px !important; }
  .calendar-heading > div:last-child { width:100%; }
  .calendar-goal { padding:14px !important; }
  .calendar-grid > div { padding:6px 3px !important; min-width:0; }
  .calendar-cell { min-height:128px !important; }
  .calendar-cell .review-cell { font-size:12px; padding:4px; }
  .calendar-cell .review-meta { display:none; }
  .calendar-cell .calendar-amount { flex-direction:column; align-items:stretch; gap:3px; min-height:34px; }
  .calendar-cell .calendar-amount span { font-size:10px !important; overflow-wrap:anywhere; }
  .review-overlay { padding:16px 10px; }
  .review-panel { width:100%; max-height:calc(100dvh - 32px); border-radius:10px; }
  .review-panel-head { padding:10px; gap:6px; flex-wrap:wrap; }
  .review-breadcrumb { font-size:12px; gap:6px; }
  .review-head-actions { gap:5px; margin-left:auto; }
  .review-save-state { max-width:96px; }
  .review-body { padding:24px 20px 32px; }
  .review-page-title { margin-bottom:20px; }
  .review-panel h2 { font-size:28px; }
  .review-property { grid-template-columns:88px minmax(0,1fr); gap:4px; }
  .review-week { grid-template-columns:1fr; }
  .review-history { padding:16px 2px; }
}

@media (max-width:760px) {
.journal-kpis { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); padding:14px 10px 0 !important; gap:8px !important; }
.journal-kpis > div { padding:12px !important; min-width:0; }
.journal-kpis > div > div { overflow-wrap:anywhere; }
.trade-dialog { width:100% !important; max-height:calc(100dvh - 48px) !important; }
.trade-dialog > div:nth-child(2) { padding:20px !important; }
}

.review-sample { font-size:12px; color:#98c8dc; }

/* Shared by the trade symbol picker and all calendar option pickers. */
.journal-option-menu { position:fixed; z-index:90; background:#1c1f23; border:1px solid #2a2f36; border-radius:10px; box-shadow:0 14px 34px rgba(0,0,0,.55); padding:6px; max-height:min(76vh,calc(100dvh - 20px)); overflow-y:auto; overscroll-behavior:contain; }
.journal-menu-heading { padding:6px 8px 8px; font-size:12px; color:#7e858f; }
.journal-option-row { display:flex; align-items:center; gap:8px; width:100%; min-height:36px; padding:6px 8px; border:0; border-radius:6px; background:transparent; color:#e6e8ec; text-align:left; cursor:pointer; }
.journal-option-row:hover, .journal-option-row:focus-visible, .journal-option-clear:hover, .journal-option-clear:focus-visible { background:#262b31; outline:none; }
.journal-option-check { width:14px; flex:none; color:#00dc9f; font-size:12px; }
.journal-option-pill { display:inline-block; padding:2px 9px; border-radius:5px; background:#262b31; color:#b7bec8; font-size:13px; font-weight:600; line-height:1.5; overflow-wrap:anywhere; }
.journal-option-pill.tone-green { background:#1e3a2f; color:#4fd39c; }
.journal-option-pill.tone-red { background:#3a2124; color:#ff8a8a; }
.journal-option-pill.tone-amber { background:#33291a; color:#dcb06a; }
.journal-option-pill.tone-blue { background:#1e2f3d; color:#7cc0f0; }
.journal-option-clear { display:block; width:100%; padding:8px; margin-top:4px; border:0; border-top:1px solid #262b31; border-radius:0 0 5px 5px; background:transparent; color:#8b929e; font-size:13px; text-align:left; cursor:pointer; }
.journal-menu-foot { display:flex; align-items:center; justify-content:flex-end; gap:6px; padding:5px 5px 0; border-top:1px solid #262b31; color:#7e858f; font-size:12px; }
.journal-menu-foot .review-btn { font-size:13px; }
.journal-emoji-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:2px; padding:2px; }
.journal-emoji-option { display:flex; flex-direction:column; align-items:center; gap:3px; padding:8px 4px; border:1px solid transparent; border-radius:6px; background:transparent; color:#aeb7c2; cursor:pointer; }
.journal-emoji-option:hover, .journal-emoji-option:focus-visible { background:#262b31; outline:none; }
.journal-emoji-option[aria-checked="true"] { border-color:#455460; background:#262b31; color:#e6e8ec; }
.journal-emoji-symbol { font-size:28px; line-height:1.2; }
.journal-emoji-label { font-size:12px; }
@media (max-width:760px) { .journal-textarea, .review-input { font-size:16px; } }

.calendar-create-actions { display:flex; align-items:center; gap:8px; flex:none; }
.calendar-diary-button { padding:7px 12px; border-radius:8px; white-space:nowrap; font-size:12.5px; line-height:normal; font-weight:700; }
.review-history-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.journal-menu-heading { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.journal-menu-mode { color:#7e858f; font-size:12px; }
.journal-emoji-label { white-space:nowrap; }
@media (max-width:480px) { .journal-emoji-symbol { font-size:25px; } .journal-emoji-option { padding:8px 1px; } }

.review-date-input { width:170px; max-width:100%; padding:6px 8px; border:0; border-radius:5px; background:transparent; color:#dfe3e8; color-scheme:dark; font-family:inherit; font-size:14px; font-variant-numeric:tabular-nums; cursor:pointer; }
.review-date-input:hover, .review-date-input:focus { background:#20242a; }
.review-date-input:focus-visible { outline:2px solid #7e9daf; outline-offset:2px; }
@media (max-width:760px) { .review-date-input { font-size:16px; } }


.calendar-scroll { max-width:100%; overflow-x:auto; border:1px solid #242930; border-radius:12px; }
.calendar-scroll:focus-visible { outline:2px solid #7e9daf; outline-offset:3px; }
.calendar-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); min-width:780px; gap:1px; background:#242930; }
.calendar-grid.calendar-with-weekends { grid-template-columns:repeat(8,minmax(0,1fr)); min-width:1040px; }
.calendar-weekend-toggle { display:flex; align-items:center; gap:8px; white-space:nowrap; }
.calendar-toggle-track { position:relative; display:block; width:30px; height:17px; border-radius:999px; transition:background .18s ease; }
.calendar-toggle-track i { position:absolute; top:2px; width:13px; height:13px; border-radius:50%; background:#eafff7; box-shadow:0 1px 3px rgba(0,0,0,.35); transition:left .18s ease; }
.calendar-status { flex:none; white-space:nowrap; padding:2px 5px; border:1px solid; border-radius:999px; font-size:9.5px; font-weight:700; line-height:1.1; }
.calendar-week-heading { padding:9px 12px; background:#1a2028; color:#9daaba; font-size:11.5px; }
.calendar-cell-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:6px; margin-bottom:7px; }
.calendar-win-rate { flex:none; font-size:10px; color:#7e858f; font-variant-numeric:tabular-nums; }
.calendar-amount { display:flex; align-items:center; justify-content:space-between; gap:6px; min-height:22px; margin-top:7px; padding-top:6px; border-top:1px solid #22272d; }
.calendar-week-summary { display:flex; flex-direction:column; min-width:0; min-height:166px; padding:9px 10px 8px; background:#171d24; }
.calendar-week-title { color:#9aa1ab; font-size:14px; font-weight:700; }
.calendar-week-space { flex:1; min-height:55px; }
@media (max-width:760px) {
  .calendar-grid > div { padding:9px 10px !important; }
  .calendar-grid { min-width:720px; }
  .calendar-grid.calendar-with-weekends { min-width:940px; }
  .calendar-week-summary { padding:9px 10px; }
}
