:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#eef3ef;color:#1d2521;font-synthesis:none;text-rendering:geometricPrecision}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;display:flex;flex-direction:column}.topbar{height:64px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d7ddd1;background:#fbfcf8}.brand-lockup,.section-title,.topbar-actions,.month-toolbar,.target-row{display:flex;align-items:center}.brand-lockup{gap:10px}.brand-lockup div{display:grid}.brand-lockup strong{font-size:15px}.brand-lockup span,.muted{color:#68726a;font-size:12px}.topbar-actions,.month-toolbar{gap:8px}.icon-button{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #ccd4c7;border-radius:8px;background:#fff;color:#243029}.workspace{display:grid;grid-template-columns:minmax(720px,1fr) 340px;grid-template-areas:"message message" "overview overview" "controls controls" "calendar rail" "details details";gap:12px;min-height:calc(100vh - 64px);padding:12px}.calendar-panel{grid-area:calendar;min-width:0;padding:16px;border:1px solid #d7ddd1;border-radius:8px;background:#fbfcf8}.month-toolbar{justify-content:center;margin-bottom:14px}.month-toolbar h1{width:260px;margin:0;text-align:center;font-size:24px;font-weight:720;text-transform:capitalize}.weekday-row,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(88px,1fr));gap:8px}.weekday-row{margin-bottom:8px}.weekday-row span{color:#69746c;font-size:12px;font-weight:700;text-align:center}.calendar-grid{grid-auto-rows:minmax(112px,1fr)}.calendar-empty,.day-cell{min-height:112px}.day-cell{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:10px;padding:10px;text-align:left;border:1px solid #d5dccf;border-radius:8px;background:#fff;color:#1e2923}.day-cell.selected{border-color:#1c7c6e;box-shadow:0 0 0 2px #1c7c6e24}.day-cell.has_trades{background:#f4fbf8}.day-cell.closed{background:#ecefec;color:#6f7a73}.day-cell.missing{background:#fff9e9}.day-number{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:#e7ede6;font-weight:800}.day-metrics{display:grid;gap:3px;font-size:12px;line-height:1.28}.day-metrics strong{color:#12665b}.day-status{color:#788179;font-size:12px}.note-mark{position:absolute;right:10px;top:14px;color:#925f12}.utility-rail{grid-area:rail;display:grid;align-content:start;gap:12px;min-width:0}.side-section{padding:14px;border:1px solid #d8ded2;border-radius:8px;background:#fff}.global-message{grid-area:message;margin:0}.is-hidden{display:none}.overview-strip{grid-area:overview;display:grid;grid-template-columns:minmax(220px,1.25fr) minmax(220px,1.25fr) minmax(180px,1fr) minmax(130px,.55fr);gap:8px}.overview-card{display:grid;gap:6px;min-height:86px;padding:12px;border:1px solid #d8ded2;border-radius:8px;background:#fff}.overview-card span{color:#647069;font-size:12px;font-weight:720}.overview-card strong{color:#17211c;font-size:21px;line-height:1.05}.overview-card.positive strong{color:#12665b}.overview-card.negative strong{color:#a43d22}.compact-stat strong{font-size:30px}.detail-grid{grid-area:details;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(420px,.9fr);gap:16px;align-items:start}.detail-grid.single-detail{grid-template-columns:minmax(0,1fr)}.control-strip{grid-area:controls;display:grid;grid-template-columns:minmax(280px,1fr) auto;gap:12px;align-items:center;padding:10px;border:1px solid #d8ded2;border-radius:8px;background:#fff}.symbol-search{display:grid;grid-template-columns:auto minmax(160px,1fr) auto;gap:10px;align-items:center}.symbol-search svg{color:#607067}.search-button{min-height:38px;padding:0 16px}.view-tabs{display:inline-grid;grid-template-columns:repeat(3,minmax(112px,1fr));gap:4px;padding:4px;border:1px solid #ccd4c7;border-radius:8px;background:#f4f6f1}.view-tabs button{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:6px;background:transparent;color:#3f4c44;font-weight:760}.view-tabs button.active{background:#fff;color:#12665b;box-shadow:0 1px 2px #18261f14}.statistics-panel{grid-area:details;display:grid;grid-template-columns:minmax(280px,1.15fr) repeat(2,minmax(220px,.85fr)) minmax(280px,1.15fr);gap:10px}.analysis-column{min-width:0;padding:12px;border:1px solid #d8ded2;border-radius:8px;background:#fff}.analysis-column.wide{grid-column:span 1}.count-pill{min-width:30px;padding:4px 8px;border-radius:999px;background:#edf3ea;color:#4f5f55;font-size:12px;font-weight:800;text-align:center}.symbol-summary-list{display:grid;gap:6px;max-height:520px;overflow:auto}.symbol-summary-row{width:100%;display:grid;grid-template-columns:76px minmax(84px,1fr) 116px;gap:5px 8px;align-items:center;padding:8px;border:1px solid transparent;border-radius:8px;background:#f4f6f1;color:#1d2521;text-align:left}.symbol-summary-row:hover{background:#e8eee4}.symbol-summary-row.positive{border-color:#cfe4da;background:#eef8f3}.symbol-summary-row.negative{border-color:#f0d4c8;background:#fff2ec}.symbol-summary-row.neutral{border-color:#dce4d7;background:#f7f9f5}.symbol-summary-row strong{font-size:14px}.symbol-summary-row span{min-width:0;color:#637069;font-size:11px;overflow-wrap:anywhere}.symbol-summary-row span:nth-child(4),.symbol-summary-row span:nth-child(5){grid-column:span 1}.positive-text{color:#12665b!important;font-weight:820}.negative-text{color:#a43d22!important;font-weight:820}.section-title{gap:8px;margin-bottom:8px}.section-title h2{flex:1;margin:0;font-size:15px}select,input,textarea{width:100%;border:1px solid #cbd3c6;border-radius:8px;background:#fff;color:#1d2521}select,input{height:38px;padding:0 10px}textarea{min-height:74px;padding:10px;resize:vertical}.compact-form,.auth-form,.note-form{display:grid;gap:10px}.primary-button,.text-button{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:8px;font-weight:760}.primary-button{border:0;background:#12665b;color:#fff}.text-button{border:1px solid #cbd3c6;background:#fff;color:#263229}.upload-drop{height:76px;display:flex;align-items:center;justify-content:center;gap:10px;border:1px dashed #96a89b;border-radius:8px;background:#f6faf6;font-weight:760}.upload-drop input{display:none}.calendar-export{display:grid;gap:10px}.date-range-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.full-button{width:100%}.big-number{margin-bottom:4px;font-size:26px;font-weight:820}.portfolio-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:8px}.portfolio-metrics div{display:grid;gap:2px;padding:10px;border-radius:8px;background:#f4f6f1}.portfolio-metrics span{color:#667267;font-size:12px}.portfolio-metrics strong{color:#1d2521;font-size:20px}.target-row{justify-content:space-between;gap:12px;margin-top:12px}.target-row input{max-width:130px}.progress-track{height:10px;overflow:hidden;margin-top:10px;border-radius:999px;background:#e3e9df}.progress-fill{height:100%;background:#c28a1d}.metric-list,.position-list{display:grid;gap:8px}.position-list{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.metric-list span,.position-row{padding:8px;border-radius:8px;background:#f4f6f1;font-size:12px}.position-row,.trade-row{width:100%;border:0;color:#1d2521;font:inherit;text-align:left;cursor:pointer}.position-row:hover,.trade-row:hover{background:#e8eee4}.compact-button{min-height:30px;padding:0 10px}.method-switch{display:inline-grid;grid-template-columns:repeat(2,minmax(128px,1fr));gap:4px;width:min(360px,100%);margin-bottom:12px;padding:4px;border:1px solid #ccd4c7;border-radius:8px;background:#f4f6f1}.method-switch button{min-height:34px;border:0;border-radius:6px;background:transparent;color:#445149;font-weight:780}.method-switch button.active{background:#fff;color:#12665b;box-shadow:0 1px 2px #18261f14}.method-comparison-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.symbol-hero-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin-bottom:12px}.symbol-hero-metrics div{display:grid;gap:4px;min-height:66px;padding:10px;border:1px solid #d8ded2;border-radius:8px;background:#f4f8f3}.symbol-hero-metrics span{color:#617067;font-size:11px;font-weight:760}.symbol-hero-metrics strong{min-width:0;color:#1d2521;font-size:16px;overflow-wrap:anywhere}.method-card{min-width:0;display:grid;gap:10px;padding:12px;border:1px solid #d8ded2;border-radius:8px;background:#fbfcf8}.method-card-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start}.method-card-header div{display:grid;gap:3px}.method-card-header span{color:#667267;font-size:12px}.compact-metrics{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:0}.break-even-box{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.break-even-box div{display:grid;gap:4px;padding:10px;border-radius:8px;background:#eef7f4}.break-even-box span{color:#587069;font-size:11px;font-weight:720}.break-even-box strong{color:#155e54;font-size:15px}.break-even-box small{color:#63736b;font-size:11px;line-height:1.3}.decision-price{display:grid;gap:4px;padding:12px;border:1px solid #b8d8ce;border-radius:8px;background:#e7f5f1}.decision-price span{color:#46645b;font-size:12px;font-weight:820}.decision-price strong{color:#0f5f55;font-size:22px;line-height:1.05}.closed-position-note{padding:10px;border-radius:8px;background:#eef2ea;color:#56635b;font-size:12px;font-weight:720}.compact-match-list{max-height:520px}.trade-history-panel{margin-top:12px;border-top:1px solid #e0e5dc;padding-top:10px}.trade-history-panel summary{cursor:pointer;color:#314139;font-size:13px;font-weight:820}.symbol-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}.symbol-metrics div,.cycle-row{display:grid;gap:2px;padding:8px;border-radius:8px;background:#f4f6f1}.symbol-metrics span{color:#667267;font-size:11px}.symbol-metrics strong{font-size:13px}.cycle-section{margin-top:12px}.subsection-title{display:grid;gap:3px;margin-bottom:8px}.subsection-title strong{font-size:13px}.subsection-title span{color:#667267;font-size:12px}.cycle-list{display:grid;gap:6px;margin:10px 0}.match-list{display:grid;gap:6px;max-height:420px;overflow:auto}.match-group{display:grid;gap:6px}.match-day-summary{display:grid;grid-template-columns:minmax(120px,1fr) auto auto;gap:10px;align-items:center;padding:9px 10px;border:1px solid #c9ded6;border-radius:8px;background:#eef7f4;color:#155e54;font-size:12px}.match-day-summary span{color:#5d7068;font-weight:720}.cycle-row{grid-template-columns:72px 1fr 1fr 1fr;align-items:center;font-size:12px}.match-row{display:grid;grid-template-columns:92px 92px 70px 84px 84px minmax(104px,1fr);gap:8px;align-items:center;padding:8px;border-radius:8px;background:#f4f6f1;font-size:12px}.match-row span,.match-row strong{min-width:0;overflow-wrap:anywhere}.cycle-header,.match-header{position:sticky;top:0;z-index:2;background:#fbfcf8;color:#667267;font-weight:780;padding-top:0;padding-bottom:0}.trade-list{display:grid;gap:6px;margin-top:10px;max-height:520px;overflow:auto}.trade-row{display:grid;grid-template-columns:92px 104px minmax(76px,1fr) minmax(86px,1fr) minmax(108px,1fr);gap:10px;align-items:center;padding:9px 10px;border-radius:8px;background:#f4f6f1;font-size:12px}.trade-row span{min-width:0;overflow-wrap:anywhere}.trade-row.readonly{cursor:default}.trade-row.readonly:hover{background:#f4f6f1}.note{margin:10px 0;padding:10px;border-left:3px solid #c28a1d;background:#fff8e5;font-size:13px}.warning-note{margin:10px 0;padding:10px;border-radius:8px;background:#fff3e8;color:#8c3d16;font-size:12px;font-weight:720}.info-note{margin:10px 0;padding:10px;border-radius:8px;background:#eef7f4;color:#155e54;font-size:12px;font-weight:720}.position-row{display:grid;grid-template-columns:70px 1fr;gap:8px;align-items:center}.position-row span:last-child{grid-column:1 / -1;color:#667267}.message{padding:10px;margin-bottom:12px;border-radius:8px;background:#e9f4f1;color:#145a50;font-size:13px}.message.error{background:#fff0ed;color:#9b2f1f}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:#eef2ea}.auth-form{width:min(420px,100%);padding:22px;border:1px solid #d3dacd;border-radius:8px;background:#fff}.auth-brand{margin-bottom:12px}.auth-form label{display:grid;gap:6px;color:#515c55;font-size:13px;font-weight:700}.field-label{display:grid;gap:6px;color:#515c55;font-size:12px;font-weight:720}@media (max-width: 1100px){.workspace{grid-template-columns:1fr;grid-template-areas:"message" "overview" "controls" "calendar" "rail" "details"}.overview-strip,.detail-grid,.statistics-panel,.method-comparison-grid{grid-template-columns:1fr}.utility-rail{grid-template-columns:repeat(3,minmax(0,1fr))}.weekday-row,.calendar-grid{grid-template-columns:repeat(7,minmax(84px,1fr))}}@media (max-width: 720px){.topbar{padding:0 12px}.workspace{gap:12px;padding:12px}.overview-strip,.control-strip,.utility-rail,.portfolio-metrics,.symbol-metrics,.compact-metrics,.date-range-grid,.break-even-box,.method-card-header{grid-template-columns:1fr}.symbol-search{grid-template-columns:auto 1fr}.search-button{grid-column:1 / -1}.view-tabs{width:100%}.calendar-panel{padding:12px}.weekday-row,.calendar-grid{grid-template-columns:repeat(7,minmax(42px,1fr));gap:4px}.calendar-grid{grid-auto-rows:84px}.day-cell{min-height:84px;padding:6px}.day-metrics span{display:none}.month-toolbar h1{width:190px;font-size:19px}.trade-row,.match-row{grid-template-columns:1fr 1fr}.match-day-summary{grid-template-columns:1fr}.symbol-summary-row,.cycle-row{grid-template-columns:1fr 1fr}}
