@import url("https://api.fontshare.com/v2/css?f[]=general-sans@400,500,600,700&display=swap");*,:after,:before{box-sizing:border-box}:root{--bg:#f5f5f5;--bgElevated:#ffffff;--bgCard:#ffffff;--bgHover:#ebebeb;--bgMuted:#efefef;--border:#e0e0e0;--borderStrong:#c4c4c4;--text:#0f1014;--textMuted:#4c5158;--textDim:#888b91;--accent:#0f1014;--accentHover:#2a2c33;--accentSoft:#ececec;--danger:#c83a2c;--dangerSoft:#f8e2dd;--ink:var(--text);--inkSoft:var(--textMuted);--rule:var(--border);--lime:var(--ink);--limeDeep:var(--accentHover);--limeSoft:var(--accentSoft);--honey:var(--ink);--honeyDeep:var(--accentHover);--honeySoft:var(--accentSoft);--coral:var(--ink);--coralSoft:var(--accentSoft);--pink:var(--ink);--pinkSoft:var(--accentSoft);--peach:var(--accentSoft);--sage:var(--ink);--sageSoft:var(--accentSoft);--radius:12px;--radiusSm:8px;--shadow:0 1px 2px rgba(15,16,20,0.04),0 12px 28px rgba(15,16,20,0.06);--shadowSm:0 1px 2px rgba(15,16,20,0.05)}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:General Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.5;min-height:100vh;color-scheme:light;font-feature-settings:"ss01" on,"cv11" on}.display,.display *{font-family:inherit;font-weight:700;font-feature-settings:"tnum" on;letter-spacing:-.03em}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:transparent;color:inherit}[role=button]:focus-visible,[role=dialog]:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radiusSm)}input,select,textarea{font-family:inherit;font-size:inherit;background:white;border:1px solid var(--border);color:var(--text);padding:10px 12px;border-radius:var(--radiusSm);outline:none;transition:border-color .15s,box-shadow .15s}textarea{resize:vertical;min-height:80px}select{-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:32px;background-image:linear-gradient(45deg,transparent 50%,var(--textDim) 50%),linear-gradient(135deg,var(--textDim) 50%,transparent 50%);background-position:calc(100% - 16px) 52%,calc(100% - 11px) 52%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accentSoft)}.app{display:grid;grid-template-columns:68px 1fr;min-height:100vh}.app .main{max-width:none}.impersonationBanner{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:16px;padding:10px 20px;background:var(--danger);color:white;font-size:13px;line-height:1.4;text-align:center;position:-webkit-sticky;position:sticky;top:0;z-index:40}.impersonationBannerText strong{font-weight:700}.impersonationBannerBtn{border:1px solid rgba(255,255,255,.5);background:transparent;color:white;font-size:12px;font-weight:600;padding:4px 10px;border-radius:var(--radiusSm);cursor:pointer;transition:background .14s ease}.impersonationBannerBtn:hover{background:rgba(255,255,255,.12)}.impersonationBannerBtn:disabled{opacity:.6;cursor:not-allowed}.sidebar.sidebarMini{padding:24px 0;gap:8px;max-height:none}.sidebar.sidebarMini,.sidebar.sidebarRail{align-items:center;overflow:visible;z-index:30}.sidebar.sidebarRail{padding:18px 0;gap:6px}.navRailBrand{width:100%;padding-bottom:14px;border-bottom:1px solid var(--rule)}.navRailBrand,.navRailBrandLink{display:flex;justify-content:center}.navRailBrandLink{align-items:center;width:36px;height:36px;border-radius:8px;text-decoration:none;transition:background .15s}.navRailBrandLink:hover{background:var(--bgHover)}.navRailList{flex-direction:column;gap:4px;width:100%;flex:1 1;padding-top:6px}.navRailItem,.navRailList{display:flex;align-items:center}.navRailItem{justify-content:center;width:44px;height:44px;border-radius:10px;text-decoration:none;color:var(--textMuted);transition:background .15s,color .15s;position:relative}.navRailItem:hover{background:var(--bgHover);color:var(--text)}.navRailItemActive,.navRailItemActive:hover{background:var(--accentSoft);color:var(--accent)}.navRailFooter{width:100%;padding-top:12px;border-top:1px solid var(--rule)}.navRailFooter,.navRailUserBtn{display:flex;justify-content:center;position:relative}.navRailUserBtn{width:36px;height:36px;flex-shrink:0;aspect-ratio:1;border-radius:50%;background:var(--accentSoft);color:var(--accent);align-items:center;cursor:pointer;transition:background .15s,color .15s}.navRailUserBtn:hover{background:var(--accent);color:white}.navRailUserInitial{font-size:14px;font-weight:700}.userMenuHeader{padding:10px 14px;border-bottom:1px solid var(--rule);margin-bottom:4px}.userMenuName{font-weight:600;font-size:14px}.userMenuEmail{font-size:12px;color:var(--textMuted);margin-top:2px}.navRailFooter .userMenu{left:calc(100% + 12px);right:auto;bottom:0;width:220px}.miniExpandBtn,.miniSubBtn,.miniUserBtn{position:relative}.miniExpandBtn:after,.miniSubBtn:after,.miniUserBtn:after,.navRailItem:after,.navRailUserBtn:after{content:attr(data-tooltip);position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%) translateX(-4px);background:var(--text);color:white;padding:6px 10px;border-radius:8px;font-size:12px;font-weight:600;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s ease-out,transform .15s ease-out;box-shadow:0 6px 20px rgba(17,24,39,.25);z-index:90}.miniExpandBtn:before,.miniSubBtn:before,.miniUserBtn:before,.navRailItem:before,.navRailUserBtn:before{content:"";position:absolute;left:calc(100% + 6px);top:50%;transform:translateY(-50%) translateX(-4px);border:6px solid transparent;border-right:6px solid var(--text);opacity:0;pointer-events:none;transition:opacity .15s ease-out,transform .15s ease-out;z-index:90}.miniExpandBtn:hover:after,.miniExpandBtn:hover:before,.miniSubBtn:hover:after,.miniSubBtn:hover:before,.miniUserBtn:hover:after,.miniUserBtn:hover:before,.navRailItem:hover:after,.navRailItem:hover:before,.navRailUserBtn:hover:after,.navRailUserBtn:hover:before{opacity:1;transform:translateY(-50%) translateX(0)}.miniExpandBtn{width:36px;height:36px;border-radius:10px;background:white;border:1px solid var(--border);color:var(--textMuted);font-size:18px;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s;flex:0 0 auto}.miniExpandBtn:hover{background:var(--bgHover);color:var(--accent)}.miniSection{display:flex;flex-direction:column;gap:6px;align-items:center;width:100%}.miniSubs{padding:4px 0;overflow:visible}.miniDivider{width:28px;height:1px;background:var(--border);margin:4px 0;flex:0 0 auto}.miniUserBtn{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:white;border:1px solid var(--border);color:var(--textMuted);font-size:14px;transition:border-color .15s,transform .12s,box-shadow .15s;flex:0 0 auto}.miniUserBtn:hover{border-color:var(--accent);transform:scale(1.05);box-shadow:var(--shadowSm)}.miniUserBtnActive{border-color:var(--accent);background:var(--accentSoft);box-shadow:0 0 0 2px var(--accentSoft)}.miniDot{width:16px;height:16px;border-radius:50%}.miniAllDot{color:var(--textMuted);font-size:18px;font-weight:700}.miniUserBtnActive .miniAllDot{color:var(--accent)}.miniSubBtn{width:44px;height:44px;border-radius:50%;padding:0;background:transparent;display:flex;align-items:center;justify-content:center;transition:transform .12s;flex:0 0 auto}.miniSubBtn:hover{transform:scale(1.08)}.miniSubBtn .subIcon{width:40px;height:40px;border-radius:50%;box-shadow:var(--shadowSm)}.sidebar{background:var(--bgElevated);border-right:1px solid var(--rule);padding:28px 22px 20px;display:flex;flex-direction:column;gap:28px;height:100vh;overflow:hidden;position:-webkit-sticky;position:sticky;top:0;min-width:0;transition:width .25s ease,padding .25s ease,opacity .25s ease}.sidebarBrand{padding-bottom:18px;border-bottom:1px solid var(--rule)}.sidebarBrand,.sidebarBrandLink{display:flex;align-items:center;gap:14px}.sidebarBrandLink{flex:1 1;text-decoration:none;color:inherit;border-radius:6px}.sidebarBrandLink:hover .brandLabel{color:var(--accentHover)}.brandLabel{flex:1 1;font-weight:700;font-size:18px;letter-spacing:-.02em;color:var(--ink);line-height:1;transition:color .15s}.sidebarCollapseBtn{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--textMuted);font-size:18px;line-height:1;transition:background .15s,color .15s}.sidebarCollapseBtn:hover{background:var(--bgHover);color:var(--text)}.brandDot{width:10px;height:10px;border-radius:50%;background:var(--lime);flex:0 0 auto;box-shadow:0 0 0 3px var(--limeSoft)}.sidebarSection{display:flex;flex-direction:column;gap:10px}.sidebarLabel{text-transform:uppercase;font-size:10px;letter-spacing:.16em;color:var(--textMuted);font-weight:500;font-feature-settings:"ss01" on}.sidebarLabelRow{display:flex;align-items:center;justify-content:space-between}.sidebarAction{font-size:12px;color:var(--accent);font-weight:600;padding:2px 6px;border-radius:6px;transition:background .15s,color .15s}.sidebarAction:hover{background:var(--accentSoft);color:var(--accentHover)}.manageModal{max-width:540px}.manageList{padding:12px 16px 4px;display:flex;flex-direction:column;gap:4px;max-height:50vh;overflow-y:auto}.manageRow{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:var(--radiusSm);background:transparent;transition:background .15s}.manageRow:hover{background:var(--bgMuted)}.manageOrder{display:flex;flex-direction:column;gap:1px;flex:0 0 auto}.orderBtn{width:22px;height:16px;border-radius:4px;color:var(--textDim);font-size:11px;line-height:1;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.orderBtn:hover:not(:disabled){background:white;color:var(--accent);box-shadow:var(--shadowSm)}.orderBtn:disabled{opacity:.25;cursor:not-allowed}.colorDotWrap{width:28px;height:28px;border-radius:50%;flex:0 0 auto;cursor:pointer;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(17,24,39,.1),0 1px 2px rgba(17,24,39,.08);transition:transform .12s,box-shadow .15s}.colorDotWrap:hover{transform:scale(1.08);box-shadow:inset 0 0 0 1px rgba(17,24,39,.15),0 4px 10px rgba(17,24,39,.15)}.colorDot{position:absolute;inset:0;width:100%;height:100%;padding:0;border:none;background:transparent;opacity:0;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none}.manageNameInput{flex:1 1;padding:8px 10px;font-weight:500;font-size:14px}.manageIconInput,.manageNameInput{border:1px solid transparent;background:transparent;border-radius:var(--radiusSm);transition:background .15s,border-color .15s}.manageIconInput{width:44px;text-align:center;padding:8px 6px;font-size:18px}.manageIconInput:hover{background:white;border-color:var(--border)}.manageIconInput:focus{background:white;border-color:var(--accent);box-shadow:0 0 0 3px var(--accentSoft)}.manageNameInput:hover{background:white;border-color:var(--border)}.manageNameInput:focus{background:white;border-color:var(--accent);box-shadow:0 0 0 3px var(--accentSoft)}.manageDelete{width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--textDim);background:transparent;font-size:18px;line-height:1;border-radius:8px;transition:background .15s,color .15s;flex:0 0 auto}.manageDelete:hover{background:var(--dangerSoft);color:var(--danger)}.manageAddForm{display:flex;gap:12px;align-items:center;padding:14px 24px;margin-top:8px;border-top:1px solid var(--border);background:var(--bgMuted)}.manageAddForm .manageNameInput{background:white;border-color:var(--border)}.pillRow{display:flex;flex-wrap:wrap;gap:6px}.pill{display:inline-flex;align-items:stretch;background:white;border:1px solid var(--border);border-radius:999px;font-size:13px;color:var(--text);overflow:hidden;transition:border-color .15s}.pill:hover{border-color:var(--borderStrong)}.pillMain,.pillSolo{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;color:inherit;background:transparent;transition:background .15s}.pillSolo{cursor:pointer}.pillSolo:hover{background:var(--bgHover)}.pillActive.pillSolo{color:var(--bg)}.pillActive.pillSolo:hover{background:var(--inkSoft)}.pillAdd{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:white;border:1px dashed var(--borderStrong);border-radius:999px;font-size:13px;color:var(--textMuted);cursor:pointer;transition:background .15s,color .15s,border-color .15s}.pillAdd:hover{background:var(--accentSoft);color:var(--accent);border-color:var(--accent);border-style:solid}.pillMain:hover{background:var(--bgHover)}.pillActive{background:var(--ink);border-color:var(--ink)}.pillActive,.pillActive .pillMain{color:var(--bg)}.pillActive .pillMain:hover{background:var(--accentHover)}.pillWithDelete .pillMain{padding-right:6px}.pillDelete{width:28px;padding:0 8px 0 4px;display:inline-flex;align-items:center;justify-content:center;font-size:14px;line-height:1;color:var(--textDim);background:transparent;transition:background .15s,color .15s}.pillDelete:hover{background:var(--dangerSoft);color:var(--danger)}.pillActive .pillDelete{color:rgba(255,255,255,.85)}.pillActive .pillDelete:hover{background:rgba(255,255,255,.2);color:white}.pillDot{width:8px;height:8px;border-radius:50%}.pillIcon{display:inline-flex;align-items:center;justify-content:center;font-size:13px;line-height:1}.tagPicker{display:flex;flex-wrap:wrap;gap:6px;padding:8px 0 0}.tagPickerPill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--rule);background:var(--bgCard);border-radius:999px;font-size:13px;color:var(--textMuted);cursor:pointer;transition:background .12s,border-color .12s,color .12s}.tagPickerPill:hover{border-color:var(--borderStrong);color:var(--ink)}.tagPickerPillActive{font-weight:600}.tagPickerIcon{display:inline-flex;align-items:center;justify-content:center;font-size:13px;line-height:1}.tagPickerEmpty{color:var(--textDim);font-size:13px;font-style:italic}.tagPickerCreate{display:inline-flex;align-items:center;gap:6px;padding:4px 12px 4px 6px;border:1px dashed var(--borderStrong);border-radius:999px;background:transparent;transition:border-color .12s}.tagPickerCreate:focus-within{border-color:var(--ink);border-style:solid}.tagPickerCreateColor{width:18px;height:18px;border-radius:50%;position:relative;cursor:pointer;flex-shrink:0;overflow:hidden}.tagPickerCreateColor .colorDot{outline:none}.tagPickerCreateColor .colorDot::-webkit-color-swatch-wrapper{padding:0;border:0}.tagPickerCreateColor .colorDot::-webkit-color-swatch{border:0}.tagPickerCreateColor .colorDot::-moz-color-swatch{border:0}.tagPickerCreateInput{border:0;border-radius:0;background:transparent;outline:none;box-shadow:none;font-size:13px;width:130px;color:var(--ink);padding:2px 0;margin:0;font-family:inherit;-moz-appearance:none;appearance:none;-webkit-appearance:none}.tagPickerCreateInput:focus{border:0;outline:none;box-shadow:none}.tagPickerCreateInput::placeholder{color:var(--textDim)}.tagPickerCreateInput:disabled{cursor:progress;opacity:.5}.tagPickerError{color:var(--danger);font-size:12px;font-weight:500;flex-basis:100%}.inlineForm{display:flex;gap:6px}.inlineForm input{flex:1 1;padding:6px 10px;font-size:13px}.inlineIcon{width:40px;text-align:center;flex:0 0 auto!important}.inlineColor{width:32px!important;padding:2px!important;flex:0 0 auto!important;cursor:pointer}.inlineBtn{padding:6px 12px;font-size:13px;border-radius:var(--radiusSm);background:var(--accent);color:white;font-weight:600;transition:background .15s}.inlineBtn:hover{background:var(--accentHover)}.sidebarList{flex:1 1;min-height:0}.subList{display:flex;flex-direction:column;gap:2px;flex:1 1;min-height:0;overflow-y:auto}.subRow{display:flex;align-items:stretch;border-radius:var(--radiusSm);overflow:hidden;width:100%;transition:background .15s;flex:0 0 auto}.subRow:hover{background:var(--limeSoft)}.subMain{flex:1 1;gap:10px;padding:8px 10px;text-align:left;min-width:0;background:transparent;color:inherit}.subIcon,.subMain{display:flex;align-items:center}.subIcon{width:30px;height:30px;border-radius:50%;justify-content:center;font-size:15px;flex:0 0 auto;background:var(--bgCard);border:1px solid var(--rule);color:var(--ink);overflow:hidden}.subIcon img{width:100%;height:100%;border-radius:50%;object-fit:cover}.subName{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;display:inline-flex;align-items:center;gap:6px}.subMeta{display:flex;flex-direction:column;min-width:0;flex:1 1;gap:2px}.subPill{display:inline-flex;align-items:center;font-size:10px;padding:2px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.04em;font-weight:700;flex:0 0 auto}.subPillPaused{background:#fef3c7;color:#92400e}.subRowPaused .subAmount,.subRowPaused .subIcon,.subRowPaused .subName,.subRowPaused .subTags{opacity:.55}.subTags{display:flex;flex-wrap:wrap;gap:3px}.subTag{font-size:10px;background:var(--accentSoft);color:var(--accent);padding:2px 6px;border-radius:4px;font-weight:600}.tagInput{display:flex;flex-wrap:wrap;gap:6px;padding:8px 10px;background:white;border:1px solid var(--border);border-radius:var(--radiusSm);min-height:42px;cursor:text;transition:border-color .15s,box-shadow .15s}.tagInput:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accentSoft)}.tagInputField{flex:1 1;min-width:120px;border:none;padding:2px 0;font-size:13px;background:transparent}.tagInputField:focus{box-shadow:none;border:none}.tagChip{display:inline-flex;gap:4px;background:var(--accentSoft);padding:3px 6px 3px 10px;border-radius:999px;font-size:12px;font-weight:600}.tagChip,.tagChipDelete{align-items:center;color:var(--accent)}.tagChipDelete{width:16px;height:16px;border-radius:50%;display:flex;justify-content:center;font-size:14px;line-height:1;transition:background .15s}.tagChipDelete:hover{background:rgba(99,102,241,.15)}.priceHistoryPanel{display:flex;flex-direction:column;gap:10px;padding:12px;background:var(--surfaceSoft,rgba(99,102,241,.04));border:1px solid var(--border);border-radius:10px}.priceHistoryHint{margin:0;font-size:12px;color:var(--textMuted);line-height:1.4}.priceHistoryList{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.priceHistoryItem{display:grid;grid-template-columns:1fr auto auto;align-items:center;grid-gap:10px;gap:10px;padding:6px 10px;background:var(--surface);border:1px solid var(--border);border-radius:8px;font-size:13px}.priceHistoryDate{color:var(--textMuted)}.priceHistoryAmount{font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.priceHistoryDelete{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--textMuted);font-size:14px;line-height:1;transition:background .15s,color .15s}.priceHistoryDelete:hover{background:rgba(220,38,38,.1);color:var(--danger)}.priceHistoryAdd{display:grid;grid-template-columns:minmax(140px,1fr) minmax(100px,1fr) auto;grid-gap:8px;gap:8px;align-items:center}.priceHistoryAdd input{padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);font-size:13px}.subAmount{color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:13px;font-weight:500;letter-spacing:-.005em}.subDelete{width:32px;display:flex;align-items:center;justify-content:center;color:var(--textDim);opacity:0;transition:opacity .15s,background .15s,color .15s;font-size:16px;background:transparent}.subRow:hover .subDelete{opacity:1}.subDelete:hover{background:var(--dangerSoft);color:var(--danger);opacity:1}.main{padding:32px 40px;display:flex;flex-direction:column;gap:24px;max-width:1400px;min-width:0}@media (max-width:1100px){.main{padding:24px}}.dashHead{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:8px 0 28px;flex-wrap:wrap}.dashHeadHero{display:flex;flex-direction:column;gap:8px;min-width:0;flex:1 1 auto}.dashHeadControls{display:flex;align-items:center;gap:12px;flex-shrink:0}.toastStack{position:fixed;bottom:24px;right:24px;display:flex;flex-direction:column;gap:8px;z-index:200;pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--ink);color:var(--bgCard);border-radius:var(--radius);box-shadow:var(--shadow);font-size:14px;min-width:280px;max-width:420px;animation:toastSlideIn .2s ease-out}.toastMessage{flex:1 1}.toastAction{background:transparent;color:var(--bgCard);border:1px solid rgba(255,255,255,.3);padding:4px 10px;border-radius:6px;font-weight:600;font-size:13px;cursor:pointer;transition:background .15s}.toastAction:hover{background:rgba(255,255,255,.15)}.toastClose{background:transparent;color:rgba(255,255,255,.6);font-size:18px;width:20px;height:20px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:color .15s}.toastClose:hover{color:var(--bgCard)}.toastError{background:var(--danger)}.toastInfo{background:var(--accentHover)}@keyframes toastSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.cheatSheet{width:min(440px,90vw);padding:24px 28px 28px}.cheatSheetBody{padding-top:12px}.cheatSheetList{display:flex;flex-direction:column;gap:14px;margin:0}.cheatSheetRow{display:flex;align-items:center;justify-content:space-between;gap:16px}.cheatSheetKeys{display:flex;gap:4px;margin:0;flex-shrink:0}.cheatSheetDesc{color:var(--textMuted);margin:0;font-size:14px;text-align:right}.kbd{display:inline-flex;min-width:28px;height:26px;padding:0 8px;border:solid var(--rule);border-width:1px 1px 2px;border-radius:6px;background:var(--bg);font-family:General Sans,monospace;font-size:12px;font-weight:600;color:var(--ink)}.emptyState,.kbd{align-items:center;justify-content:center}.emptyState{background:var(--bgCard);border:1px solid var(--rule);border-radius:var(--radius);box-shadow:var(--shadowSm);padding:80px 32px;display:flex}.emptyStateBody{max-width:460px;text-align:center;display:flex;flex-direction:column;gap:20px;align-items:center}.emptyStateBody p{color:var(--textMuted);font-size:15px;line-height:1.55;margin:0}.dashHeadTitle{font-size:28px;font-weight:700;letter-spacing:-.02em;color:var(--ink);line-height:1.1;margin:0}.monthNav{display:flex;align-items:center;gap:16px}.viewToggle{display:inline-flex;padding:3px;background:var(--bgCard);border:1px solid var(--rule);border-radius:999px}.viewToggleBtn{padding:6px 16px;border-radius:999px;font-size:13px;font-weight:500;color:var(--textMuted);letter-spacing:.005em;transition:background .15s,color .15s}.viewToggleBtn:hover{color:var(--ink)}.viewToggleBtnActive{background:var(--ink);color:var(--bg)}.viewToggleBtnActive:hover{color:var(--bg)}.yearView{display:flex;flex-direction:column;gap:20px}.kpiGrid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);grid-gap:14px;gap:14px}@media (max-width:1280px){.kpiGrid{grid-template-columns:repeat(3,1fr)}.kpiPrimary{grid-column:1/-1}.kpiPrimary .kpiValue{font-size:28px}}@media (max-width:720px){.kpiGrid{grid-template-columns:1fr 1fr}.kpiPrimary{grid-column:1/-1}}.kpiCard{background:var(--bgCard);border:1px solid var(--rule);border-radius:var(--radius);padding:22px 24px;display:flex;flex-direction:column;gap:8px;box-shadow:var(--shadowSm)}.kpiPrimary{background:var(--limeSoft);border-color:var(--limeDeep)}.kpiLabel{text-transform:uppercase;font-size:10px;letter-spacing:.16em;color:var(--textMuted);font-weight:500;font-feature-settings:"ss01" on}.kpiValue{font-size:32px;font-weight:700;letter-spacing:-.03em;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1}.kpiPrimary .kpiValue{font-size:44px}.kpiSub{font-size:12px;color:var(--textMuted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kpiDim{font-size:26px;color:var(--textDim);font-weight:800}.chartCard{background:white;border:1px solid var(--border);border-radius:var(--radius);padding:20px 24px 16px;box-shadow:var(--shadowSm);display:flex;flex-direction:column;gap:16px}.chartCard,.timelineCard{min-width:0}.chartHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.chartTitle{margin:0;font-size:18px;font-weight:600;letter-spacing:-.015em;color:var(--ink);line-height:1.1}.chartLegend{display:flex;gap:14px}.legendItem{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--textMuted)}.legendSwatch{width:12px;height:12px;border-radius:3px}.legendSwatchPeak{background:var(--ink)}.legendSwatchCurrent{background:var(--inkSoft)}.legendSwatchPast{background:var(--textDim)}.legendSwatchFuture{background:var(--bgElevated);border:1px solid var(--rule)}.chartBars{display:flex;gap:10px;height:260px;align-items:stretch;padding-top:20px}@media (max-width:1100px){.chartBars{gap:6px}.chartBarValue{font-size:10px}}@media (max-width:800px){.chartBarValue{display:none}}.chartBar{flex:1 1;display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:0;background:transparent;cursor:pointer;min-width:0;position:relative}.chartBarValue{font-size:11px;font-weight:600;color:var(--textMuted);text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-height:14px}.chartBarTrack{flex:1 1;display:flex;align-items:flex-end;background:var(--bgMuted);border-radius:8px;overflow:hidden;min-height:0}.chartBarFill{width:100%;background:var(--accent);border-radius:8px 8px 0 0;transition:background .15s,filter .15s;min-height:2px}.chartBarPast .chartBarFill{background:var(--textDim)}.chartBarCurrent .chartBarFill{background:var(--inkSoft)}.chartBarFuture .chartBarFill{background:var(--rule)}.chartBarPeak .chartBarFill{background:var(--ink)}.chartBar:hover .chartBarFill{filter:brightness(.95)}.chartBarLabel{text-align:center;font-size:12px;font-weight:600;color:var(--textMuted);text-transform:uppercase;letter-spacing:.03em}.chartBarCurrent .chartBarLabel{color:var(--accent);font-weight:700}.chartModeToggle{padding:2px}.chartModeToggle .viewToggleBtn{font-size:12px;padding:4px 10px}.chartLegendStandalone{justify-content:flex-end;margin-top:-8px}.bubbleChart{position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;isolation:isolate}.bubbleChartClip{position:absolute;inset:0;overflow:hidden;border-radius:var(--radiusSm);background:linear-gradient(180deg,var(--bgMuted) 0,#ffffff 100%)}.bubbleTooltipFloating{position:absolute;top:0;left:0;background:var(--text);color:white;padding:6px 10px;border-radius:8px;font-size:12px;font-weight:600;white-space:nowrap;display:flex;flex-direction:column;align-items:center;gap:2px;opacity:0;transition:opacity .15s ease-out;box-shadow:0 6px 20px rgba(17,24,39,.25);will-change:transform,opacity;z-index:40;pointer-events:none}.bubbleTooltipFloatingVisible{opacity:1}.bubbleTooltipFloating:after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top:5px solid var(--text)}.bubbleLanes{inset:0;pointer-events:none}.bubbleLane,.bubbleLanes{position:absolute;display:flex}.bubbleLane{top:0;bottom:0;align-items:flex-end;justify-content:center;padding:0 0 6px;border-left:1px dashed var(--border);background:transparent;color:var(--textMuted);pointer-events:auto;cursor:pointer;transition:background .15s}.bubbleLane:first-child{border-left:none}.bubbleLane:hover{background:rgba(99,102,241,.04)}.bubbleLaneCurrent{background:rgba(99,102,241,.06)}.bubbleLaneCurrent .bubbleLaneLabel{color:var(--accent);font-weight:700}.bubbleLaneLabel{font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:600}.bubble{position:absolute;top:0;left:0;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2}.bubble:hover{z-index:10}.bubbleInner{width:100%;height:100%;border-radius:50%;background:white;border:1px solid var(--border);box-shadow:0 2px 6px rgba(17,24,39,.1);display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;color:var(--textMuted);overflow:hidden;transition:transform .18s ease-out,box-shadow .18s ease-out,border-color .18s ease-out}.bubble:hover .bubbleInner{transform:scale(1.18);border-color:var(--ink);box-shadow:0 10px 24px rgba(50,40,30,.16)}.bubble:hover.bubblePaid .bubbleInner{opacity:1;filter:none}.bubbleTooltipName{color:white}.bubbleTooltipAmount{color:rgba(255,255,255,.8);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700}.bubbleInner img{width:100%;height:100%;border-radius:50%;object-fit:cover;pointer-events:none}.bubblePaid .bubbleInner{opacity:.45;filter:grayscale(.6)}.bubbleEmpty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--textMuted);font-size:14px}.chartSub{font-size:12px;color:var(--textMuted)}.timelineCard{background:white;border:1px solid var(--border);border-radius:var(--radius);padding:20px 0 0;box-shadow:var(--shadowSm);display:flex;flex-direction:column;gap:12px;overflow:hidden}.timelineCard>.chartHeader{padding:0 24px}.timelineScroll{overflow-x:auto;padding:0}.timelineTable{width:100%;border-collapse:separate;border-spacing:0;font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;table-layout:fixed;min-width:720px}.timelineTable td,.timelineTable th{padding:10px 4px;text-align:center;border-bottom:1px solid var(--border);background:white}.timelineTable thead th{font-size:10px;font-weight:700;color:var(--textDim);text-transform:uppercase;letter-spacing:.08em;padding:14px 4px 10px;border-bottom:1px solid var(--border);background:var(--bgMuted);position:-webkit-sticky;position:sticky;top:0;z-index:2}.timelineTable tbody tr:last-child td{border-bottom:none}.timelineTable tbody tr:hover td{background:#fafbff}.timelineHeaderName{text-align:left!important;width:180px;padding-left:20px!important;position:-webkit-sticky;position:sticky;left:0;z-index:3!important}.timelineHeaderMonth{cursor:pointer;transition:color .15s}.timelineHeaderMonth:hover{color:var(--accent)}.timelineHeaderCurrent{color:var(--accent)!important;background:var(--accentSoft)!important}.timelineHeaderTotal{width:72px;text-align:right!important;padding-right:20px!important;right:0;z-index:3!important;background:var(--bgMuted)!important}.timelineHeaderTotal,.timelineSub{position:-webkit-sticky;position:sticky}.timelineSub{display:flex;align-items:center;gap:10px;text-align:left!important;cursor:pointer;padding-left:20px!important;left:0;z-index:1;box-shadow:1px 0 0 var(--border)}.timelineTable tbody tr:hover .timelineSub{background:#fafbff}.timelineSubIcon{width:26px;height:26px;border-radius:50%;background:white;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;overflow:hidden;font-size:11px;font-weight:700;color:var(--textMuted);flex:0 0 auto}.timelineSubIcon img{width:100%;height:100%;border-radius:50%;object-fit:cover}.timelineSubBody{display:flex;align-items:center;gap:6px;min-width:0;flex:1 1}.timelineSubName{font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1 1;min-width:0}.timelineSubFreq{font-size:10px;color:var(--textMuted);font-weight:700;letter-spacing:.02em;width:22px;height:20px;display:inline-flex;align-items:center;justify-content:center;background:var(--bgMuted);border-radius:4px;flex:0 0 auto}.timelineCell{font-weight:600;color:var(--text);cursor:pointer;transition:background .12s}.timelineCell:hover{background:var(--accentSoft)!important}.timelineCellEmpty{color:transparent}.timelineCellPast{color:var(--textMuted)}.timelineCellCurrent{color:var(--accent);font-weight:700;background:var(--accentSoft)}.timelineCellFuture{color:var(--text)}.timelineRowTotal{text-align:right!important;font-weight:800;color:var(--text);font-size:14px;padding-right:20px!important;position:-webkit-sticky;position:sticky;right:0;z-index:1;background:var(--bgMuted)!important;box-shadow:-1px 0 0 var(--border)}.timelineTable tbody tr:hover .timelineRowTotal{background:var(--limeSoft)!important}@media (max-width:900px){.timelineCard{padding:16px 0 0}.timelineCard>.chartHeader{padding:0 16px}.timelineHeaderName,.timelineSub{padding-left:16px!important;width:150px}.timelineHeaderTotal,.timelineRowTotal{padding-right:16px!important}.chartBars{gap:4px;height:200px}}.monthNavBtn{width:36px;height:36px;border-radius:10px;background:white;border:1px solid var(--border);font-size:20px;display:flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s;color:var(--text)}.monthNavBtn:hover{background:var(--bgHover);border-color:var(--borderStrong)}.monthLabel{font-size:28px;font-weight:700;letter-spacing:-.025em;line-height:1;color:var(--ink)}.monthYear{color:var(--textMuted);font-weight:500}.totalLabel{color:var(--textMuted);font-size:13px;text-transform:uppercase;letter-spacing:.08em;font-weight:600}.totalAmount{display:flex;gap:16px;flex-wrap:wrap;align-items:baseline}.totalPill{font-size:56px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink)}.empty,.totalPill{letter-spacing:-.04em;line-height:.95}.empty{color:var(--textDim);font-size:56px;font-weight:700}.totalBreakdown{color:var(--textMuted);font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.summaryMeta{color:var(--textMuted);font-size:14px}.ratesWarning{margin-top:6px;color:var(--textMuted);font-size:12px;font-style:italic}.calendar{background:white;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadowSm);position:relative}.calHeader{border-top-left-radius:var(--radius);border-top-right-radius:var(--radius);overflow:hidden;display:grid;grid-template-columns:repeat(7,1fr);background:var(--bgElevated);border-bottom:1px solid var(--rule)}.calWeekday{padding:14px 12px;text-align:center;font-size:11px;color:var(--textMuted);text-transform:uppercase;font-weight:500;letter-spacing:.12em;font-feature-settings:"ss01" on}.calGrid{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:140px}.calCell{padding:6px;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);display:flex;flex-direction:column;align-items:stretch;gap:2px;background:var(--bgCard);transition:background .15s;min-width:0;position:relative}.calCellClickable{cursor:pointer}.calCellClickable:hover{background:var(--limeSoft)}.calCell:nth-child(7n){border-right:none}.calCellEmpty{background:#fafafa}.calCellToday{background:var(--limeSoft)}.calCellToday .calDayNumber{background:var(--ink);color:var(--bgCard);font-weight:600}.calDayNumber{position:absolute;top:8px;right:10px;display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 7px;border-radius:999px;font-size:13px;color:var(--ink);font-weight:500;z-index:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.calDayEvents{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:center;gap:4px;flex:1 1;min-height:0;padding:32px 4px 8px}.calEvent{width:50px;padding:0;background:transparent;border:none;box-shadow:none;display:flex;flex-direction:column;align-items:center;gap:3px;transition:transform .12s;flex:0 0 auto;position:relative}.calEvent:hover{transform:translateY(-1px);z-index:20}.calEvent:after{content:attr(data-tooltip);bottom:calc(100% + 10px);background:var(--text);color:white;padding:6px 10px;border-radius:8px;font-size:12px;font-weight:600;white-space:nowrap;box-shadow:0 6px 20px rgba(17,24,39,.25)}.calEvent:after,.calEvent:before{position:absolute;left:50%;transform:translateX(-50%) translateY(4px);opacity:0;pointer-events:none;transition:opacity .15s ease-out,transform .15s ease-out;z-index:40}.calEvent:before{content:"";bottom:calc(100% + 4px);border:6px solid transparent;border-top:6px solid var(--text)}.calEvent:hover:after,.calEvent:hover:before{opacity:1;transform:translateX(-50%) translateY(0)}.calEvent:hover .calEventIcon{box-shadow:0 4px 12px rgba(17,24,39,.12)}.calEventPaid{opacity:.5;filter:grayscale(.4)}.calEventIcon{width:38px;height:38px;display:flex;align-items:center;justify-content:center;background:var(--bgCard);border:1px solid var(--rule);border-radius:50%;box-shadow:0 0 0 3px var(--bg);overflow:hidden;transition:box-shadow .15s,border-color .15s}.calEvent:hover .calEventIcon{border-color:var(--ink);box-shadow:0 0 0 3px var(--bg),0 6px 18px rgba(50,40,30,.12)}.calEventIcon img{width:100%;height:100%;border-radius:50%;object-fit:cover}.calEventName{display:none}.calEventAmount{display:block;font-size:11px;font-weight:600;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1;white-space:nowrap;letter-spacing:-.01em}.calEventPaid .calEventAmount{text-decoration:line-through}.calEventMore{width:38px;height:38px;display:flex;align-items:center;justify-content:center;background:var(--ink);color:var(--bgCard);border:1px solid var(--ink);border-radius:50%;font-size:13px;font-weight:600;letter-spacing:-.01em;flex:0 0 auto;position:relative;transition:background .15s,transform .12s}.calEventMore:hover{background:var(--accentHover);transform:translateY(-1px);z-index:20}.calDayPopover{position:fixed;width:280px;background:white;border:1px solid var(--border);border-radius:12px;box-shadow:0 6px 18px rgba(17,24,39,.14);z-index:50;padding:0;text-align:left;animation:calDayPopoverIn .12s ease-out}.calDayPopover:before{content:"";position:absolute;left:0;right:0;height:var(--anchor-gap,18px);pointer-events:auto}.calDayPopover--below:before{top:calc(var(--anchor-gap, 18px) * -1)}.calDayPopover--above:before{bottom:calc(var(--anchor-gap, 18px) * -1)}.calDayPopover--above{transform-origin:bottom center}.calDayPopover--below{transform-origin:top center}@keyframes calDayPopoverIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.calDayPopoverHeader{display:flex;align-items:center;gap:10px;padding:8px 10px;border-bottom:1px solid var(--border);background:white;border-top-left-radius:12px;border-top-right-radius:12px}.calDayPopoverCount{flex:1 1;font-size:12px;color:var(--textMuted);font-weight:600}.calDayPopoverClose{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--textMuted);font-size:16px;line-height:1;transition:background .15s}.calDayPopoverClose:hover{background:var(--bgMuted)}.calDayPopoverList{list-style:none;margin:0;padding:6px;display:flex;flex-direction:column;gap:2px;max-height:270px;overflow-y:auto}.calDayPopoverItem{width:100%;display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;background:transparent;border:none;text-align:left;transition:background .15s}.calDayPopoverItem:hover{background:var(--bgMuted)}.calDayPopoverItemPaid{opacity:.55}.calDayPopoverItemPaid .calDayPopoverAmount{text-decoration:line-through}.calDayPopoverIcon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:white;border:1px solid var(--border);border-radius:50%;overflow:hidden;flex:0 0 auto}.calDayPopoverIcon img{width:100%;height:100%;object-fit:cover}.calDayPopoverName{flex:1 1;font-size:13px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calDayPopoverAmount{font-size:12px;font-weight:600;color:var(--textMuted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.calCellHasEvents .calDayNumber{opacity:.8}.modalBackdrop{position:fixed;inset:0;background:rgba(17,24,39,.4);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100;padding:20px;animation:backdropFadeIn .18s ease-out}.modalBackdropSide{align-items:stretch;justify-content:flex-end;padding:20px}.modal{max-height:90vh}.modal,.sidePanel{background:var(--bgCard);border:1px solid var(--rule);border-radius:var(--radius);width:100%;max-width:620px;box-shadow:var(--shadow);display:flex;flex-direction:column;min-height:0;overflow:hidden}.sidePanel{animation:sidePanelSlideIn .35s cubic-bezier(.32,.72,0,1)}@keyframes sidePanelSlideIn{0%{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes sidePanelSlideOut{0%{transform:translateX(0)}to{transform:translateX(100%)}}@keyframes backdropFadeOut{0%{opacity:1}to{opacity:0}}.modalBackdropExiting{animation:backdropFadeOut .25s ease-in forwards}.modalBackdropSide.modalBackdropExiting .sidePanel{animation:sidePanelSlideOut .25s cubic-bezier(.32,.72,0,1) forwards}@media (max-width:720px){.modalBackdropSide{padding:8px}.sidePanel{max-width:none}}.modalForm{display:flex;flex-direction:column;flex:1 1;min-height:0}.modalHeader{display:flex;align-items:center;justify-content:space-between;padding:22px 26px 18px;border-bottom:1px solid var(--rule);flex-shrink:0}.modalHeader h2{margin:0;font-size:22px;font-weight:600;letter-spacing:-.02em;line-height:1.1;color:var(--ink)}.modalClose{font-size:24px;color:var(--textMuted);width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center}.modalClose:hover{background:var(--bgHover);color:var(--text)}.formGrid{padding:20px 24px;display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px;flex:1 1;min-height:0;overflow-y:auto;align-content:start}.field{display:flex;flex-direction:column;gap:6px}.field>span{font-size:12px;color:var(--textDim);font-weight:500;letter-spacing:0}.fieldFull{grid-column:1/-1}.iconInput{text-align:center;font-size:20px}.amountInputWrap{display:flex;align-items:stretch;background:white;border:1px solid var(--border);border-radius:var(--radiusSm);transition:border-color .15s,box-shadow .15s;overflow:hidden}.amountInputWrap:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accentSoft)}.amountInputWrap>input{flex:1 1;border:0;background:transparent;outline:none;border-radius:0;min-width:0}.amountInputWrap>input:focus{border:0;outline:none;box-shadow:none}.currencyInline{border:0;background:transparent;border-radius:0;font-size:13px;font-weight:500;color:var(--textMuted);cursor:pointer;flex-shrink:0;-moz-appearance:none;appearance:none;-webkit-appearance:none;padding:10px 22px 10px 8px;background-image:linear-gradient(45deg,transparent 50%,var(--textDim) 50%),linear-gradient(135deg,var(--textDim) 50%,transparent 50%);background-position:calc(100% - 12px) 52%,calc(100% - 8px) 52%;background-size:4px 4px,4px 4px;background-repeat:no-repeat;transition:background-color .15s,color .15s}.currencyInline:focus{outline:none;box-shadow:none;color:var(--ink)}.currencyInline:hover{background-color:var(--bgHover);color:var(--ink)}.dropzone{display:flex;align-items:center;justify-content:center;gap:8px;padding:4px 12px;min-height:40px;border:1.5px dashed var(--border);border-radius:var(--radiusSm);background:var(--bgMuted);color:var(--textMuted);cursor:pointer;transition:border-color .15s,background .15s}.dropzone:hover,.dropzoneActive{border-color:var(--accent);background:var(--accentSoft)}.dropzoneActive{color:var(--accent)}.dropzoneFilled,.dropzoneHasContent{border-style:solid;background:white}.dropzoneFilled{border-color:var(--border);justify-content:flex-start;padding:3px 4px 3px 5px;gap:6px}.dropzoneHint{font-size:13px}.dropzonePreview{width:32px;height:32px;border-radius:6px;object-fit:cover;flex:0 0 auto}.dropzoneRemove{margin-left:auto;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;border-radius:var(--radiusSm);color:var(--textMuted);cursor:pointer;flex-shrink:0;font-size:18px;line-height:1;transition:background .15s,color .15s}.dropzoneRemove:hover{background:var(--dangerSoft);color:var(--danger)}.dropzoneRemove:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.linkBtn{align-self:flex-start;padding:0;background:transparent;color:var(--accent);font-size:12px;text-decoration:underline;cursor:pointer}.linkBtn:hover{color:var(--accentHover)}.uploadError{margin-top:6px;font-size:12px;color:var(--danger)}.subLetter{font-size:13px}.calEventLetter,.subLetter{font-weight:700;color:var(--textMuted);line-height:1}.calEventLetter{font-size:18px}.colorGrid{display:flex;gap:8px;flex-wrap:wrap}.colorSwatch{width:32px;height:32px;border-radius:50%;border:2px solid transparent;transition:transform .12s}.colorSwatch:hover{transform:scale(1.1)}.colorSwatchActive{border-color:white;box-shadow:0 0 0 2px var(--accent)}.modalFooter.modalFooterEnd{justify-content:flex-end}.modalFooter{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-top:1px solid var(--border);background:var(--bgMuted);border-radius:0 0 var(--radius) var(--radius);flex-shrink:0}.footerRight{display:flex;gap:8px;margin-left:auto}.importBody{padding:20px 24px;display:flex;flex-direction:column;gap:14px;flex:1 1;min-height:0;overflow-y:auto}.importIntro{margin:0;font-size:13px;color:var(--textMuted);line-height:1.5}.importIntro strong{color:var(--ink);font-weight:600}.importDropzone{min-height:88px}.importDropzoneHint{font-weight:500;color:var(--ink);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.importError{background:var(--dangerSoft);color:var(--danger);padding:10px 14px;border-radius:var(--radiusSm);font-size:13px;font-weight:500;border:1px solid var(--danger)}.importSummary{background:var(--bgMuted);border:1px solid var(--rule);border-radius:var(--radiusSm);padding:14px 16px;display:flex;flex-direction:column;gap:6px}.importSummaryTitle{font-weight:600;font-size:14px;color:var(--ink)}.importSummaryList{margin:0;padding:0 0 0 18px;display:flex;flex-direction:column;gap:2px;font-size:13px;color:var(--textMuted)}.importSummarySkipped{font-size:12px;color:var(--textDim);font-style:italic;margin-top:4px}.btnDanger,.btnGhost,.btnPrimary{padding:10px 20px;border-radius:var(--radiusSm);font-weight:500;letter-spacing:.005em;transition:background .15s,color .15s,border-color .15s}.btnPrimary{background:var(--ink);color:var(--bgCard);font-weight:600}.btnPrimary:hover{background:var(--accentHover);color:var(--bgCard)}.btnPrimary:disabled{background:var(--bgMuted);color:var(--textDim);cursor:not-allowed}.btnGhost{background:transparent;color:var(--ink);border:1px solid var(--rule)}.btnGhost:hover{background:var(--bgHover);border-color:var(--ink)}.btnDanger{background:transparent;color:var(--danger);border:1px solid transparent}.btnDanger:hover{background:var(--dangerSoft)}.btnDangerFilled{padding:10px 20px;border-radius:var(--radiusSm);font-weight:500;background:var(--danger);color:var(--bg);transition:background .15s}.btnDangerFilled:hover{background:#a8401f}.confirmModal{max-width:440px}.confirmBody{padding:20px 24px;color:var(--text);line-height:1.5}@media (max-width:900px){.app{grid-template-columns:1fr}.sidebar{position:relative;max-height:none;border-right:none;border-bottom:1px solid var(--border)}.main{padding:20px}.formGrid{grid-template-columns:1fr}.calGrid{grid-auto-rows:120px}.calDayEvents{padding:20px 2px 4px;gap:2px}.calEvent{width:42px;gap:2px}.calEventIcon{width:30px;height:30px}.calEventAmount{font-size:9px}.calEventMore{width:30px;height:30px;font-size:11px}}.authWrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:20px}.authForm{background:white;border:1px solid var(--border);border-radius:var(--radius);padding:32px;width:100%;max-width:400px;display:flex;flex-direction:column;gap:16px;box-shadow:var(--shadow)}.authForm h1{margin:0 0 8px;font-size:22px;font-weight:700}.authError{color:var(--danger);font-size:13px}.sidebarFooter{margin-top:auto;border-top:1px solid var(--border);padding-top:12px;position:relative}.sidebarFooterBtn{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:var(--radiusSm);background:transparent;color:inherit;transition:background .15s}.sidebarFooterBtn:hover{background:var(--bgHover)}.sidebarAvatar{width:28px;height:28px;border-radius:50%;background:var(--accent);color:white;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex:0 0 auto}.sidebarIdentity{flex:1 1;display:flex;flex-direction:column;min-width:0;text-align:left;gap:1px}.sidebarDisplayName{font-size:13px;font-weight:600;color:var(--text)}.sidebarDisplayName,.sidebarEmail{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebarEmail{font-size:11px;color:var(--textMuted)}.sidebarMenu{color:var(--textMuted);font-size:14px}.userMenu{position:absolute;bottom:calc(100% + 4px);left:12px;right:12px;background:white;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:6px;display:flex;flex-direction:column;gap:2px;z-index:20}.userMenuItem{padding:8px 10px;border-radius:var(--radiusSm);text-align:left;font-size:13px;background:transparent;color:var(--text);text-decoration:none;border:none;cursor:pointer;transition:background .15s;display:block}.userMenuSection{padding:8px 10px 4px;font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--textDim);font-weight:600}.userMenuDivider{height:1px;background:var(--border);margin:4px 6px}.userMenuItem:hover{background:var(--bgHover)}.userMenuItemDanger{color:var(--danger)}.userMenuItemDanger:hover{background:var(--dangerSoft)}.miniFooter{margin-top:auto;position:relative;display:flex;justify-content:center;padding-top:8px;border-top:1px solid var(--border);width:100%}.miniAccountBtn{background:var(--accent);border-color:var(--accent);color:white}.miniAccountBtn:hover{background:var(--accentHover);border-color:var(--accentHover)}.miniAccountInitial{color:white;font-weight:700;font-size:14px}.miniFooter .userMenu{left:calc(100% + 8px);right:auto;bottom:0;min-width:200px}.adminPage{max-width:900px;margin:40px auto;padding:0 24px}.adminHeader{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:12px}.adminTitle{margin:0;font-size:22px;font-weight:700}.adminTable{width:100%;border-collapse:collapse;background:white;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.adminTable td,.adminTable th{padding:12px 16px;text-align:left;border-bottom:1px solid var(--border)}.adminTable th{background:var(--bgMuted);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--textDim);font-weight:600}.adminTable tr:last-child td{border-bottom:none}.adminTable tbody tr:hover{background:var(--bgHover)}.adminBadgeAdmin{background:var(--accentSoft);color:var(--accent);padding:2px 8px;border-radius:4px;font-size:11px;font-weight:700;text-transform:uppercase}.adminMuted{color:var(--textDim)}.adminRowActions{display:flex;gap:6px}.adminActionBtn{padding:6px 12px;font-size:12px;border-radius:8px}.adminActionBtn:disabled{opacity:.4;cursor:not-allowed}.adminEditRow td{background:var(--bgMuted)}.adminEditGrid{gap:12px;padding:8px 0}.adminEditGrid,.adminField{display:flex;flex-direction:column}.adminField{gap:4px}.adminField>span{font-size:12px;color:var(--textMuted);font-weight:600}.adminField input{width:100%;max-width:420px}.adminCheckboxRow{display:flex;align-items:center;gap:8px;font-size:13px}.adminCheckboxRow input{margin:0;padding:0}.adminEditActions{display:flex;gap:8px;justify-content:flex-end}.adminInlineError{color:var(--danger);font-size:13px}.adminCreateForm{background:white;border:1px solid var(--border);border-radius:var(--radius);padding:20px;margin-bottom:20px}.adminCreateTitle{margin:0 0 12px;font-size:15px;font-weight:700}.nameRow{display:flex;gap:8px;align-items:stretch}.nameRow input{flex:1 1;min-width:0}.logoSuggestBtn{padding:0 12px;border-radius:var(--radiusSm);background:var(--accentSoft);color:var(--accent);font-weight:600;font-size:13px;white-space:nowrap;transition:background .15s;flex:0 0 auto}.logoSuggestBtn:hover:not(:disabled){background:var(--accent);color:white}.logoSuggestBtn:disabled{opacity:.6;cursor:not-allowed}.subSearchWrap{position:relative;display:flex;align-items:center;margin-bottom:8px}.subSearch{width:100%;padding:8px 30px 8px 12px;font-size:13px}.subSearchClear{position:absolute;right:6px;width:22px;height:22px;border-radius:50%;color:var(--textDim);font-size:14px;background:transparent;display:flex;align-items:center;justify-content:center}.subSearchClear:hover{background:var(--bgHover);color:var(--text)}.subEmpty{padding:12px;color:var(--textDim);font-size:13px;text-align:center;font-style:italic}.adminSectionTitle{font-size:18px;font-weight:700;margin:40px 0 16px}.backupHeader{display:flex;align-items:center;gap:8px;margin-bottom:12px}.backupEmpty{padding:20px;text-align:center;color:var(--textMuted);background:white;border:1px dashed var(--border);border-radius:var(--radius);font-size:13px}.mobileBurger{top:16px;left:16px;z-index:90;width:40px;height:40px;background:var(--bgCard);border:1px solid var(--rule);border-radius:var(--radiusSm);font-size:18px;color:var(--ink);box-shadow:var(--shadowSm)}.mobileBackdrop,.mobileBurger{display:none;position:fixed;cursor:pointer}.mobileBackdrop{inset:0;background:rgba(15,16,20,.4);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:80;border:none;animation:backdropFadeIn .18s ease-out}@keyframes backdropFadeIn{0%{opacity:0}to{opacity:1}}@media (max-width:720px){.app,.appCollapsed{grid-template-columns:1fr}.mobileBurger{display:flex;align-items:center;justify-content:center}.sidebar{position:fixed;top:0;left:0;width:320px;max-width:88vw;transform:translateX(-100%);transition:transform .22s ease-out;z-index:85;box-shadow:var(--shadow)}.appMobileSidebarOpen .sidebar{transform:translateX(0)}.appMobileSidebarOpen .mobileBackdrop{display:block}.sidebar.sidebarMini{transform:translateX(-100%)}.main{padding-top:72px}.modal{width:100%;max-width:none;margin:0;border-radius:0;min-height:100vh}.modalBackdrop{padding:0}.calCell{padding:4px}.calDayEvents{padding:26px 2px 4px;gap:2px}.calEvent{width:36px}.calEventIcon img,.calEventMore{width:28px;height:28px}.calDayNumber,.calEventMore{font-size:11px}.calDayNumber{top:4px;right:4px;min-width:20px;height:20px;padding:0 5px}.dashHead{padding:0 0 16px;gap:12px}.totalPill{font-size:40px}.toastStack{bottom:12px;right:12px;left:12px}.toast{min-width:0;max-width:none;width:100%}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}}@media (monochrome),(update:slow){*,:after,:before{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}.calDayPopover,.calendar,.modal,.toast,.userMenu{box-shadow:none!important}.mobileBackdrop,.modalBackdrop{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:rgba(0,0,0,.55)!important}}html.eInkSim *,html.eInkSim :after,html.eInkSim :before{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}html.eInkSim .calDayPopover,html.eInkSim .calendar,html.eInkSim .modal,html.eInkSim .toast,html.eInkSim .userMenu{box-shadow:none!important}html.eInkSim .mobileBackdrop,html.eInkSim .modalBackdrop{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:rgba(0,0,0,.55)!important}.loginShell{position:relative;min-height:100vh;display:flex;align-items:stretch;justify-content:flex-end;padding:20px;background:var(--accent);overflow:hidden}.loginIllustration{position:fixed;inset:0;z-index:0}.loginIllustrationImg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.8s ease-in-out;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}.loginIllustrationImgActive{opacity:1}.loginIllustrationVignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(15,16,20,0) 55%,rgba(15,16,20,.25)),linear-gradient(180deg,rgba(15,16,20,.08) 0,rgba(15,16,20,0) 30%,rgba(15,16,20,0) 70%,rgba(15,16,20,.15))}.loginCard{position:relative;z-index:1;background:var(--bgCard);border:1px solid var(--rule);border-radius:var(--radius);box-shadow:var(--shadow);width:100%;max-width:520px;padding:56px 52px}.loginCard,.loginCardInner{display:flex;flex-direction:column}.loginCardInner{margin:18vh 0 auto;gap:28px}.loginCopy{display:flex;flex-direction:column;gap:8px}.loginTitle{margin:0;font-size:32px;font-weight:700;letter-spacing:-.025em;line-height:1.1;color:var(--ink)}.loginSubtitle{margin:0;font-size:14px;color:var(--textMuted);line-height:1.5;max-width:32ch}.loginError{color:var(--danger);background:var(--dangerSoft);border:1px solid rgba(200,58,44,.2);padding:10px 14px;border-radius:var(--radiusSm);font-size:13px;margin:0}.loginGoogleBtn{display:inline-flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:14px 20px;background:var(--accent);color:white;border:1px solid var(--accent);border-radius:var(--radiusSm);font-size:15px;font-weight:600;letter-spacing:-.005em;text-decoration:none;transition:background .14s ease,transform .14s ease;box-shadow:var(--shadowSm)}.loginGoogleBtn:hover{background:var(--accentHover)}.loginGoogleBtn:active{transform:translateY(1px)}.loginGoogleGlyph{display:block;background:white;border-radius:3px;padding:2px;box-sizing:content-box}@media (max-width:760px){.loginShell{justify-content:center;padding:16px}.loginCard{padding:32px 24px}.loginCardInner{gap:24px}}.expensesHeader{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:8px 0 28px;flex-wrap:wrap}.expensesHeaderControls{display:flex;align-items:center;gap:12px;flex-shrink:0}.expensesFilters{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap;align-items:center}.expensesFilters .comboboxTrigger{width:220px}.expensesSearchInput{flex:1 1;min-width:240px;max-width:380px}.expensesNewBtn{margin-left:auto}.expensesScroll{width:100%;overflow-x:auto;background:white;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadowSm)}.expensesTable{width:100%;border-collapse:collapse;font-size:13px;white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.expensesTable thead{background:var(--bgElevated);border-bottom:1px solid var(--rule)}.expensesTable thead th{padding:14px 12px;text-align:left;font-size:11px;color:var(--textMuted);text-transform:uppercase;font-weight:500;letter-spacing:.12em}.expensesTable tbody td{padding:16px 12px;border-bottom:1px solid var(--rule);text-align:left;vertical-align:middle}.expensesTable tbody tr:last-child td{border-bottom:none}.expensesTable tbody tr:hover{background:var(--bgHover)}.expensesTable .numCell,.expensesTable thead th.numCell{text-align:right}.cellMuted{color:var(--textSubtle,#999)}.expensesTable .cellTruncate{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tagChipsInline{display:flex;flex-wrap:wrap;gap:4px}.tagsCell{width:280px;min-width:280px;max-width:280px}.tagChipMini{display:inline-block;padding:2px 6px;border-radius:999px;font-size:11px;font-weight:600;line-height:1.4}.modalDialog{background:var(--bgElevated);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);width:90%;max-width:600px;max-height:90vh;overflow-y:auto;padding:1.5rem}.modalDialog header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.modalGrid{display:grid;grid-gap:.75rem;gap:.75rem}.modalGrid label{display:flex;flex-direction:column;gap:.25rem;font-size:.875rem}.modalDialog footer{display:flex;justify-content:space-between;margin-top:1.5rem}.modalError{background:var(--dangerSoft);padding:.5rem;border-radius:var(--radiusSm);margin-bottom:.75rem}.adminError,.dangerBtn,.modalError{color:var(--danger)}.adminError{background:var(--dangerSoft,rgba(220,38,38,.08));padding:10px 14px;border-radius:var(--radiusSm,6px);margin-bottom:1rem;font-size:13px}.providerAvatarCell{width:1px;padding-right:0}.providerAvatar{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;color:white;font-weight:700;font-size:13px;line-height:1;overflow:hidden}.providerAvatarLogo{background:var(--bgElevated);border:1px solid var(--rule)}.providerAvatarLogo img{width:100%;height:100%;object-fit:cover}.providerCell{display:flex;align-items:center;gap:12px;min-width:0}.providerCell .providerAvatar{width:48px;height:48px;font-size:18px}.providerCellBody{display:flex;flex-direction:column;gap:6px;min-width:0}.providerCellName{font-weight:600}.providerCellName,.tagMetaLine{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tagMetaLine{color:var(--textMuted);font-size:12px;font-weight:400}.providerTxnHeading{display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:6px}.providerTxnTotal{color:var(--textMuted);font-weight:500;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.005em;text-transform:none}.providerTxnList{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;max-height:280px;overflow-y:auto}.providerTxnItem{display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;grid-gap:12px;gap:12px;padding:8px 12px;background:var(--surface);border:1px solid var(--border);border-radius:8px;font-size:13px}.providerTxnDate{color:var(--textMuted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.providerTxnRef{color:var(--textMuted);font-size:12px;font-weight:600}.providerTxnDesc{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.providerTxnAmount{font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.mergeRow{display:grid;grid-template-columns:1fr auto;grid-gap:8px;gap:8px;align-items:center}.providersFilters{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap;align-items:center}.providersFilters input[type=text]{flex:1 1;min-width:220px}.providersCount{margin-left:auto;font-size:12px;color:var(--textMuted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sortableHeader{display:inline-flex;align-items:center;gap:4px;background:transparent;border:0;padding:0;font:inherit;color:inherit;cursor:pointer;text-transform:inherit;letter-spacing:inherit;transition:color .15s}.sortableHeader:hover{color:var(--text)}.sortableHeaderActive{color:var(--accent)}.sortIndicator{display:inline-flex;align-items:center;transition:transform .15s}.sortIndicator,.sortIndicator svg{width:14px;height:14px}.sortIndicatorAsc{transform:rotate(180deg)}.sortIndicatorHidden{visibility:hidden}.kindPill{display:inline-block;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.02em;background:var(--bgHover);color:var(--textMuted)}.kindPillLink{color:inherit;text-decoration:none}.kindPillLink:hover{color:var(--text);text-decoration:underline}.expenseModalTitle{display:flex;flex-direction:column;gap:6px;min-width:0}.expenseModalTitle h2{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.expenseModalMeta{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--textMuted)}.expenseTotalRow{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:10px 14px;background:rgba(0,0,0,.02);border-radius:10px}.expenseTotalRow>span{font-size:13px;color:var(--textMuted);text-transform:none;letter-spacing:0}.expenseTotalRow>strong{font-size:16px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text)}.amountExpressionRow{display:flex;flex-direction:row;align-items:flex-end;gap:10px}.providerDateRow{grid-column:1/-1;display:flex;gap:14px}.providerDateRow .providerField{flex:2 1;min-width:0}.providerDateRow .dateField{flex:1 1;min-width:0}.amountExpressionPanel{padding:16px;background:rgba(99,102,241,.05);border:1px solid var(--border);border-radius:12px;margin-top:4px}.amountExpressionPanel .amountExpressionDisplay,.amountExpressionPanel .amountExpressionTotal{background:white;border:1px solid var(--border)}.amountExpressionPanel .amountExpressionTotal{font-size:18px}.amountUSDConversion{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;margin-top:-8px;padding:0 4px;font-size:12px;color:var(--textMuted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.amountUSDLabel{text-transform:uppercase;letter-spacing:.1em;font-size:10px;font-weight:600;color:var(--textDim)}.amountUSDValue{font-size:14px;font-weight:700;color:var(--ink);letter-spacing:-.01em}.amountUSDRate,.amountUSDSeparator{color:var(--textDim)}.modalFormPinned{flex-shrink:0;display:flex;flex-direction:column;gap:14px;padding:16px 24px;border-top:1px solid var(--rule);background:var(--bgCard)}.fieldError{font-size:12px;color:var(--danger,#dc2626);margin-top:4px}.issuesShell{display:flex;flex-direction:column;gap:18px;width:100%}.issuesTitle{margin:0;font-size:24px;font-weight:700;letter-spacing:-.02em}.issuesEmpty{padding:32px 24px;text-align:center;color:var(--textMuted)}.issuesEmpty,.issuesSection{background:var(--bgCard);border:1px solid var(--rule);border-radius:var(--radius)}.issuesSection{overflow:hidden}.issuesSectionHead{display:flex;align-items:flex-start;gap:14px;padding:18px 22px;border-bottom:1px solid var(--rule);background:rgba(220,38,38,.04)}.issuesSectionIcon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:rgba(220,38,38,.12);color:var(--danger,#dc2626);flex-shrink:0}.issuesSectionTitle{margin:0;font-size:16px;font-weight:600;color:var(--ink)}.issuesSectionDesc{margin:4px 0 0;font-size:13px;line-height:1.45;color:var(--textMuted)}.issuesSectionBadge{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 10px;border-radius:999px;background:var(--danger,#dc2626);color:white;font-size:13px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;flex-shrink:0}.issuesGroupList{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.issuesGroup{padding:14px 22px;border-bottom:1px solid var(--rule)}.issuesGroup:last-child{border-bottom:none}.issuesGroupHeader{display:flex;align-items:baseline;gap:12px;margin-bottom:10px}.issuesGroupValue{font-weight:600;font-size:14px;color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.issuesGroupCount{font-size:12px;color:var(--textMuted)}.issueExpenseList{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.issueExpenseItem{display:flex;align-items:center;gap:8px}.issueExpenseLink{flex:1 1;display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:14px;gap:14px;padding:8px 12px;background:rgba(0,0,0,.02);border-radius:8px;text-decoration:none;text-align:left;color:var(--text);font-size:13px;font-family:inherit;cursor:pointer;transition:background .15s;min-width:0}.issueExpenseLink:hover{background:rgba(0,0,0,.05)}.issueViewBtn{display:inline-flex;align-items:center;justify-content:center;padding:8px 10px;background:transparent;border:1px solid var(--border);border-radius:8px;color:var(--textMuted);cursor:pointer;transition:background .15s,color .15s,border-color .15s;flex-shrink:0}.issueViewBtn svg{width:14px;height:14px}.issueViewBtn:hover{background:rgba(0,0,0,.04);color:var(--text);border-color:var(--textMuted)}.issueClearBtn{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;background:transparent;border:1px solid var(--border);border-radius:8px;color:var(--textMuted);font-size:12px;font-weight:500;cursor:pointer;transition:background .15s,color .15s,border-color .15s;flex-shrink:0}.issueClearBtn svg{width:14px;height:14px}.issueClearBtn:hover:not(:disabled){background:rgba(220,38,38,.08);color:var(--danger,#dc2626);border-color:rgba(220,38,38,.4)}.issueClearBtn:disabled{opacity:.5;cursor:not-allowed}.issueExpenseRef{font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.issueExpenseProvider{color:var(--textMuted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.issueExpenseDate{color:var(--textMuted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}input[aria-invalid=true],input[aria-invalid=true]:focus{border-color:var(--danger,#dc2626)}input[aria-invalid=true]:focus{box-shadow:0 0 0 3px rgba(220,38,38,.15)}.invoiceList{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.invoiceItem{display:grid;grid-template-columns:auto 1fr auto auto auto;align-items:center;grid-gap:10px;gap:10px;padding:8px 10px;background:var(--surface,white);border:1px solid var(--border);border-radius:8px;font-size:13px}.invoiceIcon{display:inline-flex;align-items:center;color:var(--textMuted)}.invoiceFilename{color:var(--text);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.invoiceFilename:hover{text-decoration:underline}.invoiceSize{color:var(--textMuted);font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;flex-shrink:0}.invoiceUploadRow{display:flex;align-items:center;gap:12px;margin-top:8px}.invoiceUploadHint{color:var(--textMuted);font-size:12px}.amountHelpText{color:var(--textMuted);font-size:11px;margin-top:4px}.invoiceUploadLabel{display:inline-flex;align-items:center;cursor:pointer}.visuallyHidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.moreOptionsBtn{align-self:stretch;padding:10px 12px;background:transparent;border:1px dashed var(--border);border-radius:var(--radiusSm);color:var(--textMuted);font-size:13px;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.moreOptionsBtn:hover{background:rgba(0,0,0,.02);border-color:var(--textMuted);color:var(--text)}.sidePanelSecondary{background:var(--bgCard);border:1px solid var(--rule);border-radius:var(--radius);width:380px;max-width:380px;align-self:flex-end;margin-right:12px;box-shadow:var(--shadow);display:flex;flex-direction:column;max-height:70%;overflow:hidden;animation:sidePanelSecondarySlideIn .3s cubic-bezier(.32,.72,0,1)}@keyframes sidePanelSecondarySlideIn{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes sidePanelSecondarySlideOut{0%{transform:translateY(0);opacity:1}to{transform:translateY(20px);opacity:0}}.sidePanelSecondaryExiting{animation:sidePanelSecondarySlideOut .25s cubic-bezier(.32,.72,0,1) forwards}.sidePanelSecondaryHeader{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--rule);font-size:14px;font-weight:600;color:var(--ink);flex-shrink:0}.sidePanelSecondaryBody{display:flex;flex-direction:column;gap:14px;padding:18px;overflow-y:auto}.amountExpressionField{display:flex;flex-direction:column;gap:6px;flex:1 1;min-width:0}.amountExpressionField>span:first-child{font-size:12px;color:var(--textDim);font-weight:500}.amountExpressionDisplay,.amountExpressionTotal{display:flex;align-items:center;height:39px;padding:0 12px;background:rgba(0,0,0,.03);border-radius:8px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text);box-sizing:border-box}.amountExpressionDisplay{font-size:14px}.amountExpressionTotal{font-size:16px;font-weight:700}.amountExpressionOp{display:flex;align-items:center;height:39px;font-size:18px;font-weight:500;color:var(--textMuted);flex-shrink:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.statisticsShell{display:flex;flex-direction:column;gap:24px}.statisticsTabs{display:flex;gap:6px;padding:4px;background:rgba(0,0,0,.03);border-radius:10px;width:-moz-fit-content;width:fit-content}.statisticsTab{padding:6px 14px;border:0;background:transparent;border-radius:8px;color:var(--textMuted);font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,color .15s}.statisticsTab:hover{color:var(--text)}.statisticsTabActive{background:white;color:var(--text);box-shadow:var(--shadowSm)}.statsKpiGrid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px;gap:12px}@media (max-width:980px){.statsKpiGrid{grid-template-columns:repeat(2,1fr)}}.statsKpiTile{background:var(--bgCard);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;display:flex;flex-direction:column;gap:6px;box-shadow:var(--shadowSm)}.statsKpiLabel{text-transform:uppercase;font-size:10px;letter-spacing:.16em;color:var(--textDim);font-weight:600}.statsKpiValue{font-size:22px;font-weight:700;letter-spacing:-.02em;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.1}.statsKpiSub{font-size:12px;color:var(--textMuted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.statsTagSwatch{display:inline-block;width:10px;height:10px;border-radius:999px;margin-right:6px;vertical-align:middle}.statsCard{background:white;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadowSm);padding:18px 20px}.statsCardTitle{margin:0 0 14px;font-size:14px;font-weight:600;color:var(--text)}.statsMonthList{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.statsMonthRow{display:grid;grid-template-columns:110px 1fr auto auto;align-items:center;grid-gap:14px;gap:14px;padding:8px 4px;font-size:13px}.statsMonthLabel{color:var(--textMuted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.statsBar{height:8px;background:rgba(0,0,0,.04);border-radius:999px;overflow:hidden;min-width:80px}.statsBarFill{height:100%;background:var(--accent);border-radius:999px;transition:width .25s ease}.statsMonthCount{color:var(--textMuted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:12px}.statsMonthTotal{font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right;min-width:100px}.comboboxTrigger{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:38px;padding:10px 10px 10px 12px;line-height:normal;background:white;border:1px solid var(--border);border-radius:var(--radiusSm);color:var(--text);font-family:inherit;font-size:inherit;cursor:pointer;text-align:left;transition:border-color .15s,box-shadow .15s}.comboboxTrigger:hover{border-color:var(--textMuted)}.comboboxTrigger:focus,.comboboxTrigger[aria-expanded=true]{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accentSoft)}.comboboxTrigger:disabled{opacity:.5;cursor:not-allowed}.comboboxValue{flex:1 1;display:flex;align-items:center;gap:8px;min-width:0}.comboboxValueText{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.comboboxItemMain{display:flex;align-items:center;gap:8px;min-width:0;flex:1 1}.comboboxAvatar{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;color:white;font-weight:700;font-size:10px;line-height:1;overflow:hidden;flex-shrink:0}.comboboxAvatarLogo{background:var(--bgElevated);border:1px solid var(--rule)}.comboboxAvatarLogo img{width:100%;height:100%;object-fit:cover}.comboboxPlaceholder{color:var(--textMuted)}.comboboxChevron{display:inline-flex;color:var(--textMuted);flex-shrink:0}.comboboxChevron,.comboboxChevron svg{width:16px;height:16px}.comboboxPopover{width:var(--radix-popover-trigger-width);max-height:320px;background:white;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);z-index:100;overflow:hidden}.tooltipContent{background:var(--text);color:white;padding:6px 10px;border-radius:var(--radiusSm);font-size:12px;font-weight:500;line-height:1.3;box-shadow:var(--shadow);z-index:200;-webkit-user-select:none;-moz-user-select:none;user-select:none;animation-duration:.15s;animation-timing-function:cubic-bezier(.16,1,.3,1)}.tooltipContent[data-state=delayed-open][data-side=top]{animation-name:tooltipSlideUp}.tooltipContent[data-state=delayed-open][data-side=bottom]{animation-name:tooltipSlideDown}.tooltipArrow{fill:var(--text)}.colAbbr{text-decoration:none;cursor:help}@keyframes tooltipSlideUp{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@keyframes tooltipSlideDown{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.comboboxCommand{display:flex;flex-direction:column;max-height:320px}.comboboxInput{flex-shrink:0;width:100%;padding:10px 12px;border:0;border-bottom:1px solid var(--rule);border-radius:0;background:transparent;font-family:inherit;font-size:13px;outline:none}.comboboxList{flex:1 1;overflow-y:auto;padding:4px}.comboboxEmpty{padding:16px 12px;text-align:center;color:var(--textMuted);font-size:13px}.comboboxItem{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:6px;font-size:13px;color:var(--text);cursor:pointer;transition:background .1s}.comboboxItem[data-selected=true]{background:var(--bgHover)}.comboboxItemActive{font-weight:600;color:var(--accent)}.comboboxItemHint{color:var(--textMuted);font-size:12px;flex-shrink:0}.userEditorHeader{display:grid;grid-template-columns:112px 1fr;grid-template-rows:auto auto;grid-column-gap:14px;column-gap:14px;grid-row-gap:10px;row-gap:10px;align-items:stretch}.userEditorHeader>.field{margin:0}.btnSpinner{display:inline-block;width:14px;height:14px;border:2px solid;border-right:2px solid transparent;border-radius:50%;animation:btnSpin .65s linear infinite;vertical-align:-2px;margin-right:6px}.btnSpinnerInline{margin-right:0;vertical-align:middle}@keyframes btnSpin{to{transform:rotate(1turn)}}.userLogoBox{grid-row:1/3;width:112px;height:112px;margin-top:22px;border-radius:12px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;flex-shrink:0}.userLogoBox.dropzone{padding:0}.userLogoBox .dropzonePreview{width:100%;height:100%;object-fit:cover}.userLogoBox .dropzoneRemove{position:absolute;top:4px;right:4px;background:rgba(0,0,0,.55);color:white;width:22px;height:22px}.userLogoBox .dropzoneRemove:hover{background:rgba(0,0,0,.75)}.userLogoBox .dropzoneRemove svg{width:14px;height:14px}.userLogoBox .dropzoneHint{font-size:11px;text-align:center;padding:4px}.toggleStack{display:flex;flex-direction:column;background:rgba(0,0,0,.02);border-radius:10px;overflow:hidden}.toggleRow{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:12px;padding:10px 14px;cursor:pointer;transition:background .15s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.toggleStack .toggleRow{border-bottom:1px solid rgba(0,0,0,.05)}.toggleStack .toggleRow:last-child{border-bottom:none}.toggleRow:hover{background:rgba(0,0,0,.03)}.toggleRow>span{font-size:13px;color:var(--text);font-weight:500;letter-spacing:0;text-transform:none}.selectTrigger{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;min-height:38px;padding:8px 10px 8px 12px;background:white;border:1px solid var(--border);border-radius:var(--radiusSm);color:var(--text);font-family:inherit;font-size:inherit;cursor:pointer;text-align:left;transition:border-color .15s,box-shadow .15s}.selectTrigger:hover{border-color:var(--textMuted)}.selectTrigger:focus,.selectTrigger[data-state=open]{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accentSoft)}.selectTrigger[data-placeholder]{color:var(--textMuted)}.selectChevron{display:inline-flex;color:var(--textMuted);flex-shrink:0}.selectChevron,.selectChevron svg{width:16px;height:16px}.selectContent{background:white;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);z-index:100;overflow:hidden;min-width:var(--radix-select-trigger-width);max-height:var(--radix-select-content-available-height)}.selectViewport{padding:4px}.selectItem{display:flex;align-items:center;padding:8px 10px;border-radius:6px;font-size:13px;color:var(--text);cursor:pointer;outline:none}.selectItem[data-highlighted],.selectItem[data-state=checked]{background:var(--bgHover)}.selectItem[data-state=checked]{font-weight:600;color:var(--accent)}.toggleSwitch{position:relative;display:inline-block;width:36px;height:20px;border-radius:999px;background:var(--bgHover);border:0;padding:0;cursor:pointer;transition:background .15s}.toggleSwitchOn{background:var(--accent)}.toggleSwitch:disabled{cursor:not-allowed;opacity:.5}.toggleSwitchThumb{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:white;box-shadow:0 1px 2px rgba(0,0,0,.15);transition:transform .15s}.toggleSwitchOn .toggleSwitchThumb{transform:translateX(16px)}.rowActionsCell{width:1px;text-align:right;white-space:nowrap}.rowActionsCell .iconBtn+.iconBtn{margin-left:8px}.iconBtn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;color:var(--textMuted);background:rgba(0,0,0,.03);cursor:pointer;transition:background .15s,color .15s}.iconBtn svg{width:16px;height:16px}.iconBtn:hover{background:rgba(0,0,0,.08);color:var(--text)}.iconBtn:disabled{opacity:.4;cursor:not-allowed}.iconBtnDanger{color:rgba(220,38,38,.7);background:rgba(220,38,38,.05)}.iconBtnDanger:hover{background:rgba(220,38,38,.12);color:var(--danger)}.submissionsShell{display:flex;flex-direction:column;gap:28px}.submissionsPageHeader{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;border-bottom:1px solid var(--border);padding-bottom:20px}.submissionsPageHeading{display:flex;flex-direction:column;gap:6px}.submissionsEyebrow{text-transform:uppercase;font-size:11px;letter-spacing:.18em;color:var(--textDim);font-weight:600}.submissionsTitle{margin:0;font-size:34px;font-weight:700;letter-spacing:-.025em;color:var(--ink);line-height:1}.submissionsTabBar{display:inline-flex;align-self:flex-start;gap:6px;padding:4px;background:var(--bgMuted);border:1px solid var(--border);border-radius:999px}.submissionsTabPill{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border:none;background:transparent;border-radius:999px;font:inherit;font-weight:500;color:var(--textMuted);cursor:pointer;transition:background .16s ease,color .16s ease}.submissionsTabPill:hover{color:var(--ink);background:var(--bgHover)}.submissionsTabPillActive{color:var(--ink);box-shadow:var(--shadowSm);font-weight:600}.submissionsTabPillActive,.submissionsTabPillActive:hover{background:var(--bgElevated)}.submissionsTabLabel{letter-spacing:-.005em}.submissionsTabBadge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 7px;border-radius:999px;background:var(--accentSoft);color:var(--ink);font-size:11px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.submissionsTabPillActive .submissionsTabBadge{background:var(--ink);color:var(--bgElevated)}.submissionsKpiGrid{display:grid;grid-template-columns:1.6fr repeat(3,1fr);grid-gap:12px;gap:12px}@media (max-width:980px){.submissionsKpiGrid{grid-template-columns:1fr 1fr}.submissionsKpiHero{grid-column:1/-1}}.submissionsKpiHero,.submissionsKpiTile{background:var(--bgCard);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;display:flex;flex-direction:column;gap:8px;box-shadow:var(--shadowSm)}.submissionsKpiHero{background:var(--ink);border-color:var(--ink);color:var(--bgElevated);padding:22px 24px;gap:12px}.submissionsKpiEyebrow{text-transform:uppercase;font-size:10px;letter-spacing:.16em;color:var(--textDim);font-weight:600}.submissionsKpiHero .submissionsKpiEyebrow{color:rgba(255,255,255,.55)}.submissionsKpiHeroValue{font-size:30px;font-weight:700;letter-spacing:-.025em;color:var(--bgElevated);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1}.submissionsKpiSub{font-size:12px;color:rgba(255,255,255,.65);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin-top:auto}.submissionsKpiValue{font-size:28px;font-weight:700;letter-spacing:-.02em;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1}.submissionsKpiValueDate{font-size:22px}.submissionsBody{display:flex;flex-direction:column;gap:20px;animation:submissionsBodyFade .22s ease both}@keyframes submissionsBodyFade{0%{opacity:0}to{opacity:1}}.submissionsGroupStack{display:flex;flex-direction:column;gap:24px}.submissionsGroup{display:flex;flex-direction:column;gap:12px;animation:submissionsGroupRise .32s cubic-bezier(.16,1,.3,1) both}.submissionsGroup:first-of-type{animation-delay:40ms}.submissionsGroup:nth-of-type(2){animation-delay:90ms}.submissionsGroup:nth-of-type(3){animation-delay:.14s}.submissionsGroup:nth-of-type(4){animation-delay:.19s}@keyframes submissionsGroupRise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.submissionsGroupHeader{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:0 4px 4px;border-bottom:1px solid var(--border)}.submissionsGroupTitle{margin:0;font-size:12px;text-transform:uppercase;letter-spacing:.14em;font-weight:600;color:var(--textMuted)}.submissionsGroup-rejected .submissionsGroupTitle{color:var(--danger)}.submissionsGroupMeta{display:inline-flex;align-items:baseline;gap:8px;font-size:12px;color:var(--textMuted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.submissionsGroupCount,.submissionsGroupSep{color:var(--textDim)}.submissionsGroupTotal{font-weight:600;color:var(--ink)}.submissionsGroup-rejected .submissionsGroupTotal{color:var(--danger)}.submissionsAmountCell{font-size:14px;font-weight:600;color:var(--ink)}.submissionsGroup-rejected .submissionsAmountCell{color:var(--danger)}.submissionsBlankSlate{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:64px 24px;background:var(--bgElevated);border:1px dashed var(--borderStrong);border-radius:var(--radius);text-align:center}.submissionsBlankSlateLine{margin:0;font-size:16px;font-weight:500;color:var(--ink);letter-spacing:-.01em}.submissionsBlankSlateSub{margin:0;font-size:13px;color:var(--textMuted)}.providerPickerRow{display:flex;align-items:stretch;gap:8px}.providerPickerCombobox{flex:1 1;min-width:0}.providerPickerMeBtn{flex-shrink:0;white-space:nowrap}.modalHeaderTitleGroup{display:inline-flex;align-items:center;gap:10px;min-width:0}.submissionStatusPill{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--border);background:var(--bgMuted);color:var(--textMuted);white-space:nowrap}.submissionStatusPill-submitted{background:rgba(58,117,224,.1);border-color:rgba(58,117,224,.25);color:#2a5cbf}.submissionStatusPill-approved{background:rgba(34,139,80,.1);border-color:rgba(34,139,80,.25);color:#1f7048}.submissionStatusPill-rejected{background:rgba(200,50,50,.1);border-color:rgba(200,50,50,.3);color:var(--danger)}.submissionsReviewerNote{margin:0;font-size:14px;color:var(--ink);white-space:pre-wrap;padding:12px 14px;background:var(--bgMuted);border:1px solid var(--border);border-radius:var(--radiusSm)}.adminPagination{display:flex;gap:1rem;align-items:center;margin-top:1rem}.permissionMatrix{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:.75rem;gap:.75rem;max-height:50vh;overflow-y:auto;margin-top:1rem}.permissionGroup{border:1px solid var(--border);border-radius:var(--radiusSm);padding:.5rem .75rem;display:flex;flex-direction:column;gap:.25rem;font-size:.875rem}.permissionGroup legend{font-weight:600;text-transform:capitalize;padding:0 .25rem}.permissionGroup label{display:flex;gap:.5rem;align-items:center}.rolesRowButton{background:none;border:none;color:var(--text);font:inherit;padding:0;cursor:pointer;text-align:left}.rolesRowButton:hover{text-decoration:underline}.rolePill{display:inline-block;font-size:.75rem;padding:.1rem .4rem;border-radius:var(--radiusSm);background:var(--bgHover);color:var(--textMuted);margin-left:.5rem}.rolePillMuted{opacity:.6}.userActiveRow{flex-direction:row!important;align-items:center;gap:.5rem}