:root{--bg:#f6f7f9;--panel:#ffffff;--text:#1b1f24;--muted:#67717f;--line:#dfe4ea;--brand:#174ea6;--brand-dark:#103b7d;--green:#16833a;--red:#c22929;--amber:#9a6500}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;letter-spacing:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.shell{min-height:100vh}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 22px;background:#ffffff;border-bottom:1px solid var(--line)}.brand{font-weight:800;color:var(--brand)}.nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.button,.ghost-button,.nav a{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:7px;padding:0 14px;border:1px solid var(--line);background:#ffffff;color:var(--text);cursor:pointer}.button{border-color:var(--brand);background:var(--brand);color:#ffffff;font-weight:700}.button:hover{background:var(--brand-dark)}.danger{border-color:var(--red);color:var(--red)}.main{width:min(1180px,100%);margin:0 auto;padding:22px}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.page-head h1{margin:0 0 5px;font-size:28px}.muted{color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px}.monthly-flow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;margin-bottom:12px}.flow-card{position:relative;overflow:hidden;min-height:94px;padding:12px 14px;border:1px solid;border-radius:10px;box-shadow:0 6px 16px rgba(22,38,58,.06)}.flow-card:after{content:"";position:absolute;right:-42px;bottom:-60px;width:170px;height:170px;border-radius:50%;background:currentColor;opacity:.06}.flow-income{color:#087a3e;border-color:#b9e7cd;background:linear-gradient(135deg,#f2fff7,#e2f8ec)}.flow-expense{color:#b4232c;border-color:#f0c2c5;background:linear-gradient(135deg,#fff7f7,#fde8e9)}.flow-head{display:flex;align-items:center;gap:8px}.flow-icon{width:30px;height:30px;display:grid;place-items:center;flex:0 0 auto;border-radius:8px;background:currentColor;color:#ffffff;font-size:20px;font-weight:800;line-height:1}.flow-title{font-size:14px;font-weight:800}.flow-period{margin-top:1px;color:var(--muted);font-size:11px}.flow-values{position:relative;z-index:1;display:flex;align-items:baseline;justify-content:space-between;align-items:flex-start;flex-direction:column;gap:4px;margin-top:10px}.flow-values strong{font-size:clamp(13px,1.55vw,18px);line-height:1.1;white-space:nowrap}.card,.form-panel,.table-wrap{background:var(--panel);border:1px solid var(--line);border-radius:8px}.card{padding:16px}.stat-label{color:var(--muted);font-size:14px;margin-bottom:8px}.stat-value{font-size:24px;font-weight:800}.positive{color:var(--green)}.negative{color:var(--red)}.neutral{color:var(--text)}.section{margin-top:18px}.section h2{font-size:18px;margin:0 0 12px}.form-panel{padding:16px}.compact-form{max-width:920px}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.field{display:grid;grid-gap:6px;gap:6px}.field label{font-size:14px;color:var(--muted)}.field input,.field select,.field textarea,.search{width:100%;min-height:44px;border:1px solid var(--line);border-radius:7px;padding:10px 12px;background:#ffffff;color:var(--text)}.field textarea{min-height:90px;resize:vertical}.field textarea.invalid{border-color:var(--red);background:#fff6f6}.comment-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.comment-skip{width:-moz-fit-content;width:fit-content;min-height:32px;padding:6px 10px;border:1px solid var(--line);border-radius:7px;background:#ffffff;color:var(--muted);font-size:13px;font-weight:700;cursor:pointer}.comment-skip.active{border-color:var(--brand);background:#eef4ff;color:var(--brand)}.comment-hint{color:var(--muted);font-size:13px}.comment-hint.invalid{color:var(--red);font-weight:700}.partner-search{position:relative}.partner-suggestions{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:25;display:grid;grid-gap:4px;gap:4px;max-height:280px;overflow:auto;padding:6px;border:1px solid var(--line);border-radius:8px;background:#ffffff;box-shadow:0 12px 28px rgba(20,31,43,.14)}.partner-suggestions button{display:grid;grid-gap:3px;gap:3px;width:100%;min-height:52px;padding:9px 10px;border:0;border-radius:7px;background:#ffffff;color:var(--text);text-align:left;cursor:pointer}.partner-suggestions button:hover{background:#eef4ff}.partner-suggestions span{font-weight:800}.partner-suggestion-empty,.partner-suggestions small{color:var(--muted)}.partner-suggestion-empty{padding:12px}.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.excel-action{position:relative;display:inline-flex;align-items:center}.excel-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:20;min-width:180px;display:grid;grid-gap:4px;gap:4px;padding:6px;border:1px solid var(--line);border-radius:8px;background:#ffffff;box-shadow:0 12px 28px rgba(20,31,43,.14)}.excel-menu a,.excel-menu button{min-height:38px;display:flex;align-items:center;padding:8px 10px;border:0;border-radius:7px;background:#ffffff;color:var(--text);text-align:left;cursor:pointer}.excel-menu a:hover,.excel-menu button:hover{background:#eef4ff}.excel-menu button:disabled{cursor:wait;opacity:.7}.excel-status{margin-left:8px;font-size:12px;font-weight:700;white-space:nowrap}.success-text{color:var(--green)}.error-text{color:var(--red)}.balance-lines{display:flex;gap:14px;align-items:center;flex-wrap:wrap;line-height:1.35}.currency-toggle{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.currency-toggle button{min-height:44px}.currency-toggle .active{border-color:var(--brand);background:#eef4ff;color:var(--brand);font-weight:800}.b2b-rows{display:grid;grid-gap:14px;gap:14px}.b2b-row{display:grid;grid-template-columns:minmax(260px,1.4fr) minmax(160px,.8fr) minmax(220px,1fr);grid-gap:12px;gap:12px;align-items:end;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fafbfc}.error{border-radius:7px;border:1px solid #f0b8b8;background:#fff1f1;color:var(--red)}.error,.success{padding:10px 12px}.success{border-radius:7px;border:1px solid #b9e2c7;background:#f0fff4;color:var(--green)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:760px}td,th{padding:12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}th{font-size:13px;color:var(--muted);background:#fafbfc}.selectable-row{cursor:pointer}.selectable-row.selected,.selectable-row:hover{background:#eef4ff}.detail-panel{margin-top:14px;padding:16px;border:1px solid var(--line);border-radius:8px;background:#ffffff}.detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.detail-head h3,.history-block h3{margin:0 0 6px;font-size:17px}.detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px}.edit-panel,.info-cell{padding:12px;border:1px solid var(--line);border-radius:8px;background:#fafbfc}.info-value{font-weight:800;overflow-wrap:anywhere}.history-block{margin-top:16px}.mini-list{display:grid;grid-gap:8px;gap:8px;max-width:920px;margin-top:10px}.mini-list-row{display:grid;grid-template-columns:180px 140px minmax(0,1fr);grid-gap:10px;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#ffffff}.empty{padding:28px;text-align:center;color:var(--muted);background:#ffffff;border:1px dashed var(--line);border-radius:8px}.login-page{min-height:100vh;display:grid;place-items:center;padding:20px;background:linear-gradient(135deg,#eef4ff,#f7f9fc 45%,#effaf3)}.login-box{width:min(420px,100%);background:#ffffff;border:1px solid var(--line);border-radius:8px;padding:24px}.login-box h1{margin:0 0 6px;color:var(--brand)}.modal-backdrop{position:fixed;inset:0;z-index:30;background:rgba(10,20,30,.45);display:grid;place-items:center;padding:20px}.modal{width:min(420px,100%);background:#ffffff;border-radius:8px;padding:18px}.miniapp-page{min-height:100vh;display:grid;place-items:center;padding:calc(18px + var(--tg-safe-area-inset-top, 0px)) 18px calc(18px + var(--tg-safe-area-inset-bottom, 0px));background:var(--tg-theme-bg-color,#f4f7fb);color:var(--tg-theme-text-color,var(--text))}.miniapp-card{width:min(420px,100%);grid-gap:14px;gap:14px;padding:22px;border:1px solid var(--tg-theme-section-separator-color,var(--line));background:var(--tg-theme-section-bg-color,#ffffff);box-shadow:0 16px 40px rgba(16,31,53,.12)}.miniapp-card,.miniapp-mark{display:grid;border-radius:8px}.miniapp-mark{width:48px;height:48px;place-items:center;background:var(--tg-theme-button-color,var(--brand));color:var(--tg-theme-button-text-color,#ffffff);font-weight:800}.miniapp-eyebrow{margin:0 0 4px;color:var(--tg-theme-hint-color,var(--muted));font-size:13px;font-weight:700}.miniapp-card h1{margin:0;font-size:24px;line-height:1.15}.miniapp-copy,.miniapp-status,.miniapp-user{margin:0;color:var(--tg-theme-hint-color,var(--muted));line-height:1.45}.miniapp-user{color:var(--tg-theme-text-color,var(--text));font-weight:800}.miniapp-button{min-height:50px;border:0;border-radius:8px;background:var(--tg-theme-button-color,var(--brand));color:var(--tg-theme-button-text-color,#ffffff);font-weight:800;cursor:pointer}.miniapp-button:disabled{cursor:wait;opacity:.7}.miniapp-secondary{min-height:44px;border:1px solid var(--tg-theme-section-separator-color,var(--line));border-radius:8px;background:var(--tg-theme-secondary-bg-color,#f6f7f9);color:var(--tg-theme-text-color,var(--text));font-weight:800;cursor:pointer}@media (max-width:860px){.page-head,.topbar{align-items:stretch;flex-direction:column}.main{padding:16px}.b2b-row,.detail-grid,.form-grid,.grid,.mini-list-row{grid-template-columns:1fr}.flow-values{gap:3px}.flow-card{min-height:90px;padding:10px}.flow-values strong{font-size:12px}.button,.ghost-button,.nav a{flex:1 1 auto}}