/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-font-weight:initial;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:host,:root{--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-normal:400;--default-font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.block{display:block}.flex{display:flex}.grid{display:grid}.w-full{width:100%}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-3{gap:calc(var(--spacing) * 3)}.px-6{padding-inline:calc(var(--spacing) * 6)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.select-all{-webkit-user-select:all;user-select:all}}.rdp-root{--rdp-accent-color:blue;--rdp-accent-background-color:#f0f0ff;--rdp-day-height:44px;--rdp-day-width:44px;--rdp-day_button-border-radius:100%;--rdp-day_button-border:2px solid transparent;--rdp-day_button-height:42px;--rdp-day_button-width:42px;--rdp-selected-border:2px solid var(--rdp-accent-color);--rdp-disabled-opacity:.5;--rdp-outside-opacity:.75;--rdp-today-color:var(--rdp-accent-color);--rdp-dropdown-gap:.5rem;--rdp-months-gap:2rem;--rdp-nav_button-disabled-opacity:.5;--rdp-nav_button-height:2.25rem;--rdp-nav_button-width:2.25rem;--rdp-nav-height:2.75rem;--rdp-range_middle-background-color:var(--rdp-accent-background-color);--rdp-range_middle-color:inherit;--rdp-range_start-color:white;--rdp-range_start-background:linear-gradient(var(--rdp-gradient-direction),transparent 50%,var(--rdp-range_middle-background-color) 50%);--rdp-range_start-date-background-color:var(--rdp-accent-color);--rdp-range_end-background:linear-gradient(var(--rdp-gradient-direction),var(--rdp-range_middle-background-color) 50%,transparent 50%);--rdp-range_end-color:white;--rdp-range_end-date-background-color:var(--rdp-accent-color);--rdp-week_number-border-radius:100%;--rdp-week_number-border:2px solid transparent;--rdp-week_number-height:var(--rdp-day-height);--rdp-week_number-opacity:.75;--rdp-week_number-width:var(--rdp-day-width);--rdp-weeknumber-text-align:center;--rdp-weekday-opacity:.75;--rdp-weekday-padding:.5rem 0rem;--rdp-weekday-text-align:center;--rdp-gradient-direction:90deg;--rdp-animation_duration:.3s;--rdp-animation_timing:cubic-bezier(.4,0,.2,1)}.rdp-root[dir=rtl]{--rdp-gradient-direction:-90deg}.rdp-root[data-broadcast-calendar=true]{--rdp-outside-opacity:unset}.rdp-root{position:relative}.rdp-root,.rdp-root *{box-sizing:border-box}.rdp-day{width:var(--rdp-day-width);height:var(--rdp-day-height);text-align:center}.rdp-day_button{cursor:pointer;font:inherit;color:inherit;width:var(--rdp-day_button-width);height:var(--rdp-day_button-height);border:var(--rdp-day_button-border);border-radius:var(--rdp-day_button-border-radius);background:0 0;justify-content:center;align-items:center;margin:0;padding:0;display:flex}.rdp-day_button:disabled{cursor:revert}.rdp-caption_label{z-index:1;white-space:nowrap;border:0;align-items:center;display:inline-flex;position:relative}.rdp-dropdown:focus-visible~.rdp-caption_label{outline:5px auto highlight;outline:5px auto -webkit-focus-ring-color}.rdp-button_next,.rdp-button_previous{cursor:pointer;font:inherit;color:inherit;appearance:none;width:var(--rdp-nav_button-width);height:var(--rdp-nav_button-height);background:0 0;border:none;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex;position:relative}.rdp-button_next:disabled,.rdp-button_next[aria-disabled=true],.rdp-button_previous:disabled,.rdp-button_previous[aria-disabled=true]{cursor:revert;opacity:var(--rdp-nav_button-disabled-opacity)}.rdp-chevron{fill:var(--rdp-accent-color);display:inline-block}.rdp-root[dir=rtl] .rdp-nav .rdp-chevron{transform-origin:50%;transform:rotate(180deg)}.rdp-dropdowns{align-items:center;gap:var(--rdp-dropdown-gap);display:inline-flex;position:relative}.rdp-dropdown{z-index:2;opacity:0;appearance:none;width:100%;cursor:inherit;line-height:inherit;border:none;margin:0;padding:0;position:absolute;inset-block:0;inset-inline-start:0}.rdp-dropdown_root{align-items:center;display:inline-flex;position:relative}.rdp-dropdown_root[data-disabled=true] .rdp-chevron{opacity:var(--rdp-disabled-opacity)}.rdp-month_caption{height:var(--rdp-nav-height);align-content:center;font-size:large;font-weight:700;display:flex}.rdp-root[data-nav-layout=after] .rdp-month,.rdp-root[data-nav-layout=around] .rdp-month{position:relative}.rdp-root[data-nav-layout=around] .rdp-month_caption{justify-content:center;margin-inline-start:var(--rdp-nav_button-width);margin-inline-end:var(--rdp-nav_button-width);position:relative}.rdp-root[data-nav-layout=around] .rdp-button_previous{height:var(--rdp-nav-height);inset-inline-start:0;display:inline-flex;position:absolute;top:0}.rdp-root[data-nav-layout=around] .rdp-button_next{height:var(--rdp-nav-height);inset-inline-end:0;justify-content:center;display:inline-flex;position:absolute;top:0}.rdp-months{gap:var(--rdp-months-gap);flex-wrap:wrap;max-width:fit-content;display:flex;position:relative}.rdp-month_grid{border-collapse:collapse}.rdp-nav{height:var(--rdp-nav-height);align-items:center;display:flex;position:absolute;inset-block-start:0;inset-inline-end:0}.rdp-weekday{opacity:var(--rdp-weekday-opacity);padding:var(--rdp-weekday-padding);text-align:var(--rdp-weekday-text-align);text-transform:var(--rdp-weekday-text-transform);font-size:smaller;font-weight:500}.rdp-week_number{opacity:var(--rdp-week_number-opacity);height:var(--rdp-week_number-height);width:var(--rdp-week_number-width);border:var(--rdp-week_number-border);border-radius:var(--rdp-week_number-border-radius);text-align:var(--rdp-weeknumber-text-align);font-size:small;font-weight:400}.rdp-today:not(.rdp-outside){color:var(--rdp-today-color)}.rdp-selected{font-size:large;font-weight:700}.rdp-selected .rdp-day_button{border:var(--rdp-selected-border)}.rdp-outside{opacity:var(--rdp-outside-opacity)}.rdp-disabled:not(.rdp-selected){opacity:var(--rdp-disabled-opacity)}.rdp-hidden{visibility:hidden;color:var(--rdp-range_start-color)}.rdp-range_start{background:var(--rdp-range_start-background)}.rdp-range_start .rdp-day_button{background-color:var(--rdp-range_start-date-background-color);color:var(--rdp-range_start-color)}.rdp-range_middle{background-color:var(--rdp-range_middle-background-color)}.rdp-range_middle .rdp-day_button{border:unset;border-radius:unset;color:var(--rdp-range_middle-color)}.rdp-range_end{background:var(--rdp-range_end-background);color:var(--rdp-range_end-color)}.rdp-range_end .rdp-day_button{color:var(--rdp-range_start-color);background-color:var(--rdp-range_end-date-background-color)}.rdp-range_start.rdp-range_end{background:revert}.rdp-focusable{cursor:pointer}@keyframes rdp-slide_in_left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes rdp-slide_in_right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes rdp-slide_out_left{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes rdp-slide_out_right{0%{transform:translate(0)}to{transform:translate(100%)}}.rdp-weeks_before_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_before_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}@keyframes rdp-fade_in{0%{opacity:0}to{opacity:1}}@keyframes rdp-fade_out{0%{opacity:1}to{opacity:0}}.rdp-caption_after_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_after_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}:root{color-scheme:dark;--card-foreground:#f5f5f5;--popover:#202020;--popover-foreground:#f5f5f5;--secondary:#333;--secondary-foreground:#e5e5e5;--accent:#292929;--accent-foreground:#f5f5f5;--destructive:#913c3c;--input:#3a3a3a;--ring:#a3a3a3;--radius:.5rem;--background:#0a0a0a;--foreground:#f5f5f5;--card:#171717;--border:#303030;--muted:#a3a3a3;--green:#6fcf97;--red:#f18c8c}*{box-sizing:border-box}body{background:var(--background);color:var(--foreground);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.5}a,button,input,textarea{-webkit-tap-highlight-color:transparent}a,button{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}input[type=number]{-moz-appearance:textfield}input::-webkit-inner-spin-button,input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}:focus-visible{outline-offset:3px;outline:2px solid #a3a3a3}::selection{color:#fff;background:#555}.muted{color:var(--muted)}.profit{color:var(--green)!important}.loss{color:var(--red)!important}.app-shell{min-height:100dvh;display:flex}.desktop-sidebar{z-index:30;border-right:1px solid var(--border);background:#171717;flex-direction:column;width:256px;padding:0 12px;display:flex;position:fixed;inset:0 auto 0 0}.brand{flex-shrink:0;align-items:center;gap:11px;height:87px;padding:0 8px;display:flex}.brand-icon{background:#252525;border:1px solid #454545;border-radius:9px;place-items:center;width:35px;height:35px;display:grid}.brand strong{letter-spacing:-.3px;font-size:14px;font-weight:600;display:block}.brand small{color:#939393;margin-top:2px;font-size:10px;display:block}.sidebar-section-label{color:#777;letter-spacing:1.2px;padding:15px 12px 9px;font-size:10px;font-weight:600}.sidebar-nav{flex-direction:column;gap:4px;display:flex}.nav-item{color:#a3a3a3;text-align:left;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:11px;width:100%;min-height:42px;padding:10px 12px;font-size:14px;transition:background .15s,color .15s;display:flex}.nav-item svg{flex-shrink:0}.nav-item:hover{color:#eee;background:#232323}.nav-item.active{color:#f5f5f5;background:#292929;border-color:#373737}.nav-active-dot{background:#ddd;border-radius:50%;width:5px;height:5px;margin-left:auto}.quick-label{margin-top:22px}.shortcut{color:#737373;border:1px solid #363636;border-radius:4px;margin-left:auto;padding:0 4px;font-size:10px;line-height:18px}.sidebar-bottom{margin-top:auto;padding-top:60px}.storage-status{color:#858585;border:1px solid #2b2b2b;border-radius:7px;align-items:center;gap:9px;margin-bottom:8px;padding:13px 10px;display:flex}.storage-status strong{color:#b5b5b5;font-size:11px;font-weight:500;display:block}.storage-status span:not(.storage-dot){margin-top:2px;font-size:9px;display:block}.storage-dot{background:#8fbc9c;border-radius:50%;width:5px;height:5px;margin-left:auto}.storage-dot.error{background:var(--red)}.sidebar-settings{color:#a3a3a3;background:0 0;border:0;align-items:center;gap:9px;width:100%;padding:13px 10px;font-size:11px;display:flex}.sidebar-settings:hover{color:#f5f5f5}.sidebar-settings svg:last-child{margin-left:auto}.sidebar-person{border-top:1px solid #2b2b2b;align-items:center;gap:9px;margin:4px -12px 0;padding:16px;display:flex}.initials{background:#303030;border-radius:50%;place-items:center;width:32px;height:32px;font-size:12px;font-weight:600;display:grid}.sidebar-person strong{font-size:12px;font-weight:500;display:block}.sidebar-person small{color:#7c7c7c;font-size:10px;display:block}.personal-badge{color:#aaa;border:1px solid #363636;border-radius:4px;margin-left:auto;padding:2px 5px;font-size:9px}.main-inset{flex-direction:column;flex:1;min-width:0;margin-left:256px;display:flex}.sidebar-collapsed .desktop-sidebar{display:none}.sidebar-collapsed .main-inset{margin-left:0}.app-header{z-index:20;background:#0a0a0a;border-bottom:1px solid #292929;align-items:center;gap:14px;height:76px;padding:0 24px;display:flex;position:sticky;top:0}.app-header h1{letter-spacing:-.4px;font-size:17px;font-weight:600;line-height:1.4}.app-header p{color:#8c8c8c;margin-top:3px;font-size:11px}.header-divider{background:#303030;width:1px;height:23px;margin-right:1px}.app-header .sidebar-toggle{color:#999;width:30px;min-width:30px;height:36px}.main-content{flex:1;min-width:0;padding:24px}.page-content{flex-direction:column;gap:24px;min-width:0;display:flex}.page-heading{justify-content:space-between;align-items:center;gap:16px;min-width:0;padding:0 0 1px;display:flex}.page-heading h2{letter-spacing:-.6px;font-size:20px;font-weight:600;line-height:1.4}.page-heading p{color:#929292;margin-top:5px;font-size:12px}.period-label{color:#929292;flex-shrink:0;align-items:center;gap:7px;font-size:11px;display:flex}.period-label>span{background:#919191;border-radius:50%;width:5px;height:5px}.card{border:1px solid var(--border);background:var(--card);border-radius:9px;min-width:0}.card-header{flex-direction:column;gap:6px;padding:23px 24px 21px;display:flex}.card-title{letter-spacing:-.3px;font-size:24px;font-weight:600;line-height:1.3}.card-description{color:#909090;font-size:14px;line-height:1.6}.card-content{min-width:0;padding:0 24px 24px}.row-header{flex-direction:row;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.row-header>div>.card-description{margin-top:6px}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.stat-card .card-header{flex-direction:row;justify-content:space-between;align-items:center;gap:8px;padding:22px 22px 13px}.stat-card .card-title{color:#c8c8c8;letter-spacing:0;font-weight:500}.stat-card .card-header svg{color:#838383;flex-shrink:0}.stat-value{font-variant-numeric:tabular-nums;letter-spacing:-.8px;font-weight:600;line-height:1.2}.stat-hint{color:#929292;margin-top:8px}.chart-container{width:100%;height:256px;position:relative}.chart-legend{color:#9d9d9d;flex-shrink:0;align-items:center;gap:7px;padding-top:3px;font-size:10px;display:flex}.chart-legend>span{background:#b5b5b5;border-radius:2px;width:7px;height:7px}.empty-chart-grid{flex-direction:column;justify-content:space-between;display:flex;position:absolute;inset:12px 0 25px 32px}.empty-chart-grid i{border-top:1px dashed #2b2b2b;width:100%;height:1px}.empty-chart-grid>span{color:#777;font-size:10px;position:absolute;top:calc(50% - 8px);left:-26px}.empty-chart-content{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding-bottom:13px;display:flex;position:absolute;inset:0}.empty-chart-content strong{background:#171717;margin-top:9px;padding:3px 10px;font-size:13px;font-weight:500}.empty-chart-content p{color:#858585;background:#171717;padding:3px 10px;font-size:11px}.empty-icon{color:#969696;background:#202020;border:1px solid #303030;border-radius:10px;place-items:center;width:44px;height:44px;display:grid}.empty-chart-axis{color:#686868;justify-content:space-between;font-size:10px;display:flex;position:absolute;bottom:0;left:33px;right:0}.chart-tooltip{background:#202020;border:1px solid #404040;border-radius:6px;flex-direction:column;gap:4px;padding:12px 16px;font-size:12px;display:flex}.chart-tooltip span{color:#a3a3a3}.two-column{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.method-list{flex-direction:column;gap:0;display:flex}.method-row{border-bottom:1px solid #2b2b2b;align-items:center;gap:13px;padding:14px 0;display:flex}.method-row:first-child{padding-top:0}.method-row svg{color:#777;margin-left:auto}.method-row:hover h3{color:#fff}.method-code{color:#bdbdbd;background:#202020;border:1px solid #373737;border-radius:6px;flex-shrink:0;place-items:center;width:39px;height:35px;font-size:11px;font-weight:500;display:grid}.method-row h3{color:#d7d7d7;font-size:14px;font-weight:500}.method-row p{color:#818181;margin-top:3px;font-size:12px}.subtle-note{color:#777;margin-top:13px;font-size:10px}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:250px;padding:24px;display:flex}.empty-state h3{letter-spacing:-.2px;margin-top:16px;font-size:14px;font-weight:500}.empty-state p{color:#858585;max-width:350px;margin-top:6px;font-size:12px;line-height:1.8}.empty-state .button{margin-top:19px}.empty-state.compact{min-height:220px;padding:8px 0}.empty-state.compact h3{margin-top:12px;font-size:13px}.empty-state.compact p{max-width:270px;font-size:11px}.recent-list{margin:0;padding:0;list-style:none}.recent-row{text-align:left;background:0 0;border:0;border-bottom:1px solid #2b2b2b;align-items:center;gap:10px;width:100%;padding:13px 0;display:flex}.recent-row:hover{background:#1d1d1d}.pair-icon{color:#b6b6b6;background:#272727;border:1px solid #373737;border-radius:50%;place-items:center;width:32px;height:32px;font-size:12px;display:grid}.recent-row>div{flex:1}.recent-row strong{font-size:12px;font-weight:500}.recent-row small{color:#929292;font-size:10px;font-weight:400}.recent-row div>span{color:#797979;margin-top:2px;font-size:10px;display:block}.checklist-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px;display:grid}.checklist-item{color:#b0b0b0;cursor:pointer;align-items:center;gap:10px;min-height:24px;font-size:12px;display:flex}.checklist-item.checked{color:#828282}.checklist-note{color:#747474;align-items:center;gap:6px;margin-top:21px;font-size:10px;display:flex}.checkbox{background:#171717;border:1px solid #555;border-radius:4px;flex-shrink:0;place-items:center;width:17px;height:17px;display:grid}.checkbox[data-state=checked]{color:#171717;background:#dedede;border-color:#dedede}.button{white-space:nowrap;border:1px solid #0000;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;gap:8px;height:38px;padding:0 15px;font-size:12px;font-weight:500;transition:background-color .15s,color .15s,border-color .15s;display:inline-flex}.button:disabled{opacity:.4;pointer-events:none}.button-primary{color:#171717;background:#e5e5e5;border-color:#e5e5e5}.button-primary:hover{background:#cfcfcf;border-color:#cfcfcf}.button-secondary{color:#e5e5e5;background:#333;border-color:#3c3c3c}.button-secondary:hover{background:#414141}.button-outline{color:#ccc;background:#171717;border-color:#3a3a3a}.button-outline:hover{background:#252525;border-color:#505050}.button-ghost{color:#a3a3a3;background:0 0}.button-ghost:hover{color:#f5f5f5;background:#292929}.button-success{color:#f2fff6;background:#216a43;border-color:#2a7b50}.button-success:hover{background:#2a7b50}.button-danger{color:#fff5f5;background:#913c3c;border-color:#a84747}.button-danger:hover{background:#a84747}.button-sm{gap:6px;height:33px;padding:0 11px;font-size:11px}.button-icon{width:36px;min-width:36px;height:36px;padding:0}.input{color:#e5e5e5;font-variant-numeric:tabular-nums;background:#111;border:1px solid #3a3a3a;border-radius:6px;width:100%;min-width:0;height:42px;padding:0 12px;font-size:13px;transition:border-color .15s;display:block}.input:focus{border-color:#aaa;outline:none;box-shadow:0 0 0 1px #aaa}.input::placeholder{color:#5f5f5f}.input[aria-invalid=true]{border-color:#b65c5c}.input:disabled{opacity:.5;cursor:not-allowed}.label{color:#ccc;font-size:12px;font-weight:500;display:block}.field{flex-direction:column;gap:8px;min-width:0;display:flex}.field-error{color:var(--red);font-size:11px;line-height:1.5}.field-hint{color:#8d8d8d;font-size:10px;line-height:1.6}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.textarea{resize:vertical;height:80px;min-height:65px;max-height:180px;padding:10px 12px;line-height:1.7}.select-trigger{text-align:left;justify-content:space-between;align-items:center;gap:12px;display:flex}.select-trigger svg{color:#858585}.select-content{z-index:100;min-width:var(--radix-select-trigger-width);max-width:calc(100vw - 24px);max-height:var(--radix-select-content-available-height);background:#202020;border:1px solid #414141;border-radius:7px;padding:4px;animation:popover-in .12s ease-out;overflow:hidden}.select-item{color:#ccc;cursor:pointer;border-radius:4px;outline:none;justify-content:space-between;align-items:center;gap:20px;min-height:36px;padding:10px 11px;font-size:12px;display:flex}.select-item[data-highlighted]{color:#fff;background:#343434}.select-item[data-state=checked]{color:#f5f5f5}.select-scroll{place-items:center;height:20px;display:grid}.badge{color:#b5b5b5;white-space:nowrap;background:#222;border:1px solid #3b3b3b;border-radius:5px;align-items:center;gap:5px;padding:3px 7px;font-size:10px;font-weight:500;display:inline-flex}.status-dot{background:currentColor;border-radius:50%;width:4px;height:4px}.status-open{color:#c7d5cd;background:#253129;border-color:#39463e}.status-pending{color:#d4c6a6;background:#322e24;border-color:#494231}.status-closed{color:#c8c8c8;background:#2b2b2b;border-color:#424242}.status-cancelled{color:#8e8e8e;background:#222}.direction{margin-left:10px;font-size:10px;font-weight:500}.direction-buy{color:#8ac5a0}.direction-sell{color:#d89797}.dialog-overlay{z-index:60;background:#000000c2;animation:overlay-in .16s ease-out;position:fixed;inset:0}.dialog-content{z-index:70;overscroll-behavior:contain;background:#1b1b1b;border:1px solid #3b3b3b;border-radius:12px;width:calc(100% - 32px);max-width:550px;max-height:calc(100dvh - 40px);padding:27px;animation:dialog-in .16s ease-out;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.dialog-heading{margin-bottom:24px;padding-right:22px}.dialog-title{letter-spacing:-.5px;font-size:19px;font-weight:600}.dialog-description{color:#999;margin-top:7px;font-size:12px;line-height:1.7}.dialog-close{color:#999;background:0 0;border:0;border-radius:5px;place-items:center;width:32px;height:32px;display:grid;position:absolute;top:20px;right:17px}.dialog-close:hover{color:#fff;background:#303030}.trade-dialog{max-width:600px}.dialog-footer{border-top:1px solid #333;justify-content:flex-end;gap:9px;margin-top:24px;padding-top:20px;display:flex}.notice{color:#858585;align-items:flex-start;gap:7px;font-size:11px;line-height:1.8;display:flex}.notice svg{flex-shrink:0;margin-top:3px}.trade-dialog .notice{margin-top:17px;font-size:10px}.timestamp-note{margin-top:7px}.calculation-preview{background:#151515;border:1px solid #353535;border-radius:7px;margin:23px 0;padding:16px}.preview-heading{color:#ccc;border-bottom:1px solid #303030;justify-content:space-between;align-items:center;gap:6px;margin-bottom:14px;padding-bottom:14px;font-size:11px;font-weight:500;display:flex}.eyebrow{color:#838383;font-size:9px}.preview-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:17px 12px;display:grid}.preview-grid>div>span{color:#888;margin-bottom:4px;font-size:10px;display:block}.preview-grid strong{font-variant-numeric:tabular-nums;font-size:13px;font-weight:500}.preview-grid small{color:#888;font-size:9px;font-weight:400}.confirm-trade{background:#141414;border:1px solid #353535;border-radius:7px;margin-bottom:20px;padding:16px}.confirm-values{flex-wrap:wrap;gap:20px;margin:15px 0 11px;display:flex}.confirm-values span{color:#888;font-size:10px;display:block}.confirm-values strong{font-size:12px;font-weight:500}.confirm-dialog .notice{margin-top:16px;font-size:10px}.outcome-total{color:#aaa;border-top:1px solid #353535;justify-content:space-between;align-items:center;gap:10px;margin-top:20px;padding-top:18px;font-size:12px;display:flex}.outcome-total strong{font-variant-numeric:tabular-nums;font-size:21px;font-weight:600}.detail-banner{background:#242424;border:1px solid #383838;border-radius:7px;justify-content:space-between;align-items:center;margin-bottom:22px;padding:16px;display:flex}.detail-banner strong{font-size:18px}.details-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px;display:grid}.details-grid dt{color:#8e8e8e;margin-bottom:4px;font-size:10px}.details-grid dd{font-variant-numeric:tabular-nums;font-size:12px}.notes-box{background:#222;border:1px solid #333;border-radius:7px;margin-top:22px;padding:13px}.notes-box p{white-space:pre-wrap;overflow-wrap:anywhere;color:#ccc;margin-top:5px;font-size:12px}.dialog-content>.notice{margin-top:20px;font-size:10px}.sheet-content{z-index:70;background:#171717;border-right:1px solid #333;flex-direction:column;width:280px;max-width:calc(100vw - 40px);padding:0 12px;animation:sheet-in .18s ease-out;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:auto}.sheet-content .dialog-close{width:25px;height:25px;top:6px;right:6px}.sheet-content .sidebar-bottom{padding-top:30px}.journal-card{overflow:hidden}.count-badge{color:#a3a3a3;vertical-align:middle;border:1px solid #3b3b3b;border-radius:4px;justify-content:center;align-items:center;min-width:22px;height:19px;margin-left:6px;font-size:10px;font-weight:400;display:inline-flex}.backup-actions{gap:8px;display:flex}.journal-filters{flex-wrap:wrap;align-items:center;gap:9px;padding:0 24px 22px;display:flex}.journal-filters>.input{background:#1c1c1c;width:146px;height:36px;font-size:11px}.date-button{color:#999;height:36px;padding:0 11px;font-size:11px}.table-scroll{overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#454545 #171717;width:100%;overflow-x:auto}.trade-table{border-collapse:collapse;white-space:nowrap;text-align:left;font-variant-numeric:tabular-nums;width:100%;font-size:11px}.trade-table th{color:#949494;background:#1c1c1c;border-top:1px solid #303030;border-bottom:1px solid #303030;padding:12px 16px;font-size:10px;font-weight:500}.trade-table td{border-bottom:1px solid #292929;padding:17px 16px}.trade-table td:first-child,.trade-table th:first-child{padding-left:24px}.trade-table tbody tr{cursor:pointer;transition:background .12s}.trade-table tbody tr:hover{background:#1e1e1e}.trade-table tbody tr:focus-visible{outline-offset:-2px}.table-direction{margin-top:3px;font-size:9px;display:block}.row-actions{align-items:center;gap:6px;display:flex}.row-actions .button{height:30px;padding:0 9px;font-size:10px}.row-actions .edit-button{width:30px;min-width:30px;padding:0}.table-footer{color:#898989;border-top:1px solid #303030;justify-content:space-between;align-items:center;gap:10px;padding:15px 24px;font-size:10px;display:flex}.table-footer>div{align-items:center;gap:7px;display:flex}.table-footer .input{width:62px;height:32px;padding:0 8px;font-size:11px}.table-footer .button-icon{width:31px;min-width:31px;height:31px}.journal-empty{min-height:310px}.calendar-popover{z-index:80;background:#202020;border:1px solid #414141;border-radius:9px;padding:12px;animation:popover-in .12s ease-out}.rdp-root{--rdp-accent-color:#e5e5e5;--rdp-accent-background-color:#343434;--rdp-day-height:36px;--rdp-day-width:36px;--rdp-day_button-height:34px;--rdp-day_button-width:34px;--rdp-selected-border:1px solid #ddd;font-size:12px}.rdp-selected .rdp-day_button{color:#171717;background:#e5e5e5;border-radius:5px;font-weight:500}.rdp-today:not(.rdp-outside){color:#fff;font-weight:600}.rdp-day_button:hover{background:#383838;border-radius:5px}.rdp-selected .rdp-day_button:hover{background:#e5e5e5}.rdp-chevron{fill:#bdbdbd;width:17px;height:17px}.rdp-month_caption{height:42px;padding:0 70px 0 0}.rdp-dropdowns{gap:4px}.rdp-dropdowns .input{gap:4px;width:auto;min-width:65px;height:30px;padding:0 7px;font-size:11px}.rdp-weekday{color:#999;font-size:10px;font-weight:400}.rdp-button_next,.rdp-button_previous{width:28px;height:32px}.rdp-nav{height:40px}.tabs{background:#171717;border:1px solid #303030;border-radius:8px;gap:3px;width:fit-content;max-width:100%;padding:4px;display:flex}.tabs button{color:#939393;background:0 0;border:1px solid #0000;border-radius:5px;justify-content:center;align-items:center;gap:8px;height:35px;padding:0 15px;font-size:12px;display:flex}.tabs button[aria-selected=true]{color:#eee;background:#303030;border-color:#404040}.calculator-layout{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);align-items:start;gap:24px;display:grid}.calculator-layout .notice{margin-top:24px}.result-card{background:#171717}.section-icon{color:#aaa;background:#242424;border:1px solid #3c3c3c;border-radius:7px;place-items:center;width:34px;height:34px;margin-bottom:11px;display:grid}.rr-highlight{border-bottom:1px solid #333;padding:17px 0 22px}.rr-highlight>span{color:#969696;font-size:11px;display:block}.rr-highlight strong{letter-spacing:-1.5px;font-variant-numeric:tabular-nums;margin-top:8px;font-size:40px;font-weight:500;line-height:1.3;display:block}.rr-highlight strong.investment-total{font-size:32px}.result-list{flex-direction:column;gap:17px;padding:22px 0;font-size:12px;display:flex}.result-list>div{justify-content:space-between;align-items:center;gap:10px;display:flex}.result-list dt{color:#999}.result-list dd{font-variant-numeric:tabular-nums;font-weight:500}.result-note{color:#828282;border-top:1px solid #333;padding-top:18px;font-size:10px;line-height:1.8}.playbook-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.playbook-card{scroll-margin-top:100px}.playbook-top{justify-content:space-between;align-items:center;gap:7px;margin-bottom:22px;display:flex}.playbook-card .card-title{font-size:18px}.playbook-card .card-description{margin-top:5px;line-height:1.9}.playbook-steps{border-top:1px solid #333;margin:0;padding:0;list-style:none}.playbook-steps li{color:#a3a3a3;padding:20px 0 20px 28px;font-size:11px;position:relative}.playbook-steps li>span{color:#666;font-size:10px;position:absolute;top:20px;left:0}.playbook-steps li>svg{color:#555;position:absolute;bottom:-5px;left:5px}.rules-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 26px;display:grid}.rule-item{color:#b0b0b0;align-items:center;gap:10px;font-size:12px;display:flex}.rule-item svg{color:#777;flex-shrink:0}.pnl-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding-top:8px;display:grid}.pnl-summary>div{border-right:1px solid #353535}.pnl-summary>div:last-child{border:0}.pnl-summary span{color:#969696;margin-bottom:8px;font-size:11px;display:block}.pnl-summary strong{letter-spacing:-.5px;font-variant-numeric:tabular-nums;font-size:25px;font-weight:500}.app-footer{color:#606060;border-top:1px solid #242424;justify-content:space-between;gap:16px;padding:21px 24px;font-size:9px;display:flex}.storage-error{color:#e5b8b8;background:#302222;border:1px solid #684242;border-radius:7px;margin:20px 24px 0;padding:14px;font-size:12px}.trading-toast{color:#eee!important;font-family:var(--font-sans)!important;box-shadow:none!important;background:#252525!important;border:1px solid #464646!important;font-size:12px!important}.skip-link{z-index:150;color:#171717;background:#f5f5f5;border-radius:5px;padding:10px 15px;position:fixed;top:-100px;left:12px}.skip-link:focus{top:10px}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}@keyframes dialog-in{0%{opacity:0;transform:translate(-50%,-48%)scale(.98)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes popover-in{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}@keyframes sheet-in{0%{transform:translate(-100%)}to{transform:translate(0)}}@media (min-width:1600px){.main-content{padding:28px 32px}.app-header{padding:0 32px}}@media (max-width:1279px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.playbook-grid{grid-template-columns:1fr}.playbook-card .card-description{max-width:650px}.calculator-layout{grid-template-columns:1fr}.pnl-summary strong{font-size:21px}}@media (min-width:1280px){.playbook-card .card-header{min-height:267px}}@media (max-width:1023px){.checklist-grid,.rules-grid,.two-column{grid-template-columns:1fr}.row-header{gap:12px}.journal-card>.row-header{flex-direction:column}.chart-legend{font-size:9px}.pnl-summary{grid-template-columns:1fr;gap:17px}.pnl-summary>div{border-bottom:1px solid #333;border-right:0;padding-bottom:17px}.pnl-summary>div:last-child{padding-bottom:0}}@media (max-width:767px){.desktop-sidebar{display:none}.main-inset{margin-left:0}.app-header{gap:11px;height:72px;padding:0 16px}.main-content{padding:22px 16px}.page-content{gap:20px}.page-heading h2{font-size:19px}.page-heading p{max-width:240px;font-size:11px}.period-label{display:none}.app-footer{flex-direction:column;gap:5px;padding:18px 16px}.stat-card .card-header{padding:18px 16px 12px}.stat-card .card-content{padding:0 16px 18px}.stats-grid{gap:12px}.card-header{padding:20px 18px}.card-content{padding:0 18px 20px}.card-title{font-size:20px}.card-description{font-size:12px}.stat-value{font-size:25px}.stat-hint{font-size:11px;line-height:1.6}.stat-card .card-title{font-size:12px}.stat-card .card-header svg{width:16px;height:16px}.chart-container{height:240px}.chart-legend{display:none}.two-column{gap:20px}.journal-filters{gap:8px;padding:0 18px 18px}.journal-filters>.input{flex:1;min-width:130px}.journal-filters .date-button{flex:1}.backup-actions{width:100%}.backup-actions .button{flex:1}.table-footer{padding:14px 18px}.page-heading .button{padding:0 10px;font-size:11px}.calculator-layout{gap:20px}.tabs{width:100%}.tabs button{flex:1;padding:0 10px;font-size:11px}.dialog-content{border-radius:10px;width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:23px 20px}.dialog-title{font-size:18px}.form-grid{gap:16px 12px}.trade-dialog .form-grid .field:nth-child(2){min-width:0}.select-trigger{padding:0 10px;font-size:12px}.dialog-footer .button{min-height:42px}.row-actions .button{height:36px}.checklist-item{min-height:32px}.recent-row{min-height:65px}.storage-error{margin:16px 16px 0}.rules-grid{gap:18px}}@media (max-width:359px){.form-grid{grid-template-columns:1fr}.stat-card .card-header{padding:15px 12px 10px}.stat-card .card-content{padding:0 12px 16px}.stat-value{font-size:22px}.stat-card .card-header svg{display:none}.preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-header h1{font-size:15px}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.card-header{padding:24px}.card-title{line-height:1}.card-description{line-height:20px}.stat-card .card-header{padding:24px}.stat-card .card-title{font-size:14px;line-height:20px}.stat-card .card-content{padding:0 24px 24px}.stat-value{font-size:24px;line-height:32px}.stat-hint{margin-top:0;font-size:12px;line-height:16px}@media (max-width:767px){.card-header{padding:24px}.card-content{padding:0 24px 24px}.chart-container{height:256px}.button{height:44px}.button-icon{width:44px;min-width:44px}.button-sm{height:40px}.input,.row-actions .button{height:44px}.checklist-item{min-height:40px}.nav-item{min-height:44px}.tabs button{height:42px}}@media (max-width:639px){.stats-grid{grid-template-columns:1fr;gap:16px}}@media (max-width:767px){.app-header .sidebar-toggle,.dialog-close,.row-actions .edit-button,.sheet-content .dialog-close,.table-footer .button-icon{width:44px;min-width:44px;height:44px}.dialog-close{top:12px;right:12px}.sheet-content .dialog-close{top:0;right:0}.select-item{min-height:44px}.rdp-root{--rdp-day-height:44px;--rdp-day-width:44px;--rdp-day_button-height:42px;--rdp-day_button-width:42px}}@media (max-width:359px){.rdp-root{--rdp-day-height:36px;--rdp-day-width:36px;--rdp-day_button-height:34px;--rdp-day_button-width:34px}}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}