:root{--nav-bg: #2f6fbe;--nav-bg-dark: #245a9c;--border: #d7dde5;--text: #1f2933;--text-muted: #6b7684;--bg-page: #f5f7fa;--bg-card: #ffffff;--danger: #c0392b;--warning: #b8860b;font-family:-apple-system,Segoe UI,Roboto,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg-page);color:var(--text);font-size:14px}a{color:var(--nav-bg)}button{font-family:inherit;font-size:inherit;cursor:pointer}table{border-collapse:collapse;width:100%}.page{padding:16px 24px}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh}.login-form{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;padding:32px;width:320px;display:flex;flex-direction:column;gap:12px}.login-form label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--text-muted)}.login-form input{padding:8px;border:1px solid var(--border);border-radius:4px;font-size:14px}.login-form button{background:var(--nav-bg);color:#fff;border:none;border-radius:4px;padding:10px;font-weight:600}.login-form button:disabled{opacity:.6}.error-text{color:var(--danger);font-size:13px;margin:0}.data-table th,.data-table td{padding:8px 12px;border-bottom:1px solid var(--border);font-size:13px}.data-table th{color:var(--text-muted);font-weight:600;background:var(--bg-page)}.data-table tfoot td{font-weight:600;border-top:2px solid var(--border);border-bottom:none}.data-table-row-clickable{cursor:pointer}.data-table-row-clickable:hover{background:#eef3fa}.data-table-empty{color:var(--text-muted);padding:24px 0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:flex-start;justify-content:center;padding-top:48px;z-index:100}.modal-card{background:var(--bg-card);border-radius:6px;width:480px;max-width:92vw;max-height:85vh;overflow-y:auto}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-header h2{font-size:16px;margin:0}.modal-close{background:none;border:none;font-size:20px;line-height:1;color:var(--text-muted)}.modal-body{padding:20px;display:flex;flex-direction:column;gap:12px}.form-field{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--text-muted)}.form-field input,.form-field select,.form-field textarea{padding:8px;border:1px solid var(--border);border-radius:4px;font-size:14px;color:var(--text);font-family:inherit}.status-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:12px;font-weight:600}.status-badge-neutral{background:#e5e9ef;color:var(--text-muted)}.status-badge-success{background:#e1f3e1;color:#237a23}.status-badge-warning{background:#fdf1d6;color:var(--warning)}.status-badge-danger{background:#fbe4e1;color:var(--danger)}.app-shell{min-height:100vh;display:flex;flex-direction:column}.top-nav{background:var(--nav-bg);color:#fff;display:flex;align-items:center;padding:0 16px;height:48px}.top-nav-brand{font-weight:700;margin-right:24px}.top-nav-list{list-style:none;display:flex;gap:4px;margin:0;padding:0;flex:1}.top-nav-link{display:block;padding:14px 10px;color:#ffffffd9;text-decoration:none;font-size:13px}.top-nav-link.active,.top-nav-link:hover{color:#fff;background:var(--nav-bg-dark)}.top-nav-user{display:flex;align-items:center;gap:10px;font-size:13px}.top-nav-user button{background:transparent;border:1px solid rgba(255,255,255,.5);color:#fff;border-radius:4px;padding:5px 10px;font-size:12px}.sub-nav{background:var(--bg-card);border-bottom:1px solid var(--border);padding:0 24px}.sub-nav-list{list-style:none;display:flex;gap:4px;margin:0;padding:0}.sub-nav-link{display:block;padding:10px 12px;color:var(--text-muted);text-decoration:none;font-size:13px;border-bottom:2px solid transparent}.sub-nav-link.active{color:var(--nav-bg);border-bottom-color:var(--nav-bg);font-weight:600}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.page-header h1{font-size:18px;margin:0}.page-header button,.modal-actions button{background:var(--nav-bg);color:#fff;border:none;border-radius:4px;padding:8px 14px;font-size:13px}.modal-actions{display:flex;gap:8px;margin-top:4px}.modal-actions button.danger{background:var(--danger)}.products-layout{display:flex;gap:24px}.group-tree{width:220px;flex-shrink:0}.group-tree-header{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--text-muted);text-transform:uppercase;margin-bottom:8px}.group-tree-header button{background:none;border:1px solid var(--border);border-radius:4px;width:20px;height:20px;line-height:1}.group-tree-list{list-style:none;margin:0;padding:0}.group-tree-item{display:block;width:100%;text-align:left;background:none;border:none;padding:6px 12px;font-size:13px;color:var(--text);border-radius:4px}.group-tree-item.active,.group-tree-item:hover{background:#eef3fa;color:var(--nav-bg)}.products-main{flex:1}.line-items-editor{margin:4px 0}.line-items-editor select,.line-items-editor input{width:100%;padding:4px 6px;border:1px solid var(--border);border-radius:4px}.line-items-editor button[aria-label="Удалить строку"]{background:none;border:none;color:var(--danger);font-size:16px}.warning-banner{background:#fdf1d6;border:1px solid var(--warning);border-radius:4px;padding:10px 14px;margin-bottom:12px;font-size:13px}.warning-banner p{margin:2px 0}.document-card{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;padding:20px;max-width:900px}.document-card-actions{display:flex;gap:8px;margin-bottom:12px}.document-card-actions button{background:var(--nav-bg);color:#fff;border:none;border-radius:4px;padding:8px 16px;font-size:13px}.document-card-actions button[type=button]:not(.danger){background:#e5e9ef;color:var(--text)}.document-card-actions button.danger{background:var(--danger)}.document-header-fields{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:16px}.document-totals{margin-top:12px;font-size:14px}.document-totals p{margin:4px 0}.dashboard-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-top:16px}.dashboard-tile{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;padding:20px;text-decoration:none;color:var(--text);display:block}.dashboard-tile-value{font-size:24px;font-weight:700}.dashboard-tile-label{font-size:13px;color:var(--text-muted);margin-top:4px}
