:root{--bg: #f5f7fb;--panel: #fff;--text: #162033;--muted: #667085;--line: #d9e0ea;--soft: #eef3f8;--accent: #0f8b8d;--expense: #b83257;--warn: #b7791f;--ok: #2f855a;--income: #2563eb;--schedule: #6d5bd0;--weekend: #b91c1c;--weekend-bg: #fff1f2;--range: #ddf7f3;--shadow: 0 10px 24px rgb(31 41 55 / 8%)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,system-ui,sans-serif}button,input,select,textarea{border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text);font:inherit}button{min-height:40px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px}input,select,textarea{width:100%;min-width:0;padding:9px}textarea{min-height:58px;resize:vertical}.app{width:min(100% - 32px,1180px);margin:auto;padding:18px 0 24px}header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:end;border-bottom:1px solid var(--line);padding-bottom:16px}h1{margin:0;font-size:clamp(26px,3vw,34px)}header p{margin:6px 0 0;color:var(--muted)}.topActions{display:grid;gap:8px;justify-items:end}.sectionSwitch{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;width:min(100%,340px)}.sectionSwitch .active{border-color:var(--accent);background:var(--accent);color:#fff}.monthNav{display:grid;grid-template-columns:42px minmax(150px,190px) 42px;gap:8px;align-items:center}.monthNav b{height:40px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;background:#fff;text-transform:capitalize}.logout{min-height:34px}.summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:16px 0}.metric,.calendarWrap,.side,.periodBox,.loginPanel{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.metric{min-width:0;padding:14px}.metric span{display:block;color:var(--muted);font-size:13px}.metric b{font-size:22px}.plus{color:var(--ok)}.minus{color:var(--expense)}.layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:14px;align-items:start}.week,.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.week{background:var(--soft);border-bottom:1px solid var(--line)}.week div{text-align:center;padding:9px;color:var(--muted);font-size:12px;font-weight:700}.week div:nth-child(6),.week div:nth-child(7){color:var(--weekend)}.day{min-height:112px;min-width:0;padding:6px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);-webkit-user-select:none;user-select:none}.day:nth-child(7n){border-right:0}.other{background:#fafafa;color:#9ca3af}.weekend{background:var(--weekend-bg)}.weekend .dayTop>span{color:var(--weekend)}.today,.rangeEdge{outline:2px solid var(--accent);outline-offset:-2px}.selected{background:var(--range)}.dayTop{display:flex;justify-content:space-between;gap:6px;font-weight:700}.dayTop small{color:var(--muted);font-size:11px;white-space:nowrap}.event{position:relative;margin-top:6px;padding:6px 26px 6px 6px;border-left:4px solid var(--ok);border-radius:6px;background:#effaf4;font-size:12px}.event.fixed{border-color:var(--expense);background:#fff3f6}.event.deadline{border-color:var(--warn);background:#fff8ea}.event.income{border-color:var(--income);background:#eff6ff}.scheduleEvent{border-color:var(--schedule);background:#f4f1ff}.selectedScheduleEvent{outline:2px solid var(--schedule);outline-offset:-2px}.scheduleDay{cursor:pointer}.scheduleDay:hover{background:#f8f7ff}.event b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event span{color:var(--muted);font-weight:700}.event button{position:absolute;top:4px;right:4px;width:20px;min-height:20px;padding:0;border:0;border-radius:6px;background:#fffc;color:#9f1239;font-weight:800}.tooltip{display:none;position:absolute;z-index:30;left:0;top:calc(100% + 6px);width:340px;max-width:78vw;padding:10px;border-radius:8px;background:#111827;color:#fff;box-shadow:0 16px 36px #00000059}.event:hover .tooltip{display:block}.tooltip p{margin:4px 0 0;color:#cbd5e1}.side{min-width:0;padding:12px}.periodBox{padding:12px;margin-bottom:12px}.filters,.periodTotals{display:grid;grid-template-columns:1fr 1fr;gap:8px}.periodTotals{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:10px}.periodTotals .metric{box-shadow:none;padding:8px}.periodTotals .metric b{font-size:17px}.tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:12px}.tabs .active,.primary{border-color:var(--accent);background:var(--accent);color:#fff}.segmented{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}.segmented button.active,.flowSwitch button.active{border-color:var(--accent);background:var(--accent);color:#fff}.clickable{cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease}.clickable:hover,.clickable:focus-visible{border-color:var(--accent);background:#f8fffd;outline:none}.event{cursor:pointer}.editorTop{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.flowSwitch{display:grid;grid-template-columns:1fr 1fr;gap:6px}.flowSwitch button{min-height:32px;padding:0 9px;font-size:13px}.selectedEditor{border-color:var(--accent);box-shadow:0 0 0 2px #0f8b8d2e}.list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:start;padding:9px;border:1px solid var(--line);border-radius:8px}.item p{margin:4px 0 0;color:var(--muted);font-size:13px}.badge{display:inline-block;margin-top:7px;padding:3px 7px;border-radius:99px;background:var(--soft);color:var(--muted);font-size:12px;font-weight:700}.itemSide{display:grid;gap:6px;justify-items:end}.incomeText{color:var(--income)}.mini{min-height:30px;padding:0 9px;font-size:13px}.danger{color:#9f1239}.empty,.error{padding:10px;border:1px dashed var(--line);border-radius:8px;color:var(--muted)}.error{border-color:#fecdd3;background:#fff1f2;color:#9f1239}.editor{display:grid;gap:10px}.addActions{display:flex;flex-wrap:wrap;gap:8px}.editorCard{display:grid;gap:8px;padding:10px;border:1px solid var(--line);border-radius:8px}.grid3{display:grid;grid-template-columns:minmax(0,1fr) 110px 130px;gap:8px}.scheduleGrid{grid-template-columns:minmax(0,1fr) 110px 110px}.weekdayPicker{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;grid-column:1 / -1}.weekdayPicker button{min-height:32px;padding:0;font-size:12px}.weekdayPicker button.active{border-color:var(--schedule);background:var(--schedule);color:#fff}.scheduleLayout .item .badge+.badge{margin-left:6px}.login,.loading{min-height:100vh;display:grid;place-items:center;padding:16px}.loginPanel{width:min(100%,380px);display:grid;gap:10px;padding:18px}@media(max-width:1120px){.app{width:min(100% - 20px,980px)}header,.summary,.layout{grid-template-columns:1fr}.topActions{justify-items:stretch}.sectionSwitch{width:100%}.monthNav{grid-template-columns:42px 1fr 42px}.calendarWrap{overflow:auto}.week,.calendar{min-width:760px}.filters,.periodTotals,.grid3{grid-template-columns:1fr}.tabs{grid-template-columns:1fr 1fr}}@media(min-width:1400px){.app{width:1180px}}@media(max-width:640px){.segmented,.editorTop{grid-template-columns:1fr}.app{width:100%;padding:12px}.summary,.tabs,.sectionSwitch,.item{grid-template-columns:1fr}.itemSide{justify-items:start}.week,.calendar{min-width:720px}}.scheduleApp{width:min(calc(100vw - 28px),1720px)}.scheduleApp header{margin-bottom:14px}.scheduleLayout{grid-template-columns:minmax(0,1fr) clamp(330px,24vw,420px);align-items:stretch}.scheduleLayout .calendarWrap{min-height:calc(100vh - 150px);overflow:hidden}.scheduleLayout .calendar{min-height:calc(100vh - 188px);grid-template-rows:repeat(6,minmax(118px,1fr))}.scheduleLayout .day{min-height:118px;padding:8px}.scheduleLayout .dayTop{margin-bottom:5px}.scheduleLayout .event.scheduleEvent{min-height:50px;margin-top:7px;padding:8px 28px 8px 9px;border-left-width:5px;font-size:13px;line-height:1.25}.scheduleLayout .event.scheduleEvent b{margin-bottom:3px;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.scheduleLayout .event.scheduleEvent span{display:block;font-size:12px}.scheduleSingle{border-color:#0891b2;background:#d9f7ff}.scheduleColor1{border-color:#7c2d12;background:#ffedd5}.scheduleColor2{border-color:#1d4ed8;background:#dbeafe}.scheduleColor3{border-color:#047857;background:#d1fae5}.scheduleColor4{border-color:#a16207;background:#fef3c7}.scheduleColor5{border-color:#be123c;background:#ffe4e6}.scheduleColor6{border-color:#6d28d9;background:#ede9fe}.scheduleConflictDay{background:linear-gradient(180deg,#fff7ed,#ffedd5);box-shadow:inset 0 0 0 2px #f97316}.scheduleLayout .event.scheduleConflict{border-color:#dc2626;background:linear-gradient(90deg,#fee2e2,#fff7ed);box-shadow:0 0 0 2px #dc262633}.scheduleLayout .event.scheduleConflict:after{content:"Накладка";position:absolute;right:24px;bottom:5px;border-radius:999px;background:#dc2626;color:#fff;padding:1px 6px;font-size:10px;line-height:1.4;font-weight:700}@media(min-width:1400px){.scheduleApp{width:min(calc(100vw - 36px),1720px)}.scheduleLayout .calendar{grid-template-rows:repeat(6,minmax(132px,1fr))}.scheduleLayout .day{min-height:132px}}@media(max-width:1120px){.scheduleApp{width:min(100% - 20px,980px)}.scheduleLayout{grid-template-columns:1fr}.scheduleLayout .calendarWrap{min-height:0;overflow:auto}.scheduleLayout .calendar{min-height:720px;grid-template-rows:repeat(6,120px)}}.financeApp{width:min(calc(100vw - 28px),1720px)}.financeApp header{margin-bottom:14px}.financeLayout{grid-template-columns:minmax(0,1fr) clamp(350px,25vw,440px);align-items:stretch}.financeLayout .calendarWrap{min-height:calc(100vh - 250px);overflow:hidden}.financeLayout .calendar{min-height:calc(100vh - 288px);grid-template-rows:repeat(6,minmax(120px,1fr))}.financeLayout .day{min-height:120px;padding:8px}.financeLayout .dayTop{margin-bottom:5px}.financeLayout .event.financeEvent{min-height:46px;margin-top:7px;padding:8px 28px 8px 9px;border-left-width:5px;font-size:13px;line-height:1.25}.financeLayout .event.financeEvent b{margin-bottom:3px;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.financeLayout .event.financeEvent span{display:block;font-size:12px}.financeSingleExpense{border-color:#b7791f;background:#fff8ea}.financeIncome{border-color:#2563eb;background:#eff6ff}.financeColor1{border-color:#b83257;background:#fff3f6}.financeColor2{border-color:#0f8b8d;background:#e9fbf8}.financeColor3{border-color:#6d5bd0;background:#f2efff}.financeColor4{border-color:#0f766e;background:#ecfdf5}.financeColor5{border-color:#c2410c;background:#fff3ed}.financeColor6{border-color:#7c3aed;background:#f5f3ff}@media(min-width:1400px){.financeApp{width:min(calc(100vw - 36px),1720px)}.financeLayout .calendar{grid-template-rows:repeat(6,minmax(136px,1fr))}.financeLayout .day{min-height:136px}}@media(max-width:1120px){.financeApp{width:min(100% - 20px,980px)}.financeLayout{grid-template-columns:1fr}.financeLayout .calendarWrap{min-height:0;overflow:auto}.financeLayout .calendar{min-height:720px;grid-template-rows:repeat(6,120px)}}@media(max-width:640px){.scheduleApp,.financeApp{width:100%;padding:12px}.scheduleLayout .calendarWrap,.financeLayout .calendarWrap{overflow:auto}.scheduleLayout .calendar,.financeLayout .calendar{min-height:0;grid-template-rows:repeat(6,auto)}.scheduleLayout .day,.financeLayout .day{min-height:94px;padding:6px}.scheduleLayout .event.scheduleEvent,.financeLayout .event.financeEvent{min-height:0;margin-top:5px;padding:6px 24px 6px 7px;border-left-width:4px;font-size:12px}.scheduleLayout .event.scheduleEvent span,.financeLayout .event.financeEvent span{font-size:11px}}
