:root{--bg:#f5f0eb;--white:#ffffff;--brown:#42251f;--brown-hover:#5a342c;--beige:#d5bfa8;--beige-hover:#c2aa90;--beige-light:#ede8e0;--beige-soft:#f8f3ee;--text:#1c1c1c;--muted:#9a8478;--border:#e2d8d0;--shadow-sm:0 1px 4px rgba(66,37,31,0.07);--shadow:0 4px 20px rgba(66,37,31,0.1);--radius:16px;--radius-sm:10px;--nav-h:72px;--vv-width:100vw;--vv-height:100vh;--vv-offset-top:0px;--vv-offset-left:0px}*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%}body{font-family:ui-sans-serif,system-ui,-apple-system,Helvetica Neue,Arial,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.appShell{display:flex;flex-direction:column;min-height:100vh;max-width:680px;margin:0 auto}.appMain{flex:1 1;padding:max(16px,env(safe-area-inset-top)) 16px 16px;padding-bottom:calc(var(--nav-h) + 16px + env(safe-area-inset-bottom))}.bottomNav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:680px;background:var(--white);border-top:1px solid var(--border);height:var(--nav-h);z-index:30;padding:0 4px max(6px,env(safe-area-inset-bottom));box-shadow:0 -2px 16px rgba(66,37,31,.06)}.bottomNav,.navItem{display:flex;align-items:center}.navItem{flex:1 1;flex-direction:column;gap:3px;padding:8px 1px;color:var(--muted);font-size:10px;font-weight:500;cursor:pointer;border-radius:var(--radius-sm);transition:color .15s ease;min-width:0;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.navItem span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.navItem.active{color:var(--brown)}.bottomNavSingle{justify-content:center}.bottomNavSingle .navItem{flex:0 1 auto;min-width:120px}.navItemAdd{flex:1 1}.navAddBtn,.navItemAdd{display:flex;justify-content:center;align-items:center}.navAddBtn{width:52px;height:52px;border-radius:50%;background:var(--brown);color:white;border:none;box-shadow:0 4px 14px rgba(66,37,31,.35);cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.navAddBtn.active,.navAddBtn:hover{transform:scale(1.08);box-shadow:0 6px 18px rgba(66,37,31,.45)}.addMenuBackdrop{position:fixed;top:var(--vv-offset-top,0);left:var(--vv-offset-left,0);width:var(--vv-width,100%);height:var(--vv-height,100%);right:auto;bottom:auto;z-index:40;background:rgba(28,28,28,.25);border:none;cursor:pointer}.addMenuPopup{position:fixed;bottom:calc(var(--nav-h) + 12px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:calc(100% - 32px);max-width:360px;z-index:50;background:var(--white);border-radius:18px;border:1px solid var(--border);box-shadow:var(--shadow);padding:12px;display:grid;grid-gap:8px;gap:8px;animation:addMenuIn .18s ease}@keyframes addMenuIn{0%{opacity:0;transform:translateX(-50%) translateY(12px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.addMenuTitle{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;padding:4px 8px 2px}.addMenuItem{display:flex;align-items:center;gap:14px;padding:12px;border-radius:12px;border:1px solid transparent;transition:background .12s ease,border-color .12s ease}.addMenuItem:hover{background:var(--beige-soft);border-color:var(--border)}.addMenuItemIcon{width:44px;height:44px;border-radius:12px;background:var(--beige-light);color:var(--brown);display:flex;align-items:center;justify-content:center;flex-shrink:0}.addMenuItemIconExpense{background:rgba(66,37,31,.1)}.addMenuItemLabel{display:block;font-weight:600;font-size:15px;color:var(--text)}.addMenuItemDesc{display:block;font-size:12px;color:var(--muted);margin-top:2px}.input[type=date],.input[type=datetime-local],select.input{-webkit-appearance:none;-moz-appearance:none;appearance:none}.card{background:var(--white);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.cardPad{padding:16px}.settingsBlock{display:flex;flex-direction:column;gap:0}.settingsSection+.settingsSection{margin-top:18px;padding-top:18px;border-top:1px solid var(--border)}.settingsSectionBtn{width:100%;justify-content:center}.calendarFeedUrlBox{padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--beige-soft);font-size:12px;line-height:1.45;word-break:break-all}.calendarFeedSteps{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px}.calendarFeedWarn{padding:10px 12px;border-radius:var(--radius-sm);border:1px solid #e8c9a8;background:#fff7ed;color:#7a4b12;line-height:1.45}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:6px;padding:10px 16px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--white);color:var(--text);cursor:pointer;font-size:14px;font-weight:500;transition:background .12s ease,border-color .12s ease;white-space:nowrap}.btn:hover{background:var(--beige-soft);border-color:var(--beige)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btnPrimary{background:var(--brown);border-color:var(--brown);color:white}.btnPrimary:hover{background:var(--brown-hover);border-color:var(--brown-hover)}.btnBeige{background:var(--beige);border-color:var(--beige);color:var(--brown);font-weight:600}.btnBeige:hover{background:var(--beige-hover);border-color:var(--beige-hover)}.btnDanger{background:var(--white);border-color:#ffd0d0;color:#c0392b}.btnDanger:hover{background:#fff0f0}.btnIcon{padding:8px;border-radius:8px;color:var(--muted)}.input{width:100%;padding:11px 14px;border-radius:var(--radius-sm);border:1.5px solid var(--border);background:var(--white);color:var(--text);outline:none;font-size:15px;transition:border-color .15s ease,box-shadow .15s ease}.input:focus{border-color:var(--beige);box-shadow:0 0 0 3px rgba(213,191,168,.28)}.label{display:block;font-size:11.5px;font-weight:600;color:var(--muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.fieldSelect{position:relative}.fieldSelectTrigger{display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;cursor:pointer}.fieldSelectTrigger:disabled{opacity:.6;cursor:default}.fieldSelectValue{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fieldSelectPlaceholder .fieldSelectValue{color:var(--muted)}.fieldSelectChevron{flex-shrink:0;color:var(--muted);transition:transform .15s ease,color .15s ease}.fieldSelectOpen .fieldSelectTrigger{border-color:var(--beige);box-shadow:0 0 0 3px rgba(213,191,168,.28)}.fieldSelectOpen .fieldSelectChevron{transform:rotate(180deg);color:var(--brown)}.fieldSelectMenu{list-style:none;margin:6px 0 0;padding:4px;border-radius:var(--radius-sm);border:1.5px solid var(--border);background:var(--white);box-shadow:var(--shadow);max-height:min(240px,42vh);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.fieldSelectOption{width:100%;display:block;padding:11px 12px;border:none;border-radius:8px;background:transparent;color:var(--text);font-size:15px;line-height:1.35;text-align:left;cursor:pointer;transition:background .12s ease,color .12s ease}.fieldSelectOption:hover,.fieldSelectOptionSelected{background:var(--beige-soft)}.fieldSelectOptionSelected{color:var(--brown);font-weight:600}.tag{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:500}.tagBrown{background:rgba(66,37,31,.1);color:var(--brown)}.tagBeige{background:var(--beige-light);color:#6b5040}.tagExternal{background:#fff0e0;color:#b35a00}.h1{font-size:22px;font-weight:700;letter-spacing:-.3px}.h1,.h2{color:var(--text)}.h2{font-size:17px;font-weight:600}.muted{color:var(--muted)}.small{font-size:13px}.row{gap:10px;flex-wrap:wrap;align-items:center}.col,.row{display:flex}.col{flex-direction:column;gap:12px}.spacer{flex:1 1}.grid2{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}@media (max-width:580px){.grid2{grid-template-columns:1fr}}.statsGrid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px}.statsGrid3{grid-template-columns:repeat(3,1fr)}@media (max-width:420px){.statsGrid{grid-template-columns:repeat(2,1fr)}.statsGrid3{grid-template-columns:1fr}}.statValueIncome{color:var(--brown)}.statValueExpense{color:#8b5a4a}.statValueProfit{color:#2d6a4f}.statValueNegative{color:#c0392b}.monthPicker{flex:1 1;min-width:0;text-align:center;font-weight:600;color:var(--brown)}.donutWrap{display:flex;flex-direction:column;align-items:center;gap:20px}@media (min-width:480px){.donutWrap{flex-direction:row;align-items:flex-start;justify-content:center}}.donutRing{flex-shrink:0}.donutHole,.donutRing{border-radius:50%;display:flex;align-items:center;justify-content:center}.donutHole{background:var(--white);flex-direction:column;gap:2px}.donutTotalLabel{font-size:11px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.4px}.donutTotalValue{font-size:15px;font-weight:800;color:var(--brown)}.donutLegend{list-style:none;display:flex;flex-direction:column;gap:10px;flex:1 1;min-width:180px}.donutLegendItem{display:flex;align-items:flex-start;gap:10px}.donutLegendDot{width:12px;height:12px;border-radius:50%;flex-shrink:0;margin-top:4px}.donutLegendText{display:flex;flex-direction:column;gap:2px}.donutLegendLabel{font-size:14px;font-weight:600;color:var(--text)}.donutLegendMeta{font-size:13px;color:var(--muted)}.donutEmpty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px}.donutEmptyCircle{border-radius:50%;border:2px dashed var(--border);background:var(--beige-soft)}.dayDetailBackdrop{position:fixed;top:var(--vv-offset-top,0);left:var(--vv-offset-left,0);width:var(--vv-width,100%);height:var(--vv-height,100%);right:auto;bottom:auto;z-index:40;background:rgba(28,28,28,.3);border:none;cursor:pointer}.dayDetailPopup{position:fixed;left:50%;bottom:calc(var(--nav-h) + 12px + env(safe-area-inset-bottom));transform:translateX(-50%);width:calc(100% - 24px);max-width:420px;max-height:min(70vh,520px);z-index:50;background:var(--white);border-radius:18px;border:1px solid var(--border);box-shadow:var(--shadow);display:flex;flex-direction:column;overflow:hidden;animation:addMenuIn .18s ease}.dayDetailHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 16px 12px;border-bottom:1px solid var(--border);flex-shrink:0}.dayDetailHeader .btnIcon{font-size:22px;line-height:1;width:36px;height:36px}.dayDetailList{overflow-y:auto;padding:8px 12px 16px;display:flex;flex-direction:column;gap:6px}.dayDetailEmpty{padding:4px 2px 2px}.dayDetailItem{padding:8px 10px;border-radius:10px;background:var(--beige-soft);border:1px solid var(--border)}.dayDetailItemRow{display:flex;align-items:flex-start;gap:8px}.dayDetailItemRow .dayDetailItemMain{flex:1 1;min-width:0}.dayDetailDeleteBtn{flex-shrink:0;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:8px;background:transparent;color:#c0392b;cursor:pointer;transition:background .12s ease}.dayDetailDeleteBtn:hover:not(:disabled){background:rgba(192,57,43,.12)}.dayDetailDeleteBtn:disabled{opacity:.5;cursor:default}.dayDetailConfirm{margin-top:8px;padding-top:8px;border-top:1px solid var(--border);flex-direction:column;font-size:12px;color:var(--text)}.dayDetailConfirm,.dayDetailConfirmActions{display:flex;gap:8px}.dayDetailConfirmBtn{flex:1 1;justify-content:center;padding:7px 10px;font-size:12px}.dayDetailItemMain{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.dayDetailTime{display:inline;font-size:12px;font-weight:600;color:var(--brown);white-space:nowrap}.dayDetailDuration{font-weight:500;color:var(--muted)}.dayDetailClient{font-size:14px;font-weight:700;color:var(--text);white-space:nowrap}.dayDetailMeta{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.dayDetailTag{font-size:11px;padding:2px 7px;gap:4px}.dayDetailPriceExpense{color:#8b5a4a}.expenseReceiptNo{padding:12px 14px;border-radius:var(--radius-sm);background:var(--beige-soft);font-size:16px;font-weight:700;color:var(--brown);letter-spacing:.4px}.expenseReceiptUpload{display:flex;gap:12px;align-items:stretch}.expenseReceiptThumb{width:72px;height:72px;border-radius:12px;overflow:hidden;border:1px solid var(--border);background:var(--white);flex-shrink:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:6px}.expenseReceiptThumb img{width:100%;height:100%;object-fit:cover}.expenseReceiptThumbList{flex-shrink:0;text-decoration:none}.dayDetailItemRow:has(.expenseReceiptThumbList){align-items:flex-start}.monthDayHasExpenses .monthDayCount{color:#8b5a4a}.dayDetailPrice{margin-left:auto;font-size:14px;font-weight:800;color:var(--brown);white-space:nowrap}.statCard{background:var(--white);border-radius:var(--radius);border:1px solid var(--border);padding:16px;box-shadow:var(--shadow-sm)}.statValue{font-size:28px;font-weight:800;color:var(--brown);line-height:1;letter-spacing:-.5px}.statLabel{font-size:12px;color:var(--muted);margin-top:6px;font-weight:500}.apptItem{display:flex;gap:14px;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--border)}.apptItem:last-child{border-bottom:none}.apptTimeCol{display:flex;flex-direction:column;align-items:center;min-width:46px;padding-top:2px}.apptTimeStart{font-size:14px;font-weight:700;color:var(--brown)}.apptTimeLine{width:1.5px;flex:1 1;min-height:16px;background:var(--beige);margin:4px 0}.apptTimeEnd{font-size:11px;color:var(--muted)}.apptBody{flex:1 1;min-width:0}.apptClientName{font-size:15px;font-weight:600;color:var(--text)}.apptMeta{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.apptPrice{margin-left:auto;font-size:15px;font-weight:700;color:var(--brown);white-space:nowrap}.emptyState{flex-direction:column;gap:14px;padding:56px 20px;color:var(--muted);text-align:center}.emptyState,.emptyStateIcon{display:flex;align-items:center}.emptyStateIcon{width:60px;height:60px;border-radius:50%;background:var(--beige-light);justify-content:center;color:var(--beige)}.weekGrid{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));grid-gap:8px;gap:8px;overflow-x:auto;padding-bottom:8px}.dayCol{min-width:120px}.dayHeader{padding:8px;border-radius:var(--radius-sm);margin-bottom:6px;background:var(--beige-light);text-align:center}.dayHeaderName{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}.dayHeaderDate{font-size:20px;font-weight:800;color:var(--brown);line-height:1.2}.dayHeaderToday{background:var(--brown)}.dayHeaderToday .dayHeaderDate,.dayHeaderToday .dayHeaderName{color:white}.dayTimeline{position:relative;border-radius:var(--radius-sm);background:var(--beige-soft);overflow:hidden;border:1px solid var(--border)}.timeLabel{position:absolute;left:4px;font-size:10px;color:var(--muted)}.timeLine{position:absolute;left:0;right:0;height:1px;background:var(--border)}.apptBlock{position:absolute;left:4px;right:4px;border-radius:8px;padding:6px 8px;overflow:hidden;cursor:default;border:1px solid rgba(66,37,31,.2);background:linear-gradient(135deg,rgba(66,37,31,.12),rgba(213,191,168,.2))}.apptBlockName{font-size:12px;font-weight:700;color:var(--brown)}.apptBlockMeta,.apptBlockName{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.apptBlockMeta{font-size:11px;color:var(--muted);margin-top:2px}.viewSwitcher{display:flex;gap:4px;padding:4px;background:var(--beige-light);border-radius:12px;border:1px solid var(--border)}.viewSwitcherBtn{flex:1 1;padding:9px 8px;border:none;border-radius:9px;background:transparent;color:var(--muted);font-size:14px;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease}.viewSwitcherBtn.active{background:var(--white);color:var(--brown);box-shadow:var(--shadow-sm)}.monthCalendarWrap{position:relative;padding:12px!important}.monthWeekdays{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:4px;gap:4px;margin-bottom:6px}.monthWeekday{text-align:center;font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.3px;padding:4px 0}.monthGrid{position:relative;display:grid;grid-template-columns:repeat(7,1fr);grid-gap:4px;gap:4px}.monthDay{aspect-ratio:1;min-height:52px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:6px 4px;border-radius:10px;border:1px solid transparent;background:var(--beige-soft);cursor:default;transition:background .12s ease,border-color .12s ease}.monthDayOutside{opacity:.35;background:transparent}.monthDayToday{border-color:var(--brown)}.monthDayHasClients{cursor:pointer;border-color:var(--beige)}.monthDayHasClients:hover{border-color:var(--brown)}.monthDayEmptyClickable{cursor:pointer}.monthDayEmptyClickable:hover{background:var(--white);border-color:var(--beige)}.monthDay.monthDayLoadLow{background:rgba(72,140,90,.28);border-color:rgba(72,140,90,.45)}.monthDay.monthDayLoadLow:hover{background:rgba(72,140,90,.38)}.monthDay.monthDayLoadMid{background:rgba(220,170,50,.32);border-color:rgba(200,150,40,.5)}.monthDay.monthDayLoadMid:hover{background:rgba(220,170,50,.42)}.monthDay.monthDayLoadHigh{background:rgba(200,90,75,.3);border-color:rgba(190,75,60,.5)}.monthDay.monthDayLoadHigh:hover{background:rgba(200,90,75,.4)}.monthDay.monthDayLoadOver{background:rgba(210,45,40,.52);border-color:rgba(185,30,30,.75)}.monthDay.monthDayLoadOver:hover{background:rgba(210,45,40,.62)}.monthDay.monthDayLoadOver .monthDayCount,.monthDay.monthDayLoadOver .monthDayNum{color:#fff}.monthDay.monthDayLoadOver .monthDayCountLabel{color:rgba(255,255,255,.85)}.monthDayPickable{cursor:pointer}.monthDayPickable:not(.monthDayLoadLow):not(.monthDayLoadMid):not(.monthDayLoadHigh):not(.monthDayLoadOver):hover{background:var(--white);border-color:var(--beige)}.monthDaySelected{background:var(--brown);border-color:var(--brown)}.monthDaySelected .monthDayCount,.monthDaySelected .monthDayCountLabel,.monthDaySelected .monthDayNum{color:var(--white)}.monthDaySelected.monthDayToday{border-color:var(--brown)}.monthDay:disabled{cursor:default}.monthDayNum{font-size:13px;font-weight:700;color:var(--text);line-height:1.2}.monthDayCount,.monthDayToday .monthDayNum{color:var(--brown)}.monthDayCount{margin-top:auto;font-size:15px;font-weight:800;line-height:1;display:flex;flex-direction:column;align-items:center;gap:1px}.monthDayCountLabel{font-size:8px;font-weight:600;color:var(--muted);text-transform:lowercase}.monthDayHasExternal:not(.monthDayLoadLow):not(.monthDayLoadMid):not(.monthDayLoadHigh):not(.monthDayLoadOver){background:linear-gradient(180deg,#fff8f0,#fff2e6)}.monthDayExternalCount{color:#d97706}.monthDayExternalCount,.monthDaySplitCount{margin-top:auto;font-size:13px;font-weight:800;line-height:1}.monthDaySplitCount{display:flex;align-items:baseline;gap:1px}.monthDaySplitOwn{color:var(--brown)}.monthDaySplitSep{color:var(--muted);font-weight:600;font-size:11px}.monthDaySplitExternal{color:#d97706}.monthCalendarCompact .monthDaySplitCount{font-size:11px}.monthDay.monthDayLoadOver .monthDaySplitExternal,.monthDay.monthDayLoadOver .monthDaySplitOwn{color:#fff}.monthDay.monthDayLoadOver .monthDaySplitSep{color:rgba(255,255,255,.75)}.monthDaySelected .monthDaySplitExternal,.monthDaySelected .monthDaySplitOwn,.monthDaySelected .monthDaySplitSep{color:var(--white)}.dayDetailItemExternal{border-left:3px solid #ff8d28;padding-left:10px;opacity:.55;pointer-events:none}@media (max-width:400px){.monthDayCountLabel{display:none}.monthDay{min-height:44px;padding:4px 2px}}.monthCalendarCompact .monthDay{min-height:40px;padding:4px 2px;border-radius:8px}.monthCalendarCompact .monthDayCount,.monthCalendarCompact .monthDayNum{font-size:12px}.monthCalendarCompact .monthWeekday{font-size:10px;padding:2px 0}.monthCalendarCompact{padding:10px!important}.monthCalendarEmbedded{background:var(--beige-soft);border-radius:var(--radius-sm)}.monthCalendarEmbeddedMode .dateNav{margin-bottom:0}.monthCalendarEmbeddedMode .dateNav .h1{font-size:15px!important}.expenseDatePicker{gap:8px}.expenseDatePicker .dateNav{margin-top:0}.monthDayExpanded{position:relative;z-index:51;border-color:transparent!important;box-shadow:none}.monthDayDetailRow{position:absolute;left:0;right:0;z-index:51;margin:0;pointer-events:none;animation:monthDayDetailRowIn .26s cubic-bezier(.22,1,.36,1) both}.monthDayDetailRowInner{background:var(--white);border-radius:14px;border:none;box-shadow:var(--shadow);overflow:hidden;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;pointer-events:auto;animation:monthDayDetailPopIn .22s cubic-bezier(.22,1,.36,1) both}.monthCalendarWrap,.monthDayDetailRow,.monthGrid{overflow:visible}.monthDayDetailRowInner .dayDetailHeader{padding:12px 14px 10px;position:-webkit-sticky;position:sticky;top:0;z-index:1;background:var(--white);border-radius:14px 14px 0 0}.monthDayDetailRowInner .dayDetailList{padding:6px 10px 8px;max-height:140px;overflow-y:auto}.monthDayDetailRowInner:has(.dayDetailAddForm) .dayDetailList{max-height:88px}.dayDetailFooter{border-top:1px solid var(--border);padding:0 12px max(12px,env(safe-area-inset-bottom))}.dayDetailAddBtn{width:100%;margin-top:10px;justify-content:center}.dayDetailAddForm{display:flex;flex-direction:column;gap:12px;margin-top:10px}.dayDetailAddFormHead{display:flex;align-items:center;justify-content:space-between;gap:8px}.dayDetailAddFormTitle{font-size:14px;font-weight:700;color:var(--brown)}.dayDetailAddCancel{font-size:12px;padding:6px 10px;color:var(--muted);background:transparent;border:1px solid var(--border)}.dayDetailAddField{display:flex;flex-direction:column;gap:6px}.dayDetailProcedureMeta{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin-top:10px}.dayDetailAddField .messengerToggles{margin-top:6px}.dayDetailTimePicker{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:6px;gap:6px}.dayDetailTimeBtn{padding:8px 4px;border:1px solid var(--border);border-radius:8px;background:var(--beige-soft);color:var(--text);font-size:12px;font-weight:600;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.dayDetailTimeBtn:hover{border-color:var(--beige)}.dayDetailTimeBtn.active{background:var(--brown);border-color:var(--brown);color:var(--white)}.dayDetailTimeBtn:disabled{opacity:.35;cursor:not-allowed;background:var(--beige-light);border-color:var(--border);color:var(--muted)}.dayDetailTimeBtn:disabled:hover{border-color:var(--border)}.dayDetailSummary{padding:10px 12px;border-radius:10px;background:var(--beige-soft);border:1px solid var(--border);display:flex;flex-direction:column;gap:8px}.dayDetailSummaryTitle{font-size:13px;font-weight:700;color:var(--brown)}.dayDetailSummaryRow{display:flex;flex-direction:column;gap:2px;font-size:13px;font-weight:600}.dayDetailAddSubmit{width:100%;justify-content:center;margin-top:4px}@keyframes monthDayDetailRowIn{0%{opacity:0}to{opacity:1}}@keyframes monthDayDetailPopIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.dayDetailFocusOverlay{position:fixed;top:var(--vv-offset-top,0);left:var(--vv-offset-left,0);width:var(--vv-width,100%);height:var(--vv-height,100%);right:auto;bottom:auto;z-index:45;pointer-events:auto;cursor:pointer;animation:dayDetailFocusIn .22s ease}body.dayDetailFocusOpen{overflow:hidden;touch-action:none}body.dayDetailFocusOpen .bottomNav,body.keyboard-open .bottomNav{opacity:0;visibility:hidden;pointer-events:none}body.keyboard-open .appMain{padding-bottom:16px}body.keyboard-open .addMenuPopup,body.keyboard-open .dayDetailPopup{bottom:12px}body.dayDetailFocusOpen .monthDayDetailRowInner{pointer-events:auto}@keyframes dayDetailFocusIn{0%{opacity:0}to{opacity:1}}.homeView{gap:14px}.homeSummaryTitle{font-size:15px;font-weight:700;color:var(--brown);text-transform:capitalize;margin-bottom:12px}.homeSummaryGrid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px}.homeSummaryItem{background:var(--beige-soft);border-radius:var(--radius-sm);padding:14px 8px;text-align:center}.homeSummaryItemBtn{display:block;border:none;cursor:pointer;text-decoration:none;color:inherit;transition:background .15s ease,transform .1s ease}.homeSummaryItemBtn:hover{background:var(--beige)}.homeSummaryItemBtn:active{transform:scale(.98)}.homeSummaryValue{font-size:20px;font-weight:800;color:var(--brown);line-height:1.1;letter-spacing:-.4px}.homeSummaryValueExpense{color:#8b5a4a}.homeSummaryValueProfit{color:#3d6b4f}.homeSummaryValueLoss{color:#a63d3d}.homeSettingsCard{padding-top:14px;padding-bottom:14px}.homeSettingsLink{display:flex;align-items:center;gap:14px;color:var(--text);text-decoration:none}.homeSettingsIcon{flex-shrink:0;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;background:var(--beige-soft);color:var(--brown)}.homeSettingsText{font-size:16px;font-weight:700;color:var(--brown)}.homeSettingsLink:active .homeSettingsIcon{background:var(--beige-light)}.homeSummaryLabel{margin-top:6px;font-size:11px;color:var(--muted);font-weight:500;line-height:1.3}.procedurePickBtn{width:100%;flex-direction:column;align-items:flex-start;gap:4px;padding:12px 14px;text-align:left}.procedurePickMain{display:flex;align-items:center;gap:8px;font-weight:600}.procedurePickMeta{font-size:12px;font-weight:500;opacity:.85}.btnPrimary .procedurePickMeta{opacity:.95}.inputReadonly{display:flex;align-items:center;min-height:44px;background:var(--beige-soft);color:var(--text);cursor:default}.messengerToggles{display:flex;gap:8px;margin-top:10px}.messengerToggle{flex:1 1;padding:8px 10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--white);color:var(--muted);font-size:13px;font-weight:600;cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.messengerToggle:hover{border-color:var(--beige);color:var(--text)}.messengerToggle.active{background:var(--brown);border-color:var(--brown);color:var(--white)}.addDayLoadList{display:flex;flex-direction:column;gap:8px}.addDayLoadItem{padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--beige-soft)}.addDayLoadTime{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--brown)}.addDayLoadName{margin-top:4px;font-weight:600;font-size:14px}.addDayLoadMeta{margin-top:6px;flex-wrap:wrap;gap:6px}.addDayLoadMeta,.dateNav{display:flex;align-items:center}.dateNav{gap:8px;margin-bottom:14px}.backLink{display:inline-flex;align-items:center;gap:2px;margin-bottom:12px;color:var(--brown);text-decoration:none;font-size:14px;font-weight:600;width:-moz-fit-content;width:fit-content}.backLink:active{opacity:.75}.dateNavLabel{font-size:16px;font-weight:700;color:var(--text);min-width:0;flex:1 1}.sectionTitle{font-size:13px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.6px;margin-bottom:10px}.loginPage{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:var(--bg)}.loginCard{background:var(--white);border-radius:24px;border:1px solid var(--border);box-shadow:var(--shadow);padding:36px;width:100%;max-width:400px}.loginLogo{font-size:30px;font-weight:900;color:var(--brown);letter-spacing:-.5px;margin-bottom:4px}.loginSubtitle{color:var(--muted);font-size:14px;margin-bottom:28px}.pinForm{display:grid;grid-gap:20px;gap:20px;justify-items:center}.pinDots{display:flex;gap:18px;padding:8px 0 4px}.pinDot{width:14px;height:14px;border-radius:50%;border:2px solid var(--beige);background:transparent;transition:background .15s,border-color .15s,transform .15s}.pinDotFilled{background:var(--brown);border-color:var(--brown);transform:scale(1.05)}.pinDotsShake{animation:pinShake .45s ease}@keyframes pinShake{0%,to{transform:translateX(0)}20%{transform:translateX(-8px)}40%{transform:translateX(8px)}60%{transform:translateX(-6px)}80%{transform:translateX(6px)}}.pinError{width:100%;text-align:center}.pinLoading{font-size:13px;color:var(--muted)}.pinKeypad{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px;width:100%;max-width:280px}.pinKey{aspect-ratio:1;border:none;border-radius:50%;background:var(--beige-soft);color:var(--brown);font-size:26px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,transform .1s;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pinKey:hover:not(:disabled){background:var(--beige-light)}.pinKey:active:not(:disabled){transform:scale(.94);background:var(--beige)}.pinKey:disabled{opacity:.45;cursor:default}.pinKeyEmpty{pointer-events:none;background:transparent}.pinKeyBack{font-size:22px;background:transparent}.pinKeyBack:hover:not(:disabled){background:var(--beige-soft)}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.alertError{background:#fff5f5;border:1px solid #fecaca;border-radius:var(--radius-sm);padding:10px 14px;font-size:14px;color:#c0392b}.alertInfo{background:var(--beige-soft);border:1px solid var(--beige);border-radius:var(--radius-sm);padding:10px 14px;font-size:13px;color:var(--muted)}