:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f7f8fa;--surface:#fff;--surface-2:#f2f4f7;--surface-3:#e9edf2;--text:#17191c;--muted:#6f7680;--border:#e1e5ea;--border-strong:#cfd5dc;--accent:#3f5d7d;--accent-hover:#304a66;--accent-soft:#edf3f9;--profit:#169b55;--profit-strong:#0f713e;--profit-soft:#ebf8f1;--loss:#df3138;--loss-soft:#fff0f1;--warning:#a4670a;--warning-soft:#fff8e9;--shadow-float:0 18px 48px #10182821, 0 2px 8px #10182812;--ease-out-smooth:cubic-bezier(.16, 1, .3, 1);--ease-spring:cubic-bezier(.34, 1.75, .64, 1);--ease-bounce:cubic-bezier(.68, -.3, .32, 1.4);--ease-in-out:cubic-bezier(.4, 0, .2, 1);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0f1012;--surface:#17191d;--surface-2:#1d2025;--surface-3:#242830;--text:#f1f3f5;--muted:#9ba1aa;--border:#2a2d33;--border-strong:#3a3f47;--accent:#9fb4cc;--accent-hover:#c0ccda;--accent-soft:#1d2633;--profit:#45d17f;--profit-strong:#8aebb3;--profit-soft:#14281d;--loss:#ff686d;--loss-soft:#351a1d;--warning:#e0b35d;--warning-soft:#2b2518;--shadow-float:0 20px 60px #0000006b, 0 2px 10px #0000004d}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sr-only{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.app-shell{min-height:100vh;display:flex}.sidebar{border-right:1px solid var(--border);background:var(--surface);z-index:20;flex-direction:column;align-items:stretch;width:176px;display:flex;position:fixed;inset:0 auto 0 0}.brand{background:var(--text);width:32px;height:32px;color:var(--surface);border-radius:7px;place-items:center;margin:18px 16px 30px;font-weight:700;display:grid}.sidebar nav{gap:6px;width:100%;padding:0 10px;display:grid}.sidebar nav a,.bottom-nav a{color:var(--muted);justify-content:center;align-items:center;text-decoration:none;display:flex}.sidebar nav a{border-radius:9px;justify-content:flex-start;gap:12px;height:46px;padding:0 13px;font-size:13px;font-weight:500;transition:color .15s,background-color .15s;position:relative}.sidebar nav a:hover,.sidebar nav a.active{background:var(--surface-2);color:var(--text)}.sidebar nav a.active:before{content:"";background:var(--text);border-radius:0 3px 3px 0;width:3px;height:24px;animation:.18s ease-out nav-indicator;position:absolute;left:-10px}@keyframes nav-indicator{0%{opacity:0;transform:scaleY(.45)}to{opacity:1;transform:scaleY(1)}}.workspace{width:calc(100% - 176px);min-width:0;margin-left:176px}.topbar{box-sizing:border-box;border-bottom:1px solid var(--border);background:var(--surface);justify-content:flex-end;align-items:center;gap:8px;min-width:0;height:68px;padding:0 28px;display:flex}.topbar-user{color:var(--muted)}.content{min-width:0;max-width:1504px;margin:auto;padding:28px 32px 88px}.bottom-nav{display:none}.page{gap:20px;display:grid}.page-header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.page-header h1{letter-spacing:-.035em;margin:0;font-size:23px;line-height:1.2}.page-header p{color:var(--muted);margin:6px 0 0}.page-title-row{align-items:center;gap:14px;display:flex}.monthly-profit{color:var(--muted);border-left:1px solid var(--border);font-variant-numeric:tabular-nums;padding-left:14px}.button,.icon-button,.text-button{background:0 0;border:0;justify-content:center;align-items:center;gap:7px;display:inline-flex}.button{border-radius:7px;min-height:36px;padding:0 13px;font-weight:600}.button--secondary{border:1px solid var(--border-strong);background:var(--surface)}.button--secondary:hover{background:var(--surface-2)}.button--danger{color:var(--loss);border:1px solid color-mix(in srgb, var(--loss), transparent 65%);background:var(--loss-soft)}.button--full{width:100%}.icon-button{width:36px;height:36px;color:var(--muted);border-radius:7px;margin:0}.icon-button:hover{background:var(--surface-2);color:var(--text)}.text-button{color:var(--muted);padding:6px}.text-button:hover{color:var(--text)}.toolbar{align-items:center;gap:8px;display:flex}.toolbar select,.toolbar>input,.filter-panel select,.filter-panel input,.date-range input{background:var(--surface);border:1px solid var(--border-strong);border-radius:7px;height:36px;padding:0 10px}.toolbar-spacer{flex:1}.search-box{border:1px solid var(--border-strong);background:var(--surface);max-width:420px;height:36px;color:var(--muted);border-radius:7px;flex:1;align-items:center;padding-left:10px;display:flex}.search-box input{background:0 0;border:0;outline:0;flex:1;min-width:0;height:100%;padding:0 8px}.search-box button{border:0;border-left:1px solid var(--border);height:100%;color:var(--muted);background:0 0;padding:0 11px}.filter-panel{border:1px solid var(--border);background:var(--surface);border-radius:8px;align-items:end;gap:12px;padding:14px;display:flex}.filter-panel label{color:var(--muted);gap:6px;font-size:12px;display:grid}.filter-panel__mobile-only{display:none!important}.table-wrap{border:1px solid var(--border);background:var(--surface);border-radius:8px;overflow-x:auto}.desktop-list table{table-layout:fixed;width:100%;min-width:1100px}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;white-space:normal;word-break:break-word;overflow-wrap:break-word;min-height:48px;padding:8px 14px}th{height:40px;color:var(--muted);background:var(--surface-2);font-size:12px;font-weight:500}tbody tr:last-child td{border-bottom:0}tbody tr:hover,tbody tr.is-selected{background:var(--accent-soft)}[data-focused=true]{box-shadow:inset 3px 0 0 var(--warning);animation:1.5s ease-out focused-transaction;background:var(--warning-soft)!important}@keyframes focused-transaction{0%{background:color-mix(in srgb, var(--warning), transparent 72%);box-shadow:inset 4px 0 0 var(--warning), inset 0 0 0 1px color-mix(in srgb, var(--warning), transparent 45%)}to{background:var(--warning-soft);box-shadow:inset 3px 0 0 var(--warning)}}.check-cell{width:42px;padding-right:0}.number{text-align:right;font-variant-numeric:tabular-nums}.sort-button{color:inherit;background:0 0;border:0;align-items:center;gap:5px;padding:0;display:inline-flex}.number .sort-button{margin-left:auto}.row-title{text-align:left;background:0 0;border:0;padding:0;font-weight:200;display:grid}.editable-field{max-width:100%;color:inherit;font:inherit;text-align:inherit;cursor:pointer;white-space:normal;word-break:break-word;overflow-wrap:break-word;background:0 0;border:0;border-radius:4px;padding:2px 3px}.editable-field:hover{background:color-mix(in srgb, var(--accent), transparent 90%);color:var(--accent)}.editable-field:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.number .editable-field{margin-left:auto}.note-cell .editable-field{width:100%;line-height:1.45;display:block;white-space:normal!important;word-break:break-word!important;overflow-wrap:break-word!important}@media (width<=680px){.mobile-row__heading>.editable-field{text-align:left;flex:1;min-width:0}.mobile-row__heading>.editable-field strong{display:block}.mobile-app-bar{height:calc(56px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top)}.search-box input,.self-use-search input,.mobile-filter-sheet input,.mobile-filter-sheet select,.drawer input,.drawer select,.drawer textarea{min-width:0;font-size:16px}.mobile-filter-backdrop{z-index:79;background:#0c101652;border:0;width:100%;position:fixed;inset:0}.mobile-filter-sheet{z-index:80;overscroll-behavior:contain;max-height:min(82dvh,640px);overflow-y:auto}.page-header .button{gap:6px;width:auto;min-width:80px;padding-inline:12px;font-size:14px}.mobile-filter-trigger{position:relative}.mobile-filter-trigger__badge{border:2px solid var(--surface);background:var(--accent);min-width:17px;height:17px;color:var(--surface);border-radius:999px;place-items:center;font-size:10px;font-weight:700;line-height:1;display:grid;position:absolute;top:2px;right:2px}.mobile-row__heading{align-items:center;min-height:44px}.pagination-wrap{gap:10px;width:100%;padding:12px}.pagination-nav-group,.pagination-select-container,.pagination-nav-btn,.pagination-select{width:100%}.pagination-nav-group{gap:8px}.pagination-nav-btn,select.pagination-select{min-height:44px}.self-use-toolbar{grid-template-columns:minmax(0,1fr) minmax(96px,auto);align-items:center;gap:8px;display:grid}.self-use-search{width:100%;min-width:0}.self-use-toolbar>select{min-width:96px;min-height:44px}.self-use-action{min-height:44px;padding-inline:12px}.drawer{max-height:min(96dvh,760px)}.drawer form{overscroll-behavior:contain;min-height:0}.drawer footer{box-shadow:0 -8px 20px color-mix(in srgb, var(--text), transparent 94%);bottom:-18px}}.product-cell{vertical-align:middle;width:320px;max-width:360px}.product-cell .editable-field{text-align:left;width:100%;max-width:100%;line-height:1.45;display:block;white-space:normal!important;word-break:break-word!important;overflow-wrap:break-word!important}.note-cell{vertical-align:middle;white-space:normal;word-break:break-word;overflow-wrap:break-word;min-width:160px;max-width:280px}.muted{color:var(--muted)}.profit{color:var(--profit);font-variant-numeric:tabular-nums}.loss{color:var(--loss);font-variant-numeric:tabular-nums}.status{border-radius:999px;align-items:center;padding:3px 8px;font-size:12px;display:inline-flex}.status--已售出{color:var(--profit);background:var(--profit-soft)}.status--待收货,.status--在售中{color:var(--accent);background:var(--accent-soft)}.status--自用中{color:var(--warning);background:var(--warning-soft)}.status--已退货{color:var(--loss);background:var(--loss-soft)}.mobile-list{display:none}.state,.empty-state{border:1px solid var(--border);background:var(--surface);min-height:280px;color:var(--muted);border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex}.state--error strong{color:var(--loss)}.loading-spinner{object-fit:contain;width:32px;height:32px;color:var(--accent)}.pagination-wrap{background:var(--surface);border:1px solid var(--border);color:var(--muted);border-radius:10px;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:12px 20px;font-size:13px;display:grid;box-shadow:0 2px 8px #0000000a}.pagination-summary{justify-self:start;font-size:13px}.pagination-controls{justify-self:end;align-items:center;gap:12px;display:flex}.pagination-popover-container{justify-self:end;display:inline-flex;position:relative}.pagination-trigger{background:var(--surface-2);border:1px solid var(--border);height:34px;color:var(--text);cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:0 14px;font-size:13px;font-weight:500;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex}.pagination-trigger:hover,.pagination-trigger.is-active{border-color:var(--accent);background:var(--surface);box-shadow:0 2px 8px #00000014}.pagination-trigger-current{color:var(--accent);font-weight:700}.pagination-trigger-icon{color:var(--muted);font-size:11px;transition:transform .2s;display:inline-block}.pagination-trigger-icon.is-open{transform:rotate(180deg)}.pagination-master-container{justify-self:end;display:inline-flex;position:relative}.pagination-master-trigger{background:var(--surface-2);border:1px solid var(--border);height:34px;color:var(--text);cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:0 14px;font-size:13px;font-weight:500;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex}.pagination-master-trigger:hover,.pagination-master-trigger.is-active{border-color:var(--accent);background:var(--surface);box-shadow:0 2px 10px #00000014}.pagination-master-current{color:var(--accent);font-weight:700}.pagination-master-arrow{color:var(--muted);font-size:11px;transition:transform .2s;display:inline-block}.pagination-master-arrow.is-open{transform:rotate(180deg)}.pagination-master-panel{z-index:100;background:var(--surface);border:1px solid var(--border);border-radius:14px;width:370px;animation:.2s cubic-bezier(.16,1,.3,1) paginationMasterFade;position:absolute;bottom:calc(100% + 10px);left:auto;right:0;overflow:hidden;box-shadow:0 12px 36px #00000038}@keyframes paginationMasterFade{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}.date-range-picker{align-items:center;gap:6px;display:inline-flex}.date-range-separator{color:var(--muted);white-space:nowrap;-webkit-user-select:none;user-select:none;font-size:13px;font-weight:500}.pagination-wrap{border-top:1px solid var(--border)!important;font-variant-numeric:tabular-nums!important;box-sizing:border-box!important;justify-content:space-between!important;align-items:center!important;width:100%!important;margin-top:16px!important;padding:10px 16px!important;display:flex!important}.pagination-summary{color:var(--muted)!important;white-space:nowrap!important;font-size:13px!important}.pagination-highlight{color:var(--text)!important;font-weight:600!important}.pagination-nav-group{align-items:center!important;gap:4px!important;display:flex!important}.pagination-nav-btn{height:30px!important;color:var(--text)!important;white-space:nowrap!important;box-shadow:none!important;background:0 0!important;border:none!important;border-radius:6px!important;padding:0 10px!important;font-size:13px!important;font-weight:500!important;line-height:1!important;transition:background .15s!important}.pagination-nav-btn:hover:not(:disabled){background:var(--surface-2)!important;color:var(--text)!important}.pagination-nav-btn:disabled{opacity:.4!important;cursor:not-allowed!important}.pagination-select-container{align-items:center!important;display:inline-flex!important}select.pagination-select{height:30px!important;color:var(--text)!important;cursor:pointer!important;white-space:nowrap!important;appearance:none!important;box-shadow:none!important;background-color:#0000!important;background-image:url("data:image/svg+xml,%3Csvg width='10' height='10' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 4.5L6 7.5L9 4.5' stroke='%2371717a' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;background-position:right 8px center!important;background-repeat:no-repeat!important;background-size:10px 10px!important;border:none!important;border-radius:6px!important;outline:none!important;padding:0 24px 0 10px!important;font-family:inherit!important;font-size:13px!important;font-weight:500!important;line-height:1!important;transition:background .15s!important}select.pagination-select:hover{background-color:var(--surface-2)!important}select.pagination-select option{background-color:var(--surface)!important;color:var(--text)!important;padding:6px 10px!important;font-size:13px!important}.pagination-master-header{background:var(--surface);justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.pagination-master-jump-wrap{align-items:center;gap:6px;display:flex}.pagination-master-label{color:var(--text);white-space:nowrap;font-size:13px}.pagination-master-jump-select{border:1px solid var(--border);background-color:var(--surface-2);height:30px;color:var(--accent);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-position:right 6px center;background-repeat:no-repeat;background-size:12px;border-radius:8px;outline:none;padding:0 22px 0 10px;font-size:13px;font-weight:700;transition:all .15s}.pagination-master-jump-select:hover{border-color:var(--muted)}.pagination-master-jump-select:focus{border-color:var(--accent);box-shadow:0 0 0 2px #6366f133}.pagination-master-jump-btn{border-radius:6px;height:30px;padding:0 10px;font-size:12px}.pagination-master-quick-bar{align-items:center;gap:6px;display:flex}.pagination-step-btn{border-radius:6px;height:30px;padding:0 10px;font-size:12px}.pagination-nav-group{justify-self:center;align-items:center;gap:6px;display:flex}.pagination-nav-btn{border-radius:8px;height:34px;padding:0 14px;line-height:1}@media (width<=768px){.pagination-wrap{flex-direction:column;justify-content:center;align-items:center}}.bulk-bar{z-index:30;background:var(--text);color:var(--surface);border-radius:8px;align-items:center;gap:18px;padding:10px 12px 10px 16px;display:flex;position:fixed;bottom:24px;left:calc(50% + 36px);transform:translate(-50%);box-shadow:0 8px 30px #0000002e}.bulk-bar div{gap:4px;display:flex}.bulk-bar button{color:inherit;background:#7f7f7f2e;border:0;border-radius:5px;padding:6px 9px}.drawer-layer{z-index:50;position:fixed;inset:0}.drawer-backdrop{background:#00000047;border:0;width:100%;position:absolute;inset:0}.drawer{background:var(--surface);border-left:1px solid var(--border);flex-direction:column;width:min(460px,100%);display:flex;position:absolute;inset:0 0 0 auto}.drawer>header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;height:76px;padding:0 22px;display:flex}.drawer h2{margin:0;font-size:18px}.drawer header p{color:var(--muted);margin:4px 0 0;font-size:12px}.drawer form{flex-direction:column;flex:1;gap:17px;padding:22px;display:flex;overflow:auto}.drawer label,.login-panel label{color:var(--muted);gap:7px;font-size:12px;font-weight:600;display:grid}.drawer input,.drawer select,.drawer textarea,.login-panel input{border:1px solid var(--border-strong);background:var(--surface);width:100%;color:var(--text);border-radius:7px;padding:9px 10px}.login-input.is-active,.login-password-field.is-active{animation:1.8s ease-in-out infinite login-breathe}.login-password-field.is-pulsing{animation:.18s ease-out login-password-pulse}.login-input.is-completed,.login-password-field.is-completed{animation:login-input-complete .26s var(--ease-out-smooth)}.login-panel label{font-size:13px}.login-panel input{min-height:44px;padding:11px 13px;font-size:15px;transition:border-color .15s,box-shadow .15s}.login-panel .login-input:focus{background:color-mix(in srgb, #2563eb, var(--surface) 97%);border-color:#2563eb;box-shadow:0 0 0 3px #2563eb2e}.login-input.is-completed{border-color:color-mix(in srgb, var(--profit), var(--border-strong) 45%);box-shadow:0 0 0 3px color-mix(in srgb, var(--profit), transparent 91%)}.login-input.is-completed:focus{background:color-mix(in srgb, #2563eb, var(--surface) 97%);border-color:#2563eb;box-shadow:0 0 0 3px #2563eb2e}.login-panel input:user-valid:not(:focus){border-color:color-mix(in srgb, var(--profit), var(--border-strong) 55%)}.login-panel .button{min-height:46px;font-size:15px}.form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.drawer footer{border-top:1px solid var(--border);justify-content:space-between;margin-top:auto;padding-top:20px;display:flex}.drawer footer div{gap:8px;display:flex}.calculated-field{border:1px solid var(--border);background:var(--surface-2);border-radius:7px;grid-template-columns:1fr auto;align-items:baseline;gap:5px 12px;padding:11px 12px;display:grid}.calculated-field span,.calculated-field small{color:var(--muted)}.calculated-field strong{font-variant-numeric:tabular-nums}.calculated-field small{grid-column:1/-1}.form-error{color:var(--loss);background:var(--loss-soft);border-radius:6px;padding:9px 11px}.confirm-layer{z-index:80;background:#00000052;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.confirm-dialog{border:1px solid var(--border);background:var(--surface);border-radius:8px;width:min(380px,100%);padding:20px}.confirm-dialog h2{margin:0;font-size:17px}.confirm-dialog p{color:var(--muted);margin:10px 0 20px;line-height:1.6}.confirm-dialog__actions{justify-content:flex-end;gap:8px;display:flex}.mobile-export-actions{display:none}.data-note{border-left:3px solid var(--warning);background:var(--warning-soft);color:var(--muted);border-radius:0 7px 7px 0;padding:11px 13px}.toast{z-index:60;border:1px solid var(--border);background:var(--text);color:var(--surface);border-radius:7px;padding:10px 14px;position:fixed;bottom:24px;right:24px}.login-page{background:var(--bg);place-items:center;min-height:100vh;padding:20px;display:grid}.login-language{align-items:center;font-size:13px;display:inline-flex}.login-actions{align-items:center;gap:8px;display:inline-flex;position:absolute;top:18px;right:20px}.login-language-select{border:1px solid var(--border);min-width:0;color:var(--text);cursor:pointer;background:0 0;border-radius:8px;outline:none;padding:7px 2px;font-family:inherit;font-size:13px;font-weight:500}.login-language-select:hover,.login-language-select:focus-visible{border-color:var(--border-strong);background:0 0}.login-actions .topbar-theme{border:1px solid var(--border);background:0 0;border-radius:8px}.login-actions .topbar-theme:hover{background:0 0}.login-panel{background:var(--surface);border:1px solid var(--border);border-radius:8px;gap:16px;width:100%;max-width:420px;padding:40px;animation:.22s ease-out both login-enter;display:grid}.login-panel>label{margin-bottom:-8px}.login-password-field{align-items:center;display:flex;position:relative}.login-password-field input{width:100%;padding-right:88px}.login-password-toggle{color:var(--accent);background:0 0;border:0;place-items:center;padding:5px;line-height:1;transition:color .14s,transform .14s,opacity .14s;display:grid;position:absolute;right:10px}.login-password-toggle.is-visible{transform:scale(1.08)}.login-password-toggle:hover{color:var(--accent-hover)}.login-panel.has-error{animation:.28s ease-out login-error-shake}.form-error{animation:.18s ease-out both login-error-fade-in}@keyframes login-error-fade-in{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}@keyframes login-error-shake{0%,to{transform:translate(0)}35%{transform:translate(-4px)}70%{transform:translate(4px)}}@keyframes login-breathe{0%,to{box-shadow:0 0 0 1px #2563eb47}50%{box-shadow:0 0 0 4px #2563eb2e}}@keyframes login-password-pulse{50%{transform:scale(1.012)}}@keyframes login-input-complete{0%{transform:translateY(0)}45%{transform:translateY(-3px)}to{transform:translateY(0)}}@keyframes login-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.login-panel h1{letter-spacing:-.01em;text-align:center;color:var(--text);margin:0;font-size:28px;font-weight:600;line-height:1.25}.login-panel p{text-align:center;color:var(--muted);margin:-6px 0 6px;font-size:15px}.button--login-primary{color:#fff;background:#1a7f37;border-color:#1f232826;font-weight:500;transition:background-color .12s,border-color .12s}.button--login-primary:hover:not(:disabled){background:#1f883d;border-color:#1f232826}.button--login-primary:active:not(:disabled){background:#116329;border-color:#1f232826}.button--login-primary:disabled{color:#ffffffe6;cursor:not-allowed;opacity:1;background:#95d3a9;border-color:#1f232826}[data-theme=dark] .button--login-primary{background:#238636;border-color:#f0f6fc1a}[data-theme=dark] .button--login-primary:hover:not(:disabled){background:#2ea043;border-color:#f0f6fc1a}[data-theme=dark] .button--login-primary:active:not(:disabled){background:#1a7f37;border-color:#f0f6fc1a}[data-theme=dark] .button--login-primary:disabled{background:#2ea04366;border-color:#f0f6fc1a}.metric-grid{border:1px solid var(--border);background:var(--surface);border-radius:8px;grid-template-columns:repeat(5,1fr);display:grid;overflow:hidden}.metric{border-right:1px solid var(--border);padding:20px}.metric:last-child{border-right:0}.metric span{color:var(--muted);font-size:12px}.metric strong{letter-spacing:-.04em;font-variant-numeric:tabular-nums;margin-top:10px;font-size:24px;display:block}.panel{border:1px solid var(--border);background:var(--surface);border-radius:8px;min-width:0;padding:20px}.panel>header{justify-content:space-between;align-items:center;display:flex}.panel h2{margin:0;font-size:15px}.panel header span{color:var(--muted);font-size:12px}.simple-chart{align-items:flex-end;gap:18px;height:230px;padding-top:30px;display:flex;overflow-x:auto}.simple-chart__item{min-width:72px;height:100%;color:var(--muted);grid-template-rows:18px 1fr 20px;justify-items:center;font-size:11px;display:grid}.simple-chart__plot{grid-template-rows:1fr 1fr;justify-items:center;width:100%;height:160px;display:grid;position:relative}.simple-chart__plot:after{content:"";border-top:1px solid var(--border);position:absolute;inset:50% 0 auto}.simple-chart i{border-radius:3px 3px 0 0;width:22px;display:block}.simple-chart__plot[data-direction=positive] i{transform-origin:bottom;grid-row:1;align-self:end}.simple-chart__plot[data-direction=negative] i{transform-origin:top;grid-row:2;align-self:start}.bar-negative{background:var(--loss)}.analytics-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.chart{height:320px;margin-top:20px}.date-range{color:var(--muted);align-items:center;gap:8px;display:flex}.analysis-month-control{z-index:12;flex:none;max-width:100%;position:relative}.analysis-month-trigger{border:1px solid var(--border-strong);background:var(--surface);white-space:nowrap;border-radius:9px;justify-content:center;align-items:center;gap:8px;min-width:0;max-width:100%;min-height:44px;padding:0 12px;display:inline-flex}.analysis-month-trigger:hover,.analysis-month-trigger[aria-expanded=true]{background:var(--surface-2);border-color:color-mix(in srgb, var(--border-strong), var(--accent) 30%)}.analysis-month-trigger svg:last-child{color:var(--muted);transition:transform .16s}.analysis-month-trigger[aria-expanded=true] svg:last-child{transform:rotate(180deg)}.analysis-month-popover{z-index:50;border:1px solid var(--border-strong);background:var(--surface);width:min(288px,100vw - 32px);box-shadow:var(--shadow-float);border-radius:12px;padding:10px;position:absolute;top:calc(100% + 8px);right:0}.analysis-month-popover__year{grid-template-columns:44px 1fr 44px;align-items:center;gap:4px;display:grid}.analysis-month-popover__year strong{text-align:center;font-size:15px}.analysis-month-popover__year button{width:44px;height:44px;color:var(--muted);background:0 0;border:0;border-radius:8px;place-items:center;padding:0;display:grid}.analysis-month-popover__year button:hover{background:var(--surface-2);color:var(--text)}.analysis-month-popover__months{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin-top:6px;display:grid}.analysis-month-popover__months button{background:0 0;border:1px solid #0000;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:1px;min-width:0;min-height:46px;padding:4px 7px;display:flex}.analysis-month-popover__months button:hover{border-color:var(--border);background:var(--surface-2)}.analysis-month-popover__months button.is-selected{border-color:var(--accent);background:var(--accent);color:var(--surface);font-weight:700}.analysis-month-popover__months small{color:var(--accent);font-size:10px;line-height:1.15}.analysis-month-popover__months .is-selected small{color:inherit}.analysis-month-popover__footer{border-top:1px solid var(--border);margin-top:8px;padding-top:8px}.analysis-month-popover__footer button{border:1px solid var(--border-strong);background:var(--surface);border-radius:8px;width:100%;min-height:44px;font-weight:600}.analysis-month-popover__footer button:hover{background:var(--surface-2)}.stat-list{margin-top:14px}.analytics-stat-card{border-color:color-mix(in srgb, var(--border), var(--accent) 8%);border-radius:14px;padding:18px;box-shadow:0 8px 24px #0f172a0e}.analytics-stat-card__header{gap:9px;justify-content:flex-start!important}.analytics-stat-card__title-mark{background:var(--accent);border-radius:999px;flex:none;width:7px;height:20px}.stat-list>div,.settings-list>div{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;min-height:44px;display:flex}.stat-list>div:last-child,.settings-list>div:last-child{border-bottom:0}.stat-list>.drilldown-group{display:block}.stat-list>.drilldown-group--expanded{border:1px solid var(--border-strong);background:var(--surface);border-radius:12px;margin:6px 0 10px}.drilldown-toggle{text-align:left;background:0 0;border:0;grid-template-columns:1fr auto auto;align-items:center;gap:7px;width:100%;min-height:44px;padding:0 4px;display:grid}.drilldown-group--expanded .drilldown-toggle{background:var(--accent-soft);border-radius:11px 11px 0 0;padding:0 12px}.drilldown-toggle span{min-width:0}.drilldown-toggle svg{color:var(--muted);transition:transform .16s}.drilldown-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.drilldown-toggle:disabled svg{visibility:hidden}.drilldown-products{background:var(--surface);border-radius:0 0 11px 11px;gap:2px;max-height:180px;padding:6px;display:grid;overflow-y:auto}.drilldown-product{min-height:40px;color:var(--text);border-radius:8px;grid-template-columns:23px minmax(0,1fr) 15px;align-items:center;gap:9px;padding:8px;text-decoration:none;display:grid}.drilldown-product__index{background:var(--accent-soft);width:23px;height:23px;color:var(--accent);font-variant-numeric:tabular-nums;border-radius:7px;place-items:center;font-size:11px;font-weight:700;display:grid}.drilldown-product__title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.drilldown-product__arrow{color:var(--muted)}.drilldown-product:hover{background:var(--accent-soft);color:var(--accent)}.settings-list{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:8px 18px}.settings-list dt{color:var(--muted)}.settings-list dd{margin:0}.theme-segmented{border:1px solid var(--border);background:var(--surface-2);border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));width:min(300px,100%);margin:0;padding:3px;display:grid}.theme-segmented label{cursor:pointer;min-width:0;position:relative}.theme-segmented input{opacity:0;width:1px;height:1px;position:absolute}.theme-segmented span{min-height:44px;color:var(--muted);white-space:nowrap;border-radius:5px;place-items:center;padding:6px 8px;font-size:13px;line-height:1.2;display:grid}.theme-segmented input:checked+span{background:var(--surface);color:var(--text);font-weight:600;box-shadow:0 1px 3px #0f172a1f}.theme-segmented input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.connected{color:var(--profit)}.disconnected{color:var(--loss)}.security-note{border-left:3px solid var(--warning);background:var(--warning-soft);border-radius:0 7px 7px 0;padding:14px 16px}.security-note p{color:var(--muted);margin:5px 0 0;line-height:1.6}@media (width<=900px){.filter-panel__mobile-only{display:grid!important}.metric-grid{grid-template-columns:repeat(2,1fr)}.metric{border-bottom:1px solid var(--border)}.metric-grid .metric:last-child{grid-column:1/-1}.toolbar>input[type=date],.toolbar>select{display:none}.settings-list>div:has(.theme-segmented){flex-wrap:wrap;align-items:flex-start;gap:10px;padding-block:14px}.settings-list>div:has(.theme-segmented) dd{width:100%}.settings-list>div:has(.theme-segmented) .theme-segmented{width:100%}}@media (width<=680px){.sidebar,.topbar{display:none}.workspace{width:100%;margin:0}.content{padding:20px 16px 96px}.bottom-nav{z-index:40;height:calc(62px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--border);grid-template-columns:repeat(7,1fr);display:grid;position:fixed;inset:auto 0 0}.bottom-nav a,.bottom-nav-logout{flex-direction:column;gap:3px;font-size:11px}.bottom-nav-logout{color:var(--muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;font-family:inherit;display:flex}.bottom-nav a.active{color:var(--text)}.page{gap:16px}.page-header{align-items:center}.page-header h1{font-size:21px}.page-header p,.monthly-profit{display:none}.page-header .button{width:36px;padding:0;font-size:0}.page-header .button svg{width:18px;height:18px}.toolbar{gap:7px}.search-box{max-width:none}.search-box button{display:none}.filter-button{width:36px;padding:0;font-size:0}.filter-panel{flex-direction:column;align-items:stretch}.mobile-export-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.toolbar-spacer,.toolbar .icon-button,.desktop-list{display:none}.mobile-list{border:1px solid var(--border);background:var(--surface);border-radius:8px;display:block;overflow:hidden}.mobile-row{border-bottom:1px solid var(--border);align-items:flex-start;gap:10px;padding:14px 12px;display:flex}.mobile-row:last-child{border-bottom:0}.mobile-row.is-selected{background:var(--accent-soft)}.mobile-row__check{flex:0 0 44px;place-items:center;width:44px;height:44px;margin:-10px -10px 0;display:grid}.mobile-row__check input{width:18px;height:18px}.mobile-row__content{flex:1;min-width:0}.mobile-row__heading{text-align:left;background:0 0;border:0;justify-content:space-between;align-items:flex-start;gap:10px;width:100%;padding:0 0 12px;display:flex}.mobile-row__heading strong{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.mobile-row__details{border-top:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;margin:0;padding-top:12px;display:grid}.mobile-row__details>div{min-width:0}.mobile-row__details dt{color:var(--muted);font-size:11px}.mobile-row__details dd{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:4px 0 0;font-size:13px}.bulk-bar{left:12px;right:12px;bottom:calc(74px + env(safe-area-inset-bottom));justify-content:space-between;overflow-x:auto;transform:none}.bulk-bar strong{white-space:nowrap}.bulk-bar div{min-width:max-content}.drawer{border:0;width:100%}.form-grid{grid-template-columns:1fr}.metric-grid{grid-template-columns:1fr 1fr}.metric{padding:15px}.metric strong{font-size:19px}.analytics-grid{grid-template-columns:1fr}.analytics-stat-card{padding:16px}.drilldown-product{gap:8px;padding-inline:7px}.panel--wide{grid-column:auto}.date-range{display:none}.toast{right:12px;bottom:calc(76px + env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.page{gap:18px;animation:.24s cubic-bezier(.2,.7,.2,1) both page-enter}@keyframes page-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.page--narrow{max-width:900px}.page-header{min-height:66px}.page-header h1{font-size:28px;font-weight:700;line-height:1.2}.page-header p{margin-top:5px;font-size:14px;line-height:1.55}.page-title-row{gap:18px}.monthly-profit{padding-left:18px;font-size:14px}.button{border-radius:9px;min-height:40px;padding-inline:14px;font-size:13px;font-weight:600;transition:transform .13s,background-color .15s,border-color .15s,color .15s,opacity .15s}.button:not(:disabled):active{transform:translateY(1px)}.button--primary{background:var(--text);color:var(--surface)}[data-theme=dark] .button--primary{background:var(--text);color:var(--bg)}.button--primary:hover{opacity:.9}.button--secondary{border-color:var(--border-strong);box-shadow:0 1px 1px #10182808}.button--danger{border-color:color-mix(in srgb, var(--loss), transparent 58%)}.icon-button{border-radius:9px;width:40px;height:40px;transition:background-color .15s,color .15s,transform .13s}.icon-button:active{transform:translateY(1px)}.text-button{border-radius:8px;min-height:36px;font-size:13px}.topbar-theme{border:1px solid #0000}.topbar-theme:hover{border-color:var(--border)}.topbar-lang{align-items:center;margin-left:-4px;display:flex;position:relative}.topbar-user{border-left:1px solid var(--border);margin-left:4px;padding-left:12px;position:relative}.topbar-user-button{cursor:pointer;color:var(--text);background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:4px 6px;font-family:inherit;font-size:13px;display:flex}.topbar-user-button:hover{background:var(--surface-2)}.topbar-avatar{background:var(--surface-2);width:28px;height:28px;color:var(--muted);border-radius:50%;place-items:center;display:grid}.topbar-username{font-weight:600}.user-menu-backdrop{z-index:44;position:fixed;inset:0}.user-menu{z-index:45;border:1px solid var(--border);background:var(--surface);border-radius:10px;min-width:168px;padding:6px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 8px 24px #0000001f}.user-menu-item{cursor:pointer;width:100%;color:var(--danger,#d1242f);background:0 0;border:0;border-radius:7px;align-items:center;gap:8px;padding:8px 10px;font-family:inherit;font-size:13px;display:flex}.user-menu-item:hover{background:var(--surface-2)}.user-menu-item.is-active{color:var(--text);font-weight:600}.user-menu-check{color:var(--accent);margin-left:auto;font-weight:700}.lang-menu .user-menu-item{color:var(--text)}.toolbar{border:1px solid var(--border);background:var(--surface);border-radius:12px;gap:10px;min-height:64px;padding:11px 12px}.toolbar select,.toolbar>input,.filter-panel select,.filter-panel input,.date-range input{border-color:var(--border-strong);border-radius:9px;outline:none;height:40px;padding-inline:12px;font-size:13px;transition:border-color .15s,box-shadow .15s,background-color .15s}.toolbar select:focus,.toolbar>input:focus,.filter-panel select:focus,.filter-panel input:focus,.date-range input:focus,.drawer input:focus,.drawer select:focus,.drawer textarea:focus,.login-panel input:focus{border-color:color-mix(in srgb, var(--accent), var(--border-strong) 30%);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent), transparent 86%)}.search-box{border-color:var(--border-strong);border-radius:9px;max-width:440px;height:40px;transition:border-color .15s,box-shadow .15s}.search-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent), transparent 86%)}.filter-panel{border-radius:12px;padding:16px;animation:.2s ease-out both filter-open}@keyframes filter-open{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.table-wrap{border-radius:12px;box-shadow:0 1px 2px #10182806}.desktop-list table{min-width:1320px}th,td{height:52px;padding-inline:14px;font-size:13px}th{z-index:2;background:color-mix(in srgb, var(--surface), var(--surface-2) 45%);height:44px;font-size:12px;font-weight:550;position:sticky;top:0}tbody tr{transition:background-color .14s}tbody tr,.mobile-row{animation:.22s ease-out both row-enter}tbody tr:nth-child(2),.mobile-row:nth-child(2){animation-delay:28ms}tbody tr:nth-child(3),.mobile-row:nth-child(3){animation-delay:56ms}tbody tr:nth-child(4),.mobile-row:nth-child(4){animation-delay:84ms}tbody tr:nth-child(n+5),.mobile-row:nth-child(n+5){animation-delay:.112s}@keyframes row-enter{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.row-title{color:var(--text);font-size:13px;font-weight:600}.sort-button{font-size:12px;font-weight:550}.status{white-space:nowrap;border-radius:6px;padding:3px 7px;font-size:12px;font-weight:550}.state,.empty-state{border-radius:12px;min-height:220px;font-size:13px}.pagination{font-size:13px}.bulk-bar{border:1px solid var(--border);background:color-mix(in srgb, var(--surface), transparent 2%);min-height:58px;color:var(--text);box-shadow:var(--shadow-float);border-radius:12px;padding:8px 10px 8px 15px;animation:.22s cubic-bezier(.2,.8,.2,1) both bulk-enter;bottom:22px;left:calc(50% + 88px)}@keyframes bulk-enter{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}.bulk-bar button{background:var(--surface-2);min-height:36px;color:var(--text);border-radius:8px;font-size:12px;border:1px solid var(--border)!important}.bulk-bar .danger-text{color:var(--loss)}.drawer-backdrop{background:#0c101659;animation:.18s ease-out both fade-in}.drawer{width:min(468px,100%);box-shadow:var(--shadow-float);border-radius:12px 0 0 12px;animation:.24s cubic-bezier(.2,.75,.2,1) both drawer-in}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes drawer-in{0%{opacity:.7;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.drawer>header{height:auto;min-height:88px;padding:18px 22px}.drawer h2{font-size:20px;font-weight:700}.drawer form{gap:18px;padding:22px}.drawer label,.login-panel label{color:var(--text);font-size:12px;font-weight:600}.drawer input,.drawer select,.drawer textarea,.login-panel input{border-radius:9px;outline:none;min-height:42px;padding:10px 11px;font-size:14px;transition:border-color .15s,box-shadow .15s}.drawer textarea{resize:vertical;line-height:1.55}.calculated-field{border-radius:10px;padding:13px 14px}.drawer footer{z-index:2;padding:16px 22px calc(16px + env(safe-area-inset-bottom));background:var(--surface);margin-inline:-22px;position:sticky;bottom:-22px}.form-error{border-radius:8px;font-size:12px}.confirm-layer{background:#0c10166b;animation:.18s ease-out both fade-in}.confirm-dialog{width:min(408px,100%);box-shadow:var(--shadow-float);border-radius:12px;padding:22px;animation:.19s cubic-bezier(.2,.8,.2,1) both dialog-in}@keyframes dialog-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}.confirm-dialog h2{font-size:18px;font-weight:700}.confirm-dialog p{font-size:14px}.data-note{border:1px solid color-mix(in srgb, var(--warning), transparent 65%);border-left-width:3px;border-radius:8px;padding:11px 14px;font-size:13px;line-height:1.55}.toast{box-shadow:var(--shadow-float);border-radius:9px;animation:.18s ease-out both toast-in}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.metric-grid{border-radius:12px}.metric{padding:25px 22px}.metric span{font-size:13px}.metric strong{font-size:27px;font-weight:600;line-height:1.1}.metric:nth-child(3) strong{color:var(--profit)}.panel{border-radius:12px;padding:20px}.panel h2{font-size:17px;font-weight:650}.simple-chart{gap:22px;height:50vh;min-height:390px;max-height:520px;padding:42px 6px 0}.simple-chart__item{grid-template-rows:20px 1fr 24px;min-width:62px;font-size:12px}.simple-chart__plot{height:300px}.simple-chart i{transform-origin:bottom;border-radius:5px 5px 2px 2px;width:24px;animation:.52s cubic-bezier(.2,.75,.2,1) both chart-grow}@keyframes chart-grow{0%{opacity:.4;transform:scaleY(0)}to{opacity:1;transform:scaleY(1)}}.bar-positive{background:var(--profit)}.analytics-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.panel--wide{grid-column:1/-1}.chart{height:330px}.analytics-stat-card{box-shadow:none;border-radius:12px;padding:18px}.analytics-stat-card__title-mark{border-radius:3px;width:4px;height:18px}.stat-list>.drilldown-group--expanded{border-radius:10px}.drilldown-group--expanded .drilldown-toggle{border-radius:9px 9px 0 0}.drilldown-products{border-radius:0 0 9px 9px;animation:.19s ease-out both drilldown-in}@keyframes drilldown-in{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}.drilldown-product{border-radius:7px}.settings-list{border-radius:12px;padding:0 20px}.settings-list>div{min-height:72px}.settings-list dt,.settings-list strong{font-size:14px}.connected:before,.disconnected:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px;margin-right:7px;display:inline-block}.security-note{border:1px solid color-mix(in srgb, var(--warning), transparent 65%);border-left-width:3px;border-radius:8px;padding:16px}@media (width<=1100px){.sidebar{align-items:center;width:76px}.brand{margin-inline:0}.sidebar nav{padding-inline:8px}.sidebar nav a{justify-content:center;padding:0}.sidebar nav a span{font-size:10px}.sidebar nav a{flex-direction:column;gap:2px;height:52px}.workspace{width:calc(100% - 76px);margin-left:76px}.bulk-bar{left:calc(50% + 38px)}.analytics-grid{grid-template-columns:1fr 1fr}.analytics-grid .analytics-stat-card:last-child{grid-column:1/-1}}@media (width<=680px){body{font-size:14px}.workspace{width:100%;margin-left:0}.content{padding:22px 16px calc(104px + env(safe-area-inset-bottom))}.bottom-nav{height:calc(68px + env(safe-area-inset-bottom));grid-template-columns:repeat(7,1fr)}.bottom-nav a,.bottom-nav-logout{gap:4px;font-size:12px;font-weight:500}.bottom-nav a.active{color:var(--accent)}.page{gap:15px}.page-header{align-items:flex-start;min-height:52px}.page-header h1{font-size:24px}.page-header p{max-width:250px;font-size:14px;display:block}.page-title-row{gap:5px;display:grid}.monthly-profit{border:0;padding:0;font-size:13px;display:block}.page-header .button{border-radius:9px;width:44px;height:44px;min-height:44px}.toolbar{background:0 0;border:0;min-height:44px;padding:0}.search-box{background:var(--surface);height:44px}.filter-button{flex:0 0 44px;width:44px;height:44px;min-height:44px;padding:0;font-size:0}.filter-button svg{width:18px;height:18px}.filter-panel{padding:14px}.mobile-list{background:0 0;border:0;border-radius:0;width:100%;min-width:0;max-width:100%;overflow:hidden}.mobile-row{gap:12px;width:100%;min-width:0;padding:16px 4px}.mobile-row__check{margin-top:-8px}.mobile-row__heading{padding-bottom:9px}.mobile-row__heading strong{flex:1;font-size:15px}.mobile-row__status{flex:none}.mobile-row__details{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;padding-top:9px}.mobile-row__details dt{font-size:12px}.mobile-row__details dd{margin-top:2px;font-size:14px}.bulk-bar{left:10px;right:10px;bottom:calc(76px + env(safe-area-inset-bottom));border-radius:12px;gap:10px;min-height:58px;padding:8px}.bulk-bar strong{font-size:12px}.bulk-bar button{min-height:44px;padding-inline:10px}@keyframes bulk-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.drawer-layer{align-items:flex-end;display:flex}.drawer-backdrop{position:fixed}.drawer{border-radius:12px 12px 0 0;width:100%;max-height:96dvh;animation-name:drawer-mobile-in;position:relative;inset:auto}@keyframes drawer-mobile-in{0%{opacity:.75;transform:translateY(24px)}to{opacity:1;transform:none}}.drawer>header{min-height:86px;padding:17px 18px}.drawer>header .icon-button{width:44px;height:44px}.drawer h2{font-size:20px}.drawer form{gap:17px;padding:18px}.drawer input,.drawer select,.drawer textarea{min-height:46px;font-size:14px}.form-grid{grid-template-columns:1fr;gap:17px}.drawer footer{margin-inline:-18px;padding-inline:18px;bottom:-18px}.drawer footer .button{min-height:44px}.login-page{align-items:start;padding-top:12vh}.login-panel{width:100%;max-width:380px;padding:30px 24px}.login-panel input,.login-panel .button{min-height:46px;font-size:15px}.metric-grid{border-radius:12px;grid-template-columns:1fr 1fr}.metric{padding:16px}.metric:nth-child(3){grid-area:1/1/auto/-1;padding-block:22px}.metric:nth-child(3) strong{font-size:28px}.metric:first-child,.metric:nth-child(2){grid-row:2}.metric:nth-child(4),.metric:nth-child(5){grid-row:3}.metric strong{margin-top:7px;font-size:19px}.metric span{font-size:13px}.panel{padding:16px}.simple-chart{gap:18px;height:48vh;min-height:360px;overflow-x:auto}.simple-chart__item{min-width:58px}.simple-chart__plot{height:260px}.analytics-grid{grid-template-columns:1fr;gap:14px}.analytics-grid .analytics-stat-card:last-child{grid-column:auto}.chart{min-width:620px;height:300px;margin-top:14px}.panel--wide{overflow-x:auto}.analytics-stat-card{padding:16px}.drilldown-product{min-height:44px}.date-range{grid-column:1/-1;grid-template-columns:1fr auto 1fr;width:100%;margin-top:8px;display:grid}.page-header:has(.date-range){flex-wrap:wrap}.page-header:has(.analysis-month-control){flex-wrap:wrap}.date-range input{width:100%;min-width:0;height:44px;font-size:14px}.analysis-month-control{width:100%;margin-top:8px}.analysis-month-trigger{justify-content:space-between;width:100%}.analysis-month-popover{width:100%;max-height:min(78dvh,620px);padding:14px 16px calc(14px + env(safe-area-inset-bottom));border-width:1px 0 0;border-radius:16px 16px 0 0;position:fixed;inset:auto 0 0}.settings-list{padding-inline:16px}.settings-list>div{min-height:62px}.theme-segmented{width:100%;max-width:100%}.security-note{font-size:14px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.monthly-profit-panel{overflow:hidden}.monthly-profit-panel__title{align-items:baseline;gap:10px;display:flex}.monthly-profit-chart{min-width:0;max-width:100%;margin-top:12px;position:relative}.monthly-profit-chart__legend{color:var(--muted);justify-content:flex-end;gap:14px;font-size:11px;display:flex}.monthly-profit-chart__legend span{align-items:center;gap:5px;display:inline-flex}.monthly-profit-chart__legend i{border-radius:2px;width:8px;height:8px}.monthly-profit-chart__scroll{overscroll-behavior-inline:contain;scrollbar-width:thin;max-width:100%;overflow:auto hidden}.monthly-profit-chart__canvas{max-width:none;height:330px}.monthly-profit-chart__label{fill:var(--text);font-variant-numeric:tabular-nums;pointer-events:none;font-size:11px;font-weight:650}.monthly-profit-chart__axis-tick text{fill:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.monthly-profit-tooltip{border:1px solid var(--border);background:var(--surface);max-width:min(220px,100vw - 32px);box-shadow:var(--shadow-float);border-radius:9px;padding:10px 12px}.monthly-profit-chart__tooltip-host{z-index:2;pointer-events:none;max-width:calc(100% - 16px);position:absolute;top:22px;right:0}.monthly-profit-tooltip__heading{justify-content:space-between;align-items:center;gap:14px;display:flex}.monthly-profit-tooltip__heading em{font-size:10px;font-style:normal;font-weight:700}.monthly-profit-tooltip span{color:var(--muted);font-size:11px}.monthly-profit-tooltip strong{font-variant-numeric:tabular-nums;margin-top:3px;display:block}.monthly-profit-tooltip .is-profit{color:var(--profit)}.monthly-profit-tooltip .is-loss{color:var(--loss)}@media (width<=720px){.monthly-profit-chart__canvas{height:300px}.monthly-profit-chart__legend{justify-content:flex-start}}.overview-monthly-chart{overflow:hidden}.overview-monthly-chart .simple-chart-wrapper{overscroll-behavior-inline:contain;scrollbar-width:thin;width:100%;min-width:0;padding:12px 0 6px;overflow:auto hidden}.overview-monthly-chart .simple-chart{box-sizing:border-box;align-items:stretch;gap:12px;width:max-content;min-width:100%;height:254px;min-height:254px;max-height:none;padding:16px 8px 4px;display:flex;overflow:visible}.overview-monthly-chart .simple-chart__item{box-sizing:border-box;flex:0 0 104px;grid-template-rows:184px 42px;justify-items:stretch;gap:8px;width:104px;min-width:104px;height:234px;display:grid}.overview-monthly-chart .simple-chart__plot{grid-template-rows:1fr 1fr;width:100%;height:184px;margin:0;display:grid}.overview-monthly-chart .simple-chart__bar-stack{grid-column:1;align-items:center;gap:4px;width:100%;height:100%;display:flex}.overview-monthly-chart .simple-chart__plot[data-direction=positive] .simple-chart__bar-stack{flex-direction:column;grid-row:1;justify-content:flex-end;align-self:end}.overview-monthly-chart .simple-chart__plot[data-direction=negative] .simple-chart__bar-stack{flex-direction:column-reverse;grid-row:2;justify-content:flex-start;align-self:start}.overview-monthly-chart .simple-chart__bar-label{color:var(--text);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:12px;font-weight:650;line-height:1.2}.overview-monthly-chart .simple-chart__info{text-align:center;box-sizing:border-box;flex-direction:column;justify-content:flex-start;align-items:center;gap:3px;width:100%;min-width:0;height:42px;display:flex}.overview-monthly-chart .simple-chart__month,.overview-monthly-chart .simple-chart__amount{white-space:nowrap;text-overflow:ellipsis;width:100%;max-width:100%;line-height:1.3;display:block;overflow:hidden}.overview-monthly-chart .simple-chart__month{color:var(--muted);font-size:11px;font-weight:500}.overview-monthly-chart .simple-chart__amount{color:var(--text);font-variant-numeric:tabular-nums;font-size:12px;font-weight:650}.overview-monthly-chart .bar-positive{background-color:var(--profit)}.overview-monthly-chart .bar-negative{background-color:var(--loss)}.overview-monthly-chart .bar-empty{background:var(--border);opacity:.4;border-radius:3px;width:22px;min-height:4px}@media (width<=720px){.overview-monthly-chart .simple-chart{height:238px;min-height:238px;padding-top:12px}.overview-monthly-chart .simple-chart__item{flex-basis:96px;grid-template-rows:172px 42px;width:96px;min-width:96px;height:222px}.overview-monthly-chart .simple-chart__plot{height:172px}}.column-visibility{flex:none;position:relative}.column-visibility__trigger{white-space:nowrap}.column-visibility__panel{z-index:70;border:1px solid var(--border);background:var(--surface);width:min(340px,100vw - 32px);max-width:min(340px,100vw - 32px);max-height:min(560px,100vh - 120px);box-shadow:var(--shadow-float);border-radius:12px;grid-template-rows:auto minmax(0,1fr) auto;padding:14px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.column-visibility__header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.column-visibility__close{width:36px;height:36px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;flex:0 0 36px;place-items:center;margin:0;padding:0;display:grid}.column-visibility__close:hover{background:var(--surface-2);color:var(--text)}.column-visibility__close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.column-visibility__fields{overscroll-behavior:contain;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 8px;min-height:0;display:grid;overflow-y:auto}.column-visibility__field{cursor:pointer;border-radius:8px;align-items:center;gap:8px;min-width:0;min-height:40px;padding:7px 8px;font-size:13px;display:flex}.column-visibility__field:hover{background:var(--surface-2)}.column-visibility__field:has(input:disabled){color:var(--muted);cursor:not-allowed}.column-visibility__field input{flex:none}.column-visibility__field span{overflow-wrap:anywhere;min-width:0}.column-visibility__field .column-visibility__lock-hint{white-space:nowrap;margin-left:auto;font-size:11px}.column-visibility__reset{width:100%;margin-top:12px}@media (width<=680px){.page--analytics,.page--transactions{animation:none}.column-visibility__trigger{width:44px;height:44px;min-height:44px;padding:0;font-size:0}.column-visibility__trigger svg{width:18px;height:18px}.column-visibility__panel{width:100%;max-width:none;max-height:min(78dvh,620px);padding:16px 16px calc(16px + env(safe-area-inset-bottom));border-width:1px 0 0;border-radius:16px 16px 0 0;position:fixed;inset:auto 0 0}.column-visibility__close{flex-basis:44px;width:44px;height:44px}.column-visibility__field{min-height:44px}.mobile-row--compact .mobile-row__heading{padding-bottom:0}.mobile-row__detail--wide{grid-column:1/-1}.mobile-row__heading strong{white-space:normal;text-overflow:clip;overflow-wrap:anywhere;word-break:break-word;min-width:0;overflow:visible}.mobile-row__details>div,.mobile-row__details dt,.mobile-row__details dd{overflow-wrap:anywhere;word-break:break-word;min-width:0;max-width:100%}}@media (width<=360px){.toolbar{width:100%;min-width:0}.search-box{min-width:0}.reset-button{flex:0 0 44px;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;font-size:0}}.page--self-use{gap:18px}.self-use-window{border:1px solid var(--border-strong);background:color-mix(in srgb, var(--surface), var(--bg) 12%);box-shadow:0 16px 40px color-mix(in srgb, var(--text), transparent 92%);border-radius:13px;overflow:hidden}.self-use-toolbar{border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--surface), var(--bg) 26%);align-items:center;gap:10px;min-height:66px;padding:14px 18px;display:flex}.self-use-segmented{background:var(--surface-3);border-radius:8px;padding:2px;display:inline-flex;overflow:hidden}.self-use-segmented button{min-height:29px;color:var(--muted);background:0 0;border:0;border-radius:6px;padding:0 10px;font-size:12px}.self-use-segmented button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:0 1px 2px color-mix(in srgb, var(--text), transparent 84%)}.self-use-search{flex:0 250px}.self-use-toolbar select{border:1px solid var(--border-strong);background:var(--surface);border-radius:7px;height:36px;padding:0 10px}.self-use-table-wrap{overflow-x:auto}.self-use-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;min-width:720px}.self-use-table th,.self-use-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;padding:13px 18px}.self-use-table th{color:var(--muted);font-size:12px;font-weight:500}.self-use-table tbody tr:last-child td{border-bottom:0}.self-use-table tbody tr:hover{background:color-mix(in srgb, var(--surface-2), transparent 38%)}.self-use-title{max-width:260px;color:var(--text);text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;padding:0;font-weight:600;overflow:hidden}.self-use-title:hover{color:var(--accent)}.self-use-status{border-radius:999px;align-items:center;min-height:23px;padding:0 8px;font-size:12px;font-weight:600;display:inline-flex}.self-use-status--personal{background:var(--surface-2);color:var(--muted)}.self-use-status--listed{background:var(--warning-soft);color:var(--warning)}.self-use-actions{white-space:nowrap;align-items:center;gap:4px;display:flex}.self-use-action-label{color:var(--muted);margin-right:2px;font-size:12px;font-weight:500}.self-use-action{color:#fff;min-height:29px;font:inherit;cursor:pointer;background:#0071e3;border:1px solid #0071e3;border-radius:6px;padding:0 9px;font-size:12px;font-weight:600}.self-use-action:disabled{cursor:default;opacity:.48}.self-use-mobile-list{display:none}.sale-dialog-layer{z-index:100;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.sale-dialog-backdrop{background:#0f101266;border:0;position:absolute;inset:0}.sale-dialog{border:1px solid var(--border-strong);background:var(--surface);width:min(100%,400px);box-shadow:var(--shadow-float);border-radius:13px;position:relative;overflow:hidden}.sale-dialog__titlebar{border-bottom:1px solid var(--border);background:var(--surface-2);min-height:38px;color:var(--muted);place-items:center;font-size:13px;display:grid}.sale-dialog__content{gap:14px;padding:22px 24px 20px;display:grid}.sale-dialog__content h2{letter-spacing:-.02em;margin:0;font-size:19px}.sale-dialog__content>p{color:var(--muted);margin:-8px 0 2px;font-size:13px}.sale-dialog label{color:var(--text);gap:6px;font-size:13px;display:grid}.sale-dialog label em{color:var(--loss);font-style:normal}.sale-dialog input,.sale-dialog textarea{border:1px solid var(--border-strong);background:var(--surface);border-radius:7px;width:100%;padding:8px 10px}.sale-dialog textarea{resize:vertical}.sale-dialog__money-input{border:1px solid var(--border-strong);background:var(--surface);border-radius:7px;align-items:center;gap:8px;padding:0 10px;display:flex}.sale-dialog__money-input b{color:var(--muted);text-align:center;flex:0 0 12px;font-weight:500}.sale-dialog__money-input input{border:0;border-radius:0;min-width:0;padding:8px 0}.sale-dialog .sale-dialog__money-input input:focus{outline:0}.sale-dialog__money-input:focus-within,.sale-dialog input:focus,.sale-dialog textarea:focus{outline:2px solid var(--accent);outline-offset:1px}.sale-dialog__profit{background:var(--surface-2);color:var(--muted);border-radius:7px;justify-content:space-between;padding:10px 11px;font-size:12px;display:flex}.sale-dialog__profit strong{font-size:13px}.sale-dialog form>footer{border-top:1px solid var(--border);justify-content:flex-end;gap:9px;padding:12px 16px;display:flex}.sale-dialog__confirm{color:#fff;background:#0071e3}.sale-dialog__confirm:hover{background:#0077ed}@media (width<=680px){.page--self-use{animation:none}.self-use-page-header{align-items:center}.self-use-toolbar{flex-wrap:wrap;padding:12px}.self-use-toolbar .toolbar-spacer{display:none}.self-use-segmented{width:100%}.self-use-segmented button{flex:1;padding:0 6px}.self-use-search{flex:180px}.self-use-table-wrap{display:none}.self-use-mobile-list{gap:10px;padding:12px;display:grid}.self-use-mobile-card{border:1px solid var(--border);background:var(--surface);border-radius:10px;gap:12px;padding:14px;display:grid}.self-use-mobile-card dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;display:grid}.self-use-mobile-card dl div{gap:2px;display:grid}.self-use-mobile-card dt{color:var(--muted);font-size:12px}.self-use-mobile-card dd{font-variant-numeric:tabular-nums;margin:0}.self-use-mobile-footer{justify-content:space-between;align-items:center;gap:10px;display:flex}.self-use-actions{flex-wrap:wrap;gap:9px}.sale-dialog-layer{align-items:end;padding:0}.sale-dialog{border-width:1px 0 0;border-radius:16px 16px 0 0;width:100%;max-height:min(88dvh,620px)}.sale-dialog__content{padding:20px 16px;overflow-y:auto}}.mobile-app-bar,.mobile-sidebar-layer,.mobile-filter-trigger,.mobile-filter-sheet{display:none}.desktop-filter-controls{align-items:center;gap:8px;display:flex}.date-filter-group{border:1px solid var(--border-strong);background:var(--surface);border-radius:11px;flex:0 422px;align-items:center;gap:6px;width:422px;min-width:0;max-width:100%;padding:4px 6px;display:inline-flex;box-shadow:0 1px 1px #10182808}.date-filter-group select{flex:0 0 112px}.date-filter-group .date-filter-input{width:100%}.date-filter-separator{color:var(--muted);flex:none;font-size:13px}.reset-button{flex:0 0 40px;justify-content:center;align-items:center;width:40px;min-width:40px;height:40px;padding:0;display:inline-flex}.date-filter-input{border:1px solid var(--border-strong);background:var(--surface);border-radius:9px;min-width:0;overflow:hidden}.date-input-shell{width:132px;min-width:0;height:40px;position:relative}.date-input-shell .date-filter-input{z-index:1;width:100%;height:100%;position:relative}.date-input-shell:not(.has-value) .date-filter-input{color:#0000;background:0 0}.date-input-shell:has(.date-filter-input:focus)>span{opacity:0}.date-input-shell:not(.has-value):has(.date-filter-input:focus) .date-filter-input{color:var(--text);background:var(--surface)}.date-input-shell>span{z-index:0;color:var(--muted);letter-spacing:.02em;pointer-events:none;font-size:13px;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.date-filter-input::-webkit-calendar-picker-indicator{opacity:.7;cursor:pointer;margin-right:2px}@media (width>=681px) and (width<=1100px){.page--transactions .toolbar{flex-wrap:wrap}.page--transactions .toolbar .search-box{flex:auto;max-width:none}.page--transactions .toolbar-spacer{display:none}.page--transactions .desktop-filter-controls{border-top:1px solid var(--border);flex-wrap:wrap;flex:100%;order:3;width:100%;padding-top:10px}.page--transactions .date-filter-group{flex:0 360px;width:360px}.page--transactions .date-filter-group select{flex-basis:100px}.page--transactions .date-filter-group .date-filter-input{width:100%}.page--transactions .date-filter-group .date-input-shell{width:112px}.page--transactions .desktop-filter-controls .column-visibility__trigger{margin-left:0}}@media (width<=680px){.topbar,.bottom-nav{display:none}.mobile-app-bar{z-index:40;border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--surface), transparent 4%);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);align-items:center;gap:9px;height:56px;padding:0 12px;font-size:15px;font-weight:700;display:flex;position:sticky;top:0}.mobile-app-bar .icon-button{width:44px;height:44px;margin-left:-4px}.content{padding:18px 16px calc(28px + env(safe-area-inset-bottom))}.page--transactions .toolbar{grid-template-columns:minmax(0,1fr) repeat(3,44px);align-items:center;gap:8px;display:grid}.page--transactions .toolbar .search-box{min-width:0;max-width:none}.desktop-filter-controls,.page--transactions .toolbar-spacer{display:none}.mobile-filter-trigger{width:44px;height:44px;margin:0;display:inline-flex}.page--transactions .toolbar .column-visibility__trigger,.page--transactions .toolbar>.icon-button:not(.mobile-filter-trigger){width:44px;height:44px;margin:0}.mobile-filter-sheet{z-index:80;border:1px solid var(--border);background:var(--surface);padding:16px 16px calc(16px + env(safe-area-inset-bottom));border-bottom:0;border-radius:16px 16px 0 0;gap:13px;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -12px 38px #1018282e}.mobile-filter-sheet header,.mobile-filter-sheet footer{justify-content:space-between;align-items:center;gap:10px;display:flex}.mobile-filter-sheet h2{margin:0;font-size:18px}.mobile-filter-sheet label{color:var(--muted);gap:6px;font-size:12px;display:grid}.mobile-filter-sheet select,.mobile-filter-sheet input,.mobile-filter-sheet .button{min-height:44px}.mobile-filter-sheet select,.mobile-filter-sheet input{border:1px solid var(--border-strong);background:var(--surface);width:100%;color:var(--text);font:inherit;border-radius:8px;padding:0 10px}.mobile-filter-sheet footer .button{flex:1}.overview-profit-hero{border-color:var(--text);background:var(--text);color:var(--surface)}.overview-profit-hero strong{color:var(--profit-strong)}.overview-profit-hero span{color:color-mix(in srgb, var(--surface), transparent 26%)}.analytics-mobile-dashboard{gap:14px}.analytics-mobile-dashboard .analytics-stat-card{padding:16px}.self-use-window{box-shadow:none;border-width:1px 0;border-radius:0}.self-use-toolbar{min-height:44px;padding:0 0 12px}.drawer{max-height:96dvh}.mobile-sidebar-layer{z-index:100;display:block;position:fixed;inset:0}.mobile-sidebar-backdrop{background:#0f101275;border:0;width:100%;position:absolute;inset:0}.mobile-sidebar{background:var(--surface);width:min(84vw,340px);height:100%;box-shadow:var(--shadow-float);padding:16px 12px calc(16px + env(safe-area-inset-bottom));animation:mobile-sidebar-in .22s var(--ease-out-smooth);flex-direction:column;display:flex;position:relative}.mobile-sidebar__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;min-height:52px;padding:0 4px 14px;display:flex}.mobile-sidebar__account{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:700;overflow:hidden}.mobile-sidebar__header .icon-button{width:44px;height:44px}.mobile-sidebar__nav{gap:14px;padding-top:16px;display:grid}.mobile-sidebar__group{gap:5px;display:grid}.mobile-sidebar__group-title{color:var(--muted);letter-spacing:.06em;margin:0 12px 2px;font-size:11px;font-weight:700}.mobile-sidebar__nav a,.mobile-sidebar__action{min-height:46px;color:var(--muted);font:inherit;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:12px;padding:0 12px;font-size:14px;font-weight:550;text-decoration:none;display:flex}.mobile-sidebar__nav a.active{background:var(--surface-2);color:var(--text);position:relative}.mobile-sidebar__nav a.active:before{background:var(--text);content:"";border-radius:0 3px 3px 0;width:3px;height:22px;position:absolute;left:-12px}.mobile-sidebar__footer{border-top:1px solid var(--border);gap:6px;margin-top:auto;padding-top:14px;display:grid}.mobile-sidebar__preferences{gap:6px;padding-bottom:8px;display:grid}.mobile-sidebar__language{min-height:44px;color:var(--muted);align-items:center;gap:8px;padding:0 12px;display:flex}.mobile-sidebar__language button{min-height:34px;color:inherit;font:inherit;background:0 0;border:0;border-radius:7px;padding:0 8px;font-size:13px}.mobile-sidebar__language button.is-active{background:var(--surface-2);color:var(--text);font-weight:650}.mobile-sidebar__action{width:100%}.mobile-sidebar__action:hover,.mobile-sidebar__nav a:hover{background:var(--surface-2);color:var(--text)}.mobile-sidebar__logout{color:var(--muted);opacity:.72}@keyframes mobile-sidebar-in{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.page-header .button{gap:6px;width:auto;min-width:80px;padding-inline:12px;font-size:14px}}
