.logoutBtn{margin-left:auto;background:transparent;color:#fff;border:1px solid rgba(255,255,255,.3);padding:6px 12px;border-radius:8px;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s ease}.logoutBtn:hover{background:#ffffff1f;border-color:#fff9}.sideInner{padding:20px 18px;display:flex;flex-direction:column;height:100%}.sideBrand{font-size:20px;font-weight:800;margin-bottom:28px;color:#fff}.sideNav{display:flex;flex-direction:column;gap:8px}.sideLink{padding:12px 16px;border-radius:12px;display:flex;align-items:center;gap:12px;color:#cbd5e1;text-decoration:none;font-weight:500;transition:.2s ease}.sideLink:hover{background:#ffffff14;color:#fff}.sideLinkActive{background:#fff;color:#14b8a6;font-weight:700;box-shadow:0 4px 14px #00000026}.sideIcon{font-size:18px;flex-shrink:0}.sideLink span{line-height:1}.sideLogout{margin-top:16px;padding-top:10px}.logoutBtn{width:100%;padding:12px 16px;display:flex;align-items:center;gap:12px;border-radius:12px;border:none;background:#ff4d4f1f;color:#ff6b6b;font-weight:600;cursor:pointer;transition:all .2s ease}.logoutBtn:hover{background:#ff4d4f40;color:#ff4d4f}.logoutIcon{font-size:18px;flex-shrink:0}.logoutBtn span{line-height:1}html,body,#root{height:100%;margin:0;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.layoutShell{height:100vh;display:flex;background:#fbf7ef;position:relative}.layoutSidebar{position:fixed;top:0;left:0;height:100vh;width:260px;background:#1f2f3a;color:#e5e7eb;display:flex;flex-direction:column;transform:translate(-100%);transition:transform .3s ease;z-index:2000;box-shadow:4px 0 30px #00000080}.layoutMenuOpen .layoutSidebar{transform:translate(0)}.layoutOverlay{display:none}.layoutMenuOpen .layoutOverlay{display:block;position:fixed;inset:0;background:#0000008c;z-index:1500}.layoutMain{flex:1;display:flex;flex-direction:column;width:100%;min-height:0;background:#fbf7ef}.layoutHeader{height:64px;min-height:64px;display:flex;align-items:center;gap:16px;padding:0 22px;background:#1f2f3a;color:#fff;position:relative;z-index:1000;border-bottom:1px solid rgba(255,255,255,.08)}.layoutMenuBtn{width:40px;height:40px;border-radius:10px;border:none;background:#ffffff14;color:#fff;font-size:20px;cursor:pointer;transition:.2s ease}.layoutMenuBtn:hover{background:#ffffff2e}.layoutHeaderTitle{font-size:15px;font-weight:600;white-space:nowrap}.layoutHeaderTitle b{font-weight:800}.layoutContent{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:#fbf7ef;padding:16px}.confirmBackdrop{position:fixed;inset:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;padding:16px;z-index:999}.confirmModal{width:100%;max-width:460px;background:#fff;border-radius:16px;border:1px solid rgba(31,41,55,.12);box-shadow:0 24px 60px #00000040;padding:16px 16px 14px}.confirmHeader{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.confirmTitle{margin:0;font-size:18px;font-weight:900;color:#0f172a}.confirmBody{margin-top:8px}.confirmMessage{margin:0;color:#475569;font-size:13px;line-height:1.45;font-weight:600}.confirmActions{display:flex;gap:10px;justify-content:flex-end;margin-top:14px}.confirmCancelBtn,.confirmPrimaryBtn,.confirmDeleteBtn{border:none;border-radius:12px;padding:10px 14px;font-weight:900;cursor:pointer;font-size:13px}.confirmCancelBtn{background:#f1f5f9;color:#0f172a;border:1px solid rgba(31,41,55,.12)}.confirmCancelBtn:hover{filter:brightness(.98)}.confirmPrimaryBtn{background:#14b8a6;color:#fff}.confirmPrimaryBtn:hover{filter:brightness(.98)}.confirmDeleteBtn{background:#ef4444;color:#fff}.confirmDeleteBtn:hover{filter:brightness(.98)}html,body,#root{height:100%;margin:0;overflow:hidden}.productsPage{height:100%;max-height:100%;display:flex;flex-direction:column;min-height:0;min-width:0;position:relative;max-width:1320px;width:100%;margin:0 auto;padding:18px;box-sizing:border-box;overflow:hidden}.productsLayout{flex:1;min-height:0;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 200px;gap:18px;align-items:stretch;overflow:hidden}.leftCol{display:flex;flex-direction:column;min-height:0;min-width:0;overflow:hidden}.productsTop{flex-shrink:0;margin-bottom:12px}.productsScroll{flex:1;min-height:0;min-width:0;height:85%;overflow-y:auto;overflow-x:hidden;padding-right:6px;padding-bottom:140px}.budgetBox{color:#1f2937}@media(min-width:900px){.productsScroll{padding-bottom:24px}}.rightCol{min-width:0;overflow:hidden}.rightPanelStack{display:flex;flex-direction:column;gap:12px;align-items:stretch;padding-top:58px}.productsTitle{margin:0;font-size:22px;font-weight:900;color:#1f2937}.productsMuted{font-size:12px;opacity:.85;color:#0f172a}.productsCard{background:#fff;border:1px solid rgba(31,41,55,.1);border-radius:14px;padding:14px;margin-bottom:12px;min-width:0}.categoryHeaderRow{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;min-width:0}.categoryHeader{font-weight:900;color:#1f2937;min-width:0}.categoryTotals{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;max-width:60%;min-width:0}.chip{font-size:12px;font-weight:900;padding:6px 10px;border-radius:999px;background:#2dd4bf2e;color:#065f5b;border:1px solid rgba(45,212,191,.35);white-space:nowrap}.itemsList{display:flex;flex-direction:column;gap:12px;width:100%;min-width:0}.itemRow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-radius:12px;background:#f6f7f9;border:1px solid #e3e6ea;width:100%;min-width:0;box-sizing:border-box;margin:0}.itemRowBought{background:#2dd4bf1f;border:1px dashed rgba(45,212,191,.35)}.itemRowBought+.itemRowBought{margin-top:6px}.itemRowBought .itemName,.itemRowBought .itemMeta{opacity:.8}.itemInfo{flex:1;min-width:0;color:#1f2937;font-weight:700}.itemName{font-weight:900;color:#1f2937}.itemMeta{display:flex;opacity:.7;color:#475569;font-size:13px;white-space:normal;overflow:visible;text-overflow:clip;flex-wrap:wrap;gap:4px;line-height:1.3}.itemActions{display:flex;align-items:center;gap:10px;flex-shrink:0}.btnEdit{padding:8px 10px;border-radius:10px;border:1.5px solid #2dd4bf;color:#065f5b;background:transparent;font-weight:900;cursor:pointer}.btnEdit:hover{border-color:#3b82f6}.miniCheck{display:flex;align-items:center;gap:6px;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox{transform:scale(1.05);accent-color:#14b8a6}.miniCheckText{opacity:.75;color:#475569;font-weight:600}.budgetBox{background:#f1ede6;border:1px solid rgba(0,0,0,.08);border-radius:14px;padding:10px 14px;min-width:150px;display:flex;flex-direction:column;gap:4px;color:#1f2937}.budgetRow{display:flex;justify-content:space-between;gap:10px;margin:2px 0;font-size:12px;line-height:1.4}.budgetLabel{opacity:.8;font-weight:700}.budgetValue{font-weight:900}.budgetNegative .budgetValue{color:#ff6b6b}.budgetAlert{margin-top:8px;padding:8px 10px;border-radius:10px;font-size:12px;font-weight:900;text-align:right}.budgetAlertWarn{background:#f59e0b26;border:1px solid rgba(245,158,11,.5);color:#fbbf24}.budgetAlertDanger{background:#ef444426;border:1px solid rgba(239,68,68,.6);color:#ff6b6b}.totalsRight{background:#2dd4bf24;border:1px solid rgba(31,41,55,.12);border-radius:14px;padding:14px;box-shadow:0 10px 24px #1018281a;display:flex;flex-direction:column;gap:10px}.totalsRow{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13px;font-weight:700;color:#1f2937}.totalsRow b{font-size:14px;font-weight:900}.totalsBar{position:fixed;bottom:0;z-index:50;left:0;right:0;height:52px;padding:6px 16px;display:grid;grid-template-columns:repeat(3,1fr);align-items:center;background:#2dd4bf2e;border-top:1px solid rgba(31,41,55,.12);box-shadow:0 -6px 14px #10182814}.totalsBar>div{display:flex;justify-content:center;align-items:center;gap:6px;font-size:13px;font-weight:700;color:#1f2937}.totalsBar b{font-size:14px;font-weight:900}.fabAdd{position:absolute;right:24px;bottom:96px;width:56px;height:56px;border-radius:16px;border:none;background:#14b8a6;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;box-shadow:0 6px 14px #14b8a640,0 2px 6px #0000001a;transition:width .3s ease,transform .2s ease;z-index:50}.fabIcon{font-size:28px;font-weight:900;line-height:1;color:#fff;display:flex;align-items:center;justify-content:center;width:100%;height:100%}.fabText{display:none;white-space:nowrap}@media(hover:hover)and (pointer:fine){.fabAdd:hover{width:190px;justify-content:flex-start;padding:0 20px}.fabAdd:hover .fabText{display:block;margin-left:14px;font-size:14px;font-weight:700;white-space:nowrap}}.modalBackdrop{position:fixed;inset:0;background:#00000073;display:flex;justify-content:center;align-items:center;padding:16px;z-index:60}.modal{width:100%;max-width:420px;background:#fff;border-radius:14px;padding:14px;color:#0b1220}.modalHeader{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.modalTitle{font-weight:900}.iconBtn{border:none;background:transparent;cursor:pointer;font-size:18px;font-weight:900}.label{display:block;margin-top:10px;font-size:12px;opacity:.7}.inputLight{width:100%;min-width:0;padding:10px 12px;border-radius:10px;border:1px solid #ddd;outline:none;box-sizing:border-box;color:#111827;background-color:#fff}.twoCol>*{min-width:0}.twoCol{display:grid;grid-template-columns:1fr 1fr;gap:10px}.checkboxRow{display:flex;align-items:center;gap:10px;margin-top:10px}.modalActions{display:flex;gap:30px;margin-top:14px}.btnDanger{flex:1;padding:10px 12px;border-radius:10px;border:1px solid #b00020;background:#b00020;color:#fff;font-weight:900;cursor:pointer}.btnSecondary{flex:1;padding:10px 12px;border-radius:10px;border:1px solid #2a3a61;background:#f3f4f6;color:#0b1220;font-weight:900;cursor:pointer}.formError{margin-top:10px;color:#ff6b6b;font-size:13px;font-weight:600}@media(max-width:899px){.productsLayout{display:grid;grid-template-columns:1fr auto;grid-template-areas:"productsTop budget" "list list";grid-template-rows:auto 1fr;gap:12px;align-items:start;align-content:start}.leftCol{display:contents!important}.productsTop{width:auto;max-width:calc(100% - 190px);grid-area:productsTop;margin:0!important;min-width:0}.productsScroll{grid-area:list;height:auto!important;min-height:0;overflow-y:auto;overflow-x:hidden;padding-top:0!important;margin-top:0!important;padding-bottom:240px}.productsScroll .productsCard:first-child{margin-top:0!important}.rightCol{grid-area:budget;margin-left:auto;width:auto;max-width:max-content;align-self:start}.rightPanelStack{flex-direction:row;justify-content:flex-end;align-items:flex-start;gap:8px;width:auto;padding-top:0!important}.budgetBox{width:160px;max-width:55vw;padding:8px 12px;margin-top:0!important}.totalsRight{display:none}.categoryTotals{max-width:100%;justify-content:flex-start}.itemRow{flex-wrap:wrap}.productsMuted{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.productsMuted b{display:inline-block;white-space:nowrap;min-width:fit-content}.fabAdd{bottom:44px;right:18px}}@media(max-width:480px){.productsPage{padding:12px}.budgetBox{width:160px;padding:9px 12px}.fabAdd{bottom:76px;right:16px}.totalsBar{height:60px;font-size:12px}}@media(min-width:768px){.itemsList{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1200px){.itemsList{grid-template-columns:repeat(3,minmax(0,1fr))}.fabAdd{bottom:140px}}@media(min-width:700px)and (max-width:899px){.itemsList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.itemMeta{white-space:normal;overflow:visible;text-overflow:clip}}.unitMessage{padding:12px 14px;border-radius:12px;font-weight:800;font-size:13px;border:1px solid rgba(17,24,39,.12);background:#fff;margin:10px 0 0}.unitMessage.success{background:#10b9811a;border-color:#10b98147;color:#065f46}.unitMessage.error{background:#ef44441f;border-color:#ef444440;color:#991b1b}@media(min-width:483px)and (max-width:895px){.fabAdd{bottom:78px;right:18px}}.modal select.inputLight{color:#111827!important;background-color:#fff!important;-webkit-text-fill-color:#111827!important;opacity:1!important;appearance:auto!important;-webkit-appearance:menulist!important}.modal select.inputLight:focus,.modal select.inputLight:active{color:#111827!important;background-color:#fff!important;-webkit-text-fill-color:#111827!important}.modal select.inputLight option{color:#111827!important;background-color:#fff!important}.modal select.inputLight option:checked{color:#111827!important;background-color:#fff!important}.selectFixWrap{position:relative;width:100%}.selectFixDisplay{width:100%;min-width:0;padding:10px 36px 10px 12px;border-radius:10px;border:1px solid #ddd;outline:none;box-sizing:border-box;color:#111827!important;background-color:#fff!important;-webkit-text-fill-color:#111827!important;pointer-events:none;cursor:pointer}.selectFixDisplay::placeholder{color:#6b7280;-webkit-text-fill-color:#6b7280}.selectFixNative{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:2}.selectFixWrap:after{content:"▾";position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#111827;font-size:13px;font-weight:900;pointer-events:none;z-index:3}.selectFixWrap:focus-within .selectFixDisplay{border-color:#2dd4bf}.productsActiveListRow{display:flex;align-items:center;gap:8px;margin-top:4px;max-width:320px}.productsListSelectWrap{width:180px}.productsListSelectDisplay{padding:6px 30px 6px 10px;border-radius:8px;font-size:12px;font-weight:900;min-height:32px}@media(max-width:480px){.productsActiveListRow{max-width:100%}.productsListSelectWrap{width:150px}}@media(max-width:480px){.productsTop{max-width:calc(100% - 170px)!important}.productsActiveListRow{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-top:4px;max-width:100%}.productsListSelectWrap{width:135px!important;max-width:135px}.productsListSelectDisplay{width:135px;min-height:32px;padding:6px 26px 6px 9px;font-size:12px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.productsActiveListRow .productsMuted{font-size:12px;line-height:1.1}}.searchSelectWrap{position:relative;width:100%}.searchSelectMenu{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:120;background:#fff;border:1px solid rgba(45,212,191,.35);border-radius:12px;box-shadow:0 10px 24px #10182824;max-height:190px;overflow-y:auto;padding:6px}.searchSelectOption{width:100%;border:none;background:transparent;color:#111827;text-align:left;padding:10px 12px;border-radius:9px;font-size:14px;font-weight:700;cursor:pointer}.searchSelectOption:hover{background:#2dd4bf24}.searchSelectEmpty{padding:10px 12px;font-size:13px;font-weight:700;color:#6b7280}@media(max-width:480px){.searchSelectMenu{max-height:160px;z-index:150}.searchSelectOption{padding:9px 10px;font-size:13px}}@media(max-width:899px){.productsLayout{grid-template-areas:"productsTop budget" "message message" "list list"!important;grid-template-rows:auto auto 1fr!important}.unitMessage{grid-area:message;margin:0 0 8px!important;width:100%;box-sizing:border-box;z-index:20}.productsScroll{grid-area:list}}.activeListCustomSelect{position:relative;width:180px}.activeListCustomBtn{width:100%;min-height:40px;padding:8px 14px;border-radius:14px;border:1px solid #ddd;background:#fff;color:#111827;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;font-weight:900;cursor:pointer;outline:none;box-sizing:border-box}.activeListCustomBtn:hover{border-color:#14b8a673}.activeListCustomBtnOpen,.activeListCustomBtn:focus{border-color:#14b8a6a6;box-shadow:0 0 0 4px #14b8a624}.activeListCustomBtn:disabled{opacity:.7;cursor:not-allowed}.activeListCustomArrow{font-size:13px;font-weight:900;color:#111827;line-height:1}.activeListCustomMenu{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:180;background:#fff;border:1px solid rgba(20,184,166,.35);border-radius:14px;box-shadow:0 12px 28px #10182824;padding:6px;max-height:190px;overflow-y:auto}.activeListCustomOption{width:100%;border:none;background:transparent;color:#111827;text-align:left;padding:10px 12px;border-radius:10px;font-size:13px;font-weight:850;cursor:pointer}.activeListCustomOption:hover{background:#14b8a61f}.activeListCustomOptionActive{background:#14b8a62e;color:#0f766e}.activeListCustomEmpty{padding:10px 12px;color:#6b7280;font-size:13px;font-weight:700}@media(max-width:480px){.activeListCustomSelect{width:135px}.activeListCustomBtn{min-height:32px;padding:6px 10px;font-size:12px;border-radius:11px}.activeListCustomMenu{max-height:150px;z-index:200}.activeListCustomOption{padding:9px 10px;font-size:12px}}@media(max-width:480px){.totalsBar{height:66px!important;padding:6px 8px!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}.totalsBar>div,.totalsBar .totalsRow{min-width:0;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;gap:3px!important;text-align:center!important}.totalsBar .totalsRow span{font-size:10.5px!important;line-height:1.05!important;font-weight:800!important;white-space:nowrap!important}.totalsBar .totalsRow b{font-size:13px!important;line-height:1.05!important;font-weight:900!important;white-space:nowrap!important}}.btnDeleteSmall{padding:8px 10px;border-radius:10px;border:1.5px solid #fecaca;color:#991b1b;background:#fee2e2;font-weight:900;cursor:pointer}.btnDeleteSmall:hover{border-color:#ef4444;background:#fecaca}@media(max-width:480px){.itemActions{width:100%;justify-content:flex-start;flex-wrap:wrap}.btnDeleteSmall,.btnEdit{padding:7px 10px}}.itemRow{flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;gap:12px!important}.itemInfo{width:100%!important;max-width:100%!important;flex:none!important}.itemName{width:100%;line-height:1.2;word-break:normal;overflow-wrap:break-word}.itemMeta{display:block!important;width:100%!important;max-width:100%!important;line-height:1.35!important;white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important}.itemActions{width:100%!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;flex-wrap:wrap!important;gap:10px!important}.btnEdit,.btnDeleteSmall{flex-shrink:0}.miniCheck{margin-left:4px}.miniCheckText{white-space:nowrap}@media(max-width:480px){.categoryHeaderRow{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:6px!important;flex-wrap:nowrap!important}.categoryHeader{flex:0 0 auto!important;font-size:13px!important;white-space:nowrap!important}.categoryTotals{flex:1 1 auto!important;max-width:none!important;display:flex!important;justify-content:flex-end!important;gap:5px!important;flex-wrap:nowrap!important;min-width:0!important}.categoryTotals .chip{font-size:10px!important;padding:5px 7px!important;white-space:nowrap!important}}@media(max-width:380px){.categoryHeader{font-size:12px!important}.categoryTotals .chip{font-size:9.5px!important;padding:4px 6px!important}}@media(max-width:480px){.productsPage{height:100%!important;min-height:0!important;overflow:hidden!important;padding:10px 12px 0!important}.productsLayout{height:100%!important;min-height:0!important;overflow:hidden!important;grid-template-areas:"productsTop budget" "message message" "list list"!important;grid-template-rows:auto auto minmax(0,1fr)!important;gap:8px!important;align-items:stretch!important;align-content:stretch!important}.productsTop{margin-bottom:0!important}.productsTitle{font-size:20px!important;line-height:1.1!important}.productsActiveListRow{margin-top:3px!important;gap:3px!important}.rightPanelStack{padding-top:0!important}.budgetBox{margin-top:0!important}.productsScroll{grid-area:list!important;height:auto!important;max-height:none!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch;margin-top:0!important;padding-top:0!important;padding-bottom:185px!important}.productsCard{margin-bottom:10px!important}.productsScroll>.productsCard:first-child{margin-top:0!important}.fabAdd{position:fixed!important;right:24px!important;bottom:92px!important;z-index:60!important}.totalsBar{z-index:55!important}}@media(max-width:480px){.productsScroll{padding-bottom:150px!important}.productsCard{padding:10px!important;margin-bottom:8px!important;border-radius:12px!important}.categoryHeaderRow{margin-bottom:8px!important}.itemRow{padding:9px 10px!important;gap:8px!important;border-radius:11px!important}.itemName{font-size:13.5px!important;line-height:1.1!important}.itemMeta{font-size:11px!important;line-height:1.2!important}.itemActions{gap:7px!important}.btnEdit,.btnDeleteSmall{padding:6px 9px!important;font-size:12px!important;border-radius:9px!important}.miniCheck{gap:5px!important}.miniCheckText{font-size:12px!important}.checkbox{transform:scale(.95)!important}.categoryTotals .chip{font-size:9.5px!important;padding:4px 6px!important}.fabAdd{width:50px!important;height:50px!important;right:18px!important;bottom:92px!important;border-radius:15px!important}.fabIcon{font-size:25px!important}}@media(max-width:480px){.productsScroll{grid-area:list!important;height:auto!important;max-height:calc(100dvh - 405px)!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;align-self:start!important;padding-bottom:115px!important;margin-top:0!important}.fabAdd{position:fixed!important;width:48px!important;height:48px!important;right:18px!important;bottom:92px!important;border-radius:15px!important;z-index:70!important}.fabIcon{font-size:24px!important}.totalsBar{z-index:60!important}}@media(max-width:480px){.productsPage{height:100%!important;min-height:0!important;overflow:hidden!important;padding:10px 12px 0!important}.productsLayout{height:100%!important;min-height:0!important;overflow:hidden!important;grid-template-areas:"productsTop budget" "message message" "list list"!important;grid-template-rows:auto auto minmax(0,1fr)!important;gap:8px!important}.productsScroll{grid-area:list!important;height:calc(100dvh - 465px)!important;max-height:calc(100dvh - 465px)!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding-top:0!important;padding-bottom:85px!important;margin-top:0!important;margin-bottom:0!important}.productsCard{padding:10px!important;margin-bottom:8px!important;border-radius:12px!important}.itemRow{padding:9px 10px!important;gap:8px!important;border-radius:11px!important}.itemName{font-size:13.5px!important;line-height:1.1!important}.itemMeta{font-size:11px!important;line-height:1.2!important}.itemActions{gap:7px!important}.btnEdit,.btnDeleteSmall{padding:6px 9px!important;font-size:12px!important;border-radius:9px!important}.miniCheckText{font-size:12px!important}.checkbox{transform:scale(.95)!important}.fabAdd{position:fixed!important;width:48px!important;height:48px!important;right:18px!important;bottom:92px!important;border-radius:15px!important;z-index:90!important}.fabIcon{font-size:24px!important}.totalsBar{z-index:80!important}}@media(min-width:481px)and (max-width:899px){.productsPage{height:100%!important;min-height:0!important;overflow:hidden!important;padding:14px 18px 0!important}.productsLayout{height:100%!important;min-height:0!important;overflow:hidden!important;grid-template-areas:"productsTop budget" "message message" "list list"!important;grid-template-rows:auto auto minmax(0,1fr)!important;gap:10px!important}.productsScroll{grid-area:list!important;height:calc(100dvh - 455px)!important;max-height:calc(100dvh - 455px)!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding-top:0!important;padding-bottom:95px!important;margin-top:0!important;margin-bottom:0!important}.fabAdd{position:fixed!important;width:50px!important;height:50px!important;right:28px!important;bottom:92px!important;border-radius:15px!important;z-index:90!important}.fabIcon{font-size:25px!important}.totalsBar{z-index:80!important}}@media(min-width:900px){.rightPanelStack{padding-top:88px!important}}.listsPage{padding:0;background:transparent}.listsHeader{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;color:#111827}.listsTitle{margin:0;font-size:22px;font-weight:900;color:#111827}.listsMuted{font-size:12px;margin-top:4px;color:#111827b8}.listsCard{background:#fff;border:1px solid rgba(17,24,39,.1);border-radius:16px;padding:14px;margin-bottom:12px;width:100%;box-sizing:border-box}.listsSectionTitle{margin:0 0 10px;font-size:14px;font-weight:900;color:#111827;display:flex;align-items:center;gap:6px}.listsForm{display:grid;grid-template-columns:2fr 1fr auto;gap:35px;align-items:center}.input,.inputLight{width:100%;min-width:0;padding:11px 12px;border-radius:12px;background:#fff;border:1px solid rgba(17,24,39,.14);color:#111827;outline:none}.listHint{font-size:12px;font-weight:500;color:#1118278c;margin-left:4px}.btnPrimary{padding:11px 14px;border-radius:12px;border:1px solid #14b8a6;background:#14b8a6;color:#fff;font-weight:900;cursor:pointer;transition:.18s ease;white-space:nowrap}.btnSecondary{padding:11px 14px;border-radius:12px;border:1px solid rgba(20,184,166,.55);color:#0f766e;background:#fff;font-weight:900;cursor:pointer;transition:.18s ease;white-space:nowrap}.btnGhost{padding:11px 14px;border-radius:12px;border:1px solid rgba(17,24,39,.14);background:transparent;color:#111827d9;font-weight:900;cursor:pointer;transition:.18s ease;white-space:nowrap}.btnDanger:hover{background:#fecaca}.listsScrollBox{margin-top:10px;background:#fffc;border-radius:16px;overflow:hidden;max-height:44vh}.listsList{flex:1;min-height:0;overflow-y:auto;display:grid;gap:10px;padding-right:6px;margin-top:8px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));justify-content:start;justify-items:start}.listsList::-webkit-scrollbar{width:6px}.listsList::-webkit-scrollbar-thumb{background:#11182733;border-radius:10px}.listsList::-webkit-scrollbar-thumb:hover{background:#1118274d}.listRow{display:flex;flex-direction:column;justify-content:space-between;gap:6px;padding:12px 12px 12px 16px;width:100%;box-sizing:border-box;background:#f6f7f9;border:1px solid #E3E6EA;border-radius:14px;transition:.18s ease;min-height:120px;align-items:flex-start;position:relative}.listRow:hover{border-color:#14b8a640;box-shadow:0 10px 18px #1018280f}.listRowActive{background:#14b8a614;box-shadow:0 8px 18px #14b8a626;border-color:#14b8a640}.listRowActive:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:4px;border-radius:999px;background:#14b8a6}.listRowLeft{flex:1;cursor:pointer;min-width:0}.listName{font-weight:900;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.listMeta{font-size:12px;margin-top:4px;color:#111827a6}.editBudgetWrap{margin-top:8px}.listActions{display:flex;gap:20px;flex-shrink:0}.toastSuccess{display:inline-flex;align-items:center;gap:8px;width:fit-content;max-width:100%;margin:8px 0 12px;padding:10px 14px;border-radius:12px;background:#14b8a6f2;color:#fff;font-weight:900;font-size:13px;box-shadow:0 12px 28px #0000001f}@media(max-width:520px){.listsPage{padding:12px 10px}.listsCard{padding:12px;border-radius:14px}.listsForm{display:flex;flex-direction:column;gap:10px;align-items:center}.input{width:90%;max-width:90%;padding:9px 10px;font-size:13px}.listsForm .btnPrimary{width:97%;padding:10px}.listsList{gap:8px;margin-top:8px}.listRow{padding:10px 10px 10px 12px;min-height:auto}.listName{font-size:14px}.listMeta{font-size:11px}.listActions{width:100%;gap:8px}.listActions .btnSecondary,.listActions .btnDanger{flex:1;padding:8px;font-size:12px}}@media(min-width:900px){.listsPage{align-self:flex-start;width:100%;margin-top:0}}.categoriesPage{flex:1;min-height:0;display:flex;flex-direction:column;gap:12px;padding:16px 14px}.categoriesHeader{flex-shrink:0;display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.categoriesTitle{margin:0;font-size:22px;font-weight:900;color:#111827}.categoriesMuted{font-size:12px;margin-top:4px;color:#111827b8}.categoryType{font-size:12px;margin-top:2px;color:#111827a6}.categoryType b{color:#0f766e;text-transform:capitalize}.typeBadge{display:inline-block;background:#14b8a61f;color:#0f766e;padding:3px 8px;border-radius:8px;font-size:11px;font-weight:800;text-transform:capitalize;margin-right:6px}.categoriesCard{flex-shrink:0;background:#fff;border:1px solid rgba(17,24,39,.1);border-radius:16px;padding:14px;color:#111827;box-shadow:0 10px 18px #1018280f}.categoriesCard:last-child{flex:1;min-height:0;display:flex;flex-direction:column}.categoriesSectionTitle{margin:0 0 10px;font-size:14px;font-weight:900}.categoriesForm{display:grid;grid-template-columns:1fr 160px 120px;gap:40px;align-items:center}.customTypeSelect{position:relative;width:100%;min-width:150px}.customTypeBtn{width:100%;height:44px;padding:0 14px;border-radius:14px;border:1px solid rgba(17,24,39,.14);background:#fff;color:#111827;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px;font-weight:800;cursor:pointer;outline:none;box-sizing:border-box}.customTypeBtn:hover{border-color:#14b8a673}.customTypeBtnOpen,.customTypeBtn:focus{border-color:#14b8a6a6;box-shadow:0 0 0 4px #14b8a624}.customTypeArrow{font-size:13px;font-weight:900;color:#111827;line-height:1}.customTypeMenu{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:100;background:#fff;border:1px solid rgba(20,184,166,.35);border-radius:14px;box-shadow:0 12px 28px #10182824;padding:6px;overflow:hidden}.customTypeOption{width:100%;border:none;background:transparent;color:#111827;text-align:left;padding:10px 12px;border-radius:10px;font-size:14px;font-weight:800;cursor:pointer}.customTypeOption:hover{background:#14b8a61f}.customTypeOptionActive{background:#14b8a62e;color:#0f766e}.categoriesList{flex:1;min-height:0;overflow-y:auto;display:grid;gap:12px;padding-right:6px;margin-top:10px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));align-content:start}.categoriesList::-webkit-scrollbar{width:6px}.categoriesList::-webkit-scrollbar-thumb{background:#11182733;border-radius:10px}.categoriesList::-webkit-scrollbar-thumb:hover{background:#1118274d}.categoryRow{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:6px;padding:12px;background:#f6f7f9;border:1px solid #e3e6ea;border-radius:14px;transition:.18s ease;min-height:120px}.categoryRow:hover{border-color:#14b8a640;box-shadow:0 10px 18px #1018280f}.categoryLeft{flex:1;min-width:0}.categoryName{font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.categoryMeta{font-size:12px;margin-top:4px;color:#111827a6}.categoryActions{width:100%;display:flex;justify-content:flex-end;margin-top:auto;gap:8px}.input,.inputLight{width:100%;min-width:0;padding:11px 12px;height:44px;border-radius:12px;background:#fff;border:1px solid rgba(17,24,39,.14);outline:none;box-sizing:border-box}.btnPrimary{padding:11px 14px;border-radius:12px;border:1px solid #14b8a6;background:#14b8a6;color:#fff;font-weight:900;cursor:pointer;height:44px}.btnSecondary{padding:11px 14px;border-radius:12px;border:1px solid rgba(20,184,166,.55);color:#0f766e;background:#fff;font-weight:900;cursor:pointer}.btnGhost{padding:11px 14px;border-radius:12px;border:1px solid rgba(17,24,39,.14);background:transparent;font-weight:900;cursor:pointer}.btnDanger{padding:10px 12px;border-radius:10px;border:1px solid #fecaca;background:#fee2e2;color:#991b1b;font-weight:700;cursor:pointer}.unitMessage{border-radius:12px;padding:10px 12px;font-weight:800;font-size:13px;border:1px solid rgba(17,24,39,.12);background:#fff;color:#111827}.unitMessage.success{border-color:#14b8a659;background:#14b8a61a;color:#0f766e}.unitMessage.error{border-color:#ef444459;background:#ef44441a;color:#991b1b}@media(max-width:520px){.categoriesForm{grid-template-columns:1fr;gap:12px}.customTypeSelect{width:100%}.categoryRow{flex-direction:column;align-items:stretch}.categoryActions{justify-content:flex-end}.btnPrimary,.btnSecondary,.btnGhost,.btnDanger{width:100%}}.categoriesPage .categoriesList{grid-template-columns:repeat(auto-fill,230px)!important;gap:12px!important;justify-content:flex-start!important;align-content:start!important}.categoriesPage .categoryRow{width:230px!important;min-height:104px!important;padding:11px!important;gap:6px!important;align-items:stretch!important;box-sizing:border-box!important}.categoriesPage .categoryLeft{flex:0!important;min-width:0!important}.categoriesPage .categoryName{font-size:15px!important;line-height:1.15!important}.categoriesPage .categoryMeta,.categoriesPage .categoryType{font-size:11.5px!important;margin-top:3px!important;line-height:1.2!important}.categoriesPage .categoryActions{width:100%!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:7px!important;margin-top:5px!important}.categoriesPage .categoryActions .btnSecondary,.categoriesPage .categoryActions .btnDanger,.categoriesPage .categoryActions .btnGhost{flex:1 1 0!important;width:50%!important;min-width:0!important;height:36px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:0 7px!important;border-radius:11px!important;font-size:12px!important;font-weight:900!important;line-height:1!important;text-align:center!important;white-space:nowrap!important;box-sizing:border-box!important}@media(max-width:520px){.categoriesPage .categoriesList{grid-template-columns:1fr!important}.categoriesPage .categoryRow{width:100%!important;min-height:104px!important}.categoriesPage .categoryActions{flex-wrap:nowrap!important}.categoriesPage .categoryActions .btnSecondary,.categoriesPage .categoryActions .btnDanger,.categoriesPage .categoryActions .btnGhost{width:50%!important}}.unitsPage{height:100%;display:flex;flex-direction:column;gap:12px;overflow:hidden;padding:16px 14px 24px}.unitsHeader{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:0}.unitsTitle{margin:0;font-size:22px;font-weight:900;color:#111827}.unitsMuted{font-size:12px;margin-top:4px;color:#111827b8}.unitsCard{background:#fff;border:1px solid rgba(17,24,39,.1);border-radius:16px;padding:14px;margin-bottom:0;color:#111827;box-shadow:0 10px 18px #1018280f}.unitsSectionTitle{margin:0 0 10px;font-size:14px;font-weight:900;color:#111827}.unitsCard:last-child{flex:1;min-height:0;display:flex;flex-direction:column}.unitsForm{display:grid;grid-template-columns:1fr 150px;gap:35px;align-items:center}.unitsList{flex:1;min-height:0;overflow-y:auto;display:grid;gap:12px;padding-right:6px;margin-top:10px;grid-template-columns:repeat(auto-fill,230px);justify-content:flex-start;align-content:start}.unitsList::-webkit-scrollbar{width:6px}.unitsList::-webkit-scrollbar-thumb{background:#11182733;border-radius:10px}.unitsList::-webkit-scrollbar-thumb:hover{background:#1118274d}.unitRow{width:230px;min-height:104px;display:flex;flex-direction:column;justify-content:space-between;align-items:stretch;gap:6px;padding:11px;box-sizing:border-box;background:#f6f7f9;border:1px solid #e3e6ea;border-radius:14px;transition:.18s ease}.unitRow:hover{border-color:#14b8a640;box-shadow:0 10px 18px #1018280f}.unitLeft{min-width:0;flex:0}.unitName{font-size:15px;font-weight:900;color:#111827;line-height:1.15}.unitMeta{font-size:11.5px;margin-top:3px;color:#111827a6;line-height:1.2}.unitActions{width:100%;display:flex;align-items:center;justify-content:space-between;gap:7px;margin-top:5px;flex-shrink:0}.unitActions .btnSecondary,.unitActions .btnDanger,.unitActions .btnGhost{flex:1 1 0;width:50%;min-width:0;height:36px;display:inline-flex;align-items:center;justify-content:center;padding:0 7px;border-radius:11px;font-size:12px;font-weight:900;line-height:1;text-align:center;box-sizing:border-box;white-space:nowrap}.input,.inputLight{width:100%;min-width:0;height:44px;padding:11px 12px;border-radius:12px;background:#fff;border:1px solid rgba(17,24,39,.14);color:#111827;outline:none;box-sizing:border-box}.input::placeholder,.inputLight::placeholder{color:#11182773}.input:focus,.inputLight:focus{border-color:#14b8a68c;box-shadow:0 0 0 4px #14b8a624}.btnPrimary{height:44px;padding:0 14px;border-radius:12px;border:1px solid #14b8a6;background:#14b8a6;color:#fff;font-weight:900;cursor:pointer;transition:.18s ease;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center}.btnPrimary:hover{filter:brightness(.96);transform:translateY(-1px)}.btnSecondary{border:1px solid rgba(20,184,166,.55);color:#0f766e;background:#fff;cursor:pointer;transition:.18s ease}.btnSecondary:hover{background:#14b8a614}.btnGhost{border:1px solid rgba(17,24,39,.14);background:transparent;color:#111827d9;cursor:pointer;transition:.18s ease}.btnGhost:hover{background:#1118270d}.btnDanger{border:1px solid #fecaca;background:#fee2e2;color:#991b1b;cursor:pointer;transition:.18s ease}.btnDanger:hover{border-color:#ef4444;background:#fecaca}.unitMessage{padding:12px 14px;border-radius:12px;font-weight:600;margin-bottom:10px;animation:fadeSlide .25s ease}.unitMessage.success{background:#e6f9f6;color:#0f766e;border:1px solid #99f6e4}.unitMessage.error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}@keyframes fadeSlide{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.toast{position:fixed;top:18px;right:18px;z-index:9999;padding:10px 14px;border-radius:12px;font-weight:900;font-size:13px;box-shadow:0 12px 28px #0000002e;color:#fff}.toast.success{background:#14b8a6f2}.toast.error{background:#ef4444f2}@media(max-width:520px){.unitsPage{padding:12px}.unitsForm,.unitsList{grid-template-columns:1fr;gap:12px}.unitRow{width:100%;min-height:104px;padding:11px}.unitActions{flex-wrap:nowrap;gap:7px}.unitActions .btnSecondary,.unitActions .btnDanger,.unitActions .btnGhost{width:50%;height:36px;font-size:12px}.btnPrimary{width:100%}}.authPage{height:100vh;background:#fbf7ef;display:flex;align-items:center;justify-content:center}.authBox{width:90%;max-width:1100px;height:600px;display:flex;border-radius:30px;overflow:hidden;box-shadow:0 25px 60px #00000026}.authLeft{flex:1;background:#1f2f3a;display:flex;align-items:center;justify-content:center}.authLeftContent{color:#fff;text-align:center;max-width:380px}.brand{font-size:30px;font-weight:700;margin-bottom:6px}.tagline{font-size:14px;opacity:.7;margin-bottom:25px}.authLeftContent h1{font-size:38px;margin-bottom:12px}.authLeftContent p{font-size:16px;opacity:.85;line-height:1.6}.authRight{flex:1;background:#fff;display:flex;align-items:center;justify-content:center}.authCard{width:320px}.authCard h2{margin-bottom:20px;color:#1f2f3a}.authCard input{width:100%;padding:12px;margin-bottom:12px;border-radius:10px;border:1px solid #ddd;font-size:14px}.authCard input:focus{outline:none;border-color:#1f2f3a;box-shadow:0 0 0 2px #1f2f3a1a}.authCard button{width:100%;padding:12px;margin-top:5px;background:#1f2f3a;color:#fff;border:none;border-radius:10px;font-weight:600;cursor:pointer;transition:.2s}.authCard button:hover{opacity:.9}input[type=password]::-ms-reveal,input[type=password]::-ms-clear{display:none}.authCard .googleBtn{background:#fff!important;color:#1f2f3a!important;border:1px solid #2c3e50!important;padding:10px;margin-top:10px;border-radius:8px;font-size:14px;font-weight:500;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}.authCard .googleBtn:hover{background:#f1f1f1!important;border-color:#1f2f3a!important}.googleBtn svg{font-size:18px}.divider{display:flex;align-items:center;margin:15px 0;font-size:12px;color:#999}.divider:before,.divider:after{content:"";flex:1;height:1px;background:#ddd}.divider span{margin:0 10px}.authSwitch{margin-top:15px;text-align:center;font-size:14px}.authSwitch span{color:#1f2f3a;cursor:pointer;font-weight:500;transition:.2s}.authSwitch span:hover{text-decoration:underline;opacity:.8}.login-error{color:red;font-size:14px;margin-bottom:10px}.forgotText{font-size:13px;cursor:pointer;text-align:right;margin-bottom:10px;color:#1f2f3a}.forgotText:hover{text-decoration:underline}@media(max-width:767px){.authBox{flex-direction:column;height:auto}.authLeft{display:none}.authRight{padding:40px 0}}@media(max-width:412px){.authCard{width:100%;max-width:320px;margin:0 auto;padding:20px 16px}.authCard input{width:100%;max-width:100%;padding:10px 12px;font-size:14px}.authCard button{width:100%;padding:12px;font-size:14px}}.otpContainer{display:flex;gap:12px;justify-content:center;margin-top:12px}.otpInput{width:48px;height:52px;text-align:center;font-size:20px;font-weight:700;border-radius:12px;border:1.5px solid #d1d5db;background:#f9fafb;color:#111827;outline:none;transition:all .2s ease}.otpInput:focus{border-color:#14b8a6;box-shadow:0 0 0 3px #14b8a626;background:#fff}.otpInput:not(:placeholder-shown){border-color:#14b8a6}.otpSuccess{color:#059669;font-weight:700;margin-bottom:10px}.resendBtn{cursor:pointer;color:#14b8a6;font-weight:700}.resendBtn:hover{text-decoration:underline}@media(max-width:900px){.otpContainer{gap:8px}.otpInput{width:38px;height:44px;font-size:16px}}@media(max-width:480px){.otpInput{width:42px;height:48px;font-size:18px}}
