:root{--ink:#18332e;--muted:#697975;--green:#147251;--red:#b23e44;--line:#e0e7e2;--canvas:#f4f6f2;--white:#fff;--accent:#0d443a;--soft-green:#eff8f0;--soft-red:#fcf1ef;font-family:Inter,"Segoe UI",system-ui,sans-serif;color:var(--ink);background:var(--canvas);font-synthesis:none}*{box-sizing:border-box}body{margin:0;font-size:16px;line-height:1.5}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}button{border:0;background:none;color:inherit}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #75ac9d;outline-offset:3px}input:focus,select:focus,textarea:focus{outline:2px solid #6c9e8d;outline-offset:1px}button,.button{min-height:42px;border-radius:9px;font-weight:600}.primary{background:var(--accent);color:white;padding:11px 20px;border:1px solid var(--accent);display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;white-space:nowrap}.primary:hover{background:#165d4e}.quiet{padding:8px 14px;border:1px solid var(--line);background:white}.quiet:hover,.icon-button:hover{background:#f0f4ee}.text-button{font-size:14px;color:var(--muted);padding:8px}.text-button:hover{color:var(--ink)}.icon-button{width:42px;font-size:25px;line-height:1;display:inline-flex;align-items:center;justify-content:center}.brand{display:inline-flex;align-items:center;gap:11px;font-size:17px;font-weight:650;letter-spacing:-.4px;text-decoration:none}.topbar{background:#fff;border-bottom:1px solid var(--line)}.topbar-inner{max-width:1376px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:18px 40px}.workspace{max-width:1376px;margin:0 auto;padding:40px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.9px;color:var(--muted)}h1,h2,p{margin:0}h1{font-size:34px;font-weight:550;line-height:1.25;letter-spacing:-1.3px}h2{font-size:21px;font-weight:600;letter-spacing:-.65px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px}.page-heading h1{margin:7px 0 8px}.page-heading p{color:var(--muted);font-size:15px}.summary{background:white;border:1px solid var(--line);border-radius:15px;display:grid;grid-template-columns:1fr 1fr 1fr;margin-bottom:26px;padding:24px 30px;gap:30px}.summary>div+div{border-left:1px solid var(--line);padding-left:30px}.stat-label{font-size:11px;font-weight:650;letter-spacing:1.4px;color:var(--muted);display:block}.summary strong{display:block;font-size:33px;line-height:1.3;letter-spacing:-1px;font-weight:550;margin:8px 0 3px;font-variant-numeric:tabular-nums}.stat-foot{font-size:13px;color:var(--muted)}.summary .summary-note{display:flex;align-items:center;gap:18px}.summary-note p{font-size:14px;color:var(--muted);line-height:1.8}.summary-note b{color:var(--ink);font-weight:500}.mini-icon{background:#edf3e9;font-size:32px;display:flex;align-items:center;justify-content:center;width:50px;height:50px;flex-shrink:0;border-radius:50%;color:#52765c}.positive{color:var(--green)}.negative{color:var(--red)}.journal-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px;align-items:start}.calendar-panel,.day-panel{background:white;border:1px solid var(--line);border-radius:15px;overflow:hidden}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 22px}.calendar-controls{display:flex;align-items:center;gap:4px}.calendar-controls .quiet{font-size:13px;margin-right:6px;min-height:34px;padding:4px 12px}.weekday-row,.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.weekday-row{padding:10px 0;color:var(--muted);font-size:10px;font-weight:650;letter-spacing:1px;background:#fafbf8;border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center}.calendar{gap:1px;background:var(--line)}.day{min-height:104px;border-radius:0;background:white;padding:10px 9px 12px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;position:relative;overflow:hidden;font-weight:500}.day.has-profit{background:var(--soft-green)}.day.has-loss{background:var(--soft-red)}.day:hover{box-shadow:inset 0 0 0 1px #779b8b}.day.selected{box-shadow:inset 0 0 0 2px #326858}.day.outside{background:#fafbf8;color:#a2aca5}.day-number{font-size:13px;width:25px;height:25px;display:flex;justify-content:center;align-items:center;margin:-2px 0 6px}.day.is-today .day-number{background:var(--accent);color:white;border-radius:50%}.day-money{font-size:15px;letter-spacing:-.6px;font-weight:650;white-space:nowrap;font-variant-numeric:tabular-nums;max-width:100%}.day-trades{font-size:10px;color:var(--muted);margin-top:2px;letter-spacing:.1px}.calendar-footer{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;font-size:11px;color:var(--muted);gap:12px}.dot{display:inline-block;height:6px;width:6px;border-radius:50%;margin:0 5px 1px 10px}.dot:first-child{margin-left:0}.green{background:var(--green)}.red{background:var(--red)}.day-panel{padding:24px;min-height:380px}.day-heading{border-bottom:1px solid var(--line);padding-bottom:20px}.day-heading h2{margin:6px 0 12px}.day-heading strong{display:block;font-size:27px;letter-spacing:-.8px;font-weight:550;font-variant-numeric:tabular-nums}.hint{font-size:13px;color:var(--muted)}.day-heading .hint{display:block;margin-top:3px}.empty-day{padding:38px 0 28px;text-align:center;color:var(--muted);font-size:13px}.empty-day .empty-symbol{font-size:25px;background:#f2f5f0;width:46px;height:46px;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;border-radius:50%;color:#6b8977}.empty-day b{display:block;color:var(--ink);font-size:14px;font-weight:550;margin-bottom:5px}.day-add{width:100%;color:var(--green);background:#f1f6ef;padding:10px 6px;font-size:12px;margin-top:12px;min-height:44px}.trade-row{padding:18px 0;border-bottom:1px solid var(--line)}.trade-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.market-tag{font-size:11px;font-weight:650;letter-spacing:.6px}.trade-result{font-size:16px;font-weight:600;font-variant-numeric:tabular-nums}.trade-bottom{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-top:5px}.trade-bottom p{font-size:12px;color:var(--muted);overflow-wrap:anywhere;white-space:pre-wrap;padding-top:8px}.edit-trade{font-size:12px;text-decoration:underline;text-underline-offset:3px;color:var(--muted);padding:5px;min-height:36px;margin-right:-5px;flex-shrink:0}.page-footer{font-size:11px;color:var(--muted);text-align:center;margin:26px 0 0;line-height:1.9}.page-footer span{padding:0 8px}label{font-size:14px;font-weight:550;display:block}input,select,textarea{display:block;width:100%;border:1px solid #cfd9d1;border-radius:8px;background:white;color:var(--ink);padding:11px 12px;margin-top:7px;min-height:46px;font-size:16px}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#8b9690;font-size:14px}.label-light{color:var(--muted);font-weight:400;font-size:12px;float:right}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:20px}dialog{width:min(500px,calc(100% - 28px));border:1px solid var(--line);border-radius:18px;padding:28px;color:var(--ink);box-shadow:0 24px 90px #16342b25;max-height:calc(100dvh - 36px);overflow:auto}dialog::backdrop{background:#173a2f60;backdrop-filter:blur(3px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;gap:10px}.dialog-heading h2{margin-top:5px;font-size:26px}.dialog-heading .icon-button{color:var(--muted);margin-right:-8px}.dialog-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:25px;flex-wrap:wrap}.danger-text{font-size:12px;color:var(--red);margin-right:auto;padding:5px 0}.dialog-actions .primary,.dialog-actions .quiet{font-size:14px}#amount-help{margin:7px 0 20px}.error{padding:12px 14px;border-radius:8px;background:#fff1ee;border:1px solid #efc8c1;color:#9b3537;font-size:13px;margin:12px 0 18px}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--accent);color:white;border-radius:10px;padding:12px 22px;box-shadow:0 8px 30px #18332e20;font-size:14px;z-index:10;white-space:nowrap}[hidden]{display:none!important}.auth-page{min-height:100dvh;display:grid;place-items:center;background:radial-gradient(ellipse at 75% 15%,#e5eddf 0,transparent 65%),var(--canvas)}.auth-wrap{width:min(440px,calc(100% - 36px));padding:40px 0}.auth-wrap>.brand{margin:0 0 30px 4px}.auth-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:36px;box-shadow:0 12px 45px #27483205}.auth-card h1{font-size:30px;margin:12px 0 10px}.auth-card>p{font-size:14px;line-height:1.7;color:var(--muted);margin-bottom:25px}.auth-form{display:grid;gap:18px}.auth-form>.hint{margin-top:-10px;font-size:12px}.auth-form .primary{margin-top:6px;justify-content:space-between}.auth-footer{text-align:center;color:var(--muted);font-size:12px;margin-top:26px}.auth-footer span{padding:0 10px}
@media(min-width:1250px){.day{min-height:112px;padding:10px 12px}.day-money{font-size:17px}}
@media(max-width:1050px){.workspace{padding:30px 24px}.topbar-inner{padding:16px 24px}.journal-layout{grid-template-columns:minmax(0,1fr) 260px;gap:16px}.day-panel{padding:20px}.summary-note .mini-icon{display:none}.summary{gap:22px;padding:22px}.summary>div+div{padding-left:22px}.day{padding:9px 5px}.day-money{font-size:13px}.day-trades{font-size:9px}}
@media(max-width:800px){.journal-layout{grid-template-columns:1fr}.day-panel{min-height:0}.day-heading{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 12px;padding-bottom:15px}.day-heading .eyebrow{grid-column:1}.day-heading h2{grid-column:1;margin:4px 0}.day-heading strong{grid-column:2;grid-row:1/3}.day-heading .hint{grid-column:2;text-align:right}.empty-day{padding:24px 0 10px}.empty-day .empty-symbol{display:none}.summary{grid-template-columns:1fr 1fr}.summary .summary-note{display:none}.day{min-height:95px;padding:9px}.day-money{font-size:16px}.day-trades{font-size:10px}.page-heading h1{font-size:30px}.page-heading p{font-size:14px}}
@media(max-width:520px){.workspace{padding:26px 14px}.topbar-inner{padding:14px 18px}.brand{font-size:16px;gap:9px}.brand img{width:29px;height:29px}.page-heading{align-items:flex-start;gap:12px;margin-bottom:22px}.page-heading h1{font-size:26px;max-width:240px}.page-heading p{font-size:12px;max-width:195px}.page-heading .primary{padding:9px 12px;font-size:12px;margin-top:27px;gap:4px;min-height:42px}.eyebrow{font-size:10px;letter-spacing:1.5px}.summary{padding:18px 20px;margin-bottom:18px;gap:18px}.summary>div+div{padding-left:18px}.summary strong{font-size:27px}.stat-label{font-size:9px;letter-spacing:1px}.stat-foot{font-size:11px}.calendar-toolbar{padding:15px 13px}.calendar-toolbar h2{font-size:18px}.calendar-controls{gap:0}.calendar-controls .icon-button{width:32px}.calendar-controls .quiet{margin-right:3px}.weekday-row{font-size:9px;letter-spacing:0}.day{min-height:80px;padding:7px 3px;align-items:center}.day-number{font-size:11px;margin:0 0 5px;width:23px;height:23px}.day-money{font-size:11px;letter-spacing:-.5px}.day-trades{font-size:8px;letter-spacing:0}.calendar-footer{font-size:10px;padding:12px}.page-footer{font-size:10px;max-width:290px;margin:22px auto 0}.page-footer span{padding:0 4px}.day-panel{padding:20px}.day-add{font-size:13px}.trade-bottom p{font-size:13px}.edit-trade{font-size:13px;min-height:40px}dialog{padding:22px}.dialog-heading h2{font-size:24px}.form-row{gap:12px}.auth-card{padding:28px}.auth-card h1{font-size:28px}}
@media(prefers-reduced-motion:no-preference){button{transition:background .12s,box-shadow .12s}dialog[open]{animation:appear .15s ease-out}@keyframes appear{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}}

@media(max-width:800px){.summary .balance-stat{grid-column:1/-1;border-bottom:1px solid var(--line);padding-bottom:18px}.summary .month-stat{border-left:0;padding-left:0}.summary{row-gap:18px}}
