:root{--bg: #f5f6f8;--surface: #ffffff;--surface-2: #eef0f3;--border: #dfe3e8;--text: #12151a;--text-muted: #6b7280;--accent: #2563eb;--accent-text: #ffffff;--danger: #dc2626;--danger-soft: #fee2e2;--success: #15803d;--success-soft: #dcfce7;--warning: #b45309;--warning-soft: #fef3c7;--info: #1d4ed8;--info-soft: #dbeafe;--neutral-soft: #e5e7eb;--radius: 12px;--radius-sm: 8px;--gap: 12px;--pad: 16px;--header-h: 52px;--tabs-h: 44px;color-scheme:light dark}@media (prefers-color-scheme: dark){:root{--bg: #0f1115;--surface: #171a20;--surface-2: #1f242c;--border: #2a303a;--text: #e8eaed;--text-muted: #9aa1ad;--accent: #3b82f6;--accent-text: #ffffff;--danger: #f87171;--danger-soft: #3b1d1d;--success: #4ade80;--success-soft: #14301f;--warning: #fbbf24;--warning-soft: #33260c;--info: #93c5fd;--info-soft: #16233d;--neutral-soft: #262b33}}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:15px;line-height:1.4;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}button,input,select,textarea{font:inherit;color:inherit}.app{display:flex;flex-direction:column;height:100%;max-width:640px;margin:0 auto;background:var(--bg)}.header{display:flex;align-items:center;justify-content:space-between;gap:var(--gap);height:var(--header-h);padding:0 var(--pad);padding-top:env(safe-area-inset-top);height:calc(var(--header-h) + env(safe-area-inset-top));background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:5}.header__title{min-width:0;display:flex;flex-direction:column;gap:1px}.header__date{font-weight:600;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header__meta{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted)}.dot{width:7px;height:7px;border-radius:50%;background:var(--success);flex:none}.dot--offline{background:var(--danger)}.dot--stale{background:var(--warning)}.dot--archive{background:var(--text-muted)}.tabs{display:flex;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:calc(var(--header-h) + env(safe-area-inset-top));z-index:4}.tabs__item{flex:1;height:var(--tabs-h);border:0;background:none;color:var(--text-muted);font-weight:500;cursor:pointer;border-bottom:2px solid transparent}.tabs__item--active{color:var(--text);border-bottom-color:var(--accent)}.content{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:var(--pad);padding-bottom:calc(var(--pad) + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:var(--gap)}.group{display:flex;flex-direction:column;gap:var(--gap)}.group__title{margin:4px 0 0;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--pad);display:flex;flex-direction:column;gap:10px}.card--confiscation{border-left:3px solid var(--danger)}.card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.card__name{font-weight:600;line-height:1.25}.card__sub{font-size:13px;color:var(--text-muted)}.card__comment{font-size:13px;color:var(--text-muted);border-left:2px solid var(--border);padding-left:8px}.debts{display:flex;flex-direction:column;gap:6px;font-size:14px}.debts__row{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:baseline}.debts__title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.debts__days{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:13px}.debts__amount{font-variant-numeric:tabular-nums;white-space:nowrap}.debts__total{display:flex;justify-content:space-between;border-top:1px dashed var(--border);padding-top:6px;font-weight:600}.debts__empty{color:var(--text-muted);font-size:14px}.badge{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap;background:var(--neutral-soft);color:var(--text)}.badge__emoji{margin-right:5px}.chip{display:inline-block;margin-left:8px;padding:1px 7px;border-radius:999px;font-size:11px;font-weight:600;vertical-align:1px}.chip--danger,.badge--danger{background:var(--danger-soft);color:var(--danger)}.badge--success{background:var(--success-soft);color:var(--success)}.badge--warning{background:var(--warning-soft);color:var(--warning)}.badge--info{background:var(--info-soft);color:var(--info)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 16px;border-radius:var(--radius-sm);border:1px solid transparent;background:var(--surface-2);color:var(--text);font-weight:600;cursor:pointer;transition:opacity .12s ease}.btn:active{opacity:.7}.btn:disabled{opacity:.45;cursor:default}.btn--primary{background:var(--accent);color:var(--accent-text)}.btn--secondary{background:var(--surface);border-color:var(--border)}.btn--danger{background:transparent;color:var(--danger);border-color:var(--border)}.btn--block{width:100%}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex:none;border:0;border-radius:50%;background:transparent;color:var(--text-muted);cursor:pointer}.icon-btn:active{background:var(--surface-2)}.field{display:flex;flex-direction:column;gap:6px}.field__label{font-size:13px;color:var(--text-muted)}.field__control{width:100%;min-height:44px;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);font-size:16px;outline:none}.field__control:focus{border-color:var(--accent)}.field__hint{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--text-muted)}.field__error{color:var(--danger)}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:20;display:flex;align-items:flex-end;justify-content:center;animation:fade .15s ease}.sheet{width:100%;max-width:640px;max-height:88vh;overflow-y:auto;background:var(--surface);border-radius:16px 16px 0 0;padding:var(--pad);padding-bottom:calc(var(--pad) + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:var(--gap);animation:slide-up .18s ease}.sheet__head{display:flex;align-items:center;justify-content:space-between;gap:var(--gap)}.sheet__title{font-size:16px;font-weight:600}.sheet__section{display:flex;flex-direction:column;gap:8px}.sheet__label{font-size:13px;color:var(--text-muted)}.options{display:flex;flex-direction:column;gap:8px}.option{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:48px;padding:0 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);text-align:left;cursor:pointer}.option--selected{border-color:var(--accent);background:var(--surface-2)}.banner{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:var(--radius-sm);font-size:14px;background:var(--warning-soft);color:var(--warning)}.banner--danger{background:var(--danger-soft);color:var(--danger)}.empty{padding:40px 16px;text-align:center;color:var(--text-muted);font-size:14px}.center{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--pad)}.spinner{width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}.log{display:flex;flex-direction:column;gap:8px}.log__item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px var(--pad);display:flex;flex-direction:column;gap:6px}.log__head{display:flex;align-items:center;justify-content:space-between;gap:10px}.log__time{font-size:13px;color:var(--text-muted);font-variant-numeric:tabular-nums}.log__actor{font-size:13px;color:var(--text-muted)}.log__subject{font-weight:600;font-size:14px}.log__comment{font-size:13px}.login{flex:1;display:flex;flex-direction:column;justify-content:center;gap:20px;padding:24px;padding-bottom:calc(24px + env(safe-area-inset-bottom))}.login__title{text-align:center;font-size:20px;font-weight:700;margin:0}.login__form{display:flex;flex-direction:column;gap:var(--gap)}.login__error{color:var(--danger);font-size:14px;text-align:center;min-height:20px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade{0%{opacity:0}}@keyframes slide-up{0%{transform:translateY(16px)}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
