:root{
  color-scheme:dark;
  --bg:#0b0d10;--surface:#12171c;--surface2:#171e25;--surface3:#0f1419;--line:#2b343e;
  --text:#f5f7f8;--muted:#96a2ad;--green:#57d26b;--red:#ff6259;--blue:#63b3ff;--yellow:#f2c94c;--purple:#aa8cff;
  --shadow:0 12px 34px rgba(0,0,0,.28);--selected:#fff;--nav-bg:rgba(11,13,16,.92);--input:#0e1318;
  --green-bg:#15351d;--red-bg:#391b1d;--blue-bg:#102b40;--purple-bg:#251b3c;--closed-bg:#22282e;--neutral-bg:#10161b;
}
html[data-theme="light"]{
  color-scheme:light;
  --bg:#f3f5f7;--surface:#fff;--surface2:#f4f7f9;--surface3:#eef2f5;--line:#d7dee4;
  --text:#11171c;--muted:#68747f;--green:#1c963a;--red:#d63d36;--blue:#1674c5;--yellow:#a77600;--purple:#7652cc;
  --shadow:0 10px 26px rgba(18,32,43,.08);--selected:#11171c;--nav-bg:rgba(255,255,255,.94);--input:#f7f9fb;
  --green-bg:#dff3e4;--red-bg:#fae2e0;--blue-bg:#dfedf8;--purple-bg:#ebe5f8;--closed-bg:#e7ebee;--neutral-bg:#f4f6f8;
}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;touch-action:pan-y;background:var(--bg)}
html,body{margin:0;width:100%;max-width:100%;overflow-x:hidden;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{min-height:100vh;padding-bottom:calc(92px + env(safe-area-inset-bottom));transition:background .15s,color .15s}
button,input,select,textarea{font:inherit}button{cursor:pointer;touch-action:manipulation}input,select,textarea{font-size:16px}
.hidden{display:none!important}.muted,.notice,.micro{color:var(--muted)}.notice{font-size:12px;line-height:1.45}.micro{font-size:10px;margin-top:4px}.full{width:100%}
.good{color:var(--green)!important}.bad{color:var(--red)!important}.be{color:var(--blue)!important}.warn{color:var(--yellow)!important}
.auth-shell{min-height:100svh;display:grid;place-items:center;padding:calc(20px + env(safe-area-inset-top)) 16px calc(20px + env(safe-area-inset-bottom));background:var(--bg)}
.auth-card{width:min(100%,430px);background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:var(--shadow)}
.brand-lockup{display:flex;align-items:center;gap:12px;margin-bottom:26px}.brand-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(145deg,#1e7331,#112d18);color:#dfffe5;font-size:26px;font-weight:900}.brand-mark.small{width:30px;height:30px;border-radius:10px;font-size:18px}.brand-lockup h1{margin:0;font-size:26px}.auth-card h2{margin:0 0 16px}.auth-links{display:flex;justify-content:space-between;margin:8px 0 14px}.text-btn{background:none;border:0;color:var(--blue);padding:6px 0}
.app-wrap{width:min(100%,1440px);margin:0 auto;padding:calc(18px + env(safe-area-inset-top)) clamp(10px,2vw,26px) 28px;min-height:100svh}
.app-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;min-height:62px}.app-header h1{font-size:clamp(25px,4vw,34px);margin:0;line-height:1.05}.title-row{display:flex;align-items:center;gap:8px}.version-chip{font-size:10px;font-weight:850;color:var(--green);border:1px solid color-mix(in srgb,var(--green) 45%,transparent);background:color-mix(in srgb,var(--green) 12%,transparent);padding:3px 6px;border-radius:999px}.sub{font-size:12px;color:var(--muted);margin-top:5px}.pill,.metric-pill,.status-pill{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border:1px solid var(--line);background:var(--surface2);color:var(--muted);font-size:11px;font-weight:750;border-radius:999px;padding:7px 10px}.status-pill.good{background:color-mix(in srgb,var(--green) 12%,var(--surface));border-color:color-mix(in srgb,var(--green) 40%,var(--line))}.status-pill.bad{background:color-mix(in srgb,var(--red) 12%,var(--surface));border-color:color-mix(in srgb,var(--red) 40%,var(--line))}
.page{display:none}.page.active{display:block}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 2px 12px}.page-heading h2{margin:2px 0 0;font-size:25px}.eyebrow{text-transform:uppercase;letter-spacing:.7px;font-size:9px;font-weight:850;color:var(--muted)}
.card{min-width:0;background:linear-gradient(180deg,var(--surface),color-mix(in srgb,var(--surface) 94%,#000));border:1px solid var(--line);border-radius:18px;padding:14px;box-shadow:var(--shadow)}html[data-theme="light"] .card{background:var(--surface)}
.card h3{margin:0 0 12px}.card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.card-head h3{margin:2px 0 0}.label,label{font-size:12px;color:var(--muted)}.value{font-size:clamp(20px,4vw,28px);font-weight:850;margin-top:5px;letter-spacing:-.5px}.smallv{font-size:clamp(14px,3vw,19px);font-weight:820;margin-top:5px;overflow-wrap:anywhere}
.stack{display:grid;gap:12px}.formgrid{display:grid;gap:10px}.two-col,.three-col,.four-col{grid-template-columns:1fr}.span-all{grid-column:1/-1}
input,select,textarea{width:100%;min-width:0;margin-top:5px;background:var(--input);color:var(--text);border:1px solid var(--line);border-radius:12px;padding:12px;outline:none;transition:border-color .12s,box-shadow .12s}textarea{min-height:90px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:color-mix(in srgb,var(--blue) 60%,var(--line));box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 14%,transparent)}
button,.primary,.secondary,.danger{border:0;border-radius:12px;padding:11px 13px;font-weight:780}.primary{background:var(--text);color:var(--bg)}.secondary{background:var(--surface2);color:var(--text);border:1px solid var(--line)}.danger{background:color-mix(in srgb,var(--red) 18%,var(--surface));color:var(--red);border:1px solid color-mix(in srgb,var(--red) 35%,var(--line))}.small{padding:8px 10px;font-size:11px}.form-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}.form-actions>*{flex:1;min-width:120px}.money-field{display:flex;align-items:center;margin-top:5px;background:var(--input);border:1px solid var(--line);border-radius:12px;overflow:hidden}.money-field:focus-within{border-color:color-mix(in srgb,var(--blue) 60%,var(--line));box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 14%,transparent)}.money-field>span{padding-left:12px;color:var(--muted);font-weight:800}.money-field input{margin:0;border:0;background:transparent;box-shadow:none}.sign-toggle{align-self:stretch;border-radius:0;border-left:1px solid var(--line);background:var(--surface2);color:var(--muted);min-width:54px}.sign-toggle.negative{color:var(--red);background:color-mix(in srgb,var(--red) 15%,var(--surface2))}.toggle-row{display:flex;align-items:center;gap:9px}.toggle-row input{width:20px;height:20px;margin:0}
.error-banner,.warning-banner{border-radius:13px;padding:10px 12px;font-size:12px;line-height:1.4;margin-bottom:12px}.error-banner{background:color-mix(in srgb,var(--red) 14%,var(--surface));border:1px solid color-mix(in srgb,var(--red) 40%,var(--line));color:var(--red)}.warning-banner{background:color-mix(in srgb,var(--yellow) 11%,var(--surface));border:1px solid color-mix(in srgb,var(--yellow) 35%,var(--line));color:var(--text)}.warning-banner.compact{margin:0 0 10px;padding:9px}
.dashboard-shell{display:grid;gap:12px}.calendar-card{padding:0 10px 10px;overflow:hidden}.calendar-toolbar{display:grid;grid-template-columns:48px minmax(0,1fr) auto 48px;gap:7px;align-items:center;padding:11px 0}.month-arrow{width:46px;height:46px;border:1px solid color-mix(in srgb,var(--text) 20%,var(--line));background:var(--surface2);color:var(--text);border-radius:14px;font-size:31px;font-weight:600;line-height:1;padding:0;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--text) 4%,transparent)}.month-arrow:active{transform:scale(.96)}.month-title-btn{min-width:0;background:transparent;color:var(--text);border:0;padding:8px;font-size:18px;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tiny-caret{margin-left:5px;color:var(--muted)}.today-btn{background:var(--surface2);color:var(--text);border:1px solid var(--line);padding:9px 10px;font-size:11px}
.calgrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr)) minmax(43px,.82fr);gap:4px;align-items:stretch}.dow{text-align:center;padding:7px 1px;font-size:9px;font-weight:800;color:var(--muted);background:var(--surface3);border:1px solid color-mix(in srgb,var(--line) 75%,transparent);border-radius:7px}.day,.weekcell{position:relative;min-width:0;min-height:78px;border-radius:9px;padding:6px;background:var(--neutral-bg);border:1px solid color-mix(in srgb,var(--line) 62%,transparent);overflow:hidden;transition:transform .1s,filter .15s,opacity .15s;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--text) 2%,transparent)}.day{cursor:pointer}.day:active{transform:scale(.97)}.day.win{background:var(--green-bg)}.day.loss{background:var(--red-bg)}.day.breakeven{background:var(--blue-bg)}.day.pto{background:var(--purple-bg)}.day.closed{background:var(--closed-bg)}.day.future{background:var(--neutral-bg)}.day.weekend{filter:saturate(.55);opacity:.66}.day.outside{opacity:.43;filter:saturate(.45) brightness(.9)}html[data-theme="light"] .day.outside{filter:saturate(.35)}.day.selected{box-shadow:inset 0 0 0 2px var(--selected),0 0 0 1px color-mix(in srgb,var(--selected) 15%,transparent);z-index:2}.day.today:not(.selected){box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--blue) 70%,transparent)}
.day .n{font-size:10px;font-weight:850;color:var(--text);line-height:1}.day .amt{margin-top:8px;font-size:clamp(8px,2.1vw,12px);font-weight:900;white-space:nowrap;letter-spacing:-.35px}.cal-event{display:flex;align-items:center;gap:3px;margin-top:4px;min-width:0;font-size:7px;line-height:1.08;color:var(--text)}.cal-event .event-dot{color:var(--yellow);flex:0 0 auto}.cal-event .event-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trade-count{display:inline-flex;align-items:center;gap:2px;margin-top:4px;border:1px solid color-mix(in srgb,var(--text) 12%,var(--line));background:color-mix(in srgb,var(--surface) 45%,transparent);color:color-mix(in srgb,var(--text) 74%,var(--muted));border-radius:999px;padding:2px 4px;font-size:6.8px;font-weight:800;white-space:nowrap;max-width:100%}.weekcell{display:flex;flex-direction:column;justify-content:center;text-align:center;background:var(--surface3);padding:5px 2px}.weekcell .wk-label{font-size:6.5px;color:var(--muted)}.weekcell strong{font-size:8px;margin-top:2px;overflow-wrap:anywhere}.weekcell small{font-size:6px;color:var(--muted);margin-top:3px}.legend{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 12px;padding-top:10px;font-size:9px;color:var(--muted)}.legend span{display:flex;align-items:center;gap:4px}.dot{width:8px;height:8px;border-radius:50%;display:inline-block}.dot.green{background:var(--green)}.dot.red{background:var(--red)}.dot.blue{background:var(--blue)}.dot.purple{background:var(--purple)}.dot.gray{background:#7b858d}.dot.yellow{background:var(--yellow)}
.selected-day-card{min-height:120px}.selected-day-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.selected-date-title{font-size:17px;font-weight:850}.selected-pnl{font-size:26px;font-weight:900;margin-top:4px}.selected-grid{display:grid;gap:9px;margin-top:12px}.detail-block{border-top:1px solid var(--line);padding-top:9px}.detail-block h4{margin:0 0 6px;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}.detail-row{display:flex;justify-content:space-between;gap:10px;padding:5px 0;font-size:11px}.detail-row small{color:var(--muted)}
.month-summary-title{text-align:center;color:var(--muted);font-size:11px;font-weight:750;margin:-1px 0 -4px}.summary-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.summary-strip .card{padding:9px 7px}.summary-strip .label{font-size:8px}.summary-strip .smallv{font-size:clamp(11px,3vw,17px);white-space:nowrap;letter-spacing:-.35px}.kpi-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.chart-card{position:relative}.rangebar{display:flex;overflow-x:auto;gap:3px;margin:10px 0 4px;scrollbar-width:none}.rangebar::-webkit-scrollbar{display:none}.rangebar button{flex:0 0 auto;border:1px solid var(--line);background:var(--surface2);color:var(--muted);padding:5px 8px;border-radius:8px;font-size:9px}.rangebar button.on{color:var(--text);background:color-mix(in srgb,var(--green) 15%,var(--surface2));border-color:color-mix(in srgb,var(--green) 35%,var(--line))}.chartbox{height:260px;position:relative}.chartbox canvas,.goal-chart-wrap canvas{width:100%;height:100%;display:block;touch-action:none}.chart-tip{position:absolute;z-index:8;pointer-events:none;min-width:126px;max-width:190px;background:color-mix(in srgb,var(--surface3) 95%,transparent);border:1px solid var(--line);border-radius:10px;padding:7px 8px;box-shadow:var(--shadow);font-size:10px;line-height:1.35}.goal-progress{height:8px;border-radius:999px;background:var(--surface3);overflow:hidden;margin:12px 0 8px}.goal-progress-fill{height:100%;width:0;background:var(--green);border-radius:inherit}.goal-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:10px 0}.goal-chart-card{margin-top:10px}.goal-legend{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;font-size:9px;color:var(--muted);margin:10px 0}.goal-legend span{display:flex;align-items:center;gap:5px}.line-sample{width:22px;height:0;border-top:2px solid}.line-sample.actual{border-color:var(--green)}.line-sample.required{border-color:var(--muted);border-top-style:dashed}.line-sample.projected{border-color:var(--blue);border-top-style:dashed}.goal-chart-wrap{height:300px;position:relative}.goal-callouts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:10px}.goal-callouts>div{background:var(--surface3);border:1px solid var(--line);border-radius:11px;padding:8px;text-align:center}.goal-callouts span{display:block;font-size:8px;color:var(--muted)}.goal-callouts strong{display:block;font-size:11px;margin-top:3px;overflow-wrap:anywhere}
.two-panel{display:grid;gap:10px}.rules-tabs,.filterbar{display:flex;gap:5px;overflow-x:auto;padding:1px 0 10px;scrollbar-width:none}.rules-tabs::-webkit-scrollbar,.filterbar::-webkit-scrollbar{display:none}.rules-tabs button,.filterbar button{flex:0 0 auto;background:var(--surface2);border:1px solid var(--line);color:var(--muted);padding:8px 10px;border-radius:999px;font-size:10px}.rules-tabs button.on,.filterbar button.on{background:color-mix(in srgb,var(--green) 14%,var(--surface2));color:var(--text);border-color:color-mix(in srgb,var(--green) 35%,var(--line))}.rules-view{display:none}.rules-view.active{display:block}.inline-label{display:block;margin:12px 0}.checklist-list{display:grid;gap:7px;margin:10px 0 12px}.check-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;background:var(--surface3);border:1px solid var(--line);border-radius:12px;padding:9px}.check-copy strong{font-size:12px}.check-copy small{display:block;color:var(--muted);font-size:9px;margin-top:2px}.check-statuses{display:flex;gap:3px}.check-statuses button{padding:5px 6px;border:1px solid var(--line);background:var(--surface2);color:var(--muted);font-size:8px;border-radius:7px}.check-statuses button[data-status="met"].on{background:color-mix(in srgb,var(--green) 18%,var(--surface2));color:var(--green);border-color:var(--green)}.check-statuses button[data-status="not_met"].on{background:color-mix(in srgb,var(--red) 18%,var(--surface2));color:var(--red);border-color:var(--red)}.check-statuses button[data-status="na"].on{background:var(--closed-bg);color:var(--text)}.rule-list,.trade-log,.activity-feed{display:grid}.list-row,.trade-row,.activity-row{padding:11px 0;border-bottom:1px solid var(--line)}.list-row:last-child,.trade-row:last-child,.activity-row:last-child{border-bottom:0}.list-head,.trade-head,.activity-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.row-actions{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}.row-actions button{padding:6px 8px;font-size:9px}.tag-chip{display:inline-block;font-size:8px;padding:3px 5px;border-radius:999px;border:1px solid var(--line);color:var(--muted);margin:3px 3px 0 0;background:var(--surface2)}.trade-form{display:grid;gap:10px}.trade-section-title{display:flex;gap:10px;align-items:flex-start;margin-bottom:12px}.trade-section-title>span{display:grid;place-items:center;width:26px;height:26px;flex:0 0 26px;border-radius:8px;background:color-mix(in srgb,var(--green) 16%,var(--surface2));color:var(--green);font-weight:900}.trade-section-title h3{margin:0}.trade-section-title p{margin:2px 0 0;font-size:9px;color:var(--muted)}.subsection-title{margin:14px 0 7px;font-size:10px;font-weight:850;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}.leg-rows{display:grid;gap:6px;margin-bottom:8px}.leg-row{display:grid;grid-template-columns:70px 1fr 1fr 34px;gap:5px;align-items:end;background:var(--surface3);border:1px solid var(--line);border-radius:10px;padding:7px}.leg-row label{font-size:8px}.leg-row input,.leg-row select{padding:8px;font-size:12px}.leg-remove{height:34px;padding:0;background:color-mix(in srgb,var(--red) 15%,var(--surface));color:var(--red);border:1px solid color-mix(in srgb,var(--red) 30%,var(--line))}.trade-meta{color:var(--muted);font-size:9px;margin-top:3px}.trade-pnl{font-weight:850;white-space:nowrap}.compliance-badge{font-size:8px;border:1px solid var(--line);border-radius:999px;padding:3px 6px;color:var(--muted)}
.activity-amount{font-weight:850;white-space:nowrap}.activity-note{font-size:9px;color:var(--muted);margin-top:3px}.prose{line-height:1.6}.prose p{color:var(--muted)}
.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--nav-bg);border-top:1px solid var(--line);backdrop-filter:blur(18px);padding:8px 8px calc(8px + env(safe-area-inset-bottom))}.nav-grid{max-width:760px;margin:auto;display:grid;grid-template-columns:repeat(5,1fr);gap:4px;align-items:end}.nav-grid button{position:relative;background:transparent;border:0;color:var(--muted);padding:8px 2px 5px;border-radius:12px;font-size:9px;min-height:48px}.nav-grid button b{display:block;font-size:18px;line-height:1.1;margin-bottom:2px}.nav-grid button.on:not(.home-nav){background:var(--surface2);color:var(--text)}.home-nav{margin-top:-25px!important;overflow:visible!important}.home-nav b{width:58px;height:58px;margin:-7px auto 3px!important;display:grid!important;place-items:center;border-radius:50%;background:linear-gradient(145deg,color-mix(in srgb,var(--green) 90%,#fff),color-mix(in srgb,var(--green) 64%,#111));color:#071109!important;font-size:27px!important;border:4px solid var(--nav-bg);box-shadow:0 8px 24px color-mix(in srgb,var(--green) 28%,transparent),0 0 0 1px color-mix(in srgb,var(--green) 40%,transparent)}.home-nav span{font-weight:850;color:var(--text)}
.sheet-backdrop{position:fixed;inset:0;z-index:100;background:#0009;display:flex;align-items:flex-end;justify-content:center;backdrop-filter:blur(5px)}.sheet-card{width:min(100%,560px);background:var(--surface);border:1px solid var(--line);border-radius:22px 22px 0 0;padding:8px 12px calc(14px + env(safe-area-inset-bottom));box-shadow:0 -20px 55px #0006}.sheet-handle{width:42px;height:4px;background:var(--line);border-radius:999px;margin:2px auto 9px}.sheet-title{font-size:18px;font-weight:850;padding:5px 5px 9px}.sheet-card>button{width:100%;display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:8px;text-align:left;background:transparent;border:0;border-top:1px solid var(--line);color:var(--text);border-radius:0;padding:12px 7px}.sheet-card>button small{display:block;color:var(--muted);font-weight:400;font-size:9px;margin-top:2px}.sheet-card>button em{font-style:normal;color:var(--muted);font-size:20px}.sheet-card .sheet-danger{color:var(--red)}
.modal-backdrop{position:fixed;inset:0;z-index:130;background:#000b;display:flex;align-items:center;justify-content:center;padding:calc(14px + env(safe-area-inset-top)) 14px calc(14px + env(safe-area-inset-bottom));backdrop-filter:blur(5px)}.modal-card{width:min(100%,560px);max-height:90svh;overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:16px;box-shadow:0 24px 80px #000a}.modal-card h3{margin-top:0}.month-picker-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.month-picker-grid select{margin:0}.modal-actions{display:flex;gap:8px;margin-top:12px}.modal-actions>*{flex:1}
.desktop-side{display:none}
@media(min-width:760px){.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.three-col{grid-template-columns:repeat(3,minmax(0,1fr))}.four-col{grid-template-columns:repeat(4,minmax(0,1fr))}.two-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.goal-summary-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.selected-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1000px){
  body{padding-bottom:0}.bottom-nav{display:none!important}.desktop-side{display:flex;position:fixed;left:0;top:0;bottom:0;width:244px;z-index:70;flex-direction:column;background:color-mix(in srgb,var(--surface3) 97%,transparent);border-right:1px solid var(--line);padding:calc(18px + env(safe-area-inset-top)) 13px 15px}.desktop-brand{display:flex;align-items:center;gap:9px;font-size:16px;font-weight:850;margin:0 7px 20px}.desktop-brand b{color:var(--green)}.desktop-side button{display:flex;align-items:center;gap:10px;width:100%;background:transparent;border:0;color:var(--muted);text-align:left;padding:11px 12px;margin-bottom:4px}.desktop-side button span{width:20px;text-align:center}.desktop-side button.on{background:var(--surface2);color:var(--text)}.desktop-home{font-weight:850}.desktop-home.on{box-shadow:inset 3px 0 0 var(--green)}.desktop-separator{height:1px;background:var(--line);margin:7px 5px}.desktop-spacer{flex:1}.desktop-mini{font-size:10px;color:var(--muted);padding:10px}.app-wrap{margin-left:244px;width:calc(100% - 244px);max-width:none;padding:22px 26px 34px}.app-header{padding-top:0}.dashboard-shell{grid-template-columns:minmax(0,1.55fr) minmax(300px,.7fr);align-items:start}.calendar-card{grid-column:1}.selected-day-card{grid-column:2;grid-row:1}.month-summary-title,.summary-strip,.chart-card,.goal-mini-card,.kpi-grid{grid-column:1/-1}.chart-card{max-width:none}.calgrid{gap:5px}.day,.weekcell{min-height:92px;padding:7px}.day .n{font-size:11px}.day .amt{font-size:12px}.cal-event{font-size:8px}.trade-count{font-size:7.5px}.goal-chart-wrap{height:360px}
}
@media(max-width:420px){.app-wrap{padding-left:8px;padding-right:8px}.app-header{padding-left:3px;padding-right:3px}.app-header h1{font-size:24px}.pill{font-size:9px;padding:6px 8px}.calendar-card{padding-left:6px;padding-right:6px}.calendar-toolbar{grid-template-columns:45px minmax(0,1fr) auto 45px;gap:4px}.month-arrow{width:43px;height:43px}.month-title-btn{font-size:16px;padding:7px 2px}.today-btn{padding:8px 7px}.calgrid{gap:3px}.day,.weekcell{min-height:73px;padding:5px 4px;border-radius:8px}.day .amt{margin-top:7px}.summary-strip{gap:4px}.summary-strip .card{padding:8px 5px}.goal-callouts>div{padding:7px 4px}.goal-callouts strong{font-size:10px}.leg-row{grid-template-columns:62px 1fr 1fr 31px;padding:5px;gap:3px}}

/* V5.0 balance placement + standardized currency-entry refinements */
.current-balance-card{margin-bottom:10px}.goal-entry-card{margin-bottom:10px}.balance-form{margin-top:12px}.balance-save{align-self:end;margin-top:0}.balance-save .primary{width:100%}.balance-note{margin:10px 0 0}.settings-grid{display:grid;gap:10px;max-width:760px}.money-field input[data-money]{font-variant-numeric:tabular-nums}.compact-money{margin-top:5px}.compact-money>span{padding-left:8px}.compact-money input{padding:8px!important;font-size:12px!important}
@media(max-width:759px){.balance-save{align-self:auto}.balance-save .primary{min-height:46px}.compact-money input{font-size:16px!important}}

/* V5.0.01 */
:root{--crosshair:#f5f7f8;--crosshair-dot:#ffffff}html[data-theme="light"]{--crosshair:#26333d;--crosshair-dot:#11171c}
.password-policy{font-size:11px;border:1px solid var(--line);background:var(--surface3);border-radius:12px;padding:10px}.password-checks{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:7px}.password-checks span{color:var(--muted)}.password-checks span.met{color:var(--green)}.password-strength{font-weight:850}.password-strength.low{color:var(--red)}.password-strength.medium{color:var(--yellow)}.password-strength.high{color:var(--green)}.password-match{font-size:11px;min-height:16px;color:var(--muted)}
.check-statuses{gap:7px}.check-statuses button{min-width:44px;min-height:44px;padding:8px 10px;font-size:15px;font-weight:900;border-radius:11px}.check-statuses button[data-status="na"]{font-size:10px}.setup-score{font-size:12px;font-weight:900;border:1px solid var(--line);border-radius:999px;padding:8px 11px;background:var(--surface2);white-space:nowrap}.importance{font-weight:800}.checklist-context{align-items:end}.checklist-history-card{margin-top:10px}.preset-wrap{margin-bottom:12px}
.event-line{border-left:3px solid var(--yellow);background:color-mix(in srgb,var(--yellow) 8%,var(--surface3));padding:8px 9px!important;border-radius:8px;margin-top:5px}.event-line.impact-high{border-left-color:var(--red);background:color-mix(in srgb,var(--red) 9%,var(--surface3))}.detail-block h4{font-size:11px;text-transform:uppercase;letter-spacing:.5px}.selected-date-title{line-height:1.2}.day .n{display:block;text-align:left;min-height:11px}
.ticker-input{text-transform:uppercase;font-weight:850;letter-spacing:.7px}.trade-section:nth-of-type(n+2){box-shadow:none}.trade-form .trade-section{overflow:hidden}
@media(max-width:759px){.check-item{grid-template-columns:1fr}.check-statuses{justify-content:flex-start}.check-statuses button{flex:1;max-width:76px}.password-checks{grid-template-columns:1fr}.checklist-context{grid-template-columns:1fr}.selected-date-title{font-size:15px}.trade-form{gap:8px}.trade-section{padding:12px}}

.trade-progressive-actions{margin:0 0 2px}.quick-save-card{position:sticky;bottom:calc(76px + env(safe-area-inset-bottom));z-index:8}.trade-advanced.hidden,.trade-advanced-field.hidden{display:none!important}@media(min-width:1000px){.quick-save-card{position:static}}


/* V5.0.01 stability baseline: iOS/mobile date alignment + event hierarchy */
input[type="date"],input[type="time"],input[type="datetime-local"]{display:block;width:100%;min-width:0;max-width:100%;min-height:46px;padding:11px 12px;line-height:1.25;text-align:left;font-size:16px;font-variant-numeric:tabular-nums}
input[type="date"]::-webkit-date-and-time-value,input[type="time"]::-webkit-date-and-time-value,input[type="datetime-local"]::-webkit-date-and-time-value{text-align:left;min-height:1.25em;margin:0}
input[type="date"]::-webkit-calendar-picker-indicator,input[type="time"]::-webkit-calendar-picker-indicator,input[type="datetime-local"]::-webkit-calendar-picker-indicator{margin:0 0 0 auto;opacity:.72}
.checklist-context label,.formgrid label{min-width:0}
.economic-events-block{border-top-color:color-mix(in srgb,var(--yellow) 50%,var(--line));padding-top:10px}.detail-heading-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.detail-heading-row h4{margin:0;color:var(--text);font-size:12px;letter-spacing:.65px}.event-count{display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:color-mix(in srgb,var(--yellow) 14%,var(--surface2));border:1px solid color-mix(in srgb,var(--yellow) 32%,var(--line));color:var(--yellow);font-size:9px;font-weight:900}
.event-line{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid color-mix(in srgb,var(--yellow) 22%,var(--line));border-left-width:4px}.event-line.impact-high{border-color:color-mix(in srgb,var(--red) 28%,var(--line));border-left-color:var(--red)}.event-main{min-width:0}.event-main strong{display:block;font-size:12px}.event-meta{margin-top:3px;color:var(--muted);font-size:9px}.event-side{flex:0 0 auto;display:grid;justify-items:end;gap:4px;font-size:10px}.impact-badge{display:inline-flex;align-items:center;border-radius:999px;padding:2px 6px;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.4px}.impact-badge.high{color:var(--red);background:color-mix(in srgb,var(--red) 12%,var(--surface2));border:1px solid color-mix(in srgb,var(--red) 30%,var(--line))}.impact-badge.medium{color:var(--yellow);background:color-mix(in srgb,var(--yellow) 12%,var(--surface2));border:1px solid color-mix(in srgb,var(--yellow) 30%,var(--line))}.cal-event .event-dot.high{color:var(--red)}.cal-event .event-dot.medium{color:var(--yellow)}
@media(max-width:420px){.event-line{padding:8px 7px!important}.event-main strong{font-size:11px}.event-side{font-size:9px}}

/* V5.0.01 regression + UX hardening (items 18–28) */
:root{
  --goal-cloud-ahead:rgba(87,210,107,.14);
  --goal-cloud-behind:rgba(255,98,89,.13);
  --danger-solid:#d9443f;
}
html[data-theme="light"]{
  --goal-cloud-ahead:rgba(28,150,58,.12);
  --goal-cloud-behind:rgba(214,61,54,.11);
  --danger-solid:#c93732;
}

/* Shared field sizing: date/time controls must use the same grid width as every other field. */
.stack>label,.formgrid>label,.checklist-context>label{display:block;width:100%;min-width:0;max-width:100%}
input,select,textarea,.money-field{max-width:100%}
input[type="date"],input[type="time"],input[type="datetime-local"]{
  box-sizing:border-box!important;
  inline-size:100%!important;
  min-inline-size:0!important;
  max-inline-size:100%!important;
  height:46px;
  min-height:46px;
  overflow:hidden;
  padding:10px 12px!important;
  line-height:24px!important;
  text-align:left!important;
}
input[type="date"]::-webkit-date-and-time-value,input[type="time"]::-webkit-date-and-time-value,input[type="datetime-local"]::-webkit-date-and-time-value{
  width:100%!important;min-width:0!important;margin:0!important;padding:0!important;text-align:left!important;line-height:24px!important;
}
input[type="date"]::-webkit-calendar-picker-indicator,input[type="time"]::-webkit-calendar-picker-indicator,input[type="datetime-local"]::-webkit-calendar-picker-indicator{
  flex:0 0 auto;margin:0 0 0 8px!important;padding:0;opacity:.74;
}

/* Modern required-field + validation system. */
.field-label-row{display:inline-flex;align-items:center;gap:6px;min-width:0}
.required-dot{display:inline-block;width:6px;height:6px;border-radius:999px;background:var(--blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 12%,transparent);vertical-align:middle}
label.field-invalid input,label.field-invalid select,label.field-invalid textarea,label.field-invalid .money-field,.check-item.field-invalid{
  border-color:var(--red)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--red) 13%,transparent)!important;
}
.field-error{display:block;color:var(--red);font-size:10px;line-height:1.25;margin-top:5px;font-weight:720}
.form-error-summary{border:1px solid color-mix(in srgb,var(--red) 35%,var(--line));background:color-mix(in srgb,var(--red) 10%,var(--surface));color:var(--red);border-radius:11px;padding:9px 10px;font-size:11px;line-height:1.35;margin:0 0 8px}
.form-status{min-height:18px;margin-top:7px;font-size:11px;color:var(--muted)}.form-status.good{color:var(--green)}.form-status.bad{color:var(--red)}
button[disabled]{opacity:.48;cursor:not-allowed}

/* Lightweight save/validation confirmations. */
.toast-region{position:fixed;left:50%;bottom:calc(94px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:180;width:min(calc(100% - 28px),460px);display:grid;gap:7px;pointer-events:none}
.toast{pointer-events:auto;background:color-mix(in srgb,var(--surface) 96%,transparent);border:1px solid var(--line);box-shadow:0 15px 45px #0005;border-radius:13px;padding:11px 13px;font-size:12px;font-weight:720;color:var(--text);animation:tjToastIn .16s ease-out}
.toast.success{border-color:color-mix(in srgb,var(--green) 38%,var(--line))}.toast.error{border-color:color-mix(in srgb,var(--red) 45%,var(--line));color:var(--red)}
@keyframes tjToastIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
@media(min-width:1000px){.toast-region{bottom:24px;left:auto;right:24px;transform:none}}

/* Swipe-left edit/delete actions. Visible buttons remain available as a non-swipe fallback. */
.swipe-shell{position:relative;overflow:hidden;min-width:0;border-bottom:1px solid var(--line)}.swipe-shell:last-child{border-bottom:0}
.swipe-content{position:relative;z-index:2;background:var(--surface);transition:transform .18s ease;will-change:transform;touch-action:pan-y}
html[data-theme="light"] .swipe-content{background:var(--surface)}
.swipe-shell.swipe-open .swipe-content{transform:translateX(calc(-1 * var(--swipe-width,148px)))}
.swipe-actions{position:absolute;z-index:1;top:0;right:0;bottom:0;display:flex;align-items:stretch;justify-content:flex-end;width:var(--swipe-width,148px)}
.swipe-actions button{border-radius:0;min-width:74px;padding:8px 9px;font-size:11px;font-weight:850;border:0}
.swipe-actions .swipe-edit{background:var(--surface2);color:var(--text)}
.swipe-actions .swipe-delete{background:var(--danger-solid);color:#fff}
.swipe-shell .list-row,.swipe-shell .trade-row,.swipe-shell .activity-row{border-bottom:0}
@media(hover:hover) and (pointer:fine){.swipe-actions{display:none}.swipe-content{transform:none!important}}

/* Checklist and trade linkage. */
.checklist-link-badge{display:inline-flex;align-items:center;gap:4px;margin-top:5px;padding:4px 7px;border-radius:999px;font-size:8px;font-weight:850;border:1px solid color-mix(in srgb,var(--blue) 30%,var(--line));background:color-mix(in srgb,var(--blue) 9%,var(--surface2));color:var(--blue)}
.checklist-link-badge.linked{border-color:color-mix(in srgb,var(--green) 35%,var(--line));background:color-mix(in srgb,var(--green) 9%,var(--surface2));color:var(--green)}
.checklist-history-actions{margin-top:7px}.checklist-modal-score{margin-bottom:10px}.checklist-modal-item{margin-bottom:7px}

/* Daily thesis storage/review. */
.thesis-layout{align-items:start}.thesis-side{align-content:start}.thesis-preview{display:grid;gap:9px}.thesis-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.thesis-preview-grid>div{background:var(--surface3);border:1px solid var(--line);border-radius:10px;padding:8px}.thesis-preview-grid span{display:block;color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.4px}.thesis-preview-grid strong{display:block;margin-top:3px;font-size:11px;overflow-wrap:anywhere}.thesis-preview-note{font-size:11px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}.thesis-history-summary{font-size:10px;color:var(--muted);line-height:1.35;margin-top:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media(max-width:420px){.thesis-preview-grid{grid-template-columns:1fr}}

/* Restored Goal Pace cloud. */
.goal-chart-wrap::after{content:"Pace cloud";position:absolute;right:8px;top:7px;font-size:8px;color:var(--muted);pointer-events:none;opacity:.72}
.goal-cloud-note{font-size:9px;color:var(--muted)}
.chartbox canvas,.goal-chart-wrap canvas{display:block;width:100%;max-width:100%}

/* Ticker-entry consistency. */
.ticker-input,.ticker-list-input{text-transform:uppercase;font-variant-numeric:tabular-nums;font-weight:850;letter-spacing:.55px}

/* Mobile finger target refinements for row actions. */
@media(max-width:759px){
  .row-actions button{min-height:40px}.toast-region{bottom:calc(96px + env(safe-area-inset-bottom))}
  .checklist-history-card .row-actions button,.thesis-side .row-actions button{min-height:42px}
}
label.is-required::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 12%,transparent);margin-right:7px;vertical-align:1px}
.checklist-trade-context{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid color-mix(in srgb,var(--green) 35%,var(--line));background:color-mix(in srgb,var(--green) 9%,var(--surface));border-radius:13px;padding:10px 12px;font-size:11px}.checklist-trade-context div{min-width:0}.checklist-trade-context strong{display:block}.checklist-trade-context span{display:block;color:var(--muted);margin-top:2px;overflow-wrap:anywhere}
.checklist-link-badge[type="button"]{cursor:pointer;border-radius:999px;padding:4px 7px}
.cloud-sample{width:22px;height:9px;border-radius:4px;background:linear-gradient(90deg,var(--goal-cloud-behind),var(--goal-cloud-ahead));border:1px solid color-mix(in srgb,var(--muted) 30%,transparent)}

/* V5.0.01 fix3: intrinsic date widths and grid children must never force layout wider than their column. */
.formgrid>*,.two-col>*,.three-col>*,.four-col>*,.checklist-context>*,.month-picker-grid>*{min-width:0!important;max-width:100%}
input[type="date"],input[type="time"],input[type="datetime-local"]{-webkit-min-logical-width:0!important;min-width:0!important;width:100%!important;max-width:100%!important}
.selected-day-head.swipe-content{padding:0}

/* V5.0.01 fix4 — items 29–36 */
/* Stronger active navigation state: shape + fill + contrast, not color alone. */
.nav-grid button{transition:background .14s ease,color .14s ease,transform .14s ease,box-shadow .14s ease}
.nav-grid button.on:not(.home-nav){
  color:var(--text);
  background:color-mix(in srgb,var(--green) 12%,var(--surface2));
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--green) 30%,var(--line));
  font-weight:850;
}
.nav-grid button.on:not(.home-nav)::after{content:"";position:absolute;left:26%;right:26%;bottom:2px;height:2px;border-radius:999px;background:var(--green)}
.home-nav b{
  background:var(--surface2);
  color:var(--muted)!important;
  border-color:var(--nav-bg);
  box-shadow:0 5px 16px #0003,0 0 0 1px var(--line);
  transform:scale(.93);
  transition:all .16s ease;
}
.home-nav span{color:var(--muted);transition:color .16s ease}
.home-nav.on b{
  background:linear-gradient(145deg,color-mix(in srgb,var(--green) 94%,#fff),color-mix(in srgb,var(--green) 66%,#111));
  color:#071109!important;
  box-shadow:0 9px 28px color-mix(in srgb,var(--green) 32%,transparent),0 0 0 2px color-mix(in srgb,var(--green) 55%,transparent);
  transform:scale(1.04);
}
.home-nav.on span{color:var(--text);font-weight:900}
#menuBtn.on{color:var(--text);background:color-mix(in srgb,var(--green) 12%,var(--surface2));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--green) 30%,var(--line));font-weight:850}
#menuBtn.on::after{content:"";position:absolute;left:26%;right:26%;bottom:2px;height:2px;border-radius:999px;background:var(--green)}
@media(min-width:1000px){
  .desktop-side button.on{background:color-mix(in srgb,var(--green) 10%,var(--surface2));color:var(--text);box-shadow:inset 3px 0 0 var(--green);font-weight:850}
}

/* Trade Entry sticky actions reserve space and never cover the last fields. */
@media(max-width:999px){
  .trade-form{padding-bottom:calc(138px + env(safe-area-inset-bottom));}
  .quick-save-card{
    bottom:calc(82px + env(safe-area-inset-bottom));
    z-index:18;
    margin-top:12px;
    border-color:color-mix(in srgb,var(--green) 18%,var(--line));
    box-shadow:0 -10px 30px color-mix(in srgb,#000 24%,transparent);
  }
  .trade-form .trade-section:last-of-type{margin-bottom:12px}
}
@media(max-width:420px){
  .trade-form{padding-bottom:calc(150px + env(safe-area-inset-bottom));}
  .quick-save-card{bottom:calc(86px + env(safe-area-inset-bottom));padding:10px}
}

/* Keep chart edge labels inside the visual bounds. */
.chartbox{overflow:hidden}

/* V5.0.02 — unified design, dates, swipe actions, goal cloud, activity timestamps, and trend chart */

/* App-wide sleek title-case presentation for interface copy only. */
h1,h2,h3,h4,.label,label,.eyebrow,button,.status-pill,.metric-pill,.sheet-title,.sheet-card strong,.rules-tabs button,.filterbar button,.goal-callouts span,.trend-status,.switch-copy strong{
  text-transform:capitalize;
}
input,textarea,select,option,.notice,.activity-note,.thesis-preview-note,.thesis-history-summary,.event-meta,.trade-meta,.micro{
  text-transform:none;
}

/* One canonical temporal-input treatment. All date/time fields are tagged .tj-temporal-input in app.js. */
.tj-temporal-input{
  -webkit-appearance:none!important;
  appearance:none!important;
  display:flex!important;
  align-items:center!important;
  box-sizing:border-box!important;
  inline-size:100%!important;
  width:100%!important;
  min-inline-size:0!important;
  min-width:0!important;
  max-inline-size:100%!important;
  max-width:100%!important;
  block-size:48px!important;
  height:48px!important;
  min-height:48px!important;
  margin-top:5px!important;
  padding:0 12px!important;
  line-height:normal!important;
  text-align:left!important;
  font-size:16px!important;
  font-variant-numeric:tabular-nums;
  border-radius:12px!important;
  overflow:hidden!important;
}
.tj-temporal-input::-webkit-date-and-time-value{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  line-height:1.2!important;
  text-align:left!important;
}
.tj-temporal-input::-webkit-calendar-picker-indicator{
  flex:0 0 auto!important;
  margin:0 0 0 8px!important;
  padding:0!important;
  opacity:.72;
}

/* Rule Library boolean controls — compact, modern switches with clearer wording. */
.switch-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  width:100%;
  min-width:0;
  padding:11px 12px;
  border:1px solid var(--line);
  background:var(--surface3);
  border-radius:14px;
}
.switch-copy{min-width:0}.switch-copy strong{display:block;color:var(--text);font-size:12px;letter-spacing:.01em}.switch-copy small{display:block;margin-top:3px;color:var(--muted);font-size:9px;line-height:1.35}
.switch-control{position:relative;display:block;flex:0 0 auto;width:52px;height:32px;margin:0!important;padding:0!important;cursor:pointer}
.switch-control input{position:absolute;inset:0;width:1px;height:1px;opacity:0;pointer-events:none;margin:0}
.switch-track{position:absolute;inset:0;display:block;border-radius:999px;background:var(--surface2);border:1px solid var(--line);box-shadow:inset 0 1px 2px #0002;transition:background .18s,border-color .18s,box-shadow .18s}
.switch-thumb{position:absolute;top:4px;left:4px;width:22px;height:22px;border-radius:50%;background:var(--muted);box-shadow:0 2px 7px #0004;transition:transform .2s cubic-bezier(.2,.8,.2,1),background .18s}
.switch-control input:checked + .switch-track{background:color-mix(in srgb,var(--green) 22%,var(--surface2));border-color:color-mix(in srgb,var(--green) 55%,var(--line));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--green) 12%,transparent)}
.switch-control input:checked + .switch-track .switch-thumb{transform:translateX(20px);background:var(--green)}
.switch-control input:focus-visible + .switch-track{outline:2px solid var(--blue);outline-offset:2px}

/* Selected-day order: Economic Events first, then P&L, Trades, Account Activity, and Note. */
.selected-events-first{border-top:0;padding-top:0}
.pnl-detail-block .detail-heading-row{align-items:center}.pnl-detail-block .selected-pnl{font-size:22px;margin:0}

/* Recent Activity entry timestamp. */
.entered-stamp{margin-top:3px;color:var(--muted);font-size:9px;font-variant-numeric:tabular-nums;letter-spacing:.01em}

/* Remove stray shared edge/border artifacts from swipe wrappers and transformed layers. */
.swipe-shell{
  position:relative!important;
  overflow:clip!important;
  isolation:isolate;
  min-width:0;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
.swipe-shell::before,.swipe-shell::after{content:none!important;display:none!important}
.swipe-content{
  position:relative;
  z-index:2;
  background:var(--surface);
  border-left:0!important;
  border-right:0!important;
  outline:0!important;
  box-shadow:none!important;
  backface-visibility:hidden;
  transform:translate3d(0,0,0);
  will-change:transform;
  touch-action:pan-y;
}
.swipe-shell .list-row,.swipe-shell .trade-row,.swipe-shell .activity-row,.swipe-shell .detail-row,.swipe-shell .pnl-detail-block{border-left:0!important;border-right:0!important}

/* Sleek swipe-left action reveal. */
.swipe-actions{
  position:absolute!important;
  z-index:1;
  right:8px!important;
  top:50%!important;
  bottom:auto!important;
  width:auto!important;
  height:auto!important;
  display:flex!important;
  align-items:center!important;
  gap:6px;
  transform:translateY(-50%) scale(.96);
  transform-origin:right center;
  opacity:var(--swipe-progress,0);
  transition:opacity .16s ease,transform .18s ease;
  pointer-events:none;
}
.swipe-shell.swipe-open .swipe-actions,.swipe-shell.swipe-dragging .swipe-actions{transform:translateY(-50%) scale(1);pointer-events:auto}
.swipe-actions button{
  min-width:58px!important;
  width:58px!important;
  min-height:50px!important;
  height:50px!important;
  padding:6px 5px!important;
  border-radius:14px!important;
  display:grid!important;
  place-items:center!important;
  align-content:center!important;
  gap:1px;
  border:1px solid var(--line)!important;
  box-shadow:0 8px 22px #0003;
  backdrop-filter:blur(12px);
}
.swipe-actions button span{font-size:17px;line-height:1}.swipe-actions button small{font-size:8px;font-weight:850;line-height:1.1}
.swipe-actions .swipe-edit{background:color-mix(in srgb,var(--surface2) 92%,transparent)!important;color:var(--text)!important}
.swipe-actions .swipe-delete{background:color-mix(in srgb,var(--red) 88%,#8e1515)!important;color:#fff!important;border-color:color-mix(in srgb,var(--red) 65%,#fff0)!important}
@media(hover:hover) and (pointer:fine){.swipe-actions{display:none!important}.swipe-content{transform:none!important}}

/* Goal cloud: subtle and never visually overpowers the lines. */
:root{--goal-cloud-ahead:rgba(87,210,107,.12);--goal-cloud-behind:rgba(255,98,89,.115)}
html[data-theme="light"]{--goal-cloud-ahead:rgba(28,150,58,.10);--goal-cloud-behind:rgba(214,61,54,.095)}
.goal-chart-wrap::after{content:none!important}

/* Daily P&L Trend chart on Goals. */
.daily-trend-card{margin-top:12px}
.daily-trend-wrap{height:300px;position:relative;margin-top:4px}
.daily-trend-wrap canvas{display:block;width:100%;height:100%;touch-action:none}
.trend-summary{margin-top:7px;color:var(--muted);font-size:10px;line-height:1.4}
.trend-status{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border:1px solid var(--line);background:var(--surface2);color:var(--muted);font-size:10px;font-weight:850;border-radius:999px;padding:7px 10px}
.trend-status.good{background:color-mix(in srgb,var(--green) 12%,var(--surface));border-color:color-mix(in srgb,var(--green) 40%,var(--line));color:var(--green)!important}
.trend-status.bad{background:color-mix(in srgb,var(--red) 12%,var(--surface));border-color:color-mix(in srgb,var(--red) 40%,var(--line));color:var(--red)!important}
.trend-legend{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;font-size:9px;color:var(--muted);margin:9px 0 2px}
.trend-legend span{display:flex;align-items:center;gap:5px}.line-sample.trend-actual{border-color:var(--blue)}.line-sample.trend-rolling{border-color:var(--green);border-top-width:3px}.line-sample.trend-overall{border-color:var(--muted);border-top-style:dashed}

@media(max-width:759px){
  .switch-row{padding:10px 11px}.switch-control{width:50px;height:31px}.switch-thumb{width:21px;height:21px}.switch-control input:checked + .switch-track .switch-thumb{transform:translateX(19px)}
  .daily-trend-wrap{height:270px}.trend-status{max-width:46%;white-space:normal;text-align:center;line-height:1.15}
}

/* V5.1 — auth bootstrap, journaling depth, day-off adherence, and separator consistency. */
[hidden]{display:none!important}
.auth-boot-shell{position:fixed;inset:0;z-index:250;background:var(--bg)}
.auth-boot-card{display:flex;align-items:center;gap:12px;min-width:min(88vw,330px);padding:16px 18px;border:1px solid var(--line);border-radius:20px;background:color-mix(in srgb,var(--surface) 96%,transparent);box-shadow:var(--shadow)}
.auth-boot-copy{display:grid;gap:3px;min-width:0;flex:1}.auth-boot-copy strong{font-size:15px}.auth-boot-copy span{font-size:10px;color:var(--muted);font-weight:750;letter-spacing:.02em}
.auth-boot-spinner{width:19px;height:19px;border-radius:50%;border:2px solid color-mix(in srgb,var(--muted) 35%,transparent);border-top-color:var(--text);animation:tj-spin .75s linear infinite}@keyframes tj-spin{to{transform:rotate(360deg)}}
.auth-links{justify-content:flex-start}

/* Preserve horizontal section separators even when a block becomes swipeable. */
.selected-grid>.detail-block,.selected-grid>.swipe-shell>.detail-block{border-top:1px solid var(--line)}
.selected-grid>.selected-events-first{border-top:0}
.selected-grid>.swipe-shell>.pnl-detail-block{padding-top:9px}

/* Daily P&L note counter. */
.char-counter{display:block;margin-top:5px;text-align:right;color:var(--muted);font-size:9px;font-weight:750;font-variant-numeric:tabular-nums;letter-spacing:.01em;transition:color .15s}
.char-counter.near-limit{color:var(--yellow)}.char-counter.at-limit{color:var(--red)}
#pnlNote,#mPnlNote{min-height:132px;field-sizing:content;max-height:48svh}

/* Keep scheduled Day Off visible even when P&L becomes the cell's primary state. */
.day-off-flag{position:absolute;top:4px;right:4px;z-index:2;max-width:46px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:2px 5px;border-radius:999px;border:1px solid color-mix(in srgb,var(--purple) 42%,var(--line));background:color-mix(in srgb,var(--purple) 13%,var(--surface));color:var(--purple);font-size:6.5px;font-weight:900;letter-spacing:.02em;line-height:1.2}
.day-off-flag.violation{border-color:color-mix(in srgb,var(--yellow) 55%,var(--line));background:color-mix(in srgb,var(--yellow) 13%,var(--surface));color:var(--yellow)}
.day.day-off-traded{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--yellow) 32%,transparent)}
.day-off-adherence-alert{display:flex;align-items:center;gap:9px;margin-top:11px;padding:9px 10px;border-radius:13px;border:1px solid color-mix(in srgb,var(--yellow) 35%,var(--line));background:color-mix(in srgb,var(--yellow) 8%,var(--surface3));color:var(--text)}
.day-off-alert-icon{display:grid;place-items:center;width:24px;height:24px;flex:0 0 24px;border-radius:50%;background:color-mix(in srgb,var(--yellow) 16%,var(--surface2));border:1px solid color-mix(in srgb,var(--yellow) 42%,var(--line));color:var(--yellow);font-size:12px;font-weight:950}
.day-off-adherence-alert strong{display:block;font-size:11px}.day-off-adherence-alert small{display:block;margin-top:2px;color:var(--muted);font-size:9px}
@media(max-width:420px){.day-off-flag{top:3px;right:3px;max-width:41px;padding:2px 4px;font-size:6px}}

