:root{color-scheme:dark;--bg: #1a2229;--surface: #242e38;--surface-2: #2d3946;--border: #3a4858;--border-strong: #4a5c6e;--text: #e8edf2;--text-muted: #9aa8b8;--accent: #3aaf96;--accent-strong: #5dceb0;--accent-deep: #2a8f7a;--accent-bg: rgba(61, 175, 150, .14);--accent-glow: rgba(93, 206, 176, .35);--success: #7dd4a8;--success-bg: rgba(125, 212, 168, .12);--warning: #dfae4f;--warning-bg: rgba(223, 174, 79, .14);--danger: #e88a8a;--danger-bg: rgba(232, 138, 138, .13);--radius: 10px;--radius-lg: 14px;--maxw: 680px;--steel-edge: inset 0 1px 0 rgba(255, 255, 255, .06);--shadow-card: var(--steel-edge), 0 1px 2px rgba(0, 0, 0, .3), 0 10px 28px rgba(0, 0, 0, .18);--shadow-bar: var(--steel-edge), 0 1px 0 rgba(0, 0, 0, .22);--shadow-btn: 0 1px 2px rgba(0, 0, 0, .25), 0 4px 14px rgba(42, 143, 122, .22)}*{box-sizing:border-box}html,body{margin:0;padding:0;overflow-x:hidden}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:radial-gradient(1000px 420px at 50% -6%,rgba(61,175,150,.09),transparent 60%),linear-gradient(180deg,#1f2830 0%,var(--bg) 320px),var(--bg);color:var(--text);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--accent-strong);text-decoration:none}h1,h2,h3{font-weight:550;margin:0;letter-spacing:-.01em}::selection{background:#3daf9659}.app{width:100%;max-width:var(--maxw);margin:0 auto;min-height:100vh;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:10;background:#242e38eb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);box-shadow:var(--shadow-bar);display:flex;align-items:center;justify-content:space-between;gap:8px;padding:max(12px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 12px max(16px,env(safe-area-inset-left))}.topbar .brand{display:flex;align-items:center;gap:9px;font-weight:560;font-size:16px;letter-spacing:.01em;flex-shrink:0;min-width:0}.topbar-actions{display:flex;align-items:center;gap:8px;flex-shrink:1;min-width:0}.topbar .user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:9em}.topbar .brand .logo,.brand-logo{width:30px;height:30px;border-radius:9px;flex-shrink:0;box-shadow:0 2px 8px #00000059}.syncbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:6px max(14px,env(safe-area-inset-right)) 6px max(14px,env(safe-area-inset-left));background:var(--surface-2);border-bottom:1px solid var(--border);font-size:13px}.syncbar-left{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0}.nav{display:flex;gap:2px;overflow-x:auto;padding:8px 12px;background:var(--surface);border-bottom:1px solid var(--border);scrollbar-width:none}.nav::-webkit-scrollbar{display:none}.nav a{flex:0 0 auto;padding:7px 13px;border-radius:var(--radius);color:var(--text-muted);font-size:14px;white-space:nowrap;transition:color .12s,background .12s}.nav a:hover{color:var(--text)}.nav a.active{background:var(--accent-bg);color:var(--accent-strong);font-weight:550}.content{flex:1;padding:18px max(16px,env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));display:flex;flex-direction:column;gap:14px}.page-title{font-size:19px;margin-bottom:2px}.page-header{display:flex;align-items:flex-start;justify-content:flex-end;flex-wrap:wrap;gap:10px}.page-actions{display:flex;flex-wrap:wrap;gap:8px;flex-shrink:0}.summary-toolbar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;align-items:stretch}.summary-toolbar-actions{grid-template-columns:repeat(3,minmax(0,1fr)) auto auto}.summary-chip{display:flex;align-items:center;justify-content:space-between;gap:6px;min-width:0;padding:6px 12px;font-size:13px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-bar)}.summary-chip-label{color:var(--text-muted);font-size:12px;white-space:nowrap;flex-shrink:0}.summary-chip-value{font-weight:620;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.summary-toolbar .btn{white-space:nowrap;align-self:stretch}.muted{color:var(--text-muted)}.small{font-size:13px}.row-between{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:15px 17px;box-shadow:var(--shadow-card)}.card h3{font-size:15px;margin-bottom:12px}.field{display:flex;flex-direction:column;gap:5px;margin-bottom:11px}.field label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}input,select,textarea{font:inherit;font-size:15px;color:var(--text);background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius);padding:9px 11px;width:100%;transition:border-color .12s,box-shadow .12s}input::placeholder,textarea::placeholder{color:#7d8494}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}textarea{resize:vertical;min-height:44px}input[type=checkbox]{accent-color:var(--accent)}.btn{font:inherit;font-size:14px;font-weight:560;letter-spacing:.01em;cursor:pointer;border-radius:var(--radius);padding:10px 18px;border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text);transition:background .15s,border-color .15s,box-shadow .15s,transform .1s;-webkit-tap-highlight-color:transparent}.btn:hover:not(:disabled){background:#364555;border-color:#5a6d80}.btn:active:not(:disabled){transform:scale(.98)}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--accent-bg);border-color:var(--accent)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn-primary{background:linear-gradient(165deg,var(--accent-strong) 0%,var(--accent) 45%,var(--accent-deep) 100%);border-color:var(--accent-deep);color:#0a1a16;font-weight:650;box-shadow:var(--shadow-btn),inset 0 1px #ffffff47}.btn-primary:hover:not(:disabled){background:linear-gradient(165deg,#7ef0d0 0%,#45c4a8 50%,var(--accent) 100%);border-color:#2a8f7a;box-shadow:0 2px 6px #00000047,0 6px 20px #3daf9659,inset 0 1px #ffffff52}.btn-primary:active:not(:disabled){box-shadow:inset 0 2px 6px #0003}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-muted);padding:8px 12px;font-weight:550}.btn-ghost:hover:not(:disabled){background:#ffffff0d;border-color:var(--border);color:var(--text)}.btn-ghost:focus-visible{border-color:var(--accent)}.btn-outline{background:transparent;border-color:var(--accent);color:var(--accent-strong)}.btn-outline:hover:not(:disabled){background:var(--accent-bg);border-color:var(--accent-strong)}.btn-danger{color:var(--danger);border-color:#e88a8a59;background:var(--danger-bg)}.btn-danger:hover:not(:disabled){background:#e88a8a33;border-color:#e88a8a80}.btn-sm{padding:6px 12px;font-size:13px}.btn-block{width:100%;display:block}.login-card{width:min(100%,380px);padding:28px 26px 24px;border-radius:var(--radius-lg)}.login-card h1{font-size:22px;margin-bottom:6px}.login-card .login-lead{margin:0 0 22px;font-size:14px}.login-card .field{margin-bottom:14px}.login-card .btn-primary{margin-top:8px;padding:12px 18px;font-size:15px}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:20px}.login-brand img{width:44px;height:44px;border-radius:12px;box-shadow:var(--shadow-btn)}.login-brand-text h1{margin:0;font-size:20px}.login-brand-text p{margin:2px 0 0;font-size:13px}.pill{font-size:12px;padding:2px 9px;border-radius:20px;display:inline-flex;align-items:center;gap:4px;font-weight:500;border:1px solid transparent}.pill-ok{background:var(--success-bg);color:var(--success);border-color:#76c38740}.pill-warn{background:var(--warning-bg);color:var(--warning);border-color:#d9a84840}.pill-muted{background:var(--surface-2);color:var(--text-muted);border-color:var(--border)}.pill-err{background:var(--danger-bg);color:var(--danger);border-color:#e573734d}.list{display:flex;flex-direction:column;gap:8px}.list-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:11px 13px;box-shadow:var(--shadow-bar);transition:border-color .12s}.list-row:hover{border-color:var(--border-strong)}.error{color:var(--danger);font-size:13px}.center-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:max(20px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}table.grid{width:100%;border-collapse:collapse;font-size:14px}table.grid th{text-align:left;color:var(--text-muted);font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.06em;padding:8px;border-bottom:1px solid var(--border-strong)}table.grid td{padding:9px 8px;border-bottom:1px solid var(--border)}table.grid tbody tr{transition:background .1s}table.grid tbody tr:hover{background:#ffffff08}table.grid tr:last-child td{border-bottom:none}table.grid tfoot td{border-top:1px solid var(--border-strong);border-bottom:none}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.filters-card{display:flex;gap:8px;flex-wrap:nowrap;justify-content:center;align-items:flex-end;width:fit-content;max-width:100%;margin:0 auto;padding:10px 14px}.filters-card .field{flex:0 0 120px;min-width:0;margin-bottom:0}.filters-card .field select{padding:7px 8px;font-size:13px}.table-card{padding:4px}.row-clickable{cursor:pointer}.balance-cell{font-weight:600}.expand-cell{background:var(--bg);padding:10px 14px!important}.expand-content{display:grid;gap:12px}.expand-actions{display:flex;gap:8px}.nested-grid{font-size:13px}.nested-grid th{font-size:10px}.history-block{margin-top:4px}.history-title{margin-bottom:6px}.history-grid{font-size:13px}.history-grid td{vertical-align:middle}.expand-actions{display:flex;gap:8px;margin-bottom:10px;flex-wrap:wrap}.operation-form{max-width:640px}.operation-form h3{margin:0;font-size:15px}.catalog-form{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap}@media (max-width: 520px){.summary-chip{padding:6px 8px;gap:4px}.summary-chip-label{font-size:11px}.summary-toolbar{gap:6px}}@media (max-width: 400px){.topbar .user-name{display:none}.syncbar .btn{width:100%}}@media (min-width: 1000px){:root{--maxw: 1100px}.content{padding:26px 32px 40px;gap:16px}.page-title{font-size:22px}form.card{max-width:640px}.list{max-width:760px}table.grid{font-size:15px}table.grid td{padding:11px 12px}.nav a{font-size:14.5px}}
