@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap";:root{--paper:#111;--paper-strong:#242424;--panel:#171717;--panel-strong:#171717;--scrollbar-track:#111;--scrollbar-thumb:#3a3a3a;--scrollbar-thumb-hover:#4a4a4a;--ink:#f3f4f6;--muted:#94a3b8;--muted-strong:#cbd5e1;--line:#94a3b829;--line-strong:#94a3b847;--accent:#f97316;--accent-soft:#f9731629;--sand-strong:#fb923c;--gain:#22c55e;--gain-deep:#4ade80;--success:#4ade80;--loss:#ef4444;--loss-deep:#f87171;--shadow-soft:0 14px 32px #00000047;--shadow-card:0 20px 42px #00000057;--shadow-strong:0 28px 60px #00000073;--glow-accent:#f973162e;--surface-glass:#ffffff09;--surface-glass-strong:#fff1;--surface-hover:#ffffff0e;--surface-grid:#ffffff09;--surface-inset:#0a0b0c9e;--surface-track:#ffffff0f;--popover-bg:linear-gradient(180deg, #1a1b1ffa, #131417fa);--chart-shell-bg:linear-gradient(90deg, #22c55e1a, transparent 22%), linear-gradient(270deg, #f8717117, transparent 24%), #101112;--radius-md:7px;--font-body:"Plus Jakarta Sans", sans-serif;--font-display:"Plus Jakarta Sans", sans-serif;font-family:var(--font-body);color:var(--ink);background:var(--paper);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;line-height:1.5}:root[data-theme=light]{--paper:#f4f6f8;--paper-strong:#e3e8ef;--panel:#fff;--panel-strong:#f9fafb;--scrollbar-track:#eef2f7;--scrollbar-thumb:#cbd5e1;--scrollbar-thumb-hover:#94a3b8;--ink:#111827;--muted:#64748b;--muted-strong:#334155;--line:#0f172a1f;--line-strong:#0f172a33;--accent:#ea580c;--accent-soft:#ea580c1f;--sand-strong:#c2410c;--gain:#15803d;--gain-deep:#16a34a;--success:#15803d;--loss:#dc2626;--loss-deep:#b91c1c;--shadow-soft:0 12px 28px #0f172a14;--shadow-card:0 18px 38px #0f172a1a;--shadow-strong:0 24px 56px #0f172a29;--glow-accent:#ea580c24;--surface-glass:#0f172a09;--surface-glass-strong:#0f172a11;--surface-hover:#0f172a0e;--surface-grid:#0f172a0e;--surface-inset:#ffffffc7;--surface-track:#0f172a12;--popover-bg:linear-gradient(180deg, #fffffffa, #f8fafcfa);--chart-shell-bg:linear-gradient(90deg, #15803d14, transparent 24%), linear-gradient(270deg, #dc262612, transparent 25%), #fff;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{background:var(--paper);scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);scrollbar-width:thin;min-height:100%}body{background:var(--paper);min-width:320px;min-height:100vh;margin:0}::selection{color:var(--ink);background:#f973162e}button,input,textarea,select{font:inherit}button{padding:0}img{max-width:100%;display:block}#root{min-height:100vh}*{scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border:3px solid var(--scrollbar-track);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}::-webkit-scrollbar-corner{background:var(--scrollbar-track)}.app-shell{grid-template-columns:320px minmax(0,1fr);align-items:start;max-width:1540px;min-height:100vh;margin:0 auto;transition:grid-template-columns .18s;display:grid}.app-shell--rail-collapsed{grid-template-columns:92px minmax(0,1fr)}.rail,.workspace{min-width:0;min-height:100vh}.rail{flex-direction:column;align-items:stretch;max-height:100vh;padding:2.2rem 1.6rem;transition:padding .18s;display:flex;position:sticky;top:0;overflow-y:auto}.rail--brand{border-right:1px solid var(--line);background:var(--paper)}.rail.is-collapsed{border-right:none;padding:1rem .85rem}.rail-toggle-row{justify-content:flex-end;display:flex}.rail-toggle-button{justify-content:center;gap:.45rem;width:100%}.rail.is-collapsed .rail-toggle-button{padding-inline:.6rem}.rail.is-collapsed .rail-toggle-button span{display:none}.workspace{background:var(--paper);flex-direction:column;padding:2rem 2rem 1.75rem;display:flex}.brand-lockup,.rail-section,.editor-form,.day-ledger,.workspace-header,.toolbar,.surface{animation:.52s both rise-in}.brand-lockup h1,.workspace-header h2,.section-heading h2{font-family:var(--font-display);letter-spacing:-.045em;color:var(--ink);margin:0;line-height:1}.brand-lockup h1{letter-spacing:-.06em;text-wrap:balance;text-shadow:0 12px 28px #00000059;max-width:9ch;margin-top:.35rem;margin-bottom:.3rem;font-size:clamp(2.65rem,4.4vw,4rem);line-height:.92}.workspace-header h2,.section-heading h2{font-size:1.45rem}.brand-copy,.section-heading p,.sync-strip__copy,.empty-copy,.banner,.table-empty{color:var(--muted);margin:0;line-height:1.55}.brand-copy{max-width:16rem;margin-top:.8rem}.tracking-nav{gap:.4rem;margin-top:1.2rem;display:grid}.tracking-nav__button{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel);width:100%;color:var(--muted-strong);text-align:left;align-items:center;gap:.7rem;padding:.8rem .95rem;font-weight:600;transition:transform .16s,background-color .16s,color .16s,border-color .16s;display:inline-flex}.tracking-nav__button:hover{color:var(--ink);background:#f9731614}.tracking-nav__button.is-active{color:#fff;background:linear-gradient(#f9731633,#46250d57);border-color:#f9731680;box-shadow:0 10px 22px #f973162e}.header-copy{align-content:start;gap:.22rem;min-width:0;display:grid}.header-copy .eyebrow{line-height:1}.header-copy h2,.header-copy h3,.header-copy h4,.header-copy p{margin:0}.eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--muted-strong);align-items:center;gap:.35rem;font-size:.76rem;display:inline-flex}.sync-strip,.rail-section,.goal-strip,.toolbar,.surface,.day-ledger,.editor-form{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow-card)}.sync-strip{grid-template-columns:2.4rem 1fr;gap:.9rem;margin-top:2rem;padding:1rem;display:grid}.sync-strip__icon{background:var(--accent-soft);width:2.4rem;height:2.4rem;color:var(--accent);border-radius:999px;place-items:center;display:grid}.sync-strip--local .sync-strip__icon{color:var(--sand-strong);background:#9ca3af2e}.theme-toggle{border:1px solid var(--line);background:var(--panel-strong);box-shadow:var(--shadow-soft)}.theme-toggle:hover{border-color:#f973166b}.sync-strip__label{color:var(--ink);margin:0 0 .2rem;font-weight:700}.rail-section,.editor-form,.day-ledger{width:100%;margin-top:1rem;padding:1.15rem 1rem 1.05rem}.editor-form{align-content:start;gap:1rem;display:grid}.section-heading{min-width:0;color:var(--ink);grid-template-columns:auto 1fr;align-items:start;gap:.75rem;display:grid}.section-heading>svg{flex:none;align-self:start;width:1.1rem;height:1.1rem;margin-top:.18rem;display:block}.section-heading>div{min-width:0}.section-heading p{margin-top:0}.metric-list,.session-stack,.day-ledger__list,.review-list{margin-top:1.05rem}.metric-list{gap:.8rem;display:grid}.metric-row,.session-row,.ledger-item,.toolbar,.workspace-controls,.auth-actions,.month-switcher,.view-switch,.editor-actions,.upload-field__label{align-items:center;display:flex}.metric-row,.session-row{justify-content:space-between;gap:1rem}.metric-row,.review-row,.session-row{width:100%}.metric-row__label,.session-row__count{color:var(--muted)}.metric-row__label,.session-row__name,.review-row span,.review-note{min-width:0}.metric-row__value,.session-row__name,.session-row__pnl,.ledger-item__pnl{color:var(--ink);font-weight:700}.session-row{border-top:1px solid var(--line);padding:.95rem 0}.session-row:first-child{border-top:none;padding-top:0}.session-row>div{gap:.2rem;display:grid}.workspace-header{z-index:8;gap:1rem;padding-bottom:1.2rem;display:grid;position:relative}.workspace-header__topline,.workspace-header__bar{justify-content:space-between;align-items:start;gap:1rem;display:flex}.workspace-header__bar{flex-wrap:wrap;align-items:center}.workspace-controls{flex-wrap:wrap;justify-content:flex-end;gap:.9rem}.goal-strip{z-index:6;grid-template-columns:auto minmax(9rem,1fr) auto;align-items:center;gap:.9rem;margin-bottom:1rem;padding:.85rem 1rem;display:grid;position:relative}.goal-strip__copy{align-items:center;gap:.65rem;min-width:0;display:flex}.goal-strip__field{border:1px solid var(--line);background:var(--panel-strong);color:var(--ink);border-radius:999px;align-items:center;gap:.3rem;padding:.5rem .7rem;display:inline-flex}.goal-strip__field span{color:var(--muted-strong);font-weight:700;line-height:1}.goal-strip__field input{width:5.5rem;color:var(--ink);background:0 0;border:none;outline:none;font-weight:700}.goal-strip__field input::placeholder{color:var(--muted)}.goal-strip__bar{background:var(--surface-track);border-radius:999px;width:100%;height:.75rem;position:relative;overflow:hidden}.goal-strip__axis{background:var(--line-strong);width:1px;position:absolute;top:.1rem;bottom:.1rem;left:50%;transform:translate(-50%)}.goal-strip__fill{border-radius:inherit;transition:width .18s,left .18s;display:block;position:absolute;top:0;bottom:0}.goal-strip__fill.is-gain{background:linear-gradient(90deg,#f59e0b,#fde68a)}.goal-strip__fill.is-loss{background:linear-gradient(90deg,#f87171b3,#f8717159)}.goal-strip__fill.is-flat{background:linear-gradient(90deg,#94a3b8e6,#94a3b873)}.goal-strip__meta{text-align:right;gap:.15rem;display:grid}.goal-strip__meta span:first-child{color:var(--ink);font-weight:700}.goal-strip__meta span:last-child{color:var(--muted);font-size:.85rem}.auth-actions{flex-wrap:wrap;justify-content:flex-end;gap:.75rem}.auth-pill,.backup-actions,.tag-picker,.tag-row,.upload-field__actions,.calendar-popup__header-actions,.calendar-popup__stats{align-items:center;display:flex}.auth-pill,.month-switcher,.view-switch,.ghost-button,.primary-button,.upload-field__label{line-height:1}.auth-pill{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-strong);color:var(--ink);gap:.55rem;padding:.35rem .45rem .35rem .8rem}.month-switcher,.view-switch{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-strong)}.month-switcher{gap:.6rem;padding:.35rem}.month-picker-shell{min-width:8.5rem;position:relative}.month-picker-button{border-radius:var(--radius-md);width:100%;min-width:8.5rem;color:var(--ink);cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:.7rem;padding:.65rem .9rem;display:inline-flex}.month-picker-button:hover{background:#f973161a}.month-picker-button span{text-align:center;letter-spacing:-.015em;min-width:0;color:var(--ink);flex:1;font-weight:700;line-height:1.1}.month-picker-popover{z-index:30;border:1px solid var(--line);border-radius:calc(var(--radius-md) + .15rem);background:var(--popover-bg);width:17rem;box-shadow:var(--shadow-strong);padding:.9rem;position:absolute;top:calc(100% + .55rem);left:50%;transform:translate(-50%)}.month-picker-popover__header,.month-picker-popover__footer{justify-content:space-between;align-items:center;gap:.65rem;display:flex}.month-picker-popover__header strong{color:var(--ink);font-size:1rem;font-weight:700}.month-picker-popover__grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem;margin-top:.8rem;display:grid}.month-picker-popover__month{border-radius:calc(var(--radius-md) - .15rem);background:var(--surface-glass);color:var(--muted-strong);border:1px solid #0000;padding:.7rem .45rem;font-weight:600;line-height:1}.month-picker-popover__month:hover{color:var(--ink);background:#f973161a}.month-picker-popover__month.is-active{color:#fff;background:linear-gradient(#f9731638,#5e321357);border-color:#f9731680;box-shadow:inset 0 0 0 1px #f9731626}.month-picker-popover__footer{margin-top:.8rem}.month-picker-popover__action{width:100%}.filter-field{position:relative}.filter-field__button{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-strong);width:100%;min-height:3.15rem;color:var(--ink);text-align:left;justify-content:space-between;align-items:center;gap:.75rem;padding:.8rem 1rem;display:inline-flex}.filter-field__button span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.filter-field__menu{z-index:30;border:1px solid var(--line);border-radius:calc(var(--radius-md) + .1rem);background:var(--popover-bg);max-height:16rem;box-shadow:var(--shadow-strong);padding:.4rem;position:absolute;top:calc(100% + .45rem);left:0;right:0;overflow-y:auto}.filter-field__option{border-radius:calc(var(--radius-md) - .2rem);width:100%;color:var(--muted-strong);text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem .8rem;display:inline-flex}.filter-field__option:hover{color:var(--ink);background:#f973161a}.filter-field__option.is-active{color:#fff;background:#f9731629}.filter-field__option span{min-width:0}.filter-field__option svg{flex:none}.icon-button,.view-switch button,.ghost-button,.primary-button{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:transform .16s,background-color .16s,color .16s,border-color .16s;display:inline-flex}.icon-button{width:2rem;height:2rem;color:var(--ink);border-radius:999px}.icon-button svg,.view-switch button svg,.ghost-button svg,.primary-button svg,.month-picker-button svg,.search-field>svg,.upload-field__label>svg,.auth-pill>svg{flex:none;display:block}.icon-button:hover,.ghost-button:hover,.day-cell:hover,.ledger-item:hover,.view-switch button:hover{background:var(--accent-soft)}.view-switch{flex-wrap:wrap;justify-content:flex-start;gap:.2rem;padding:.25rem}.view-switch button{border-radius:var(--radius-md);color:var(--muted-strong);gap:.45rem;padding:.65rem .9rem;font-weight:600;line-height:1}.view-switch .is-active{background:var(--accent);color:#fff;box-shadow:0 8px 18px #f9731638}.toolbar{z-index:7;justify-content:space-between;gap:1rem;padding:.9rem 1rem;position:relative}.search-field,.select-field,.field{gap:.35rem;min-width:0;display:grid}.search-field{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-strong);min-width:14rem;color:var(--muted);flex:1;grid-template-columns:1rem 1fr;align-items:center;column-gap:.6rem;padding:.8rem 1rem}.search-toolbar-field{flex:1;min-width:18rem}.search-field input,.field input,.field select,.field textarea,.select-field select{color:var(--ink);background:0 0;border:none;outline:none;width:100%;min-width:0}.search-field input::placeholder,.field input::placeholder,.field textarea::placeholder{color:var(--muted)}.select-field{min-width:11rem}.select-field span,.field span{color:var(--muted-strong);font-size:.84rem;font-weight:700;line-height:1.25}.select-field select{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-strong);min-height:3.15rem;padding:.8rem 1rem;line-height:1.2}.banner{border-left:3px solid var(--sand-strong);background:var(--accent-soft);margin-top:1rem;padding:.85rem 1rem}.banner--error{border-left-color:var(--loss);color:var(--loss-deep)}.banner--status{border-left-color:var(--gain);color:var(--gain-deep)}.status-toast{z-index:70;border-radius:calc(var(--radius-md) + .1rem);background:var(--panel);min-width:15rem;max-width:min(26rem,100vw - 2rem);box-shadow:var(--shadow-strong);color:var(--gain-deep);border:1px solid #4ade8040;align-items:center;gap:.65rem;padding:.85rem 1rem;animation:.18s both toast-in;display:inline-flex;position:fixed;bottom:1.5rem;right:1.5rem}.status-toast svg{color:var(--gain-deep);flex:none}.status-toast span{line-height:1.4}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.metric-cards{grid-template-columns:repeat(5,minmax(0,1fr));gap:.85rem;margin-top:0;display:grid}.metric-card{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-strong);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow-soft);gap:.45rem;padding:1rem;display:grid}.metric-card__label{letter-spacing:.1em;text-transform:uppercase;color:var(--muted-strong);font-size:.78rem}.metric-card__value{font-family:var(--font-display);color:var(--ink);font-size:1.8rem;line-height:1}.metric-card--split{gap:.55rem}.metric-card__split-track{background:var(--paper-strong);border-radius:999px;width:100%;height:.45rem;display:flex;overflow:hidden}.metric-card__split-track-positive{background:var(--gain)}.metric-card__split-track-negative{background:var(--loss)}.metric-card__split-meta{color:var(--muted);justify-content:space-between;gap:.75rem;font-size:.82rem;display:flex}.surface{background:var(--panel-strong);z-index:1;flex-direction:column;flex:1;gap:1rem;min-height:34rem;margin-top:1rem;padding:1rem;display:flex;position:relative}.surface--calendar{flex:none;min-height:0}.surface--auth-state{justify-content:center;min-height:24rem}.loading-state{width:100%;color:var(--muted-strong);place-content:center;gap:.8rem;display:grid}.calendar-panel{align-content:start;gap:.65rem;width:100%;display:grid}.calendar-band{grid-template-columns:minmax(0,1fr) 260px;align-items:start;gap:1rem;display:grid}.calendar-week-column{align-self:start;height:auto;margin-top:0;padding-top:2.7rem;display:flex}.calendar-followup-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:0;display:grid}.calendar-followup-grid .rail-section{margin-top:0}.calendar-week-rail{grid-template-rows:repeat(5,8rem);gap:.65rem;width:100%;display:grid}.calendar-week-card{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-strong);box-shadow:var(--shadow-soft);grid-template-rows:auto auto 1fr auto;align-content:stretch;gap:.38rem;min-height:0;padding:.72rem .85rem;display:grid}.calendar-week-card__label{color:var(--muted-strong);letter-spacing:.12em;text-transform:uppercase;font-size:.75rem}.calendar-week-card__value{font-family:var(--font-display);letter-spacing:-.04em;font-size:1.6rem;line-height:1}.calendar-week-card__meta{color:var(--muted);font-size:.82rem}.calendar-week-card__chips{flex-wrap:wrap;gap:.38rem;margin-top:auto;display:flex}.calendar-week-card__chip{border:1px solid var(--line);background:var(--surface-glass);color:var(--muted-strong);white-space:nowrap;border-radius:999px;align-items:center;padding:.28rem .5rem;font-size:.74rem;line-height:1;display:inline-flex}.table-analytics-card--compact{gap:.5rem;min-height:0}.table-analytics-card--compact .table-analytics-card__value{font-size:1.7rem}.calendar-popup-backdrop{z-index:30;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#3741516b;place-items:center;padding:1.25rem;display:grid;position:fixed;inset:0}.calendar-popup{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-strong);width:min(56rem,100%);max-height:min(84vh,48rem);box-shadow:var(--shadow-strong);padding:1.1rem;overflow:auto}.calendar-popup__header{justify-content:space-between;align-items:start;gap:1rem;display:flex}.calendar-popup__header-actions{gap:.45rem}.calendar-popup__header h3{font-family:var(--font-display);color:var(--ink);margin:0;font-size:1.5rem}.calendar-popup__header p,.calendar-popup__entry p,.calendar-popup__entry span,.calendar-popup__empty p{color:var(--muted);margin:0;line-height:1.5}.calendar-popup__body{gap:.8rem;margin-top:1rem;display:grid}.calendar-popup__stats{align-items:stretch;gap:.8rem;margin-top:1rem}.calendar-popup__stats>div{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-strong);flex:1;gap:.3rem;padding:.8rem;display:grid}.calendar-popup__stats span{color:var(--muted);font-size:.8rem}.calendar-popup__create{justify-content:center}.calendar-popup__entry{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-strong);text-align:left;gap:.85rem;width:100%;padding:.95rem 1rem;display:grid}.calendar-popup__entry strong{color:var(--ink);margin-bottom:.2rem;display:block}.calendar-popup__entry-topline{justify-content:space-between;align-items:start;gap:1rem;display:flex}.calendar-popup__entry-copy{gap:.2rem;display:grid}.calendar-popup__meta,.calendar-popup__action-buttons{flex-wrap:wrap;gap:.55rem;display:flex}.calendar-popup__meta-chip{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-strong);color:var(--ink);align-items:center;padding:.38rem .58rem;font-size:.82rem;line-height:1.2;display:inline-flex}.calendar-popup__setup,.calendar-popup__note p{margin:0}.calendar-popup__setup{color:var(--muted);line-height:1.5}.calendar-popup__setup strong{margin-right:.35rem;display:inline}.calendar-popup__note{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-strong);gap:.35rem;padding:.8rem .9rem;display:grid}.calendar-popup__note-label,.calendar-popup__image-meta{color:var(--muted);font-size:.8rem;line-height:1.4}.calendar-popup__images{grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;display:grid}.calendar-popup__image{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-strong);padding:0;position:relative;overflow:hidden}.calendar-popup__image img{object-fit:cover;width:100%;height:7.25rem;display:block}.calendar-popup__image-count{border-radius:var(--radius-md);color:#fff;background:#374151bd;padding:.3rem .5rem;font-size:.78rem;position:absolute;bottom:.6rem;right:.6rem}.calendar-popup__actions{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.calendar-popup__pnl{white-space:nowrap;color:var(--ink);font-weight:700}.calendar-popup__pnl.is-gain{color:var(--gain-deep)}.calendar-popup__pnl.is-loss{color:var(--loss-deep)}.calendar-popup__pnl.is-flat{color:var(--muted-strong)}.calendar-popup__edit{padding:.55rem .85rem}.calendar-popup__empty{gap:.9rem;display:grid}.calendar-headings,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-headings{gap:.65rem}.calendar-headings span{letter-spacing:.12em;text-transform:uppercase;color:var(--muted-strong);padding:.55rem .4rem;font-size:.76rem}.calendar-grid{grid-auto-rows:minmax(8rem,auto);align-content:start;gap:.65rem}.day-cell{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-strong);text-align:left;flex-direction:column;justify-content:space-between;gap:.8rem;min-height:8rem;padding:.85rem;animation:.42s both cell-in;display:flex}.day-cell__topline{color:var(--muted);justify-content:space-between;gap:.5rem;font-size:.82rem;line-height:1.15;display:flex}.day-cell__date{color:var(--ink);font-size:1.1rem;font-weight:700;line-height:1}.day-cell__pnl{font-size:.95rem;font-weight:700;line-height:1.25}.day-cell__signals{align-items:center;gap:.4rem;min-height:1rem;display:flex}.day-cell__signal{background:var(--surface-glass);color:var(--muted);border:1px solid #94a3b824;border-radius:999px;align-items:center;gap:.22rem;padding:.22rem .35rem;font-size:.7rem;line-height:1;display:inline-flex}.day-cell.is-traded.is-gain-day{background:linear-gradient(180deg, #22c55e14, var(--panel) 58%);border-bottom-color:#22c55e6b}.day-cell.is-traded.is-loss-day{background:linear-gradient(180deg, #f8717114, var(--panel) 58%);border-bottom-color:#f871716b}.day-cell.is-muted{opacity:.48}.day-cell.is-selected{border-color:var(--accent);background:linear-gradient(180deg, var(--accent-soft), var(--panel));transform:translateY(-2px);box-shadow:0 18px 34px #f973161a}.day-cell.is-today .day-cell__date{color:var(--accent)}.day-cell--empty{min-height:8rem;box-shadow:none;pointer-events:none;background:0 0;border-color:#0000}.table-wrap{width:100%;min-width:0;overflow:auto}.trade-table-panel{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel);box-shadow:var(--shadow-card);display:grid;overflow:hidden}.trade-table-panel__toolbar,.trade-table-panel__footer{color:var(--muted);justify-content:space-between;align-items:center;gap:.75rem;font-size:.82rem;display:flex}.trade-table-panel__toolbar{border-bottom:1px solid var(--line);min-height:3.9rem;padding:.8rem 1rem}.trade-table-panel__footer{border-top:1px solid var(--line);padding:.8rem 1rem}.trade-table-panel__bulk{color:var(--muted);padding:.55rem .75rem}.table-board{gap:1rem;margin-top:0;display:grid}.table-board__header{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.65rem 1rem;padding-top:.05rem;display:grid}.table-board__title{gap:.2rem;display:grid}.table-board__header h3{font-family:var(--font-display);letter-spacing:-.04em;color:var(--ink);margin:0;font-size:1.4rem;line-height:1}.table-board__meta{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.45rem;padding-bottom:0;display:flex}.table-board__meta span{border:1px solid var(--line);background:var(--panel-strong);color:var(--muted-strong);white-space:nowrap;border-radius:999px;padding:.35rem .6rem;font-size:.82rem}.table-analytics{grid-template-columns:repeat(5,minmax(0,1fr));gap:.85rem;display:grid}.table-analytics-card{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-strong);box-shadow:var(--shadow-soft);gap:.35rem;padding:1rem;display:grid}.table-analytics-card__label{letter-spacing:.14em;text-transform:uppercase;color:var(--muted-strong);font-size:.74rem}.table-analytics-card__value{font-family:var(--font-display);letter-spacing:-.04em;color:var(--ink);font-size:1.55rem;line-height:1}.table-analytics-card__meta{color:var(--muted);font-size:.88rem}.table-analytics-card--split{gap:.5rem}.table-analytics__split-track{background:var(--paper-strong);border-radius:999px;width:100%;height:.6rem;display:flex;overflow:hidden}.table-analytics__split-track-positive{background:var(--gain)}.table-analytics__split-track-negative{background:var(--loss)}.table-analytics__split-meta{color:var(--muted);justify-content:space-between;gap:.75rem;font-size:.82rem;display:flex}.table-chart-card{isolation:isolate;border-radius:var(--radius-md);background:var(--chart-shell-bg);box-shadow:var(--shadow-soft);border:1px solid #94a3b82e;gap:1rem;padding:1.05rem;display:grid;position:relative;overflow:hidden}.table-chart-card:before{content:"";z-index:-1;background-image:linear-gradient(var(--surface-grid) 1px, transparent 1px), linear-gradient(90deg, var(--surface-grid) 1px, transparent 1px);background-size:44px 44px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000000e6,#0000 82%);mask-image:linear-gradient(#000000e6,#0000 82%)}.table-chart-card__header{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:1rem;display:grid}.daily-pnl-board__stats{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.daily-pnl-board__stat{border-radius:var(--radius-sm);background:var(--surface-glass);min-width:5.4rem;color:var(--muted);border:1px solid #94a3b82e;gap:.1rem;padding:.55rem .7rem;font-size:.72rem;line-height:1.1;display:grid}.daily-pnl-board__stat strong{color:var(--ink);font-size:.95rem;line-height:1}.daily-pnl-board__stat strong.is-gain{color:var(--gain)}.daily-pnl-board__stat strong.is-loss{color:var(--loss)}.table-chart-card__header h4{font-family:var(--font-display);letter-spacing:-.04em;color:var(--ink);margin:0;font-size:1.2rem}.table-chart-card__plot{border-radius:var(--radius-md);background:var(--surface-inset);border:1px solid #94a3b824;overflow:hidden}.daily-pnl-board{grid-template-columns:minmax(15.5rem,.34fr) minmax(0,1fr);gap:1rem;min-height:15rem;padding:1rem;display:grid}.daily-pnl-board__hero{border-radius:var(--radius-md);background:linear-gradient(145deg, var(--surface-glass-strong), transparent 42%), var(--surface-glass);border:1px solid #94a3b826;align-content:space-between;gap:.8rem;min-height:14rem;padding:1rem;display:grid}.daily-pnl-board__label{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;font-weight:700}.daily-pnl-board__net{color:var(--ink);letter-spacing:-.06em;font-size:clamp(2.15rem,4vw,3.65rem);line-height:1}.daily-pnl-board__net.is-gain{color:var(--gain)}.daily-pnl-board__net.is-loss{color:var(--loss)}.daily-pnl-board__split{background:var(--surface-track);border-radius:999px;gap:.25rem;height:.7rem;display:flex;overflow:hidden}.daily-pnl-board__split-gain{background:linear-gradient(90deg,#16a34a,#4ade80)}.daily-pnl-board__split-loss{background:linear-gradient(90deg,#ef4444,#fb7185)}.daily-pnl-board__split-meta,.daily-pnl-board__focus{gap:.45rem;display:grid}.daily-pnl-board__split-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.daily-pnl-board__focus{border-top:1px solid #94a3b81f;padding-top:.25rem}.daily-pnl-board__split-meta span,.daily-pnl-board__focus span{color:var(--muted);justify-content:space-between;gap:.75rem;font-size:.76rem;line-height:1.2;display:flex}.daily-pnl-board__split-meta strong,.daily-pnl-board__focus strong{color:var(--ink);white-space:nowrap;font-weight:800}.daily-pnl-board__focus strong.is-gain{color:var(--gain)}.daily-pnl-board__focus strong.is-loss{color:var(--loss)}.daily-pnl-ticket-wall{grid-template-columns:repeat(auto-fit,minmax(8.25rem,1fr));align-items:stretch;gap:.75rem;max-height:24rem;padding-right:.15rem;display:grid;overflow:auto}.daily-pnl-ticket{border-radius:var(--radius-md);background:var(--surface-glass);border:1px solid #94a3b824;grid-template-rows:auto minmax(6.75rem,1fr) auto;gap:.75rem;min-height:13.5rem;padding:.85rem;transition:transform .16s,border-color .16s,background-color .16s;display:grid;position:relative;overflow:hidden}.daily-pnl-ticket:hover{border-color:var(--line-strong);background:var(--surface-hover);transform:translateY(-2px)}.daily-pnl-ticket:before{content:"";background:#94a3b873;height:.18rem;position:absolute;inset:0 0 auto}.daily-pnl-ticket.is-gain:before{background:linear-gradient(90deg,#22c55e,#86efac)}.daily-pnl-ticket.is-loss:before{background:linear-gradient(90deg,#ef4444,#fda4af)}.daily-pnl-ticket__date,.daily-pnl-ticket__result{gap:.12rem;display:grid}.daily-pnl-ticket__date strong{color:var(--ink);font-size:1.1rem;line-height:1}.daily-pnl-ticket__date small,.daily-pnl-ticket__result small{color:var(--muted);font-size:.72rem;line-height:1.1}.daily-pnl-ticket__meter{border-radius:var(--radius-sm);background:repeating-linear-gradient(0deg, var(--surface-grid) 0, var(--surface-grid) 1px, transparent 1px, transparent 1.45rem), var(--surface-track);border:1px solid #94a3b81a;justify-content:center;align-items:end;min-height:6.75rem;display:flex}.daily-pnl-ticket__meter span{background:var(--muted);border-radius:999px 999px 0 0;width:min(48%,3rem);min-height:.7rem;transition:height .18s;display:block}.daily-pnl-ticket.is-gain .daily-pnl-ticket__meter span{background:linear-gradient(#86efac,#16a34a);box-shadow:0 0 22px #22c55e38}.daily-pnl-ticket.is-loss .daily-pnl-ticket__meter span{background:linear-gradient(#fca5a5,#dc2626);box-shadow:0 0 22px #ef444438}.daily-pnl-ticket__result{align-self:end}.daily-pnl-ticket__result strong{color:var(--ink);font-size:1.05rem;line-height:1}.daily-pnl-ticket.is-gain .daily-pnl-ticket__result strong{color:var(--gain)}.daily-pnl-ticket.is-loss .daily-pnl-ticket__result strong{color:var(--loss-deep)}.table-chart-card__empty{text-align:center;color:var(--muted);padding:3rem 1rem}.table-board__body{grid-template-columns:minmax(0,1fr);align-items:start;gap:1rem;display:grid}.trade-table{border-collapse:separate;border-spacing:0;width:100%;min-width:1180px}.trade-table th,.trade-table td{text-align:left;border-bottom:1px solid var(--line);background:var(--panel);color:var(--ink);white-space:nowrap;padding:.82rem .95rem;font-size:.84rem}.trade-table th{z-index:1;background:var(--paper-strong);color:var(--muted);letter-spacing:0;text-transform:none;font-size:.74rem;font-weight:800;position:sticky;top:0}.trade-table tbody tr{cursor:pointer;transition:background-color .16s,color .16s}.trade-table tbody tr:hover,.trade-table tbody tr.is-active,.trade-table tbody tr:hover td,.trade-table tbody tr.is-active td{background:var(--surface-glass)}.trade-table tbody tr:last-child td:first-child{border-bottom-left-radius:var(--radius-md)}.trade-table tbody tr:last-child td:last-child{border-bottom-right-radius:var(--radius-md)}.table-check{border:1px solid var(--line-strong);vertical-align:middle;border-radius:.12rem;width:.78rem;height:.78rem;display:inline-block}.table-date,.table-symbol{color:var(--ink);font-weight:800}.table-status{letter-spacing:.08em;border-radius:.2rem;justify-content:center;min-width:3rem;padding:.22rem .6rem;font-size:.68rem;font-weight:900;display:inline-flex}.table-status.is-gain{color:var(--gain-deep);background:#00724c61}.table-status.is-loss{color:var(--loss-deep);background:#7f1d1d61}.table-status.is-flat{color:var(--muted-strong);background:#6b72802e}.table-pnl{font-weight:900}.table-setup{text-overflow:ellipsis;white-space:nowrap;vertical-align:top;max-width:10.5rem;display:inline-block;overflow:hidden}.table-empty{text-align:center;background:var(--panel-strong);padding:3rem 1rem}.table-execution{background:#f87171bf;width:4.7rem;height:.2rem;position:relative}.table-execution span{background:var(--gain-deep);border-radius:.08rem;width:1.35rem;height:.42rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.yearly-board,.notes-board{gap:1rem;display:grid}.yearly-summary-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.yearly-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem;display:grid}.year-card,.notes-card{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-strong);box-shadow:var(--shadow-soft)}.year-card{text-align:left;gap:.75rem;padding:1rem;display:grid}.year-card.is-active{border-color:var(--accent);box-shadow:0 16px 28px #f973161f}.year-card__topline,.year-card__stats,.year-card__footer,.notes-entry{justify-content:space-between;gap:.75rem;display:flex}.year-card__topline,.year-card__footer{align-items:center}.year-card__label,.year-card__count{color:var(--muted-strong);font-size:.82rem}.year-card__label{text-transform:uppercase;letter-spacing:.12em}.year-card__value{font-family:var(--font-display);letter-spacing:-.04em;font-size:1.8rem;line-height:1}.year-card__stats,.year-card__footer{color:var(--muted);font-size:.86rem}.notes-board__layout{grid-template-columns:minmax(0,1.45fr) minmax(18rem,.95fr);align-items:start;gap:1rem;display:grid}.notes-card{gap:1rem;padding:1rem;display:grid}.notes-card h4{font-family:var(--font-display);letter-spacing:-.03em;color:var(--ink);margin:0;font-size:1.3rem}.notes-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.notes-field textarea{min-height:10.5rem}.notes-checklist__label{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.notes-checklist__label strong{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.8rem;font-weight:700}.notes-checklist__panel{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-strong);align-content:start;gap:.75rem;min-height:10.5rem;padding:.85rem;display:grid}.notes-checklist__list{gap:.65rem;display:grid}.notes-checklist__item{border:1px solid var(--line);border-radius:calc(var(--radius-md) - .1rem);background:var(--surface-glass);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.65rem;padding:.45rem .5rem;transition:border-color .16s,background-color .16s;display:grid}.notes-checklist__item.is-done{background:#22c55e14;border-color:#4ade802e}.notes-checklist__toggle{border:1px solid var(--line);color:#0000;cursor:pointer;background:0 0;border-radius:999px;justify-content:center;align-items:center;width:1.85rem;height:1.85rem;transition:border-color .16s,background-color .16s,color .16s,transform .16s;display:inline-flex}.notes-checklist__toggle:hover{background:#f973161a;border-color:#f9731673}.notes-checklist__toggle.is-active{color:var(--success);background:#22c55e2e;border-color:#4ade8059}.notes-checklist__item input{color:var(--ink);background:0 0;border:none;outline:none;width:100%;min-width:0;padding:0;line-height:1.4}.notes-checklist__item input::placeholder,.notes-checklist__item.is-done input{color:var(--muted)}.notes-checklist__remove{width:1.85rem;height:1.85rem;color:var(--muted)}.notes-checklist__remove:hover{color:var(--ink)}.notes-checklist__empty{border:1px dashed var(--line);border-radius:calc(var(--radius-md) - .1rem);color:var(--muted);margin:0;padding:.8rem .9rem;line-height:1.45}.notes-checklist__add{border:1px dashed var(--line);border-radius:var(--radius-md);color:var(--muted-strong);justify-self:start;gap:.45rem;padding:.65rem .85rem}.notes-checklist__add:hover{border-color:#f9731659}.notes-sidebar{gap:1rem;display:grid}.notes-entry-list{gap:.7rem;display:grid}.notes-entry{border-top:1px solid var(--line);width:100%;color:inherit;cursor:pointer;text-align:left;background:0 0;border-bottom:none;border-left:none;border-right:none;align-items:flex-start;padding:.9rem 0}.notes-entry:first-child{border-top:none;padding-top:0}.notes-entry:hover{background:0 0}.notes-entry__copy{gap:.22rem;min-width:0;display:grid}.notes-entry__copy strong{color:var(--ink)}.notes-entry__copy span{color:var(--muted);line-height:1.45}.notes-entry__pnl{white-space:nowrap;font-weight:700}.pnl-pill{border-radius:999px;align-items:center;gap:.35rem;padding:.45rem .7rem;font-weight:700;display:inline-flex}.is-gain{color:var(--gain-deep)}.is-loss{color:var(--loss-deep)}.is-flat{color:var(--muted-strong)}.pnl-pill.is-gain{background:#127a4b1a}.pnl-pill.is-loss{background:#ba4c331a}.pnl-pill.is-flat{background:#6b72801a}.ghost-button,.primary-button{border-radius:var(--radius-md);justify-content:center;gap:.45rem;padding:.8rem 1rem;line-height:1}.ghost-button{border:1px solid var(--line);background:var(--panel);color:var(--ink)}.ghost-button--danger{color:var(--loss-deep)}.primary-button{background:var(--accent);color:#fff;flex:1;box-shadow:0 10px 22px #f973162e}.workspace-action-button{white-space:nowrap;flex:none;padding-inline:1rem}.primary-button:disabled,.ghost-button:disabled{opacity:.55;cursor:not-allowed}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.field-grid>*{min-width:0}.field input,.field select,.field textarea{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-strong);resize:vertical;padding:.82rem .95rem}.field-inline-action{grid-template-columns:minmax(0,1fr) auto;gap:.55rem;display:grid}.tag-picker,.tag-row{flex-wrap:wrap;align-items:flex-start;gap:.5rem;margin-top:.75rem}.tag-chip-wrap{align-items:center;gap:.25rem;display:inline-flex}.tag-chip{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-strong);color:var(--ink);padding:.45rem .7rem;font-size:.84rem;line-height:1.2}.tag-chip.is-active{border-color:var(--accent);color:var(--accent);background:#f973161f}.tag-chip-delete{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-strong);width:1.6rem;height:1.6rem;color:var(--loss-deep);font-size:.82rem;line-height:1}.field-inline-action input{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-strong);padding:.82rem .95rem}.field-inline-action__button{padding-inline:.9rem}.editor-modal-backdrop{z-index:35;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#3741517a;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.editor-modal{border:1px solid var(--line);background:var(--panel-strong);width:min(64rem,100%);max-height:92vh;padding:1.1rem;overflow:auto;box-shadow:0 32px 72px #3741513d}.editor-modal__header{justify-content:space-between;align-items:start;gap:1rem;display:flex}.editor-modal__header h3{font-family:var(--font-display);color:var(--ink);margin:0;font-size:1.55rem}.editor-modal__header p{color:var(--muted);margin:0;line-height:1.5}.editor-form--modal{box-shadow:none;background:0 0;border:none;margin-top:1rem;padding:0}.score-strip{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-strong);gap:.2rem;margin-top:.75rem;padding:.9rem 1rem;display:grid}.score-strip strong{font-family:var(--font-display);color:var(--ink);font-size:1.8rem;line-height:1}.score-strip span,.score-strip p{color:var(--muted);margin:0;line-height:1.45}.check-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin-top:.75rem;display:grid}.check-chip{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-strong);color:var(--ink);text-align:left;padding:.8rem .9rem;line-height:1.35}.check-chip.is-active{border-color:var(--accent);color:var(--accent);background:#f973161f}.upload-field{border:1px dashed var(--line-strong);border-radius:var(--radius-md);background:var(--panel-strong);cursor:default;outline:none;gap:.7rem;padding:1rem;display:grid}.upload-field input{display:none}.upload-field:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px #f973161f}.upload-field__label{color:var(--ink);gap:.55rem;font-weight:700;line-height:1.3}.upload-field__hint{color:var(--muted);font-size:.93rem;line-height:1.45}.upload-field__button{width:100%;margin-top:0}.upload-field__actions{align-items:stretch;gap:.55rem;display:grid}.image-preview-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:.9rem;display:grid}.image-preview-card{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-strong);gap:.55rem;padding:.75rem;display:grid}.image-preview-card.is-active .image-preview{border-color:var(--accent)}.image-preview{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-strong);width:100%;padding:0;display:block;position:relative;overflow:hidden}.image-preview img{object-fit:cover;width:100%;height:8.5rem}.editor-modal .image-preview img{height:9.5rem}.image-preview__hint{border-radius:var(--radius-md);color:#fff;background:#374151b8;padding:.35rem .55rem;font-size:.78rem;position:absolute;bottom:.75rem;right:.75rem}.image-preview-card__actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;display:grid}.image-preview-card__button{flex:1;min-width:0;padding:.7rem .75rem}.table-image-button{padding:.55rem .75rem}.editor-actions{justify-content:space-between;gap:.75rem}.review-list{gap:.9rem;display:grid}.review-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:.75rem;display:flex}.review-row strong{text-align:right;text-wrap:balance;max-width:48%}.review-note{color:var(--muted);margin:0;line-height:1.5}.backup-actions{grid-template-columns:1fr;gap:.7rem;margin-top:1.1rem;display:grid}.backup-actions .ghost-button,.backup-actions .primary-button{width:100%}.auth-card{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-strong);width:min(28rem,100%);box-shadow:var(--shadow-card);gap:1rem;margin:auto;padding:1.25rem;display:grid}.auth-card h3{font-family:var(--font-display);letter-spacing:-.04em;margin:0;font-size:1.7rem;line-height:1.02}.auth-card p{color:var(--muted);margin:0;line-height:1.6}.auth-card__list{color:var(--muted-strong);gap:.45rem;margin:0;padding-left:1.2rem;display:grid}.auth-card__actions{margin-top:.25rem}.annotator-backdrop{z-index:40;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#3741518c;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.annotator{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-strong);width:min(54rem,100%);max-height:90vh;box-shadow:var(--shadow-strong);padding:1rem;overflow:auto}.annotator__header,.annotator__toolbar{justify-content:space-between;align-items:center;gap:1rem;display:flex}.annotator__header{align-items:start}.annotator__header h3{font-family:var(--font-display);margin:0;font-size:1.4rem}.annotator__toolbar{margin-top:1rem}.annotator__colors{gap:.5rem;display:flex}.annotator__swatch{border:2px solid #0000;border-radius:999px;width:1.8rem;height:1.8rem}.annotator__swatch.is-active{border-color:var(--ink)}.annotator__canvas-wrap{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-strong);margin-top:1rem;position:relative;overflow:hidden}.annotator__image{object-fit:contain;width:100%;max-height:68vh;display:block}.annotator__canvas{touch-action:none;cursor:crosshair;width:100%;height:100%;position:absolute;inset:0}.image-lightbox-backdrop{z-index:45;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#3741519e;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.image-lightbox{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-strong);width:min(72rem,100%);max-height:90vh;box-shadow:var(--shadow-strong);padding:1rem;overflow:auto}.image-lightbox__header{justify-content:space-between;align-items:start;gap:1rem;display:flex}.image-lightbox__header h3{font-family:var(--font-display);margin:0;font-size:1.4rem}.image-lightbox__body{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-strong);margin-top:1rem;overflow:hidden}.image-lightbox__image{object-fit:contain;width:100%;max-height:75vh;display:block}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.day-ledger__list{gap:.7rem;min-width:0;display:grid}.ledger-item{appearance:none;border:0;border-top:1px solid var(--line);width:100%;box-shadow:none;color:inherit;cursor:pointer;text-align:left;background:0 0;border-radius:0;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.9rem;padding:.9rem 0;display:grid}.ledger-item:first-child{border-top:none;padding-top:0}.ledger-item>div{min-width:0}.ledger-item strong{color:var(--ink);font-size:.98rem;font-weight:700;line-height:1.2;display:block}.ledger-item>div>span{color:var(--muted);overflow-wrap:anywhere;margin-top:.35rem;font-size:.88rem;line-height:1.4;display:block}.ledger-item__pnl{white-space:nowrap;align-self:center;margin-top:0;font-size:.98rem}.ledger-item.is-active{color:var(--accent)}:root[data-theme=light] .brand-lockup h1{text-shadow:none}:root[data-theme=light] .tracking-nav__button.is-active,:root[data-theme=light] .view-switch button.is-active,:root[data-theme=light] .month-picker-popover__month.is-active,:root[data-theme=light] .filter-field__option.is-active,:root[data-theme=light] .primary-button{color:#fff}:root[data-theme=light] .table-status.is-gain,:root[data-theme=light] .pnl-pill.is-gain{color:var(--gain);background:#16a34a1a}:root[data-theme=light] .table-status.is-loss,:root[data-theme=light] .pnl-pill.is-loss{color:var(--loss);background:#dc26261a}:root[data-theme=light] .table-execution{background:#dc262638}:root[data-theme=light] .calendar-popup__image-count,:root[data-theme=light] .image-preview__hint{background:#0f172ab8}.sync-strip:hover,.rail-section:hover,.surface:hover,.day-ledger:hover,.editor-form:hover,.metric-card:hover,.table-analytics-card:hover,.table-chart-card:hover,.calendar-popup__entry:hover,.image-preview-card:hover{box-shadow:var(--shadow-strong)}.spin{animation:.9s linear infinite spin}@keyframes rise-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes cell-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (width<=1320px){.app-shell{grid-template-columns:300px minmax(0,1fr)}}@media (width<=1120px){.app-shell{grid-template-columns:1fr}.rail{max-height:none;position:static;overflow:visible}.rail--brand{border:none}.workspace,.rail{min-height:auto}.calendar-band{grid-template-columns:1fr}.calendar-week-column{padding-top:0}.calendar-week-rail{grid-template-rows:none}.yearly-grid,.yearly-summary-grid,.notes-board__layout,.notes-grid{grid-template-columns:1fr}}@media (width<=780px){.workspace,.rail{padding:1.1rem}.workspace-header,.toolbar,.editor-actions,.editor-modal__header,.calendar-popup__stats,.annotator__header,.annotator__toolbar,.workspace-controls{flex-direction:column;align-items:stretch}.month-switcher span{flex:1;min-width:0}.month-picker-button,.view-switch{width:100%}.view-switch button{flex:1;justify-content:center}.field-grid{grid-template-columns:1fr}.metric-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-headings,.calendar-grid{gap:.35rem}.calendar-followup-grid{grid-template-columns:1fr}.table-board__header{grid-template-columns:1fr;align-items:start}.table-board__meta{justify-content:flex-start;padding-bottom:0}.table-board__body,.table-chart-card__header{grid-template-columns:1fr}.daily-pnl-board__stats{justify-content:flex-start}.daily-pnl-board{grid-template-columns:1fr;min-width:0}.daily-pnl-ticket-wall{max-height:none}.daily-pnl-ticket{min-height:12rem}.yearly-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.day-cell{min-height:7rem;padding:.7rem}.calendar-popup,.editor-modal{width:100%;min-height:100vh;max-height:100vh;padding:.9rem}.calendar-popup__entry{flex-direction:column;align-items:start}.calendar-popup__entry-topline,.calendar-popup__actions{flex-direction:column;align-items:stretch}.calendar-popup__header-actions,.upload-field__actions,.backup-actions{flex-wrap:wrap}.calendar-popup__images{grid-template-columns:1fr}.sticky-mobile-actions{border:1px solid var(--line);background:var(--panel-strong);padding:.75rem;position:sticky;bottom:0}.check-grid{grid-template-columns:1fr}.image-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.metric-cards,.yearly-grid,.image-preview-grid{grid-template-columns:1fr}}.price-action-board{gap:1rem;display:grid}.price-action-card{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel);box-shadow:var(--shadow-card);gap:1rem;padding:1rem;display:grid}.price-action-card--placeholder{align-content:center;min-height:10rem}.price-action-popup{width:min(72rem,100%)}.price-action-card__header,.price-action-editor-actions,.price-action-editor-actions__buttons{justify-content:space-between;align-items:flex-start;gap:.85rem;display:flex}.price-action-card__header-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.price-action-popup__header-actions{justify-content:flex-end;align-items:flex-start;gap:.75rem;display:flex}.price-action-metric__meta,.price-action-guide p,.price-action-timeframe-card__header p,.price-action-day__meta,.price-action-timeframe-card__status{color:var(--muted);margin:0;line-height:1.5}.price-action-field-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.price-action-chip-groups,.price-action-chip-group,.price-action-guide,.price-action-support-grid{gap:.8rem;display:grid}.price-action-support-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.price-action-chip-group{gap:.45rem}.price-action-summary-field textarea{min-height:7.5rem}.price-action-calendar{gap:.75rem;display:grid;overflow-x:auto}.price-action-calendar__headings{grid-template-columns:repeat(7,minmax(0,1fr));gap:.75rem;min-width:56rem;display:grid}.price-action-calendar__headings span{color:var(--muted-strong);letter-spacing:.12em;text-transform:uppercase;padding:0 .2rem;font-size:.8rem;font-weight:700}.price-action-calendar__grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.75rem;min-width:56rem;display:grid}.price-action-day{appearance:none;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-strong);width:100%;min-height:10.75rem;color:inherit;text-align:left;cursor:pointer;align-content:flex-start;gap:.7rem;padding:.95rem;transition:transform .16s,border-color .16s,background-color .16s,box-shadow .16s;display:grid}.price-action-day:hover{border-color:#f9731661;transform:translateY(-1px)}.price-action-day--empty{visibility:hidden;pointer-events:none}.price-action-day.is-selected{border-color:#f97316b3;box-shadow:0 14px 28px #f973161f}.price-action-day.is-today{border-color:#f9731666}.price-action-day.has-log.is-bullish{background:linear-gradient(180deg, #16a34a2e, var(--panel-strong))}.price-action-day.has-log.is-bearish{background:linear-gradient(180deg, #ef444429, var(--panel-strong))}.price-action-day.has-log.is-neutral{background:linear-gradient(180deg, #f59e0b29, var(--panel-strong))}.price-action-day__topline{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.price-action-day__date{color:var(--ink);font-size:1.05rem;font-weight:800}.price-action-day__coverage{color:var(--muted-strong);font-size:.78rem;font-weight:700}.price-action-day__body{align-content:flex-start;gap:.55rem;display:grid}.price-action-day__model{color:var(--ink);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.96rem;line-height:1.25;display:-webkit-box;overflow:hidden}.price-action-day__bias{letter-spacing:.04em;text-transform:uppercase;border:1px solid #94a3b847;border-radius:999px;justify-self:flex-start;padding:.24rem .55rem;font-size:.72rem;font-weight:700}.price-action-day__bias.is-bullish,.price-action-bias-chip.is-bullish{color:var(--success);background:#11442f47;border-color:#4ade8047}.price-action-day__bias.is-bearish,.price-action-bias-chip.is-bearish{color:var(--loss-deep);background:#54202047;border-color:#f871714d}.price-action-day__bias.is-neutral,.price-action-bias-chip.is-neutral{color:var(--sand-strong);background:#402e1847;border-color:#f59e0b47}.price-action-timeframe-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.price-action-timeframe-card{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-strong);align-content:start;gap:.8rem;padding:.95rem;display:grid}.price-action-timeframe-card input[type=file]{display:none}.price-action-timeframe-card--wide{grid-column:1/-1}.price-action-timeframe-card__header{gap:.3rem;display:grid}.price-action-timeframe-card__header span{color:var(--ink);letter-spacing:.08em;font-size:.88rem;font-weight:700}.price-action-timeframe-card textarea{min-height:8.5rem}.price-action-upload-field{align-content:center;gap:.85rem;min-height:8.5rem}.price-action-timeframe-dropzone{outline:none;gap:.75rem;display:grid}.price-action-timeframe-dropzone:focus-visible .price-action-upload-field,.price-action-timeframe-dropzone:focus-visible .price-action-timeframe-preview,.price-action-timeframe-dropzone.is-drag-over .price-action-upload-field,.price-action-timeframe-dropzone.is-drag-over .price-action-timeframe-preview{border-color:#f973169e;box-shadow:0 0 0 3px #f9731624}.price-action-timeframe-dropzone.is-drag-over .price-action-upload-field{background:#f973160f}.price-action-timeframe-dropzone__hint{color:var(--muted);margin:0;font-size:.88rem;line-height:1.45}.price-action-timeframe-media,.price-action-timeframe-actions{gap:.75rem;display:grid}.price-action-timeframe-preview{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel);width:100%;padding:0;display:block;position:relative;overflow:hidden}.price-action-timeframe-preview img{object-fit:cover;width:100%;height:13.5rem;display:block}.price-action-editor-actions{margin-top:.2rem}.price-action-editor-actions__buttons{justify-content:flex-end;align-items:center}:root[data-theme=light] .price-action-day__bias.is-bullish,:root[data-theme=light] .price-action-bias-chip.is-bullish{background:#16a34a1a}:root[data-theme=light] .price-action-day__bias.is-bearish,:root[data-theme=light] .price-action-bias-chip.is-bearish{background:#dc26261a}:root[data-theme=light] .price-action-day__bias.is-neutral,:root[data-theme=light] .price-action-bias-chip.is-neutral{background:#ea580c1a}@media (width<=1180px){.price-action-field-grid,.price-action-support-grid{grid-template-columns:1fr}}@media (width<=780px){.price-action-card__header,.price-action-editor-actions,.price-action-editor-actions__buttons{flex-direction:column;align-items:stretch}.price-action-card__header-actions{justify-content:flex-start}.price-action-popup__header-actions{flex-direction:column-reverse;align-items:stretch;width:100%}.price-action-timeframe-grid,.price-action-support-grid{grid-template-columns:1fr}.price-action-timeframe-card--wide{grid-column:auto}.price-action-day{min-height:auto}}
