@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;--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;--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;--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);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;line-height:1.5}*,:before,:after{box-sizing:border-box}html{background:var(--paper);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}.app-shell{grid-template-columns:320px minmax(0,1fr);align-items:start;max-width:1540px;min-height:100vh;margin:0 auto;display:grid}.rail,.workspace{min-width:0;min-height:100vh}.rail{flex-direction:column;align-items:stretch;max-height:100vh;padding:2.2rem 1.6rem;display:flex;position:sticky;top:0;overflow-y:auto}.rail--brand{border-right:1px solid var(--line);background:var(--paper)}.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}.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,.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}.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:1.15rem 1fr;align-items:start;gap:.75rem;display:grid}.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{justify-content:space-between;align-items:start;gap:1rem;padding-bottom:1.2rem;display:flex}.workspace-controls{flex-wrap:wrap;justify-content:flex-end;gap:.9rem}.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{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-switcher span{text-align:center;letter-spacing:-.015em;min-width:8.5rem;color:var(--ink);font-weight:700;line-height:1.1}.icon-button,.view-switch button,.ghost-button,.primary-button,.day-cell,.ledger-item{cursor:pointer;background:0 0;border:none;transition:transform .16s,background-color .16s,color .16s,border-color .16s}.icon-button{width:2rem;height:2rem;color:var(--ink);border-radius:999px;place-items:center;display:grid}.icon-button:hover,.ghost-button:hover,.day-cell:hover,.ledger-item:hover,.view-switch button:hover{background:#f973161a}.view-switch{gap:.2rem;padding:.25rem}.view-switch button{border-radius:var(--radius-md);color:var(--muted-strong);gap:.45rem;padding:.65rem .9rem;font-weight:600}.view-switch .is-active{background:var(--accent);color:#fff;box-shadow:0 8px 18px #f9731638}.toolbar{justify-content:space-between;gap:1rem;padding:.9rem 1rem}.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);padding:.8rem 1rem}.banner{border-left:3px solid var(--sand-strong);background:linear-gradient(#271910b8,#171412eb);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)}.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);flex-direction:column;flex:1;gap:1rem;min-height:34rem;margin-top:1rem;padding:1rem;display:flex}.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);color:var(--muted-strong);white-space:nowrap;background:#ffffff08;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__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.is-muted{opacity:.48}.day-cell.is-selected{border-color:var(--accent);background:linear-gradient(#f973162e,#3321136b);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{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel);width:100%;min-width:0;box-shadow:var(--shadow-card);overflow:auto}.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{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-strong);box-shadow:var(--shadow-soft);gap:1rem;padding:1rem;display:grid}.table-chart-card__header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.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__header p{color:var(--muted);max-width:20rem;margin:0;line-height:1.45}.table-chart-card__plot{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-strong);padding:.35rem .5rem .2rem;overflow:hidden}.table-chart{width:100%;height:240px;display:block}.table-chart__gridline{stroke:#ffffff14;stroke-width:1px;stroke-dasharray:3 4}.table-chart__baseline{stroke:#ffffff2e;stroke-width:1.25px}.table-chart__bar{fill:var(--accent)}.table-chart__bar.is-positive{fill:var(--gain)}.table-chart__bar.is-negative{fill:var(--loss)}.table-chart__value{fill:var(--muted-strong);letter-spacing:.01em;font-size:12px;font-weight:700}.table-chart__label{fill:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px}.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:980px}.trade-table th,.trade-table td{text-align:left;border-bottom:1px solid var(--line);background:var(--panel-strong);padding:1rem .85rem}.trade-table th{z-index:1;background:var(--panel-strong);letter-spacing:.14em;text-transform:uppercase;color:var(--muted-strong);font-size:.74rem;position:sticky;top:0}.trade-table tbody tr{cursor:pointer;transition:background-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:#f9731614}.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-date{gap:.15rem;display:grid}.table-date strong{color:var(--ink);font-size:1.2rem}.table-date span{color:var(--muted)}.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:#161921eb;padding:3rem 1rem}.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}.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{border-top:1px solid var(--line);text-align:left;justify-content:space-between;width:100%;padding:.9rem 0}.ledger-item:first-child{border-top:none;padding-top:0}.ledger-item strong{color:var(--ink);display:block}.ledger-item span{color:var(--muted);margin-top:.25rem;line-height:1.45;display:block}.ledger-item__pnl{white-space:nowrap;margin-top:0}.ledger-item.is-active{color:var(--accent)}.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}}@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}.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{grid-template-columns: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,.image-preview-grid{grid-template-columns:1fr}}
